@wordpress/editor 13.34.0 → 13.35.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (263) hide show
  1. package/CHANGELOG.md +10 -4
  2. package/build/bindings/pattern-overrides.js +70 -1
  3. package/build/bindings/pattern-overrides.js.map +1 -1
  4. package/build/components/block-settings-menu/content-only-settings-menu.js +126 -0
  5. package/build/components/block-settings-menu/content-only-settings-menu.js.map +1 -0
  6. package/build/components/block-settings-menu/content-only-settings-menu.native.js +11 -0
  7. package/build/components/block-settings-menu/content-only-settings-menu.native.js.map +1 -0
  8. package/build/components/collapsible-block-toolbar/index.js +2 -2
  9. package/build/components/collapsible-block-toolbar/index.js.map +1 -1
  10. package/build/components/document-bar/index.js +2 -2
  11. package/build/components/document-bar/index.js.map +1 -1
  12. package/build/components/document-outline/item.js +2 -2
  13. package/build/components/document-outline/item.js.map +1 -1
  14. package/build/components/document-tools/index.js +15 -18
  15. package/build/components/document-tools/index.js.map +1 -1
  16. package/build/components/editor-canvas/index.js +19 -8
  17. package/build/components/editor-canvas/index.js.map +1 -1
  18. package/build/components/global-keyboard-shortcuts/register-shortcuts.js +1 -1
  19. package/build/components/global-keyboard-shortcuts/register-shortcuts.js.map +1 -1
  20. package/build/components/global-styles-provider/index.js +130 -0
  21. package/build/components/global-styles-provider/index.js.map +1 -0
  22. package/build/components/header/index.js +147 -0
  23. package/build/components/header/index.js.map +1 -0
  24. package/build/components/inserter-sidebar/index.js +56 -31
  25. package/build/components/inserter-sidebar/index.js.map +1 -1
  26. package/build/components/keyboard-shortcut-help-modal/index.js +2 -2
  27. package/build/components/keyboard-shortcut-help-modal/index.js.map +1 -1
  28. package/build/components/post-actions/actions.js +122 -64
  29. package/build/components/post-actions/actions.js.map +1 -1
  30. package/build/components/post-actions/index.js +7 -14
  31. package/build/components/post-actions/index.js.map +1 -1
  32. package/build/components/post-card-panel/index.js +5 -29
  33. package/build/components/post-card-panel/index.js.map +1 -1
  34. package/build/components/post-comments/index.js +28 -8
  35. package/build/components/post-comments/index.js.map +1 -1
  36. package/build/components/post-discussion/panel.js +103 -21
  37. package/build/components/post-discussion/panel.js.map +1 -1
  38. package/build/components/post-excerpt/panel.js +2 -2
  39. package/build/components/post-excerpt/panel.js.map +1 -1
  40. package/build/components/post-format/panel.js +27 -0
  41. package/build/components/post-format/panel.js.map +1 -0
  42. package/build/components/post-panel-row/index.js +2 -2
  43. package/build/components/post-panel-row/index.js.map +1 -1
  44. package/build/components/post-panel-section/index.js +28 -0
  45. package/build/components/post-panel-section/index.js.map +1 -0
  46. package/build/components/post-pingbacks/index.js +5 -2
  47. package/build/components/post-pingbacks/index.js.map +1 -1
  48. package/build/components/post-saved-state/index.js +2 -2
  49. package/build/components/post-saved-state/index.js.map +1 -1
  50. package/build/components/post-slug/panel.js +27 -0
  51. package/build/components/post-slug/panel.js.map +1 -0
  52. package/build/components/post-status/index.js +4 -4
  53. package/build/components/post-status/index.js.map +1 -1
  54. package/build/components/post-sticky/panel.js +21 -0
  55. package/build/components/post-sticky/panel.js.map +1 -0
  56. package/build/components/post-title/index.js +2 -2
  57. package/build/components/post-title/index.js.map +1 -1
  58. package/build/components/post-title/post-title-raw.js +2 -2
  59. package/build/components/post-title/post-title-raw.js.map +1 -1
  60. package/build/components/post-transform-panel/hooks.js +90 -0
  61. package/build/components/post-transform-panel/hooks.js.map +1 -0
  62. package/build/components/post-transform-panel/index.js +101 -0
  63. package/build/components/post-transform-panel/index.js.map +1 -0
  64. package/build/components/post-trash/panel.js +18 -0
  65. package/build/components/post-trash/panel.js.map +1 -0
  66. package/build/components/post-type-support-check/index.js +1 -1
  67. package/build/components/post-type-support-check/index.js.map +1 -1
  68. package/build/components/preferences-modal/index.js +3 -3
  69. package/build/components/preferences-modal/index.js.map +1 -1
  70. package/build/components/provider/index.js +3 -1
  71. package/build/components/provider/index.js.map +1 -1
  72. package/build/components/provider/use-block-editor-settings.js +21 -3
  73. package/build/components/provider/use-block-editor-settings.js.map +1 -1
  74. package/build/components/sidebar/constants.js +11 -0
  75. package/build/components/sidebar/constants.js.map +1 -0
  76. package/build/components/sidebar/header.js +53 -0
  77. package/build/components/sidebar/header.js.map +1 -0
  78. package/build/components/sidebar/index.js +157 -0
  79. package/build/components/sidebar/index.js.map +1 -0
  80. package/build/components/sidebar/post-summary.js +84 -0
  81. package/build/components/sidebar/post-summary.js.map +1 -0
  82. package/build/components/start-page-options/index.js +5 -7
  83. package/build/components/start-page-options/index.js.map +1 -1
  84. package/build/components/start-template-options/index.js +192 -0
  85. package/build/components/start-template-options/index.js.map +1 -0
  86. package/build/components/template-content-panel/index.js +38 -0
  87. package/build/components/template-content-panel/index.js.map +1 -0
  88. package/build/hooks/pattern-overrides.js +10 -5
  89. package/build/hooks/pattern-overrides.js.map +1 -1
  90. package/build/private-apis.js +7 -12
  91. package/build/private-apis.js.map +1 -1
  92. package/build/private-apis.native.js +72 -0
  93. package/build/private-apis.native.js.map +1 -0
  94. package/build/store/private-selectors.js +6 -1
  95. package/build/store/private-selectors.js.map +1 -1
  96. package/build/store/reducer.js +15 -0
  97. package/build/store/reducer.js.map +1 -1
  98. package/build-module/bindings/pattern-overrides.js +69 -1
  99. package/build-module/bindings/pattern-overrides.js.map +1 -1
  100. package/build-module/components/block-settings-menu/content-only-settings-menu.js +119 -0
  101. package/build-module/components/block-settings-menu/content-only-settings-menu.js.map +1 -0
  102. package/build-module/components/block-settings-menu/content-only-settings-menu.native.js +5 -0
  103. package/build-module/components/block-settings-menu/content-only-settings-menu.native.js.map +1 -0
  104. package/build-module/components/collapsible-block-toolbar/index.js +2 -2
  105. package/build-module/components/collapsible-block-toolbar/index.js.map +1 -1
  106. package/build-module/components/document-bar/index.js +2 -2
  107. package/build-module/components/document-bar/index.js.map +1 -1
  108. package/build-module/components/document-outline/item.js +2 -2
  109. package/build-module/components/document-outline/item.js.map +1 -1
  110. package/build-module/components/document-tools/index.js +16 -19
  111. package/build-module/components/document-tools/index.js.map +1 -1
  112. package/build-module/components/editor-canvas/index.js +19 -8
  113. package/build-module/components/editor-canvas/index.js.map +1 -1
  114. package/build-module/components/global-keyboard-shortcuts/register-shortcuts.js +1 -1
  115. package/build-module/components/global-keyboard-shortcuts/register-shortcuts.js.map +1 -1
  116. package/build-module/components/global-styles-provider/index.js +120 -0
  117. package/build-module/components/global-styles-provider/index.js.map +1 -0
  118. package/build-module/components/header/index.js +139 -0
  119. package/build-module/components/header/index.js.map +1 -0
  120. package/build-module/components/inserter-sidebar/index.js +59 -34
  121. package/build-module/components/inserter-sidebar/index.js.map +1 -1
  122. package/build-module/components/keyboard-shortcut-help-modal/index.js +2 -2
  123. package/build-module/components/keyboard-shortcut-help-modal/index.js.map +1 -1
  124. package/build-module/components/post-actions/actions.js +125 -66
  125. package/build-module/components/post-actions/actions.js.map +1 -1
  126. package/build-module/components/post-actions/index.js +7 -14
  127. package/build-module/components/post-actions/index.js.map +1 -1
  128. package/build-module/components/post-card-panel/index.js +7 -30
  129. package/build-module/components/post-card-panel/index.js.map +1 -1
  130. package/build-module/components/post-comments/index.js +30 -10
  131. package/build-module/components/post-comments/index.js.map +1 -1
  132. package/build-module/components/post-discussion/panel.js +105 -23
  133. package/build-module/components/post-discussion/panel.js.map +1 -1
  134. package/build-module/components/post-excerpt/panel.js +2 -2
  135. package/build-module/components/post-excerpt/panel.js.map +1 -1
  136. package/build-module/components/post-format/panel.js +18 -0
  137. package/build-module/components/post-format/panel.js.map +1 -0
  138. package/build-module/components/post-panel-row/index.js +2 -2
  139. package/build-module/components/post-panel-row/index.js.map +1 -1
  140. package/build-module/components/post-panel-section/index.js +20 -0
  141. package/build-module/components/post-panel-section/index.js.map +1 -0
  142. package/build-module/components/post-pingbacks/index.js +6 -3
  143. package/build-module/components/post-pingbacks/index.js.map +1 -1
  144. package/build-module/components/post-saved-state/index.js +2 -2
  145. package/build-module/components/post-saved-state/index.js.map +1 -1
  146. package/build-module/components/post-slug/panel.js +18 -0
  147. package/build-module/components/post-slug/panel.js.map +1 -0
  148. package/build-module/components/post-status/index.js +4 -4
  149. package/build-module/components/post-status/index.js.map +1 -1
  150. package/build-module/components/post-sticky/panel.js +12 -0
  151. package/build-module/components/post-sticky/panel.js.map +1 -0
  152. package/build-module/components/post-title/index.js +2 -2
  153. package/build-module/components/post-title/index.js.map +1 -1
  154. package/build-module/components/post-title/post-title-raw.js +2 -2
  155. package/build-module/components/post-title/post-title-raw.js.map +1 -1
  156. package/build-module/components/post-transform-panel/hooks.js +83 -0
  157. package/build-module/components/post-transform-panel/hooks.js.map +1 -0
  158. package/build-module/components/post-transform-panel/index.js +94 -0
  159. package/build-module/components/post-transform-panel/index.js.map +1 -0
  160. package/build-module/components/post-trash/panel.js +10 -0
  161. package/build-module/components/post-trash/panel.js.map +1 -0
  162. package/build-module/components/post-type-support-check/index.js +1 -1
  163. package/build-module/components/post-type-support-check/index.js.map +1 -1
  164. package/build-module/components/preferences-modal/index.js +3 -3
  165. package/build-module/components/preferences-modal/index.js.map +1 -1
  166. package/build-module/components/provider/index.js +3 -1
  167. package/build-module/components/provider/index.js.map +1 -1
  168. package/build-module/components/provider/use-block-editor-settings.js +21 -3
  169. package/build-module/components/provider/use-block-editor-settings.js.map +1 -1
  170. package/build-module/components/sidebar/constants.js +5 -0
  171. package/build-module/components/sidebar/constants.js.map +1 -0
  172. package/build-module/components/sidebar/header.js +46 -0
  173. package/build-module/components/sidebar/header.js.map +1 -0
  174. package/build-module/components/sidebar/index.js +149 -0
  175. package/build-module/components/sidebar/index.js.map +1 -0
  176. package/build-module/components/sidebar/post-summary.js +77 -0
  177. package/build-module/components/sidebar/post-summary.js.map +1 -0
  178. package/build-module/components/start-page-options/index.js +5 -7
  179. package/build-module/components/start-page-options/index.js.map +1 -1
  180. package/build-module/components/start-template-options/index.js +185 -0
  181. package/build-module/components/start-template-options/index.js.map +1 -0
  182. package/build-module/components/template-content-panel/index.js +31 -0
  183. package/build-module/components/template-content-panel/index.js.map +1 -0
  184. package/build-module/hooks/pattern-overrides.js +10 -5
  185. package/build-module/hooks/pattern-overrides.js.map +1 -1
  186. package/build-module/private-apis.js +7 -12
  187. package/build-module/private-apis.js.map +1 -1
  188. package/build-module/private-apis.native.js +62 -0
  189. package/build-module/private-apis.native.js.map +1 -0
  190. package/build-module/store/private-selectors.js +3 -0
  191. package/build-module/store/private-selectors.js.map +1 -1
  192. package/build-module/store/reducer.js +14 -0
  193. package/build-module/store/reducer.js.map +1 -1
  194. package/build-style/style-rtl.css +328 -18
  195. package/build-style/style.css +328 -18
  196. package/package.json +38 -36
  197. package/src/bindings/pattern-overrides.js +83 -1
  198. package/src/components/autocompleters/style.scss +1 -2
  199. package/src/components/block-settings-menu/content-only-settings-menu.js +175 -0
  200. package/src/components/block-settings-menu/content-only-settings-menu.native.js +4 -0
  201. package/src/components/block-settings-menu/style.scss +4 -0
  202. package/src/components/collapsible-block-toolbar/index.js +2 -2
  203. package/src/components/document-bar/index.js +2 -2
  204. package/src/components/document-outline/item.js +2 -2
  205. package/src/components/document-tools/index.js +19 -21
  206. package/src/components/editor-canvas/index.js +18 -6
  207. package/src/components/global-keyboard-shortcuts/register-shortcuts.js +1 -1
  208. package/src/components/global-styles-provider/index.js +162 -0
  209. package/src/components/header/index.js +154 -0
  210. package/src/components/header/style.scss +231 -0
  211. package/src/components/inserter-sidebar/index.js +52 -29
  212. package/src/components/inserter-sidebar/style.scss +10 -3
  213. package/src/components/keyboard-shortcut-help-modal/index.js +2 -2
  214. package/src/components/list-view-sidebar/style.scss +1 -0
  215. package/src/components/page-attributes/test/order.js +5 -1
  216. package/src/components/post-actions/actions.js +256 -150
  217. package/src/components/post-actions/index.js +5 -38
  218. package/src/components/post-card-panel/index.js +39 -85
  219. package/src/components/post-comments/index.js +47 -9
  220. package/src/components/post-discussion/panel.js +108 -31
  221. package/src/components/post-discussion/style.scss +26 -0
  222. package/src/components/post-excerpt/panel.js +2 -2
  223. package/src/components/post-format/panel.js +22 -0
  224. package/src/components/post-format/style.scss +6 -0
  225. package/src/components/post-last-revision/test/check.js +5 -1
  226. package/src/components/post-panel-row/index.js +2 -2
  227. package/src/components/post-panel-section/index.js +19 -0
  228. package/src/components/post-panel-section/style.scss +3 -0
  229. package/src/components/post-pingbacks/index.js +11 -2
  230. package/src/components/post-publish-panel/style.scss +5 -0
  231. package/src/components/post-saved-state/index.js +2 -2
  232. package/src/components/post-slug/panel.js +22 -0
  233. package/src/components/post-slug/style.scss +5 -0
  234. package/src/components/post-slug/test/index.js +5 -1
  235. package/src/components/post-status/index.js +4 -4
  236. package/src/components/post-sticky/panel.js +18 -0
  237. package/src/components/post-title/index.js +2 -2
  238. package/src/components/post-title/post-title-raw.js +2 -2
  239. package/src/components/post-transform-panel/hooks.js +114 -0
  240. package/src/components/post-transform-panel/index.js +99 -0
  241. package/src/components/post-trash/panel.js +13 -0
  242. package/src/components/post-type-support-check/index.js +1 -1
  243. package/src/components/post-type-support-check/test/index.js +2 -2
  244. package/src/components/preferences-modal/index.js +3 -3
  245. package/src/components/provider/index.js +4 -0
  246. package/src/components/provider/use-block-editor-settings.js +19 -4
  247. package/src/components/sidebar/constants.js +4 -0
  248. package/src/components/sidebar/header.js +49 -0
  249. package/src/components/sidebar/index.js +200 -0
  250. package/src/components/sidebar/post-summary.js +104 -0
  251. package/src/components/sidebar/style.scss +18 -0
  252. package/src/components/start-page-options/index.js +6 -4
  253. package/src/components/start-template-options/index.js +219 -0
  254. package/src/components/start-template-options/style.scss +55 -0
  255. package/src/components/template-areas/style.scss +0 -1
  256. package/src/components/template-content-panel/index.js +36 -0
  257. package/src/hooks/pattern-overrides.js +12 -6
  258. package/src/private-apis.js +10 -12
  259. package/src/private-apis.native.js +61 -0
  260. package/src/store/private-selectors.js +3 -0
  261. package/src/store/reducer.js +12 -0
  262. package/src/style.scss +7 -0
  263. package/src/components/post-slug/test/check.js +0 -17
