@wordpress/editor 14.2.0 → 14.3.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 (695) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/build/bindings/pattern-overrides.js +8 -5
  3. package/build/bindings/pattern-overrides.js.map +1 -1
  4. package/build/bindings/post-meta.js +4 -0
  5. package/build/bindings/post-meta.js.map +1 -1
  6. package/build/components/editor-interface/index.js +2 -1
  7. package/build/components/editor-interface/index.js.map +1 -1
  8. package/build/components/entities-saved-states/index.js +1 -1
  9. package/build/components/entities-saved-states/index.js.map +1 -1
  10. package/build/components/inserter-sidebar/index.js +10 -21
  11. package/build/components/inserter-sidebar/index.js.map +1 -1
  12. package/build/components/list-view-sidebar/index.js +19 -47
  13. package/build/components/list-view-sidebar/index.js.map +1 -1
  14. package/build/components/page-attributes/parent.js +2 -1
  15. package/build/components/page-attributes/parent.js.map +1 -1
  16. package/build/components/post-actions/actions.js +67 -215
  17. package/build/components/post-actions/actions.js.map +1 -1
  18. package/build/components/post-actions/index.js +1 -1
  19. package/build/components/post-actions/index.js.map +1 -1
  20. package/build/components/post-excerpt/panel.js +1 -1
  21. package/build/components/post-excerpt/panel.js.map +1 -1
  22. package/build/components/post-preview-button/index.js +1 -1
  23. package/build/components/post-preview-button/index.js.map +1 -1
  24. package/build/components/post-publish-panel/index.js +1 -1
  25. package/build/components/post-publish-panel/index.js.map +1 -1
  26. package/build/components/post-saved-state/index.js +11 -1
  27. package/build/components/post-saved-state/index.js.map +1 -1
  28. package/build/components/post-schedule/index.js +3 -0
  29. package/build/components/post-schedule/index.js.map +1 -1
  30. package/build/components/post-status/index.js +2 -1
  31. package/build/components/post-status/index.js.map +1 -1
  32. package/build/components/post-title/index.js +5 -13
  33. package/build/components/post-title/index.js.map +1 -1
  34. package/build/components/preview-dropdown/index.js +1 -1
  35. package/build/components/preview-dropdown/index.js.map +1 -1
  36. package/build/components/provider/index.native.js +0 -4
  37. package/build/components/provider/index.native.js.map +1 -1
  38. package/build/components/provider/use-block-editor-settings.js +7 -4
  39. package/build/components/provider/use-block-editor-settings.js.map +1 -1
  40. package/build/components/save-publish-panels/index.js +30 -16
  41. package/build/components/save-publish-panels/index.js.map +1 -1
  42. package/build/components/sidebar/index.js +3 -1
  43. package/build/components/sidebar/index.js.map +1 -1
  44. package/build/components/sidebar/post-summary.js +1 -2
  45. package/build/components/sidebar/post-summary.js.map +1 -1
  46. package/build/components/template-content-panel/index.js +29 -4
  47. package/build/components/template-content-panel/index.js.map +1 -1
  48. package/build/components/visual-editor/index.js +1 -1
  49. package/build/components/visual-editor/index.js.map +1 -1
  50. package/build/dataviews/actions/delete-post.js +96 -0
  51. package/build/dataviews/actions/delete-post.js.map +1 -0
  52. package/build/{components/post-actions/export-pattern-action.js → dataviews/actions/export-pattern.js} +11 -20
  53. package/build/dataviews/actions/export-pattern.js.map +1 -0
  54. package/build/dataviews/actions/index.js +32 -0
  55. package/build/dataviews/actions/index.js.map +1 -0
  56. package/build/dataviews/actions/reset-post.js +111 -0
  57. package/build/dataviews/actions/reset-post.js.map +1 -0
  58. package/build/dataviews/actions/utils.js +50 -0
  59. package/build/dataviews/actions/utils.js.map +1 -0
  60. package/build/dataviews/store/private-actions.js.map +1 -1
  61. package/build/dataviews/store/private-selectors.js +6 -6
  62. package/build/dataviews/store/private-selectors.js.map +1 -1
  63. package/build/dataviews/store/reducer.js +6 -2
  64. package/build/dataviews/store/reducer.js.map +1 -1
  65. package/build/dataviews/types.js +6 -0
  66. package/build/dataviews/types.js.map +1 -0
  67. package/build/hooks/pattern-overrides.js +2 -2
  68. package/build/hooks/pattern-overrides.js.map +1 -1
  69. package/build/private-apis.js +2 -0
  70. package/build/private-apis.js.map +1 -1
  71. package/build/private-apis.native.js +0 -2
  72. package/build/private-apis.native.js.map +1 -1
  73. package/build/store/constants.js.map +1 -1
  74. package/build/store/private-actions.js +1 -1
  75. package/build/store/private-actions.js.map +1 -1
  76. package/build/store/private-selectors.js +0 -18
  77. package/build/store/private-selectors.js.map +1 -1
  78. package/build/store/utils/is-template-revertable.js +6 -8
  79. package/build/store/utils/is-template-revertable.js.map +1 -1
  80. package/build-module/bindings/pattern-overrides.js +8 -5
  81. package/build-module/bindings/pattern-overrides.js.map +1 -1
  82. package/build-module/bindings/post-meta.js +4 -0
  83. package/build-module/bindings/post-meta.js.map +1 -1
  84. package/build-module/components/editor-interface/index.js +2 -1
  85. package/build-module/components/editor-interface/index.js.map +1 -1
  86. package/build-module/components/entities-saved-states/index.js +1 -1
  87. package/build-module/components/entities-saved-states/index.js.map +1 -1
  88. package/build-module/components/inserter-sidebar/index.js +11 -22
  89. package/build-module/components/inserter-sidebar/index.js.map +1 -1
  90. package/build-module/components/list-view-sidebar/index.js +20 -49
  91. package/build-module/components/list-view-sidebar/index.js.map +1 -1
  92. package/build-module/components/page-attributes/parent.js +2 -1
  93. package/build-module/components/page-attributes/parent.js.map +1 -1
  94. package/build-module/components/post-actions/actions.js +63 -210
  95. package/build-module/components/post-actions/actions.js.map +1 -1
  96. package/build-module/components/post-actions/index.js +1 -1
  97. package/build-module/components/post-actions/index.js.map +1 -1
  98. package/build-module/components/post-excerpt/panel.js +1 -1
  99. package/build-module/components/post-excerpt/panel.js.map +1 -1
  100. package/build-module/components/post-preview-button/index.js +1 -1
  101. package/build-module/components/post-preview-button/index.js.map +1 -1
  102. package/build-module/components/post-publish-panel/index.js +1 -1
  103. package/build-module/components/post-publish-panel/index.js.map +1 -1
  104. package/build-module/components/post-saved-state/index.js +11 -1
  105. package/build-module/components/post-saved-state/index.js.map +1 -1
  106. package/build-module/components/post-schedule/index.js +3 -0
  107. package/build-module/components/post-schedule/index.js.map +1 -1
  108. package/build-module/components/post-status/index.js +1 -1
  109. package/build-module/components/post-status/index.js.map +1 -1
  110. package/build-module/components/post-title/index.js +5 -13
  111. package/build-module/components/post-title/index.js.map +1 -1
  112. package/build-module/components/preview-dropdown/index.js +1 -1
  113. package/build-module/components/preview-dropdown/index.js.map +1 -1
  114. package/build-module/components/provider/index.native.js +0 -4
  115. package/build-module/components/provider/index.native.js.map +1 -1
  116. package/build-module/components/provider/use-block-editor-settings.js +7 -4
  117. package/build-module/components/provider/use-block-editor-settings.js.map +1 -1
  118. package/build-module/components/save-publish-panels/index.js +30 -16
  119. package/build-module/components/save-publish-panels/index.js.map +1 -1
  120. package/build-module/components/sidebar/index.js +3 -1
  121. package/build-module/components/sidebar/index.js.map +1 -1
  122. package/build-module/components/sidebar/post-summary.js +1 -2
  123. package/build-module/components/sidebar/post-summary.js.map +1 -1
  124. package/build-module/components/template-content-panel/index.js +30 -5
  125. package/build-module/components/template-content-panel/index.js.map +1 -1
  126. package/build-module/components/visual-editor/index.js +1 -1
  127. package/build-module/components/visual-editor/index.js.map +1 -1
  128. package/build-module/dataviews/actions/delete-post.js +87 -0
  129. package/build-module/dataviews/actions/delete-post.js.map +1 -0
  130. package/build-module/{components/post-actions/export-pattern-action.js → dataviews/actions/export-pattern.js} +10 -19
  131. package/build-module/dataviews/actions/export-pattern.js.map +1 -0
  132. package/build-module/dataviews/actions/index.js +24 -0
  133. package/build-module/dataviews/actions/index.js.map +1 -0
  134. package/build-module/dataviews/actions/reset-post.js +104 -0
  135. package/build-module/dataviews/actions/reset-post.js.map +1 -0
  136. package/build-module/dataviews/actions/utils.js +41 -0
  137. package/build-module/dataviews/actions/utils.js.map +1 -0
  138. package/build-module/dataviews/store/private-actions.js.map +1 -1
  139. package/build-module/dataviews/store/private-selectors.js +5 -5
  140. package/build-module/dataviews/store/private-selectors.js.map +1 -1
  141. package/build-module/dataviews/store/reducer.js +6 -2
  142. package/build-module/dataviews/store/reducer.js.map +1 -1
  143. package/build-module/dataviews/types.js +2 -0
  144. package/build-module/dataviews/types.js.map +1 -0
  145. package/build-module/hooks/pattern-overrides.js +3 -1
  146. package/build-module/hooks/pattern-overrides.js.map +1 -1
  147. package/build-module/private-apis.js +2 -0
  148. package/build-module/private-apis.js.map +1 -1
  149. package/build-module/private-apis.native.js +0 -2
  150. package/build-module/private-apis.native.js.map +1 -1
  151. package/build-module/store/constants.js.map +1 -1
  152. package/build-module/store/private-actions.js +1 -1
  153. package/build-module/store/private-actions.js.map +1 -1
  154. package/build-module/store/private-selectors.js +0 -17
  155. package/build-module/store/private-selectors.js.map +1 -1
  156. package/build-module/store/utils/is-template-revertable.js +6 -8
  157. package/build-module/store/utils/is-template-revertable.js.map +1 -1
  158. package/build-style/style-rtl.css +15 -53
  159. package/build-style/style.css +15 -53
  160. package/build-types/bindings/index.d.ts +2 -0
  161. package/build-types/bindings/index.d.ts.map +1 -0
  162. package/build-types/bindings/pattern-overrides.d.ts +18 -0
  163. package/build-types/bindings/pattern-overrides.d.ts.map +1 -0
  164. package/build-types/bindings/post-meta.d.ts +25 -0
  165. package/build-types/bindings/post-meta.d.ts.map +1 -0
  166. package/build-types/components/autocompleters/index.d.ts +2 -0
  167. package/build-types/components/autocompleters/index.d.ts.map +1 -0
  168. package/build-types/components/autocompleters/user.d.ts +6 -0
  169. package/build-types/components/autocompleters/user.d.ts.map +1 -0
  170. package/build-types/components/autosave-monitor/index.d.ts +15 -0
  171. package/build-types/components/autosave-monitor/index.d.ts.map +1 -0
  172. package/build-types/components/block-manager/category.d.ts +6 -0
  173. package/build-types/components/block-manager/category.d.ts.map +1 -0
  174. package/build-types/components/block-manager/checklist.d.ts +7 -0
  175. package/build-types/components/block-manager/checklist.d.ts.map +1 -0
  176. package/build-types/components/block-manager/index.d.ts +3 -0
  177. package/build-types/components/block-manager/index.d.ts.map +1 -0
  178. package/build-types/components/block-removal-warnings/index.d.ts +2 -0
  179. package/build-types/components/block-removal-warnings/index.d.ts.map +1 -0
  180. package/build-types/components/block-settings-menu/content-only-settings-menu.d.ts +2 -0
  181. package/build-types/components/block-settings-menu/content-only-settings-menu.d.ts.map +1 -0
  182. package/build-types/components/block-settings-menu/plugin-block-settings-menu-item.d.ts +65 -0
  183. package/build-types/components/block-settings-menu/plugin-block-settings-menu-item.d.ts.map +1 -0
  184. package/build-types/components/blog-title/index.d.ts +2 -0
  185. package/build-types/components/blog-title/index.d.ts.map +1 -0
  186. package/build-types/components/character-count/index.d.ts +7 -0
  187. package/build-types/components/character-count/index.d.ts.map +1 -0
  188. package/build-types/components/collapsible-block-toolbar/index.d.ts +6 -0
  189. package/build-types/components/collapsible-block-toolbar/index.d.ts.map +1 -0
  190. package/build-types/components/commands/index.d.ts +2 -0
  191. package/build-types/components/commands/index.d.ts.map +1 -0
  192. package/build-types/components/create-template-part-modal/index.d.ts +14 -0
  193. package/build-types/components/create-template-part-modal/index.d.ts.map +1 -0
  194. package/build-types/components/create-template-part-modal/utils.d.ts +4 -0
  195. package/build-types/components/create-template-part-modal/utils.d.ts.map +1 -0
  196. package/build-types/components/deprecated.d.ts +182 -0
  197. package/build-types/components/deprecated.d.ts.map +1 -0
  198. package/build-types/components/document-bar/index.d.ts +22 -0
  199. package/build-types/components/document-bar/index.d.ts.map +1 -0
  200. package/build-types/components/document-outline/check.d.ts +12 -0
  201. package/build-types/components/document-outline/check.d.ts.map +1 -0
  202. package/build-types/components/document-outline/index.d.ts +16 -0
  203. package/build-types/components/document-outline/index.d.ts.map +1 -0
  204. package/build-types/components/document-outline/item.d.ts +9 -0
  205. package/build-types/components/document-outline/item.d.ts.map +1 -0
  206. package/build-types/components/document-tools/index.d.ts +6 -0
  207. package/build-types/components/document-tools/index.d.ts.map +1 -0
  208. package/build-types/components/editor/index.d.ts +14 -0
  209. package/build-types/components/editor/index.d.ts.map +1 -0
  210. package/build-types/components/editor-history/redo.d.ts +4 -0
  211. package/build-types/components/editor-history/redo.d.ts.map +1 -0
  212. package/build-types/components/editor-history/undo.d.ts +4 -0
  213. package/build-types/components/editor-history/undo.d.ts.map +1 -0
  214. package/build-types/components/editor-interface/content-slot-fill.d.ts +3 -0
  215. package/build-types/components/editor-interface/content-slot-fill.d.ts.map +1 -0
  216. package/build-types/components/editor-interface/index.d.ts +17 -0
  217. package/build-types/components/editor-interface/index.d.ts.map +1 -0
  218. package/build-types/components/editor-notices/index.d.ts +13 -0
  219. package/build-types/components/editor-notices/index.d.ts.map +1 -0
  220. package/build-types/components/editor-snackbars/index.d.ts +7 -0
  221. package/build-types/components/editor-snackbars/index.d.ts.map +1 -0
  222. package/build-types/components/entities-saved-states/entity-record-item.d.ts +6 -0
  223. package/build-types/components/entities-saved-states/entity-record-item.d.ts.map +1 -0
  224. package/build-types/components/entities-saved-states/entity-type-list.d.ts +6 -0
  225. package/build-types/components/entities-saved-states/entity-type-list.d.ts.map +1 -0
  226. package/build-types/components/entities-saved-states/hooks/use-is-dirty.d.ts +2 -0
  227. package/build-types/components/entities-saved-states/hooks/use-is-dirty.d.ts.map +1 -0
  228. package/build-types/components/entities-saved-states/index.d.ts +43 -0
  229. package/build-types/components/entities-saved-states/index.d.ts.map +1 -0
  230. package/build-types/components/error-boundary/index.d.ts +14 -0
  231. package/build-types/components/error-boundary/index.d.ts.map +1 -0
  232. package/build-types/components/global-keyboard-shortcuts/index.d.ts +9 -0
  233. package/build-types/components/global-keyboard-shortcuts/index.d.ts.map +1 -0
  234. package/build-types/components/global-keyboard-shortcuts/register-shortcuts.d.ts +8 -0
  235. package/build-types/components/global-keyboard-shortcuts/register-shortcuts.d.ts.map +1 -0
  236. package/build-types/components/global-styles-provider/index.d.ts +20 -0
  237. package/build-types/components/global-styles-provider/index.d.ts.map +1 -0
  238. package/build-types/components/header/back-button.d.ts +6 -0
  239. package/build-types/components/header/back-button.d.ts.map +1 -0
  240. package/build-types/components/header/index.d.ts +10 -0
  241. package/build-types/components/header/index.d.ts.map +1 -0
  242. package/build-types/components/index.d.ts +108 -0
  243. package/build-types/components/index.d.ts.map +1 -0
  244. package/build-types/components/inserter-sidebar/index.d.ts +2 -0
  245. package/build-types/components/inserter-sidebar/index.d.ts.map +1 -0
  246. package/build-types/components/keyboard-shortcut-help-modal/config.d.ts +26 -0
  247. package/build-types/components/keyboard-shortcut-help-modal/config.d.ts.map +1 -0
  248. package/build-types/components/keyboard-shortcut-help-modal/dynamic-shortcut.d.ts +5 -0
  249. package/build-types/components/keyboard-shortcut-help-modal/dynamic-shortcut.d.ts.map +1 -0
  250. package/build-types/components/keyboard-shortcut-help-modal/index.d.ts +3 -0
  251. package/build-types/components/keyboard-shortcut-help-modal/index.d.ts.map +1 -0
  252. package/build-types/components/keyboard-shortcut-help-modal/shortcut.d.ts +8 -0
  253. package/build-types/components/keyboard-shortcut-help-modal/shortcut.d.ts.map +1 -0
  254. package/build-types/components/list-view-sidebar/index.d.ts +2 -0
  255. package/build-types/components/list-view-sidebar/index.d.ts.map +1 -0
  256. package/build-types/components/list-view-sidebar/list-view-outline.d.ts +2 -0
  257. package/build-types/components/list-view-sidebar/list-view-outline.d.ts.map +1 -0
  258. package/build-types/components/local-autosave-monitor/index.d.ts +3 -0
  259. package/build-types/components/local-autosave-monitor/index.d.ts.map +1 -0
  260. package/build-types/components/media-categories/index.d.ts +7 -0
  261. package/build-types/components/media-categories/index.d.ts.map +1 -0
  262. package/build-types/components/mode-switcher/index.d.ts +3 -0
  263. package/build-types/components/mode-switcher/index.d.ts.map +1 -0
  264. package/build-types/components/more-menu/copy-content-menu-item.d.ts +2 -0
  265. package/build-types/components/more-menu/copy-content-menu-item.d.ts.map +1 -0
  266. package/build-types/components/more-menu/index.d.ts +2 -0
  267. package/build-types/components/more-menu/index.d.ts.map +1 -0
  268. package/build-types/components/more-menu/tools-more-menu-group.d.ts +6 -0
  269. package/build-types/components/more-menu/tools-more-menu-group.d.ts.map +1 -0
  270. package/build-types/components/more-menu/view-more-menu-group.d.ts +6 -0
  271. package/build-types/components/more-menu/view-more-menu-group.d.ts.map +1 -0
  272. package/build-types/components/page-attributes/check.d.ts +13 -0
  273. package/build-types/components/page-attributes/check.d.ts.map +1 -0
  274. package/build-types/components/page-attributes/order.d.ts +9 -0
  275. package/build-types/components/page-attributes/order.d.ts.map +1 -0
  276. package/build-types/components/page-attributes/panel.d.ts +7 -0
  277. package/build-types/components/page-attributes/panel.d.ts.map +1 -0
  278. package/build-types/components/page-attributes/parent.d.ts +11 -0
  279. package/build-types/components/page-attributes/parent.d.ts.map +1 -0
  280. package/build-types/components/pattern-duplicate-modal/index.d.ts +3 -0
  281. package/build-types/components/pattern-duplicate-modal/index.d.ts.map +1 -0
  282. package/build-types/components/pattern-overrides-panel/index.d.ts +2 -0
  283. package/build-types/components/pattern-overrides-panel/index.d.ts.map +1 -0
  284. package/build-types/components/pattern-rename-modal/index.d.ts +3 -0
  285. package/build-types/components/pattern-rename-modal/index.d.ts.map +1 -0
  286. package/build-types/components/plugin-document-setting-panel/index.d.ts +69 -0
  287. package/build-types/components/plugin-document-setting-panel/index.d.ts.map +1 -0
  288. package/build-types/components/plugin-more-menu-item/index.d.ts +3 -0
  289. package/build-types/components/plugin-more-menu-item/index.d.ts.map +1 -0
  290. package/build-types/components/plugin-post-publish-panel/index.d.ts +47 -0
  291. package/build-types/components/plugin-post-publish-panel/index.d.ts.map +1 -0
  292. package/build-types/components/plugin-post-status-info/index.d.ts +57 -0
  293. package/build-types/components/plugin-post-status-info/index.d.ts.map +1 -0
  294. package/build-types/components/plugin-pre-publish-panel/index.d.ts +50 -0
  295. package/build-types/components/plugin-pre-publish-panel/index.d.ts.map +1 -0
  296. package/build-types/components/plugin-sidebar/index.d.ts +73 -0
  297. package/build-types/components/plugin-sidebar/index.d.ts.map +1 -0
  298. package/build-types/components/plugin-sidebar-more-menu-item/index.d.ts +52 -0
  299. package/build-types/components/plugin-sidebar-more-menu-item/index.d.ts.map +1 -0
  300. package/build-types/components/post-actions/actions.d.ts +31 -0
  301. package/build-types/components/post-actions/actions.d.ts.map +1 -0
  302. package/build-types/components/post-actions/index.d.ts +5 -0
  303. package/build-types/components/post-actions/index.d.ts.map +1 -0
  304. package/build-types/components/post-author/check.d.ts +13 -0
  305. package/build-types/components/post-author/check.d.ts.map +1 -0
  306. package/build-types/components/post-author/combobox.d.ts +2 -0
  307. package/build-types/components/post-author/combobox.d.ts.map +1 -0
  308. package/build-types/components/post-author/constants.d.ts +9 -0
  309. package/build-types/components/post-author/constants.d.ts.map +1 -0
  310. package/build-types/components/post-author/hook.d.ts +6 -0
  311. package/build-types/components/post-author/hook.d.ts.map +1 -0
  312. package/build-types/components/post-author/index.d.ts +8 -0
  313. package/build-types/components/post-author/index.d.ts.map +1 -0
  314. package/build-types/components/post-author/panel.d.ts +8 -0
  315. package/build-types/components/post-author/panel.d.ts.map +1 -0
  316. package/build-types/components/post-author/select.d.ts +2 -0
  317. package/build-types/components/post-author/select.d.ts.map +1 -0
  318. package/build-types/components/post-card-panel/index.d.ts +4 -0
  319. package/build-types/components/post-card-panel/index.d.ts.map +1 -0
  320. package/build-types/components/post-comments/index.d.ts +3 -0
  321. package/build-types/components/post-comments/index.d.ts.map +1 -0
  322. package/build-types/components/post-content-information/index.d.ts +2 -0
  323. package/build-types/components/post-content-information/index.d.ts.map +1 -0
  324. package/build-types/components/post-discussion/panel.d.ts +10 -0
  325. package/build-types/components/post-discussion/panel.d.ts.map +1 -0
  326. package/build-types/components/post-excerpt/check.d.ts +13 -0
  327. package/build-types/components/post-excerpt/check.d.ts.map +1 -0
  328. package/build-types/components/post-excerpt/index.d.ts +15 -0
  329. package/build-types/components/post-excerpt/index.d.ts.map +1 -0
  330. package/build-types/components/post-excerpt/panel.d.ts +8 -0
  331. package/build-types/components/post-excerpt/panel.d.ts.map +1 -0
  332. package/build-types/components/post-excerpt/plugin.d.ts +53 -0
  333. package/build-types/components/post-excerpt/plugin.d.ts.map +1 -0
  334. package/build-types/components/post-featured-image/check.d.ts +14 -0
  335. package/build-types/components/post-featured-image/check.d.ts.map +1 -0
  336. package/build-types/components/post-featured-image/index.d.ts +3 -0
  337. package/build-types/components/post-featured-image/index.d.ts.map +1 -0
  338. package/build-types/components/post-featured-image/panel.d.ts +13 -0
  339. package/build-types/components/post-featured-image/panel.d.ts.map +1 -0
  340. package/build-types/components/post-format/check.d.ts +5 -0
  341. package/build-types/components/post-format/check.d.ts.map +1 -0
  342. package/build-types/components/post-format/index.d.ts +16 -0
  343. package/build-types/components/post-format/index.d.ts.map +1 -0
  344. package/build-types/components/post-format/panel.d.ts +8 -0
  345. package/build-types/components/post-format/panel.d.ts.map +1 -0
  346. package/build-types/components/post-last-edited-panel/index.d.ts +2 -0
  347. package/build-types/components/post-last-edited-panel/index.d.ts.map +1 -0
  348. package/build-types/components/post-last-revision/check.d.ts +13 -0
  349. package/build-types/components/post-last-revision/check.d.ts.map +1 -0
  350. package/build-types/components/post-last-revision/index.d.ts +9 -0
  351. package/build-types/components/post-last-revision/index.d.ts.map +1 -0
  352. package/build-types/components/post-last-revision/panel.d.ts +8 -0
  353. package/build-types/components/post-last-revision/panel.d.ts.map +1 -0
  354. package/build-types/components/post-locked-modal/index.d.ts +8 -0
  355. package/build-types/components/post-locked-modal/index.d.ts.map +1 -0
  356. package/build-types/components/post-panel-row/index.d.ts +3 -0
  357. package/build-types/components/post-panel-row/index.d.ts.map +1 -0
  358. package/build-types/components/post-panel-section/index.d.ts +6 -0
  359. package/build-types/components/post-panel-section/index.d.ts.map +1 -0
  360. package/build-types/components/post-pending-status/check.d.ts +15 -0
  361. package/build-types/components/post-pending-status/check.d.ts.map +1 -0
  362. package/build-types/components/post-pending-status/index.d.ts +8 -0
  363. package/build-types/components/post-pending-status/index.d.ts.map +1 -0
  364. package/build-types/components/post-pingbacks/index.d.ts +3 -0
  365. package/build-types/components/post-pingbacks/index.d.ts.map +1 -0
  366. package/build-types/components/post-preview-button/index.d.ts +23 -0
  367. package/build-types/components/post-preview-button/index.d.ts.map +1 -0
  368. package/build-types/components/post-publish-button/index.d.ts +17 -0
  369. package/build-types/components/post-publish-button/index.d.ts.map +1 -0
  370. package/build-types/components/post-publish-button/label.d.ts +7 -0
  371. package/build-types/components/post-publish-button/label.d.ts.map +1 -0
  372. package/build-types/components/post-publish-button/post-publish-button-or-toggle.d.ts +17 -0
  373. package/build-types/components/post-publish-button/post-publish-button-or-toggle.d.ts.map +1 -0
  374. package/build-types/components/post-publish-panel/index.d.ts +10 -0
  375. package/build-types/components/post-publish-panel/index.d.ts.map +1 -0
  376. package/build-types/components/post-publish-panel/maybe-category-panel.d.ts +3 -0
  377. package/build-types/components/post-publish-panel/maybe-category-panel.d.ts.map +1 -0
  378. package/build-types/components/post-publish-panel/maybe-post-format-panel.d.ts +2 -0
  379. package/build-types/components/post-publish-panel/maybe-post-format-panel.d.ts.map +1 -0
  380. package/build-types/components/post-publish-panel/maybe-tags-panel.d.ts +3 -0
  381. package/build-types/components/post-publish-panel/maybe-tags-panel.d.ts.map +1 -0
  382. package/build-types/components/post-publish-panel/maybe-upload-media.d.ts +2 -0
  383. package/build-types/components/post-publish-panel/maybe-upload-media.d.ts.map +1 -0
  384. package/build-types/components/post-publish-panel/postpublish.d.ts +3 -0
  385. package/build-types/components/post-publish-panel/postpublish.d.ts.map +1 -0
  386. package/build-types/components/post-publish-panel/prepublish.d.ts +5 -0
  387. package/build-types/components/post-publish-panel/prepublish.d.ts.map +1 -0
  388. package/build-types/components/post-saved-state/index.d.ts +13 -0
  389. package/build-types/components/post-saved-state/index.d.ts.map +1 -0
  390. package/build-types/components/post-schedule/check.d.ts +12 -0
  391. package/build-types/components/post-schedule/check.d.ts.map +1 -0
  392. package/build-types/components/post-schedule/index.d.ts +17 -0
  393. package/build-types/components/post-schedule/index.d.ts.map +1 -0
  394. package/build-types/components/post-schedule/label.d.ts +25 -0
  395. package/build-types/components/post-schedule/label.d.ts.map +1 -0
  396. package/build-types/components/post-schedule/panel.d.ts +7 -0
  397. package/build-types/components/post-schedule/panel.d.ts.map +1 -0
  398. package/build-types/components/post-slug/check.d.ts +12 -0
  399. package/build-types/components/post-slug/check.d.ts.map +1 -0
  400. package/build-types/components/post-slug/index.d.ts +7 -0
  401. package/build-types/components/post-slug/index.d.ts.map +1 -0
  402. package/build-types/components/post-slug/panel.d.ts +3 -0
  403. package/build-types/components/post-slug/panel.d.ts.map +1 -0
  404. package/build-types/components/post-status/index.d.ts +6 -0
  405. package/build-types/components/post-status/index.d.ts.map +1 -0
  406. package/build-types/components/post-sticky/check.d.ts +12 -0
  407. package/build-types/components/post-sticky/check.d.ts.map +1 -0
  408. package/build-types/components/post-sticky/index.d.ts +7 -0
  409. package/build-types/components/post-sticky/index.d.ts.map +1 -0
  410. package/build-types/components/post-sticky/panel.d.ts +3 -0
  411. package/build-types/components/post-sticky/panel.d.ts.map +1 -0
  412. package/build-types/components/post-switch-to-draft-button/index.d.ts +7 -0
  413. package/build-types/components/post-switch-to-draft-button/index.d.ts.map +1 -0
  414. package/build-types/components/post-sync-status/index.d.ts +7 -0
  415. package/build-types/components/post-sync-status/index.d.ts.map +1 -0
  416. package/build-types/components/post-taxonomies/check.d.ts +12 -0
  417. package/build-types/components/post-taxonomies/check.d.ts.map +1 -0
  418. package/build-types/components/post-taxonomies/flat-term-selector.d.ts +64 -0
  419. package/build-types/components/post-taxonomies/flat-term-selector.d.ts.map +1 -0
  420. package/build-types/components/post-taxonomies/hierarchical-term-selector.d.ts +102 -0
  421. package/build-types/components/post-taxonomies/hierarchical-term-selector.d.ts.map +1 -0
  422. package/build-types/components/post-taxonomies/index.d.ts +5 -0
  423. package/build-types/components/post-taxonomies/index.d.ts.map +1 -0
  424. package/build-types/components/post-taxonomies/most-used-terms.d.ts +5 -0
  425. package/build-types/components/post-taxonomies/most-used-terms.d.ts.map +1 -0
  426. package/build-types/components/post-taxonomies/panel.d.ts +3 -0
  427. package/build-types/components/post-taxonomies/panel.d.ts.map +1 -0
  428. package/build-types/components/post-template/block-theme.d.ts +4 -0
  429. package/build-types/components/post-template/block-theme.d.ts.map +1 -0
  430. package/build-types/components/post-template/classic-theme.d.ts +3 -0
  431. package/build-types/components/post-template/classic-theme.d.ts.map +1 -0
  432. package/build-types/components/post-template/create-new-template-modal.d.ts +4 -0
  433. package/build-types/components/post-template/create-new-template-modal.d.ts.map +1 -0
  434. package/build-types/components/post-template/create-new-template.d.ts +4 -0
  435. package/build-types/components/post-template/create-new-template.d.ts.map +1 -0
  436. package/build-types/components/post-template/hooks.d.ts +8 -0
  437. package/build-types/components/post-template/hooks.d.ts.map +1 -0
  438. package/build-types/components/post-template/panel.d.ts +7 -0
  439. package/build-types/components/post-template/panel.d.ts.map +1 -0
  440. package/build-types/components/post-template/reset-default-template.d.ts +4 -0
  441. package/build-types/components/post-template/reset-default-template.d.ts.map +1 -0
  442. package/build-types/components/post-template/swap-template-button.d.ts +4 -0
  443. package/build-types/components/post-template/swap-template-button.d.ts.map +1 -0
  444. package/build-types/components/post-text-editor/index.d.ts +7 -0
  445. package/build-types/components/post-text-editor/index.d.ts.map +1 -0
  446. package/build-types/components/post-title/constants.d.ts +3 -0
  447. package/build-types/components/post-title/constants.d.ts.map +1 -0
  448. package/build-types/components/post-title/index.d.ts +3 -0
  449. package/build-types/components/post-title/index.d.ts.map +1 -0
  450. package/build-types/components/post-title/post-title-raw.d.ts +3 -0
  451. package/build-types/components/post-title/post-title-raw.d.ts.map +1 -0
  452. package/build-types/components/post-title/use-post-title-focus.d.ts +9 -0
  453. package/build-types/components/post-title/use-post-title-focus.d.ts.map +1 -0
  454. package/build-types/components/post-title/use-post-title.d.ts +7 -0
  455. package/build-types/components/post-title/use-post-title.d.ts.map +1 -0
  456. package/build-types/components/post-transform-panel/hooks.d.ts +2 -0
  457. package/build-types/components/post-transform-panel/hooks.d.ts.map +1 -0
  458. package/build-types/components/post-transform-panel/index.d.ts +2 -0
  459. package/build-types/components/post-transform-panel/index.d.ts.map +1 -0
  460. package/build-types/components/post-trash/check.d.ts +12 -0
  461. package/build-types/components/post-trash/check.d.ts.map +1 -0
  462. package/build-types/components/post-trash/index.d.ts +7 -0
  463. package/build-types/components/post-trash/index.d.ts.map +1 -0
  464. package/build-types/components/post-type-support-check/index.d.ts +18 -0
  465. package/build-types/components/post-type-support-check/index.d.ts.map +1 -0
  466. package/build-types/components/post-url/check.d.ts +12 -0
  467. package/build-types/components/post-url/check.d.ts.map +1 -0
  468. package/build-types/components/post-url/index.d.ts +14 -0
  469. package/build-types/components/post-url/index.d.ts.map +1 -0
  470. package/build-types/components/post-url/label.d.ts +13 -0
  471. package/build-types/components/post-url/label.d.ts.map +1 -0
  472. package/build-types/components/post-url/panel.d.ts +7 -0
  473. package/build-types/components/post-url/panel.d.ts.map +1 -0
  474. package/build-types/components/post-view-link/index.d.ts +2 -0
  475. package/build-types/components/post-view-link/index.d.ts.map +1 -0
  476. package/build-types/components/post-visibility/check.d.ts +13 -0
  477. package/build-types/components/post-visibility/check.d.ts.map +1 -0
  478. package/build-types/components/post-visibility/index.d.ts +11 -0
  479. package/build-types/components/post-visibility/index.d.ts.map +1 -0
  480. package/build-types/components/post-visibility/label.d.ts +13 -0
  481. package/build-types/components/post-visibility/label.d.ts.map +1 -0
  482. package/build-types/components/post-visibility/utils.d.ts +21 -0
  483. package/build-types/components/post-visibility/utils.d.ts.map +1 -0
  484. package/build-types/components/posts-per-page/index.d.ts +2 -0
  485. package/build-types/components/posts-per-page/index.d.ts.map +1 -0
  486. package/build-types/components/preferences-modal/enable-panel.d.ts +3 -0
  487. package/build-types/components/preferences-modal/enable-panel.d.ts.map +1 -0
  488. package/build-types/components/preferences-modal/enable-plugin-document-setting-panel.d.ts +14 -0
  489. package/build-types/components/preferences-modal/enable-plugin-document-setting-panel.d.ts.map +1 -0
  490. package/build-types/components/preferences-modal/enable-publish-sidebar.d.ts +3 -0
  491. package/build-types/components/preferences-modal/enable-publish-sidebar.d.ts.map +1 -0
  492. package/build-types/components/preferences-modal/index.d.ts +4 -0
  493. package/build-types/components/preferences-modal/index.d.ts.map +1 -0
  494. package/build-types/components/preview-dropdown/index.d.ts +5 -0
  495. package/build-types/components/preview-dropdown/index.d.ts.map +1 -0
  496. package/build-types/components/provider/disable-non-page-content-blocks.d.ts +6 -0
  497. package/build-types/components/provider/disable-non-page-content-blocks.d.ts.map +1 -0
  498. package/build-types/components/provider/index.d.ts +65 -0
  499. package/build-types/components/provider/index.d.ts.map +1 -0
  500. package/build-types/components/provider/navigation-block-editing-mode.d.ts +9 -0
  501. package/build-types/components/provider/navigation-block-editing-mode.d.ts.map +1 -0
  502. package/build-types/components/provider/use-auto-switch-editor-sidebars.d.ts +7 -0
  503. package/build-types/components/provider/use-auto-switch-editor-sidebars.d.ts.map +1 -0
  504. package/build-types/components/provider/use-block-editor-settings.d.ts +13 -0
  505. package/build-types/components/provider/use-block-editor-settings.d.ts.map +1 -0
  506. package/build-types/components/provider/use-hide-blocks-from-inserter.d.ts +9 -0
  507. package/build-types/components/provider/use-hide-blocks-from-inserter.d.ts.map +1 -0
  508. package/build-types/components/provider/with-registry-provider.d.ts +3 -0
  509. package/build-types/components/provider/with-registry-provider.d.ts.map +1 -0
  510. package/build-types/components/resizable-editor/index.d.ts +8 -0
  511. package/build-types/components/resizable-editor/index.d.ts.map +1 -0
  512. package/build-types/components/resizable-editor/resize-handle.d.ts +5 -0
  513. package/build-types/components/resizable-editor/resize-handle.d.ts.map +1 -0
  514. package/build-types/components/save-publish-panels/index.d.ts +11 -0
  515. package/build-types/components/save-publish-panels/index.d.ts.map +1 -0
  516. package/build-types/components/sidebar/constants.d.ts +5 -0
  517. package/build-types/components/sidebar/constants.d.ts.map +1 -0
  518. package/build-types/components/sidebar/header.d.ts +3 -0
  519. package/build-types/components/sidebar/header.d.ts.map +1 -0
  520. package/build-types/components/sidebar/index.d.ts +6 -0
  521. package/build-types/components/sidebar/index.d.ts.map +1 -0
  522. package/build-types/components/sidebar/post-summary.d.ts +4 -0
  523. package/build-types/components/sidebar/post-summary.d.ts.map +1 -0
  524. package/build-types/components/site-discussion/index.d.ts +2 -0
  525. package/build-types/components/site-discussion/index.d.ts.map +1 -0
  526. package/build-types/components/start-page-options/index.d.ts +2 -0
  527. package/build-types/components/start-page-options/index.d.ts.map +1 -0
  528. package/build-types/components/start-template-options/index.d.ts +2 -0
  529. package/build-types/components/start-template-options/index.d.ts.map +1 -0
  530. package/build-types/components/table-of-contents/index.d.ts +7 -0
  531. package/build-types/components/table-of-contents/index.d.ts.map +1 -0
  532. package/build-types/components/table-of-contents/panel.d.ts +6 -0
  533. package/build-types/components/table-of-contents/panel.d.ts.map +1 -0
  534. package/build-types/components/template-content-panel/index.d.ts +4 -0
  535. package/build-types/components/template-content-panel/index.d.ts.map +1 -0
  536. package/build-types/components/template-part-content-panel/index.d.ts +2 -0
  537. package/build-types/components/template-part-content-panel/index.d.ts.map +1 -0
  538. package/build-types/components/template-part-menu-items/convert-to-regular.d.ts +5 -0
  539. package/build-types/components/template-part-menu-items/convert-to-regular.d.ts.map +1 -0
  540. package/build-types/components/template-part-menu-items/convert-to-template-part.d.ts +5 -0
  541. package/build-types/components/template-part-menu-items/convert-to-template-part.d.ts.map +1 -0
  542. package/build-types/components/template-part-menu-items/index.d.ts +2 -0
  543. package/build-types/components/template-part-menu-items/index.d.ts.map +1 -0
  544. package/build-types/components/template-validation-notice/index.d.ts +2 -0
  545. package/build-types/components/template-validation-notice/index.d.ts.map +1 -0
  546. package/build-types/components/text-editor/index.d.ts +4 -0
  547. package/build-types/components/text-editor/index.d.ts.map +1 -0
  548. package/build-types/components/theme-support-check/index.d.ts +14 -0
  549. package/build-types/components/theme-support-check/index.d.ts.map +1 -0
  550. package/build-types/components/time-to-read/index.d.ts +7 -0
  551. package/build-types/components/time-to-read/index.d.ts.map +1 -0
  552. package/build-types/components/unsaved-changes-warning/index.d.ts +8 -0
  553. package/build-types/components/unsaved-changes-warning/index.d.ts.map +1 -0
  554. package/build-types/components/visual-editor/edit-template-blocks-notification.d.ts +18 -0
  555. package/build-types/components/visual-editor/edit-template-blocks-notification.d.ts.map +1 -0
  556. package/build-types/components/visual-editor/index.d.ts +10 -0
  557. package/build-types/components/visual-editor/index.d.ts.map +1 -0
  558. package/build-types/components/word-count/index.d.ts +7 -0
  559. package/build-types/components/word-count/index.d.ts.map +1 -0
  560. package/build-types/dataviews/actions/delete-post.d.ts +5 -0
  561. package/build-types/dataviews/actions/delete-post.d.ts.map +1 -0
  562. package/build-types/dataviews/actions/export-pattern.d.ts +8 -0
  563. package/build-types/dataviews/actions/export-pattern.d.ts.map +1 -0
  564. package/build-types/dataviews/actions/index.d.ts +2 -0
  565. package/build-types/dataviews/actions/index.d.ts.map +1 -0
  566. package/build-types/dataviews/actions/reset-post.d.ts +5 -0
  567. package/build-types/dataviews/actions/reset-post.d.ts.map +1 -0
  568. package/build-types/dataviews/actions/utils.d.ts +11 -0
  569. package/build-types/dataviews/actions/utils.d.ts.map +1 -0
  570. package/build-types/dataviews/api.d.ts +27 -0
  571. package/build-types/dataviews/api.d.ts.map +1 -0
  572. package/build-types/dataviews/store/private-actions.d.ts +2 -2
  573. package/build-types/dataviews/store/private-actions.d.ts.map +1 -1
  574. package/build-types/dataviews/store/private-selectors.d.ts +2 -5
  575. package/build-types/dataviews/store/private-selectors.d.ts.map +1 -1
  576. package/build-types/dataviews/store/reducer.d.ts +5 -1
  577. package/build-types/dataviews/store/reducer.d.ts.map +1 -1
  578. package/build-types/dataviews/types.d.ts +34 -0
  579. package/build-types/dataviews/types.d.ts.map +1 -0
  580. package/build-types/hooks/custom-sources-backwards-compatibility.d.ts +10 -0
  581. package/build-types/hooks/custom-sources-backwards-compatibility.d.ts.map +1 -0
  582. package/build-types/hooks/default-autocompleters.d.ts +2 -0
  583. package/build-types/hooks/default-autocompleters.d.ts.map +1 -0
  584. package/build-types/hooks/index.d.ts +2 -0
  585. package/build-types/hooks/index.d.ts.map +1 -0
  586. package/build-types/hooks/media-upload.d.ts +2 -0
  587. package/build-types/hooks/media-upload.d.ts.map +1 -0
  588. package/build-types/hooks/pattern-overrides.d.ts +2 -0
  589. package/build-types/hooks/pattern-overrides.d.ts.map +1 -0
  590. package/build-types/hooks/use-select-nearest-editable-block.d.ts +4 -0
  591. package/build-types/hooks/use-select-nearest-editable-block.d.ts.map +1 -0
  592. package/build-types/index.d.ts +6 -0
  593. package/build-types/index.d.ts.map +1 -0
  594. package/build-types/lock-unlock.d.ts +3 -0
  595. package/build-types/lock-unlock.d.ts.map +1 -0
  596. package/build-types/private-apis.d.ts +2 -0
  597. package/build-types/private-apis.d.ts.map +1 -0
  598. package/build-types/store/actions.d.ts +367 -0
  599. package/build-types/store/actions.d.ts.map +1 -0
  600. package/build-types/store/constants.d.ts +31 -0
  601. package/build-types/store/constants.d.ts.map +1 -0
  602. package/build-types/store/defaults.d.ts +21 -0
  603. package/build-types/store/defaults.d.ts.map +1 -0
  604. package/build-types/store/index.d.ts +17 -0
  605. package/build-types/store/index.d.ts.map +1 -0
  606. package/build-types/store/local-autosave.d.ts +4 -0
  607. package/build-types/store/local-autosave.d.ts.map +1 -0
  608. package/build-types/store/private-actions.d.ts +37 -0
  609. package/build-types/store/private-actions.d.ts.map +1 -0
  610. package/build-types/store/private-selectors.d.ts +24 -0
  611. package/build-types/store/private-selectors.d.ts.map +1 -0
  612. package/build-types/store/reducer.d.ts +228 -0
  613. package/build-types/store/reducer.d.ts.map +1 -0
  614. package/build-types/store/selectors.d.ts +854 -0
  615. package/build-types/store/selectors.d.ts.map +1 -0
  616. package/build-types/store/utils/get-filtered-template-parts.d.ts +3 -0
  617. package/build-types/store/utils/get-filtered-template-parts.d.ts.map +1 -0
  618. package/build-types/store/utils/is-template-revertable.d.ts +8 -0
  619. package/build-types/store/utils/is-template-revertable.d.ts.map +1 -0
  620. package/build-types/store/utils/notice-builder.d.ts +27 -0
  621. package/build-types/store/utils/notice-builder.d.ts.map +1 -0
  622. package/build-types/utils/get-template-part-icon.d.ts +9 -0
  623. package/build-types/utils/get-template-part-icon.d.ts.map +1 -0
  624. package/build-types/utils/index.d.ts +5 -0
  625. package/build-types/utils/index.d.ts.map +1 -0
  626. package/build-types/utils/media-upload/index.d.ts +21 -0
  627. package/build-types/utils/media-upload/index.d.ts.map +1 -0
  628. package/build-types/utils/set-nested-value.d.ts +20 -0
  629. package/build-types/utils/set-nested-value.d.ts.map +1 -0
  630. package/build-types/utils/terms.d.ts +12 -0
  631. package/build-types/utils/terms.d.ts.map +1 -0
  632. package/build-types/utils/url.d.ts +18 -0
  633. package/build-types/utils/url.d.ts.map +1 -0
  634. package/package.json +36 -35
  635. package/src/bindings/pattern-overrides.js +9 -10
  636. package/src/bindings/post-meta.js +5 -0
  637. package/src/components/editor-interface/index.js +17 -12
  638. package/src/components/entities-saved-states/index.js +1 -1
  639. package/src/components/inserter-sidebar/index.js +4 -24
  640. package/src/components/list-view-sidebar/index.js +34 -62
  641. package/src/components/list-view-sidebar/style.scss +0 -34
  642. package/src/components/page-attributes/parent.js +6 -3
  643. package/src/components/post-actions/actions.js +82 -277
  644. package/src/components/post-actions/index.js +1 -1
  645. package/src/components/post-excerpt/panel.js +1 -1
  646. package/src/components/post-featured-image/style.scss +15 -0
  647. package/src/components/post-panel-row/style.scss +1 -0
  648. package/src/components/post-preview-button/index.js +1 -1
  649. package/src/components/post-publish-panel/index.js +1 -1
  650. package/src/components/post-saved-state/index.js +11 -1
  651. package/src/components/post-schedule/index.js +5 -0
  652. package/src/components/post-status/index.js +1 -1
  653. package/src/components/post-taxonomies/README.md +1 -1
  654. package/src/components/post-title/index.js +5 -12
  655. package/src/components/preview-dropdown/index.js +1 -1
  656. package/src/components/provider/index.native.js +3 -11
  657. package/src/components/provider/use-block-editor-settings.js +10 -5
  658. package/src/components/save-publish-panels/index.js +33 -23
  659. package/src/components/sidebar/index.js +1 -3
  660. package/src/components/sidebar/post-summary.js +0 -2
  661. package/src/components/template-content-panel/index.js +29 -5
  662. package/src/components/visual-editor/index.js +1 -1
  663. package/src/components/visual-editor/style.scss +1 -1
  664. package/src/dataviews/actions/delete-post.tsx +107 -0
  665. package/src/{components/post-actions/export-pattern-action.js → dataviews/actions/export-pattern.tsx} +19 -19
  666. package/src/dataviews/actions/index.ts +25 -0
  667. package/src/dataviews/actions/reset-post.tsx +144 -0
  668. package/src/dataviews/actions/utils.ts +54 -0
  669. package/src/dataviews/store/private-actions.ts +2 -2
  670. package/src/dataviews/store/private-selectors.ts +13 -6
  671. package/src/dataviews/store/reducer.ts +12 -5
  672. package/src/dataviews/types.ts +33 -0
  673. package/src/hooks/pattern-overrides.js +4 -1
  674. package/src/private-apis.js +2 -0
  675. package/src/private-apis.native.js +0 -2
  676. package/src/store/private-actions.js +1 -6
  677. package/src/store/private-selectors.js +0 -25
  678. package/src/store/utils/is-template-revertable.js +8 -8
  679. package/src/style.scss +0 -1
  680. package/tsconfig.json +3 -2
  681. package/tsconfig.tsbuildinfo +1 -1
  682. package/build/components/post-actions/export-pattern-action.js.map +0 -1
  683. package/build/components/post-actions/export-pattern-action.native.js +0 -11
  684. package/build/components/post-actions/export-pattern-action.native.js.map +0 -1
  685. package/build/components/template-areas/index.js +0 -84
  686. package/build/components/template-areas/index.js.map +0 -1
  687. package/build-module/components/post-actions/export-pattern-action.js.map +0 -1
  688. package/build-module/components/post-actions/export-pattern-action.native.js +0 -5
  689. package/build-module/components/post-actions/export-pattern-action.native.js.map +0 -1
  690. package/build-module/components/template-areas/index.js +0 -78
  691. package/build-module/components/template-areas/index.js.map +0 -1
  692. package/src/components/post-actions/export-pattern-action.native.js +0 -4
  693. package/src/components/template-areas/index.js +0 -94
  694. package/src/components/template-areas/style.scss +0 -22
  695. /package/src/store/{constants.js → constants.ts} +0 -0
