@wordpress/editor 13.33.0 → 13.34.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (303) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/README.md +132 -20
  3. package/build/components/autosave-monitor/index.js +15 -12
  4. package/build/components/autosave-monitor/index.js.map +1 -1
  5. package/build/components/character-count/index.js +5 -0
  6. package/build/components/character-count/index.js.map +1 -1
  7. package/build/components/collapsible-block-toolbar/index.js +73 -0
  8. package/build/components/collapsible-block-toolbar/index.js.map +1 -0
  9. package/build/components/document-outline/check.js +8 -0
  10. package/build/components/document-outline/check.js.map +1 -1
  11. package/build/components/document-outline/index.js +11 -0
  12. package/build/components/document-outline/index.js.map +1 -1
  13. package/build/components/document-tools/index.js +0 -7
  14. package/build/components/document-tools/index.js.map +1 -1
  15. package/build/components/editor-canvas/edit-template-blocks-notification.js +1 -1
  16. package/build/components/editor-canvas/edit-template-blocks-notification.js.map +1 -1
  17. package/build/components/editor-history/redo.js +11 -0
  18. package/build/components/editor-history/redo.js.map +1 -1
  19. package/build/components/editor-history/undo.js +11 -0
  20. package/build/components/editor-history/undo.js.map +1 -1
  21. package/build/components/editor-snackbars/index.js +6 -0
  22. package/build/components/editor-snackbars/index.js.map +1 -1
  23. package/build/components/global-keyboard-shortcuts/index.js +7 -0
  24. package/build/components/global-keyboard-shortcuts/index.js.map +1 -1
  25. package/build/components/global-keyboard-shortcuts/register-shortcuts.js +34 -0
  26. package/build/components/global-keyboard-shortcuts/register-shortcuts.js.map +1 -1
  27. package/build/components/inserter-sidebar/index.js +1 -4
  28. package/build/components/inserter-sidebar/index.js.map +1 -1
  29. package/build/components/keyboard-shortcut-help-modal/config.js +4 -0
  30. package/build/components/keyboard-shortcut-help-modal/config.js.map +1 -1
  31. package/build/components/list-view-sidebar/index.js +1 -1
  32. package/build/components/list-view-sidebar/index.js.map +1 -1
  33. package/build/components/more-menu/copy-content-menu-item.js +59 -0
  34. package/build/components/more-menu/copy-content-menu-item.js.map +1 -0
  35. package/build/components/more-menu/index.js +119 -0
  36. package/build/components/more-menu/index.js.map +1 -0
  37. package/build/components/more-menu/tools-more-menu-group.js +23 -0
  38. package/build/components/more-menu/tools-more-menu-group.js.map +1 -0
  39. package/build/components/more-menu/view-more-menu-group.js +24 -0
  40. package/build/components/more-menu/view-more-menu-group.js.map +1 -0
  41. package/build/components/page-attributes/check.js +8 -0
  42. package/build/components/page-attributes/check.js.map +1 -1
  43. package/build/components/page-attributes/order.js +7 -0
  44. package/build/components/page-attributes/order.js.map +1 -1
  45. package/build/components/page-attributes/panel.js +14 -8
  46. package/build/components/page-attributes/panel.js.map +1 -1
  47. package/build/components/page-attributes/parent.js +7 -0
  48. package/build/components/page-attributes/parent.js.map +1 -1
  49. package/build/components/plugin-post-publish-panel/index.js +1 -1
  50. package/build/components/plugin-post-publish-panel/index.js.map +1 -1
  51. package/build/components/plugin-pre-publish-panel/index.js +1 -1
  52. package/build/components/plugin-pre-publish-panel/index.js.map +1 -1
  53. package/build/components/plugin-sidebar/index.js +1 -1
  54. package/build/components/plugin-sidebar/index.js.map +1 -1
  55. package/build/components/post-actions/actions.js +100 -5
  56. package/build/components/post-actions/actions.js.map +1 -1
  57. package/build/components/post-actions/index.js +30 -7
  58. package/build/components/post-actions/index.js.map +1 -1
  59. package/build/components/post-author/check.js +9 -0
  60. package/build/components/post-author/check.js.map +1 -1
  61. package/build/components/post-author/index.js +6 -0
  62. package/build/components/post-author/index.js.map +1 -1
  63. package/build/components/post-author/panel.js +5 -0
  64. package/build/components/post-author/panel.js.map +1 -1
  65. package/build/components/post-card-panel/index.js +14 -49
  66. package/build/components/post-card-panel/index.js.map +1 -1
  67. package/build/components/post-content-information/index.js +72 -0
  68. package/build/components/post-content-information/index.js.map +1 -0
  69. package/build/components/post-discussion/panel.js +9 -7
  70. package/build/components/post-discussion/panel.js.map +1 -1
  71. package/build/components/post-excerpt/check.js +0 -19
  72. package/build/components/post-excerpt/check.js.map +1 -1
  73. package/build/components/post-excerpt/index.js +52 -12
  74. package/build/components/post-excerpt/index.js.map +1 -1
  75. package/build/components/post-excerpt/panel.js +118 -7
  76. package/build/components/post-excerpt/panel.js.map +1 -1
  77. package/build/components/post-excerpt/plugin.js +2 -2
  78. package/build/components/post-excerpt/plugin.js.map +1 -1
  79. package/build/components/post-featured-image/index.js +1 -1
  80. package/build/components/post-featured-image/index.js.map +1 -1
  81. package/build/components/post-last-edited-panel/index.js +33 -0
  82. package/build/components/post-last-edited-panel/index.js.map +1 -0
  83. package/build/components/post-publish-button/post-publish-button-or-toggle.js +100 -0
  84. package/build/components/post-publish-button/post-publish-button-or-toggle.js.map +1 -0
  85. package/build/components/post-schedule/panel.js +1 -1
  86. package/build/components/post-schedule/panel.js.map +1 -1
  87. package/build/components/post-status/index.js +9 -9
  88. package/build/components/post-status/index.js.map +1 -1
  89. package/build/components/post-template/block-theme.js +2 -2
  90. package/build/components/post-template/block-theme.js.map +1 -1
  91. package/build/components/post-template/classic-theme.js +0 -1
  92. package/build/components/post-template/classic-theme.js.map +1 -1
  93. package/build/components/post-template/swap-template-button.js +2 -5
  94. package/build/components/post-template/swap-template-button.js.map +1 -1
  95. package/build/components/post-url/index.js +2 -1
  96. package/build/components/post-url/index.js.map +1 -1
  97. package/build/components/post-url/panel.js +1 -1
  98. package/build/components/post-url/panel.js.map +1 -1
  99. package/build/components/preferences-modal/enable-publish-sidebar.js +34 -0
  100. package/build/components/preferences-modal/enable-publish-sidebar.js.map +1 -0
  101. package/build/components/preferences-modal/index.js +8 -2
  102. package/build/components/preferences-modal/index.js.map +1 -1
  103. package/build/components/preview-dropdown/index.js +3 -1
  104. package/build/components/preview-dropdown/index.js.map +1 -1
  105. package/build/components/provider/disable-non-page-content-blocks.js +23 -16
  106. package/build/components/provider/disable-non-page-content-blocks.js.map +1 -1
  107. package/build/components/save-publish-panels/index.js +89 -0
  108. package/build/components/save-publish-panels/index.js.map +1 -0
  109. package/build/components/start-page-options/index.js +5 -1
  110. package/build/components/start-page-options/index.js.map +1 -1
  111. package/build/private-apis.js +18 -2
  112. package/build/private-apis.js.map +1 -1
  113. package/build/store/selectors.js +3 -1
  114. package/build/store/selectors.js.map +1 -1
  115. package/build-module/components/autosave-monitor/index.js +15 -13
  116. package/build-module/components/autosave-monitor/index.js.map +1 -1
  117. package/build-module/components/character-count/index.js +6 -0
  118. package/build-module/components/character-count/index.js.map +1 -1
  119. package/build-module/components/collapsible-block-toolbar/index.js +65 -0
  120. package/build-module/components/collapsible-block-toolbar/index.js.map +1 -0
  121. package/build-module/components/document-outline/check.js +9 -0
  122. package/build-module/components/document-outline/check.js.map +1 -1
  123. package/build-module/components/document-outline/index.js +11 -0
  124. package/build-module/components/document-outline/index.js.map +1 -1
  125. package/build-module/components/document-tools/index.js +1 -8
  126. package/build-module/components/document-tools/index.js.map +1 -1
  127. package/build-module/components/editor-canvas/edit-template-blocks-notification.js +1 -1
  128. package/build-module/components/editor-canvas/edit-template-blocks-notification.js.map +1 -1
  129. package/build-module/components/editor-history/redo.js +11 -0
  130. package/build-module/components/editor-history/redo.js.map +1 -1
  131. package/build-module/components/editor-history/undo.js +11 -0
  132. package/build-module/components/editor-history/undo.js.map +1 -1
  133. package/build-module/components/editor-snackbars/index.js +6 -0
  134. package/build-module/components/editor-snackbars/index.js.map +1 -1
  135. package/build-module/components/global-keyboard-shortcuts/index.js +8 -0
  136. package/build-module/components/global-keyboard-shortcuts/index.js.map +1 -1
  137. package/build-module/components/global-keyboard-shortcuts/register-shortcuts.js +35 -0
  138. package/build-module/components/global-keyboard-shortcuts/register-shortcuts.js.map +1 -1
  139. package/build-module/components/inserter-sidebar/index.js +2 -5
  140. package/build-module/components/inserter-sidebar/index.js.map +1 -1
  141. package/build-module/components/keyboard-shortcut-help-modal/config.js +4 -0
  142. package/build-module/components/keyboard-shortcut-help-modal/config.js.map +1 -1
  143. package/build-module/components/list-view-sidebar/index.js +1 -1
  144. package/build-module/components/list-view-sidebar/index.js.map +1 -1
  145. package/build-module/components/more-menu/copy-content-menu-item.js +52 -0
  146. package/build-module/components/more-menu/copy-content-menu-item.js.map +1 -0
  147. package/build-module/components/more-menu/index.js +111 -0
  148. package/build-module/components/more-menu/index.js.map +1 -0
  149. package/build-module/components/more-menu/tools-more-menu-group.js +16 -0
  150. package/build-module/components/more-menu/tools-more-menu-group.js.map +1 -0
  151. package/build-module/components/more-menu/view-more-menu-group.js +17 -0
  152. package/build-module/components/more-menu/view-more-menu-group.js.map +1 -0
  153. package/build-module/components/page-attributes/check.js +9 -0
  154. package/build-module/components/page-attributes/check.js.map +1 -1
  155. package/build-module/components/page-attributes/order.js +7 -0
  156. package/build-module/components/page-attributes/order.js.map +1 -1
  157. package/build-module/components/page-attributes/panel.js +13 -6
  158. package/build-module/components/page-attributes/panel.js.map +1 -1
  159. package/build-module/components/page-attributes/parent.js +7 -0
  160. package/build-module/components/page-attributes/parent.js.map +1 -1
  161. package/build-module/components/plugin-post-publish-panel/index.js +1 -1
  162. package/build-module/components/plugin-post-publish-panel/index.js.map +1 -1
  163. package/build-module/components/plugin-pre-publish-panel/index.js +1 -1
  164. package/build-module/components/plugin-pre-publish-panel/index.js.map +1 -1
  165. package/build-module/components/plugin-sidebar/index.js +1 -1
  166. package/build-module/components/plugin-sidebar/index.js.map +1 -1
  167. package/build-module/components/post-actions/actions.js +100 -6
  168. package/build-module/components/post-actions/actions.js.map +1 -1
  169. package/build-module/components/post-actions/index.js +31 -8
  170. package/build-module/components/post-actions/index.js.map +1 -1
  171. package/build-module/components/post-author/check.js +10 -0
  172. package/build-module/components/post-author/check.js.map +1 -1
  173. package/build-module/components/post-author/index.js +6 -0
  174. package/build-module/components/post-author/index.js.map +1 -1
  175. package/build-module/components/post-author/panel.js +6 -0
  176. package/build-module/components/post-author/panel.js.map +1 -1
  177. package/build-module/components/post-card-panel/index.js +16 -51
  178. package/build-module/components/post-card-panel/index.js.map +1 -1
  179. package/build-module/components/post-content-information/index.js +66 -0
  180. package/build-module/components/post-content-information/index.js.map +1 -0
  181. package/build-module/components/post-discussion/panel.js +8 -6
  182. package/build-module/components/post-discussion/panel.js.map +1 -1
  183. package/build-module/components/post-excerpt/check.js +0 -19
  184. package/build-module/components/post-excerpt/check.js.map +1 -1
  185. package/build-module/components/post-excerpt/index.js +52 -11
  186. package/build-module/components/post-excerpt/index.js.map +1 -1
  187. package/build-module/components/post-excerpt/panel.js +118 -8
  188. package/build-module/components/post-excerpt/panel.js.map +1 -1
  189. package/build-module/components/post-excerpt/plugin.js +2 -2
  190. package/build-module/components/post-excerpt/plugin.js.map +1 -1
  191. package/build-module/components/post-featured-image/index.js +1 -1
  192. package/build-module/components/post-featured-image/index.js.map +1 -1
  193. package/build-module/components/post-last-edited-panel/index.js +26 -0
  194. package/build-module/components/post-last-edited-panel/index.js.map +1 -0
  195. package/build-module/components/post-publish-button/post-publish-button-or-toggle.js +91 -0
  196. package/build-module/components/post-publish-button/post-publish-button-or-toggle.js.map +1 -0
  197. package/build-module/components/post-schedule/panel.js +1 -1
  198. package/build-module/components/post-schedule/panel.js.map +1 -1
  199. package/build-module/components/post-status/index.js +9 -9
  200. package/build-module/components/post-status/index.js.map +1 -1
  201. package/build-module/components/post-template/block-theme.js +2 -2
  202. package/build-module/components/post-template/block-theme.js.map +1 -1
  203. package/build-module/components/post-template/classic-theme.js +0 -1
  204. package/build-module/components/post-template/classic-theme.js.map +1 -1
  205. package/build-module/components/post-template/swap-template-button.js +3 -6
  206. package/build-module/components/post-template/swap-template-button.js.map +1 -1
  207. package/build-module/components/post-url/index.js +2 -1
  208. package/build-module/components/post-url/index.js.map +1 -1
  209. package/build-module/components/post-url/panel.js +1 -1
  210. package/build-module/components/post-url/panel.js.map +1 -1
  211. package/build-module/components/preferences-modal/enable-publish-sidebar.js +27 -0
  212. package/build-module/components/preferences-modal/enable-publish-sidebar.js.map +1 -0
  213. package/build-module/components/preferences-modal/index.js +8 -2
  214. package/build-module/components/preferences-modal/index.js.map +1 -1
  215. package/build-module/components/preview-dropdown/index.js +3 -1
  216. package/build-module/components/preview-dropdown/index.js.map +1 -1
  217. package/build-module/components/provider/disable-non-page-content-blocks.js +24 -17
  218. package/build-module/components/provider/disable-non-page-content-blocks.js.map +1 -1
  219. package/build-module/components/save-publish-panels/index.js +80 -0
  220. package/build-module/components/save-publish-panels/index.js.map +1 -0
  221. package/build-module/components/start-page-options/index.js +5 -1
  222. package/build-module/components/start-page-options/index.js.map +1 -1
  223. package/build-module/private-apis.js +18 -2
  224. package/build-module/private-apis.js.map +1 -1
  225. package/build-module/store/selectors.js +3 -1
  226. package/build-module/store/selectors.js.map +1 -1
  227. package/build-style/style-rtl.css +207 -30
  228. package/build-style/style.css +207 -30
  229. package/package.json +35 -35
  230. package/src/components/autosave-monitor/index.js +15 -12
  231. package/src/components/character-count/index.js +5 -0
  232. package/src/components/collapsible-block-toolbar/index.js +77 -0
  233. package/src/components/collapsible-block-toolbar/style.scss +80 -0
  234. package/src/components/document-outline/check.js +8 -0
  235. package/src/components/document-outline/index.js +10 -0
  236. package/src/components/document-tools/index.js +0 -5
  237. package/src/components/editor-canvas/edit-template-blocks-notification.js +1 -1
  238. package/src/components/editor-history/redo.js +10 -0
  239. package/src/components/editor-history/undo.js +10 -0
  240. package/src/components/editor-snackbars/index.js +5 -0
  241. package/src/components/entities-saved-states/style.scss +7 -0
  242. package/src/components/global-keyboard-shortcuts/index.js +7 -0
  243. package/src/components/global-keyboard-shortcuts/register-shortcuts.js +41 -0
  244. package/src/components/inserter-sidebar/index.js +2 -5
  245. package/src/components/keyboard-shortcut-help-modal/config.js +10 -1
  246. package/src/components/list-view-sidebar/index.js +1 -1
  247. package/src/components/list-view-sidebar/style.scss +2 -2
  248. package/src/components/more-menu/copy-content-menu-item.js +51 -0
  249. package/src/components/more-menu/index.js +158 -0
  250. package/src/components/more-menu/tools-more-menu-group.js +11 -0
  251. package/src/components/more-menu/view-more-menu-group.js +13 -0
  252. package/src/components/page-attributes/check.js +8 -0
  253. package/src/components/page-attributes/order.js +6 -0
  254. package/src/components/page-attributes/panel.js +21 -17
  255. package/src/components/page-attributes/parent.js +6 -0
  256. package/src/components/plugin-post-publish-panel/index.js +1 -1
  257. package/src/components/plugin-pre-publish-panel/index.js +1 -1
  258. package/src/components/plugin-sidebar/index.js +1 -1
  259. package/src/components/post-actions/actions.js +120 -5
  260. package/src/components/post-actions/index.js +41 -7
  261. package/src/components/post-author/check.js +9 -0
  262. package/src/components/post-author/index.js +5 -0
  263. package/src/components/post-author/panel.js +5 -0
  264. package/src/components/post-card-panel/index.js +27 -82
  265. package/src/components/post-card-panel/style.scss +2 -6
  266. package/src/components/post-content-information/index.js +83 -0
  267. package/src/components/post-content-information/style.scss +6 -0
  268. package/src/components/post-discussion/panel.js +24 -20
  269. package/src/components/post-excerpt/check.js +0 -18
  270. package/src/components/post-excerpt/index.js +66 -15
  271. package/src/components/post-excerpt/panel.js +196 -19
  272. package/src/components/post-excerpt/plugin.js +2 -2
  273. package/src/components/post-excerpt/style.scss +24 -0
  274. package/src/components/post-featured-image/index.js +1 -1
  275. package/src/components/post-featured-image/style.scss +2 -8
  276. package/src/components/post-last-edited-panel/index.js +35 -0
  277. package/src/components/post-last-edited-panel/style.scss +6 -0
  278. package/src/components/post-panel-row/style.scss +3 -3
  279. package/src/components/post-publish-button/post-publish-button-or-toggle.js +102 -0
  280. package/src/components/post-publish-button/test/post-publish-button-or-toggle.js +63 -0
  281. package/src/components/post-publish-panel/style.scss +43 -0
  282. package/src/components/post-publish-panel/test/__snapshots__/index.js.snap +225 -75
  283. package/src/components/post-schedule/panel.js +1 -1
  284. package/src/components/post-schedule/style.scss +2 -4
  285. package/src/components/post-status/index.js +84 -76
  286. package/src/components/post-status/style.scss +0 -1
  287. package/src/components/post-template/block-theme.js +2 -2
  288. package/src/components/post-template/classic-theme.js +0 -1
  289. package/src/components/post-template/swap-template-button.js +3 -6
  290. package/src/components/post-text-editor/style.scss +1 -1
  291. package/src/components/post-title/style.scss +1 -1
  292. package/src/components/post-url/index.js +1 -0
  293. package/src/components/post-url/panel.js +1 -1
  294. package/src/components/preferences-modal/enable-publish-sidebar.js +28 -0
  295. package/src/components/preferences-modal/index.js +14 -0
  296. package/src/components/preview-dropdown/index.js +3 -1
  297. package/src/components/provider/disable-non-page-content-blocks.js +23 -21
  298. package/src/components/save-publish-panels/index.js +96 -0
  299. package/src/components/save-publish-panels/style.scss +36 -0
  300. package/src/components/start-page-options/index.js +6 -1
  301. package/src/private-apis.js +18 -2
  302. package/src/store/selectors.js +3 -1
  303. package/src/style.scss +4 -0