@@ -0,0 +1,119 @@
1
+ import { createElement, Fragment } from "react";
2
+ /**
3
+ * WordPress dependencies
4
+ */
5
+ import { BlockSettingsMenuControls, __unstableBlockSettingsMenuFirstItem as BlockSettingsMenuFirstItem, store as blockEditorStore, useBlockDisplayInformation } from '@wordpress/block-editor';
6
+ import { store as coreStore } from '@wordpress/core-data';
7
+ import { __experimentalText as Text, MenuItem } from '@wordpress/components';
8
+ import { useSelect, useDispatch } from '@wordpress/data';
9
+ import { __ } from '@wordpress/i18n';
10
+
11
+ /**
12
+ * Internal dependencies
13
+ */
14
+ import { store as editorStore } from '../../store';
15
+ import { unlock } from '../../lock-unlock';
16
+ function ContentOnlySettingsMenuItems({
17
+ clientId,
18
+ onClose
19
+ }) {
20
+ const {
21
+ entity,
22
+ onNavigateToEntityRecord
23
+ } = useSelect(select => {
24
+ const {
25
+ getBlockEditingMode,
26
+ getBlockParentsByBlockName,
27
+ getSettings,
28
+ getBlockAttributes
29
+ } = select(blockEditorStore);
30
+ const contentOnly = getBlockEditingMode(clientId) === 'contentOnly';
31
+ if (!contentOnly) {
32
+ return {};
33
+ }
34
+ const patternParent = getBlockParentsByBlockName(clientId, 'core/block', true)[0];
35
+ let record;
36
+ if (patternParent) {
37
+ record = select(coreStore).getEntityRecord('postType', 'wp_block', getBlockAttributes(patternParent).ref);
38
+ } else {
39
+ const {
40
+ getCurrentPostType,
41
+ getCurrentTemplateId
42
+ } = select(editorStore);
43
+ const currentPostType = getCurrentPostType();
44
+ const templateId = getCurrentTemplateId();
45
+ if (currentPostType === 'page' && templateId) {
46
+ record = select(coreStore).getEntityRecord('postType', 'wp_template', templateId);
47
+ }
48
+ }
49
+ return {
50
+ entity: record,
51
+ onNavigateToEntityRecord: getSettings().onNavigateToEntityRecord
52
+ };
53
+ }, [clientId]);
54
+ if (!entity) {
55
+ return createElement(TemplateLockContentOnlyMenuItems, {
56
+ clientId: clientId,
57
+ onClose: onClose
58
+ });
59
+ }
60
+ const isPattern = entity.type === 'wp_block';
61
+ return createElement(Fragment, null, createElement(BlockSettingsMenuFirstItem, null, createElement(MenuItem, {
62
+ onClick: () => {
63
+ onNavigateToEntityRecord({
64
+ postId: entity.id,
65
+ postType: entity.type
66
+ });
67
+ }
68
+ }, isPattern ? __('Edit pattern') : __('Edit template'))), createElement(Text, {
69
+ variant: "muted",
70
+ as: "p",
71
+ className: "editor-content-only-settings-menu__description"
72
+ }, isPattern ? __('Edit the pattern to move, delete, or make further changes to this block.') : __('Edit the template to move, delete, or make further changes to this block.')));
73
+ }
74
+ function TemplateLockContentOnlyMenuItems({
75
+ clientId,
76
+ onClose
77
+ }) {
78
+ const {
79
+ contentLockingParent
80
+ } = useSelect(select => {
81
+ const {
82
+ getContentLockingParent
83
+ } = unlock(select(blockEditorStore));
84
+ return {
85
+ contentLockingParent: getContentLockingParent(clientId)
86
+ };
87
+ }, [clientId]);
88
+ const blockDisplayInformation = useBlockDisplayInformation(contentLockingParent);
89
+ // Disable reason: We're using a hook here so it has to be on top-level.
90
+ // eslint-disable-next-line @wordpress/no-unused-vars-before-return
91
+ const {
92
+ modifyContentLockBlock,
93
+ selectBlock
94
+ } = unlock(useDispatch(blockEditorStore));
95
+ if (!blockDisplayInformation?.title) {
96
+ return null;
97
+ }
98
+ return createElement(Fragment, null, createElement(BlockSettingsMenuFirstItem, null, createElement(MenuItem, {
99
+ onClick: () => {
100
+ selectBlock(contentLockingParent);
101
+ modifyContentLockBlock(contentLockingParent);
102
+ onClose();
103
+ }
104
+ }, __('Unlock'))), createElement(Text, {
105
+ variant: "muted",
106
+ as: "p",
107
+ className: "editor-content-only-settings-menu__description"
108
+ }, __('Temporarily unlock the parent block to edit, delete or make further changes to this block.')));
109
+ }
110
+ export default function ContentOnlySettingsMenu() {
111
+ return createElement(BlockSettingsMenuControls, null, ({
112
+ selectedClientIds,
113
+ onClose
114
+ }) => selectedClientIds.length === 1 && createElement(ContentOnlySettingsMenuItems, {
115
+ clientId: selectedClientIds[0],
116
+ onClose: onClose
117
+ }));
118
+ }
119
+ //# sourceMappingURL=content-only-settings-menu.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["BlockSettingsMenuControls","__unstableBlockSettingsMenuFirstItem","BlockSettingsMenuFirstItem","store","blockEditorStore","useBlockDisplayInformation","coreStore","__experimentalText","Text","MenuItem","useSelect","useDispatch","__","editorStore","unlock","ContentOnlySettingsMenuItems","clientId","onClose","entity","onNavigateToEntityRecord","select","getBlockEditingMode","getBlockParentsByBlockName","getSettings","getBlockAttributes","contentOnly","patternParent","record","getEntityRecord","ref","getCurrentPostType","getCurrentTemplateId","currentPostType","templateId","createElement","TemplateLockContentOnlyMenuItems","isPattern","type","Fragment","onClick","postId","id","postType","variant","as","className","contentLockingParent","getContentLockingParent","blockDisplayInformation","modifyContentLockBlock","selectBlock","title","ContentOnlySettingsMenu","selectedClientIds","length"],"sources":["@wordpress/editor/src/components/block-settings-menu/content-only-settings-menu.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tBlockSettingsMenuControls,\n\t__unstableBlockSettingsMenuFirstItem as BlockSettingsMenuFirstItem,\n\tstore as blockEditorStore,\n\tuseBlockDisplayInformation,\n} from '@wordpress/block-editor';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { __experimentalText as Text, MenuItem } from '@wordpress/components';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\nimport { unlock } from '../../lock-unlock';\n\nfunction ContentOnlySettingsMenuItems( { clientId, onClose } ) {\n\tconst { entity, onNavigateToEntityRecord } = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockEditingMode,\n\t\t\t\tgetBlockParentsByBlockName,\n\t\t\t\tgetSettings,\n\t\t\t\tgetBlockAttributes,\n\t\t\t} = select( blockEditorStore );\n\t\t\tconst contentOnly =\n\t\t\t\tgetBlockEditingMode( clientId ) === 'contentOnly';\n\t\t\tif ( ! contentOnly ) {\n\t\t\t\treturn {};\n\t\t\t}\n\t\t\tconst patternParent = getBlockParentsByBlockName(\n\t\t\t\tclientId,\n\t\t\t\t'core/block',\n\t\t\t\ttrue\n\t\t\t)[ 0 ];\n\n\t\t\tlet record;\n\t\t\tif ( patternParent ) {\n\t\t\t\trecord = select( coreStore ).getEntityRecord(\n\t\t\t\t\t'postType',\n\t\t\t\t\t'wp_block',\n\t\t\t\t\tgetBlockAttributes( patternParent ).ref\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tconst { getCurrentPostType, getCurrentTemplateId } =\n\t\t\t\t\tselect( editorStore );\n\t\t\t\tconst currentPostType = getCurrentPostType();\n\t\t\t\tconst templateId = getCurrentTemplateId();\n\t\t\t\tif ( currentPostType === 'page' && templateId ) {\n\t\t\t\t\trecord = select( coreStore ).getEntityRecord(\n\t\t\t\t\t\t'postType',\n\t\t\t\t\t\t'wp_template',\n\t\t\t\t\t\ttemplateId\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn {\n\t\t\t\tentity: record,\n\t\t\t\tonNavigateToEntityRecord:\n\t\t\t\t\tgetSettings().onNavigateToEntityRecord,\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tif ( ! entity ) {\n\t\treturn (\n\t\t\t<TemplateLockContentOnlyMenuItems\n\t\t\t\tclientId={ clientId }\n\t\t\t\tonClose={ onClose }\n\t\t\t/>\n\t\t);\n\t}\n\n\tconst isPattern = entity.type === 'wp_block';\n\n\treturn (\n\t\t<>\n\t\t\t<BlockSettingsMenuFirstItem>\n\t\t\t\t<MenuItem\n\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\tonNavigateToEntityRecord( {\n\t\t\t\t\t\t\tpostId: entity.id,\n\t\t\t\t\t\t\tpostType: entity.type,\n\t\t\t\t\t\t} );\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t{ isPattern ? __( 'Edit pattern' ) : __( 'Edit template' ) }\n\t\t\t\t</MenuItem>\n\t\t\t</BlockSettingsMenuFirstItem>\n\t\t\t<Text\n\t\t\t\tvariant=\"muted\"\n\t\t\t\tas=\"p\"\n\t\t\t\tclassName=\"editor-content-only-settings-menu__description\"\n\t\t\t>\n\t\t\t\t{ isPattern\n\t\t\t\t\t? __(\n\t\t\t\t\t\t\t'Edit the pattern to move, delete, or make further changes to this block.'\n\t\t\t\t\t )\n\t\t\t\t\t: __(\n\t\t\t\t\t\t\t'Edit the template to move, delete, or make further changes to this block.'\n\t\t\t\t\t ) }\n\t\t\t</Text>\n\t\t</>\n\t);\n}\n\nfunction TemplateLockContentOnlyMenuItems( { clientId, onClose } ) {\n\tconst { contentLockingParent } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getContentLockingParent } = unlock(\n\t\t\t\tselect( blockEditorStore )\n\t\t\t);\n\t\t\treturn {\n\t\t\t\tcontentLockingParent: getContentLockingParent( clientId ),\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\tconst blockDisplayInformation =\n\t\tuseBlockDisplayInformation( contentLockingParent );\n\t// Disable reason: We're using a hook here so it has to be on top-level.\n\t// eslint-disable-next-line @wordpress/no-unused-vars-before-return\n\tconst { modifyContentLockBlock, selectBlock } = unlock(\n\t\tuseDispatch( blockEditorStore )\n\t);\n\n\tif ( ! blockDisplayInformation?.title ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<BlockSettingsMenuFirstItem>\n\t\t\t\t<MenuItem\n\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\tselectBlock( contentLockingParent );\n\t\t\t\t\t\tmodifyContentLockBlock( contentLockingParent );\n\t\t\t\t\t\tonClose();\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t{ __( 'Unlock' ) }\n\t\t\t\t</MenuItem>\n\t\t\t</BlockSettingsMenuFirstItem>\n\t\t\t<Text\n\t\t\t\tvariant=\"muted\"\n\t\t\t\tas=\"p\"\n\t\t\t\tclassName=\"editor-content-only-settings-menu__description\"\n\t\t\t>\n\t\t\t\t{ __(\n\t\t\t\t\t'Temporarily unlock the parent block to edit, delete or make further changes to this block.'\n\t\t\t\t) }\n\t\t\t</Text>\n\t\t</>\n\t);\n}\n\nexport default function ContentOnlySettingsMenu() {\n\treturn (\n\t\t<BlockSettingsMenuControls>\n\t\t\t{ ( { selectedClientIds, onClose } ) =>\n\t\t\t\tselectedClientIds.length === 1 && (\n\t\t\t\t\t<ContentOnlySettingsMenuItems\n\t\t\t\t\t\tclientId={ selectedClientIds[ 0 ] }\n\t\t\t\t\t\tonClose={ onClose }\n\t\t\t\t\t/>\n\t\t\t\t)\n\t\t\t}\n\t\t</BlockSettingsMenuControls>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,5 @@
1
+ // Render nothing in native for now.
2
+ export default function ContentOnlySettingsMenu() {
3
+ return null;
4
+ }
5
+ //# sourceMappingURL=content-only-settings-menu.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["ContentOnlySettingsMenu"],"sources":["@wordpress/editor/src/components/block-settings-menu/content-only-settings-menu.native.js"],"sourcesContent":["// Render nothing in native for now.\nexport default function ContentOnlySettingsMenu() {\n\treturn null;\n}\n"],"mappings":"AAAA;AACA,eAAe,SAASA,uBAAuBA,CAAA,EAAG;EACjD,OAAO,IAAI;AACZ","ignoreList":[]}
@@ -2,7 +2,7 @@ import { createElement, Fragment } from "react";
2
2
  /**
3
3
  * External dependencies
4
4
  */
