@wordpress/editor 13.24.1 → 13.26.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 (307) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/LICENSE.md +1 -1
  3. package/build/components/document-bar/index.js +164 -0
  4. package/build/components/document-bar/index.js.map +1 -0
  5. package/build/components/document-outline/index.js +82 -1
  6. package/build/components/document-outline/index.js.map +1 -1
  7. package/build/components/document-tools/index.js +160 -0
  8. package/build/components/document-tools/index.js.map +1 -0
  9. package/build/components/editor-canvas/edit-template-blocks-notification.js +106 -0
  10. package/build/components/editor-canvas/edit-template-blocks-notification.js.map +1 -0
  11. package/build/components/editor-canvas/index.js +298 -0
  12. package/build/components/editor-canvas/index.js.map +1 -0
  13. package/build/components/entities-saved-states/index.js +3 -1
  14. package/build/components/entities-saved-states/index.js.map +1 -1
  15. package/build/components/global-keyboard-shortcuts/index.js +12 -2
  16. package/build/components/global-keyboard-shortcuts/index.js.map +1 -1
  17. package/build/components/global-keyboard-shortcuts/register-shortcuts.js +9 -0
  18. package/build/components/global-keyboard-shortcuts/register-shortcuts.js.map +1 -1
  19. package/build/components/index.js +72 -8
  20. package/build/components/index.js.map +1 -1
  21. package/build/components/index.native.js +9 -1
  22. package/build/components/index.native.js.map +1 -1
  23. package/build/components/inserter-sidebar/index.js +77 -0
  24. package/build/components/inserter-sidebar/index.js.map +1 -0
  25. package/build/components/list-view-sidebar/index.js +150 -0
  26. package/build/components/list-view-sidebar/index.js.map +1 -0
  27. package/build/components/list-view-sidebar/list-view-outline.js +28 -0
  28. package/build/components/list-view-sidebar/list-view-outline.js.map +1 -0
  29. package/build/components/offline-status/index.native.js +85 -0
  30. package/build/components/offline-status/index.native.js.map +1 -0
  31. package/build/components/page-attributes/panel.js +63 -0
  32. package/build/components/page-attributes/panel.js.map +1 -0
  33. package/build/components/post-discussion/panel.js +59 -0
  34. package/build/components/post-discussion/panel.js.map +1 -0
  35. package/build/components/post-excerpt/check.js +19 -0
  36. package/build/components/post-excerpt/check.js.map +1 -1
  37. package/build/components/post-excerpt/panel.js +55 -0
  38. package/build/components/post-excerpt/panel.js.map +1 -0
  39. package/build/components/post-excerpt/plugin.js +72 -0
  40. package/build/components/post-excerpt/plugin.js.map +1 -0
  41. package/build/components/post-featured-image/index.js +5 -8
  42. package/build/components/post-featured-image/index.js.map +1 -1
  43. package/build/components/post-featured-image/panel.js +60 -0
  44. package/build/components/post-featured-image/panel.js.map +1 -0
  45. package/build/components/post-last-revision/panel.js +27 -0
  46. package/build/components/post-last-revision/panel.js.map +1 -0
  47. package/build/components/post-publish-button/index.js +1 -0
  48. package/build/components/post-publish-button/index.js.map +1 -1
  49. package/build/components/post-publish-panel/maybe-upload-media.js +2 -4
  50. package/build/components/post-publish-panel/maybe-upload-media.js.map +1 -1
  51. package/build/components/post-saved-state/index.js +13 -8
  52. package/build/components/post-saved-state/index.js.map +1 -1
  53. package/build/components/post-schedule/panel.js +1 -1
  54. package/build/components/post-schedule/panel.js.map +1 -1
  55. package/build/components/post-taxonomies/panel.js +68 -0
  56. package/build/components/post-taxonomies/panel.js.map +1 -0
  57. package/build/components/post-template/block-theme.js +100 -0
  58. package/build/components/post-template/block-theme.js.map +1 -0
  59. package/build/components/post-template/classic-theme.js +171 -0
  60. package/build/components/post-template/classic-theme.js.map +1 -0
  61. package/build/components/post-template/create-new-template-modal.js +98 -0
  62. package/build/components/post-template/create-new-template-modal.js.map +1 -0
  63. package/build/components/post-template/create-new-template.js +55 -0
  64. package/build/components/post-template/create-new-template.js.map +1 -0
  65. package/build/components/post-template/hooks.js +88 -0
  66. package/build/components/post-template/hooks.js.map +1 -0
  67. package/build/components/post-template/panel.js +70 -0
  68. package/build/components/post-template/panel.js.map +1 -0
  69. package/build/components/post-template/reset-default-template.js +48 -0
  70. package/build/components/post-template/reset-default-template.js.map +1 -0
  71. package/build/components/post-template/swap-template-button.js +86 -0
  72. package/build/components/post-template/swap-template-button.js.map +1 -0
  73. package/build/components/post-title/index.native.js +25 -15
  74. package/build/components/post-title/index.native.js.map +1 -1
  75. package/build/components/post-view-link/index.js +58 -0
  76. package/build/components/post-view-link/index.js.map +1 -0
  77. package/build/components/post-visibility/check.js +5 -17
  78. package/build/components/post-visibility/check.js.map +1 -1
  79. package/build/components/preview-dropdown/index.js +118 -0
  80. package/build/components/preview-dropdown/index.js.map +1 -0
  81. package/build/components/provider/index.js +24 -82
  82. package/build/components/provider/index.js.map +1 -1
  83. package/build/components/provider/index.native.js +36 -8
  84. package/build/components/provider/index.native.js.map +1 -1
  85. package/build/components/provider/navigation-block-editing-mode.js +40 -0
  86. package/build/components/provider/navigation-block-editing-mode.js.map +1 -0
  87. package/build/components/provider/use-block-editor-settings.js +38 -15
  88. package/build/components/provider/use-block-editor-settings.js.map +1 -1
  89. package/build/hooks/index.js +1 -0
  90. package/build/hooks/index.js.map +1 -1
  91. package/build/hooks/pattern-partial-syncing.js +49 -0
  92. package/build/hooks/pattern-partial-syncing.js.map +1 -0
  93. package/build/private-apis.js +14 -0
  94. package/build/private-apis.js.map +1 -1
  95. package/build/store/actions.js +161 -13
  96. package/build/store/actions.js.map +1 -1
  97. package/build/store/defaults.js +2 -1
  98. package/build/store/defaults.js.map +1 -1
  99. package/build/store/index.js +5 -0
  100. package/build/store/index.js.map +1 -1
  101. package/build/store/private-actions.js +52 -0
  102. package/build/store/private-actions.js.map +1 -0
  103. package/build/store/private-selectors.js +52 -0
  104. package/build/store/private-selectors.js.map +1 -0
  105. package/build/store/reducer.js +109 -27
  106. package/build/store/reducer.js.map +1 -1
  107. package/build/store/reducer.native.js +0 -1
  108. package/build/store/reducer.native.js.map +1 -1
  109. package/build/store/selectors.js +104 -9
  110. package/build/store/selectors.js.map +1 -1
  111. package/build/utils/media-upload/index.js +8 -2
  112. package/build/utils/media-upload/index.js.map +1 -1
  113. package/build-module/components/document-bar/index.js +156 -0
  114. package/build-module/components/document-bar/index.js.map +1 -0
  115. package/build-module/components/document-outline/index.js +82 -1
  116. package/build-module/components/document-outline/index.js.map +1 -1
  117. package/build-module/components/document-tools/index.js +151 -0
  118. package/build-module/components/document-tools/index.js.map +1 -0
  119. package/build-module/components/editor-canvas/edit-template-blocks-notification.js +100 -0
  120. package/build-module/components/editor-canvas/edit-template-blocks-notification.js.map +1 -0
  121. package/build-module/components/editor-canvas/index.js +289 -0
  122. package/build-module/components/editor-canvas/index.js.map +1 -0
  123. package/build-module/components/entities-saved-states/index.js +3 -1
  124. package/build-module/components/entities-saved-states/index.js.map +1 -1
  125. package/build-module/components/global-keyboard-shortcuts/index.js +12 -2
  126. package/build-module/components/global-keyboard-shortcuts/index.js.map +1 -1
  127. package/build-module/components/global-keyboard-shortcuts/register-shortcuts.js +9 -0
  128. package/build-module/components/global-keyboard-shortcuts/register-shortcuts.js.map +1 -1
  129. package/build-module/components/index.js +9 -1
  130. package/build-module/components/index.js.map +1 -1
  131. package/build-module/components/index.native.js +1 -0
  132. package/build-module/components/index.native.js.map +1 -1
  133. package/build-module/components/inserter-sidebar/index.js +70 -0
  134. package/build-module/components/inserter-sidebar/index.js.map +1 -0
  135. package/build-module/components/list-view-sidebar/index.js +142 -0
  136. package/build-module/components/list-view-sidebar/index.js.map +1 -0
  137. package/build-module/components/list-view-sidebar/list-view-outline.js +20 -0
  138. package/build-module/components/list-view-sidebar/list-view-outline.js.map +1 -0
  139. package/build-module/components/offline-status/index.native.js +77 -0
  140. package/build-module/components/offline-status/index.native.js.map +1 -0
  141. package/build-module/components/page-attributes/panel.js +53 -0
  142. package/build-module/components/page-attributes/panel.js.map +1 -0
  143. package/build-module/components/post-discussion/panel.js +50 -0
  144. package/build-module/components/post-discussion/panel.js.map +1 -0
  145. package/build-module/components/post-excerpt/check.js +19 -0
  146. package/build-module/components/post-excerpt/check.js.map +1 -1
  147. package/build-module/components/post-excerpt/panel.js +48 -0
  148. package/build-module/components/post-excerpt/panel.js.map +1 -0
  149. package/build-module/components/post-excerpt/plugin.js +64 -0
  150. package/build-module/components/post-excerpt/plugin.js.map +1 -0
  151. package/build-module/components/post-featured-image/index.js +5 -8
  152. package/build-module/components/post-featured-image/index.js.map +1 -1
  153. package/build-module/components/post-featured-image/panel.js +51 -0
  154. package/build-module/components/post-featured-image/panel.js.map +1 -0
  155. package/build-module/components/post-last-revision/panel.js +18 -0
  156. package/build-module/components/post-last-revision/panel.js.map +1 -0
  157. package/build-module/components/post-publish-button/index.js +1 -0
  158. package/build-module/components/post-publish-button/index.js.map +1 -1
  159. package/build-module/components/post-publish-panel/maybe-upload-media.js +2 -4
  160. package/build-module/components/post-publish-panel/maybe-upload-media.js.map +1 -1
  161. package/build-module/components/post-saved-state/index.js +13 -8
  162. package/build-module/components/post-saved-state/index.js.map +1 -1
  163. package/build-module/components/post-schedule/panel.js +1 -1
  164. package/build-module/components/post-schedule/panel.js.map +1 -1
  165. package/build-module/components/post-taxonomies/panel.js +59 -0
  166. package/build-module/components/post-taxonomies/panel.js.map +1 -0
  167. package/build-module/components/post-template/block-theme.js +92 -0
  168. package/build-module/components/post-template/block-theme.js.map +1 -0
  169. package/build-module/components/post-template/classic-theme.js +162 -0
  170. package/build-module/components/post-template/classic-theme.js.map +1 -0
  171. package/build-module/components/post-template/create-new-template-modal.js +91 -0
  172. package/build-module/components/post-template/create-new-template-modal.js.map +1 -0
  173. package/build-module/components/post-template/create-new-template.js +47 -0
  174. package/build-module/components/post-template/create-new-template.js.map +1 -0
  175. package/build-module/components/post-template/hooks.js +78 -0
  176. package/build-module/components/post-template/hooks.js.map +1 -0
  177. package/build-module/components/post-template/panel.js +62 -0
  178. package/build-module/components/post-template/panel.js.map +1 -0
  179. package/build-module/components/post-template/reset-default-template.js +41 -0
  180. package/build-module/components/post-template/reset-default-template.js.map +1 -0
  181. package/build-module/components/post-template/swap-template-button.js +79 -0
  182. package/build-module/components/post-template/swap-template-button.js.map +1 -0
  183. package/build-module/components/post-title/index.native.js +26 -16
  184. package/build-module/components/post-title/index.native.js.map +1 -1
  185. package/build-module/components/post-view-link/index.js +51 -0
  186. package/build-module/components/post-view-link/index.js.map +1 -0
  187. package/build-module/components/post-visibility/check.js +6 -16
  188. package/build-module/components/post-visibility/check.js.map +1 -1
  189. package/build-module/components/preview-dropdown/index.js +110 -0
  190. package/build-module/components/preview-dropdown/index.js.map +1 -0
  191. package/build-module/components/provider/index.js +25 -83
  192. package/build-module/components/provider/index.js.map +1 -1
  193. package/build-module/components/provider/index.native.js +37 -9
  194. package/build-module/components/provider/index.native.js.map +1 -1
  195. package/build-module/components/provider/navigation-block-editing-mode.js +34 -0
  196. package/build-module/components/provider/navigation-block-editing-mode.js.map +1 -0
  197. package/build-module/components/provider/use-block-editor-settings.js +38 -15
  198. package/build-module/components/provider/use-block-editor-settings.js.map +1 -1
  199. package/build-module/hooks/index.js +1 -0
  200. package/build-module/hooks/index.js.map +1 -1
  201. package/build-module/hooks/pattern-partial-syncing.js +46 -0
  202. package/build-module/hooks/pattern-partial-syncing.js.map +1 -0
  203. package/build-module/private-apis.js +14 -0
  204. package/build-module/private-apis.js.map +1 -1
  205. package/build-module/store/actions.js +147 -9
  206. package/build-module/store/actions.js.map +1 -1
  207. package/build-module/store/defaults.js +2 -1
  208. package/build-module/store/defaults.js.map +1 -1
  209. package/build-module/store/index.js +5 -0
  210. package/build-module/store/index.js.map +1 -1
  211. package/build-module/store/private-actions.js +44 -0
  212. package/build-module/store/private-actions.js.map +1 -0
  213. package/build-module/store/private-selectors.js +43 -0
  214. package/build-module/store/private-selectors.js.map +1 -0
  215. package/build-module/store/reducer.js +103 -26
  216. package/build-module/store/reducer.js.map +1 -1
  217. package/build-module/store/reducer.native.js +1 -2
  218. package/build-module/store/reducer.native.js.map +1 -1
  219. package/build-module/store/selectors.js +93 -6
  220. package/build-module/store/selectors.js.map +1 -1
  221. package/build-module/utils/media-upload/index.js +8 -2
  222. package/build-module/utils/media-upload/index.js.map +1 -1
  223. package/build-style/style-rtl.css +433 -0
  224. package/build-style/style.css +433 -0
  225. package/package.json +32 -31
  226. package/src/components/document-bar/index.js +193 -0
  227. package/src/components/document-bar/style.scss +130 -0
  228. package/src/components/document-outline/index.js +48 -1
  229. package/src/components/document-outline/style.scss +12 -0
  230. package/src/components/document-tools/index.js +177 -0
  231. package/src/components/document-tools/style.scss +98 -0
  232. package/src/components/editor-canvas/edit-template-blocks-notification.js +108 -0
  233. package/src/components/editor-canvas/index.js +386 -0
  234. package/src/components/editor-canvas/style.scss +5 -0
  235. package/src/components/entities-saved-states/index.js +3 -1
  236. package/src/components/entities-saved-states/style.scss +4 -0
  237. package/src/components/global-keyboard-shortcuts/index.js +12 -2
  238. package/src/components/global-keyboard-shortcuts/register-shortcuts.js +10 -0
  239. package/src/components/index.js +9 -1
  240. package/src/components/index.native.js +1 -0
  241. package/src/components/inserter-sidebar/index.js +73 -0
  242. package/src/components/inserter-sidebar/style.scss +22 -0
  243. package/src/components/list-view-sidebar/index.js +169 -0
  244. package/src/components/list-view-sidebar/list-view-outline.js +37 -0
  245. package/src/components/list-view-sidebar/style.scss +84 -0
  246. package/src/components/offline-status/index.native.js +101 -0
  247. package/src/components/offline-status/style.native.scss +28 -0
  248. package/src/components/offline-status/test/index.native.js +108 -0
  249. package/src/components/page-attributes/panel.js +62 -0
  250. package/src/components/post-discussion/panel.js +57 -0
  251. package/src/components/post-excerpt/check.js +18 -0
  252. package/src/components/post-excerpt/panel.js +57 -0
  253. package/src/components/post-excerpt/plugin.js +61 -0
  254. package/src/components/post-excerpt/test/plugin.js +36 -0
  255. package/src/components/post-featured-image/index.js +3 -7
  256. package/src/components/post-featured-image/panel.js +55 -0
  257. package/src/components/post-last-revision/panel.js +22 -0
  258. package/src/components/post-last-revision/style.scss +10 -0
  259. package/src/components/post-publish-button/index.js +1 -0
  260. package/src/components/post-publish-panel/maybe-upload-media.js +3 -8
  261. package/src/components/post-saved-state/index.js +9 -8
  262. package/src/components/post-saved-state/test/__snapshots__/index.js.snap +2 -2
  263. package/src/components/post-schedule/panel.js +1 -1
  264. package/src/components/post-taxonomies/panel.js +66 -0
  265. package/src/components/post-template/block-theme.js +110 -0
  266. package/src/components/post-template/classic-theme.js +213 -0
  267. package/src/components/post-template/create-new-template-modal.js +139 -0
  268. package/src/components/post-template/create-new-template.js +50 -0
  269. package/src/components/post-template/hooks.js +95 -0
  270. package/src/components/post-template/panel.js +66 -0
  271. package/src/components/post-template/reset-default-template.js +43 -0
  272. package/src/components/post-template/style.scss +52 -0
  273. package/src/components/post-template/swap-template-button.js +86 -0
  274. package/src/components/post-title/index.native.js +32 -18
  275. package/src/components/post-title/style.scss +1 -0
  276. package/src/components/post-title/test/__snapshots__/index.native.js.snap +25 -0
  277. package/src/components/post-title/test/index.native.js +78 -0
  278. package/src/components/post-view-link/index.js +47 -0
  279. package/src/components/post-visibility/check.js +10 -15
  280. package/src/components/post-visibility/test/check.js +24 -13
  281. package/src/components/preview-dropdown/index.js +133 -0
  282. package/src/components/preview-dropdown/style.scss +5 -0
  283. package/src/components/provider/index.js +28 -118
  284. package/src/components/provider/index.native.js +55 -14
  285. package/src/components/provider/navigation-block-editing-mode.js +37 -0
  286. package/src/components/provider/use-block-editor-settings.js +42 -17
  287. package/src/hooks/index.js +1 -0
  288. package/src/hooks/pattern-partial-syncing.js +73 -0
  289. package/src/private-apis.js +14 -0
  290. package/src/store/actions.js +160 -9
  291. package/src/store/defaults.js +1 -0
  292. package/src/store/index.js +5 -0
  293. package/src/store/private-actions.js +61 -0
  294. package/src/store/private-selectors.js +51 -0
  295. package/src/store/reducer.js +103 -26
  296. package/src/store/reducer.native.js +0 -2
  297. package/src/store/selectors.js +144 -42
  298. package/src/store/test/actions.js +56 -0
  299. package/src/store/test/reducer.js +98 -0
  300. package/src/store/test/selectors.js +137 -147
  301. package/src/style.scss +7 -0
  302. package/src/utils/media-upload/index.js +9 -2
  303. package/build/components/post-template/index.js +0 -66
  304. package/build/components/post-template/index.js.map +0 -1
  305. package/build-module/components/post-template/index.js +0 -57
  306. package/build-module/components/post-template/index.js.map +0 -1
  307. package/src/components/post-template/index.js +0 -64