@@ -1,31 +1,56 @@
1
1
  /**
2
2
  * WordPress dependencies
3
3
  */
4
- import { useSelect } from '@wordpress/data';
4
+ import { useSelect, useDispatch } from '@wordpress/data';
5
5
  import { store as blockEditorStore, privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';
6
6
  import { PanelBody } from '@wordpress/components';
7
7
  import { __ } from '@wordpress/i18n';
8
+ import { store as interfaceStore } from '@wordpress/interface';
8
9
 
9
10
  /**
10
11
  * Internal dependencies
11
12
  */
12
13
  import { unlock } from '../../lock-unlock';
14
+ import { TEMPLATE_POST_TYPE } from '../../store/constants';
15
+ import { store as editorStore } from '../../store';
13
16
  import { jsx as _jsx } from "react/jsx-runtime";
14
17
  const {
15
18
  BlockQuickNavigation
16
19
  } = unlock(blockEditorPrivateApis);
17
20
  const PAGE_CONTENT_BLOCKS = ['core/post-content', 'core/post-featured-image', 'core/post-title'];
18
- export default function TemplateContentPanel() {
19
- const clientIds = useSelect(select => {
21
+ const TEMPLATE_PART_BLOCK = 'core/template-part';
22
+ export default function TemplateContentPanel({
23
+ renderingMode
24
+ }) {
25
+ const {
26
+ enableComplementaryArea
27
+ } = useDispatch(interfaceStore);
28
+ const {
29
+ clientIds,
30
+ postType
31
+ } = useSelect(select => {
20
32
  const {
21
33
  getBlocksByName
22
34
  } = select(blockEditorStore);
23
- return getBlocksByName(PAGE_CONTENT_BLOCKS);
35
+ const {
36
+ getCurrentPostType
37
+ } = select(editorStore);
38
+ const _postType = getCurrentPostType();
39
+ return {
40
+ postType: _postType,
41
+ clientIds: getBlocksByName(TEMPLATE_POST_TYPE === _postType ? TEMPLATE_PART_BLOCK : PAGE_CONTENT_BLOCKS)
42
+ };
24
43
  }, []);
44
+ if (renderingMode === 'post-only' && postType !== TEMPLATE_POST_TYPE) {
45
+ return null;
46
+ }
25
47
  return /*#__PURE__*/_jsx(PanelBody, {
26
48
  title: __('Content'),
27
49
  children: /*#__PURE__*/_jsx(BlockQuickNavigation, {
28
- clientIds: clientIds
50
+ clientIds: clientIds,
51
+ onSelect: () => {
52
+ enableComplementaryArea('core', 'edit-post/document');
53
+ }
29
54
  })
30
55
  });
31
56
  }
@@ -1 +1 @@
1
- {"version":3,"names":["useSelect","store","blockEditorStore","privateApis","blockEditorPrivateApis","PanelBody","__","unlock","jsx","_jsx","BlockQuickNavigation","PAGE_CONTENT_BLOCKS","TemplateContentPanel","clientIds","select","getBlocksByName","title","children"],"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":"AAAA;AACA;AACA;AACA,SAASA,SAAS,QAAQ,iBAAiB;AAC3C,SACCC,KAAK,IAAIC,gBAAgB,EACzBC,WAAW,IAAIC,sBAAsB,QAC/B,yBAAyB;AAChC,SAASC,SAAS,QAAQ,uBAAuB;AACjD,SAASC,EAAE,QAAQ,iBAAiB;;AAEpC;AACA;AACA;AACA,SAASC,MAAM,QAAQ,mBAAmB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAE3C,MAAM;EAAEC;AAAqB,CAAC,GAAGH,MAAM,CAAEH,sBAAuB,CAAC;AAEjE,MAAMO,mBAAmB,GAAG,CAC3B,mBAAmB,EACnB,0BAA0B,EAC1B,iBAAiB,CACjB;AAED,eAAe,SAASC,oBAAoBA,CAAA,EAAG;EAC9C,MAAMC,SAAS,GAAGb,SAAS,CAAIc,MAAM,IAAM;IAC1C,MAAM;MAAEC;IAAgB,CAAC,GAAGD,MAAM,CAAEZ,gBAAiB,CAAC;IACtD,OAAOa,eAAe,CAAEJ,mBAAoB,CAAC;EAC9C,CAAC,EAAE,EAAG,CAAC;EAEP,oBACCF,IAAA,CAACJ,SAAS;IAACW,KAAK,EAAGV,EAAE,CAAE,SAAU,CAAG;IAAAW,QAAA,eACnCR,IAAA,CAACC,oBAAoB;MAACG,SAAS,EAAGA;IAAW,CAAE;EAAC,CACtC,CAAC;AAEd","ignoreList":[]}
1
+ {"version":3,"names":["useSelect","useDispatch","store","blockEditorStore","privateApis","blockEditorPrivateApis","PanelBody","__","interfaceStore","unlock","TEMPLATE_POST_TYPE","editorStore","jsx","_jsx","BlockQuickNavigation","PAGE_CONTENT_BLOCKS","TEMPLATE_PART_BLOCK","TemplateContentPanel","renderingMode","enableComplementaryArea","clientIds","postType","select","getBlocksByName","getCurrentPostType","_postType","title","children","onSelect"],"sources":["@wordpress/editor/src/components/template-content-panel/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } 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';\nimport { store as interfaceStore } from '@wordpress/interface';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\nimport { TEMPLATE_POST_TYPE } from '../../store/constants';\nimport { store as editorStore } from '../../store';\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\nconst TEMPLATE_PART_BLOCK = 'core/template-part';\n\nexport default function TemplateContentPanel( { renderingMode } ) {\n\tconst { enableComplementaryArea } = useDispatch( interfaceStore );\n\tconst { clientIds, postType } = useSelect( ( select ) => {\n\t\tconst { getBlocksByName } = select( blockEditorStore );\n\t\tconst { getCurrentPostType } = select( editorStore );\n\t\tconst _postType = getCurrentPostType();\n\t\treturn {\n\t\t\tpostType: _postType,\n\t\t\tclientIds: getBlocksByName(\n\t\t\t\tTEMPLATE_POST_TYPE === _postType\n\t\t\t\t\t? TEMPLATE_PART_BLOCK\n\t\t\t\t\t: PAGE_CONTENT_BLOCKS\n\t\t\t),\n\t\t};\n\t}, [] );\n\n\tif ( renderingMode === 'post-only' && postType !== TEMPLATE_POST_TYPE ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<PanelBody title={ __( 'Content' ) }>\n\t\t\t<BlockQuickNavigation\n\t\t\t\tclientIds={ clientIds }\n\t\t\t\tonSelect={ () => {\n\t\t\t\t\tenableComplementaryArea( 'core', 'edit-post/document' );\n\t\t\t\t} }\n\t\t\t/>\n\t\t</PanelBody>\n\t);\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,SAAS,EAAEC,WAAW,QAAQ,iBAAiB;AACxD,SACCC,KAAK,IAAIC,gBAAgB,EACzBC,WAAW,IAAIC,sBAAsB,QAC/B,yBAAyB;AAChC,SAASC,SAAS,QAAQ,uBAAuB;AACjD,SAASC,EAAE,QAAQ,iBAAiB;AACpC,SAASL,KAAK,IAAIM,cAAc,QAAQ,sBAAsB;;AAE9D;AACA;AACA;AACA,SAASC,MAAM,QAAQ,mBAAmB;AAC1C,SAASC,kBAAkB,QAAQ,uBAAuB;AAC1D,SAASR,KAAK,IAAIS,WAAW,QAAQ,aAAa;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAEnD,MAAM;EAAEC;AAAqB,CAAC,GAAGL,MAAM,CAAEJ,sBAAuB,CAAC;AAEjE,MAAMU,mBAAmB,GAAG,CAC3B,mBAAmB,EACnB,0BAA0B,EAC1B,iBAAiB,CACjB;AAED,MAAMC,mBAAmB,GAAG,oBAAoB;AAEhD,eAAe,SAASC,oBAAoBA,CAAE;EAAEC;AAAc,CAAC,EAAG;EACjE,MAAM;IAAEC;EAAwB,CAAC,GAAGlB,WAAW,CAAEO,cAAe,CAAC;EACjE,MAAM;IAAEY,SAAS;IAAEC;EAAS,CAAC,GAAGrB,SAAS,CAAIsB,MAAM,IAAM;IACxD,MAAM;MAAEC;IAAgB,CAAC,GAAGD,MAAM,CAAEnB,gBAAiB,CAAC;IACtD,MAAM;MAAEqB;IAAmB,CAAC,GAAGF,MAAM,CAAEX,WAAY,CAAC;IACpD,MAAMc,SAAS,GAAGD,kBAAkB,CAAC,CAAC;IACtC,OAAO;MACNH,QAAQ,EAAEI,SAAS;MACnBL,SAAS,EAAEG,eAAe,CACzBb,kBAAkB,KAAKe,SAAS,GAC7BT,mBAAmB,GACnBD,mBACJ;IACD,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;EAEP,IAAKG,aAAa,KAAK,WAAW,IAAIG,QAAQ,KAAKX,kBAAkB,EAAG;IACvE,OAAO,IAAI;EACZ;EAEA,oBACCG,IAAA,CAACP,SAAS;IAACoB,KAAK,EAAGnB,EAAE,CAAE,SAAU,CAAG;IAAAoB,QAAA,eACnCd,IAAA,CAACC,oBAAoB;MACpBM,SAAS,EAAGA,SAAW;MACvBQ,QAAQ,EAAGA,CAAA,KAAM;QAChBT,uBAAuB,CAAE,MAAM,EAAE,oBAAqB,CAAC;MACxD;IAAG,CACH;EAAC,CACQ,CAAC;AAEd","ignoreList":[]}
@@ -256,7 +256,7 @@ function VisualEditor({
256
256
  })]);
257
257
  const zoomOutProps = isZoomOutMode ? {
258
258
  scale: 'default',
259
- frameSize: '20px'
259
+ frameSize: '48px'
260
260
  } : {};
261
261
  const forceFullHeight = postType === NAVIGATION_POST_TYPE;
262
262
  const enableResizing = [NAVIGATION_POST_TYPE, TEMPLATE_PART_POST_TYPE, PATTERN_POST_TYPE].includes(postType) &&
@@ -1 +1 @@
1
- {"version":3,"names":["clsx","BlockList","store","blockEditorStore","__unstableUseTypewriter","useTypewriter","__unstableUseTypingObserver","useTypingObserver","useSettings","RecursionProvider","privateApis","blockEditorPrivateApis","__experimentalUseResizeCanvas","useResizeCanvas","useEffect","useRef","useMemo","useSelect","parse","coreStore","useMergeRefs","useViewportMatch","useResizeObserver","PostTitle","editorStore","unlock","EditTemplateBlocksNotification","ResizableEditor","useSelectNearestEditableBlock","NAVIGATION_POST_TYPE","PATTERN_POST_TYPE","TEMPLATE_PART_POST_TYPE","TEMPLATE_POST_TYPE","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","LayoutStyle","useLayoutClasses","useLayoutStyles","ExperimentalBlockCanvas","BlockCanvas","useFlashEditableBlocks","DESIGN_POST_TYPES","getPostContentAttributes","blocks","i","length","name","attributes","innerBlocks","nestedPostContent","checkForPostContentAtRootLevel","VisualEditor","autoFocus","styles","disableIframe","iframeProps","contentRef","className","resizeObserver","sizes","isMobileViewport","renderingMode","postContentAttributes","editedPostTemplate","wrapperBlockName","wrapperUniqueId","deviceType","isFocusedEntity","isDesignPostType","postType","isPreview","select","getCurrentPostId","getCurrentPostType","getCurrentTemplateId","getEditorSettings","getRenderingMode","getDeviceType","getPostType","canUser","getEditedEntityRecord","postTypeSlug","_renderingMode","_wrapperBlockName","editorSettings","supportsTemplateMode","postTypeObject","canEditTemplate","currentTemplateId","template","undefined","includes","viewable","onNavigateToPreviousEntityRecord","__unstableIsPreviewMode","isCleanNewPost","hasRootPaddingAwareAlignments","themeHasDisabledLayoutStyles","themeSupportsLayout","isZoomOutMode","getSettings","__unstableGetEditorMode","_settings","disableLayoutStyles","supportsLayout","__experimentalFeatures","useRootPaddingAwareAlignments","deviceStyles","globalLayoutSettings","fallbackLayout","type","newestPostContentAttributes","content","parseableContent","hasPostContentAtRootLevel","layout","align","postContentLayoutClasses","blockListLayoutClass","postContentLayoutStyles","postContentLayout","inherit","contentSize","wideSize","blockListLayout","postEditorLayout","observeTypingRef","titleRef","current","focus","alignCSS","localRef","typewriterRef","isEnabled","zoomOutProps","scale","frameSize","forceFullHeight","enableResizing","shouldIframe","iframeStyles","css","children","height","style","selector","contentEditable","ref","marginTop","blockName","uniqueId","toLowerCase","dropZoneElement","parentNode","__unstableDisableDropZone"],"sources":["@wordpress/editor/src/components/visual-editor/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tBlockList,\n\tstore as blockEditorStore,\n\t__unstableUseTypewriter as useTypewriter,\n\t__unstableUseTypingObserver as useTypingObserver,\n\tuseSettings,\n\tRecursionProvider,\n\tprivateApis as blockEditorPrivateApis,\n\t__experimentalUseResizeCanvas as useResizeCanvas,\n} from '@wordpress/block-editor';\nimport { useEffect, useRef, useMemo } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\nimport { parse } from '@wordpress/blocks';\nimport { store as coreStore } from '@wordpress/core-data';\nimport {\n\tuseMergeRefs,\n\tuseViewportMatch,\n\tuseResizeObserver,\n} from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport PostTitle from '../post-title';\nimport { store as editorStore } from '../../store';\nimport { unlock } from '../../lock-unlock';\nimport EditTemplateBlocksNotification from './edit-template-blocks-notification';\nimport ResizableEditor from '../resizable-editor';\nimport useSelectNearestEditableBlock from '../../hooks/use-select-nearest-editable-block';\nimport {\n\tNAVIGATION_POST_TYPE,\n\tPATTERN_POST_TYPE,\n\tTEMPLATE_PART_POST_TYPE,\n\tTEMPLATE_POST_TYPE,\n} from '../../store/constants';\n\nconst {\n\tLayoutStyle,\n\tuseLayoutClasses,\n\tuseLayoutStyles,\n\tExperimentalBlockCanvas: BlockCanvas,\n\tuseFlashEditableBlocks,\n} = unlock( blockEditorPrivateApis );\n\n/**\n * These post types have a special editor where they don't allow you to fill the title\n * and they don't apply the layout styles.\n */\nconst DESIGN_POST_TYPES = [\n\tPATTERN_POST_TYPE,\n\tTEMPLATE_POST_TYPE,\n\tNAVIGATION_POST_TYPE,\n\tTEMPLATE_PART_POST_TYPE,\n];\n\n/**\n * Given an array of nested blocks, find the first Post Content\n * block inside it, recursing through any nesting levels,\n * and return its attributes.\n *\n * @param {Array} blocks A list of blocks.\n *\n * @return {Object | undefined} The Post Content block.\n */\nfunction getPostContentAttributes( blocks ) {\n\tfor ( let i = 0; i < blocks.length; i++ ) {\n\t\tif ( blocks[ i ].name === 'core/post-content' ) {\n\t\t\treturn blocks[ i ].attributes;\n\t\t}\n\t\tif ( blocks[ i ].innerBlocks.length ) {\n\t\t\tconst nestedPostContent = getPostContentAttributes(\n\t\t\t\tblocks[ i ].innerBlocks\n\t\t\t);\n\n\t\t\tif ( nestedPostContent ) {\n\t\t\t\treturn nestedPostContent;\n\t\t\t}\n\t\t}\n\t}\n}\n\nfunction checkForPostContentAtRootLevel( blocks ) {\n\tfor ( let i = 0; i < blocks.length; i++ ) {\n\t\tif ( blocks[ i ].name === 'core/post-content' ) {\n\t\t\treturn true;\n\t\t}\n\t}\n\treturn false;\n}\n\nfunction VisualEditor( {\n\t// Ideally as we unify post and site editors, we won't need these props.\n\tautoFocus,\n\tstyles,\n\tdisableIframe = false,\n\tiframeProps,\n\tcontentRef,\n\tclassName,\n} ) {\n\tconst [ resizeObserver, sizes ] = useResizeObserver();\n\tconst isMobileViewport = useViewportMatch( 'small', '<' );\n\tconst {\n\t\trenderingMode,\n\t\tpostContentAttributes,\n\t\teditedPostTemplate = {},\n\t\twrapperBlockName,\n\t\twrapperUniqueId,\n\t\tdeviceType,\n\t\tisFocusedEntity,\n\t\tisDesignPostType,\n\t\tpostType,\n\t\tisPreview,\n\t} = useSelect( ( select ) => {\n\t\tconst {\n\t\t\tgetCurrentPostId,\n\t\t\tgetCurrentPostType,\n\t\t\tgetCurrentTemplateId,\n\t\t\tgetEditorSettings,\n\t\t\tgetRenderingMode,\n\t\t\tgetDeviceType,\n\t\t} = select( editorStore );\n\t\tconst { getPostType, canUser, getEditedEntityRecord } =\n\t\t\tselect( coreStore );\n\t\tconst postTypeSlug = getCurrentPostType();\n\t\tconst _renderingMode = getRenderingMode();\n\t\tlet _wrapperBlockName;\n\n\t\tif ( postTypeSlug === PATTERN_POST_TYPE ) {\n\t\t\t_wrapperBlockName = 'core/block';\n\t\t} else if ( _renderingMode === 'post-only' ) {\n\t\t\t_wrapperBlockName = 'core/post-content';\n\t\t}\n\n\t\tconst editorSettings = getEditorSettings();\n\t\tconst supportsTemplateMode = editorSettings.supportsTemplateMode;\n\t\tconst postTypeObject = getPostType( postTypeSlug );\n\t\tconst canEditTemplate = canUser( 'create', 'templates' );\n\t\tconst currentTemplateId = getCurrentTemplateId();\n\t\tconst template = currentTemplateId\n\t\t\t? getEditedEntityRecord(\n\t\t\t\t\t'postType',\n\t\t\t\t\tTEMPLATE_POST_TYPE,\n\t\t\t\t\tcurrentTemplateId\n\t\t\t )\n\t\t\t: undefined;\n\n\t\treturn {\n\t\t\trenderingMode: _renderingMode,\n\t\t\tpostContentAttributes: editorSettings.postContentAttributes,\n\t\t\tisDesignPostType: DESIGN_POST_TYPES.includes( postTypeSlug ),\n\t\t\t// Post template fetch returns a 404 on classic themes, which\n\t\t\t// messes with e2e tests, so check it's a block theme first.\n\t\t\teditedPostTemplate:\n\t\t\t\tpostTypeObject?.viewable &&\n\t\t\t\tsupportsTemplateMode &&\n\t\t\t\tcanEditTemplate\n\t\t\t\t\t? template\n\t\t\t\t\t: undefined,\n\t\t\twrapperBlockName: _wrapperBlockName,\n\t\t\twrapperUniqueId: getCurrentPostId(),\n\t\t\tdeviceType: getDeviceType(),\n\t\t\tisFocusedEntity: !! editorSettings.onNavigateToPreviousEntityRecord,\n\t\t\tpostType: postTypeSlug,\n\t\t\tisPreview: editorSettings.__unstableIsPreviewMode,\n\t\t};\n\t}, [] );\n\tconst { isCleanNewPost } = useSelect( editorStore );\n\tconst {\n\t\thasRootPaddingAwareAlignments,\n\t\tthemeHasDisabledLayoutStyles,\n\t\tthemeSupportsLayout,\n\t\tisZoomOutMode,\n\t} = useSelect( ( select ) => {\n\t\tconst { getSettings, __unstableGetEditorMode } =\n\t\t\tselect( blockEditorStore );\n\t\tconst _settings = getSettings();\n\t\treturn {\n\t\t\tthemeHasDisabledLayoutStyles: _settings.disableLayoutStyles,\n\t\t\tthemeSupportsLayout: _settings.supportsLayout,\n\t\t\thasRootPaddingAwareAlignments:\n\t\t\t\t_settings.__experimentalFeatures?.useRootPaddingAwareAlignments,\n\t\t\tisZoomOutMode: __unstableGetEditorMode() === 'zoom-out',\n\t\t};\n\t}, [] );\n\n\tconst deviceStyles = useResizeCanvas( deviceType );\n\tconst [ globalLayoutSettings ] = useSettings( 'layout' );\n\n\t// fallbackLayout is used if there is no Post Content,\n\t// and for Post Title.\n\tconst fallbackLayout = useMemo( () => {\n\t\tif ( renderingMode !== 'post-only' || isDesignPostType ) {\n\t\t\treturn { type: 'default' };\n\t\t}\n\n\t\tif ( themeSupportsLayout ) {\n\t\t\t// We need to ensure support for wide and full alignments,\n\t\t\t// so we add the constrained type.\n\t\t\treturn { ...globalLayoutSettings, type: 'constrained' };\n\t\t}\n\t\t// Set default layout for classic themes so all alignments are supported.\n\t\treturn { type: 'default' };\n\t}, [\n\t\trenderingMode,\n\t\tthemeSupportsLayout,\n\t\tglobalLayoutSettings,\n\t\tisDesignPostType,\n\t] );\n\n\tconst newestPostContentAttributes = useMemo( () => {\n\t\tif (\n\t\t\t! editedPostTemplate?.content &&\n\t\t\t! editedPostTemplate?.blocks &&\n\t\t\tpostContentAttributes\n\t\t) {\n\t\t\treturn postContentAttributes;\n\t\t}\n\t\t// When in template editing mode, we can access the blocks directly.\n\t\tif ( editedPostTemplate?.blocks ) {\n\t\t\treturn getPostContentAttributes( editedPostTemplate?.blocks );\n\t\t}\n\t\t// If there are no blocks, we have to parse the content string.\n\t\t// Best double-check it's a string otherwise the parse function gets unhappy.\n\t\tconst parseableContent =\n\t\t\ttypeof editedPostTemplate?.content === 'string'\n\t\t\t\t? editedPostTemplate?.content\n\t\t\t\t: '';\n\n\t\treturn getPostContentAttributes( parse( parseableContent ) ) || {};\n\t}, [\n\t\teditedPostTemplate?.content,\n\t\teditedPostTemplate?.blocks,\n\t\tpostContentAttributes,\n\t] );\n\n\tconst hasPostContentAtRootLevel = useMemo( () => {\n\t\tif ( ! editedPostTemplate?.content && ! editedPostTemplate?.blocks ) {\n\t\t\treturn false;\n\t\t}\n\t\t// When in template editing mode, we can access the blocks directly.\n\t\tif ( editedPostTemplate?.blocks ) {\n\t\t\treturn checkForPostContentAtRootLevel( editedPostTemplate?.blocks );\n\t\t}\n\t\t// If there are no blocks, we have to parse the content string.\n\t\t// Best double-check it's a string otherwise the parse function gets unhappy.\n\t\tconst parseableContent =\n\t\t\ttypeof editedPostTemplate?.content === 'string'\n\t\t\t\t? editedPostTemplate?.content\n\t\t\t\t: '';\n\n\t\treturn (\n\t\t\tcheckForPostContentAtRootLevel( parse( parseableContent ) ) || false\n\t\t);\n\t}, [ editedPostTemplate?.content, editedPostTemplate?.blocks ] );\n\n\tconst { layout = {}, align = '' } = newestPostContentAttributes || {};\n\n\tconst postContentLayoutClasses = useLayoutClasses(\n\t\tnewestPostContentAttributes,\n\t\t'core/post-content'\n\t);\n\n\tconst blockListLayoutClass = clsx(\n\t\t{\n\t\t\t'is-layout-flow': ! themeSupportsLayout,\n\t\t},\n\t\tthemeSupportsLayout && postContentLayoutClasses,\n\t\talign && `align${ align }`\n\t);\n\n\tconst postContentLayoutStyles = useLayoutStyles(\n\t\tnewestPostContentAttributes,\n\t\t'core/post-content',\n\t\t'.block-editor-block-list__layout.is-root-container'\n\t);\n\n\t// Update type for blocks using legacy layouts.\n\tconst postContentLayout = useMemo( () => {\n\t\treturn layout &&\n\t\t\t( layout?.type === 'constrained' ||\n\t\t\t\tlayout?.inherit ||\n\t\t\t\tlayout?.contentSize ||\n\t\t\t\tlayout?.wideSize )\n\t\t\t? { ...globalLayoutSettings, ...layout, type: 'constrained' }\n\t\t\t: { ...globalLayoutSettings, ...layout, type: 'default' };\n\t}, [\n\t\tlayout?.type,\n\t\tlayout?.inherit,\n\t\tlayout?.contentSize,\n\t\tlayout?.wideSize,\n\t\tglobalLayoutSettings,\n\t] );\n\n\t// If there is a Post Content block we use its layout for the block list;\n\t// if not, this must be a classic theme, in which case we use the fallback layout.\n\tconst blockListLayout = postContentAttributes\n\t\t? postContentLayout\n\t\t: fallbackLayout;\n\n\tconst postEditorLayout =\n\t\tblockListLayout?.type === 'default' && ! hasPostContentAtRootLevel\n\t\t\t? fallbackLayout\n\t\t\t: blockListLayout;\n\tconst observeTypingRef = useTypingObserver();\n\tconst titleRef = useRef();\n\tuseEffect( () => {\n\t\tif ( ! autoFocus || ! isCleanNewPost() ) {\n\t\t\treturn;\n\t\t}\n\t\ttitleRef?.current?.focus();\n\t}, [ autoFocus, isCleanNewPost ] );\n\n\t// Add some styles for alignwide/alignfull Post Content and its children.\n\tconst alignCSS = `.is-root-container.alignwide { max-width: var(--wp--style--global--wide-size); margin-left: auto; margin-right: auto;}\n\t\t.is-root-container.alignwide:where(.is-layout-flow) > :not(.alignleft):not(.alignright) { max-width: var(--wp--style--global--wide-size);}\n\t\t.is-root-container.alignfull { max-width: none; margin-left: auto; margin-right: auto;}\n\t\t.is-root-container.alignfull:where(.is-layout-flow) > :not(.alignleft):not(.alignright) { max-width: none;}`;\n\n\tconst localRef = useRef();\n\tconst typewriterRef = useTypewriter();\n\tcontentRef = useMergeRefs( [\n\t\tlocalRef,\n\t\tcontentRef,\n\t\trenderingMode === 'post-only' ? typewriterRef : null,\n\t\tuseFlashEditableBlocks( {\n\t\t\tisEnabled: renderingMode === 'template-locked',\n\t\t} ),\n\t\tuseSelectNearestEditableBlock( {\n\t\t\tisEnabled: renderingMode === 'template-locked',\n\t\t} ),\n\t] );\n\n\tconst zoomOutProps = isZoomOutMode\n\t\t? {\n\t\t\t\tscale: 'default',\n\t\t\t\tframeSize: '20px',\n\t\t }\n\t\t: {};\n\n\tconst forceFullHeight = postType === NAVIGATION_POST_TYPE;\n\tconst enableResizing =\n\t\t[\n\t\t\tNAVIGATION_POST_TYPE,\n\t\t\tTEMPLATE_PART_POST_TYPE,\n\t\t\tPATTERN_POST_TYPE,\n\t\t].includes( postType ) &&\n\t\t// Disable in previews / view mode.\n\t\t! isPreview &&\n\t\t// Disable resizing in mobile viewport.\n\t\t! isMobileViewport &&\n\t\t// Dsiable resizing in zoomed-out mode.\n\t\t! isZoomOutMode;\n\tconst shouldIframe =\n\t\t! disableIframe || [ 'Tablet', 'Mobile' ].includes( deviceType );\n\n\tconst iframeStyles = useMemo( () => {\n\t\treturn [\n\t\t\t...( styles ?? [] ),\n\t\t\t{\n\t\t\t\tcss: `.is-root-container{display:flow-root;${\n\t\t\t\t\t// Some themes will have `min-height: 100vh` for the root container,\n\t\t\t\t\t// which isn't a requirement in auto resize mode.\n\t\t\t\t\tenableResizing ? 'min-height:0!important;' : ''\n\t\t\t\t}}`,\n\t\t\t},\n\t\t];\n\t}, [ styles, enableResizing ] );\n\n\treturn (\n\t\t<div\n\t\t\tclassName={ clsx(\n\t\t\t\t'editor-visual-editor',\n\t\t\t\t// this class is here for backward compatibility reasons.\n\t\t\t\t'edit-post-visual-editor',\n\t\t\t\tclassName,\n\t\t\t\t{\n\t\t\t\t\t'has-padding': isFocusedEntity || enableResizing,\n\t\t\t\t\t'is-resizable': enableResizing,\n\t\t\t\t\t'is-iframed': shouldIframe,\n\t\t\t\t}\n\t\t\t) }\n\t\t>\n\t\t\t<ResizableEditor\n\t\t\t\tenableResizing={ enableResizing }\n\t\t\t\theight={\n\t\t\t\t\tsizes.height && ! forceFullHeight ? sizes.height : '100%'\n\t\t\t\t}\n\t\t\t>\n\t\t\t\t<BlockCanvas\n\t\t\t\t\tshouldIframe={ shouldIframe }\n\t\t\t\t\tcontentRef={ contentRef }\n\t\t\t\t\tstyles={ iframeStyles }\n\t\t\t\t\theight=\"100%\"\n\t\t\t\t\tiframeProps={ {\n\t\t\t\t\t\t...iframeProps,\n\t\t\t\t\t\t...zoomOutProps,\n\t\t\t\t\t\tstyle: {\n\t\t\t\t\t\t\t...iframeProps?.style,\n\t\t\t\t\t\t\t...deviceStyles,\n\t\t\t\t\t\t},\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t{ themeSupportsLayout &&\n\t\t\t\t\t\t! themeHasDisabledLayoutStyles &&\n\t\t\t\t\t\trenderingMode === 'post-only' &&\n\t\t\t\t\t\t! isDesignPostType && (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<LayoutStyle\n\t\t\t\t\t\t\t\t\tselector=\".editor-visual-editor__post-title-wrapper\"\n\t\t\t\t\t\t\t\t\tlayout={ fallbackLayout }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<LayoutStyle\n\t\t\t\t\t\t\t\t\tselector=\".block-editor-block-list__layout.is-root-container\"\n\t\t\t\t\t\t\t\t\tlayout={ postEditorLayout }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t{ align && <LayoutStyle css={ alignCSS } /> }\n\t\t\t\t\t\t\t\t{ postContentLayoutStyles && (\n\t\t\t\t\t\t\t\t\t<LayoutStyle\n\t\t\t\t\t\t\t\t\t\tlayout={ postContentLayout }\n\t\t\t\t\t\t\t\t\t\tcss={ postContentLayoutStyles }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t) }\n\t\t\t\t\t{ renderingMode === 'post-only' && ! isDesignPostType && (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t\t'editor-visual-editor__post-title-wrapper',\n\t\t\t\t\t\t\t\t// The following class is only here for backward comapatibility\n\t\t\t\t\t\t\t\t// some themes might be using it to style the post title.\n\t\t\t\t\t\t\t\t'edit-post-visual-editor__post-title-wrapper',\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t'has-global-padding':\n\t\t\t\t\t\t\t\t\t\thasRootPaddingAwareAlignments,\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tcontentEditable={ false }\n\t\t\t\t\t\t\tref={ observeTypingRef }\n\t\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\t\t// This is using inline styles\n\t\t\t\t\t\t\t\t// so it's applied for both iframed and non iframed editors.\n\t\t\t\t\t\t\t\tmarginTop: '4rem',\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<PostTitle ref={ titleRef } />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) }\n\t\t\t\t\t<RecursionProvider\n\t\t\t\t\t\tblockName={ wrapperBlockName }\n\t\t\t\t\t\tuniqueId={ wrapperUniqueId }\n\t\t\t\t\t>\n\t\t\t\t\t\t<BlockList\n\t\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t\t'is-' + deviceType.toLowerCase() + '-preview',\n\t\t\t\t\t\t\t\trenderingMode !== 'post-only' ||\n\t\t\t\t\t\t\t\t\tisDesignPostType\n\t\t\t\t\t\t\t\t\t? 'wp-site-blocks'\n\t\t\t\t\t\t\t\t\t: `${ blockListLayoutClass } wp-block-post-content` // Ensure root level blocks receive default/flow blockGap styling rules.\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tlayout={ blockListLayout }\n\t\t\t\t\t\t\tdropZoneElement={\n\t\t\t\t\t\t\t\t// When iframed, pass in the html element of the iframe to\n\t\t\t\t\t\t\t\t// ensure the drop zone extends to the edges of the iframe.\n\t\t\t\t\t\t\t\tdisableIframe\n\t\t\t\t\t\t\t\t\t? localRef.current\n\t\t\t\t\t\t\t\t\t: localRef.current?.parentNode\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t__unstableDisableDropZone={\n\t\t\t\t\t\t\t\t// In template preview mode, disable drop zones at the root of the template.\n\t\t\t\t\t\t\t\trenderingMode === 'template-locked'\n\t\t\t\t\t\t\t\t\t? true\n\t\t\t\t\t\t\t\t\t: false\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t{ renderingMode === 'template-locked' && (\n\t\t\t\t\t\t\t<EditTemplateBlocksNotification\n\t\t\t\t\t\t\t\tcontentRef={ localRef }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</RecursionProvider>\n\t\t\t\t\t{\n\t\t\t\t\t\t// Avoid resize listeners when not needed,\n\t\t\t\t\t\t// these will trigger unnecessary re-renders\n\t\t\t\t\t\t// when animating the iframe width.\n\t\t\t\t\t\tenableResizing && resizeObserver\n\t\t\t\t\t}\n\t\t\t\t</BlockCanvas>\n\t\t\t</ResizableEditor>\n\t\t</div>\n\t);\n}\n\nexport default VisualEditor;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["clsx","BlockList","store","blockEditorStore","__unstableUseTypewriter","useTypewriter","__unstableUseTypingObserver","useTypingObserver","useSettings","RecursionProvider","privateApis","blockEditorPrivateApis","__experimentalUseResizeCanvas","useResizeCanvas","useEffect","useRef","useMemo","useSelect","parse","coreStore","useMergeRefs","useViewportMatch","useResizeObserver","PostTitle","editorStore","unlock","EditTemplateBlocksNotification","ResizableEditor","useSelectNearestEditableBlock","NAVIGATION_POST_TYPE","PATTERN_POST_TYPE","TEMPLATE_PART_POST_TYPE","TEMPLATE_POST_TYPE","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","LayoutStyle","useLayoutClasses","useLayoutStyles","ExperimentalBlockCanvas","BlockCanvas","useFlashEditableBlocks","DESIGN_POST_TYPES","getPostContentAttributes","blocks","i","length","name","attributes","innerBlocks","nestedPostContent","checkForPostContentAtRootLevel","VisualEditor","autoFocus","styles","disableIframe","iframeProps","contentRef","className","resizeObserver","sizes","isMobileViewport","renderingMode","postContentAttributes","editedPostTemplate","wrapperBlockName","wrapperUniqueId","deviceType","isFocusedEntity","isDesignPostType","postType","isPreview","select","getCurrentPostId","getCurrentPostType","getCurrentTemplateId","getEditorSettings","getRenderingMode","getDeviceType","getPostType","canUser","getEditedEntityRecord","postTypeSlug","_renderingMode","_wrapperBlockName","editorSettings","supportsTemplateMode","postTypeObject","canEditTemplate","currentTemplateId","template","undefined","includes","viewable","onNavigateToPreviousEntityRecord","__unstableIsPreviewMode","isCleanNewPost","hasRootPaddingAwareAlignments","themeHasDisabledLayoutStyles","themeSupportsLayout","isZoomOutMode","getSettings","__unstableGetEditorMode","_settings","disableLayoutStyles","supportsLayout","__experimentalFeatures","useRootPaddingAwareAlignments","deviceStyles","globalLayoutSettings","fallbackLayout","type","newestPostContentAttributes","content","parseableContent","hasPostContentAtRootLevel","layout","align","postContentLayoutClasses","blockListLayoutClass","postContentLayoutStyles","postContentLayout","inherit","contentSize","wideSize","blockListLayout","postEditorLayout","observeTypingRef","titleRef","current","focus","alignCSS","localRef","typewriterRef","isEnabled","zoomOutProps","scale","frameSize","forceFullHeight","enableResizing","shouldIframe","iframeStyles","css","children","height","style","selector","contentEditable","ref","marginTop","blockName","uniqueId","toLowerCase","dropZoneElement","parentNode","__unstableDisableDropZone"],"sources":["@wordpress/editor/src/components/visual-editor/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tBlockList,\n\tstore as blockEditorStore,\n\t__unstableUseTypewriter as useTypewriter,\n\t__unstableUseTypingObserver as useTypingObserver,\n\tuseSettings,\n\tRecursionProvider,\n\tprivateApis as blockEditorPrivateApis,\n\t__experimentalUseResizeCanvas as useResizeCanvas,\n} from '@wordpress/block-editor';\nimport { useEffect, useRef, useMemo } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\nimport { parse } from '@wordpress/blocks';\nimport { store as coreStore } from '@wordpress/core-data';\nimport {\n\tuseMergeRefs,\n\tuseViewportMatch,\n\tuseResizeObserver,\n} from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport PostTitle from '../post-title';\nimport { store as editorStore } from '../../store';\nimport { unlock } from '../../lock-unlock';\nimport EditTemplateBlocksNotification from './edit-template-blocks-notification';\nimport ResizableEditor from '../resizable-editor';\nimport useSelectNearestEditableBlock from '../../hooks/use-select-nearest-editable-block';\nimport {\n\tNAVIGATION_POST_TYPE,\n\tPATTERN_POST_TYPE,\n\tTEMPLATE_PART_POST_TYPE,\n\tTEMPLATE_POST_TYPE,\n} from '../../store/constants';\n\nconst {\n\tLayoutStyle,\n\tuseLayoutClasses,\n\tuseLayoutStyles,\n\tExperimentalBlockCanvas: BlockCanvas,\n\tuseFlashEditableBlocks,\n} = unlock( blockEditorPrivateApis );\n\n/**\n * These post types have a special editor where they don't allow you to fill the title\n * and they don't apply the layout styles.\n */\nconst DESIGN_POST_TYPES = [\n\tPATTERN_POST_TYPE,\n\tTEMPLATE_POST_TYPE,\n\tNAVIGATION_POST_TYPE,\n\tTEMPLATE_PART_POST_TYPE,\n];\n\n/**\n * Given an array of nested blocks, find the first Post Content\n * block inside it, recursing through any nesting levels,\n * and return its attributes.\n *\n * @param {Array} blocks A list of blocks.\n *\n * @return {Object | undefined} The Post Content block.\n */\nfunction getPostContentAttributes( blocks ) {\n\tfor ( let i = 0; i < blocks.length; i++ ) {\n\t\tif ( blocks[ i ].name === 'core/post-content' ) {\n\t\t\treturn blocks[ i ].attributes;\n\t\t}\n\t\tif ( blocks[ i ].innerBlocks.length ) {\n\t\t\tconst nestedPostContent = getPostContentAttributes(\n\t\t\t\tblocks[ i ].innerBlocks\n\t\t\t);\n\n\t\t\tif ( nestedPostContent ) {\n\t\t\t\treturn nestedPostContent;\n\t\t\t}\n\t\t}\n\t}\n}\n\nfunction checkForPostContentAtRootLevel( blocks ) {\n\tfor ( let i = 0; i < blocks.length; i++ ) {\n\t\tif ( blocks[ i ].name === 'core/post-content' ) {\n\t\t\treturn true;\n\t\t}\n\t}\n\treturn false;\n}\n\nfunction VisualEditor( {\n\t// Ideally as we unify post and site editors, we won't need these props.\n\tautoFocus,\n\tstyles,\n\tdisableIframe = false,\n\tiframeProps,\n\tcontentRef,\n\tclassName,\n} ) {\n\tconst [ resizeObserver, sizes ] = useResizeObserver();\n\tconst isMobileViewport = useViewportMatch( 'small', '<' );\n\tconst {\n\t\trenderingMode,\n\t\tpostContentAttributes,\n\t\teditedPostTemplate = {},\n\t\twrapperBlockName,\n\t\twrapperUniqueId,\n\t\tdeviceType,\n\t\tisFocusedEntity,\n\t\tisDesignPostType,\n\t\tpostType,\n\t\tisPreview,\n\t} = useSelect( ( select ) => {\n\t\tconst {\n\t\t\tgetCurrentPostId,\n\t\t\tgetCurrentPostType,\n\t\t\tgetCurrentTemplateId,\n\t\t\tgetEditorSettings,\n\t\t\tgetRenderingMode,\n\t\t\tgetDeviceType,\n\t\t} = select( editorStore );\n\t\tconst { getPostType, canUser, getEditedEntityRecord } =\n\t\t\tselect( coreStore );\n\t\tconst postTypeSlug = getCurrentPostType();\n\t\tconst _renderingMode = getRenderingMode();\n\t\tlet _wrapperBlockName;\n\n\t\tif ( postTypeSlug === PATTERN_POST_TYPE ) {\n\t\t\t_wrapperBlockName = 'core/block';\n\t\t} else if ( _renderingMode === 'post-only' ) {\n\t\t\t_wrapperBlockName = 'core/post-content';\n\t\t}\n\n\t\tconst editorSettings = getEditorSettings();\n\t\tconst supportsTemplateMode = editorSettings.supportsTemplateMode;\n\t\tconst postTypeObject = getPostType( postTypeSlug );\n\t\tconst canEditTemplate = canUser( 'create', 'templates' );\n\t\tconst currentTemplateId = getCurrentTemplateId();\n\t\tconst template = currentTemplateId\n\t\t\t? getEditedEntityRecord(\n\t\t\t\t\t'postType',\n\t\t\t\t\tTEMPLATE_POST_TYPE,\n\t\t\t\t\tcurrentTemplateId\n\t\t\t )\n\t\t\t: undefined;\n\n\t\treturn {\n\t\t\trenderingMode: _renderingMode,\n\t\t\tpostContentAttributes: editorSettings.postContentAttributes,\n\t\t\tisDesignPostType: DESIGN_POST_TYPES.includes( postTypeSlug ),\n\t\t\t// Post template fetch returns a 404 on classic themes, which\n\t\t\t// messes with e2e tests, so check it's a block theme first.\n\t\t\teditedPostTemplate:\n\t\t\t\tpostTypeObject?.viewable &&\n\t\t\t\tsupportsTemplateMode &&\n\t\t\t\tcanEditTemplate\n\t\t\t\t\t? template\n\t\t\t\t\t: undefined,\n\t\t\twrapperBlockName: _wrapperBlockName,\n\t\t\twrapperUniqueId: getCurrentPostId(),\n\t\t\tdeviceType: getDeviceType(),\n\t\t\tisFocusedEntity: !! editorSettings.onNavigateToPreviousEntityRecord,\n\t\t\tpostType: postTypeSlug,\n\t\t\tisPreview: editorSettings.__unstableIsPreviewMode,\n\t\t};\n\t}, [] );\n\tconst { isCleanNewPost } = useSelect( editorStore );\n\tconst {\n\t\thasRootPaddingAwareAlignments,\n\t\tthemeHasDisabledLayoutStyles,\n\t\tthemeSupportsLayout,\n\t\tisZoomOutMode,\n\t} = useSelect( ( select ) => {\n\t\tconst { getSettings, __unstableGetEditorMode } =\n\t\t\tselect( blockEditorStore );\n\t\tconst _settings = getSettings();\n\t\treturn {\n\t\t\tthemeHasDisabledLayoutStyles: _settings.disableLayoutStyles,\n\t\t\tthemeSupportsLayout: _settings.supportsLayout,\n\t\t\thasRootPaddingAwareAlignments:\n\t\t\t\t_settings.__experimentalFeatures?.useRootPaddingAwareAlignments,\n\t\t\tisZoomOutMode: __unstableGetEditorMode() === 'zoom-out',\n\t\t};\n\t}, [] );\n\n\tconst deviceStyles = useResizeCanvas( deviceType );\n\tconst [ globalLayoutSettings ] = useSettings( 'layout' );\n\n\t// fallbackLayout is used if there is no Post Content,\n\t// and for Post Title.\n\tconst fallbackLayout = useMemo( () => {\n\t\tif ( renderingMode !== 'post-only' || isDesignPostType ) {\n\t\t\treturn { type: 'default' };\n\t\t}\n\n\t\tif ( themeSupportsLayout ) {\n\t\t\t// We need to ensure support for wide and full alignments,\n\t\t\t// so we add the constrained type.\n\t\t\treturn { ...globalLayoutSettings, type: 'constrained' };\n\t\t}\n\t\t// Set default layout for classic themes so all alignments are supported.\n\t\treturn { type: 'default' };\n\t}, [\n\t\trenderingMode,\n\t\tthemeSupportsLayout,\n\t\tglobalLayoutSettings,\n\t\tisDesignPostType,\n\t] );\n\n\tconst newestPostContentAttributes = useMemo( () => {\n\t\tif (\n\t\t\t! editedPostTemplate?.content &&\n\t\t\t! editedPostTemplate?.blocks &&\n\t\t\tpostContentAttributes\n\t\t) {\n\t\t\treturn postContentAttributes;\n\t\t}\n\t\t// When in template editing mode, we can access the blocks directly.\n\t\tif ( editedPostTemplate?.blocks ) {\n\t\t\treturn getPostContentAttributes( editedPostTemplate?.blocks );\n\t\t}\n\t\t// If there are no blocks, we have to parse the content string.\n\t\t// Best double-check it's a string otherwise the parse function gets unhappy.\n\t\tconst parseableContent =\n\t\t\ttypeof editedPostTemplate?.content === 'string'\n\t\t\t\t? editedPostTemplate?.content\n\t\t\t\t: '';\n\n\t\treturn getPostContentAttributes( parse( parseableContent ) ) || {};\n\t}, [\n\t\teditedPostTemplate?.content,\n\t\teditedPostTemplate?.blocks,\n\t\tpostContentAttributes,\n\t] );\n\n\tconst hasPostContentAtRootLevel = useMemo( () => {\n\t\tif ( ! editedPostTemplate?.content && ! editedPostTemplate?.blocks ) {\n\t\t\treturn false;\n\t\t}\n\t\t// When in template editing mode, we can access the blocks directly.\n\t\tif ( editedPostTemplate?.blocks ) {\n\t\t\treturn checkForPostContentAtRootLevel( editedPostTemplate?.blocks );\n\t\t}\n\t\t// If there are no blocks, we have to parse the content string.\n\t\t// Best double-check it's a string otherwise the parse function gets unhappy.\n\t\tconst parseableContent =\n\t\t\ttypeof editedPostTemplate?.content === 'string'\n\t\t\t\t? editedPostTemplate?.content\n\t\t\t\t: '';\n\n\t\treturn (\n\t\t\tcheckForPostContentAtRootLevel( parse( parseableContent ) ) || false\n\t\t);\n\t}, [ editedPostTemplate?.content, editedPostTemplate?.blocks ] );\n\n\tconst { layout = {}, align = '' } = newestPostContentAttributes || {};\n\n\tconst postContentLayoutClasses = useLayoutClasses(\n\t\tnewestPostContentAttributes,\n\t\t'core/post-content'\n\t);\n\n\tconst blockListLayoutClass = clsx(\n\t\t{\n\t\t\t'is-layout-flow': ! themeSupportsLayout,\n\t\t},\n\t\tthemeSupportsLayout && postContentLayoutClasses,\n\t\talign && `align${ align }`\n\t);\n\n\tconst postContentLayoutStyles = useLayoutStyles(\n\t\tnewestPostContentAttributes,\n\t\t'core/post-content',\n\t\t'.block-editor-block-list__layout.is-root-container'\n\t);\n\n\t// Update type for blocks using legacy layouts.\n\tconst postContentLayout = useMemo( () => {\n\t\treturn layout &&\n\t\t\t( layout?.type === 'constrained' ||\n\t\t\t\tlayout?.inherit ||\n\t\t\t\tlayout?.contentSize ||\n\t\t\t\tlayout?.wideSize )\n\t\t\t? { ...globalLayoutSettings, ...layout, type: 'constrained' }\n\t\t\t: { ...globalLayoutSettings, ...layout, type: 'default' };\n\t}, [\n\t\tlayout?.type,\n\t\tlayout?.inherit,\n\t\tlayout?.contentSize,\n\t\tlayout?.wideSize,\n\t\tglobalLayoutSettings,\n\t] );\n\n\t// If there is a Post Content block we use its layout for the block list;\n\t// if not, this must be a classic theme, in which case we use the fallback layout.\n\tconst blockListLayout = postContentAttributes\n\t\t? postContentLayout\n\t\t: fallbackLayout;\n\n\tconst postEditorLayout =\n\t\tblockListLayout?.type === 'default' && ! hasPostContentAtRootLevel\n\t\t\t? fallbackLayout\n\t\t\t: blockListLayout;\n\tconst observeTypingRef = useTypingObserver();\n\tconst titleRef = useRef();\n\tuseEffect( () => {\n\t\tif ( ! autoFocus || ! isCleanNewPost() ) {\n\t\t\treturn;\n\t\t}\n\t\ttitleRef?.current?.focus();\n\t}, [ autoFocus, isCleanNewPost ] );\n\n\t// Add some styles for alignwide/alignfull Post Content and its children.\n\tconst alignCSS = `.is-root-container.alignwide { max-width: var(--wp--style--global--wide-size); margin-left: auto; margin-right: auto;}\n\t\t.is-root-container.alignwide:where(.is-layout-flow) > :not(.alignleft):not(.alignright) { max-width: var(--wp--style--global--wide-size);}\n\t\t.is-root-container.alignfull { max-width: none; margin-left: auto; margin-right: auto;}\n\t\t.is-root-container.alignfull:where(.is-layout-flow) > :not(.alignleft):not(.alignright) { max-width: none;}`;\n\n\tconst localRef = useRef();\n\tconst typewriterRef = useTypewriter();\n\tcontentRef = useMergeRefs( [\n\t\tlocalRef,\n\t\tcontentRef,\n\t\trenderingMode === 'post-only' ? typewriterRef : null,\n\t\tuseFlashEditableBlocks( {\n\t\t\tisEnabled: renderingMode === 'template-locked',\n\t\t} ),\n\t\tuseSelectNearestEditableBlock( {\n\t\t\tisEnabled: renderingMode === 'template-locked',\n\t\t} ),\n\t] );\n\n\tconst zoomOutProps = isZoomOutMode\n\t\t? {\n\t\t\t\tscale: 'default',\n\t\t\t\tframeSize: '48px',\n\t\t }\n\t\t: {};\n\n\tconst forceFullHeight = postType === NAVIGATION_POST_TYPE;\n\tconst enableResizing =\n\t\t[\n\t\t\tNAVIGATION_POST_TYPE,\n\t\t\tTEMPLATE_PART_POST_TYPE,\n\t\t\tPATTERN_POST_TYPE,\n\t\t].includes( postType ) &&\n\t\t// Disable in previews / view mode.\n\t\t! isPreview &&\n\t\t// Disable resizing in mobile viewport.\n\t\t! isMobileViewport &&\n\t\t// Dsiable resizing in zoomed-out mode.\n\t\t! isZoomOutMode;\n\tconst shouldIframe =\n\t\t! disableIframe || [ 'Tablet', 'Mobile' ].includes( deviceType );\n\n\tconst iframeStyles = useMemo( () => {\n\t\treturn [\n\t\t\t...( styles ?? [] ),\n\t\t\t{\n\t\t\t\tcss: `.is-root-container{display:flow-root;${\n\t\t\t\t\t// Some themes will have `min-height: 100vh` for the root container,\n\t\t\t\t\t// which isn't a requirement in auto resize mode.\n\t\t\t\t\tenableResizing ? 'min-height:0!important;' : ''\n\t\t\t\t}}`,\n\t\t\t},\n\t\t];\n\t}, [ styles, enableResizing ] );\n\n\treturn (\n\t\t<div\n\t\t\tclassName={ clsx(\n\t\t\t\t'editor-visual-editor',\n\t\t\t\t// this class is here for backward compatibility reasons.\n\t\t\t\t'edit-post-visual-editor',\n\t\t\t\tclassName,\n\t\t\t\t{\n\t\t\t\t\t'has-padding': isFocusedEntity || enableResizing,\n\t\t\t\t\t'is-resizable': enableResizing,\n\t\t\t\t\t'is-iframed': shouldIframe,\n\t\t\t\t}\n\t\t\t) }\n\t\t>\n\t\t\t<ResizableEditor\n\t\t\t\tenableResizing={ enableResizing }\n\t\t\t\theight={\n\t\t\t\t\tsizes.height && ! forceFullHeight ? sizes.height : '100%'\n\t\t\t\t}\n\t\t\t>\n\t\t\t\t<BlockCanvas\n\t\t\t\t\tshouldIframe={ shouldIframe }\n\t\t\t\t\tcontentRef={ contentRef }\n\t\t\t\t\tstyles={ iframeStyles }\n\t\t\t\t\theight=\"100%\"\n\t\t\t\t\tiframeProps={ {\n\t\t\t\t\t\t...iframeProps,\n\t\t\t\t\t\t...zoomOutProps,\n\t\t\t\t\t\tstyle: {\n\t\t\t\t\t\t\t...iframeProps?.style,\n\t\t\t\t\t\t\t...deviceStyles,\n\t\t\t\t\t\t},\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t{ themeSupportsLayout &&\n\t\t\t\t\t\t! themeHasDisabledLayoutStyles &&\n\t\t\t\t\t\trenderingMode === 'post-only' &&\n\t\t\t\t\t\t! isDesignPostType && (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<LayoutStyle\n\t\t\t\t\t\t\t\t\tselector=\".editor-visual-editor__post-title-wrapper\"\n\t\t\t\t\t\t\t\t\tlayout={ fallbackLayout }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<LayoutStyle\n\t\t\t\t\t\t\t\t\tselector=\".block-editor-block-list__layout.is-root-container\"\n\t\t\t\t\t\t\t\t\tlayout={ postEditorLayout }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t{ align && <LayoutStyle css={ alignCSS } /> }\n\t\t\t\t\t\t\t\t{ postContentLayoutStyles && (\n\t\t\t\t\t\t\t\t\t<LayoutStyle\n\t\t\t\t\t\t\t\t\t\tlayout={ postContentLayout }\n\t\t\t\t\t\t\t\t\t\tcss={ postContentLayoutStyles }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t) }\n\t\t\t\t\t{ renderingMode === 'post-only' && ! isDesignPostType && (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t\t'editor-visual-editor__post-title-wrapper',\n\t\t\t\t\t\t\t\t// The following class is only here for backward comapatibility\n\t\t\t\t\t\t\t\t// some themes might be using it to style the post title.\n\t\t\t\t\t\t\t\t'edit-post-visual-editor__post-title-wrapper',\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t'has-global-padding':\n\t\t\t\t\t\t\t\t\t\thasRootPaddingAwareAlignments,\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tcontentEditable={ false }\n\t\t\t\t\t\t\tref={ observeTypingRef }\n\t\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\t\t// This is using inline styles\n\t\t\t\t\t\t\t\t// so it's applied for both iframed and non iframed editors.\n\t\t\t\t\t\t\t\tmarginTop: '4rem',\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<PostTitle ref={ titleRef } />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) }\n\t\t\t\t\t<RecursionProvider\n\t\t\t\t\t\tblockName={ wrapperBlockName }\n\t\t\t\t\t\tuniqueId={ wrapperUniqueId }\n\t\t\t\t\t>\n\t\t\t\t\t\t<BlockList\n\t\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t\t'is-' + deviceType.toLowerCase() + '-preview',\n\t\t\t\t\t\t\t\trenderingMode !== 'post-only' ||\n\t\t\t\t\t\t\t\t\tisDesignPostType\n\t\t\t\t\t\t\t\t\t? 'wp-site-blocks'\n\t\t\t\t\t\t\t\t\t: `${ blockListLayoutClass } wp-block-post-content` // Ensure root level blocks receive default/flow blockGap styling rules.\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tlayout={ blockListLayout }\n\t\t\t\t\t\t\tdropZoneElement={\n\t\t\t\t\t\t\t\t// When iframed, pass in the html element of the iframe to\n\t\t\t\t\t\t\t\t// ensure the drop zone extends to the edges of the iframe.\n\t\t\t\t\t\t\t\tdisableIframe\n\t\t\t\t\t\t\t\t\t? localRef.current\n\t\t\t\t\t\t\t\t\t: localRef.current?.parentNode\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t__unstableDisableDropZone={\n\t\t\t\t\t\t\t\t// In template preview mode, disable drop zones at the root of the template.\n\t\t\t\t\t\t\t\trenderingMode === 'template-locked'\n\t\t\t\t\t\t\t\t\t? true\n\t\t\t\t\t\t\t\t\t: false\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t{ renderingMode === 'template-locked' && (\n\t\t\t\t\t\t\t<EditTemplateBlocksNotification\n\t\t\t\t\t\t\t\tcontentRef={ localRef }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</RecursionProvider>\n\t\t\t\t\t{\n\t\t\t\t\t\t// Avoid resize listeners when not needed,\n\t\t\t\t\t\t// these will trigger unnecessary re-renders\n\t\t\t\t\t\t// when animating the iframe width.\n\t\t\t\t\t\tenableResizing && resizeObserver\n\t\t\t\t\t}\n\t\t\t\t</BlockCanvas>\n\t\t\t</ResizableEditor>\n\t\t</div>\n\t);\n}\n\nexport default VisualEditor;\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,87 @@
1
+ /**
2
+ * WordPress dependencies
3
+ */
4
+ import { trash } from '@wordpress/icons';
5
+ import { useDispatch } from '@wordpress/data';
6
+ import { __, _n, sprintf } from '@wordpress/i18n';
7
+ import { useState } from '@wordpress/element';
8
+ import { Button, __experimentalText as Text, __experimentalHStack as HStack, __experimentalVStack as VStack } from '@wordpress/components';
9
+ // @ts-ignore
10
+ import { privateApis as patternsPrivateApis } from '@wordpress/patterns';
11
+ /**
12
+ * Internal dependencies
13
+ */
14
+ import { isTemplateRemovable, getItemTitle, isTemplateOrTemplatePart } from './utils';
15
+ // @ts-ignore
16
+ import { store as editorStore } from '../../store';
17
+ import { unlock } from '../../lock-unlock';
18
+ import { jsx as _jsx } from "react/jsx-runtime";
19
+ import { jsxs as _jsxs } from "react/jsx-runtime";
20
+ const {
21
+ PATTERN_TYPES
22
+ } = unlock(patternsPrivateApis);
23
+
24
+ // This action is used for templates, patterns and template parts.
25
+ // Every other post type uses the similar `trashPostAction` which
26
+ // moves the post to trash.
27
+ const deletePostAction = {
28
+ id: 'delete-post',
29
+ label: __('Delete'),
30
+ isPrimary: true,
31
+ icon: trash,
32
+ isEligible(post) {
33
+ if (isTemplateOrTemplatePart(post)) {
34
+ return isTemplateRemovable(post);
35
+ }
36
+ // We can only remove user patterns.
37
+ return post.type === PATTERN_TYPES.user;
38
+ },
39
+ supportsBulk: true,
40
+ hideModalHeader: true,
41
+ RenderModal: ({
42
+ items,
43
+ closeModal,
44
+ onActionPerformed
45
+ }) => {
46
+ const [isBusy, setIsBusy] = useState(false);
47
+ const {
48
+ removeTemplates
49
+ } = unlock(useDispatch(editorStore));
50
+ return /*#__PURE__*/_jsxs(VStack, {
51
+ spacing: "5",
52
+ children: [/*#__PURE__*/_jsx(Text, {
53
+ children: items.length > 1 ? sprintf(
54
+ // translators: %d: number of items to delete.
55
+ _n('Delete %d item?', 'Delete %d items?', items.length), items.length) : sprintf(
56
+ // translators: %s: The template or template part's titles
57
+ __('Delete "%s"?'), getItemTitle(items[0]))
58
+ }), /*#__PURE__*/_jsxs(HStack, {
59
+ justify: "right",
60
+ children: [/*#__PURE__*/_jsx(Button, {
61
+ variant: "tertiary",
62
+ onClick: closeModal,
63
+ disabled: isBusy,
64
+ accessibleWhenDisabled: true,
65
+ children: __('Cancel')
66
+ }), /*#__PURE__*/_jsx(Button, {
67
+ variant: "primary",
68
+ onClick: async () => {
69
+ setIsBusy(true);
70
+ await removeTemplates(items, {
71
+ allowUndo: false
72
+ });
73
+ onActionPerformed?.(items);
74
+ setIsBusy(false);
75
+ closeModal?.();
76
+ },
77
+ isBusy: isBusy,
78
+ disabled: isBusy,
79
+ accessibleWhenDisabled: true,
80
+ children: __('Delete')
81
+ })]
82
+ })]
83
+ });
84
+ }
85
+ };
86
+ export default deletePostAction;
87
+ //# sourceMappingURL=delete-post.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["trash","useDispatch","__","_n","sprintf","useState","Button","__experimentalText","Text","__experimentalHStack","HStack","__experimentalVStack","VStack","privateApis","patternsPrivateApis","isTemplateRemovable","getItemTitle","isTemplateOrTemplatePart","store","editorStore","unlock","jsx","_jsx","jsxs","_jsxs","PATTERN_TYPES","deletePostAction","id","label","isPrimary","icon","isEligible","post","type","user","supportsBulk","hideModalHeader","RenderModal","items","closeModal","onActionPerformed","isBusy","setIsBusy","removeTemplates","spacing","children","length","justify","variant","onClick","disabled","accessibleWhenDisabled","allowUndo"],"sources":["@wordpress/editor/src/dataviews/actions/delete-post.tsx"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { trash } from '@wordpress/icons';\nimport { useDispatch } from '@wordpress/data';\nimport { __, _n, sprintf } from '@wordpress/i18n';\nimport { useState } from '@wordpress/element';\nimport {\n\tButton,\n\t__experimentalText as Text,\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\n// @ts-ignore\nimport { privateApis as patternsPrivateApis } from '@wordpress/patterns';\nimport type { Action } from '@wordpress/dataviews';\nimport type { StoreDescriptor } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport {\n\tisTemplateRemovable,\n\tgetItemTitle,\n\tisTemplateOrTemplatePart,\n} from './utils';\n// @ts-ignore\nimport { store as editorStore } from '../../store';\nimport { unlock } from '../../lock-unlock';\nimport type { Post } from '../types';\n\nconst { PATTERN_TYPES } = unlock( patternsPrivateApis );\n\n// This action is used for templates, patterns and template parts.\n// Every other post type uses the similar `trashPostAction` which\n// moves the post to trash.\nconst deletePostAction: Action< Post > = {\n\tid: 'delete-post',\n\tlabel: __( 'Delete' ),\n\tisPrimary: true,\n\ticon: trash,\n\tisEligible( post ) {\n\t\tif ( isTemplateOrTemplatePart( post ) ) {\n\t\t\treturn isTemplateRemovable( post );\n\t\t}\n\t\t// We can only remove user patterns.\n\t\treturn post.type === PATTERN_TYPES.user;\n\t},\n\tsupportsBulk: true,\n\thideModalHeader: true,\n\tRenderModal: ( { items, closeModal, onActionPerformed } ) => {\n\t\tconst [ isBusy, setIsBusy ] = useState( false );\n\t\tconst { removeTemplates } = unlock(\n\t\t\tuseDispatch( editorStore as StoreDescriptor )\n\t\t);\n\t\treturn (\n\t\t\t<VStack spacing=\"5\">\n\t\t\t\t<Text>\n\t\t\t\t\t{ items.length > 1\n\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t// translators: %d: number of items to delete.\n\t\t\t\t\t\t\t\t_n(\n\t\t\t\t\t\t\t\t\t'Delete %d item?',\n\t\t\t\t\t\t\t\t\t'Delete %d items?',\n\t\t\t\t\t\t\t\t\titems.length\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\titems.length\n\t\t\t\t\t\t )\n\t\t\t\t\t\t: sprintf(\n\t\t\t\t\t\t\t\t// translators: %s: The template or template part's titles\n\t\t\t\t\t\t\t\t__( 'Delete \"%s\"?' ),\n\t\t\t\t\t\t\t\tgetItemTitle( items[ 0 ] )\n\t\t\t\t\t\t ) }\n\t\t\t\t</Text>\n\t\t\t\t<HStack justify=\"right\">\n\t\t\t\t\t<Button\n\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\tonClick={ closeModal }\n\t\t\t\t\t\tdisabled={ isBusy }\n\t\t\t\t\t\taccessibleWhenDisabled\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t\t<Button\n\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\tonClick={ async () => {\n\t\t\t\t\t\t\tsetIsBusy( true );\n\t\t\t\t\t\t\tawait removeTemplates( items, {\n\t\t\t\t\t\t\t\tallowUndo: false,\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\tonActionPerformed?.( items );\n\t\t\t\t\t\t\tsetIsBusy( false );\n\t\t\t\t\t\t\tcloseModal?.();\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tisBusy={ isBusy }\n\t\t\t\t\t\tdisabled={ isBusy }\n\t\t\t\t\t\taccessibleWhenDisabled\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Delete' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t</HStack>\n\t\t\t</VStack>\n\t\t);\n\t},\n};\n\nexport default deletePostAction;\n"],"mappings":"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","ignoreList":[]}
@@ -9,42 +9,32 @@ import { downloadZip } from 'client-zip';
9
9
  */
10
10
  import { downloadBlob } from '@wordpress/blob';
11
11
  import { __ } from '@wordpress/i18n';
12
- import { privateApis as patternsPrivateApis } from '@wordpress/patterns';
13
12
 
14
13
  /**
15
14
  * Internal dependencies
16
15
  */
17
- import { unlock } from '../../lock-unlock';
18
16
 
19
- // Patterns.
20
- const {
21
- PATTERN_TYPES
22
- } = unlock(patternsPrivateApis);
17
+ import { getItemTitle } from './utils';
23
18
  function getJsonFromItem(item) {
24
19
  return JSON.stringify({
25
20
  __file: item.type,
26
- title: item.title || item.name,
27
- content: item.patternPost.content.raw,
28
- syncStatus: item.patternPost.wp_pattern_sync_status
21
+ title: getItemTitle(item),
22
+ content: typeof item.content === 'string' ? item.content : item.content?.raw,
23
+ syncStatus: item.wp_pattern_sync_status
29
24
  }, null, 2);
30
25
  }
31
- export const exportPatternAsJSONAction = {
26
+ const exportPattern = {
32
27
  id: 'export-pattern',
33
28
  label: __('Export as JSON'),
34
29
  supportsBulk: true,
35
- isEligible: item => {
36
- if (!item.type) {
37
- return false;
38
- }
39
- return item.type === PATTERN_TYPES.user;
40
- },
30
+ isEligible: item => item.type === 'wp_block',
41
31
  callback: async items => {
42
32
  if (items.length === 1) {
43
- return downloadBlob(`${kebabCase(items[0].title || items[0].name)}.json`, getJsonFromItem(items[0]), 'application/json');
33
+ return downloadBlob(`${kebabCase(getItemTitle(items[0]) || items[0].slug)}.json`, getJsonFromItem(items[0]), 'application/json');
44
34
  }
45
35
  const nameCount = {};
46
36
  const filesToZip = items.map(item => {
47
- const name = kebabCase(item.title || item.name);
37
+ const name = kebabCase(getItemTitle(item) || item.slug);
48
38
  nameCount[name] = (nameCount[name] || 0) + 1;
49
39
  return {
50
40
  name: `${name + (nameCount[name] > 1 ? '-' + (nameCount[name] - 1) : '')}.json`,
@@ -55,4 +45,5 @@ export const exportPatternAsJSONAction = {
55
45
  return downloadBlob(__('patterns-export') + '.zip', await downloadZip(filesToZip).blob(), 'application/zip');
56
46
  }
57
47
  };
58
- //# sourceMappingURL=export-pattern-action.js.map
48
+ export default exportPattern;
49
+ //# sourceMappingURL=export-pattern.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["paramCase","kebabCase","downloadZip","downloadBlob","__","getItemTitle","getJsonFromItem","item","JSON","stringify","__file","type","title","content","raw","syncStatus","wp_pattern_sync_status","exportPattern","id","label","supportsBulk","isEligible","callback","items","length","slug","nameCount","filesToZip","map","name","lastModified","Date","input","blob"],"sources":["@wordpress/editor/src/dataviews/actions/export-pattern.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport { paramCase as kebabCase } from 'change-case';\nimport { downloadZip } from 'client-zip';\n\n/**\n * WordPress dependencies\n */\nimport { downloadBlob } from '@wordpress/blob';\nimport { __ } from '@wordpress/i18n';\nimport type { Action } from '@wordpress/dataviews';\n\n/**\n * Internal dependencies\n */\nimport type { Pattern } from '../types';\nimport { getItemTitle } from './utils';\n\nfunction getJsonFromItem( item: Pattern ) {\n\treturn JSON.stringify(\n\t\t{\n\t\t\t__file: item.type,\n\t\t\ttitle: getItemTitle( item ),\n\t\t\tcontent:\n\t\t\t\ttypeof item.content === 'string'\n\t\t\t\t\t? item.content\n\t\t\t\t\t: item.content?.raw,\n\t\t\tsyncStatus: item.wp_pattern_sync_status,\n\t\t},\n\t\tnull,\n\t\t2\n\t);\n}\n\nconst exportPattern: Action< Pattern > = {\n\tid: 'export-pattern',\n\tlabel: __( 'Export as JSON' ),\n\tsupportsBulk: true,\n\tisEligible: ( item ) => item.type === 'wp_block',\n\tcallback: async ( items ) => {\n\t\tif ( items.length === 1 ) {\n\t\t\treturn downloadBlob(\n\t\t\t\t`${ kebabCase(\n\t\t\t\t\tgetItemTitle( items[ 0 ] ) || items[ 0 ].slug\n\t\t\t\t) }.json`,\n\t\t\t\tgetJsonFromItem( items[ 0 ] ),\n\t\t\t\t'application/json'\n\t\t\t);\n\t\t}\n\t\tconst nameCount: Record< string, number > = {};\n\t\tconst filesToZip = items.map( ( item ) => {\n\t\t\tconst name = kebabCase( getItemTitle( item ) || item.slug );\n\t\t\tnameCount[ name ] = ( nameCount[ name ] || 0 ) + 1;\n\t\t\treturn {\n\t\t\t\tname: `${\n\t\t\t\t\tname +\n\t\t\t\t\t( nameCount[ name ] > 1\n\t\t\t\t\t\t? '-' + ( nameCount[ name ] - 1 )\n\t\t\t\t\t\t: '' )\n\t\t\t\t}.json`,\n\t\t\t\tlastModified: new Date(),\n\t\t\t\tinput: getJsonFromItem( item ),\n\t\t\t};\n\t\t} );\n\t\treturn downloadBlob(\n\t\t\t__( 'patterns-export' ) + '.zip',\n\t\t\tawait downloadZip( filesToZip ).blob(),\n\t\t\t'application/zip'\n\t\t);\n\t},\n};\n\nexport default exportPattern;\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,SAAS,IAAIC,SAAS,QAAQ,aAAa;AACpD,SAASC,WAAW,QAAQ,YAAY;;AAExC;AACA;AACA;AACA,SAASC,YAAY,QAAQ,iBAAiB;AAC9C,SAASC,EAAE,QAAQ,iBAAiB;;AAGpC;AACA;AACA;;AAEA,SAASC,YAAY,QAAQ,SAAS;AAEtC,SAASC,eAAeA,CAAEC,IAAa,EAAG;EACzC,OAAOC,IAAI,CAACC,SAAS,CACpB;IACCC,MAAM,EAAEH,IAAI,CAACI,IAAI;IACjBC,KAAK,EAAEP,YAAY,CAAEE,IAAK,CAAC;IAC3BM,OAAO,EACN,OAAON,IAAI,CAACM,OAAO,KAAK,QAAQ,GAC7BN,IAAI,CAACM,OAAO,GACZN,IAAI,CAACM,OAAO,EAAEC,GAAG;IACrBC,UAAU,EAAER,IAAI,CAACS;EAClB,CAAC,EACD,IAAI,EACJ,CACD,CAAC;AACF;AAEA,MAAMC,aAAgC,GAAG;EACxCC,EAAE,EAAE,gBAAgB;EACpBC,KAAK,EAAEf,EAAE,CAAE,gBAAiB,CAAC;EAC7BgB,YAAY,EAAE,IAAI;EAClBC,UAAU,EAAId,IAAI,IAAMA,IAAI,CAACI,IAAI,KAAK,UAAU;EAChDW,QAAQ,EAAE,MAAQC,KAAK,IAAM;IAC5B,IAAKA,KAAK,CAACC,MAAM,KAAK,CAAC,EAAG;MACzB,OAAOrB,YAAY,CACjB,GAAGF,SAAS,CACZI,YAAY,CAAEkB,KAAK,CAAE,CAAC,CAAG,CAAC,IAAIA,KAAK,CAAE,CAAC,CAAE,CAACE,IAC1C,CAAG,OAAM,EACTnB,eAAe,CAAEiB,KAAK,CAAE,CAAC,CAAG,CAAC,EAC7B,kBACD,CAAC;IACF;IACA,MAAMG,SAAmC,GAAG,CAAC,CAAC;IAC9C,MAAMC,UAAU,GAAGJ,KAAK,CAACK,GAAG,CAAIrB,IAAI,IAAM;MACzC,MAAMsB,IAAI,GAAG5B,SAAS,CAAEI,YAAY,CAAEE,IAAK,CAAC,IAAIA,IAAI,CAACkB,IAAK,CAAC;MAC3DC,SAAS,CAAEG,IAAI,CAAE,GAAG,CAAEH,SAAS,CAAEG,IAAI,CAAE,IAAI,CAAC,IAAK,CAAC;MAClD,OAAO;QACNA,IAAI,EAAG,GACNA,IAAI,IACFH,SAAS,CAAEG,IAAI,CAAE,GAAG,CAAC,GACpB,GAAG,IAAKH,SAAS,CAAEG,IAAI,CAAE,GAAG,CAAC,CAAE,GAC/B,EAAE,CACL,OAAM;QACPC,YAAY,EAAE,IAAIC,IAAI,CAAC,CAAC;QACxBC,KAAK,EAAE1B,eAAe,CAAEC,IAAK;MAC9B,CAAC;IACF,CAAE,CAAC;IACH,OAAOJ,YAAY,CAClBC,EAAE,CAAE,iBAAkB,CAAC,GAAG,MAAM,EAChC,MAAMF,WAAW,CAAEyB,UAAW,CAAC,CAACM,IAAI,CAAC,CAAC,EACtC,iBACD,CAAC;EACF;AACD,CAAC;AAED,eAAehB,aAAa","ignoreList":[]}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * WordPress dependencies
3
+ */
4
+ import { dispatch } from '@wordpress/data';
5
+
6
+ /**
7
+ * Internal dependencies
8
+ */
9
+ import deletePost from './delete-post';
10
+ import exportPattern from './export-pattern';
11
+ import resetPost from './reset-post';
12
+
13
+ // @ts-ignore
14
+ import { store as editorStore } from '../../store';
15
+ import { unlock } from '../../lock-unlock';
16
+ export default function registerDefaultActions() {
17
+ const {
18
+ registerEntityAction
19
+ } = unlock(dispatch(editorStore));
20
+ registerEntityAction('postType', 'wp_block', exportPattern);
21
+ registerEntityAction('postType', '*', resetPost);
22
+ registerEntityAction('postType', '*', deletePost);
23
+ }
24
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["dispatch","deletePost","exportPattern","resetPost","store","editorStore","unlock","registerDefaultActions","registerEntityAction"],"sources":["@wordpress/editor/src/dataviews/actions/index.ts"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { type StoreDescriptor, dispatch } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport deletePost from './delete-post';\nimport exportPattern from './export-pattern';\nimport resetPost from './reset-post';\n\n// @ts-ignore\nimport { store as editorStore } from '../../store';\nimport { unlock } from '../../lock-unlock';\n\nexport default function registerDefaultActions() {\n\tconst { registerEntityAction } = unlock(\n\t\tdispatch( editorStore as StoreDescriptor )\n\t);\n\n\tregisterEntityAction( 'postType', 'wp_block', exportPattern );\n\tregisterEntityAction( 'postType', '*', resetPost );\n\tregisterEntityAction( 'postType', '*', deletePost );\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,SAA+BA,QAAQ,QAAQ,iBAAiB;;AAEhE;AACA;AACA;AACA,OAAOC,UAAU,MAAM,eAAe;AACtC,OAAOC,aAAa,MAAM,kBAAkB;AAC5C,OAAOC,SAAS,MAAM,cAAc;;AAEpC;AACA,SAASC,KAAK,IAAIC,WAAW,QAAQ,aAAa;AAClD,SAASC,MAAM,QAAQ,mBAAmB;AAE1C,eAAe,SAASC,sBAAsBA,CAAA,EAAG;EAChD,MAAM;IAAEC;EAAqB,CAAC,GAAGF,MAAM,CACtCN,QAAQ,CAAEK,WAA+B,CAC1C,CAAC;EAEDG,oBAAoB,CAAE,UAAU,EAAE,UAAU,EAAEN,aAAc,CAAC;EAC7DM,oBAAoB,CAAE,UAAU,EAAE,GAAG,EAAEL,SAAU,CAAC;EAClDK,oBAAoB,CAAE,UAAU,EAAE,GAAG,EAAEP,UAAW,CAAC;AACpD","ignoreList":[]}
@@ -0,0 +1,104 @@
1
+ /**
2
+ * WordPress dependencies
3
+ */
4
+ import { backup } from '@wordpress/icons';
5
+ import { useDispatch } from '@wordpress/data';
6
+ import { store as coreStore } from '@wordpress/core-data';
7
+ import { __, sprintf } from '@wordpress/i18n';
8
+ import { store as noticesStore } from '@wordpress/notices';
9
+ import { useState } from '@wordpress/element';
10
+ import { Button, __experimentalText as Text, __experimentalHStack as HStack, __experimentalVStack as VStack } from '@wordpress/components';
11
+ /**
12
+ * Internal dependencies
13
+ */
14
+ import { TEMPLATE_POST_TYPE, TEMPLATE_ORIGINS } from '../../store/constants';
15
+ import { store as editorStore } from '../../store';
16
+ import { unlock } from '../../lock-unlock';
17
+ import { isTemplateOrTemplatePart, getItemTitle } from './utils';
18
+ import { jsx as _jsx } from "react/jsx-runtime";
19
+ import { jsxs as _jsxs } from "react/jsx-runtime";
20
+ const resetPost = {
21
+ id: 'reset-post',
22
+ label: __('Reset'),
23
+ isEligible: item => {
24
+ return isTemplateOrTemplatePart(item) && item?.source === TEMPLATE_ORIGINS.custom && item?.has_theme_file;
25
+ },
26
+ icon: backup,
27
+ supportsBulk: true,
28
+ hideModalHeader: true,
29
+ RenderModal: ({
30
+ items,
31
+ closeModal,
32
+ onActionPerformed
33
+ }) => {
34
+ const [isBusy, setIsBusy] = useState(false);
35
+ const {
36
+ revertTemplate
37
+ } = unlock(useDispatch(editorStore));
38
+ const {
39
+ saveEditedEntityRecord
40
+ } = useDispatch(coreStore);
41
+ const {
42
+ createSuccessNotice,
43
+ createErrorNotice
44
+ } = useDispatch(noticesStore);
45
+ const onConfirm = async () => {
46
+ try {
47
+ for (const template of items) {
48
+ await revertTemplate(template, {
49
+ allowUndo: false
50
+ });
51
+ await saveEditedEntityRecord('postType', template.type, template.id);
52
+ }
53
+ createSuccessNotice(items.length > 1 ? sprintf( /* translators: The number of items. */
54
+ __('%s items reset.'), items.length) : sprintf( /* translators: The template/part's name. */
55
+ __('"%s" reset.'), getItemTitle(items[0])), {
56
+ type: 'snackbar',
57
+ id: 'revert-template-action'
58
+ });
59
+ } catch (error) {
60
+ let fallbackErrorMessage;
61
+ if (items[0].type === TEMPLATE_POST_TYPE) {
62
+ fallbackErrorMessage = items.length === 1 ? __('An error occurred while reverting the template.') : __('An error occurred while reverting the templates.');
63
+ } else {
64
+ fallbackErrorMessage = items.length === 1 ? __('An error occurred while reverting the template part.') : __('An error occurred while reverting the template parts.');
65
+ }
66
+ const typedError = error;
67
+ const errorMessage = typedError.message && typedError.code !== 'unknown_error' ? typedError.message : fallbackErrorMessage;
68
+ createErrorNotice(errorMessage, {
69
+ type: 'snackbar'
70
+ });
71
+ }
72
+ };
73
+ return /*#__PURE__*/_jsxs(VStack, {
74
+ spacing: "5",
75
+ children: [/*#__PURE__*/_jsx(Text, {
76
+ children: __('Reset to default and clear all customizations?')
77
+ }), /*#__PURE__*/_jsxs(HStack, {
78
+ justify: "right",
79
+ children: [/*#__PURE__*/_jsx(Button, {
80
+ variant: "tertiary",
81
+ onClick: closeModal,
82
+ disabled: isBusy,
83
+ accessibleWhenDisabled: true,
84
+ children: __('Cancel')
85
+ }), /*#__PURE__*/_jsx(Button, {
86
+ variant: "primary",
87
+ onClick: async () => {
88
+ setIsBusy(true);
89
+ await onConfirm();
90
+ onActionPerformed?.(items);
91
+ setIsBusy(false);
92
+ closeModal?.();
93
+ },
94
+ isBusy: isBusy,
95
+ disabled: isBusy,
96
+ accessibleWhenDisabled: true,
97
+ children: __('Reset')
98
+ })]
99
+ })]
100
+ });
101
+ }
102
+ };
103
+ export default resetPost;
104
+ //# sourceMappingURL=reset-post.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["backup","useDispatch","store","coreStore","__","sprintf","noticesStore","useState","Button","__experimentalText","Text","__experimentalHStack","HStack","__experimentalVStack","VStack","TEMPLATE_POST_TYPE","TEMPLATE_ORIGINS","editorStore","unlock","isTemplateOrTemplatePart","getItemTitle","jsx","_jsx","jsxs","_jsxs","resetPost","id","label","isEligible","item","source","custom","has_theme_file","icon","supportsBulk","hideModalHeader","RenderModal","items","closeModal","onActionPerformed","isBusy","setIsBusy","revertTemplate","saveEditedEntityRecord","createSuccessNotice","createErrorNotice","onConfirm","template","allowUndo","type","length","error","fallbackErrorMessage","typedError","errorMessage","message","code","spacing","children","justify","variant","onClick","disabled","accessibleWhenDisabled"],"sources":["@wordpress/editor/src/dataviews/actions/reset-post.tsx"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { backup } from '@wordpress/icons';\nimport { useDispatch } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { useState } from '@wordpress/element';\nimport {\n\tButton,\n\t__experimentalText as Text,\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\nimport type { Action } from '@wordpress/dataviews';\nimport type { StoreDescriptor } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { TEMPLATE_POST_TYPE, TEMPLATE_ORIGINS } from '../../store/constants';\nimport { store as editorStore } from '../../store';\nimport { unlock } from '../../lock-unlock';\nimport type { Post, CoreDataError } from '../types';\nimport { isTemplateOrTemplatePart, getItemTitle } from './utils';\n\nconst resetPost: Action< Post > = {\n\tid: 'reset-post',\n\tlabel: __( 'Reset' ),\n\tisEligible: ( item ) => {\n\t\treturn (\n\t\t\tisTemplateOrTemplatePart( item ) &&\n\t\t\titem?.source === TEMPLATE_ORIGINS.custom &&\n\t\t\titem?.has_theme_file\n\t\t);\n\t},\n\ticon: backup,\n\tsupportsBulk: true,\n\thideModalHeader: true,\n\tRenderModal: ( { items, closeModal, onActionPerformed } ) => {\n\t\tconst [ isBusy, setIsBusy ] = useState( false );\n\t\tconst { revertTemplate } = unlock(\n\t\t\tuseDispatch( editorStore as StoreDescriptor )\n\t\t);\n\t\tconst { saveEditedEntityRecord } = useDispatch( coreStore );\n\t\tconst { createSuccessNotice, createErrorNotice } =\n\t\t\tuseDispatch( noticesStore );\n\t\tconst onConfirm = async () => {\n\t\t\ttry {\n\t\t\t\tfor ( const template of items ) {\n\t\t\t\t\tawait revertTemplate( template, {\n\t\t\t\t\t\tallowUndo: false,\n\t\t\t\t\t} );\n\t\t\t\t\tawait saveEditedEntityRecord(\n\t\t\t\t\t\t'postType',\n\t\t\t\t\t\ttemplate.type,\n\t\t\t\t\t\ttemplate.id\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tcreateSuccessNotice(\n\t\t\t\t\titems.length > 1\n\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t/* translators: The number of items. */\n\t\t\t\t\t\t\t\t__( '%s items reset.' ),\n\t\t\t\t\t\t\t\titems.length\n\t\t\t\t\t\t )\n\t\t\t\t\t\t: sprintf(\n\t\t\t\t\t\t\t\t/* translators: The template/part's name. */\n\t\t\t\t\t\t\t\t__( '\"%s\" reset.' ),\n\t\t\t\t\t\t\t\tgetItemTitle( items[ 0 ] )\n\t\t\t\t\t\t ),\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t\tid: 'revert-template-action',\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t} catch ( error ) {\n\t\t\t\tlet fallbackErrorMessage;\n\t\t\t\tif ( items[ 0 ].type === TEMPLATE_POST_TYPE ) {\n\t\t\t\t\tfallbackErrorMessage =\n\t\t\t\t\t\titems.length === 1\n\t\t\t\t\t\t\t? __(\n\t\t\t\t\t\t\t\t\t'An error occurred while reverting the template.'\n\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t: __(\n\t\t\t\t\t\t\t\t\t'An error occurred while reverting the templates.'\n\t\t\t\t\t\t\t );\n\t\t\t\t} else {\n\t\t\t\t\tfallbackErrorMessage =\n\t\t\t\t\t\titems.length === 1\n\t\t\t\t\t\t\t? __(\n\t\t\t\t\t\t\t\t\t'An error occurred while reverting the template part.'\n\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t: __(\n\t\t\t\t\t\t\t\t\t'An error occurred while reverting the template parts.'\n\t\t\t\t\t\t\t );\n\t\t\t\t}\n\n\t\t\t\tconst typedError = error as CoreDataError;\n\t\t\t\tconst errorMessage =\n\t\t\t\t\ttypedError.message && typedError.code !== 'unknown_error'\n\t\t\t\t\t\t? typedError.message\n\t\t\t\t\t\t: fallbackErrorMessage;\n\n\t\t\t\tcreateErrorNotice( errorMessage, { type: 'snackbar' } );\n\t\t\t}\n\t\t};\n\t\treturn (\n\t\t\t<VStack spacing=\"5\">\n\t\t\t\t<Text>\n\t\t\t\t\t{ __( 'Reset to default and clear all customizations?' ) }\n\t\t\t\t</Text>\n\t\t\t\t<HStack justify=\"right\">\n\t\t\t\t\t<Button\n\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\tonClick={ closeModal }\n\t\t\t\t\t\tdisabled={ isBusy }\n\t\t\t\t\t\taccessibleWhenDisabled\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t\t<Button\n\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\tonClick={ async () => {\n\t\t\t\t\t\t\tsetIsBusy( true );\n\t\t\t\t\t\t\tawait onConfirm();\n\t\t\t\t\t\t\tonActionPerformed?.( items );\n\t\t\t\t\t\t\tsetIsBusy( false );\n\t\t\t\t\t\t\tcloseModal?.();\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tisBusy={ isBusy }\n\t\t\t\t\t\tdisabled={ isBusy }\n\t\t\t\t\t\taccessibleWhenDisabled\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Reset' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t</HStack>\n\t\t\t</VStack>\n\t\t);\n\t},\n};\n\nexport default resetPost;\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,41 @@
1
+ /**
2
+ * WordPress dependencies
3
+ */
4
+ import { decodeEntities } from '@wordpress/html-entities';
5
+
6
+ /**
7
+ * Internal dependencies
8
+ */
9
+ import { TEMPLATE_ORIGINS, TEMPLATE_PART_POST_TYPE, TEMPLATE_POST_TYPE } from '../../store/constants';
10
+ export function isTemplateOrTemplatePart(p) {
11
+ return p.type === TEMPLATE_POST_TYPE || p.type === TEMPLATE_PART_POST_TYPE;
12
+ }
13
+ export function getItemTitle(item) {
14
+ if (typeof item.title === 'string') {
15
+ return decodeEntities(item.title);
16
+ }
17
+ if ('rendered' in item.title) {
18
+ return decodeEntities(item.title.rendered);
19
+ }
20
+ if ('raw' in item.title) {
21
+ return decodeEntities(item.title.raw);
22
+ }
23
+ return '';
24
+ }
25
+
26
+ /**
27
+ * Check if a template is removable.
28
+ *
29
+ * @param template The template entity to check.
30
+ * @return Whether the template is removable.
31
+ */
32
+ export function isTemplateRemovable(template) {
33
+ if (!template) {
34
+ return false;
35
+ }
36
+ // In patterns list page we map the templates parts to a different object
37
+ // than the one returned from the endpoint. This is why we need to check for
38
+ // two props whether is custom or has a theme file.
39
+ return [template.source, template.source].includes(TEMPLATE_ORIGINS.custom) && !template.has_theme_file;
40
+ }
41
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["decodeEntities","TEMPLATE_ORIGINS","TEMPLATE_PART_POST_TYPE","TEMPLATE_POST_TYPE","isTemplateOrTemplatePart","p","type","getItemTitle","item","title","rendered","raw","isTemplateRemovable","template","source","includes","custom","has_theme_file"],"sources":["@wordpress/editor/src/dataviews/actions/utils.ts"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { decodeEntities } from '@wordpress/html-entities';\n\n/**\n * Internal dependencies\n */\nimport {\n\tTEMPLATE_ORIGINS,\n\tTEMPLATE_PART_POST_TYPE,\n\tTEMPLATE_POST_TYPE,\n} from '../../store/constants';\n\nimport type { Post, TemplateOrTemplatePart } from '../types';\n\nexport function isTemplateOrTemplatePart(\n\tp: Post\n): p is TemplateOrTemplatePart {\n\treturn p.type === TEMPLATE_POST_TYPE || p.type === TEMPLATE_PART_POST_TYPE;\n}\n\nexport function getItemTitle( item: Post ) {\n\tif ( typeof item.title === 'string' ) {\n\t\treturn decodeEntities( item.title );\n\t}\n\tif ( 'rendered' in item.title ) {\n\t\treturn decodeEntities( item.title.rendered );\n\t}\n\tif ( 'raw' in item.title ) {\n\t\treturn decodeEntities( item.title.raw );\n\t}\n\treturn '';\n}\n\n/**\n * Check if a template is removable.\n *\n * @param template The template entity to check.\n * @return Whether the template is removable.\n */\nexport function isTemplateRemovable( template: TemplateOrTemplatePart ) {\n\tif ( ! template ) {\n\t\treturn false;\n\t}\n\t// In patterns list page we map the templates parts to a different object\n\t// than the one returned from the endpoint. This is why we need to check for\n\t// two props whether is custom or has a theme file.\n\treturn (\n\t\t[ template.source, template.source ].includes(\n\t\t\tTEMPLATE_ORIGINS.custom\n\t\t) && ! template.has_theme_file\n\t);\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,cAAc,QAAQ,0BAA0B;;AAEzD;AACA;AACA;AACA,SACCC,gBAAgB,EAChBC,uBAAuB,EACvBC,kBAAkB,QACZ,uBAAuB;AAI9B,OAAO,SAASC,wBAAwBA,CACvCC,CAAO,EACuB;EAC9B,OAAOA,CAAC,CAACC,IAAI,KAAKH,kBAAkB,IAAIE,CAAC,CAACC,IAAI,KAAKJ,uBAAuB;AAC3E;AAEA,OAAO,SAASK,YAAYA,CAAEC,IAAU,EAAG;EAC1C,IAAK,OAAOA,IAAI,CAACC,KAAK,KAAK,QAAQ,EAAG;IACrC,OAAOT,cAAc,CAAEQ,IAAI,CAACC,KAAM,CAAC;EACpC;EACA,IAAK,UAAU,IAAID,IAAI,CAACC,KAAK,EAAG;IAC/B,OAAOT,cAAc,CAAEQ,IAAI,CAACC,KAAK,CAACC,QAAS,CAAC;EAC7C;EACA,IAAK,KAAK,IAAIF,IAAI,CAACC,KAAK,EAAG;IAC1B,OAAOT,cAAc,CAAEQ,IAAI,CAACC,KAAK,CAACE,GAAI,CAAC;EACxC;EACA,OAAO,EAAE;AACV;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,mBAAmBA,CAAEC,QAAgC,EAAG;EACvE,IAAK,CAAEA,QAAQ,EAAG;IACjB,OAAO,KAAK;EACb;EACA;EACA;EACA;EACA,OACC,CAAEA,QAAQ,CAACC,MAAM,EAAED,QAAQ,CAACC,MAAM,CAAE,CAACC,QAAQ,CAC5Cd,gBAAgB,CAACe,MAClB,CAAC,IAAI,CAAEH,QAAQ,CAACI,cAAc;AAEhC","ignoreList":[]}