5
- import classnames from 'classnames';
5
+ import clsx from 'clsx';
6
6
 
7
7
  /**
8
8
  * WordPress dependencies
@@ -44,7 +44,7 @@ function CollapsableBlockToolbar({
44
44
  return null;
45
45
  }
46
46
  return createElement(Fragment, null, createElement("div", {
47
- className: classnames('editor-collapsible-block-toolbar', {
47
+ className: clsx('editor-collapsible-block-toolbar', {
48
48
  'is-collapsed': isCollapsed || !hasBlockSelection
49
49
  })
50
50
  }, createElement(BlockToolbar, {
@@ -1 +1 @@
1
- {"version":3,"names":["classnames","BlockToolbar","store","blockEditorStore","privateApis","blockEditorPrivateApis","useEffect","Button","Popover","__","next","previous","useSelect","unlock","useHasBlockToolbar","CollapsableBlockToolbar","isCollapsed","onToggle","blockSelectionStart","select","getBlockSelectionStart","hasBlockToolbar","hasBlockSelection","createElement","Fragment","className","hideDragHandle","Slot","name","icon","onClick","label","size"],"sources":["@wordpress/editor/src/components/collapsible-block-toolbar/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tBlockToolbar,\n\tstore as blockEditorStore,\n\tprivateApis as blockEditorPrivateApis,\n} from '@wordpress/block-editor';\nimport { useEffect } from '@wordpress/element';\nimport { Button, Popover } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { next, previous } from '@wordpress/icons';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\n\nconst { useHasBlockToolbar } = unlock( blockEditorPrivateApis );\n\nfunction CollapsableBlockToolbar( { isCollapsed, onToggle } ) {\n\tconst { blockSelectionStart } = useSelect( ( select ) => {\n\t\treturn {\n\t\t\tblockSelectionStart:\n\t\t\t\tselect( blockEditorStore ).getBlockSelectionStart(),\n\t\t};\n\t}, [] );\n\tconst hasBlockToolbar = useHasBlockToolbar();\n\n\tconst hasBlockSelection = !! blockSelectionStart;\n\n\tuseEffect( () => {\n\t\t// If we have a new block selection, show the block tools\n\t\tif ( blockSelectionStart ) {\n\t\t\tonToggle( false );\n\t\t}\n\t}, [ blockSelectionStart, onToggle ] );\n\n\tif ( ! hasBlockToolbar ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<div\n\t\t\t\tclassName={ classnames( 'editor-collapsible-block-toolbar', {\n\t\t\t\t\t'is-collapsed': isCollapsed || ! hasBlockSelection,\n\t\t\t\t} ) }\n\t\t\t>\n\t\t\t\t<BlockToolbar hideDragHandle />\n\t\t\t</div>\n\t\t\t<Popover.Slot name=\"block-toolbar\" />\n\n\t\t\t<Button\n\t\t\t\tclassName=\"editor-collapsible-block-toolbar__toggle\"\n\t\t\t\ticon={ isCollapsed ? next : previous }\n\t\t\t\tonClick={ () => {\n\t\t\t\t\tonToggle( ! isCollapsed );\n\t\t\t\t} }\n\t\t\t\tlabel={\n\t\t\t\t\tisCollapsed\n\t\t\t\t\t\t? __( 'Show block tools' )\n\t\t\t\t\t\t: __( 'Hide block tools' )\n\t\t\t\t}\n\t\t\t\tsize=\"compact\"\n\t\t\t/>\n\t\t</>\n\t);\n}\n\nexport default CollapsableBlockToolbar;\n"],"mappings":";AAAA;AACA;AACA;AACA,OAAOA,UAAU,MAAM,YAAY;;AAEnC;AACA;AACA;AACA,SACCC,YAAY,EACZC,KAAK,IAAIC,gBAAgB,EACzBC,WAAW,IAAIC,sBAAsB,QAC/B,yBAAyB;AAChC,SAASC,SAAS,QAAQ,oBAAoB;AAC9C,SAASC,MAAM,EAAEC,OAAO,QAAQ,uBAAuB;AACvD,SAASC,EAAE,QAAQ,iBAAiB;AACpC,SAASC,IAAI,EAAEC,QAAQ,QAAQ,kBAAkB;AACjD,SAASC,SAAS,QAAQ,iBAAiB;;AAE3C;AACA;AACA;AACA,SAASC,MAAM,QAAQ,mBAAmB;AAE1C,MAAM;EAAEC;AAAmB,CAAC,GAAGD,MAAM,CAAER,sBAAuB,CAAC;AAE/D,SAASU,uBAAuBA,CAAE;EAAEC,WAAW;EAAEC;AAAS,CAAC,EAAG;EAC7D,MAAM;IAAEC;EAAoB,CAAC,GAAGN,SAAS,CAAIO,MAAM,IAAM;IACxD,OAAO;MACND,mBAAmB,EAClBC,MAAM,CAAEhB,gBAAiB,CAAC,CAACiB,sBAAsB,CAAC;IACpD,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;EACP,MAAMC,eAAe,GAAGP,kBAAkB,CAAC,CAAC;EAE5C,MAAMQ,iBAAiB,GAAG,CAAC,CAAEJ,mBAAmB;EAEhDZ,SAAS,CAAE,MAAM;IAChB;IACA,IAAKY,mBAAmB,EAAG;MAC1BD,QAAQ,CAAE,KAAM,CAAC;IAClB;EACD,CAAC,EAAE,CAAEC,mBAAmB,EAAED,QAAQ,CAAG,CAAC;EAEtC,IAAK,CAAEI,eAAe,EAAG;IACxB,OAAO,IAAI;EACZ;EAEA,OACCE,aAAA,CAAAC,QAAA,QACCD,aAAA;IACCE,SAAS,EAAGzB,UAAU,CAAE,kCAAkC,EAAE;MAC3D,cAAc,EAAEgB,WAAW,IAAI,CAAEM;IAClC,CAAE;EAAG,GAELC,aAAA,CAACtB,YAAY;IAACyB,cAAc;EAAA,CAAE,CAC1B,CAAC,EACNH,aAAA,CAACf,OAAO,CAACmB,IAAI;IAACC,IAAI,EAAC;EAAe,CAAE,CAAC,EAErCL,aAAA,CAAChB,MAAM;IACNkB,SAAS,EAAC,0CAA0C;IACpDI,IAAI,EAAGb,WAAW,GAAGN,IAAI,GAAGC,QAAU;IACtCmB,OAAO,EAAGA,CAAA,KAAM;MACfb,QAAQ,CAAE,CAAED,WAAY,CAAC;IAC1B,CAAG;IACHe,KAAK,EACJf,WAAW,GACRP,EAAE,CAAE,kBAAmB,CAAC,GACxBA,EAAE,CAAE,kBAAmB,CAC1B;IACDuB,IAAI,EAAC;EAAS,CACd,CACA,CAAC;AAEL;AAEA,eAAejB,uBAAuB","ignoreList":[]}
1
+ {"version":3,"names":["clsx","BlockToolbar","store","blockEditorStore","privateApis","blockEditorPrivateApis","useEffect","Button","Popover","__","next","previous","useSelect","unlock","useHasBlockToolbar","CollapsableBlockToolbar","isCollapsed","onToggle","blockSelectionStart","select","getBlockSelectionStart","hasBlockToolbar","hasBlockSelection","createElement","Fragment","className","hideDragHandle","Slot","name","icon","onClick","label","size"],"sources":["@wordpress/editor/src/components/collapsible-block-toolbar/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tBlockToolbar,\n\tstore as blockEditorStore,\n\tprivateApis as blockEditorPrivateApis,\n} from '@wordpress/block-editor';\nimport { useEffect } from '@wordpress/element';\nimport { Button, Popover } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { next, previous } from '@wordpress/icons';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\n\nconst { useHasBlockToolbar } = unlock( blockEditorPrivateApis );\n\nfunction CollapsableBlockToolbar( { isCollapsed, onToggle } ) {\n\tconst { blockSelectionStart } = useSelect( ( select ) => {\n\t\treturn {\n\t\t\tblockSelectionStart:\n\t\t\t\tselect( blockEditorStore ).getBlockSelectionStart(),\n\t\t};\n\t}, [] );\n\tconst hasBlockToolbar = useHasBlockToolbar();\n\n\tconst hasBlockSelection = !! blockSelectionStart;\n\n\tuseEffect( () => {\n\t\t// If we have a new block selection, show the block tools\n\t\tif ( blockSelectionStart ) {\n\t\t\tonToggle( false );\n\t\t}\n\t}, [ blockSelectionStart, onToggle ] );\n\n\tif ( ! hasBlockToolbar ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<div\n\t\t\t\tclassName={ clsx( 'editor-collapsible-block-toolbar', {\n\t\t\t\t\t'is-collapsed': isCollapsed || ! hasBlockSelection,\n\t\t\t\t} ) }\n\t\t\t>\n\t\t\t\t<BlockToolbar hideDragHandle />\n\t\t\t</div>\n\t\t\t<Popover.Slot name=\"block-toolbar\" />\n\n\t\t\t<Button\n\t\t\t\tclassName=\"editor-collapsible-block-toolbar__toggle\"\n\t\t\t\ticon={ isCollapsed ? next : previous }\n\t\t\t\tonClick={ () => {\n\t\t\t\t\tonToggle( ! isCollapsed );\n\t\t\t\t} }\n\t\t\t\tlabel={\n\t\t\t\t\tisCollapsed\n\t\t\t\t\t\t? __( 'Show block tools' )\n\t\t\t\t\t\t: __( 'Hide block tools' )\n\t\t\t\t}\n\t\t\t\tsize=\"compact\"\n\t\t\t/>\n\t\t</>\n\t);\n}\n\nexport default CollapsableBlockToolbar;\n"],"mappings":";AAAA;AACA;AACA;AACA,OAAOA,IAAI,MAAM,MAAM;;AAEvB;AACA;AACA;AACA,SACCC,YAAY,EACZC,KAAK,IAAIC,gBAAgB,EACzBC,WAAW,IAAIC,sBAAsB,QAC/B,yBAAyB;AAChC,SAASC,SAAS,QAAQ,oBAAoB;AAC9C,SAASC,MAAM,EAAEC,OAAO,QAAQ,uBAAuB;AACvD,SAASC,EAAE,QAAQ,iBAAiB;AACpC,SAASC,IAAI,EAAEC,QAAQ,QAAQ,kBAAkB;AACjD,SAASC,SAAS,QAAQ,iBAAiB;;AAE3C;AACA;AACA;AACA,SAASC,MAAM,QAAQ,mBAAmB;AAE1C,MAAM;EAAEC;AAAmB,CAAC,GAAGD,MAAM,CAAER,sBAAuB,CAAC;AAE/D,SAASU,uBAAuBA,CAAE;EAAEC,WAAW;EAAEC;AAAS,CAAC,EAAG;EAC7D,MAAM;IAAEC;EAAoB,CAAC,GAAGN,SAAS,CAAIO,MAAM,IAAM;IACxD,OAAO;MACND,mBAAmB,EAClBC,MAAM,CAAEhB,gBAAiB,CAAC,CAACiB,sBAAsB,CAAC;IACpD,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;EACP,MAAMC,eAAe,GAAGP,kBAAkB,CAAC,CAAC;EAE5C,MAAMQ,iBAAiB,GAAG,CAAC,CAAEJ,mBAAmB;EAEhDZ,SAAS,CAAE,MAAM;IAChB;IACA,IAAKY,mBAAmB,EAAG;MAC1BD,QAAQ,CAAE,KAAM,CAAC;IAClB;EACD,CAAC,EAAE,CAAEC,mBAAmB,EAAED,QAAQ,CAAG,CAAC;EAEtC,IAAK,CAAEI,eAAe,EAAG;IACxB,OAAO,IAAI;EACZ;EAEA,OACCE,aAAA,CAAAC,QAAA,QACCD,aAAA;IACCE,SAAS,EAAGzB,IAAI,CAAE,kCAAkC,EAAE;MACrD,cAAc,EAAEgB,WAAW,IAAI,CAAEM;IAClC,CAAE;EAAG,GAELC,aAAA,CAACtB,YAAY;IAACyB,cAAc;EAAA,CAAE,CAC1B,CAAC,EACNH,aAAA,CAACf,OAAO,CAACmB,IAAI;IAACC,IAAI,EAAC;EAAe,CAAE,CAAC,EAErCL,aAAA,CAAChB,MAAM;IACNkB,SAAS,EAAC,0CAA0C;IACpDI,IAAI,EAAGb,WAAW,GAAGN,IAAI,GAAGC,QAAU;IACtCmB,OAAO,EAAGA,CAAA,KAAM;MACfb,QAAQ,CAAE,CAAED,WAAY,CAAC;IAC1B,CAAG;IACHe,KAAK,EACJf,WAAW,GACRP,EAAE,CAAE,kBAAmB,CAAC,GACxBA,EAAE,CAAE,kBAAmB,CAC1B;IACDuB,IAAI,EAAC;EAAS,CACd,CACA,CAAC;AAEL;AAEA,eAAejB,uBAAuB","ignoreList":[]}
@@ -2,7 +2,7 @@ import { createElement } from "react";
2
2
  /**
3
3
  * External dependencies
4
4
  */