@@ -151,6 +151,8 @@
151
151
  .interface-complementary-area {
152
152
  background: #fff;
153
153
  color: #1e1e1e;
154
+ height: 100%;
155
+ overflow: auto;
154
156
  }
155
157
  @media (min-width: 600px) {
156
158
  .interface-complementary-area {
@@ -216,6 +218,10 @@
216
218
  left: auto;
217
219
  }
218
220
 
221
+ .interface-complementary-area__fill {
222
+ height: 100%;
223
+ }
224
+
219
225
  @media (min-width: 782px) {
220
226
  body.js.is-fullscreen-mode {
221
227
  margin-top: -32px;
@@ -308,6 +314,7 @@ body.is-fullscreen-mode .interface-interface-skeleton {
308
314
  }
309
315
 
310
316
  .interface-interface-skeleton__body {
317
+ position: relative;
311
318
  flex-grow: 1;
312
319
  display: flex;
313
320
  overflow: auto;
@@ -356,7 +363,7 @@ body.is-fullscreen-mode .interface-interface-skeleton {
356
363
  }
357
364
 
358
365
  .interface-interface-skeleton__sidebar {
359
- overflow: auto;
366
+ overflow: hidden;
360
367
  }
361
368
  @media (min-width: 782px) {
362
369
  .interface-interface-skeleton__sidebar {
@@ -576,6 +583,67 @@ body.is-fullscreen-mode .interface-interface-skeleton {
576
583
  border-top-width: 0;
577
584
  }
578
585
 
586
+ .editor-collapsible-block-toolbar {
587
+ overflow: hidden;
588
+ display: flex;
589
+ align-items: center;
590
+ height: 60px;
591
+ }
592
+ .editor-collapsible-block-toolbar .block-editor-block-contextual-toolbar {
593
+ border-bottom: 0;
594
+ height: 100%;
595
+ }
596
+ .editor-collapsible-block-toolbar .block-editor-block-toolbar {
597
+ height: 100%;
598
+ padding-top: 15px;
599
+ }
600
+ .editor-collapsible-block-toolbar .block-editor-block-toolbar .components-button:not(.block-editor-block-mover-button) {
601
+ height: 32px;
602
+ }
603
+ .editor-collapsible-block-toolbar::after {
604
+ content: "";
605
+ width: 1px;
606
+ height: 24px;
607
+ background-color: #ddd;
608
+ margin-right: 7px;
609
+ }
610
+ .editor-collapsible-block-toolbar .components-toolbar-group,
611
+ .editor-collapsible-block-toolbar .components-toolbar {
612
+ border-right: none;
613
+ position: relative;
614
+ }
615
+ .editor-collapsible-block-toolbar .components-toolbar-group::after,
616
+ .editor-collapsible-block-toolbar .components-toolbar::after {
617
+ content: "";
618
+ width: 1px;
619
+ height: 24px;
620
+ background-color: #ddd;
621
+ top: 4px;
622
+ position: absolute;
623
+ right: -1px;
624
+ }
625
+ .editor-collapsible-block-toolbar .components-toolbar-group .components-toolbar-group.components-toolbar-group::after,
626
+ .editor-collapsible-block-toolbar .components-toolbar .components-toolbar-group.components-toolbar-group::after {
627
+ display: none;
628
+ }
629
+ .editor-collapsible-block-toolbar .block-editor-block-mover.is-horizontal .block-editor-block-mover-button {
630
+ height: 32px;
631
+ overflow: visible;
632
+ }
633
+ @media (min-width: 600px) {
634
+ .editor-collapsible-block-toolbar .block-editor-block-mover:not(.is-horizontal) .block-editor-block-mover__move-button-container {
635
+ position: relative;
636
+ top: -10px;
637
+ }
638
+ }
639
+ .editor-collapsible-block-toolbar.is-collapsed {
640
+ display: none;
641
+ }
642
+
643
+ .editor-collapsible-block-toolbar__toggle {
644
+ margin-left: 2px;
645
+ }
646
+
579
647
  .editor-document-bar {
580
648
  display: flex;
581
649
  align-items: center;
@@ -883,6 +951,11 @@ body.is-fullscreen-mode .interface-interface-skeleton {
883
951
  margin-bottom: 4px;
884
952
  }
885
953
 
954
+ .edit-post-layout .entities-saved-states__panel-header,
955
+ .edit-site-editor__interface-skeleton .entities-saved-states__panel-header {
956
+ height: 61px;
957
+ }
958
+
886
959
  .editor-error-boundary {
887
960
  margin: auto;
888
961
  max-width: 780px;
@@ -977,7 +1050,7 @@ body.is-fullscreen-mode .interface-interface-skeleton {
977
1050
  width: 350px;
978
1051
  }
979
1052
  }
980
- .editor-list-view-sidebar .edit-post-editor__document-overview-panel__header {
1053
+ .editor-list-view-sidebar .editor-list-view-sidebar__header {
981
1054
  display: flex;
982
1055
  border-bottom: 1px solid #ddd;
983
1056
  }
@@ -1011,7 +1084,7 @@ body.is-fullscreen-mode .interface-interface-skeleton {
1011
1084
  will-change: transform;
1012
1085
  overflow: auto;
1013
1086
  scrollbar-gutter: auto;
1014
- padding: 8px 6px;
1087
+ padding: 4px;
1015
1088
  }
1016
1089
  .editor-list-view-sidebar__list-view-panel-content::-webkit-scrollbar,
1017
1090
  .editor-list-view-sidebar__list-view-container > .document-outline::-webkit-scrollbar {
@@ -1104,12 +1177,15 @@ body.is-fullscreen-mode .interface-interface-skeleton {
1104
1177
  .editor-post-card-panel__header {
1105
1178
  display: flex;
1106
1179
  justify-content: space-between;
1107
- margin: 0 0 8px;
1108
1180
  }
1109
- .editor-post-card-panel__description {
1181
+ .editor-post-card-panel.has-description .editor-post-card-panel__header {
1182
+ margin-bottom: 8px;
1183
+ }
1184
+
1185
+ .editor-post-content-information {
1110
1186
  color: #757575;
1111
1187
  }
1112
- .editor-post-card-panel__description .components-text {
1188
+ .editor-post-content-information .components-text {
1113
1189
  color: inherit;
1114
1190
  }
1115
1191
 
@@ -1118,6 +1194,26 @@ body.is-fullscreen-mode .interface-interface-skeleton {
1118
1194
  margin-bottom: 10px;
1119
1195
  }
1120
1196
 
1197
+ .editor-post-excerpt__dropdown__trigger {
1198
+ height: auto;
1199
+ padding: 0;
1200
+ }
1201
+ .editor-post-excerpt__dropdown__trigger:not(.has-excerpt) {
1202
+ color: #757575;
1203
+ }
1204
+ .editor-post-excerpt__dropdown__trigger:hover {
1205
+ color: #1e1e1e;
1206
+ }
1207
+
1208
+ .editor-post-excerpt__dropdown {
1209
+ display: block;
1210
+ }
1211
+
1212
+ .editor-post-excerpt__dropdown__content .components-popover__content {
1213
+ min-width: 320px;
1214
+ padding: 16px;
1215
+ }
1216
+
1121
1217
  .editor-post-featured-image {
1122
1218
  padding: 0;
1123
1219
  }
@@ -1144,8 +1240,7 @@ body.is-fullscreen-mode .interface-interface-skeleton {
1144
1240
  box-shadow: 0 0 0 0 var(--wp-admin-theme-color);
1145
1241
  overflow: hidden;
1146
1242
  outline-offset: -1px;
1147
- min-height: 80px;
1148
- margin-bottom: 16px;
1243
+ min-height: 40px;
1149
1244
  display: flex;
1150
1245
  justify-content: center;
1151
1246
  }
@@ -1170,15 +1265,11 @@ body.is-fullscreen-mode .interface-interface-skeleton {
1170
1265
 
1171
1266
  .editor-post-featured-image__toggle {
1172
1267
  border-radius: 2px;
1173
- background-color: #f0f0f0;
1174
1268
  height: 100%;
1175
1269
  line-height: 20px;
1176
1270
  padding: 8px 0;
1177
1271
  text-align: center;
1178
- }
1179
- .editor-post-featured-image__toggle:hover {
1180
- background: #ddd;
1181
- color: #1e1e1e;
1272
+ box-shadow: inset 0 0 0 1px #ccc;
1182
1273
  }
1183
1274
 
1184
1275
  .editor-post-featured-image__actions {
@@ -1207,6 +1298,13 @@ body.is-fullscreen-mode .interface-interface-skeleton {
1207
1298
  margin: 4px 0 0 0;
1208
1299
  }
1209
1300
 
1301
+ .editor-post-last-edited-panel {
1302
+ color: #757575;
1303
+ }
1304
+ .editor-post-last-edited-panel .components-text {
1305
+ color: inherit;
1306
+ }
1307
+
1210
1308
  .editor-post-last-revision__title {
1211
1309
  width: 100%;
1212
1310
  font-weight: 500;
@@ -1244,7 +1342,7 @@ body.is-fullscreen-mode .interface-interface-skeleton {
1244
1342
 
1245
1343
  .editor-post-panel__row {
1246
1344
  width: 100%;
1247
- min-height: 40px;
1345
+ min-height: 32px;
1248
1346
  justify-content: flex-start !important;
1249
1347
  align-items: flex-start !important;
1250
1348
  }
@@ -1252,14 +1350,14 @@ body.is-fullscreen-mode .interface-interface-skeleton {
1252
1350
  .editor-post-panel__row-label {
1253
1351
  width: 30%;
1254
1352
  flex-shrink: 0;
1255
- min-height: 40px;
1353
+ min-height: 32px;
1256
1354
  display: flex;
1257
1355
  align-items: center;
1258
1356
  }
1259
1357
 
1260
1358
  .editor-post-panel__row-control {
1261
1359
  flex-grow: 1;
1262
- min-height: 40px;
1360
+ min-height: 32px;
1263
1361
  display: flex;
1264
1362
  align-items: center;
1265
1363
  }
@@ -1436,6 +1534,57 @@ body.is-fullscreen-mode .interface-interface-skeleton {
1436
1534
  height: 40px;
1437
1535
  }
1438
1536
  }
1537
+ .edit-post-layout .editor-post-publish-panel,
1538
+ .edit-site-editor__interface-skeleton .editor-post-publish-panel {
1539
+ position: fixed;
1540
+ z-index: 100001;
1541
+ top: 46px;
1542
+ bottom: 0;
1543
+ right: 0;
1544
+ left: 0;
1545
+ overflow: auto;
1546
+ }
1547
+ @media (min-width: 782px) {
1548
+ .edit-post-layout .editor-post-publish-panel,
1549
+ .edit-site-editor__interface-skeleton .editor-post-publish-panel {
1550
+ z-index: 99998;
1551
+ top: 32px;
1552
+ left: auto;
1553
+ width: 281px;
1554
+ border-left: 1px solid #ddd;
1555
+ transform: translateX(100%);
1556
+ animation: editor-post-publish-panel__slide-in-animation 0.1s forwards;
1557
+ }
1558
+ }
1559
+ @media (min-width: 782px) and (prefers-reduced-motion: reduce) {
1560
+ .edit-post-layout .editor-post-publish-panel,
1561
+ .edit-site-editor__interface-skeleton .editor-post-publish-panel {
1562
+ animation-duration: 1ms;
1563
+ animation-delay: 0s;
1564
+ }
1565
+ }
1566
+ @media (min-width: 782px) {
1567
+ body.is-fullscreen-mode .edit-post-layout .editor-post-publish-panel,
1568
+ body.is-fullscreen-mode .edit-site-editor__interface-skeleton .editor-post-publish-panel {
1569
+ top: 0;
1570
+ }
1571
+ }
1572
+ @media (min-width: 782px) {
1573
+ [role=region]:focus .edit-post-layout .editor-post-publish-panel,
1574
+ [role=region]:focus .edit-site-editor__interface-skeleton .editor-post-publish-panel {
1575
+ transform: translateX(0%);
1576
+ }
1577
+ }
1578
+ .edit-post-layout .editor-post-publish-panel__header-publish-button,
1579
+ .edit-site-editor__interface-skeleton .editor-post-publish-panel__header-publish-button {
1580
+ justify-content: center;
1581
+ }
1582
+
1583
+ @keyframes editor-post-publish-panel__slide-in-animation {
1584
+ 100% {
1585
+ transform: translateX(0%);
1586
+ }
1587
+ }
1439
1588
  .editor-post-saved-state {
1440
1589
  display: flex;
1441
1590
  align-items: center;
@@ -1480,19 +1629,16 @@ body.is-fullscreen-mode .interface-interface-skeleton {
1480
1629
  }
1481
1630
 
1482
1631
  .editor-post-schedule__dialog-toggle.components-button {
1483
- display: block;
1484
- max-width: 100%;
1485
1632
  overflow: hidden;
1486
1633
  text-align: left;
1487
1634
  white-space: unset;
1488
1635
  height: auto;
1489
- padding: 10px 12px;
1490
- line-height: 16px;
1636
+ min-height: 32px;
1637
+ line-height: inherit;
1491
1638
  }
1492
1639
 
1493
1640
  .editor-post-status {
1494
1641
  max-width: 100%;
1495
- margin-bottom: 16px;
1496
1642
  }
1497
1643
  .editor-post-status .editor-post-status-trigger {
1498
1644
  padding: 1px;
@@ -1631,7 +1777,7 @@ body.is-fullscreen-mode .interface-interface-skeleton {
1631
1777
  padding: 8px;
1632
1778
  }
1633
1779
 
1634
- .edit-post-text-editor__body textarea.editor-post-text-editor {
1780
+ textarea.editor-post-text-editor {
1635
1781
  border: 1px solid #949494;
1636
1782
  border-radius: 0;
1637
1783
  display: block;
@@ -1649,38 +1795,38 @@ body.is-fullscreen-mode .interface-interface-skeleton {
1649
1795
  font-size: 16px !important;
1650
1796
  }
1651
1797
  @media (prefers-reduced-motion: reduce) {
1652
- .edit-post-text-editor__body textarea.editor-post-text-editor {
1798
+ textarea.editor-post-text-editor {
1653
1799
  transition-duration: 0s;
1654
1800
  transition-delay: 0s;
1655
1801
  }
1656
1802
  }
1657
1803
  @media (min-width: 600px) {
1658
- .edit-post-text-editor__body textarea.editor-post-text-editor {
1804
+ textarea.editor-post-text-editor {
1659
1805
  padding: 24px;
1660
1806
  }
1661
1807
  }
1662
1808
  @media (min-width: 600px) {
1663
- .edit-post-text-editor__body textarea.editor-post-text-editor {
1809
+ textarea.editor-post-text-editor {
1664
1810
  font-size: 15px !important;
1665
1811
  }
1666
1812
  }
1667
- .edit-post-text-editor__body textarea.editor-post-text-editor:focus {
1813
+ textarea.editor-post-text-editor:focus {
1668
1814
  border-color: var(--wp-admin-theme-color);
1669
1815
  box-shadow: 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);
1670
1816
  position: relative;
1671
1817
  }
1672
- .edit-post-text-editor__body textarea.editor-post-text-editor::-webkit-input-placeholder {
1818
+ textarea.editor-post-text-editor::-webkit-input-placeholder {
1673
1819
  color: rgba(30, 30, 30, 0.62);
1674
1820
  }
1675
- .edit-post-text-editor__body textarea.editor-post-text-editor::-moz-placeholder {
1821
+ textarea.editor-post-text-editor::-moz-placeholder {
1676
1822
  color: rgba(30, 30, 30, 0.62);
1677
1823
  opacity: 1;
1678
1824
  }
1679
- .edit-post-text-editor__body textarea.editor-post-text-editor:-ms-input-placeholder {
1825
+ textarea.editor-post-text-editor:-ms-input-placeholder {
1680
1826
  color: rgba(30, 30, 30, 0.62);
1681
1827
  }
1682
1828
 
1683
- .edit-post-text-editor__body .editor-post-title.is-raw-text {
1829
+ .editor-post-title.is-raw-text {
1684
1830
  margin-bottom: 24px;
1685
1831
  margin-top: 2px;
1686
1832
  max-width: none;
@@ -1863,6 +2009,37 @@ body.is-fullscreen-mode .interface-interface-skeleton {
1863
2009
  justify-content: space-between;
1864
2010
  }
1865
2011
 
2012
+ .editor-layout__toggle-publish-panel,
2013
+ .editor-layout__toggle-sidebar-panel,
2014
+ .editor-layout__toggle-entities-saved-states-panel {
2015
+ z-index: 100000;
2016
+ position: fixed !important;
2017
+ top: -9999em;
2018
+ bottom: auto;
2019
+ left: auto;
2020
+ right: 0;
2021
+ box-sizing: border-box;
2022
+ width: 280px;
2023
+ background-color: #fff;
2024
+ border: 1px dotted #ddd;
2025
+ height: auto !important;
2026
+ padding: 24px;
2027
+ display: flex;
2028
+ justify-content: center;
2029
+ }
2030
+
2031
+ .interface-interface-skeleton__actions:focus .editor-layout__toggle-entities-saved-states-panel, .interface-interface-skeleton__actions:focus-within .editor-layout__toggle-entities-saved-states-panel,
2032
+ .interface-interface-skeleton__actions:focus .editor-layout__toggle-publish-panel,
2033
+ .interface-interface-skeleton__actions:focus-within .editor-layout__toggle-publish-panel {
2034
+ top: auto;
2035
+ bottom: 0;
2036
+ }
2037
+
2038
+ .interface-interface-skeleton__sidebar:focus .edit-post-layout__toggle-sidebar-panel, .interface-interface-skeleton__sidebar:focus-within .edit-post-layout__toggle-sidebar-panel {
2039
+ top: auto;
2040
+ bottom: 0;
2041
+ }
2042
+
1866
2043
  .editor-start-page-options__modal-content .block-editor-block-patterns-list {
1867
2044
  column-count: 2;
1868
2045
  column-gap: 24px;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wordpress/editor",
3
- "version": "13.33.0",
3
+ "version": "13.34.0",
4
4
  "description": "Enhanced block editor for WordPress posts.",
5
5
  "author": "The WordPress Contributors",
6
6
  "license": "GPL-2.0-or-later",
@@ -31,39 +31,39 @@
31
31
  ],
32
32
  "dependencies": {
33
33
  "@babel/runtime": "^7.16.0",
34
- "@wordpress/a11y": "^3.56.0",
35
- "@wordpress/api-fetch": "^6.53.0",
36
- "@wordpress/blob": "^3.56.0",
37
- "@wordpress/block-editor": "^12.24.0",
38
- "@wordpress/blocks": "^12.33.0",
39
- "@wordpress/commands": "^0.27.0",
40
- "@wordpress/components": "^27.4.0",
41
- "@wordpress/compose": "^6.33.0",
42
- "@wordpress/core-data": "^6.33.0",
43
- "@wordpress/data": "^9.26.0",
44
- "@wordpress/date": "^4.56.0",
45
- "@wordpress/deprecated": "^3.56.0",
46
- "@wordpress/dom": "^3.56.0",
47
- "@wordpress/element": "^5.33.0",
48
- "@wordpress/hooks": "^3.56.0",
49
- "@wordpress/html-entities": "^3.56.0",
50
- "@wordpress/i18n": "^4.56.0",
51
- "@wordpress/icons": "^9.47.0",
52
- "@wordpress/interface": "^5.33.0",
53
- "@wordpress/keyboard-shortcuts": "^4.33.0",
54
- "@wordpress/keycodes": "^3.56.0",
55
- "@wordpress/media-utils": "^4.47.0",
56
- "@wordpress/notices": "^4.24.0",
57
- "@wordpress/patterns": "^1.17.0",
58
- "@wordpress/plugins": "^6.24.0",
59
- "@wordpress/preferences": "^3.33.0",
60
- "@wordpress/private-apis": "^0.38.0",
61
- "@wordpress/reusable-blocks": "^4.33.0",
62
- "@wordpress/rich-text": "^6.33.0",
63
- "@wordpress/server-side-render": "^4.33.0",
64
- "@wordpress/url": "^3.57.0",
65
- "@wordpress/warning": "^2.56.0",
66
- "@wordpress/wordcount": "^3.56.0",
34
+ "@wordpress/a11y": "^3.57.0",
35
+ "@wordpress/api-fetch": "^6.54.0",
36
+ "@wordpress/blob": "^3.57.0",
37
+ "@wordpress/block-editor": "^12.25.0",
38
+ "@wordpress/blocks": "^12.34.0",
39
+ "@wordpress/commands": "^0.28.0",
40
+ "@wordpress/components": "^27.5.0",
41
+ "@wordpress/compose": "^6.34.0",
42
+ "@wordpress/core-data": "^6.34.0",
43
+ "@wordpress/data": "^9.27.0",
44
+ "@wordpress/date": "^4.57.0",
45
+ "@wordpress/deprecated": "^3.57.0",
46
+ "@wordpress/dom": "^3.57.0",
47
+ "@wordpress/element": "^5.34.0",
48
+ "@wordpress/hooks": "^3.57.0",
49
+ "@wordpress/html-entities": "^3.57.0",
50
+ "@wordpress/i18n": "^4.57.0",
51
+ "@wordpress/icons": "^9.48.0",
52
+ "@wordpress/interface": "^5.34.0",
53
+ "@wordpress/keyboard-shortcuts": "^4.34.0",
54
+ "@wordpress/keycodes": "^3.57.0",
55
+ "@wordpress/media-utils": "^4.48.0",
56
+ "@wordpress/notices": "^4.25.0",
57
+ "@wordpress/patterns": "^1.18.0",
58
+ "@wordpress/plugins": "^6.25.0",
59
+ "@wordpress/preferences": "^3.34.0",
60
+ "@wordpress/private-apis": "^0.39.0",
61
+ "@wordpress/reusable-blocks": "^4.34.0",
62
+ "@wordpress/rich-text": "^6.34.0",
63
+ "@wordpress/server-side-render": "^4.34.0",
64
+ "@wordpress/url": "^3.58.0",
65
+ "@wordpress/warning": "^2.57.0",
66
+ "@wordpress/wordcount": "^3.57.0",
67
67
  "classnames": "^2.3.1",
68
68
  "date-fns": "^3.6.0",
69
69
  "memize": "^2.1.0",
@@ -77,5 +77,5 @@
77
77
  "publishConfig": {
78
78
  "access": "public"
79
79
  },
80
- "gitHead": "280403b4c1cf6cc2c55a6c4d56f9ef91145e4191"
80
+ "gitHead": "581d8a5580dba8f600b7268d51eb554771ae482c"
81
81
  }
@@ -11,17 +11,6 @@ import { store as coreStore } from '@wordpress/core-data';
11
11
  */
12
12
  import { store as editorStore } from '../../store';
13
13
 
14
- /**
15
- * AutosaveMonitor invokes `props.autosave()` within at most `interval` seconds after an unsaved change is detected.
16
- *
17
- * The logic is straightforward: a check is performed every `props.interval` seconds. If any changes are detected, `props.autosave()` is called.
18
- * The time between the change and the autosave varies but is no larger than `props.interval` seconds. Refer to the code below for more details, such as
19
- * the specific way of detecting changes.
20
- *
21
- * There are two caveats:
22
- * * If `props.isAutosaveable` happens to be false at a time of checking for changes, the check is retried every second.
23
- * * The timer may be disabled by setting `props.disableIntervalChecks` to `true`. In that mode, any change will immediately trigger `props.autosave()`.
24
- */
25
14
  export class AutosaveMonitor extends Component {
26
15
  constructor( props ) {
27
16
  super( props );
@@ -92,9 +81,23 @@ export class AutosaveMonitor extends Component {
92
81
  }
93
82
 
94
83
  /**
95
- * AutosaveMonitor component.
96
84
  * Monitors the changes made to the edited post and triggers autosave if necessary.
97
85
  *
86
+ * The logic is straightforward: a check is performed every `props.interval` seconds. If any changes are detected, `props.autosave()` is called.
87
+ * The time between the change and the autosave varies but is no larger than `props.interval` seconds. Refer to the code below for more details, such as
88
+ * the specific way of detecting changes.
89
+ *
90
+ * There are two caveats:
91
+ * * If `props.isAutosaveable` happens to be false at a time of checking for changes, the check is retried every second.
92
+ * * The timer may be disabled by setting `props.disableIntervalChecks` to `true`. In that mode, any change will immediately trigger `props.autosave()`.
93
+ *
94
+ * @param {Object} props - The properties passed to the component.
95
+ * @param {Function} props.autosave - The function to call when changes need to be saved.
96
+ * @param {number} props.interval - The maximum time in seconds between an unsaved change and an autosave.
97
+ * @param {boolean} props.isAutosaveable - If false, the check for changes is retried every second.
98
+ * @param {boolean} props.disableIntervalChecks - If true, disables the timer and any change will immediately trigger `props.autosave()`.
99
+ * @param {boolean} props.isDirty - Indicates if there are unsaved changes.
100
+ *
98
101
  * @example
99
102
  * ```jsx
100
103
  * <AutosaveMonitor interval={30000} />
@@ -9,6 +9,11 @@ import { count as characterCount } from '@wordpress/wordcount';
9
9
  */
10
10
  import { store as editorStore } from '../../store';
11
11
 
12
+ /**
13
+ * Renders the character count of the post content.
14
+ *
15
+ * @return {number} The character count.
16
+ */
12
17
  export default function CharacterCount() {
13
18
  const content = useSelect(
14
19
  ( select ) => select( editorStore ).getEditedPostAttribute( 'content' ),
@@ -0,0 +1,77 @@
1
+ /**
2
+ * External dependencies
3
+ */
4
+ import classnames from 'classnames';
5
+
6
+ /**
7
+ * WordPress dependencies
8
+ */
9
+ import {
10
+ BlockToolbar,
11
+ store as blockEditorStore,
12
+ privateApis as blockEditorPrivateApis,
13
+ } from '@wordpress/block-editor';
14
+ import { useEffect } from '@wordpress/element';
15
+ import { Button, Popover } from '@wordpress/components';
16
+ import { __ } from '@wordpress/i18n';
17
+ import { next, previous } from '@wordpress/icons';
18
+ import { useSelect } from '@wordpress/data';
19
+
20
+ /**
21
+ * Internal dependencies
22
+ */
23
+ import { unlock } from '../../lock-unlock';
24
+
25
+ const { useHasBlockToolbar } = unlock( blockEditorPrivateApis );
26
+
27
+ function CollapsableBlockToolbar( { isCollapsed, onToggle } ) {
28
+ const { blockSelectionStart } = useSelect( ( select ) => {
29
+ return {
30
+ blockSelectionStart:
31
+ select( blockEditorStore ).getBlockSelectionStart(),
32
+ };
33
+ }, [] );
34
+ const hasBlockToolbar = useHasBlockToolbar();
35
+
36
+ const hasBlockSelection = !! blockSelectionStart;
37
+
38
+ useEffect( () => {
39
+ // If we have a new block selection, show the block tools
40
+ if ( blockSelectionStart ) {
41
+ onToggle( false );
42
+ }
43
+ }, [ blockSelectionStart, onToggle ] );
44
+
45
+ if ( ! hasBlockToolbar ) {
46
+ return null;
47
+ }
48
+
49
+ return (
50
+ <>
51
+ <div
52
+ className={ classnames( 'editor-collapsible-block-toolbar', {
53
+ 'is-collapsed': isCollapsed || ! hasBlockSelection,
54
+ } ) }
55
+ >
56
+ <BlockToolbar hideDragHandle />
57
+ </div>
58
+ <Popover.Slot name="block-toolbar" />
59
+
60
+ <Button
61
+ className="editor-collapsible-block-toolbar__toggle"
62
+ icon={ isCollapsed ? next : previous }
63
+ onClick={ () => {
64
+ onToggle( ! isCollapsed );
65
+ } }
66
+ label={
67
+ isCollapsed
68
+ ? __( 'Show block tools' )
69
+ : __( 'Hide block tools' )
70
+ }
71
+ size="compact"
72
+ />
73
+ </>
74
+ );
75
+ }
76
+
77
+ export default CollapsableBlockToolbar;