@@ -0,0 +1,289 @@
1
+ import { createElement, Fragment } from "react";
2
+ /**
3
+ * External dependencies
4
+ */
5
+ import classnames from 'classnames';
6
+
7
+ /**
8
+ * WordPress dependencies
9
+ */
10
+ import { BlockList, store as blockEditorStore, __unstableUseTypewriter as useTypewriter, __unstableUseTypingObserver as useTypingObserver, useSettings, __experimentalRecursionProvider as RecursionProvider, privateApis as blockEditorPrivateApis, __experimentalUseResizeCanvas as useResizeCanvas } from '@wordpress/block-editor';
11
+ import { useEffect, useRef, useMemo } from '@wordpress/element';
12
+ import { useSelect } from '@wordpress/data';
13
+ import { parse } from '@wordpress/blocks';
14
+ import { store as coreStore } from '@wordpress/core-data';
15
+ import { useMergeRefs } from '@wordpress/compose';
16
+
17
+ /**
18
+ * Internal dependencies
19
+ */
20
+ import PostTitle from '../post-title';
21
+ import { store as editorStore } from '../../store';
22
+ import { unlock } from '../../lock-unlock';
23
+ import EditTemplateBlocksNotification from './edit-template-blocks-notification';
24
+ const {
25
+ LayoutStyle,
26
+ useLayoutClasses,
27
+ useLayoutStyles,
28
+ ExperimentalBlockCanvas: BlockCanvas
29
+ } = unlock(blockEditorPrivateApis);
30
+ const noop = () => {};
31
+
32
+ /**
33
+ * Given an array of nested blocks, find the first Post Content
34
+ * block inside it, recursing through any nesting levels,
35
+ * and return its attributes.
36
+ *
37
+ * @param {Array} blocks A list of blocks.
38
+ *
39
+ * @return {Object | undefined} The Post Content block.
40
+ */
41
+ function getPostContentAttributes(blocks) {
42
+ for (let i = 0; i < blocks.length; i++) {
43
+ if (blocks[i].name === 'core/post-content') {
44
+ return blocks[i].attributes;
45
+ }
46
+ if (blocks[i].innerBlocks.length) {
47
+ const nestedPostContent = getPostContentAttributes(blocks[i].innerBlocks);
48
+ if (nestedPostContent) {
49
+ return nestedPostContent;
50
+ }
51
+ }
52
+ }
53
+ }
54
+ function checkForPostContentAtRootLevel(blocks) {
55
+ for (let i = 0; i < blocks.length; i++) {
56
+ if (blocks[i].name === 'core/post-content') {
57
+ return true;
58
+ }
59
+ }
60
+ return false;
61
+ }
62
+ function EditorCanvas({
63
+ // Ideally as we unify post and site editors, we won't need these props.
64
+ autoFocus,
65
+ className,
66
+ renderAppender,
67
+ styles,
68
+ disableIframe = false,
69
+ iframeProps,
70
+ children
71
+ }) {
72
+ const {
73
+ renderingMode,
74
+ postContentAttributes,
75
+ editedPostTemplate = {},
76
+ wrapperBlockName,
77
+ wrapperUniqueId,
78
+ deviceType,
79
+ hasHistory
80
+ } = useSelect(select => {
81
+ const {
82
+ getCurrentPostId,
83
+ getCurrentPostType,
84
+ getCurrentTemplateId,
85
+ getEditorSettings,
86
+ getRenderingMode,
87
+ getDeviceType
88
+ } = select(editorStore);
89
+ const {
90
+ getPostType,
91
+ canUser,
92
+ getEditedEntityRecord
93
+ } = select(coreStore);
94
+ const postTypeSlug = getCurrentPostType();
95
+ const _renderingMode = getRenderingMode();
96
+ let _wrapperBlockName;
97
+ if (postTypeSlug === 'wp_block') {
98
+ _wrapperBlockName = 'core/block';
99
+ } else if (!_renderingMode === 'post-only') {
100
+ _wrapperBlockName = 'core/post-content';
101
+ }
102
+ const editorSettings = getEditorSettings();
103
+ const supportsTemplateMode = editorSettings.supportsTemplateMode;
104
+ const postType = getPostType(postTypeSlug);
105
+ const canEditTemplate = canUser('create', 'templates');
106
+ const currentTemplateId = getCurrentTemplateId();
107
+ const template = currentTemplateId ? getEditedEntityRecord('postType', 'wp_template', currentTemplateId) : undefined;
108
+ return {
109
+ renderingMode: _renderingMode,
110
+ postContentAttributes: editorSettings.postContentAttributes,
111
+ // Post template fetch returns a 404 on classic themes, which
112
+ // messes with e2e tests, so check it's a block theme first.
113
+ editedPostTemplate: postType?.viewable && supportsTemplateMode && canEditTemplate ? template : undefined,
114
+ wrapperBlockName: _wrapperBlockName,
115
+ wrapperUniqueId: getCurrentPostId(),
116
+ deviceType: getDeviceType(),
117
+ hasHistory: !!editorSettings.goBack
118
+ };
119
+ }, []);
120
+ const {
121
+ isCleanNewPost
122
+ } = useSelect(editorStore);
123
+ const {
124
+ hasRootPaddingAwareAlignments,
125
+ themeHasDisabledLayoutStyles,
126
+ themeSupportsLayout
127
+ } = useSelect(select => {
128
+ const _settings = select(blockEditorStore).getSettings();
129
+ return {
130
+ themeHasDisabledLayoutStyles: _settings.disableLayoutStyles,
131
+ themeSupportsLayout: _settings.supportsLayout,
132
+ hasRootPaddingAwareAlignments: _settings.__experimentalFeatures?.useRootPaddingAwareAlignments
133
+ };
134
+ }, []);
135
+ const deviceStyles = useResizeCanvas(deviceType);
136
+ const [globalLayoutSettings] = useSettings('layout');
137
+
138
+ // fallbackLayout is used if there is no Post Content,
139
+ // and for Post Title.
140
+ const fallbackLayout = useMemo(() => {
141
+ if (renderingMode !== 'post-only') {
142
+ return {
143
+ type: 'default'
144
+ };
145
+ }
146
+ if (themeSupportsLayout) {
147
+ // We need to ensure support for wide and full alignments,
148
+ // so we add the constrained type.
149
+ return {
150
+ ...globalLayoutSettings,
151
+ type: 'constrained'
152
+ };
153
+ }
154
+ // Set default layout for classic themes so all alignments are supported.
155
+ return {
156
+ type: 'default'
157
+ };
158
+ }, [renderingMode, themeSupportsLayout, globalLayoutSettings]);
159
+ const newestPostContentAttributes = useMemo(() => {
160
+ if (!editedPostTemplate?.content && !editedPostTemplate?.blocks && postContentAttributes) {
161
+ return postContentAttributes;
162
+ }
163
+ // When in template editing mode, we can access the blocks directly.
164
+ if (editedPostTemplate?.blocks) {
165
+ return getPostContentAttributes(editedPostTemplate?.blocks);
166
+ }
167
+ // If there are no blocks, we have to parse the content string.
168
+ // Best double-check it's a string otherwise the parse function gets unhappy.
169
+ const parseableContent = typeof editedPostTemplate?.content === 'string' ? editedPostTemplate?.content : '';
170
+ return getPostContentAttributes(parse(parseableContent)) || {};
171
+ }, [editedPostTemplate?.content, editedPostTemplate?.blocks, postContentAttributes]);
172
+ const hasPostContentAtRootLevel = useMemo(() => {
173
+ if (!editedPostTemplate?.content && !editedPostTemplate?.blocks) {
174
+ return false;
175
+ }
176
+ // When in template editing mode, we can access the blocks directly.
177
+ if (editedPostTemplate?.blocks) {
178
+ return checkForPostContentAtRootLevel(editedPostTemplate?.blocks);
179
+ }
180
+ // If there are no blocks, we have to parse the content string.
181
+ // Best double-check it's a string otherwise the parse function gets unhappy.
182
+ const parseableContent = typeof editedPostTemplate?.content === 'string' ? editedPostTemplate?.content : '';
183
+ return checkForPostContentAtRootLevel(parse(parseableContent)) || false;
184
+ }, [editedPostTemplate?.content, editedPostTemplate?.blocks]);
185
+ const {
186
+ layout = {},
187
+ align = ''
188
+ } = newestPostContentAttributes || {};
189
+ const postContentLayoutClasses = useLayoutClasses(newestPostContentAttributes, 'core/post-content');
190
+ const blockListLayoutClass = classnames({
191
+ 'is-layout-flow': !themeSupportsLayout
192
+ }, themeSupportsLayout && postContentLayoutClasses, align && `align${align}`);
193
+ const postContentLayoutStyles = useLayoutStyles(newestPostContentAttributes, 'core/post-content', '.block-editor-block-list__layout.is-root-container');
194
+
195
+ // Update type for blocks using legacy layouts.
196
+ const postContentLayout = useMemo(() => {
197
+ return layout && (layout?.type === 'constrained' || layout?.inherit || layout?.contentSize || layout?.wideSize) ? {
198
+ ...globalLayoutSettings,
199
+ ...layout,
200
+ type: 'constrained'
201
+ } : {
202
+ ...globalLayoutSettings,
203
+ ...layout,
204
+ type: 'default'
205
+ };
206
+ }, [layout?.type, layout?.inherit, layout?.contentSize, layout?.wideSize, globalLayoutSettings]);
207
+
208
+ // If there is a Post Content block we use its layout for the block list;
209
+ // if not, this must be a classic theme, in which case we use the fallback layout.
210
+ const blockListLayout = postContentAttributes ? postContentLayout : fallbackLayout;
211
+ const postEditorLayout = blockListLayout?.type === 'default' && !hasPostContentAtRootLevel ? fallbackLayout : blockListLayout;
212
+ const observeTypingRef = useTypingObserver();
213
+ const titleRef = useRef();
214
+ useEffect(() => {
215
+ if (!autoFocus || !isCleanNewPost()) {
216
+ return;
217
+ }
218
+ titleRef?.current?.focus();
219
+ }, [autoFocus, isCleanNewPost]);
220
+
221
+ // Add some styles for alignwide/alignfull Post Content and its children.
222
+ const alignCSS = `.is-root-container.alignwide { max-width: var(--wp--style--global--wide-size); margin-left: auto; margin-right: auto;}
223
+ .is-root-container.alignwide:where(.is-layout-flow) > :not(.alignleft):not(.alignright) { max-width: var(--wp--style--global--wide-size);}
224
+ .is-root-container.alignfull { max-width: none; margin-left: auto; margin-right: auto;}
225
+ .is-root-container.alignfull:where(.is-layout-flow) > :not(.alignleft):not(.alignright) { max-width: none;}`;
226
+ const localRef = useRef();
227
+ const typewriterRef = useTypewriter();
228
+ const contentRef = useMergeRefs([localRef, renderingMode === 'post-only' ? typewriterRef : noop]);
229
+ return createElement(BlockCanvas, {
230
+ shouldIframe: !disableIframe || ['Tablet', 'Mobile'].includes(deviceType),
231
+ contentRef: contentRef,
232
+ styles: styles,
233
+ height: "100%",
234
+ iframeProps: {
235
+ className: classnames('editor-canvas__iframe', {
236
+ 'has-history': hasHistory
237
+ }),
238
+ ...iframeProps,
239
+ style: {
240
+ ...iframeProps?.style,
241
+ ...deviceStyles
242
+ }
243
+ }
244
+ }, themeSupportsLayout && !themeHasDisabledLayoutStyles && renderingMode === 'post-only' && createElement(Fragment, null, createElement(LayoutStyle, {
245
+ selector: ".editor-editor-canvas__post-title-wrapper",
246
+ layout: fallbackLayout
247
+ }), createElement(LayoutStyle, {
248
+ selector: ".block-editor-block-list__layout.is-root-container",
249
+ layout: postEditorLayout
250
+ }), align && createElement(LayoutStyle, {
251
+ css: alignCSS
252
+ }), postContentLayoutStyles && createElement(LayoutStyle, {
253
+ layout: postContentLayout,
254
+ css: postContentLayoutStyles
255
+ })), renderingMode === 'post-only' && createElement("div", {
256
+ className: classnames('editor-editor-canvas__post-title-wrapper',
257
+ // The following class is only here for backward comapatibility
258
+ // some themes might be using it to style the post title.
259
+ 'edit-post-visual-editor__post-title-wrapper', {
260
+ 'has-global-padding': hasRootPaddingAwareAlignments
261
+ }),
262
+ contentEditable: false,
263
+ ref: observeTypingRef,
264
+ style: {
265
+ // This is using inline styles
266
+ // so it's applied for both iframed and non iframed editors.
267
+ marginTop: '4rem'
268
+ }
269
+ }, createElement(PostTitle, {
270
+ ref: titleRef
271
+ })), createElement(RecursionProvider, {
272
+ blockName: wrapperBlockName,
273
+ uniqueId: wrapperUniqueId
274
+ }, createElement(BlockList, {
275
+ className: classnames(className, 'is-' + deviceType.toLowerCase() + '-preview', renderingMode !== 'post-only' ? 'wp-site-blocks' : `${blockListLayoutClass} wp-block-post-content` // Ensure root level blocks receive default/flow blockGap styling rules.
276
+ ),
277
+
278
+ layout: blockListLayout,
279
+ dropZoneElement:
280
+ // When iframed, pass in the html element of the iframe to
281
+ // ensure the drop zone extends to the edges of the iframe.
282
+ disableIframe ? localRef.current : localRef.current?.parentNode,
283
+ renderAppender: renderAppender
284
+ }), createElement(EditTemplateBlocksNotification, {
285
+ contentRef: localRef
286
+ })), children);
287
+ }
288
+ export default EditorCanvas;
289
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["classnames","BlockList","store","blockEditorStore","__unstableUseTypewriter","useTypewriter","__unstableUseTypingObserver","useTypingObserver","useSettings","__experimentalRecursionProvider","RecursionProvider","privateApis","blockEditorPrivateApis","__experimentalUseResizeCanvas","useResizeCanvas","useEffect","useRef","useMemo","useSelect","parse","coreStore","useMergeRefs","PostTitle","editorStore","unlock","EditTemplateBlocksNotification","LayoutStyle","useLayoutClasses","useLayoutStyles","ExperimentalBlockCanvas","BlockCanvas","noop","getPostContentAttributes","blocks","i","length","name","attributes","innerBlocks","nestedPostContent","checkForPostContentAtRootLevel","EditorCanvas","autoFocus","className","renderAppender","styles","disableIframe","iframeProps","children","renderingMode","postContentAttributes","editedPostTemplate","wrapperBlockName","wrapperUniqueId","deviceType","hasHistory","select","getCurrentPostId","getCurrentPostType","getCurrentTemplateId","getEditorSettings","getRenderingMode","getDeviceType","getPostType","canUser","getEditedEntityRecord","postTypeSlug","_renderingMode","_wrapperBlockName","editorSettings","supportsTemplateMode","postType","canEditTemplate","currentTemplateId","template","undefined","viewable","goBack","isCleanNewPost","hasRootPaddingAwareAlignments","themeHasDisabledLayoutStyles","themeSupportsLayout","_settings","getSettings","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","contentRef","createElement","shouldIframe","includes","height","style","Fragment","selector","css","contentEditable","ref","marginTop","blockName","uniqueId","toLowerCase","dropZoneElement","parentNode"],"sources":["@wordpress/editor/src/components/editor-canvas/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\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\t__experimentalRecursionProvider as RecursionProvider,\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 { useMergeRefs } 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';\n\nconst {\n\tLayoutStyle,\n\tuseLayoutClasses,\n\tuseLayoutStyles,\n\tExperimentalBlockCanvas: BlockCanvas,\n} = unlock( blockEditorPrivateApis );\n\nconst noop = () => {};\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 EditorCanvas( {\n\t// Ideally as we unify post and site editors, we won't need these props.\n\tautoFocus,\n\tclassName,\n\trenderAppender,\n\tstyles,\n\tdisableIframe = false,\n\tiframeProps,\n\tchildren,\n} ) {\n\tconst {\n\t\trenderingMode,\n\t\tpostContentAttributes,\n\t\teditedPostTemplate = {},\n\t\twrapperBlockName,\n\t\twrapperUniqueId,\n\t\tdeviceType,\n\t\thasHistory,\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 === 'wp_block' ) {\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 postType = 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\t'wp_template',\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\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\tpostType?.viewable && supportsTemplateMode && canEditTemplate\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\thasHistory: !! editorSettings.goBack,\n\t\t};\n\t}, [] );\n\tconst { isCleanNewPost } = useSelect( editorStore );\n\tconst {\n\t\thasRootPaddingAwareAlignments,\n\t\tthemeHasDisabledLayoutStyles,\n\t\tthemeSupportsLayout,\n\t} = useSelect( ( select ) => {\n\t\tconst _settings = select( blockEditorStore ).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};\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' ) {\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}, [ renderingMode, themeSupportsLayout, globalLayoutSettings ] );\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 = classnames(\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\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\tconst contentRef = useMergeRefs( [\n\t\tlocalRef,\n\t\trenderingMode === 'post-only' ? typewriterRef : noop,\n\t] );\n\n\treturn (\n\t\t<BlockCanvas\n\t\t\tshouldIframe={\n\t\t\t\t! disableIframe || [ 'Tablet', 'Mobile' ].includes( deviceType )\n\t\t\t}\n\t\t\tcontentRef={ contentRef }\n\t\t\tstyles={ styles }\n\t\t\theight=\"100%\"\n\t\t\tiframeProps={ {\n\t\t\t\tclassName: classnames( 'editor-canvas__iframe', {\n\t\t\t\t\t'has-history': hasHistory,\n\t\t\t\t} ),\n\t\t\t\t...iframeProps,\n\t\t\t\tstyle: {\n\t\t\t\t\t...iframeProps?.style,\n\t\t\t\t\t...deviceStyles,\n\t\t\t\t},\n\t\t\t} }\n\t\t>\n\t\t\t{ themeSupportsLayout &&\n\t\t\t\t! themeHasDisabledLayoutStyles &&\n\t\t\t\trenderingMode === 'post-only' && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<LayoutStyle\n\t\t\t\t\t\t\tselector=\".editor-editor-canvas__post-title-wrapper\"\n\t\t\t\t\t\t\tlayout={ fallbackLayout }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<LayoutStyle\n\t\t\t\t\t\t\tselector=\".block-editor-block-list__layout.is-root-container\"\n\t\t\t\t\t\t\tlayout={ postEditorLayout }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t{ align && <LayoutStyle css={ alignCSS } /> }\n\t\t\t\t\t\t{ postContentLayoutStyles && (\n\t\t\t\t\t\t\t<LayoutStyle\n\t\t\t\t\t\t\t\tlayout={ postContentLayout }\n\t\t\t\t\t\t\t\tcss={ postContentLayoutStyles }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</>\n\t\t\t\t) }\n\t\t\t{ renderingMode === 'post-only' && (\n\t\t\t\t<div\n\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t'editor-editor-canvas__post-title-wrapper',\n\t\t\t\t\t\t// The following class is only here for backward comapatibility\n\t\t\t\t\t\t// some themes might be using it to style the post title.\n\t\t\t\t\t\t'edit-post-visual-editor__post-title-wrapper',\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t'has-global-padding': hasRootPaddingAwareAlignments,\n\t\t\t\t\t\t}\n\t\t\t\t\t) }\n\t\t\t\t\tcontentEditable={ false }\n\t\t\t\t\tref={ observeTypingRef }\n\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t// This is using inline styles\n\t\t\t\t\t\t// so it's applied for both iframed and non iframed editors.\n\t\t\t\t\t\tmarginTop: '4rem',\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t<PostTitle ref={ titleRef } />\n\t\t\t\t</div>\n\t\t\t) }\n\t\t\t<RecursionProvider\n\t\t\t\tblockName={ wrapperBlockName }\n\t\t\t\tuniqueId={ wrapperUniqueId }\n\t\t\t>\n\t\t\t\t<BlockList\n\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\tclassName,\n\t\t\t\t\t\t'is-' + deviceType.toLowerCase() + '-preview',\n\t\t\t\t\t\trenderingMode !== 'post-only'\n\t\t\t\t\t\t\t? 'wp-site-blocks'\n\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) }\n\t\t\t\t\tlayout={ blockListLayout }\n\t\t\t\t\tdropZoneElement={\n\t\t\t\t\t\t// When iframed, pass in the html element of the iframe to\n\t\t\t\t\t\t// ensure the drop zone extends to the edges of the iframe.\n\t\t\t\t\t\tdisableIframe\n\t\t\t\t\t\t\t? localRef.current\n\t\t\t\t\t\t\t: localRef.current?.parentNode\n\t\t\t\t\t}\n\t\t\t\t\trenderAppender={ renderAppender }\n\t\t\t\t/>\n\t\t\t\t<EditTemplateBlocksNotification contentRef={ localRef } />\n\t\t\t</RecursionProvider>\n\t\t\t{ children }\n\t\t</BlockCanvas>\n\t);\n}\n\nexport default EditorCanvas;\n"],"mappings":"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"}
@@ -170,7 +170,9 @@ export function EntitiesSavedStatesExtensible({
170
170
  onClick: dismissPanel
171
171
  }, __('Cancel'))), createElement("div", {
172
172
  className: "entities-saved-states__text-prompt"
173
- }, createElement("strong", null, __('Are you ready to save?')), additionalPrompt, isDirty && createElement("p", null, __('The following changes have been made to your site, templates, and content.'))), sortedPartitionedSavables.map(list => {
173
+ }, createElement("strong", {
174
+ className: "entities-saved-states__text-prompt--header"
175
+ }, __('Are you ready to save?')), additionalPrompt, isDirty && createElement("p", null, __('The following changes have been made to your site, templates, and content.'))), sortedPartitionedSavables.map(list => {
174
176
  return createElement(EntityTypeList, {
175
177
  key: list[0].name,
176
178
  list: list,
@@ -1 +1 @@
1
- {"version":3,"names":["Button","Flex","FlexItem","__","useSelect","useDispatch","useCallback","useRef","store","coreStore","blockEditorStore","__experimentalUseDialog","useDialog","noticesStore","EntityTypeList","useIsDirty","PUBLISH_ON_SAVE_ENTITIES","kind","name","identity","values","EntitiesSavedStates","close","isDirtyProps","createElement","EntitiesSavedStatesExtensible","additionalPrompt","undefined","onSave","saveEnabled","saveEnabledProp","saveLabel","dirtyEntityRecords","isDirty","setUnselectedEntities","unselectedEntities","saveButtonRef","editEntityRecord","saveEditedEntityRecord","__experimentalSaveSpecifiedEntityEdits","saveSpecifiedEntityEdits","__unstableMarkLastChangeAsPersistent","createSuccessNotice","createErrorNotice","removeNotice","partitionedSavables","reduce","acc","record","push","site","siteSavables","wp_template","templateSavables","wp_template_part","templatePartSavables","contentSavables","sortedPartitionedSavables","Object","filter","Array","isArray","homeUrl","select","getUnstableBase","home","saveCheckedEntities","saveNoticeId","entitiesToSave","key","property","some","elt","siteItemsToSave","pendingSavedRecords","forEach","typeToPublish","status","length","Promise","all","then","value","type","id","actions","label","url","catch","error","dismissPanel","saveDialogRef","saveDialogProps","onClose","ref","className","gap","isBlock","as","variant","disabled","onClick","map","list"],"sources":["@wordpress/editor/src/components/entities-saved-states/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { Button, Flex, FlexItem } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useCallback, useRef } from '@wordpress/element';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { __experimentalUseDialog as useDialog } from '@wordpress/compose';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport EntityTypeList from './entity-type-list';\nimport { useIsDirty } from './hooks/use-is-dirty';\n\nconst PUBLISH_ON_SAVE_ENTITIES = [\n\t{\n\t\tkind: 'postType',\n\t\tname: 'wp_navigation',\n\t},\n];\n\nfunction identity( values ) {\n\treturn values;\n}\n\nexport default function EntitiesSavedStates( { close } ) {\n\tconst isDirtyProps = useIsDirty();\n\treturn (\n\t\t<EntitiesSavedStatesExtensible close={ close } { ...isDirtyProps } />\n\t);\n}\n\nexport function EntitiesSavedStatesExtensible( {\n\tadditionalPrompt = undefined,\n\tclose,\n\tonSave = identity,\n\tsaveEnabled: saveEnabledProp = undefined,\n\tsaveLabel = __( 'Save' ),\n\n\tdirtyEntityRecords,\n\tisDirty,\n\tsetUnselectedEntities,\n\tunselectedEntities,\n} ) {\n\tconst saveButtonRef = useRef();\n\tconst {\n\t\teditEntityRecord,\n\t\tsaveEditedEntityRecord,\n\t\t__experimentalSaveSpecifiedEntityEdits: saveSpecifiedEntityEdits,\n\t} = useDispatch( coreStore );\n\n\tconst { __unstableMarkLastChangeAsPersistent } =\n\t\tuseDispatch( blockEditorStore );\n\n\tconst { createSuccessNotice, createErrorNotice, removeNotice } =\n\t\tuseDispatch( noticesStore );\n\n\t// To group entities by type.\n\tconst partitionedSavables = dirtyEntityRecords.reduce( ( acc, record ) => {\n\t\tconst { name } = record;\n\t\tif ( ! acc[ name ] ) {\n\t\t\tacc[ name ] = [];\n\t\t}\n\t\tacc[ name ].push( record );\n\t\treturn acc;\n\t}, {} );\n\n\t// Sort entity groups.\n\tconst {\n\t\tsite: siteSavables,\n\t\twp_template: templateSavables,\n\t\twp_template_part: templatePartSavables,\n\t\t...contentSavables\n\t} = partitionedSavables;\n\tconst sortedPartitionedSavables = [\n\t\tsiteSavables,\n\t\ttemplateSavables,\n\t\ttemplatePartSavables,\n\t\t...Object.values( contentSavables ),\n\t].filter( Array.isArray );\n\n\tconst saveEnabled = saveEnabledProp ?? isDirty;\n\n\tconst { homeUrl } = useSelect( ( select ) => {\n\t\tconst {\n\t\t\tgetUnstableBase, // Site index.\n\t\t} = select( coreStore );\n\t\treturn {\n\t\t\thomeUrl: getUnstableBase()?.home,\n\t\t};\n\t}, [] );\n\n\tconst saveCheckedEntities = () => {\n\t\tconst saveNoticeId = 'site-editor-save-success';\n\t\tremoveNotice( saveNoticeId );\n\t\tconst entitiesToSave = dirtyEntityRecords.filter(\n\t\t\t( { kind, name, key, property } ) => {\n\t\t\t\treturn ! unselectedEntities.some(\n\t\t\t\t\t( elt ) =>\n\t\t\t\t\t\telt.kind === kind &&\n\t\t\t\t\t\telt.name === name &&\n\t\t\t\t\t\telt.key === key &&\n\t\t\t\t\t\telt.property === property\n\t\t\t\t);\n\t\t\t}\n\t\t);\n\n\t\tclose( entitiesToSave );\n\n\t\tconst siteItemsToSave = [];\n\t\tconst pendingSavedRecords = [];\n\t\tentitiesToSave.forEach( ( { kind, name, key, property } ) => {\n\t\t\tif ( 'root' === kind && 'site' === name ) {\n\t\t\t\tsiteItemsToSave.push( property );\n\t\t\t} else {\n\t\t\t\tif (\n\t\t\t\t\tPUBLISH_ON_SAVE_ENTITIES.some(\n\t\t\t\t\t\t( typeToPublish ) =>\n\t\t\t\t\t\t\ttypeToPublish.kind === kind &&\n\t\t\t\t\t\t\ttypeToPublish.name === name\n\t\t\t\t\t)\n\t\t\t\t) {\n\t\t\t\t\teditEntityRecord( kind, name, key, { status: 'publish' } );\n\t\t\t\t}\n\n\t\t\t\tpendingSavedRecords.push(\n\t\t\t\t\tsaveEditedEntityRecord( kind, name, key )\n\t\t\t\t);\n\t\t\t}\n\t\t} );\n\t\tif ( siteItemsToSave.length ) {\n\t\t\tpendingSavedRecords.push(\n\t\t\t\tsaveSpecifiedEntityEdits(\n\t\t\t\t\t'root',\n\t\t\t\t\t'site',\n\t\t\t\t\tundefined,\n\t\t\t\t\tsiteItemsToSave\n\t\t\t\t)\n\t\t\t);\n\t\t}\n\n\t\t__unstableMarkLastChangeAsPersistent();\n\n\t\tPromise.all( pendingSavedRecords )\n\t\t\t.then( ( values ) => {\n\t\t\t\treturn onSave( values );\n\t\t\t} )\n\t\t\t.then( ( values ) => {\n\t\t\t\tif (\n\t\t\t\t\tvalues.some( ( value ) => typeof value === 'undefined' )\n\t\t\t\t) {\n\t\t\t\t\tcreateErrorNotice( __( 'Saving failed.' ) );\n\t\t\t\t} else {\n\t\t\t\t\tcreateSuccessNotice( __( 'Site updated.' ), {\n\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t\tid: saveNoticeId,\n\t\t\t\t\t\tactions: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tlabel: __( 'View site' ),\n\t\t\t\t\t\t\t\turl: homeUrl,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t],\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t} )\n\t\t\t.catch( ( error ) =>\n\t\t\t\tcreateErrorNotice( `${ __( 'Saving failed.' ) } ${ error }` )\n\t\t\t);\n\t};\n\n\t// Explicitly define this with no argument passed. Using `close` on\n\t// its own will use the event object in place of the expected saved entities.\n\tconst dismissPanel = useCallback( () => close(), [ close ] );\n\n\tconst [ saveDialogRef, saveDialogProps ] = useDialog( {\n\t\tonClose: () => dismissPanel(),\n\t} );\n\n\treturn (\n\t\t<div\n\t\t\tref={ saveDialogRef }\n\t\t\t{ ...saveDialogProps }\n\t\t\tclassName=\"entities-saved-states__panel\"\n\t\t>\n\t\t\t<Flex className=\"entities-saved-states__panel-header\" gap={ 2 }>\n\t\t\t\t<FlexItem\n\t\t\t\t\tisBlock\n\t\t\t\t\tas={ Button }\n\t\t\t\t\tref={ saveButtonRef }\n\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\tdisabled={ ! saveEnabled }\n\t\t\t\t\tonClick={ saveCheckedEntities }\n\t\t\t\t\tclassName=\"editor-entities-saved-states__save-button\"\n\t\t\t\t>\n\t\t\t\t\t{ saveLabel }\n\t\t\t\t</FlexItem>\n\t\t\t\t<FlexItem\n\t\t\t\t\tisBlock\n\t\t\t\t\tas={ Button }\n\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\tonClick={ dismissPanel }\n\t\t\t\t>\n\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t</FlexItem>\n\t\t\t</Flex>\n\n\t\t\t<div className=\"entities-saved-states__text-prompt\">\n\t\t\t\t<strong>{ __( 'Are you ready to save?' ) }</strong>\n\t\t\t\t{ additionalPrompt }\n\t\t\t\t{ isDirty && (\n\t\t\t\t\t<p>\n\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t'The following changes have been made to your site, templates, and content.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t</p>\n\t\t\t\t) }\n\t\t\t</div>\n\n\t\t\t{ sortedPartitionedSavables.map( ( list ) => {\n\t\t\t\treturn (\n\t\t\t\t\t<EntityTypeList\n\t\t\t\t\t\tkey={ list[ 0 ].name }\n\t\t\t\t\t\tlist={ list }\n\t\t\t\t\t\tunselectedEntities={ unselectedEntities }\n\t\t\t\t\t\tsetUnselectedEntities={ setUnselectedEntities }\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</div>\n\t);\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["Button","Flex","FlexItem","__","useSelect","useDispatch","useCallback","useRef","store","coreStore","blockEditorStore","__experimentalUseDialog","useDialog","noticesStore","EntityTypeList","useIsDirty","PUBLISH_ON_SAVE_ENTITIES","kind","name","identity","values","EntitiesSavedStates","close","isDirtyProps","createElement","EntitiesSavedStatesExtensible","additionalPrompt","undefined","onSave","saveEnabled","saveEnabledProp","saveLabel","dirtyEntityRecords","isDirty","setUnselectedEntities","unselectedEntities","saveButtonRef","editEntityRecord","saveEditedEntityRecord","__experimentalSaveSpecifiedEntityEdits","saveSpecifiedEntityEdits","__unstableMarkLastChangeAsPersistent","createSuccessNotice","createErrorNotice","removeNotice","partitionedSavables","reduce","acc","record","push","site","siteSavables","wp_template","templateSavables","wp_template_part","templatePartSavables","contentSavables","sortedPartitionedSavables","Object","filter","Array","isArray","homeUrl","select","getUnstableBase","home","saveCheckedEntities","saveNoticeId","entitiesToSave","key","property","some","elt","siteItemsToSave","pendingSavedRecords","forEach","typeToPublish","status","length","Promise","all","then","value","type","id","actions","label","url","catch","error","dismissPanel","saveDialogRef","saveDialogProps","onClose","ref","className","gap","isBlock","as","variant","disabled","onClick","map","list"],"sources":["@wordpress/editor/src/components/entities-saved-states/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { Button, Flex, FlexItem } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useCallback, useRef } from '@wordpress/element';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { __experimentalUseDialog as useDialog } from '@wordpress/compose';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport EntityTypeList from './entity-type-list';\nimport { useIsDirty } from './hooks/use-is-dirty';\n\nconst PUBLISH_ON_SAVE_ENTITIES = [\n\t{\n\t\tkind: 'postType',\n\t\tname: 'wp_navigation',\n\t},\n];\n\nfunction identity( values ) {\n\treturn values;\n}\n\nexport default function EntitiesSavedStates( { close } ) {\n\tconst isDirtyProps = useIsDirty();\n\treturn (\n\t\t<EntitiesSavedStatesExtensible close={ close } { ...isDirtyProps } />\n\t);\n}\n\nexport function EntitiesSavedStatesExtensible( {\n\tadditionalPrompt = undefined,\n\tclose,\n\tonSave = identity,\n\tsaveEnabled: saveEnabledProp = undefined,\n\tsaveLabel = __( 'Save' ),\n\n\tdirtyEntityRecords,\n\tisDirty,\n\tsetUnselectedEntities,\n\tunselectedEntities,\n} ) {\n\tconst saveButtonRef = useRef();\n\tconst {\n\t\teditEntityRecord,\n\t\tsaveEditedEntityRecord,\n\t\t__experimentalSaveSpecifiedEntityEdits: saveSpecifiedEntityEdits,\n\t} = useDispatch( coreStore );\n\n\tconst { __unstableMarkLastChangeAsPersistent } =\n\t\tuseDispatch( blockEditorStore );\n\n\tconst { createSuccessNotice, createErrorNotice, removeNotice } =\n\t\tuseDispatch( noticesStore );\n\n\t// To group entities by type.\n\tconst partitionedSavables = dirtyEntityRecords.reduce( ( acc, record ) => {\n\t\tconst { name } = record;\n\t\tif ( ! acc[ name ] ) {\n\t\t\tacc[ name ] = [];\n\t\t}\n\t\tacc[ name ].push( record );\n\t\treturn acc;\n\t}, {} );\n\n\t// Sort entity groups.\n\tconst {\n\t\tsite: siteSavables,\n\t\twp_template: templateSavables,\n\t\twp_template_part: templatePartSavables,\n\t\t...contentSavables\n\t} = partitionedSavables;\n\tconst sortedPartitionedSavables = [\n\t\tsiteSavables,\n\t\ttemplateSavables,\n\t\ttemplatePartSavables,\n\t\t...Object.values( contentSavables ),\n\t].filter( Array.isArray );\n\n\tconst saveEnabled = saveEnabledProp ?? isDirty;\n\n\tconst { homeUrl } = useSelect( ( select ) => {\n\t\tconst {\n\t\t\tgetUnstableBase, // Site index.\n\t\t} = select( coreStore );\n\t\treturn {\n\t\t\thomeUrl: getUnstableBase()?.home,\n\t\t};\n\t}, [] );\n\n\tconst saveCheckedEntities = () => {\n\t\tconst saveNoticeId = 'site-editor-save-success';\n\t\tremoveNotice( saveNoticeId );\n\t\tconst entitiesToSave = dirtyEntityRecords.filter(\n\t\t\t( { kind, name, key, property } ) => {\n\t\t\t\treturn ! unselectedEntities.some(\n\t\t\t\t\t( elt ) =>\n\t\t\t\t\t\telt.kind === kind &&\n\t\t\t\t\t\telt.name === name &&\n\t\t\t\t\t\telt.key === key &&\n\t\t\t\t\t\telt.property === property\n\t\t\t\t);\n\t\t\t}\n\t\t);\n\n\t\tclose( entitiesToSave );\n\n\t\tconst siteItemsToSave = [];\n\t\tconst pendingSavedRecords = [];\n\t\tentitiesToSave.forEach( ( { kind, name, key, property } ) => {\n\t\t\tif ( 'root' === kind && 'site' === name ) {\n\t\t\t\tsiteItemsToSave.push( property );\n\t\t\t} else {\n\t\t\t\tif (\n\t\t\t\t\tPUBLISH_ON_SAVE_ENTITIES.some(\n\t\t\t\t\t\t( typeToPublish ) =>\n\t\t\t\t\t\t\ttypeToPublish.kind === kind &&\n\t\t\t\t\t\t\ttypeToPublish.name === name\n\t\t\t\t\t)\n\t\t\t\t) {\n\t\t\t\t\teditEntityRecord( kind, name, key, { status: 'publish' } );\n\t\t\t\t}\n\n\t\t\t\tpendingSavedRecords.push(\n\t\t\t\t\tsaveEditedEntityRecord( kind, name, key )\n\t\t\t\t);\n\t\t\t}\n\t\t} );\n\t\tif ( siteItemsToSave.length ) {\n\t\t\tpendingSavedRecords.push(\n\t\t\t\tsaveSpecifiedEntityEdits(\n\t\t\t\t\t'root',\n\t\t\t\t\t'site',\n\t\t\t\t\tundefined,\n\t\t\t\t\tsiteItemsToSave\n\t\t\t\t)\n\t\t\t);\n\t\t}\n\n\t\t__unstableMarkLastChangeAsPersistent();\n\n\t\tPromise.all( pendingSavedRecords )\n\t\t\t.then( ( values ) => {\n\t\t\t\treturn onSave( values );\n\t\t\t} )\n\t\t\t.then( ( values ) => {\n\t\t\t\tif (\n\t\t\t\t\tvalues.some( ( value ) => typeof value === 'undefined' )\n\t\t\t\t) {\n\t\t\t\t\tcreateErrorNotice( __( 'Saving failed.' ) );\n\t\t\t\t} else {\n\t\t\t\t\tcreateSuccessNotice( __( 'Site updated.' ), {\n\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t\tid: saveNoticeId,\n\t\t\t\t\t\tactions: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tlabel: __( 'View site' ),\n\t\t\t\t\t\t\t\turl: homeUrl,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t],\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t} )\n\t\t\t.catch( ( error ) =>\n\t\t\t\tcreateErrorNotice( `${ __( 'Saving failed.' ) } ${ error }` )\n\t\t\t);\n\t};\n\n\t// Explicitly define this with no argument passed. Using `close` on\n\t// its own will use the event object in place of the expected saved entities.\n\tconst dismissPanel = useCallback( () => close(), [ close ] );\n\n\tconst [ saveDialogRef, saveDialogProps ] = useDialog( {\n\t\tonClose: () => dismissPanel(),\n\t} );\n\n\treturn (\n\t\t<div\n\t\t\tref={ saveDialogRef }\n\t\t\t{ ...saveDialogProps }\n\t\t\tclassName=\"entities-saved-states__panel\"\n\t\t>\n\t\t\t<Flex className=\"entities-saved-states__panel-header\" gap={ 2 }>\n\t\t\t\t<FlexItem\n\t\t\t\t\tisBlock\n\t\t\t\t\tas={ Button }\n\t\t\t\t\tref={ saveButtonRef }\n\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\tdisabled={ ! saveEnabled }\n\t\t\t\t\tonClick={ saveCheckedEntities }\n\t\t\t\t\tclassName=\"editor-entities-saved-states__save-button\"\n\t\t\t\t>\n\t\t\t\t\t{ saveLabel }\n\t\t\t\t</FlexItem>\n\t\t\t\t<FlexItem\n\t\t\t\t\tisBlock\n\t\t\t\t\tas={ Button }\n\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\tonClick={ dismissPanel }\n\t\t\t\t>\n\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t</FlexItem>\n\t\t\t</Flex>\n\n\t\t\t<div className=\"entities-saved-states__text-prompt\">\n\t\t\t\t<strong className=\"entities-saved-states__text-prompt--header\">\n\t\t\t\t\t{ __( 'Are you ready to save?' ) }\n\t\t\t\t</strong>\n\t\t\t\t{ additionalPrompt }\n\t\t\t\t{ isDirty && (\n\t\t\t\t\t<p>\n\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t'The following changes have been made to your site, templates, and content.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t</p>\n\t\t\t\t) }\n\t\t\t</div>\n\n\t\t\t{ sortedPartitionedSavables.map( ( list ) => {\n\t\t\t\treturn (\n\t\t\t\t\t<EntityTypeList\n\t\t\t\t\t\tkey={ list[ 0 ].name }\n\t\t\t\t\t\tlist={ list }\n\t\t\t\t\t\tunselectedEntities={ unselectedEntities }\n\t\t\t\t\t\tsetUnselectedEntities={ setUnselectedEntities }\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</div>\n\t);\n}\n"],"mappings":"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"}
@@ -12,11 +12,13 @@ export default function EditorKeyboardShortcuts() {
12
12
  const {
13
13
  redo,
14
14
  undo,
15
- savePost
15
+ savePost,
16
+ setIsListViewOpened
16
17
  } = useDispatch(editorStore);
17
18
  const {
18
19
  isEditedPostDirty,
19
- isPostSavingLocked
20
+ isPostSavingLocked,
21
+ isListViewOpened
20
22
  } = useSelect(editorStore);
21
23
  useShortcut('core/editor/undo', event => {
22
24
  undo();
@@ -46,6 +48,14 @@ export default function EditorKeyboardShortcuts() {
46
48
  }
47
49
  savePost();
48
50
  });
51
+
52
+ // Only opens the list view. Other functionality for this shortcut happens in the rendered sidebar.
53
+ useShortcut('core/editor/toggle-list-view', event => {
54
+ if (!isListViewOpened()) {
55
+ event.preventDefault();
56
+ setIsListViewOpened(true);
57
+ }
58
+ });
49
59
  return null;
50
60
  }
51
61
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["useShortcut","useDispatch","useSelect","store","editorStore","EditorKeyboardShortcuts","redo","undo","savePost","isEditedPostDirty","isPostSavingLocked","event","preventDefault"],"sources":["@wordpress/editor/src/components/global-keyboard-shortcuts/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useShortcut } from '@wordpress/keyboard-shortcuts';\nimport { useDispatch, useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\n\nexport default function EditorKeyboardShortcuts() {\n\tconst { redo, undo, savePost } = useDispatch( editorStore );\n\tconst { isEditedPostDirty, isPostSavingLocked } = useSelect( editorStore );\n\n\tuseShortcut( 'core/editor/undo', ( event ) => {\n\t\tundo();\n\t\tevent.preventDefault();\n\t} );\n\n\tuseShortcut( 'core/editor/redo', ( event ) => {\n\t\tredo();\n\t\tevent.preventDefault();\n\t} );\n\n\tuseShortcut( 'core/editor/save', ( event ) => {\n\t\tevent.preventDefault();\n\n\t\t/**\n\t\t * Do not save the post if post saving is locked.\n\t\t */\n\t\tif ( isPostSavingLocked() ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// TODO: This should be handled in the `savePost` effect in\n\t\t// considering `isSaveable`. See note on `isEditedPostSaveable`\n\t\t// selector about dirtiness and meta-boxes.\n\t\t//\n\t\t// See: `isEditedPostSaveable`\n\t\tif ( ! isEditedPostDirty() ) {\n\t\t\treturn;\n\t\t}\n\n\t\tsavePost();\n\t} );\n\n\treturn null;\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,WAAW,QAAQ,+BAA+B;AAC3D,SAASC,WAAW,EAAEC,SAAS,QAAQ,iBAAiB;;AAExD;AACA;AACA;AACA,SAASC,KAAK,IAAIC,WAAW,QAAQ,aAAa;AAElD,eAAe,SAASC,uBAAuBA,CAAA,EAAG;EACjD,MAAM;IAAEC,IAAI;IAAEC,IAAI;IAAEC;EAAS,CAAC,GAAGP,WAAW,CAAEG,WAAY,CAAC;EAC3D,MAAM;IAAEK,iBAAiB;IAAEC;EAAmB,CAAC,GAAGR,SAAS,CAAEE,WAAY,CAAC;EAE1EJ,WAAW,CAAE,kBAAkB,EAAIW,KAAK,IAAM;IAC7CJ,IAAI,CAAC,CAAC;IACNI,KAAK,CAACC,cAAc,CAAC,CAAC;EACvB,CAAE,CAAC;EAEHZ,WAAW,CAAE,kBAAkB,EAAIW,KAAK,IAAM;IAC7CL,IAAI,CAAC,CAAC;IACNK,KAAK,CAACC,cAAc,CAAC,CAAC;EACvB,CAAE,CAAC;EAEHZ,WAAW,CAAE,kBAAkB,EAAIW,KAAK,IAAM;IAC7CA,KAAK,CAACC,cAAc,CAAC,CAAC;;IAEtB;AACF;AACA;IACE,IAAKF,kBAAkB,CAAC,CAAC,EAAG;MAC3B;IACD;;IAEA;IACA;IACA;IACA;IACA;IACA,IAAK,CAAED,iBAAiB,CAAC,CAAC,EAAG;MAC5B;IACD;IAEAD,QAAQ,CAAC,CAAC;EACX,CAAE,CAAC;EAEH,OAAO,IAAI;AACZ"}
1
+ {"version":3,"names":["useShortcut","useDispatch","useSelect","store","editorStore","EditorKeyboardShortcuts","redo","undo","savePost","setIsListViewOpened","isEditedPostDirty","isPostSavingLocked","isListViewOpened","event","preventDefault"],"sources":["@wordpress/editor/src/components/global-keyboard-shortcuts/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useShortcut } from '@wordpress/keyboard-shortcuts';\nimport { useDispatch, useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\n\nexport default function EditorKeyboardShortcuts() {\n\tconst { redo, undo, savePost, setIsListViewOpened } =\n\t\tuseDispatch( editorStore );\n\tconst { isEditedPostDirty, isPostSavingLocked, isListViewOpened } =\n\t\tuseSelect( editorStore );\n\n\tuseShortcut( 'core/editor/undo', ( event ) => {\n\t\tundo();\n\t\tevent.preventDefault();\n\t} );\n\n\tuseShortcut( 'core/editor/redo', ( event ) => {\n\t\tredo();\n\t\tevent.preventDefault();\n\t} );\n\n\tuseShortcut( 'core/editor/save', ( event ) => {\n\t\tevent.preventDefault();\n\n\t\t/**\n\t\t * Do not save the post if post saving is locked.\n\t\t */\n\t\tif ( isPostSavingLocked() ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// TODO: This should be handled in the `savePost` effect in\n\t\t// considering `isSaveable`. See note on `isEditedPostSaveable`\n\t\t// selector about dirtiness and meta-boxes.\n\t\t//\n\t\t// See: `isEditedPostSaveable`\n\t\tif ( ! isEditedPostDirty() ) {\n\t\t\treturn;\n\t\t}\n\n\t\tsavePost();\n\t} );\n\n\t// Only opens the list view. Other functionality for this shortcut happens in the rendered sidebar.\n\tuseShortcut( 'core/editor/toggle-list-view', ( event ) => {\n\t\tif ( ! isListViewOpened() ) {\n\t\t\tevent.preventDefault();\n\t\t\tsetIsListViewOpened( true );\n\t\t}\n\t} );\n\n\treturn null;\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,WAAW,QAAQ,+BAA+B;AAC3D,SAASC,WAAW,EAAEC,SAAS,QAAQ,iBAAiB;;AAExD;AACA;AACA;AACA,SAASC,KAAK,IAAIC,WAAW,QAAQ,aAAa;AAElD,eAAe,SAASC,uBAAuBA,CAAA,EAAG;EACjD,MAAM;IAAEC,IAAI;IAAEC,IAAI;IAAEC,QAAQ;IAAEC;EAAoB,CAAC,GAClDR,WAAW,CAAEG,WAAY,CAAC;EAC3B,MAAM;IAAEM,iBAAiB;IAAEC,kBAAkB;IAAEC;EAAiB,CAAC,GAChEV,SAAS,CAAEE,WAAY,CAAC;EAEzBJ,WAAW,CAAE,kBAAkB,EAAIa,KAAK,IAAM;IAC7CN,IAAI,CAAC,CAAC;IACNM,KAAK,CAACC,cAAc,CAAC,CAAC;EACvB,CAAE,CAAC;EAEHd,WAAW,CAAE,kBAAkB,EAAIa,KAAK,IAAM;IAC7CP,IAAI,CAAC,CAAC;IACNO,KAAK,CAACC,cAAc,CAAC,CAAC;EACvB,CAAE,CAAC;EAEHd,WAAW,CAAE,kBAAkB,EAAIa,KAAK,IAAM;IAC7CA,KAAK,CAACC,cAAc,CAAC,CAAC;;IAEtB;AACF;AACA;IACE,IAAKH,kBAAkB,CAAC,CAAC,EAAG;MAC3B;IACD;;IAEA;IACA;IACA;IACA;IACA;IACA,IAAK,CAAED,iBAAiB,CAAC,CAAC,EAAG;MAC5B;IACD;IAEAF,QAAQ,CAAC,CAAC;EACX,CAAE,CAAC;;EAEH;EACAR,WAAW,CAAE,8BAA8B,EAAIa,KAAK,IAAM;IACzD,IAAK,CAAED,gBAAgB,CAAC,CAAC,EAAG;MAC3BC,KAAK,CAACC,cAAc,CAAC,CAAC;MACtBL,mBAAmB,CAAE,IAAK,CAAC;IAC5B;EACD,CAAE,CAAC;EAEH,OAAO,IAAI;AACZ"}
@@ -49,6 +49,15 @@ function EditorKeyboardShortcutsRegister() {
49
49
  character: 'y'
50
50
  }]
51
51
  });
52
+ registerShortcut({
53
+ name: 'core/editor/toggle-list-view',
54
+ category: 'global',
55
+ description: __('Open the block list view.'),
56
+ keyCombination: {
57
+ modifier: 'access',
58
+ character: 'o'
59
+ }
60
+ });
52
61
  }, [registerShortcut]);
53
62
  return createElement(BlockEditorKeyboardShortcuts.Register, null);
54
63
  }
@@ -1 +1 @@
1
- {"version":3,"names":["useEffect","useDispatch","__","BlockEditorKeyboardShortcuts","store","keyboardShortcutsStore","isAppleOS","EditorKeyboardShortcutsRegister","registerShortcut","name","category","description","keyCombination","modifier","character","aliases","createElement","Register"],"sources":["@wordpress/editor/src/components/global-keyboard-shortcuts/register-shortcuts.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useEffect } from '@wordpress/element';\nimport { useDispatch } from '@wordpress/data';\nimport { __ } from '@wordpress/i18n';\nimport { BlockEditorKeyboardShortcuts } from '@wordpress/block-editor';\nimport { store as keyboardShortcutsStore } from '@wordpress/keyboard-shortcuts';\nimport { isAppleOS } from '@wordpress/keycodes';\n\nfunction EditorKeyboardShortcutsRegister() {\n\t// Registering the shortcuts.\n\tconst { registerShortcut } = useDispatch( keyboardShortcutsStore );\n\tuseEffect( () => {\n\t\tregisterShortcut( {\n\t\t\tname: 'core/editor/save',\n\t\t\tcategory: 'global',\n\t\t\tdescription: __( 'Save your changes.' ),\n\t\t\tkeyCombination: {\n\t\t\t\tmodifier: 'primary',\n\t\t\t\tcharacter: 's',\n\t\t\t},\n\t\t} );\n\n\t\tregisterShortcut( {\n\t\t\tname: 'core/editor/undo',\n\t\t\tcategory: 'global',\n\t\t\tdescription: __( 'Undo your last changes.' ),\n\t\t\tkeyCombination: {\n\t\t\t\tmodifier: 'primary',\n\t\t\t\tcharacter: 'z',\n\t\t\t},\n\t\t} );\n\n\t\tregisterShortcut( {\n\t\t\tname: 'core/editor/redo',\n\t\t\tcategory: 'global',\n\t\t\tdescription: __( 'Redo your last undo.' ),\n\t\t\tkeyCombination: {\n\t\t\t\tmodifier: 'primaryShift',\n\t\t\t\tcharacter: 'z',\n\t\t\t},\n\t\t\t// Disable on Apple OS because it conflicts with the browser's\n\t\t\t// history shortcut. It's a fine alias for both Windows and Linux.\n\t\t\t// Since there's no conflict for Ctrl+Shift+Z on both Windows and\n\t\t\t// Linux, we keep it as the default for consistency.\n\t\t\taliases: isAppleOS()\n\t\t\t\t? []\n\t\t\t\t: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tmodifier: 'primary',\n\t\t\t\t\t\t\tcharacter: 'y',\n\t\t\t\t\t\t},\n\t\t\t\t ],\n\t\t} );\n\t}, [ registerShortcut ] );\n\n\treturn <BlockEditorKeyboardShortcuts.Register />;\n}\n\nexport default EditorKeyboardShortcutsRegister;\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,SAAS,QAAQ,oBAAoB;AAC9C,SAASC,WAAW,QAAQ,iBAAiB;AAC7C,SAASC,EAAE,QAAQ,iBAAiB;AACpC,SAASC,4BAA4B,QAAQ,yBAAyB;AACtE,SAASC,KAAK,IAAIC,sBAAsB,QAAQ,+BAA+B;AAC/E,SAASC,SAAS,QAAQ,qBAAqB;AAE/C,SAASC,+BAA+BA,CAAA,EAAG;EAC1C;EACA,MAAM;IAAEC;EAAiB,CAAC,GAAGP,WAAW,CAAEI,sBAAuB,CAAC;EAClEL,SAAS,CAAE,MAAM;IAChBQ,gBAAgB,CAAE;MACjBC,IAAI,EAAE,kBAAkB;MACxBC,QAAQ,EAAE,QAAQ;MAClBC,WAAW,EAAET,EAAE,CAAE,oBAAqB,CAAC;MACvCU,cAAc,EAAE;QACfC,QAAQ,EAAE,SAAS;QACnBC,SAAS,EAAE;MACZ;IACD,CAAE,CAAC;IAEHN,gBAAgB,CAAE;MACjBC,IAAI,EAAE,kBAAkB;MACxBC,QAAQ,EAAE,QAAQ;MAClBC,WAAW,EAAET,EAAE,CAAE,yBAA0B,CAAC;MAC5CU,cAAc,EAAE;QACfC,QAAQ,EAAE,SAAS;QACnBC,SAAS,EAAE;MACZ;IACD,CAAE,CAAC;IAEHN,gBAAgB,CAAE;MACjBC,IAAI,EAAE,kBAAkB;MACxBC,QAAQ,EAAE,QAAQ;MAClBC,WAAW,EAAET,EAAE,CAAE,sBAAuB,CAAC;MACzCU,cAAc,EAAE;QACfC,QAAQ,EAAE,cAAc;QACxBC,SAAS,EAAE;MACZ,CAAC;MACD;MACA;MACA;MACA;MACAC,OAAO,EAAET,SAAS,CAAC,CAAC,GACjB,EAAE,GACF,CACA;QACCO,QAAQ,EAAE,SAAS;QACnBC,SAAS,EAAE;MACZ,CAAC;IAEL,CAAE,CAAC;EACJ,CAAC,EAAE,CAAEN,gBAAgB,CAAG,CAAC;EAEzB,OAAOQ,aAAA,CAACb,4BAA4B,CAACc,QAAQ,MAAE,CAAC;AACjD;AAEA,eAAeV,+BAA+B"}
1
+ {"version":3,"names":["useEffect","useDispatch","__","BlockEditorKeyboardShortcuts","store","keyboardShortcutsStore","isAppleOS","EditorKeyboardShortcutsRegister","registerShortcut","name","category","description","keyCombination","modifier","character","aliases","createElement","Register"],"sources":["@wordpress/editor/src/components/global-keyboard-shortcuts/register-shortcuts.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useEffect } from '@wordpress/element';\nimport { useDispatch } from '@wordpress/data';\nimport { __ } from '@wordpress/i18n';\nimport { BlockEditorKeyboardShortcuts } from '@wordpress/block-editor';\nimport { store as keyboardShortcutsStore } from '@wordpress/keyboard-shortcuts';\nimport { isAppleOS } from '@wordpress/keycodes';\n\nfunction EditorKeyboardShortcutsRegister() {\n\t// Registering the shortcuts.\n\tconst { registerShortcut } = useDispatch( keyboardShortcutsStore );\n\tuseEffect( () => {\n\t\tregisterShortcut( {\n\t\t\tname: 'core/editor/save',\n\t\t\tcategory: 'global',\n\t\t\tdescription: __( 'Save your changes.' ),\n\t\t\tkeyCombination: {\n\t\t\t\tmodifier: 'primary',\n\t\t\t\tcharacter: 's',\n\t\t\t},\n\t\t} );\n\n\t\tregisterShortcut( {\n\t\t\tname: 'core/editor/undo',\n\t\t\tcategory: 'global',\n\t\t\tdescription: __( 'Undo your last changes.' ),\n\t\t\tkeyCombination: {\n\t\t\t\tmodifier: 'primary',\n\t\t\t\tcharacter: 'z',\n\t\t\t},\n\t\t} );\n\n\t\tregisterShortcut( {\n\t\t\tname: 'core/editor/redo',\n\t\t\tcategory: 'global',\n\t\t\tdescription: __( 'Redo your last undo.' ),\n\t\t\tkeyCombination: {\n\t\t\t\tmodifier: 'primaryShift',\n\t\t\t\tcharacter: 'z',\n\t\t\t},\n\t\t\t// Disable on Apple OS because it conflicts with the browser's\n\t\t\t// history shortcut. It's a fine alias for both Windows and Linux.\n\t\t\t// Since there's no conflict for Ctrl+Shift+Z on both Windows and\n\t\t\t// Linux, we keep it as the default for consistency.\n\t\t\taliases: isAppleOS()\n\t\t\t\t? []\n\t\t\t\t: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tmodifier: 'primary',\n\t\t\t\t\t\t\tcharacter: 'y',\n\t\t\t\t\t\t},\n\t\t\t\t ],\n\t\t} );\n\n\t\tregisterShortcut( {\n\t\t\tname: 'core/editor/toggle-list-view',\n\t\t\tcategory: 'global',\n\t\t\tdescription: __( 'Open the block list view.' ),\n\t\t\tkeyCombination: {\n\t\t\t\tmodifier: 'access',\n\t\t\t\tcharacter: 'o',\n\t\t\t},\n\t\t} );\n\t}, [ registerShortcut ] );\n\n\treturn <BlockEditorKeyboardShortcuts.Register />;\n}\n\nexport default EditorKeyboardShortcutsRegister;\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,SAAS,QAAQ,oBAAoB;AAC9C,SAASC,WAAW,QAAQ,iBAAiB;AAC7C,SAASC,EAAE,QAAQ,iBAAiB;AACpC,SAASC,4BAA4B,QAAQ,yBAAyB;AACtE,SAASC,KAAK,IAAIC,sBAAsB,QAAQ,+BAA+B;AAC/E,SAASC,SAAS,QAAQ,qBAAqB;AAE/C,SAASC,+BAA+BA,CAAA,EAAG;EAC1C;EACA,MAAM;IAAEC;EAAiB,CAAC,GAAGP,WAAW,CAAEI,sBAAuB,CAAC;EAClEL,SAAS,CAAE,MAAM;IAChBQ,gBAAgB,CAAE;MACjBC,IAAI,EAAE,kBAAkB;MACxBC,QAAQ,EAAE,QAAQ;MAClBC,WAAW,EAAET,EAAE,CAAE,oBAAqB,CAAC;MACvCU,cAAc,EAAE;QACfC,QAAQ,EAAE,SAAS;QACnBC,SAAS,EAAE;MACZ;IACD,CAAE,CAAC;IAEHN,gBAAgB,CAAE;MACjBC,IAAI,EAAE,kBAAkB;MACxBC,QAAQ,EAAE,QAAQ;MAClBC,WAAW,EAAET,EAAE,CAAE,yBAA0B,CAAC;MAC5CU,cAAc,EAAE;QACfC,QAAQ,EAAE,SAAS;QACnBC,SAAS,EAAE;MACZ;IACD,CAAE,CAAC;IAEHN,gBAAgB,CAAE;MACjBC,IAAI,EAAE,kBAAkB;MACxBC,QAAQ,EAAE,QAAQ;MAClBC,WAAW,EAAET,EAAE,CAAE,sBAAuB,CAAC;MACzCU,cAAc,EAAE;QACfC,QAAQ,EAAE,cAAc;QACxBC,SAAS,EAAE;MACZ,CAAC;MACD;MACA;MACA;MACA;MACAC,OAAO,EAAET,SAAS,CAAC,CAAC,GACjB,EAAE,GACF,CACA;QACCO,QAAQ,EAAE,SAAS;QACnBC,SAAS,EAAE;MACZ,CAAC;IAEL,CAAE,CAAC;IAEHN,gBAAgB,CAAE;MACjBC,IAAI,EAAE,8BAA8B;MACpCC,QAAQ,EAAE,QAAQ;MAClBC,WAAW,EAAET,EAAE,CAAE,2BAA4B,CAAC;MAC9CU,cAAc,EAAE;QACfC,QAAQ,EAAE,QAAQ;QAClBC,SAAS,EAAE;MACZ;IACD,CAAE,CAAC;EACJ,CAAC,EAAE,CAAEN,gBAAgB,CAAG,CAAC;EAEzB,OAAOQ,aAAA,CAACb,4BAA4B,CAACc,QAAQ,MAAE,CAAC;AACjD;AAEA,eAAeV,+BAA+B"}
@@ -8,6 +8,7 @@ export * from './autocompleters';
8
8
 
9
9
  // Post Related Components.
10
10
  export { default as AutosaveMonitor } from './autosave-monitor';
11
+ export { default as DocumentBar } from './document-bar';
11
12
  export { default as DocumentOutline } from './document-outline';
12
13
  export { default as DocumentOutlineCheck } from './document-outline/check';
13
14
  export { EditorKeyboardShortcuts };
@@ -22,20 +23,26 @@ export { default as ErrorBoundary } from './error-boundary';
22
23
  export { default as LocalAutosaveMonitor } from './local-autosave-monitor';
23
24
  export { default as PageAttributesCheck } from './page-attributes/check';
24
25
  export { default as PageAttributesOrder } from './page-attributes/order';
26
+ export { default as PageAttributesPanel } from './page-attributes/panel';
25
27
  export { default as PageAttributesParent } from './page-attributes/parent';
26
- export { default as PageTemplate } from './post-template';
28
+ export { default as PageTemplate } from './post-template/classic-theme';
29
+ export { default as PostTemplatePanel } from './post-template/panel';
27
30
  export { default as PostAuthor } from './post-author';
28
31
  export { default as PostAuthorCheck } from './post-author/check';
29
32
  export { default as PostAuthorPanel } from './post-author/panel';
30
33
  export { default as PostComments } from './post-comments';
34
+ export { default as PostDiscussionPanel } from './post-discussion/panel';
31
35
  export { default as PostExcerpt } from './post-excerpt';
32
36
  export { default as PostExcerptCheck } from './post-excerpt/check';
37
+ export { default as PostExcerptPanel } from './post-excerpt/panel';
33
38
  export { default as PostFeaturedImage } from './post-featured-image';
34
39
  export { default as PostFeaturedImageCheck } from './post-featured-image/check';
40
+ export { default as PostFeaturedImagePanel } from './post-featured-image/panel';
35
41
  export { default as PostFormat } from './post-format';
36
42
  export { default as PostFormatCheck } from './post-format/check';
37
43
  export { default as PostLastRevision } from './post-last-revision';
38
44
  export { default as PostLastRevisionCheck } from './post-last-revision/check';
45
+ export { default as PostLastRevisionPanel } from './post-last-revision/panel';
39
46
  export { default as PostLockedModal } from './post-locked-modal';
40
47
  export { default as PostPendingStatus } from './post-pending-status';
41
48
  export { default as PostPendingStatusCheck } from './post-pending-status/check';
@@ -59,6 +66,7 @@ export { default as PostTaxonomies } from './post-taxonomies';
59
66
  export { FlatTermSelector as PostTaxonomiesFlatTermSelector } from './post-taxonomies/flat-term-selector';
60
67
  export { HierarchicalTermSelector as PostTaxonomiesHierarchicalTermSelector } from './post-taxonomies/hierarchical-term-selector';
61
68
  export { default as PostTaxonomiesCheck } from './post-taxonomies/check';
69
+ export { default as PostTaxonomiesPanel } from './post-taxonomies/panel';
62
70
  export { default as PostTextEditor } from './post-text-editor';
63
71
  export { default as PostTitle } from './post-title';
64
72
  export { default as PostTitleRaw } from './post-title/post-title-raw';
@@ -1 +1 @@
1
- {"version":3,"names":["EditorKeyboardShortcuts","default","AutosaveMonitor","DocumentOutline","DocumentOutlineCheck","EditorKeyboardShortcutsRegister","EditorHistoryRedo","EditorHistoryUndo","EditorNotices","EditorSnackbars","EntitiesSavedStates","useIsDirty","useEntitiesSavedStatesIsDirty","ErrorBoundary","LocalAutosaveMonitor","PageAttributesCheck","PageAttributesOrder","PageAttributesParent","PageTemplate","PostAuthor","PostAuthorCheck","PostAuthorPanel","PostComments","PostExcerpt","PostExcerptCheck","PostFeaturedImage","PostFeaturedImageCheck","PostFormat","PostFormatCheck","PostLastRevision","PostLastRevisionCheck","PostLockedModal","PostPendingStatus","PostPendingStatusCheck","PostPingbacks","PostPreviewButton","PostPublishButton","PostPublishButtonLabel","PostPublishPanel","PostSavedState","PostSchedule","PostScheduleCheck","PostScheduleLabel","usePostScheduleLabel","PostSchedulePanel","PostSlug","PostSlugCheck","PostSticky","PostStickyCheck","PostSwitchToDraftButton","PostSyncStatus","PostSyncStatusModal","PostTaxonomies","FlatTermSelector","PostTaxonomiesFlatTermSelector","HierarchicalTermSelector","PostTaxonomiesHierarchicalTermSelector","PostTaxonomiesCheck","PostTextEditor","PostTitle","PostTitleRaw","PostTrash","PostTrashCheck","PostTypeSupportCheck","PostURL","PostURLCheck","PostURLLabel","usePostURLLabel","PostURLPanel","PostVisibility","PostVisibilityLabel","usePostVisibilityLabel","PostVisibilityCheck","TableOfContents","ThemeSupportCheck","UnsavedChangesWarning","WordCount","TimeToRead","CharacterCount","EditorProvider","VisualEditorGlobalKeyboardShortcuts","TextEditorGlobalKeyboardShortcuts"],"sources":["@wordpress/editor/src/components/index.js"],"sourcesContent":["/**\n * Internal dependencies\n */\nimport EditorKeyboardShortcuts from './global-keyboard-shortcuts';\n\n// Block Creation Components.\nexport * from './autocompleters';\n\n// Post Related Components.\nexport { default as AutosaveMonitor } from './autosave-monitor';\nexport { default as DocumentOutline } from './document-outline';\nexport { default as DocumentOutlineCheck } from './document-outline/check';\nexport { EditorKeyboardShortcuts };\nexport { default as EditorKeyboardShortcutsRegister } from './global-keyboard-shortcuts/register-shortcuts';\nexport { default as EditorHistoryRedo } from './editor-history/redo';\nexport { default as EditorHistoryUndo } from './editor-history/undo';\nexport { default as EditorNotices } from './editor-notices';\nexport { default as EditorSnackbars } from './editor-snackbars';\nexport { default as EntitiesSavedStates } from './entities-saved-states';\nexport { useIsDirty as useEntitiesSavedStatesIsDirty } from './entities-saved-states/hooks/use-is-dirty';\nexport { default as ErrorBoundary } from './error-boundary';\nexport { default as LocalAutosaveMonitor } from './local-autosave-monitor';\nexport { default as PageAttributesCheck } from './page-attributes/check';\nexport { default as PageAttributesOrder } from './page-attributes/order';\nexport { default as PageAttributesParent } from './page-attributes/parent';\nexport { default as PageTemplate } from './post-template';\nexport { default as PostAuthor } from './post-author';\nexport { default as PostAuthorCheck } from './post-author/check';\nexport { default as PostAuthorPanel } from './post-author/panel';\nexport { default as PostComments } from './post-comments';\nexport { default as PostExcerpt } from './post-excerpt';\nexport { default as PostExcerptCheck } from './post-excerpt/check';\nexport { default as PostFeaturedImage } from './post-featured-image';\nexport { default as PostFeaturedImageCheck } from './post-featured-image/check';\nexport { default as PostFormat } from './post-format';\nexport { default as PostFormatCheck } from './post-format/check';\nexport { default as PostLastRevision } from './post-last-revision';\nexport { default as PostLastRevisionCheck } from './post-last-revision/check';\nexport { default as PostLockedModal } from './post-locked-modal';\nexport { default as PostPendingStatus } from './post-pending-status';\nexport { default as PostPendingStatusCheck } from './post-pending-status/check';\nexport { default as PostPingbacks } from './post-pingbacks';\nexport { default as PostPreviewButton } from './post-preview-button';\nexport { default as PostPublishButton } from './post-publish-button';\nexport { default as PostPublishButtonLabel } from './post-publish-button/label';\nexport { default as PostPublishPanel } from './post-publish-panel';\nexport { default as PostSavedState } from './post-saved-state';\nexport { default as PostSchedule } from './post-schedule';\nexport { default as PostScheduleCheck } from './post-schedule/check';\nexport {\n\tdefault as PostScheduleLabel,\n\tusePostScheduleLabel,\n} from './post-schedule/label';\nexport { default as PostSchedulePanel } from './post-schedule/panel';\nexport { default as PostSlug } from './post-slug';\nexport { default as PostSlugCheck } from './post-slug/check';\nexport { default as PostSticky } from './post-sticky';\nexport { default as PostStickyCheck } from './post-sticky/check';\nexport { default as PostSwitchToDraftButton } from './post-switch-to-draft-button';\nexport {\n\tdefault as PostSyncStatus,\n\tPostSyncStatusModal,\n} from './post-sync-status';\nexport { default as PostTaxonomies } from './post-taxonomies';\nexport { FlatTermSelector as PostTaxonomiesFlatTermSelector } from './post-taxonomies/flat-term-selector';\nexport { HierarchicalTermSelector as PostTaxonomiesHierarchicalTermSelector } from './post-taxonomies/hierarchical-term-selector';\nexport { default as PostTaxonomiesCheck } from './post-taxonomies/check';\nexport { default as PostTextEditor } from './post-text-editor';\nexport { default as PostTitle } from './post-title';\nexport { default as PostTitleRaw } from './post-title/post-title-raw';\nexport { default as PostTrash } from './post-trash';\nexport { default as PostTrashCheck } from './post-trash/check';\nexport { default as PostTypeSupportCheck } from './post-type-support-check';\nexport { default as PostURL } from './post-url';\nexport { default as PostURLCheck } from './post-url/check';\nexport { default as PostURLLabel, usePostURLLabel } from './post-url/label';\nexport { default as PostURLPanel } from './post-url/panel';\nexport { default as PostVisibility } from './post-visibility';\nexport {\n\tdefault as PostVisibilityLabel,\n\tusePostVisibilityLabel,\n} from './post-visibility/label';\nexport { default as PostVisibilityCheck } from './post-visibility/check';\nexport { default as TableOfContents } from './table-of-contents';\nexport { default as ThemeSupportCheck } from './theme-support-check';\nexport { default as UnsavedChangesWarning } from './unsaved-changes-warning';\nexport { default as WordCount } from './word-count';\nexport { default as TimeToRead } from './time-to-read';\nexport { default as CharacterCount } from './character-count';\n\n// State Related Components.\nexport { default as EditorProvider } from './provider';\n\nexport * from './deprecated';\nexport const VisualEditorGlobalKeyboardShortcuts = EditorKeyboardShortcuts;\nexport const TextEditorGlobalKeyboardShortcuts = EditorKeyboardShortcuts;\n"],"mappings":"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"}
1
+ {"version":3,"names":["EditorKeyboardShortcuts","default","AutosaveMonitor","DocumentBar","DocumentOutline","DocumentOutlineCheck","EditorKeyboardShortcutsRegister","EditorHistoryRedo","EditorHistoryUndo","EditorNotices","EditorSnackbars","EntitiesSavedStates","useIsDirty","useEntitiesSavedStatesIsDirty","ErrorBoundary","LocalAutosaveMonitor","PageAttributesCheck","PageAttributesOrder","PageAttributesPanel","PageAttributesParent","PageTemplate","PostTemplatePanel","PostAuthor","PostAuthorCheck","PostAuthorPanel","PostComments","PostDiscussionPanel","PostExcerpt","PostExcerptCheck","PostExcerptPanel","PostFeaturedImage","PostFeaturedImageCheck","PostFeaturedImagePanel","PostFormat","PostFormatCheck","PostLastRevision","PostLastRevisionCheck","PostLastRevisionPanel","PostLockedModal","PostPendingStatus","PostPendingStatusCheck","PostPingbacks","PostPreviewButton","PostPublishButton","PostPublishButtonLabel","PostPublishPanel","PostSavedState","PostSchedule","PostScheduleCheck","PostScheduleLabel","usePostScheduleLabel","PostSchedulePanel","PostSlug","PostSlugCheck","PostSticky","PostStickyCheck","PostSwitchToDraftButton","PostSyncStatus","PostSyncStatusModal","PostTaxonomies","FlatTermSelector","PostTaxonomiesFlatTermSelector","HierarchicalTermSelector","PostTaxonomiesHierarchicalTermSelector","PostTaxonomiesCheck","PostTaxonomiesPanel","PostTextEditor","PostTitle","PostTitleRaw","PostTrash","PostTrashCheck","PostTypeSupportCheck","PostURL","PostURLCheck","PostURLLabel","usePostURLLabel","PostURLPanel","PostVisibility","PostVisibilityLabel","usePostVisibilityLabel","PostVisibilityCheck","TableOfContents","ThemeSupportCheck","UnsavedChangesWarning","WordCount","TimeToRead","CharacterCount","EditorProvider","VisualEditorGlobalKeyboardShortcuts","TextEditorGlobalKeyboardShortcuts"],"sources":["@wordpress/editor/src/components/index.js"],"sourcesContent":["/**\n * Internal dependencies\n */\nimport EditorKeyboardShortcuts from './global-keyboard-shortcuts';\n\n// Block Creation Components.\nexport * from './autocompleters';\n\n// Post Related Components.\nexport { default as AutosaveMonitor } from './autosave-monitor';\nexport { default as DocumentBar } from './document-bar';\nexport { default as DocumentOutline } from './document-outline';\nexport { default as DocumentOutlineCheck } from './document-outline/check';\nexport { EditorKeyboardShortcuts };\nexport { default as EditorKeyboardShortcutsRegister } from './global-keyboard-shortcuts/register-shortcuts';\nexport { default as EditorHistoryRedo } from './editor-history/redo';\nexport { default as EditorHistoryUndo } from './editor-history/undo';\nexport { default as EditorNotices } from './editor-notices';\nexport { default as EditorSnackbars } from './editor-snackbars';\nexport { default as EntitiesSavedStates } from './entities-saved-states';\nexport { useIsDirty as useEntitiesSavedStatesIsDirty } from './entities-saved-states/hooks/use-is-dirty';\nexport { default as ErrorBoundary } from './error-boundary';\nexport { default as LocalAutosaveMonitor } from './local-autosave-monitor';\nexport { default as PageAttributesCheck } from './page-attributes/check';\nexport { default as PageAttributesOrder } from './page-attributes/order';\nexport { default as PageAttributesPanel } from './page-attributes/panel';\nexport { default as PageAttributesParent } from './page-attributes/parent';\nexport { default as PageTemplate } from './post-template/classic-theme';\nexport { default as PostTemplatePanel } from './post-template/panel';\nexport { default as PostAuthor } from './post-author';\nexport { default as PostAuthorCheck } from './post-author/check';\nexport { default as PostAuthorPanel } from './post-author/panel';\nexport { default as PostComments } from './post-comments';\nexport { default as PostDiscussionPanel } from './post-discussion/panel';\nexport { default as PostExcerpt } from './post-excerpt';\nexport { default as PostExcerptCheck } from './post-excerpt/check';\nexport { default as PostExcerptPanel } from './post-excerpt/panel';\nexport { default as PostFeaturedImage } from './post-featured-image';\nexport { default as PostFeaturedImageCheck } from './post-featured-image/check';\nexport { default as PostFeaturedImagePanel } from './post-featured-image/panel';\nexport { default as PostFormat } from './post-format';\nexport { default as PostFormatCheck } from './post-format/check';\nexport { default as PostLastRevision } from './post-last-revision';\nexport { default as PostLastRevisionCheck } from './post-last-revision/check';\nexport { default as PostLastRevisionPanel } from './post-last-revision/panel';\nexport { default as PostLockedModal } from './post-locked-modal';\nexport { default as PostPendingStatus } from './post-pending-status';\nexport { default as PostPendingStatusCheck } from './post-pending-status/check';\nexport { default as PostPingbacks } from './post-pingbacks';\nexport { default as PostPreviewButton } from './post-preview-button';\nexport { default as PostPublishButton } from './post-publish-button';\nexport { default as PostPublishButtonLabel } from './post-publish-button/label';\nexport { default as PostPublishPanel } from './post-publish-panel';\nexport { default as PostSavedState } from './post-saved-state';\nexport { default as PostSchedule } from './post-schedule';\nexport { default as PostScheduleCheck } from './post-schedule/check';\nexport {\n\tdefault as PostScheduleLabel,\n\tusePostScheduleLabel,\n} from './post-schedule/label';\nexport { default as PostSchedulePanel } from './post-schedule/panel';\nexport { default as PostSlug } from './post-slug';\nexport { default as PostSlugCheck } from './post-slug/check';\nexport { default as PostSticky } from './post-sticky';\nexport { default as PostStickyCheck } from './post-sticky/check';\nexport { default as PostSwitchToDraftButton } from './post-switch-to-draft-button';\nexport {\n\tdefault as PostSyncStatus,\n\tPostSyncStatusModal,\n} from './post-sync-status';\nexport { default as PostTaxonomies } from './post-taxonomies';\nexport { FlatTermSelector as PostTaxonomiesFlatTermSelector } from './post-taxonomies/flat-term-selector';\nexport { HierarchicalTermSelector as PostTaxonomiesHierarchicalTermSelector } from './post-taxonomies/hierarchical-term-selector';\nexport { default as PostTaxonomiesCheck } from './post-taxonomies/check';\nexport { default as PostTaxonomiesPanel } from './post-taxonomies/panel';\nexport { default as PostTextEditor } from './post-text-editor';\nexport { default as PostTitle } from './post-title';\nexport { default as PostTitleRaw } from './post-title/post-title-raw';\nexport { default as PostTrash } from './post-trash';\nexport { default as PostTrashCheck } from './post-trash/check';\nexport { default as PostTypeSupportCheck } from './post-type-support-check';\nexport { default as PostURL } from './post-url';\nexport { default as PostURLCheck } from './post-url/check';\nexport { default as PostURLLabel, usePostURLLabel } from './post-url/label';\nexport { default as PostURLPanel } from './post-url/panel';\nexport { default as PostVisibility } from './post-visibility';\nexport {\n\tdefault as PostVisibilityLabel,\n\tusePostVisibilityLabel,\n} from './post-visibility/label';\nexport { default as PostVisibilityCheck } from './post-visibility/check';\nexport { default as TableOfContents } from './table-of-contents';\nexport { default as ThemeSupportCheck } from './theme-support-check';\nexport { default as UnsavedChangesWarning } from './unsaved-changes-warning';\nexport { default as WordCount } from './word-count';\nexport { default as TimeToRead } from './time-to-read';\nexport { default as CharacterCount } from './character-count';\n\n// State Related Components.\nexport { default as EditorProvider } from './provider';\n\nexport * from './deprecated';\nexport const VisualEditorGlobalKeyboardShortcuts = EditorKeyboardShortcuts;\nexport const TextEditorGlobalKeyboardShortcuts = EditorKeyboardShortcuts;\n"],"mappings":"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"}
@@ -9,5 +9,6 @@ export { default as EditorProvider } from './provider';
9
9
 
10
10
  // Other Components.
11
11
  export { default as EditorHelpTopics } from './editor-help';
12
+ export { default as OfflineStatus } from './offline-status';
12
13
  export * from './deprecated';
13
14
  //# sourceMappingURL=index.native.js.map