5
- import classnames from 'classnames';
5
+ import clsx from 'clsx';
6
6
 
7
7
  /**
8
8
  * WordPress dependencies
@@ -84,7 +84,7 @@ export default function DocumentBar() {
84
84
  mounted.current = true;
85
85
  }, []);
86
86
  return createElement("div", {
87
- className: classnames('editor-document-bar', {
87
+ className: clsx('editor-document-bar', {
88
88
  'has-back-button': hasBackButton,
89
89
  'is-global': isGlobalEntity
90
90
  })
@@ -1 +1 @@
1
- {"version":3,"names":["classnames","__","isRTL","sprintf","useSelect","useDispatch","Button","__experimentalText","Text","__unstableMotion","motion","__unstableAnimatePresence","AnimatePresence","BlockIcon","chevronLeftSmall","chevronRightSmall","displayShortcut","store","coreStore","commandsStore","useRef","useEffect","useReducedMotion","editorStore","unlock","TYPE_LABELS","wp_pattern","wp_navigation","wp_template","wp_template_part","TEMPLATE_POST_TYPES","GLOBAL_POST_TYPES","MotionButton","DocumentBar","postType","document","isResolving","templateIcon","templateTitle","onNavigateToPreviousEntityRecord","select","getCurrentPostType","getCurrentPostId","getEditorSettings","__experimentalGetTemplateInfo","getTemplateInfo","getEditedEntityRecord","isResolvingSelector","_postType","_postId","_document","_templateInfo","getPostIcon","area","title","open","openCommandCenter","isReducedMotion","isNotFound","isTemplate","includes","isGlobalEntity","hasBackButton","mounted","current","createElement","className","icon","onClick","event","stopPropagation","size","initial","opacity","transform","animate","exit","transition","duration","undefined","div","key","as","primary"],"sources":["@wordpress/editor/src/components/document-bar/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { __, isRTL, sprintf } from '@wordpress/i18n';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tButton,\n\t__experimentalText as Text,\n\t__unstableMotion as motion,\n\t__unstableAnimatePresence as AnimatePresence,\n} from '@wordpress/components';\nimport { BlockIcon } from '@wordpress/block-editor';\nimport { chevronLeftSmall, chevronRightSmall } from '@wordpress/icons';\nimport { displayShortcut } from '@wordpress/keycodes';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { store as commandsStore } from '@wordpress/commands';\nimport { useRef, useEffect } from '@wordpress/element';\nimport { useReducedMotion } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\nimport { unlock } from '../../lock-unlock';\n\nconst TYPE_LABELS = {\n\t// translators: 1: Pattern title.\n\twp_pattern: __( 'Editing pattern: %s' ),\n\t// translators: 1: Navigation menu title.\n\twp_navigation: __( 'Editing navigation menu: %s' ),\n\t// translators: 1: Template title.\n\twp_template: __( 'Editing template: %s' ),\n\t// translators: 1: Template part title.\n\twp_template_part: __( 'Editing template part: %s' ),\n};\n\nconst TEMPLATE_POST_TYPES = [ 'wp_template', 'wp_template_part' ];\n\nconst GLOBAL_POST_TYPES = [\n\t...TEMPLATE_POST_TYPES,\n\t'wp_block',\n\t'wp_navigation',\n];\n\nconst MotionButton = motion( Button );\n\nexport default function DocumentBar() {\n\tconst {\n\t\tpostType,\n\t\tdocument,\n\t\tisResolving,\n\t\ttemplateIcon,\n\t\ttemplateTitle,\n\t\tonNavigateToPreviousEntityRecord,\n\t} = useSelect( ( select ) => {\n\t\tconst {\n\t\t\tgetCurrentPostType,\n\t\t\tgetCurrentPostId,\n\t\t\tgetEditorSettings,\n\t\t\t__experimentalGetTemplateInfo: getTemplateInfo,\n\t\t} = select( editorStore );\n\t\tconst { getEditedEntityRecord, isResolving: isResolvingSelector } =\n\t\t\tselect( coreStore );\n\t\tconst _postType = getCurrentPostType();\n\t\tconst _postId = getCurrentPostId();\n\t\tconst _document = getEditedEntityRecord(\n\t\t\t'postType',\n\t\t\t_postType,\n\t\t\t_postId\n\t\t);\n\t\tconst _templateInfo = getTemplateInfo( _document );\n\t\treturn {\n\t\t\tpostType: _postType,\n\t\t\tdocument: _document,\n\t\t\tisResolving: isResolvingSelector(\n\t\t\t\t'getEditedEntityRecord',\n\t\t\t\t'postType',\n\t\t\t\t_postType,\n\t\t\t\t_postId\n\t\t\t),\n\t\t\ttemplateIcon: unlock( select( editorStore ) ).getPostIcon(\n\t\t\t\t_postType,\n\t\t\t\t{\n\t\t\t\t\tarea: _document?.area,\n\t\t\t\t}\n\t\t\t),\n\t\t\ttemplateTitle: _templateInfo.title,\n\t\t\tonNavigateToPreviousEntityRecord:\n\t\t\t\tgetEditorSettings().onNavigateToPreviousEntityRecord,\n\t\t};\n\t}, [] );\n\n\tconst { open: openCommandCenter } = useDispatch( commandsStore );\n\tconst isReducedMotion = useReducedMotion();\n\n\tconst isNotFound = ! document && ! isResolving;\n\tconst isTemplate = TEMPLATE_POST_TYPES.includes( postType );\n\tconst isGlobalEntity = GLOBAL_POST_TYPES.includes( postType );\n\tconst hasBackButton = !! onNavigateToPreviousEntityRecord;\n\tconst title = isTemplate ? templateTitle : document.title;\n\n\tconst mounted = useRef( false );\n\tuseEffect( () => {\n\t\tmounted.current = true;\n\t}, [] );\n\n\treturn (\n\t\t<div\n\t\t\tclassName={ classnames( 'editor-document-bar', {\n\t\t\t\t'has-back-button': hasBackButton,\n\t\t\t\t'is-global': isGlobalEntity,\n\t\t\t} ) }\n\t\t>\n\t\t\t<AnimatePresence>\n\t\t\t\t{ hasBackButton && (\n\t\t\t\t\t<MotionButton\n\t\t\t\t\t\tclassName=\"editor-document-bar__back\"\n\t\t\t\t\t\ticon={ isRTL() ? chevronRightSmall : chevronLeftSmall }\n\t\t\t\t\t\tonClick={ ( event ) => {\n\t\t\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\t\t\tonNavigateToPreviousEntityRecord();\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\t\tinitial={\n\t\t\t\t\t\t\tmounted.current\n\t\t\t\t\t\t\t\t? { opacity: 0, transform: 'translateX(15%)' }\n\t\t\t\t\t\t\t\t: false // Don't show entry animation when DocumentBar mounts.\n\t\t\t\t\t\t}\n\t\t\t\t\t\tanimate={ { opacity: 1, transform: 'translateX(0%)' } }\n\t\t\t\t\t\texit={ { opacity: 0, transform: 'translateX(15%)' } }\n\t\t\t\t\t\ttransition={\n\t\t\t\t\t\t\tisReducedMotion ? { duration: 0 } : undefined\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Back' ) }\n\t\t\t\t\t</MotionButton>\n\t\t\t\t) }\n\t\t\t</AnimatePresence>\n\t\t\t{ isNotFound ? (\n\t\t\t\t<Text>{ __( 'Document not found' ) }</Text>\n\t\t\t) : (\n\t\t\t\t<Button\n\t\t\t\t\tclassName=\"editor-document-bar__command\"\n\t\t\t\t\tonClick={ () => openCommandCenter() }\n\t\t\t\t\tsize=\"compact\"\n\t\t\t\t>\n\t\t\t\t\t<motion.div\n\t\t\t\t\t\tclassName=\"editor-document-bar__title\"\n\t\t\t\t\t\t// Force entry animation when the back button is added or removed.\n\t\t\t\t\t\tkey={ hasBackButton }\n\t\t\t\t\t\tinitial={\n\t\t\t\t\t\t\tmounted.current\n\t\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\t\topacity: 0,\n\t\t\t\t\t\t\t\t\t\ttransform: hasBackButton\n\t\t\t\t\t\t\t\t\t\t\t? 'translateX(15%)'\n\t\t\t\t\t\t\t\t\t\t\t: 'translateX(-15%)',\n\t\t\t\t\t\t\t\t }\n\t\t\t\t\t\t\t\t: false // Don't show entry animation when DocumentBar mounts.\n\t\t\t\t\t\t}\n\t\t\t\t\t\tanimate={ {\n\t\t\t\t\t\t\topacity: 1,\n\t\t\t\t\t\t\ttransform: 'translateX(0%)',\n\t\t\t\t\t\t} }\n\t\t\t\t\t\ttransition={\n\t\t\t\t\t\t\tisReducedMotion ? { duration: 0 } : undefined\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t<BlockIcon icon={ templateIcon } />\n\t\t\t\t\t\t<Text\n\t\t\t\t\t\t\tsize=\"body\"\n\t\t\t\t\t\t\tas=\"h1\"\n\t\t\t\t\t\t\taria-label={\n\t\t\t\t\t\t\t\tTYPE_LABELS[ postType ]\n\t\t\t\t\t\t\t\t\t? // eslint-disable-next-line @wordpress/valid-sprintf\n\t\t\t\t\t\t\t\t\t sprintf( TYPE_LABELS[ postType ], title )\n\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ title }\n\t\t\t\t\t\t</Text>\n\t\t\t\t\t</motion.div>\n\t\t\t\t\t<span className=\"editor-document-bar__shortcut\">\n\t\t\t\t\t\t{ displayShortcut.primary( 'k' ) }\n\t\t\t\t\t</span>\n\t\t\t\t</Button>\n\t\t\t) }\n\t\t</div>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["clsx","__","isRTL","sprintf","useSelect","useDispatch","Button","__experimentalText","Text","__unstableMotion","motion","__unstableAnimatePresence","AnimatePresence","BlockIcon","chevronLeftSmall","chevronRightSmall","displayShortcut","store","coreStore","commandsStore","useRef","useEffect","useReducedMotion","editorStore","unlock","TYPE_LABELS","wp_pattern","wp_navigation","wp_template","wp_template_part","TEMPLATE_POST_TYPES","GLOBAL_POST_TYPES","MotionButton","DocumentBar","postType","document","isResolving","templateIcon","templateTitle","onNavigateToPreviousEntityRecord","select","getCurrentPostType","getCurrentPostId","getEditorSettings","__experimentalGetTemplateInfo","getTemplateInfo","getEditedEntityRecord","isResolvingSelector","_postType","_postId","_document","_templateInfo","getPostIcon","area","title","open","openCommandCenter","isReducedMotion","isNotFound","isTemplate","includes","isGlobalEntity","hasBackButton","mounted","current","createElement","className","icon","onClick","event","stopPropagation","size","initial","opacity","transform","animate","exit","transition","duration","undefined","div","key","as","primary"],"sources":["@wordpress/editor/src/components/document-bar/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { __, isRTL, sprintf } from '@wordpress/i18n';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tButton,\n\t__experimentalText as Text,\n\t__unstableMotion as motion,\n\t__unstableAnimatePresence as AnimatePresence,\n} from '@wordpress/components';\nimport { BlockIcon } from '@wordpress/block-editor';\nimport { chevronLeftSmall, chevronRightSmall } from '@wordpress/icons';\nimport { displayShortcut } from '@wordpress/keycodes';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { store as commandsStore } from '@wordpress/commands';\nimport { useRef, useEffect } from '@wordpress/element';\nimport { useReducedMotion } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\nimport { unlock } from '../../lock-unlock';\n\nconst TYPE_LABELS = {\n\t// translators: 1: Pattern title.\n\twp_pattern: __( 'Editing pattern: %s' ),\n\t// translators: 1: Navigation menu title.\n\twp_navigation: __( 'Editing navigation menu: %s' ),\n\t// translators: 1: Template title.\n\twp_template: __( 'Editing template: %s' ),\n\t// translators: 1: Template part title.\n\twp_template_part: __( 'Editing template part: %s' ),\n};\n\nconst TEMPLATE_POST_TYPES = [ 'wp_template', 'wp_template_part' ];\n\nconst GLOBAL_POST_TYPES = [\n\t...TEMPLATE_POST_TYPES,\n\t'wp_block',\n\t'wp_navigation',\n];\n\nconst MotionButton = motion( Button );\n\nexport default function DocumentBar() {\n\tconst {\n\t\tpostType,\n\t\tdocument,\n\t\tisResolving,\n\t\ttemplateIcon,\n\t\ttemplateTitle,\n\t\tonNavigateToPreviousEntityRecord,\n\t} = useSelect( ( select ) => {\n\t\tconst {\n\t\t\tgetCurrentPostType,\n\t\t\tgetCurrentPostId,\n\t\t\tgetEditorSettings,\n\t\t\t__experimentalGetTemplateInfo: getTemplateInfo,\n\t\t} = select( editorStore );\n\t\tconst { getEditedEntityRecord, isResolving: isResolvingSelector } =\n\t\t\tselect( coreStore );\n\t\tconst _postType = getCurrentPostType();\n\t\tconst _postId = getCurrentPostId();\n\t\tconst _document = getEditedEntityRecord(\n\t\t\t'postType',\n\t\t\t_postType,\n\t\t\t_postId\n\t\t);\n\t\tconst _templateInfo = getTemplateInfo( _document );\n\t\treturn {\n\t\t\tpostType: _postType,\n\t\t\tdocument: _document,\n\t\t\tisResolving: isResolvingSelector(\n\t\t\t\t'getEditedEntityRecord',\n\t\t\t\t'postType',\n\t\t\t\t_postType,\n\t\t\t\t_postId\n\t\t\t),\n\t\t\ttemplateIcon: unlock( select( editorStore ) ).getPostIcon(\n\t\t\t\t_postType,\n\t\t\t\t{\n\t\t\t\t\tarea: _document?.area,\n\t\t\t\t}\n\t\t\t),\n\t\t\ttemplateTitle: _templateInfo.title,\n\t\t\tonNavigateToPreviousEntityRecord:\n\t\t\t\tgetEditorSettings().onNavigateToPreviousEntityRecord,\n\t\t};\n\t}, [] );\n\n\tconst { open: openCommandCenter } = useDispatch( commandsStore );\n\tconst isReducedMotion = useReducedMotion();\n\n\tconst isNotFound = ! document && ! isResolving;\n\tconst isTemplate = TEMPLATE_POST_TYPES.includes( postType );\n\tconst isGlobalEntity = GLOBAL_POST_TYPES.includes( postType );\n\tconst hasBackButton = !! onNavigateToPreviousEntityRecord;\n\tconst title = isTemplate ? templateTitle : document.title;\n\n\tconst mounted = useRef( false );\n\tuseEffect( () => {\n\t\tmounted.current = true;\n\t}, [] );\n\n\treturn (\n\t\t<div\n\t\t\tclassName={ clsx( 'editor-document-bar', {\n\t\t\t\t'has-back-button': hasBackButton,\n\t\t\t\t'is-global': isGlobalEntity,\n\t\t\t} ) }\n\t\t>\n\t\t\t<AnimatePresence>\n\t\t\t\t{ hasBackButton && (\n\t\t\t\t\t<MotionButton\n\t\t\t\t\t\tclassName=\"editor-document-bar__back\"\n\t\t\t\t\t\ticon={ isRTL() ? chevronRightSmall : chevronLeftSmall }\n\t\t\t\t\t\tonClick={ ( event ) => {\n\t\t\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\t\t\tonNavigateToPreviousEntityRecord();\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\t\tinitial={\n\t\t\t\t\t\t\tmounted.current\n\t\t\t\t\t\t\t\t? { opacity: 0, transform: 'translateX(15%)' }\n\t\t\t\t\t\t\t\t: false // Don't show entry animation when DocumentBar mounts.\n\t\t\t\t\t\t}\n\t\t\t\t\t\tanimate={ { opacity: 1, transform: 'translateX(0%)' } }\n\t\t\t\t\t\texit={ { opacity: 0, transform: 'translateX(15%)' } }\n\t\t\t\t\t\ttransition={\n\t\t\t\t\t\t\tisReducedMotion ? { duration: 0 } : undefined\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Back' ) }\n\t\t\t\t\t</MotionButton>\n\t\t\t\t) }\n\t\t\t</AnimatePresence>\n\t\t\t{ isNotFound ? (\n\t\t\t\t<Text>{ __( 'Document not found' ) }</Text>\n\t\t\t) : (\n\t\t\t\t<Button\n\t\t\t\t\tclassName=\"editor-document-bar__command\"\n\t\t\t\t\tonClick={ () => openCommandCenter() }\n\t\t\t\t\tsize=\"compact\"\n\t\t\t\t>\n\t\t\t\t\t<motion.div\n\t\t\t\t\t\tclassName=\"editor-document-bar__title\"\n\t\t\t\t\t\t// Force entry animation when the back button is added or removed.\n\t\t\t\t\t\tkey={ hasBackButton }\n\t\t\t\t\t\tinitial={\n\t\t\t\t\t\t\tmounted.current\n\t\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\t\topacity: 0,\n\t\t\t\t\t\t\t\t\t\ttransform: hasBackButton\n\t\t\t\t\t\t\t\t\t\t\t? 'translateX(15%)'\n\t\t\t\t\t\t\t\t\t\t\t: 'translateX(-15%)',\n\t\t\t\t\t\t\t\t }\n\t\t\t\t\t\t\t\t: false // Don't show entry animation when DocumentBar mounts.\n\t\t\t\t\t\t}\n\t\t\t\t\t\tanimate={ {\n\t\t\t\t\t\t\topacity: 1,\n\t\t\t\t\t\t\ttransform: 'translateX(0%)',\n\t\t\t\t\t\t} }\n\t\t\t\t\t\ttransition={\n\t\t\t\t\t\t\tisReducedMotion ? { duration: 0 } : undefined\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t<BlockIcon icon={ templateIcon } />\n\t\t\t\t\t\t<Text\n\t\t\t\t\t\t\tsize=\"body\"\n\t\t\t\t\t\t\tas=\"h1\"\n\t\t\t\t\t\t\taria-label={\n\t\t\t\t\t\t\t\tTYPE_LABELS[ postType ]\n\t\t\t\t\t\t\t\t\t? // eslint-disable-next-line @wordpress/valid-sprintf\n\t\t\t\t\t\t\t\t\t sprintf( TYPE_LABELS[ postType ], title )\n\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ title }\n\t\t\t\t\t\t</Text>\n\t\t\t\t\t</motion.div>\n\t\t\t\t\t<span className=\"editor-document-bar__shortcut\">\n\t\t\t\t\t\t{ displayShortcut.primary( 'k' ) }\n\t\t\t\t\t</span>\n\t\t\t\t</Button>\n\t\t\t) }\n\t\t</div>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
@@ -2,7 +2,7 @@ import { createElement } from "react";
2
2
  /**
3
3
  * External dependencies
4
4
  */
5
- import classnames from 'classnames';
5
+ import clsx from 'clsx';
6
6
  const TableOfContentsItem = ({
7
7
  children,
8
8
  isValid,
@@ -10,7 +10,7 @@ const TableOfContentsItem = ({
10
10
  href,
11
11
  onSelect
12
12
  }) => createElement("li", {
13
- className: classnames('document-outline__item', `is-${level.toLowerCase()}`, {
13
+ className: clsx('document-outline__item', `is-${level.toLowerCase()}`, {
14
14
  'is-invalid': !isValid
15
15
  })
16
16
  }, createElement("a", {
@@ -1 +1 @@
1
- {"version":3,"names":["classnames","TableOfContentsItem","children","isValid","level","href","onSelect","createElement","className","toLowerCase","onClick"],"sources":["@wordpress/editor/src/components/document-outline/item.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\nconst TableOfContentsItem = ( {\n\tchildren,\n\tisValid,\n\tlevel,\n\thref,\n\tonSelect,\n} ) => (\n\t<li\n\t\tclassName={ classnames(\n\t\t\t'document-outline__item',\n\t\t\t`is-${ level.toLowerCase() }`,\n\t\t\t{\n\t\t\t\t'is-invalid': ! isValid,\n\t\t\t}\n\t\t) }\n\t>\n\t\t<a\n\t\t\thref={ href }\n\t\t\tclassName=\"document-outline__button\"\n\t\t\tonClick={ onSelect }\n\t\t>\n\t\t\t<span\n\t\t\t\tclassName=\"document-outline__emdash\"\n\t\t\t\taria-hidden=\"true\"\n\t\t\t></span>\n\t\t\t<strong className=\"document-outline__level\">{ level }</strong>\n\t\t\t<span className=\"document-outline__item-content\">{ children }</span>\n\t\t</a>\n\t</li>\n);\n\nexport default TableOfContentsItem;\n"],"mappings":";AAAA;AACA;AACA;AACA,OAAOA,UAAU,MAAM,YAAY;AAEnC,MAAMC,mBAAmB,GAAGA,CAAE;EAC7BC,QAAQ;EACRC,OAAO;EACPC,KAAK;EACLC,IAAI;EACJC;AACD,CAAC,KACAC,aAAA;EACCC,SAAS,EAAGR,UAAU,CACrB,wBAAwB,EACvB,MAAMI,KAAK,CAACK,WAAW,CAAC,CAAG,EAAC,EAC7B;IACC,YAAY,EAAE,CAAEN;EACjB,CACD;AAAG,GAEHI,aAAA;EACCF,IAAI,EAAGA,IAAM;EACbG,SAAS,EAAC,0BAA0B;EACpCE,OAAO,EAAGJ;AAAU,GAEpBC,aAAA;EACCC,SAAS,EAAC,0BAA0B;EACpC,eAAY;AAAM,CACZ,CAAC,EACRD,aAAA;EAAQC,SAAS,EAAC;AAAyB,GAAGJ,KAAe,CAAC,EAC9DG,aAAA;EAAMC,SAAS,EAAC;AAAgC,GAAGN,QAAgB,CACjE,CACA,CACJ;AAED,eAAeD,mBAAmB","ignoreList":[]}
1
+ {"version":3,"names":["clsx","TableOfContentsItem","children","isValid","level","href","onSelect","createElement","className","toLowerCase","onClick"],"sources":["@wordpress/editor/src/components/document-outline/item.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\nconst TableOfContentsItem = ( {\n\tchildren,\n\tisValid,\n\tlevel,\n\thref,\n\tonSelect,\n} ) => (\n\t<li\n\t\tclassName={ clsx(\n\t\t\t'document-outline__item',\n\t\t\t`is-${ level.toLowerCase() }`,\n\t\t\t{\n\t\t\t\t'is-invalid': ! isValid,\n\t\t\t}\n\t\t) }\n\t>\n\t\t<a\n\t\t\thref={ href }\n\t\t\tclassName=\"document-outline__button\"\n\t\t\tonClick={ onSelect }\n\t\t>\n\t\t\t<span\n\t\t\t\tclassName=\"document-outline__emdash\"\n\t\t\t\taria-hidden=\"true\"\n\t\t\t></span>\n\t\t\t<strong className=\"document-outline__level\">{ level }</strong>\n\t\t\t<span className=\"document-outline__item-content\">{ children }</span>\n\t\t</a>\n\t</li>\n);\n\nexport default TableOfContentsItem;\n"],"mappings":";AAAA;AACA;AACA;AACA,OAAOA,IAAI,MAAM,MAAM;AAEvB,MAAMC,mBAAmB,GAAGA,CAAE;EAC7BC,QAAQ;EACRC,OAAO;EACPC,KAAK;EACLC,IAAI;EACJC;AACD,CAAC,KACAC,aAAA;EACCC,SAAS,EAAGR,IAAI,CACf,wBAAwB,EACvB,MAAMI,KAAK,CAACK,WAAW,CAAC,CAAG,EAAC,EAC7B;IACC,YAAY,EAAE,CAAEN;EACjB,CACD;AAAG,GAEHI,aAAA;EACCF,IAAI,EAAGA,IAAM;EACbG,SAAS,EAAC,0BAA0B;EACpCE,OAAO,EAAGJ;AAAU,GAEpBC,aAAA;EACCC,SAAS,EAAC,0BAA0B;EACpC,eAAY;AAAM,CACZ,CAAC,EACRD,aAAA;EAAQC,SAAS,EAAC;AAAyB,GAAGJ,KAAe,CAAC,EAC9DG,aAAA;EAAMC,SAAS,EAAC;AAAgC,GAAGN,QAAgB,CACjE,CACA,CACJ;AAED,eAAeD,mBAAmB","ignoreList":[]}
@@ -2,7 +2,7 @@ import { createElement, Fragment } from "react";
2
2
  /**
3
3
  * External dependencies
4
4
  */
5
- import classnames from 'classnames';
5
+ import clsx from 'clsx';
6
6
 
7
7
  /**
8
8
  * WordPress dependencies
@@ -13,7 +13,7 @@ import { __, _x } from '@wordpress/i18n';
13
13
  import { NavigableToolbar, ToolSelector, store as blockEditorStore } from '@wordpress/block-editor';
14
14
  import { Button, ToolbarItem } from '@wordpress/components';
15
15
  import { listView, plus } from '@wordpress/icons';
16
- import { useRef, useCallback } from '@wordpress/element';
16
+ import { useCallback } from '@wordpress/element';
17
17
  import { store as keyboardShortcutsStore } from '@wordpress/keyboard-shortcuts';
18
18
  import { store as preferencesStore } from '@wordpress/preferences';
19
19
 
@@ -30,11 +30,9 @@ const preventDefault = event => {
30
30
  function DocumentTools({
31
31
  className,
32
32
  disableBlockTools = false,
33
- children,
34
33
  // This is a temporary prop until the list view is fully unified between post and site editors.
35
34
  listViewLabel = __('Document Overview')
36
35
  }) {
37
- const inserterButton = useRef();
38
36
  const {
39
37
  setIsInserterOpened,
40
38
  setIsListViewOpened
@@ -44,6 +42,7 @@ function DocumentTools({
44
42
  isInserterOpened,
45
43
  isListViewOpen,
46
44
  listViewShortcut,
45
+ inserterSidebarToggleRef,
47
46
  listViewToggleRef,
48
47
  hasFixedToolbar,
49
48
  showIconLabels
@@ -56,19 +55,27 @@ function DocumentTools({
56
55
  } = select(preferencesStore);
57
56
  const {
58
57
  isListViewOpened,
58
+ getEditorMode,
59
+ getInserterSidebarToggleRef,
59
60
  getListViewToggleRef
60
61
  } = unlock(select(editorStore));
61
62
  const {
62
63
  getShortcutRepresentation
63
64
  } = select(keyboardShortcutsStore);
65
+ const {
66
+ __unstableGetEditorMode
67
+ } = select(blockEditorStore);
64
68
  return {
65
69
  isInserterOpened: select(editorStore).isInserterOpened(),
66
70
  isListViewOpen: isListViewOpened(),
67
71
  listViewShortcut: getShortcutRepresentation('core/editor/toggle-list-view'),
72
+ inserterSidebarToggleRef: getInserterSidebarToggleRef(),
68
73
  listViewToggleRef: getListViewToggleRef(),
69
74
  hasFixedToolbar: getSettings().hasFixedToolbar,
70
75
  showIconLabels: get('core', 'showIconLabels'),
71
- isDistractionFree: get('core', 'distractionFree')
76
+ isDistractionFree: get('core', 'distractionFree'),
77
+ isVisualMode: getEditorMode() === 'visual',
78
+ isZoomedOutView: __unstableGetEditorMode() === 'zoom-out'
72
79
  };
73
80
  }, []);
74
81
  const isLargeViewport = useViewportMatch('medium');
@@ -77,17 +84,7 @@ function DocumentTools({
77
84
  /* translators: accessibility text for the editor toolbar */
78
85
  const toolbarAriaLabel = __('Document tools');
79
86
  const toggleListView = useCallback(() => setIsListViewOpened(!isListViewOpen), [setIsListViewOpened, isListViewOpen]);
80
- const toggleInserter = useCallback(() => {
81
- if (isInserterOpened) {
82
- // Focusing the inserter button should close the inserter popover.
83
- // However, there are some cases it won't close when the focus is lost.
84
- // See https://github.com/WordPress/gutenberg/issues/43090 for more details.
85
- inserterButton.current.focus();
86
- setIsInserterOpened(false);
87
- } else {
88
- setIsInserterOpened(true);
89
- }
90
- }, [isInserterOpened, setIsInserterOpened]);
87
+ const toggleInserter = useCallback(() => setIsInserterOpened(!isInserterOpened), [isInserterOpened, setIsInserterOpened]);
91
88
 
92
89
  /* translators: button label text should, if possible, be under 16 characters. */
93
90
  const longLabel = _x('Toggle block inserter', 'Generic label for block inserter button');
@@ -98,13 +95,13 @@ function DocumentTools({
98
95
  // supported, but we're keeping it in the list of class names for backwards
99
96
  // compatibility.
100
97
  createElement(NavigableToolbar, {
101
- className: classnames('editor-document-tools', 'edit-post-header-toolbar', className),
98
+ className: clsx('editor-document-tools', 'edit-post-header-toolbar', className),
102
99
  "aria-label": toolbarAriaLabel,
103
100
  variant: "unstyled"
104
101
  }, createElement("div", {
105
102
  className: "editor-document-tools__left"
106
103
  }, !isDistractionFree && createElement(ToolbarItem, {
107
- ref: inserterButton,
104
+ ref: inserterSidebarToggleRef,
108
105
  as: Button,
109
106
  className: "editor-document-tools__inserter-toggle",
110
107
  variant: "primary",
@@ -147,7 +144,7 @@ function DocumentTools({
147
144
  "aria-expanded": isListViewOpen,
148
145
  ref: listViewToggleRef,
149
146
  size: "compact"
150
- })), children))
147
+ }))))
151
148
  );
152
149
  }
153
150
  export default DocumentTools;
@@ -1 +1 @@
1
- {"version":3,"names":["classnames","useViewportMatch","useSelect","useDispatch","__","_x","NavigableToolbar","ToolSelector","store","blockEditorStore","Button","ToolbarItem","listView","plus","useRef","useCallback","keyboardShortcutsStore","preferencesStore","unlock","editorStore","EditorHistoryRedo","EditorHistoryUndo","preventDefault","event","DocumentTools","className","disableBlockTools","children","listViewLabel","inserterButton","setIsInserterOpened","setIsListViewOpened","isDistractionFree","isInserterOpened","isListViewOpen","listViewShortcut","listViewToggleRef","hasFixedToolbar","showIconLabels","select","getSettings","get","isListViewOpened","getListViewToggleRef","getShortcutRepresentation","isLargeViewport","isWideViewport","toolbarAriaLabel","toggleListView","toggleInserter","current","focus","longLabel","shortLabel","createElement","variant","ref","as","isPressed","onMouseDown","onClick","disabled","icon","label","showTooltip","Fragment","undefined","size","shortcut"],"sources":["@wordpress/editor/src/components/document-tools/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useViewportMatch } from '@wordpress/compose';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { __, _x } from '@wordpress/i18n';\nimport {\n\tNavigableToolbar,\n\tToolSelector,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { Button, ToolbarItem } from '@wordpress/components';\nimport { listView, plus } from '@wordpress/icons';\nimport { useRef, useCallback } from '@wordpress/element';\nimport { store as keyboardShortcutsStore } from '@wordpress/keyboard-shortcuts';\nimport { store as preferencesStore } from '@wordpress/preferences';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\nimport { store as editorStore } from '../../store';\nimport EditorHistoryRedo from '../editor-history/redo';\nimport EditorHistoryUndo from '../editor-history/undo';\n\nconst preventDefault = ( event ) => {\n\tevent.preventDefault();\n};\n\nfunction DocumentTools( {\n\tclassName,\n\tdisableBlockTools = false,\n\tchildren,\n\t// This is a temporary prop until the list view is fully unified between post and site editors.\n\tlistViewLabel = __( 'Document Overview' ),\n} ) {\n\tconst inserterButton = useRef();\n\tconst { setIsInserterOpened, setIsListViewOpened } =\n\t\tuseDispatch( editorStore );\n\tconst {\n\t\tisDistractionFree,\n\t\tisInserterOpened,\n\t\tisListViewOpen,\n\t\tlistViewShortcut,\n\t\tlistViewToggleRef,\n\t\thasFixedToolbar,\n\t\tshowIconLabels,\n\t} = useSelect( ( select ) => {\n\t\tconst { getSettings } = select( blockEditorStore );\n\t\tconst { get } = select( preferencesStore );\n\t\tconst { isListViewOpened, getListViewToggleRef } = unlock(\n\t\t\tselect( editorStore )\n\t\t);\n\t\tconst { getShortcutRepresentation } = select( keyboardShortcutsStore );\n\n\t\treturn {\n\t\t\tisInserterOpened: select( editorStore ).isInserterOpened(),\n\t\t\tisListViewOpen: isListViewOpened(),\n\t\t\tlistViewShortcut: getShortcutRepresentation(\n\t\t\t\t'core/editor/toggle-list-view'\n\t\t\t),\n\t\t\tlistViewToggleRef: getListViewToggleRef(),\n\t\t\thasFixedToolbar: getSettings().hasFixedToolbar,\n\t\t\tshowIconLabels: get( 'core', 'showIconLabels' ),\n\t\t\tisDistractionFree: get( 'core', 'distractionFree' ),\n\t\t};\n\t}, [] );\n\n\tconst isLargeViewport = useViewportMatch( 'medium' );\n\tconst isWideViewport = useViewportMatch( 'wide' );\n\n\t/* translators: accessibility text for the editor toolbar */\n\tconst toolbarAriaLabel = __( 'Document tools' );\n\n\tconst toggleListView = useCallback(\n\t\t() => setIsListViewOpened( ! isListViewOpen ),\n\t\t[ setIsListViewOpened, isListViewOpen ]\n\t);\n\n\tconst toggleInserter = useCallback( () => {\n\t\tif ( isInserterOpened ) {\n\t\t\t// Focusing the inserter button should close the inserter popover.\n\t\t\t// However, there are some cases it won't close when the focus is lost.\n\t\t\t// See https://github.com/WordPress/gutenberg/issues/43090 for more details.\n\t\t\tinserterButton.current.focus();\n\t\t\tsetIsInserterOpened( false );\n\t\t} else {\n\t\t\tsetIsInserterOpened( true );\n\t\t}\n\t}, [ isInserterOpened, setIsInserterOpened ] );\n\n\t/* translators: button label text should, if possible, be under 16 characters. */\n\tconst longLabel = _x(\n\t\t'Toggle block inserter',\n\t\t'Generic label for block inserter button'\n\t);\n\tconst shortLabel = ! isInserterOpened ? __( 'Add' ) : __( 'Close' );\n\n\treturn (\n\t\t// Some plugins expect and use the `edit-post-header-toolbar` CSS class to\n\t\t// find the toolbar and inject UI elements into it. This is not officially\n\t\t// supported, but we're keeping it in the list of class names for backwards\n\t\t// compatibility.\n\t\t<NavigableToolbar\n\t\t\tclassName={ classnames(\n\t\t\t\t'editor-document-tools',\n\t\t\t\t'edit-post-header-toolbar',\n\t\t\t\tclassName\n\t\t\t) }\n\t\t\taria-label={ toolbarAriaLabel }\n\t\t\tvariant=\"unstyled\"\n\t\t>\n\t\t\t<div className=\"editor-document-tools__left\">\n\t\t\t\t{ ! isDistractionFree && (\n\t\t\t\t\t<ToolbarItem\n\t\t\t\t\t\tref={ inserterButton }\n\t\t\t\t\t\tas={ Button }\n\t\t\t\t\t\tclassName=\"editor-document-tools__inserter-toggle\"\n\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\tisPressed={ isInserterOpened }\n\t\t\t\t\t\tonMouseDown={ preventDefault }\n\t\t\t\t\t\tonClick={ toggleInserter }\n\t\t\t\t\t\tdisabled={ disableBlockTools }\n\t\t\t\t\t\ticon={ plus }\n\t\t\t\t\t\tlabel={ showIconLabels ? shortLabel : longLabel }\n\t\t\t\t\t\tshowTooltip={ ! showIconLabels }\n\t\t\t\t\t\taria-expanded={ isInserterOpened }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ ( isWideViewport || ! showIconLabels ) && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t{ isLargeViewport && ! hasFixedToolbar && (\n\t\t\t\t\t\t\t<ToolbarItem\n\t\t\t\t\t\t\t\tas={ ToolSelector }\n\t\t\t\t\t\t\t\tshowTooltip={ ! showIconLabels }\n\t\t\t\t\t\t\t\tvariant={\n\t\t\t\t\t\t\t\t\tshowIconLabels ? 'tertiary' : undefined\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tdisabled={ disableBlockTools }\n\t\t\t\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t<ToolbarItem\n\t\t\t\t\t\t\tas={ EditorHistoryUndo }\n\t\t\t\t\t\t\tshowTooltip={ ! showIconLabels }\n\t\t\t\t\t\t\tvariant={ showIconLabels ? 'tertiary' : undefined }\n\t\t\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<ToolbarItem\n\t\t\t\t\t\t\tas={ EditorHistoryRedo }\n\t\t\t\t\t\t\tshowTooltip={ ! showIconLabels }\n\t\t\t\t\t\t\tvariant={ showIconLabels ? 'tertiary' : undefined }\n\t\t\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t{ ! isDistractionFree && (\n\t\t\t\t\t\t\t<ToolbarItem\n\t\t\t\t\t\t\t\tas={ Button }\n\t\t\t\t\t\t\t\tclassName=\"editor-document-tools__document-overview-toggle\"\n\t\t\t\t\t\t\t\ticon={ listView }\n\t\t\t\t\t\t\t\tdisabled={ disableBlockTools }\n\t\t\t\t\t\t\t\tisPressed={ isListViewOpen }\n\t\t\t\t\t\t\t\t/* translators: button label text should, if possible, be under 16 characters. */\n\t\t\t\t\t\t\t\tlabel={ listViewLabel }\n\t\t\t\t\t\t\t\tonClick={ toggleListView }\n\t\t\t\t\t\t\t\tshortcut={ listViewShortcut }\n\t\t\t\t\t\t\t\tshowTooltip={ ! showIconLabels }\n\t\t\t\t\t\t\t\tvariant={\n\t\t\t\t\t\t\t\t\tshowIconLabels ? 'tertiary' : undefined\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\taria-expanded={ isListViewOpen }\n\t\t\t\t\t\t\t\tref={ listViewToggleRef }\n\t\t\t\t\t\t\t\tsize=\"compact\"\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\t{ children }\n\t\t\t</div>\n\t\t</NavigableToolbar>\n\t);\n}\n\nexport default DocumentTools;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["clsx","useViewportMatch","useSelect","useDispatch","__","_x","NavigableToolbar","ToolSelector","store","blockEditorStore","Button","ToolbarItem","listView","plus","useCallback","keyboardShortcutsStore","preferencesStore","unlock","editorStore","EditorHistoryRedo","EditorHistoryUndo","preventDefault","event","DocumentTools","className","disableBlockTools","listViewLabel","setIsInserterOpened","setIsListViewOpened","isDistractionFree","isInserterOpened","isListViewOpen","listViewShortcut","inserterSidebarToggleRef","listViewToggleRef","hasFixedToolbar","showIconLabels","select","getSettings","get","isListViewOpened","getEditorMode","getInserterSidebarToggleRef","getListViewToggleRef","getShortcutRepresentation","__unstableGetEditorMode","isVisualMode","isZoomedOutView","isLargeViewport","isWideViewport","toolbarAriaLabel","toggleListView","toggleInserter","longLabel","shortLabel","createElement","variant","ref","as","isPressed","onMouseDown","onClick","disabled","icon","label","showTooltip","Fragment","undefined","size","shortcut"],"sources":["@wordpress/editor/src/components/document-tools/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { useViewportMatch } from '@wordpress/compose';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { __, _x } from '@wordpress/i18n';\nimport {\n\tNavigableToolbar,\n\tToolSelector,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { Button, ToolbarItem } from '@wordpress/components';\nimport { listView, plus } from '@wordpress/icons';\nimport { useCallback } from '@wordpress/element';\nimport { store as keyboardShortcutsStore } from '@wordpress/keyboard-shortcuts';\nimport { store as preferencesStore } from '@wordpress/preferences';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\nimport { store as editorStore } from '../../store';\nimport EditorHistoryRedo from '../editor-history/redo';\nimport EditorHistoryUndo from '../editor-history/undo';\n\nconst preventDefault = ( event ) => {\n\tevent.preventDefault();\n};\n\nfunction DocumentTools( {\n\tclassName,\n\tdisableBlockTools = false,\n\t// This is a temporary prop until the list view is fully unified between post and site editors.\n\tlistViewLabel = __( 'Document Overview' ),\n} ) {\n\tconst { setIsInserterOpened, setIsListViewOpened } =\n\t\tuseDispatch( editorStore );\n\tconst {\n\t\tisDistractionFree,\n\t\tisInserterOpened,\n\t\tisListViewOpen,\n\t\tlistViewShortcut,\n\t\tinserterSidebarToggleRef,\n\t\tlistViewToggleRef,\n\t\thasFixedToolbar,\n\t\tshowIconLabels,\n\t} = useSelect( ( select ) => {\n\t\tconst { getSettings } = select( blockEditorStore );\n\t\tconst { get } = select( preferencesStore );\n\t\tconst {\n\t\t\tisListViewOpened,\n\t\t\tgetEditorMode,\n\t\t\tgetInserterSidebarToggleRef,\n\t\t\tgetListViewToggleRef,\n\t\t} = unlock( select( editorStore ) );\n\t\tconst { getShortcutRepresentation } = select( keyboardShortcutsStore );\n\t\tconst { __unstableGetEditorMode } = select( blockEditorStore );\n\n\t\treturn {\n\t\t\tisInserterOpened: select( editorStore ).isInserterOpened(),\n\t\t\tisListViewOpen: isListViewOpened(),\n\t\t\tlistViewShortcut: getShortcutRepresentation(\n\t\t\t\t'core/editor/toggle-list-view'\n\t\t\t),\n\t\t\tinserterSidebarToggleRef: getInserterSidebarToggleRef(),\n\t\t\tlistViewToggleRef: getListViewToggleRef(),\n\t\t\thasFixedToolbar: getSettings().hasFixedToolbar,\n\t\t\tshowIconLabels: get( 'core', 'showIconLabels' ),\n\t\t\tisDistractionFree: get( 'core', 'distractionFree' ),\n\t\t\tisVisualMode: getEditorMode() === 'visual',\n\t\t\tisZoomedOutView: __unstableGetEditorMode() === 'zoom-out',\n\t\t};\n\t}, [] );\n\n\tconst isLargeViewport = useViewportMatch( 'medium' );\n\tconst isWideViewport = useViewportMatch( 'wide' );\n\n\t/* translators: accessibility text for the editor toolbar */\n\tconst toolbarAriaLabel = __( 'Document tools' );\n\n\tconst toggleListView = useCallback(\n\t\t() => setIsListViewOpened( ! isListViewOpen ),\n\t\t[ setIsListViewOpened, isListViewOpen ]\n\t);\n\n\tconst toggleInserter = useCallback(\n\t\t() => setIsInserterOpened( ! isInserterOpened ),\n\t\t[ isInserterOpened, setIsInserterOpened ]\n\t);\n\n\t/* translators: button label text should, if possible, be under 16 characters. */\n\tconst longLabel = _x(\n\t\t'Toggle block inserter',\n\t\t'Generic label for block inserter button'\n\t);\n\tconst shortLabel = ! isInserterOpened ? __( 'Add' ) : __( 'Close' );\n\n\treturn (\n\t\t// Some plugins expect and use the `edit-post-header-toolbar` CSS class to\n\t\t// find the toolbar and inject UI elements into it. This is not officially\n\t\t// supported, but we're keeping it in the list of class names for backwards\n\t\t// compatibility.\n\t\t<NavigableToolbar\n\t\t\tclassName={ clsx(\n\t\t\t\t'editor-document-tools',\n\t\t\t\t'edit-post-header-toolbar',\n\t\t\t\tclassName\n\t\t\t) }\n\t\t\taria-label={ toolbarAriaLabel }\n\t\t\tvariant=\"unstyled\"\n\t\t>\n\t\t\t<div className=\"editor-document-tools__left\">\n\t\t\t\t{ ! isDistractionFree && (\n\t\t\t\t\t<ToolbarItem\n\t\t\t\t\t\tref={ inserterSidebarToggleRef }\n\t\t\t\t\t\tas={ Button }\n\t\t\t\t\t\tclassName=\"editor-document-tools__inserter-toggle\"\n\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\tisPressed={ isInserterOpened }\n\t\t\t\t\t\tonMouseDown={ preventDefault }\n\t\t\t\t\t\tonClick={ toggleInserter }\n\t\t\t\t\t\tdisabled={ disableBlockTools }\n\t\t\t\t\t\ticon={ plus }\n\t\t\t\t\t\tlabel={ showIconLabels ? shortLabel : longLabel }\n\t\t\t\t\t\tshowTooltip={ ! showIconLabels }\n\t\t\t\t\t\taria-expanded={ isInserterOpened }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ ( isWideViewport || ! showIconLabels ) && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t{ isLargeViewport && ! hasFixedToolbar && (\n\t\t\t\t\t\t\t<ToolbarItem\n\t\t\t\t\t\t\t\tas={ ToolSelector }\n\t\t\t\t\t\t\t\tshowTooltip={ ! showIconLabels }\n\t\t\t\t\t\t\t\tvariant={\n\t\t\t\t\t\t\t\t\tshowIconLabels ? 'tertiary' : undefined\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tdisabled={ disableBlockTools }\n\t\t\t\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t<ToolbarItem\n\t\t\t\t\t\t\tas={ EditorHistoryUndo }\n\t\t\t\t\t\t\tshowTooltip={ ! showIconLabels }\n\t\t\t\t\t\t\tvariant={ showIconLabels ? 'tertiary' : undefined }\n\t\t\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<ToolbarItem\n\t\t\t\t\t\t\tas={ EditorHistoryRedo }\n\t\t\t\t\t\t\tshowTooltip={ ! showIconLabels }\n\t\t\t\t\t\t\tvariant={ showIconLabels ? 'tertiary' : undefined }\n\t\t\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t{ ! isDistractionFree && (\n\t\t\t\t\t\t\t<ToolbarItem\n\t\t\t\t\t\t\t\tas={ Button }\n\t\t\t\t\t\t\t\tclassName=\"editor-document-tools__document-overview-toggle\"\n\t\t\t\t\t\t\t\ticon={ listView }\n\t\t\t\t\t\t\t\tdisabled={ disableBlockTools }\n\t\t\t\t\t\t\t\tisPressed={ isListViewOpen }\n\t\t\t\t\t\t\t\t/* translators: button label text should, if possible, be under 16 characters. */\n\t\t\t\t\t\t\t\tlabel={ listViewLabel }\n\t\t\t\t\t\t\t\tonClick={ toggleListView }\n\t\t\t\t\t\t\t\tshortcut={ listViewShortcut }\n\t\t\t\t\t\t\t\tshowTooltip={ ! showIconLabels }\n\t\t\t\t\t\t\t\tvariant={\n\t\t\t\t\t\t\t\t\tshowIconLabels ? 'tertiary' : undefined\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\taria-expanded={ isListViewOpen }\n\t\t\t\t\t\t\t\tref={ listViewToggleRef }\n\t\t\t\t\t\t\t\tsize=\"compact\"\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</div>\n\t\t</NavigableToolbar>\n\t);\n}\n\nexport default DocumentTools;\n"],"mappings":"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","ignoreList":[]}
@@ -2,7 +2,7 @@ import { createElement, Fragment } from "react";
2
2
  /**
3
3
  * External dependencies
4
4
  */
5
- import classnames from 'classnames';
5
+ import clsx from 'clsx';
6
6
 
7
7
  /**
8
8
  * WordPress dependencies
@@ -133,13 +133,19 @@ function EditorCanvas({
133
133
  const {
134
134
  hasRootPaddingAwareAlignments,
135
135
  themeHasDisabledLayoutStyles,
136
- themeSupportsLayout
136
+ themeSupportsLayout,
137
+ isZoomOutMode
137
138
  } = useSelect(select => {
138
- const _settings = select(blockEditorStore).getSettings();
139
+ const {
140
+ getSettings,
141
+ __unstableGetEditorMode
142
+ } = select(blockEditorStore);
143
+ const _settings = getSettings();
139
144
  return {
140
145
  themeHasDisabledLayoutStyles: _settings.disableLayoutStyles,
141
146
  themeSupportsLayout: _settings.supportsLayout,
142
- hasRootPaddingAwareAlignments: _settings.__experimentalFeatures?.useRootPaddingAwareAlignments
147
+ hasRootPaddingAwareAlignments: _settings.__experimentalFeatures?.useRootPaddingAwareAlignments,
148
+ isZoomOutMode: __unstableGetEditorMode() === 'zoom-out'
143
149
  };
144
150
  }, []);
145
151
  const deviceStyles = useResizeCanvas(deviceType);
@@ -197,7 +203,7 @@ function EditorCanvas({
197
203
  align = ''
198
204
  } = newestPostContentAttributes || {};
199
205
  const postContentLayoutClasses = useLayoutClasses(newestPostContentAttributes, 'core/post-content');
200
- const blockListLayoutClass = classnames({
206
+ const blockListLayoutClass = clsx({
201
207
  'is-layout-flow': !themeSupportsLayout
202
208
  }, themeSupportsLayout && postContentLayoutClasses, align && `align${align}`);
203
209
  const postContentLayoutStyles = useLayoutStyles(newestPostContentAttributes, 'core/post-content', '.block-editor-block-list__layout.is-root-container');
@@ -240,16 +246,21 @@ function EditorCanvas({
240
246
  }), useSelectNearestEditableBlock({
241
247
  isEnabled: renderingMode === 'template-locked'
242
248
  })]);
249
+ const zoomOutProps = isZoomOutMode ? {
250
+ scale: 'default',
251
+ frameSize: '20px'
252
+ } : {};
243
253
  return createElement(BlockCanvas, {
244
254
  shouldIframe: !disableIframe || ['Tablet', 'Mobile'].includes(deviceType),
245
255
  contentRef: contentRef,
246
256
  styles: styles,
247
257
  height: "100%",
248
258
  iframeProps: {
249
- className: classnames('editor-canvas__iframe', {
259
+ className: clsx('editor-canvas__iframe', {
250
260
  'has-editor-padding': showEditorPadding
251
261
  }),
252
262
  ...iframeProps,
263
+ ...zoomOutProps,
253
264
  style: {
254
265
  ...iframeProps?.style,
255
266
  ...deviceStyles
@@ -267,7 +278,7 @@ function EditorCanvas({
267
278
  layout: postContentLayout,
268
279
  css: postContentLayoutStyles
269
280
  })), renderingMode === 'post-only' && !isDesignPostType && createElement("div", {
270
- className: classnames('editor-editor-canvas__post-title-wrapper',
281
+ className: clsx('editor-editor-canvas__post-title-wrapper',
271
282
  // The following class is only here for backward comapatibility
272
283
  // some themes might be using it to style the post title.
273
284
  'edit-post-visual-editor__post-title-wrapper', {
@@ -286,7 +297,7 @@ function EditorCanvas({
286
297
  blockName: wrapperBlockName,
287
298
  uniqueId: wrapperUniqueId
288
299
  }, createElement(BlockList, {
289
- className: classnames(className, 'is-' + deviceType.toLowerCase() + '-preview', renderingMode !== 'post-only' || isDesignPostType ? 'wp-site-blocks' : `${blockListLayoutClass} wp-block-post-content` // Ensure root level blocks receive default/flow blockGap styling rules.
300
+ className: clsx(className, 'is-' + deviceType.toLowerCase() + '-preview', renderingMode !== 'post-only' || isDesignPostType ? 'wp-site-blocks' : `${blockListLayoutClass} wp-block-post-content` // Ensure root level blocks receive default/flow blockGap styling rules.
290
301
  ),
291
302
  layout: blockListLayout,
292
303
  dropZoneElement: