@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
package/CHANGELOG.md CHANGED
@@ -2,6 +2,8 @@
2
2
 
3
3
  ## Unreleased
4
4
 
5
+ ## 13.34.0 (2024-05-02)
6
+
5
7
  ## 13.33.0 (2024-04-19)
6
8
 
7
9
  ## 13.32.0 (2024-04-03)
package/README.md CHANGED
@@ -128,7 +128,14 @@ Example:
128
128
 
129
129
  ### AutosaveMonitor
130
130
 
131
- AutosaveMonitor component. Monitors the changes made to the edited post and triggers autosave if necessary.
131
+ Monitors the changes made to the edited post and triggers autosave if necessary.
132
+
133
+ The logic is straightforward: a check is performed every `props.interval` seconds. If any changes are detected, `props.autosave()` is called. 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 the specific way of detecting changes.
134
+
135
+ There are two caveats:
136
+
137
+ - If `props.isAutosaveable` happens to be false at a time of checking for changes, the check is retried every second.
138
+ - The timer may be disabled by setting `props.disableIntervalChecks` to `true`. In that mode, any change will immediately trigger `props.autosave()`.
132
139
 
133
140
  _Usage_
134
141
 
@@ -136,6 +143,15 @@ _Usage_
136
143
  <AutosaveMonitor interval={ 30000 } />
137
144
  ```
138
145
 
146
+ _Parameters_
147
+
148
+ - _props_ `Object`: - The properties passed to the component.
149
+ - _props.autosave_ `Function`: - The function to call when changes need to be saved.
150
+ - _props.interval_ `number`: - The maximum time in seconds between an unsaved change and an autosave.
151
+ - _props.isAutosaveable_ `boolean`: - If false, the check for changes is retried every second.
152
+ - _props.disableIntervalChecks_ `boolean`: - If true, disables the timer and any change will immediately trigger `props.autosave()`.
153
+ - _props.isDirty_ `boolean`: - Indicates if there are unsaved changes.
154
+
139
155
  ### BlockAlignmentToolbar
140
156
 
141
157
  > **Deprecated** since 5.3, use `wp.blockEditor.BlockAlignmentToolbar` instead.
@@ -194,7 +210,11 @@ _Usage_
194
210
 
195
211
  ### CharacterCount
196
212
 
197
- Undocumented declaration.
213
+ Renders the character count of the post content.
214
+
215
+ _Returns_
216
+
217
+ - `number`: The character count.
198
218
 
199
219
  ### cleanForSlug
200
220
 
@@ -238,27 +258,71 @@ Undocumented declaration.
238
258
 
239
259
  ### DocumentOutline
240
260
 
241
- Undocumented declaration.
261
+ Renders a document outline component.
262
+
263
+ _Parameters_
264
+
265
+ - _props_ `Object`: Props.
266
+ - _props.onSelect_ `Function`: Function to be called when an outline item is selected.
267
+ - _props.isTitleSupported_ `boolean`: Indicates whether the title is supported.
268
+ - _props.hasOutlineItemsDisabled_ `boolean`: Indicates whether the outline items are disabled.
269
+
270
+ _Returns_
271
+
272
+ - `Component`: The component to be rendered.
242
273
 
243
274
  ### DocumentOutlineCheck
244
275
 
245
- Undocumented declaration.
276
+ Component check if there are any headings (core/heading blocks) present in the document.
277
+
278
+ _Parameters_
279
+
280
+ - _props_ `Object`: Props.
281
+ - _props.children_ `Element`: Children to be rendered.
282
+
283
+ _Returns_
284
+
285
+ - `Component|null`: The component to be rendered or null if there are headings.
246
286
 
247
287
  ### EditorHistoryRedo
248
288
 
249
- Undocumented declaration.
289
+ Renders the redo button for the editor history.
290
+
291
+ _Parameters_
292
+
293
+ - _props_ `Object`: - Props.
294
+ - _ref_ `Ref`: - Forwarded ref.
295
+
296
+ _Returns_
297
+
298
+ - `Component`: The component to be rendered.
250
299
 
251
300
  ### EditorHistoryUndo
252
301
 
253
- Undocumented declaration.
302
+ Renders the undo button for the editor history.
303
+
304
+ _Parameters_
305
+
306
+ - _props_ `Object`: - Props.
307
+ - _ref_ `Ref`: - Forwarded ref.
308
+
309
+ _Returns_
310
+
311
+ - `Component`: The component to be rendered.
254
312
 
255
313
  ### EditorKeyboardShortcuts
256
314
 
257
- Undocumented declaration.
315
+ Component handles the keyboard shortcuts for the editor.
316
+
317
+ It provides functionality for various keyboard shortcuts such as toggling editor mode, toggling distraction-free mode, undo/redo, saving the post, toggling list view, and toggling the sidebar.
258
318
 
259
319
  ### EditorKeyboardShortcutsRegister
260
320
 
261
- Undocumented declaration.
321
+ Component for registering editor keyboard shortcuts.
322
+
323
+ _Returns_
324
+
325
+ - `Element`: The component to be rendered.
262
326
 
263
327
  ### EditorNotices
264
328
 
@@ -270,7 +334,11 @@ Undocumented declaration.
270
334
 
271
335
  ### EditorSnackbars
272
336
 
273
- Undocumented declaration.
337
+ Renders the editor snackbars component.
338
+
339
+ _Returns_
340
+
341
+ - `JSX.Element`: The rendered component.
274
342
 
275
343
  ### EntitiesSavedStates
276
344
 
@@ -376,19 +444,40 @@ _Parameters_
376
444
 
377
445
  ### PageAttributesCheck
378
446
 
379
- Undocumented declaration.
447
+ Wrapper component that renders its children only if the post type supports page attributes.
448
+
449
+ _Parameters_
450
+
451
+ - _props_ `Object`: - The component props.
452
+ - _props.children_ `Element`: - The child components to render.
453
+
454
+ _Returns_
455
+
456
+ - `Component|null`: The rendered child components or null if page attributes are not supported.
380
457
 
381
458
  ### PageAttributesOrder
382
459
 
383
- Undocumented declaration.
460
+ Renders the Page Attributes Order component. A number input in an editor interface for setting the order of a given page.
461
+
462
+ _Returns_
463
+
464
+ - `Component`: The component to be rendered.
384
465
 
385
466
  ### PageAttributesPanel
386
467
 
387
- Undocumented declaration.
468
+ Renders the Page Attributes Panel component.
469
+
470
+ _Returns_
471
+
472
+ - `Component`: The component to be rendered.
388
473
 
389
474
  ### PageAttributesParent
390
475
 
391
- Undocumented declaration.
476
+ Renders the Page Attributes Parent component. A dropdown menu in an editor interface for selecting the parent page of a given page.
477
+
478
+ _Returns_
479
+
480
+ - `Component|null`: The component to be rendered. Return null if post type is not hierarchical.
392
481
 
393
482
  ### PageTemplate
394
483
 
@@ -587,7 +676,7 @@ _Usage_
587
676
  ```jsx
588
677
  // Using ESNext syntax
589
678
  import { __ } from '@wordpress/i18n';
590
- import { PluginPostPublishPanel } from '@wordpress/edit-post';
679
+ import { PluginPostPublishPanel } from '@wordpress/editor';
591
680
 
592
681
  const MyPluginPostPublishPanel = () => (
593
682
  <PluginPostPublishPanel
@@ -666,7 +755,7 @@ _Usage_
666
755
  ```jsx
667
756
  // Using ESNext syntax
668
757
  import { __ } from '@wordpress/i18n';
669
- import { PluginPrePublishPanel } from '@wordpress/edit-post';
758
+ import { PluginPrePublishPanel } from '@wordpress/editor';
670
759
 
671
760
  const MyPluginPrePublishPanel = () => (
672
761
  <PluginPrePublishPanel
@@ -733,7 +822,7 @@ function MyPluginSidebar() {
733
822
  // Using ESNext syntax
734
823
  import { __ } from '@wordpress/i18n';
735
824
  import { PanelBody } from '@wordpress/components';
736
- import { PluginSidebar } from '@wordpress/edit-post';
825
+ import { PluginSidebar } from '@wordpress/editor';
737
826
  import { more } from '@wordpress/icons';
738
827
 
739
828
  const MyPluginSidebar = () => (
@@ -801,15 +890,32 @@ _Returns_
801
890
 
802
891
  ### PostAuthor
803
892
 
804
- Undocumented declaration.
893
+ Renders the component for selecting the post author.
894
+
895
+ _Returns_
896
+
897
+ - `Component`: The component to be rendered.
805
898
 
806
899
  ### PostAuthorCheck
807
900
 
808
- Undocumented declaration.
901
+ Wrapper component that renders its children only if the post type supports the author.
902
+
903
+ _Parameters_
904
+
905
+ - _props_ `Object`: The component props.
906
+ - _props.children_ `Element`: Children to be rendered.
907
+
908
+ _Returns_
909
+
910
+ - `Component|null`: The component to be rendered. Return `null` if the post type doesn't supports the author or if there are no authors available.
809
911
 
810
912
  ### PostAuthorPanel
811
913
 
812
- Undocumented declaration.
914
+ Renders the Post Author Panel component.
915
+
916
+ _Returns_
917
+
918
+ - `Component`: The component to be rendered.
813
919
 
814
920
  ### PostComments
815
921
 
@@ -821,7 +927,13 @@ Undocumented declaration.
821
927
 
822
928
  ### PostExcerpt
823
929
 
824
- Undocumented declaration.
930
+ Renders an editable textarea for the post excerpt. Templates, template parts and patterns use the `excerpt` field as a description semantically. Additionally templates and template parts override the `excerpt` field as `description` in REST API. So this component handles proper labeling and updating the edited entity.
931
+
932
+ _Parameters_
933
+
934
+ - _props_ `Object`: - Component props.
935
+ - _props.hideLabelFromVision_ `[boolean]`: - Whether to visually hide the textarea's label.
936
+ - _props.updateOnBlur_ `[boolean]`: - Whether to update the post on change or use local state and update on blur.
825
937
 
826
938
  ### PostExcerptCheck
827
939
 
@@ -17,17 +17,6 @@ var _store = require("../../store");
17
17
  * Internal dependencies
18
18
  */
19
19
 
20
- /**
21
- * AutosaveMonitor invokes `props.autosave()` within at most `interval` seconds after an unsaved change is detected.
22
- *
23
- * The logic is straightforward: a check is performed every `props.interval` seconds. If any changes are detected, `props.autosave()` is called.
24
- * 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
25
- * the specific way of detecting changes.
26
- *
27
- * There are two caveats:
28
- * * If `props.isAutosaveable` happens to be false at a time of checking for changes, the check is retried every second.
29
- * * The timer may be disabled by setting `props.disableIntervalChecks` to `true`. In that mode, any change will immediately trigger `props.autosave()`.
30
- */
31
20
  class AutosaveMonitor extends _element.Component {
32
21
  constructor(props) {
33
22
  super(props);
@@ -86,9 +75,23 @@ class AutosaveMonitor extends _element.Component {
86
75
  }
87
76
 
88
77
  /**
89
- * AutosaveMonitor component.
90
78
  * Monitors the changes made to the edited post and triggers autosave if necessary.
91
79
  *
80
+ * The logic is straightforward: a check is performed every `props.interval` seconds. If any changes are detected, `props.autosave()` is called.
81
+ * 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
82
+ * the specific way of detecting changes.
83
+ *
84
+ * There are two caveats:
85
+ * * If `props.isAutosaveable` happens to be false at a time of checking for changes, the check is retried every second.
86
+ * * The timer may be disabled by setting `props.disableIntervalChecks` to `true`. In that mode, any change will immediately trigger `props.autosave()`.
87
+ *
88
+ * @param {Object} props - The properties passed to the component.
89
+ * @param {Function} props.autosave - The function to call when changes need to be saved.
90
+ * @param {number} props.interval - The maximum time in seconds between an unsaved change and an autosave.
91
+ * @param {boolean} props.isAutosaveable - If false, the check for changes is retried every second.
92
+ * @param {boolean} props.disableIntervalChecks - If true, disables the timer and any change will immediately trigger `props.autosave()`.
93
+ * @param {boolean} props.isDirty - Indicates if there are unsaved changes.
94
+ *
92
95
  * @example
93
96
  * ```jsx
94
97
  * <AutosaveMonitor interval={30000} />
@@ -1 +1 @@
1
- {"version":3,"names":["_element","require","_compose","_data","_coreData","_store","AutosaveMonitor","Component","constructor","props","needsAutosave","isDirty","isAutosaveable","componentDidMount","disableIntervalChecks","setAutosaveTimer","componentDidUpdate","prevProps","editsReference","autosave","interval","clearTimeout","timerId","isAutosaving","componentWillUnmount","timeout","setTimeout","autosaveTimerHandler","render","exports","_default","default","compose","withSelect","select","ownProps","getReferenceByDistinctEdits","coreStore","isEditedPostDirty","isEditedPostAutosaveable","isAutosavingPost","getEditorSettings","editorStore","autosaveInterval","withDispatch","dispatch"],"sources":["@wordpress/editor/src/components/autosave-monitor/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { Component } from '@wordpress/element';\nimport { compose } from '@wordpress/compose';\nimport { withSelect, withDispatch } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\n\n/**\n * AutosaveMonitor invokes `props.autosave()` within at most `interval` seconds after an unsaved change is detected.\n *\n * The logic is straightforward: a check is performed every `props.interval` seconds. If any changes are detected, `props.autosave()` is called.\n * 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\n * the specific way of detecting changes.\n *\n * There are two caveats:\n * * If `props.isAutosaveable` happens to be false at a time of checking for changes, the check is retried every second.\n * * The timer may be disabled by setting `props.disableIntervalChecks` to `true`. In that mode, any change will immediately trigger `props.autosave()`.\n */\nexport class AutosaveMonitor extends Component {\n\tconstructor( props ) {\n\t\tsuper( props );\n\t\tthis.needsAutosave = !! ( props.isDirty && props.isAutosaveable );\n\t}\n\n\tcomponentDidMount() {\n\t\tif ( ! this.props.disableIntervalChecks ) {\n\t\t\tthis.setAutosaveTimer();\n\t\t}\n\t}\n\n\tcomponentDidUpdate( prevProps ) {\n\t\tif ( this.props.disableIntervalChecks ) {\n\t\t\tif ( this.props.editsReference !== prevProps.editsReference ) {\n\t\t\t\tthis.props.autosave();\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\n\t\tif ( this.props.interval !== prevProps.interval ) {\n\t\t\tclearTimeout( this.timerId );\n\t\t\tthis.setAutosaveTimer();\n\t\t}\n\n\t\tif ( ! this.props.isDirty ) {\n\t\t\tthis.needsAutosave = false;\n\t\t\treturn;\n\t\t}\n\n\t\tif ( this.props.isAutosaving && ! prevProps.isAutosaving ) {\n\t\t\tthis.needsAutosave = false;\n\t\t\treturn;\n\t\t}\n\n\t\tif ( this.props.editsReference !== prevProps.editsReference ) {\n\t\t\tthis.needsAutosave = true;\n\t\t}\n\t}\n\n\tcomponentWillUnmount() {\n\t\tclearTimeout( this.timerId );\n\t}\n\n\tsetAutosaveTimer( timeout = this.props.interval * 1000 ) {\n\t\tthis.timerId = setTimeout( () => {\n\t\t\tthis.autosaveTimerHandler();\n\t\t}, timeout );\n\t}\n\n\tautosaveTimerHandler() {\n\t\tif ( ! this.props.isAutosaveable ) {\n\t\t\tthis.setAutosaveTimer( 1000 );\n\t\t\treturn;\n\t\t}\n\n\t\tif ( this.needsAutosave ) {\n\t\t\tthis.needsAutosave = false;\n\t\t\tthis.props.autosave();\n\t\t}\n\n\t\tthis.setAutosaveTimer();\n\t}\n\n\trender() {\n\t\treturn null;\n\t}\n}\n\n/**\n * AutosaveMonitor component.\n * Monitors the changes made to the edited post and triggers autosave if necessary.\n *\n * @example\n * ```jsx\n * <AutosaveMonitor interval={30000} />\n * ```\n */\nexport default compose( [\n\twithSelect( ( select, ownProps ) => {\n\t\tconst { getReferenceByDistinctEdits } = select( coreStore );\n\n\t\tconst {\n\t\t\tisEditedPostDirty,\n\t\t\tisEditedPostAutosaveable,\n\t\t\tisAutosavingPost,\n\t\t\tgetEditorSettings,\n\t\t} = select( editorStore );\n\n\t\tconst { interval = getEditorSettings().autosaveInterval } = ownProps;\n\n\t\treturn {\n\t\t\teditsReference: getReferenceByDistinctEdits(),\n\t\t\tisDirty: isEditedPostDirty(),\n\t\t\tisAutosaveable: isEditedPostAutosaveable(),\n\t\t\tisAutosaving: isAutosavingPost(),\n\t\t\tinterval,\n\t\t};\n\t} ),\n\twithDispatch( ( dispatch, ownProps ) => ( {\n\t\tautosave() {\n\t\t\tconst { autosave = dispatch( editorStore ).autosave } = ownProps;\n\t\t\tautosave();\n\t\t},\n\t} ) ),\n] )( AutosaveMonitor );\n"],"mappings":";;;;;;AAGA,IAAAA,QAAA,GAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AACA,IAAAE,KAAA,GAAAF,OAAA;AACA,IAAAG,SAAA,GAAAH,OAAA;AAKA,IAAAI,MAAA,GAAAJ,OAAA;AAXA;AACA;AACA;;AAMA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMK,eAAe,SAASC,kBAAS,CAAC;EAC9CC,WAAWA,CAAEC,KAAK,EAAG;IACpB,KAAK,CAAEA,KAAM,CAAC;IACd,IAAI,CAACC,aAAa,GAAG,CAAC,EAAID,KAAK,CAACE,OAAO,IAAIF,KAAK,CAACG,cAAc,CAAE;EAClE;EAEAC,iBAAiBA,CAAA,EAAG;IACnB,IAAK,CAAE,IAAI,CAACJ,KAAK,CAACK,qBAAqB,EAAG;MACzC,IAAI,CAACC,gBAAgB,CAAC,CAAC;IACxB;EACD;EAEAC,kBAAkBA,CAAEC,SAAS,EAAG;IAC/B,IAAK,IAAI,CAACR,KAAK,CAACK,qBAAqB,EAAG;MACvC,IAAK,IAAI,CAACL,KAAK,CAACS,cAAc,KAAKD,SAAS,CAACC,cAAc,EAAG;QAC7D,IAAI,CAACT,KAAK,CAACU,QAAQ,CAAC,CAAC;MACtB;MACA;IACD;IAEA,IAAK,IAAI,CAACV,KAAK,CAACW,QAAQ,KAAKH,SAAS,CAACG,QAAQ,EAAG;MACjDC,YAAY,CAAE,IAAI,CAACC,OAAQ,CAAC;MAC5B,IAAI,CAACP,gBAAgB,CAAC,CAAC;IACxB;IAEA,IAAK,CAAE,IAAI,CAACN,KAAK,CAACE,OAAO,EAAG;MAC3B,IAAI,CAACD,aAAa,GAAG,KAAK;MAC1B;IACD;IAEA,IAAK,IAAI,CAACD,KAAK,CAACc,YAAY,IAAI,CAAEN,SAAS,CAACM,YAAY,EAAG;MAC1D,IAAI,CAACb,aAAa,GAAG,KAAK;MAC1B;IACD;IAEA,IAAK,IAAI,CAACD,KAAK,CAACS,cAAc,KAAKD,SAAS,CAACC,cAAc,EAAG;MAC7D,IAAI,CAACR,aAAa,GAAG,IAAI;IAC1B;EACD;EAEAc,oBAAoBA,CAAA,EAAG;IACtBH,YAAY,CAAE,IAAI,CAACC,OAAQ,CAAC;EAC7B;EAEAP,gBAAgBA,CAAEU,OAAO,GAAG,IAAI,CAAChB,KAAK,CAACW,QAAQ,GAAG,IAAI,EAAG;IACxD,IAAI,CAACE,OAAO,GAAGI,UAAU,CAAE,MAAM;MAChC,IAAI,CAACC,oBAAoB,CAAC,CAAC;IAC5B,CAAC,EAAEF,OAAQ,CAAC;EACb;EAEAE,oBAAoBA,CAAA,EAAG;IACtB,IAAK,CAAE,IAAI,CAAClB,KAAK,CAACG,cAAc,EAAG;MAClC,IAAI,CAACG,gBAAgB,CAAE,IAAK,CAAC;MAC7B;IACD;IAEA,IAAK,IAAI,CAACL,aAAa,EAAG;MACzB,IAAI,CAACA,aAAa,GAAG,KAAK;MAC1B,IAAI,CAACD,KAAK,CAACU,QAAQ,CAAC,CAAC;IACtB;IAEA,IAAI,CAACJ,gBAAgB,CAAC,CAAC;EACxB;EAEAa,MAAMA,CAAA,EAAG;IACR,OAAO,IAAI;EACZ;AACD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AARAC,OAAA,CAAAvB,eAAA,GAAAA,eAAA;AAAA,IAAAwB,QAAA,GAAAD,OAAA,CAAAE,OAAA,GASe,IAAAC,gBAAO,EAAE,CACvB,IAAAC,gBAAU,EAAE,CAAEC,MAAM,EAAEC,QAAQ,KAAM;EACnC,MAAM;IAAEC;EAA4B,CAAC,GAAGF,MAAM,CAAEG,eAAU,CAAC;EAE3D,MAAM;IACLC,iBAAiB;IACjBC,wBAAwB;IACxBC,gBAAgB;IAChBC;EACD,CAAC,GAAGP,MAAM,CAAEQ,YAAY,CAAC;EAEzB,MAAM;IAAEtB,QAAQ,GAAGqB,iBAAiB,CAAC,CAAC,CAACE;EAAiB,CAAC,GAAGR,QAAQ;EAEpE,OAAO;IACNjB,cAAc,EAAEkB,2BAA2B,CAAC,CAAC;IAC7CzB,OAAO,EAAE2B,iBAAiB,CAAC,CAAC;IAC5B1B,cAAc,EAAE2B,wBAAwB,CAAC,CAAC;IAC1ChB,YAAY,EAAEiB,gBAAgB,CAAC,CAAC;IAChCpB;EACD,CAAC;AACF,CAAE,CAAC,EACH,IAAAwB,kBAAY,EAAE,CAAEC,QAAQ,EAAEV,QAAQ,MAAQ;EACzChB,QAAQA,CAAA,EAAG;IACV,MAAM;MAAEA,QAAQ,GAAG0B,QAAQ,CAAEH,YAAY,CAAC,CAACvB;IAAS,CAAC,GAAGgB,QAAQ;IAChEhB,QAAQ,CAAC,CAAC;EACX;AACD,CAAC,CAAG,CAAC,CACJ,CAAC,CAAEb,eAAgB,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["_element","require","_compose","_data","_coreData","_store","AutosaveMonitor","Component","constructor","props","needsAutosave","isDirty","isAutosaveable","componentDidMount","disableIntervalChecks","setAutosaveTimer","componentDidUpdate","prevProps","editsReference","autosave","interval","clearTimeout","timerId","isAutosaving","componentWillUnmount","timeout","setTimeout","autosaveTimerHandler","render","exports","_default","default","compose","withSelect","select","ownProps","getReferenceByDistinctEdits","coreStore","isEditedPostDirty","isEditedPostAutosaveable","isAutosavingPost","getEditorSettings","editorStore","autosaveInterval","withDispatch","dispatch"],"sources":["@wordpress/editor/src/components/autosave-monitor/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { Component } from '@wordpress/element';\nimport { compose } from '@wordpress/compose';\nimport { withSelect, withDispatch } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\n\nexport class AutosaveMonitor extends Component {\n\tconstructor( props ) {\n\t\tsuper( props );\n\t\tthis.needsAutosave = !! ( props.isDirty && props.isAutosaveable );\n\t}\n\n\tcomponentDidMount() {\n\t\tif ( ! this.props.disableIntervalChecks ) {\n\t\t\tthis.setAutosaveTimer();\n\t\t}\n\t}\n\n\tcomponentDidUpdate( prevProps ) {\n\t\tif ( this.props.disableIntervalChecks ) {\n\t\t\tif ( this.props.editsReference !== prevProps.editsReference ) {\n\t\t\t\tthis.props.autosave();\n\t\t\t}\n\t\t\treturn;\n\t\t}\n\n\t\tif ( this.props.interval !== prevProps.interval ) {\n\t\t\tclearTimeout( this.timerId );\n\t\t\tthis.setAutosaveTimer();\n\t\t}\n\n\t\tif ( ! this.props.isDirty ) {\n\t\t\tthis.needsAutosave = false;\n\t\t\treturn;\n\t\t}\n\n\t\tif ( this.props.isAutosaving && ! prevProps.isAutosaving ) {\n\t\t\tthis.needsAutosave = false;\n\t\t\treturn;\n\t\t}\n\n\t\tif ( this.props.editsReference !== prevProps.editsReference ) {\n\t\t\tthis.needsAutosave = true;\n\t\t}\n\t}\n\n\tcomponentWillUnmount() {\n\t\tclearTimeout( this.timerId );\n\t}\n\n\tsetAutosaveTimer( timeout = this.props.interval * 1000 ) {\n\t\tthis.timerId = setTimeout( () => {\n\t\t\tthis.autosaveTimerHandler();\n\t\t}, timeout );\n\t}\n\n\tautosaveTimerHandler() {\n\t\tif ( ! this.props.isAutosaveable ) {\n\t\t\tthis.setAutosaveTimer( 1000 );\n\t\t\treturn;\n\t\t}\n\n\t\tif ( this.needsAutosave ) {\n\t\t\tthis.needsAutosave = false;\n\t\t\tthis.props.autosave();\n\t\t}\n\n\t\tthis.setAutosaveTimer();\n\t}\n\n\trender() {\n\t\treturn null;\n\t}\n}\n\n/**\n * Monitors the changes made to the edited post and triggers autosave if necessary.\n *\n * The logic is straightforward: a check is performed every `props.interval` seconds. If any changes are detected, `props.autosave()` is called.\n * 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\n * the specific way of detecting changes.\n *\n * There are two caveats:\n * * If `props.isAutosaveable` happens to be false at a time of checking for changes, the check is retried every second.\n * * The timer may be disabled by setting `props.disableIntervalChecks` to `true`. In that mode, any change will immediately trigger `props.autosave()`.\n *\n * @param {Object} props - The properties passed to the component.\n * @param {Function} props.autosave - The function to call when changes need to be saved.\n * @param {number} props.interval - The maximum time in seconds between an unsaved change and an autosave.\n * @param {boolean} props.isAutosaveable - If false, the check for changes is retried every second.\n * @param {boolean} props.disableIntervalChecks - If true, disables the timer and any change will immediately trigger `props.autosave()`.\n * @param {boolean} props.isDirty - Indicates if there are unsaved changes.\n *\n * @example\n * ```jsx\n * <AutosaveMonitor interval={30000} />\n * ```\n */\nexport default compose( [\n\twithSelect( ( select, ownProps ) => {\n\t\tconst { getReferenceByDistinctEdits } = select( coreStore );\n\n\t\tconst {\n\t\t\tisEditedPostDirty,\n\t\t\tisEditedPostAutosaveable,\n\t\t\tisAutosavingPost,\n\t\t\tgetEditorSettings,\n\t\t} = select( editorStore );\n\n\t\tconst { interval = getEditorSettings().autosaveInterval } = ownProps;\n\n\t\treturn {\n\t\t\teditsReference: getReferenceByDistinctEdits(),\n\t\t\tisDirty: isEditedPostDirty(),\n\t\t\tisAutosaveable: isEditedPostAutosaveable(),\n\t\t\tisAutosaving: isAutosavingPost(),\n\t\t\tinterval,\n\t\t};\n\t} ),\n\twithDispatch( ( dispatch, ownProps ) => ( {\n\t\tautosave() {\n\t\t\tconst { autosave = dispatch( editorStore ).autosave } = ownProps;\n\t\t\tautosave();\n\t\t},\n\t} ) ),\n] )( AutosaveMonitor );\n"],"mappings":"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","ignoreList":[]}
@@ -15,6 +15,11 @@ var _store = require("../../store");
15
15
  * Internal dependencies
16
16
  */
17
17
 
18
+ /**
19
+ * Renders the character count of the post content.
20
+ *
21
+ * @return {number} The character count.
22
+ */
18
23
  function CharacterCount() {
19
24
  const content = (0, _data.useSelect)(select => select(_store.store).getEditedPostAttribute('content'), []);
20
25
  return (0, _wordcount.count)(content, 'characters_including_spaces');
@@ -1 +1 @@
1
- {"version":3,"names":["_data","require","_wordcount","_store","CharacterCount","content","useSelect","select","editorStore","getEditedPostAttribute","characterCount"],"sources":["@wordpress/editor/src/components/character-count/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { count as characterCount } from '@wordpress/wordcount';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\n\nexport default function CharacterCount() {\n\tconst content = useSelect(\n\t\t( select ) => select( editorStore ).getEditedPostAttribute( 'content' ),\n\t\t[]\n\t);\n\n\treturn characterCount( content, 'characters_including_spaces' );\n}\n"],"mappings":";;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,UAAA,GAAAD,OAAA;AAKA,IAAAE,MAAA,GAAAF,OAAA;AATA;AACA;AACA;;AAIA;AACA;AACA;;AAGe,SAASG,cAAcA,CAAA,EAAG;EACxC,MAAMC,OAAO,GAAG,IAAAC,eAAS,EACtBC,MAAM,IAAMA,MAAM,CAAEC,YAAY,CAAC,CAACC,sBAAsB,CAAE,SAAU,CAAC,EACvE,EACD,CAAC;EAED,OAAO,IAAAC,gBAAc,EAAEL,OAAO,EAAE,6BAA8B,CAAC;AAChE","ignoreList":[]}
1
+ {"version":3,"names":["_data","require","_wordcount","_store","CharacterCount","content","useSelect","select","editorStore","getEditedPostAttribute","characterCount"],"sources":["@wordpress/editor/src/components/character-count/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { count as characterCount } from '@wordpress/wordcount';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\n\n/**\n * Renders the character count of the post content.\n *\n * @return {number} The character count.\n */\nexport default function CharacterCount() {\n\tconst content = useSelect(\n\t\t( select ) => select( editorStore ).getEditedPostAttribute( 'content' ),\n\t\t[]\n\t);\n\n\treturn characterCount( content, 'characters_including_spaces' );\n}\n"],"mappings":";;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,UAAA,GAAAD,OAAA;AAKA,IAAAE,MAAA,GAAAF,OAAA;AATA;AACA;AACA;;AAIA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA;AACe,SAASG,cAAcA,CAAA,EAAG;EACxC,MAAMC,OAAO,GAAG,IAAAC,eAAS,EACtBC,MAAM,IAAMA,MAAM,CAAEC,YAAY,CAAC,CAACC,sBAAsB,CAAE,SAAU,CAAC,EACvE,EACD,CAAC;EAED,OAAO,IAAAC,gBAAc,EAAEL,OAAO,EAAE,6BAA8B,CAAC;AAChE","ignoreList":[]}
@@ -0,0 +1,73 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = void 0;
8
+ var _react = require("react");
9
+ var _classnames = _interopRequireDefault(require("classnames"));
10
+ var _blockEditor = require("@wordpress/block-editor");
11
+ var _element = require("@wordpress/element");
12
+ var _components = require("@wordpress/components");
13
+ var _i18n = require("@wordpress/i18n");
14
+ var _icons = require("@wordpress/icons");
15
+ var _data = require("@wordpress/data");
16
+ var _lockUnlock = require("../../lock-unlock");
17
+ /**
18
+ * External dependencies
19
+ */
20
+
21
+ /**
22
+ * WordPress dependencies
23
+ */
24
+
25
+ /**
26
+ * Internal dependencies
27
+ */
28
+
29
+ const {
30
+ useHasBlockToolbar
31
+ } = (0, _lockUnlock.unlock)(_blockEditor.privateApis);
32
+ function CollapsableBlockToolbar({
33
+ isCollapsed,
34
+ onToggle
35
+ }) {
36
+ const {
37
+ blockSelectionStart
38
+ } = (0, _data.useSelect)(select => {
39
+ return {
40
+ blockSelectionStart: select(_blockEditor.store).getBlockSelectionStart()
41
+ };
42
+ }, []);
43
+ const hasBlockToolbar = useHasBlockToolbar();
44
+ const hasBlockSelection = !!blockSelectionStart;
45
+ (0, _element.useEffect)(() => {
46
+ // If we have a new block selection, show the block tools
47
+ if (blockSelectionStart) {
48
+ onToggle(false);
49
+ }
50
+ }, [blockSelectionStart, onToggle]);
51
+ if (!hasBlockToolbar) {
52
+ return null;
53
+ }
54
+ return (0, _react.createElement)(_react.Fragment, null, (0, _react.createElement)("div", {
55
+ className: (0, _classnames.default)('editor-collapsible-block-toolbar', {
56
+ 'is-collapsed': isCollapsed || !hasBlockSelection
57
+ })
58
+ }, (0, _react.createElement)(_blockEditor.BlockToolbar, {
59
+ hideDragHandle: true
60
+ })), (0, _react.createElement)(_components.Popover.Slot, {
61
+ name: "block-toolbar"
62
+ }), (0, _react.createElement)(_components.Button, {
63
+ className: "editor-collapsible-block-toolbar__toggle",
64
+ icon: isCollapsed ? _icons.next : _icons.previous,
65
+ onClick: () => {
66
+ onToggle(!isCollapsed);
67
+ },
68
+ label: isCollapsed ? (0, _i18n.__)('Show block tools') : (0, _i18n.__)('Hide block tools'),
69
+ size: "compact"
70
+ }));
71
+ }
72
+ var _default = exports.default = CollapsableBlockToolbar;
73
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_classnames","_interopRequireDefault","require","_blockEditor","_element","_components","_i18n","_icons","_data","_lockUnlock","useHasBlockToolbar","unlock","blockEditorPrivateApis","CollapsableBlockToolbar","isCollapsed","onToggle","blockSelectionStart","useSelect","select","blockEditorStore","getBlockSelectionStart","hasBlockToolbar","hasBlockSelection","useEffect","_react","createElement","Fragment","className","classnames","BlockToolbar","hideDragHandle","Popover","Slot","name","Button","icon","next","previous","onClick","label","__","size","_default","exports","default"],"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":";;;;;;;;AAGA,IAAAA,WAAA,GAAAC,sBAAA,CAAAC,OAAA;AAKA,IAAAC,YAAA,GAAAD,OAAA;AAKA,IAAAE,QAAA,GAAAF,OAAA;AACA,IAAAG,WAAA,GAAAH,OAAA;AACA,IAAAI,KAAA,GAAAJ,OAAA;AACA,IAAAK,MAAA,GAAAL,OAAA;AACA,IAAAM,KAAA,GAAAN,OAAA;AAKA,IAAAO,WAAA,GAAAP,OAAA;AAtBA;AACA;AACA;;AAGA;AACA;AACA;;AAYA;AACA;AACA;;AAGA,MAAM;EAAEQ;AAAmB,CAAC,GAAG,IAAAC,kBAAM,EAAEC,wBAAuB,CAAC;AAE/D,SAASC,uBAAuBA,CAAE;EAAEC,WAAW;EAAEC;AAAS,CAAC,EAAG;EAC7D,MAAM;IAAEC;EAAoB,CAAC,GAAG,IAAAC,eAAS,EAAIC,MAAM,IAAM;IACxD,OAAO;MACNF,mBAAmB,EAClBE,MAAM,CAAEC,kBAAiB,CAAC,CAACC,sBAAsB,CAAC;IACpD,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;EACP,MAAMC,eAAe,GAAGX,kBAAkB,CAAC,CAAC;EAE5C,MAAMY,iBAAiB,GAAG,CAAC,CAAEN,mBAAmB;EAEhD,IAAAO,kBAAS,EAAE,MAAM;IAChB;IACA,IAAKP,mBAAmB,EAAG;MAC1BD,QAAQ,CAAE,KAAM,CAAC;IAClB;EACD,CAAC,EAAE,CAAEC,mBAAmB,EAAED,QAAQ,CAAG,CAAC;EAEtC,IAAK,CAAEM,eAAe,EAAG;IACxB,OAAO,IAAI;EACZ;EAEA,OACC,IAAAG,MAAA,CAAAC,aAAA,EAAAD,MAAA,CAAAE,QAAA,QACC,IAAAF,MAAA,CAAAC,aAAA;IACCE,SAAS,EAAG,IAAAC,mBAAU,EAAE,kCAAkC,EAAE;MAC3D,cAAc,EAAEd,WAAW,IAAI,CAAEQ;IAClC,CAAE;EAAG,GAEL,IAAAE,MAAA,CAAAC,aAAA,EAACtB,YAAA,CAAA0B,YAAY;IAACC,cAAc;EAAA,CAAE,CAC1B,CAAC,EACN,IAAAN,MAAA,CAAAC,aAAA,EAACpB,WAAA,CAAA0B,OAAO,CAACC,IAAI;IAACC,IAAI,EAAC;EAAe,CAAE,CAAC,EAErC,IAAAT,MAAA,CAAAC,aAAA,EAACpB,WAAA,CAAA6B,MAAM;IACNP,SAAS,EAAC,0CAA0C;IACpDQ,IAAI,EAAGrB,WAAW,GAAGsB,WAAI,GAAGC,eAAU;IACtCC,OAAO,EAAGA,CAAA,KAAM;MACfvB,QAAQ,CAAE,CAAED,WAAY,CAAC;IAC1B,CAAG;IACHyB,KAAK,EACJzB,WAAW,GACR,IAAA0B,QAAE,EAAE,kBAAmB,CAAC,GACxB,IAAAA,QAAE,EAAE,kBAAmB,CAC1B;IACDC,IAAI,EAAC;EAAS,CACd,CACA,CAAC;AAEL;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEc/B,uBAAuB","ignoreList":[]}
@@ -10,6 +10,14 @@ var _blockEditor = require("@wordpress/block-editor");
10
10
  * WordPress dependencies
11
11
  */
12
12
 
13
+ /**
14
+ * Component check if there are any headings (core/heading blocks) present in the document.
15
+ *
16
+ * @param {Object} props Props.
17
+ * @param {Element} props.children Children to be rendered.
18
+ *
19
+ * @return {Component|null} The component to be rendered or null if there are headings.
20
+ */
13
21
  function DocumentOutlineCheck({
14
22
  children
15
23
  }) {
@@ -1 +1 @@
1
- {"version":3,"names":["_data","require","_blockEditor","DocumentOutlineCheck","children","hasHeadings","useSelect","select","getGlobalBlockCount","blockEditorStore"],"sources":["@wordpress/editor/src/components/document-outline/check.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\n\nexport default function DocumentOutlineCheck( { children } ) {\n\tconst hasHeadings = useSelect( ( select ) => {\n\t\tconst { getGlobalBlockCount } = select( blockEditorStore );\n\n\t\treturn getGlobalBlockCount( 'core/heading' ) > 0;\n\t} );\n\n\tif ( hasHeadings ) {\n\t\treturn null;\n\t}\n\n\treturn children;\n}\n"],"mappings":";;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAJA;AACA;AACA;;AAIe,SAASE,oBAAoBA,CAAE;EAAEC;AAAS,CAAC,EAAG;EAC5D,MAAMC,WAAW,GAAG,IAAAC,eAAS,EAAIC,MAAM,IAAM;IAC5C,MAAM;MAAEC;IAAoB,CAAC,GAAGD,MAAM,CAAEE,kBAAiB,CAAC;IAE1D,OAAOD,mBAAmB,CAAE,cAAe,CAAC,GAAG,CAAC;EACjD,CAAE,CAAC;EAEH,IAAKH,WAAW,EAAG;IAClB,OAAO,IAAI;EACZ;EAEA,OAAOD,QAAQ;AAChB","ignoreList":[]}
1
+ {"version":3,"names":["_data","require","_blockEditor","DocumentOutlineCheck","children","hasHeadings","useSelect","select","getGlobalBlockCount","blockEditorStore"],"sources":["@wordpress/editor/src/components/document-outline/check.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\n\n/**\n * Component check if there are any headings (core/heading blocks) present in the document.\n *\n * @param {Object} props Props.\n * @param {Element} props.children Children to be rendered.\n *\n * @return {Component|null} The component to be rendered or null if there are headings.\n */\nexport default function DocumentOutlineCheck( { children } ) {\n\tconst hasHeadings = useSelect( ( select ) => {\n\t\tconst { getGlobalBlockCount } = select( blockEditorStore );\n\n\t\treturn getGlobalBlockCount( 'core/heading' ) > 0;\n\t} );\n\n\tif ( hasHeadings ) {\n\t\treturn null;\n\t}\n\n\treturn children;\n}\n"],"mappings":";;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAJA;AACA;AACA;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACe,SAASE,oBAAoBA,CAAE;EAAEC;AAAS,CAAC,EAAG;EAC5D,MAAMC,WAAW,GAAG,IAAAC,eAAS,EAAIC,MAAM,IAAM;IAC5C,MAAM;MAAEC;IAAoB,CAAC,GAAGD,MAAM,CAAEE,kBAAiB,CAAC;IAE1D,OAAOD,mBAAmB,CAAE,cAAe,CAAC,GAAG,CAAC;EACjD,CAAE,CAAC;EAEH,IAAKH,WAAW,EAAG;IAClB,OAAO,IAAI;EACZ;EAEA,OAAOD,QAAQ;AAChB","ignoreList":[]}
@@ -142,6 +142,17 @@ const computeOutlineHeadings = (blocks = []) => {
142
142
  });
143
143
  };
144
144
  const isEmptyHeading = heading => !heading.attributes.content || heading.attributes.content.trim().length === 0;
145
+
146
+ /**
147
+ * Renders a document outline component.
148
+ *
149
+ * @param {Object} props Props.
150
+ * @param {Function} props.onSelect Function to be called when an outline item is selected.
151
+ * @param {boolean} props.isTitleSupported Indicates whether the title is supported.
152
+ * @param {boolean} props.hasOutlineItemsDisabled Indicates whether the outline items are disabled.
153
+ *
154
+ * @return {Component} The component to be rendered.
155
+ */
145
156
  function DocumentOutline({
146
157
  onSelect,
147
158
  isTitleSupported,
@@ -1 +1 @@
1
- {"version":3,"names":["_i18n","require","_data","_richText","_blockEditor","_coreData","_components","_item","_interopRequireDefault","_store","emptyHeadingContent","_react","createElement","__","incorrectLevelContent","key","singleH1Headings","multipleH1Headings","EmptyOutlineIllustration","SVG","width","height","viewBox","fill","xmlns","Rect","rx","Line","x1","y1","x2","y2","stroke","x","y","Path","d","computeOutlineHeadings","blocks","flatMap","block","name","level","attributes","isEmpty","isEmptyHeading","innerBlocks","heading","content","trim","length","DocumentOutline","onSelect","isTitleSupported","hasOutlineItemsDisabled","selectBlock","useDispatch","blockEditorStore","title","useSelect","select","_postType$supports$ti","getBlocks","getEditedPostAttribute","editorStore","getPostType","coreStore","postType","supports","headings","className","prevHeadingLevel","titleNode","document","querySelector","hasTitle","countByLevel","reduce","acc","hasMultipleH1","default","isValid","href","id","isDisabled","map","item","index","isIncorrectLevel","clientId","getTextContent","create","html"],"sources":["@wordpress/editor/src/components/document-outline/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { create, getTextContent } from '@wordpress/rich-text';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { Path, SVG, Line, Rect } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport DocumentOutlineItem from './item';\nimport { store as editorStore } from '../../store';\n\n/**\n * Module constants\n */\nconst emptyHeadingContent = <em>{ __( '(Empty heading)' ) }</em>;\nconst incorrectLevelContent = [\n\t<br key=\"incorrect-break\" />,\n\t<em key=\"incorrect-message\">{ __( '(Incorrect heading level)' ) }</em>,\n];\nconst singleH1Headings = [\n\t<br key=\"incorrect-break-h1\" />,\n\t<em key=\"incorrect-message-h1\">\n\t\t{ __( '(Your theme may already use a H1 for the post title)' ) }\n\t</em>,\n];\nconst multipleH1Headings = [\n\t<br key=\"incorrect-break-multiple-h1\" />,\n\t<em key=\"incorrect-message-multiple-h1\">\n\t\t{ __( '(Multiple H1 headings are not recommended)' ) }\n\t</em>,\n];\nfunction EmptyOutlineIllustration() {\n\treturn (\n\t\t<SVG\n\t\t\twidth=\"138\"\n\t\t\theight=\"148\"\n\t\t\tviewBox=\"0 0 138 148\"\n\t\t\tfill=\"none\"\n\t\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\t>\n\t\t\t<Rect width=\"138\" height=\"148\" rx=\"4\" fill=\"#F0F6FC\" />\n\t\t\t<Line x1=\"44\" y1=\"28\" x2=\"24\" y2=\"28\" stroke=\"#DDDDDD\" />\n\t\t\t<Rect x=\"48\" y=\"16\" width=\"27\" height=\"23\" rx=\"4\" fill=\"#DDDDDD\" />\n\t\t\t<Path\n\t\t\t\td=\"M54.7585 32V23.2727H56.6037V26.8736H60.3494V23.2727H62.1903V32H60.3494V28.3949H56.6037V32H54.7585ZM67.4574 23.2727V32H65.6122V25.0241H65.5611L63.5625 26.277V24.6406L65.723 23.2727H67.4574Z\"\n\t\t\t\tfill=\"black\"\n\t\t\t/>\n\t\t\t<Line x1=\"55\" y1=\"59\" x2=\"24\" y2=\"59\" stroke=\"#DDDDDD\" />\n\t\t\t<Rect x=\"59\" y=\"47\" width=\"29\" height=\"23\" rx=\"4\" fill=\"#DDDDDD\" />\n\t\t\t<Path\n\t\t\t\td=\"M65.7585 63V54.2727H67.6037V57.8736H71.3494V54.2727H73.1903V63H71.3494V59.3949H67.6037V63H65.7585ZM74.6605 63V61.6705L77.767 58.794C78.0313 58.5384 78.2528 58.3082 78.4318 58.1037C78.6136 57.8991 78.7514 57.6989 78.8452 57.5028C78.9389 57.304 78.9858 57.0895 78.9858 56.8594C78.9858 56.6037 78.9276 56.3835 78.8111 56.1989C78.6946 56.0114 78.5355 55.8679 78.3338 55.7685C78.1321 55.6662 77.9034 55.6151 77.6477 55.6151C77.3807 55.6151 77.1477 55.669 76.9489 55.777C76.75 55.8849 76.5966 56.0398 76.4886 56.2415C76.3807 56.4432 76.3267 56.6832 76.3267 56.9616H74.5753C74.5753 56.3906 74.7045 55.8949 74.9631 55.4744C75.2216 55.054 75.5838 54.7287 76.0497 54.4986C76.5156 54.2685 77.0526 54.1534 77.6605 54.1534C78.2855 54.1534 78.8295 54.2642 79.2926 54.4858C79.7585 54.7045 80.1207 55.0085 80.3793 55.3977C80.6378 55.7869 80.767 56.233 80.767 56.7358C80.767 57.0653 80.7017 57.3906 80.571 57.7116C80.4432 58.0327 80.2145 58.3892 79.8849 58.7812C79.5554 59.1705 79.0909 59.6378 78.4915 60.1832L77.2173 61.4318V61.4915H80.8821V63H74.6605Z\"\n\t\t\t\tfill=\"black\"\n\t\t\t/>\n\t\t\t<Line x1=\"80\" y1=\"90\" x2=\"24\" y2=\"90\" stroke=\"#DDDDDD\" />\n\t\t\t<Rect x=\"84\" y=\"78\" width=\"30\" height=\"23\" rx=\"4\" fill=\"#F0B849\" />\n\t\t\t<Path\n\t\t\t\td=\"M90.7585 94V85.2727H92.6037V88.8736H96.3494V85.2727H98.1903V94H96.3494V90.3949H92.6037V94H90.7585ZM99.5284 92.4659V91.0128L103.172 85.2727H104.425V87.2841H103.683L101.386 90.919V90.9872H106.564V92.4659H99.5284ZM103.717 94V92.0227L103.751 91.3793V85.2727H105.482V94H103.717Z\"\n\t\t\t\tfill=\"black\"\n\t\t\t/>\n\t\t\t<Line x1=\"66\" y1=\"121\" x2=\"24\" y2=\"121\" stroke=\"#DDDDDD\" />\n\t\t\t<Rect x=\"70\" y=\"109\" width=\"29\" height=\"23\" rx=\"4\" fill=\"#DDDDDD\" />\n\t\t\t<Path\n\t\t\t\td=\"M76.7585 125V116.273H78.6037V119.874H82.3494V116.273H84.1903V125H82.3494V121.395H78.6037V125H76.7585ZM88.8864 125.119C88.25 125.119 87.6832 125.01 87.1861 124.791C86.6918 124.57 86.3011 124.266 86.0142 123.879C85.7301 123.49 85.5838 123.041 85.5753 122.533H87.4332C87.4446 122.746 87.5142 122.933 87.642 123.095C87.7727 123.254 87.946 123.378 88.1619 123.466C88.3778 123.554 88.6207 123.598 88.8906 123.598C89.1719 123.598 89.4205 123.548 89.6364 123.449C89.8523 123.349 90.0213 123.212 90.1435 123.036C90.2656 122.859 90.3267 122.656 90.3267 122.426C90.3267 122.193 90.2614 121.987 90.1307 121.808C90.0028 121.626 89.8182 121.484 89.5767 121.382C89.3381 121.28 89.054 121.229 88.7244 121.229H87.9105V119.874H88.7244C89.0028 119.874 89.2486 119.825 89.4616 119.729C89.6776 119.632 89.8452 119.499 89.9645 119.328C90.0838 119.155 90.1435 118.953 90.1435 118.723C90.1435 118.504 90.0909 118.312 89.9858 118.148C89.8835 117.98 89.7386 117.849 89.5511 117.756C89.3665 117.662 89.1506 117.615 88.9034 117.615C88.6534 117.615 88.4247 117.661 88.2173 117.751C88.0099 117.839 87.8438 117.966 87.7188 118.131C87.5938 118.295 87.527 118.489 87.5185 118.71H85.75C85.7585 118.207 85.902 117.764 86.1804 117.381C86.4588 116.997 86.8338 116.697 87.3054 116.482C87.7798 116.263 88.3153 116.153 88.9119 116.153C89.5142 116.153 90.0412 116.263 90.4929 116.482C90.9446 116.7 91.2955 116.996 91.5455 117.368C91.7983 117.737 91.9233 118.152 91.9205 118.612C91.9233 119.101 91.7713 119.509 91.4645 119.835C91.1605 120.162 90.7642 120.369 90.2756 120.457V120.526C90.9176 120.608 91.4063 120.831 91.7415 121.195C92.0795 121.555 92.2472 122.007 92.2443 122.55C92.2472 123.047 92.1037 123.489 91.8139 123.875C91.527 124.261 91.1307 124.565 90.625 124.787C90.1193 125.009 89.5398 125.119 88.8864 125.119Z\"\n\t\t\t\tfill=\"black\"\n\t\t\t/>\n\t\t</SVG>\n\t);\n}\n\n/**\n * Returns an array of heading blocks enhanced with the following properties:\n * level - An integer with the heading level.\n * isEmpty - Flag indicating if the heading has no content.\n *\n * @param {?Array} blocks An array of blocks.\n *\n * @return {Array} An array of heading blocks enhanced with the properties described above.\n */\nconst computeOutlineHeadings = ( blocks = [] ) => {\n\treturn blocks.flatMap( ( block = {} ) => {\n\t\tif ( block.name === 'core/heading' ) {\n\t\t\treturn {\n\t\t\t\t...block,\n\t\t\t\tlevel: block.attributes.level,\n\t\t\t\tisEmpty: isEmptyHeading( block ),\n\t\t\t};\n\t\t}\n\t\treturn computeOutlineHeadings( block.innerBlocks );\n\t} );\n};\n\nconst isEmptyHeading = ( heading ) =>\n\t! heading.attributes.content ||\n\theading.attributes.content.trim().length === 0;\n\nexport default function DocumentOutline( {\n\tonSelect,\n\tisTitleSupported,\n\thasOutlineItemsDisabled,\n} ) {\n\tconst { selectBlock } = useDispatch( blockEditorStore );\n\tconst { blocks, title } = useSelect( ( select ) => {\n\t\tconst { getBlocks } = select( blockEditorStore );\n\t\tconst { getEditedPostAttribute } = select( editorStore );\n\t\tconst { getPostType } = select( coreStore );\n\t\tconst postType = getPostType( getEditedPostAttribute( 'type' ) );\n\n\t\treturn {\n\t\t\ttitle: getEditedPostAttribute( 'title' ),\n\t\t\tblocks: getBlocks(),\n\t\t\tisTitleSupported: postType?.supports?.title ?? false,\n\t\t};\n\t} );\n\n\tconst headings = computeOutlineHeadings( blocks );\n\tif ( headings.length < 1 ) {\n\t\treturn (\n\t\t\t<div className=\"editor-document-outline has-no-headings\">\n\t\t\t\t<EmptyOutlineIllustration />\n\t\t\t\t<p>\n\t\t\t\t\t{ __(\n\t\t\t\t\t\t'Navigate the structure of your document and address issues like empty or incorrect heading levels.'\n\t\t\t\t\t) }\n\t\t\t\t</p>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tlet prevHeadingLevel = 1;\n\n\t// Not great but it's the simplest way to locate the title right now.\n\tconst titleNode = document.querySelector( '.editor-post-title__input' );\n\tconst hasTitle = isTitleSupported && title && titleNode;\n\tconst countByLevel = headings.reduce(\n\t\t( acc, heading ) => ( {\n\t\t\t...acc,\n\t\t\t[ heading.level ]: ( acc[ heading.level ] || 0 ) + 1,\n\t\t} ),\n\t\t{}\n\t);\n\tconst hasMultipleH1 = countByLevel[ 1 ] > 1;\n\n\treturn (\n\t\t<div className=\"document-outline\">\n\t\t\t<ul>\n\t\t\t\t{ hasTitle && (\n\t\t\t\t\t<DocumentOutlineItem\n\t\t\t\t\t\tlevel={ __( 'Title' ) }\n\t\t\t\t\t\tisValid\n\t\t\t\t\t\tonSelect={ onSelect }\n\t\t\t\t\t\thref={ `#${ titleNode.id }` }\n\t\t\t\t\t\tisDisabled={ hasOutlineItemsDisabled }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ title }\n\t\t\t\t\t</DocumentOutlineItem>\n\t\t\t\t) }\n\t\t\t\t{ headings.map( ( item, index ) => {\n\t\t\t\t\t// Headings remain the same, go up by one, or down by any amount.\n\t\t\t\t\t// Otherwise there are missing levels.\n\t\t\t\t\tconst isIncorrectLevel = item.level > prevHeadingLevel + 1;\n\n\t\t\t\t\tconst isValid =\n\t\t\t\t\t\t! item.isEmpty &&\n\t\t\t\t\t\t! isIncorrectLevel &&\n\t\t\t\t\t\t!! item.level &&\n\t\t\t\t\t\t( item.level !== 1 ||\n\t\t\t\t\t\t\t( ! hasMultipleH1 && ! hasTitle ) );\n\t\t\t\t\tprevHeadingLevel = item.level;\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<DocumentOutlineItem\n\t\t\t\t\t\t\tkey={ index }\n\t\t\t\t\t\t\tlevel={ `H${ item.level }` }\n\t\t\t\t\t\t\tisValid={ isValid }\n\t\t\t\t\t\t\tisDisabled={ hasOutlineItemsDisabled }\n\t\t\t\t\t\t\thref={ `#block-${ item.clientId }` }\n\t\t\t\t\t\t\tonSelect={ () => {\n\t\t\t\t\t\t\t\tselectBlock( item.clientId );\n\t\t\t\t\t\t\t\tonSelect?.();\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ item.isEmpty\n\t\t\t\t\t\t\t\t? emptyHeadingContent\n\t\t\t\t\t\t\t\t: getTextContent(\n\t\t\t\t\t\t\t\t\t\tcreate( {\n\t\t\t\t\t\t\t\t\t\t\thtml: item.attributes.content,\n\t\t\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\t ) }\n\t\t\t\t\t\t\t{ isIncorrectLevel && incorrectLevelContent }\n\t\t\t\t\t\t\t{ item.level === 1 &&\n\t\t\t\t\t\t\t\thasMultipleH1 &&\n\t\t\t\t\t\t\t\tmultipleH1Headings }\n\t\t\t\t\t\t\t{ hasTitle &&\n\t\t\t\t\t\t\t\titem.level === 1 &&\n\t\t\t\t\t\t\t\t! hasMultipleH1 &&\n\t\t\t\t\t\t\t\tsingleH1Headings }\n\t\t\t\t\t\t</DocumentOutlineItem>\n\t\t\t\t\t);\n\t\t\t\t} ) }\n\t\t\t</ul>\n\t\t</div>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_i18n","require","_data","_richText","_blockEditor","_coreData","_components","_item","_interopRequireDefault","_store","emptyHeadingContent","_react","createElement","__","incorrectLevelContent","key","singleH1Headings","multipleH1Headings","EmptyOutlineIllustration","SVG","width","height","viewBox","fill","xmlns","Rect","rx","Line","x1","y1","x2","y2","stroke","x","y","Path","d","computeOutlineHeadings","blocks","flatMap","block","name","level","attributes","isEmpty","isEmptyHeading","innerBlocks","heading","content","trim","length","DocumentOutline","onSelect","isTitleSupported","hasOutlineItemsDisabled","selectBlock","useDispatch","blockEditorStore","title","useSelect","select","_postType$supports$ti","getBlocks","getEditedPostAttribute","editorStore","getPostType","coreStore","postType","supports","headings","className","prevHeadingLevel","titleNode","document","querySelector","hasTitle","countByLevel","reduce","acc","hasMultipleH1","default","isValid","href","id","isDisabled","map","item","index","isIncorrectLevel","clientId","getTextContent","create","html"],"sources":["@wordpress/editor/src/components/document-outline/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { create, getTextContent } from '@wordpress/rich-text';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { Path, SVG, Line, Rect } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport DocumentOutlineItem from './item';\nimport { store as editorStore } from '../../store';\n\n/**\n * Module constants\n */\nconst emptyHeadingContent = <em>{ __( '(Empty heading)' ) }</em>;\nconst incorrectLevelContent = [\n\t<br key=\"incorrect-break\" />,\n\t<em key=\"incorrect-message\">{ __( '(Incorrect heading level)' ) }</em>,\n];\nconst singleH1Headings = [\n\t<br key=\"incorrect-break-h1\" />,\n\t<em key=\"incorrect-message-h1\">\n\t\t{ __( '(Your theme may already use a H1 for the post title)' ) }\n\t</em>,\n];\nconst multipleH1Headings = [\n\t<br key=\"incorrect-break-multiple-h1\" />,\n\t<em key=\"incorrect-message-multiple-h1\">\n\t\t{ __( '(Multiple H1 headings are not recommended)' ) }\n\t</em>,\n];\nfunction EmptyOutlineIllustration() {\n\treturn (\n\t\t<SVG\n\t\t\twidth=\"138\"\n\t\t\theight=\"148\"\n\t\t\tviewBox=\"0 0 138 148\"\n\t\t\tfill=\"none\"\n\t\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\t>\n\t\t\t<Rect width=\"138\" height=\"148\" rx=\"4\" fill=\"#F0F6FC\" />\n\t\t\t<Line x1=\"44\" y1=\"28\" x2=\"24\" y2=\"28\" stroke=\"#DDDDDD\" />\n\t\t\t<Rect x=\"48\" y=\"16\" width=\"27\" height=\"23\" rx=\"4\" fill=\"#DDDDDD\" />\n\t\t\t<Path\n\t\t\t\td=\"M54.7585 32V23.2727H56.6037V26.8736H60.3494V23.2727H62.1903V32H60.3494V28.3949H56.6037V32H54.7585ZM67.4574 23.2727V32H65.6122V25.0241H65.5611L63.5625 26.277V24.6406L65.723 23.2727H67.4574Z\"\n\t\t\t\tfill=\"black\"\n\t\t\t/>\n\t\t\t<Line x1=\"55\" y1=\"59\" x2=\"24\" y2=\"59\" stroke=\"#DDDDDD\" />\n\t\t\t<Rect x=\"59\" y=\"47\" width=\"29\" height=\"23\" rx=\"4\" fill=\"#DDDDDD\" />\n\t\t\t<Path\n\t\t\t\td=\"M65.7585 63V54.2727H67.6037V57.8736H71.3494V54.2727H73.1903V63H71.3494V59.3949H67.6037V63H65.7585ZM74.6605 63V61.6705L77.767 58.794C78.0313 58.5384 78.2528 58.3082 78.4318 58.1037C78.6136 57.8991 78.7514 57.6989 78.8452 57.5028C78.9389 57.304 78.9858 57.0895 78.9858 56.8594C78.9858 56.6037 78.9276 56.3835 78.8111 56.1989C78.6946 56.0114 78.5355 55.8679 78.3338 55.7685C78.1321 55.6662 77.9034 55.6151 77.6477 55.6151C77.3807 55.6151 77.1477 55.669 76.9489 55.777C76.75 55.8849 76.5966 56.0398 76.4886 56.2415C76.3807 56.4432 76.3267 56.6832 76.3267 56.9616H74.5753C74.5753 56.3906 74.7045 55.8949 74.9631 55.4744C75.2216 55.054 75.5838 54.7287 76.0497 54.4986C76.5156 54.2685 77.0526 54.1534 77.6605 54.1534C78.2855 54.1534 78.8295 54.2642 79.2926 54.4858C79.7585 54.7045 80.1207 55.0085 80.3793 55.3977C80.6378 55.7869 80.767 56.233 80.767 56.7358C80.767 57.0653 80.7017 57.3906 80.571 57.7116C80.4432 58.0327 80.2145 58.3892 79.8849 58.7812C79.5554 59.1705 79.0909 59.6378 78.4915 60.1832L77.2173 61.4318V61.4915H80.8821V63H74.6605Z\"\n\t\t\t\tfill=\"black\"\n\t\t\t/>\n\t\t\t<Line x1=\"80\" y1=\"90\" x2=\"24\" y2=\"90\" stroke=\"#DDDDDD\" />\n\t\t\t<Rect x=\"84\" y=\"78\" width=\"30\" height=\"23\" rx=\"4\" fill=\"#F0B849\" />\n\t\t\t<Path\n\t\t\t\td=\"M90.7585 94V85.2727H92.6037V88.8736H96.3494V85.2727H98.1903V94H96.3494V90.3949H92.6037V94H90.7585ZM99.5284 92.4659V91.0128L103.172 85.2727H104.425V87.2841H103.683L101.386 90.919V90.9872H106.564V92.4659H99.5284ZM103.717 94V92.0227L103.751 91.3793V85.2727H105.482V94H103.717Z\"\n\t\t\t\tfill=\"black\"\n\t\t\t/>\n\t\t\t<Line x1=\"66\" y1=\"121\" x2=\"24\" y2=\"121\" stroke=\"#DDDDDD\" />\n\t\t\t<Rect x=\"70\" y=\"109\" width=\"29\" height=\"23\" rx=\"4\" fill=\"#DDDDDD\" />\n\t\t\t<Path\n\t\t\t\td=\"M76.7585 125V116.273H78.6037V119.874H82.3494V116.273H84.1903V125H82.3494V121.395H78.6037V125H76.7585ZM88.8864 125.119C88.25 125.119 87.6832 125.01 87.1861 124.791C86.6918 124.57 86.3011 124.266 86.0142 123.879C85.7301 123.49 85.5838 123.041 85.5753 122.533H87.4332C87.4446 122.746 87.5142 122.933 87.642 123.095C87.7727 123.254 87.946 123.378 88.1619 123.466C88.3778 123.554 88.6207 123.598 88.8906 123.598C89.1719 123.598 89.4205 123.548 89.6364 123.449C89.8523 123.349 90.0213 123.212 90.1435 123.036C90.2656 122.859 90.3267 122.656 90.3267 122.426C90.3267 122.193 90.2614 121.987 90.1307 121.808C90.0028 121.626 89.8182 121.484 89.5767 121.382C89.3381 121.28 89.054 121.229 88.7244 121.229H87.9105V119.874H88.7244C89.0028 119.874 89.2486 119.825 89.4616 119.729C89.6776 119.632 89.8452 119.499 89.9645 119.328C90.0838 119.155 90.1435 118.953 90.1435 118.723C90.1435 118.504 90.0909 118.312 89.9858 118.148C89.8835 117.98 89.7386 117.849 89.5511 117.756C89.3665 117.662 89.1506 117.615 88.9034 117.615C88.6534 117.615 88.4247 117.661 88.2173 117.751C88.0099 117.839 87.8438 117.966 87.7188 118.131C87.5938 118.295 87.527 118.489 87.5185 118.71H85.75C85.7585 118.207 85.902 117.764 86.1804 117.381C86.4588 116.997 86.8338 116.697 87.3054 116.482C87.7798 116.263 88.3153 116.153 88.9119 116.153C89.5142 116.153 90.0412 116.263 90.4929 116.482C90.9446 116.7 91.2955 116.996 91.5455 117.368C91.7983 117.737 91.9233 118.152 91.9205 118.612C91.9233 119.101 91.7713 119.509 91.4645 119.835C91.1605 120.162 90.7642 120.369 90.2756 120.457V120.526C90.9176 120.608 91.4063 120.831 91.7415 121.195C92.0795 121.555 92.2472 122.007 92.2443 122.55C92.2472 123.047 92.1037 123.489 91.8139 123.875C91.527 124.261 91.1307 124.565 90.625 124.787C90.1193 125.009 89.5398 125.119 88.8864 125.119Z\"\n\t\t\t\tfill=\"black\"\n\t\t\t/>\n\t\t</SVG>\n\t);\n}\n\n/**\n * Returns an array of heading blocks enhanced with the following properties:\n * level - An integer with the heading level.\n * isEmpty - Flag indicating if the heading has no content.\n *\n * @param {?Array} blocks An array of blocks.\n *\n * @return {Array} An array of heading blocks enhanced with the properties described above.\n */\nconst computeOutlineHeadings = ( blocks = [] ) => {\n\treturn blocks.flatMap( ( block = {} ) => {\n\t\tif ( block.name === 'core/heading' ) {\n\t\t\treturn {\n\t\t\t\t...block,\n\t\t\t\tlevel: block.attributes.level,\n\t\t\t\tisEmpty: isEmptyHeading( block ),\n\t\t\t};\n\t\t}\n\t\treturn computeOutlineHeadings( block.innerBlocks );\n\t} );\n};\n\nconst isEmptyHeading = ( heading ) =>\n\t! heading.attributes.content ||\n\theading.attributes.content.trim().length === 0;\n\n/**\n * Renders a document outline component.\n *\n * @param {Object} props Props.\n * @param {Function} props.onSelect Function to be called when an outline item is selected.\n * @param {boolean} props.isTitleSupported Indicates whether the title is supported.\n * @param {boolean} props.hasOutlineItemsDisabled Indicates whether the outline items are disabled.\n *\n * @return {Component} The component to be rendered.\n */\nexport default function DocumentOutline( {\n\tonSelect,\n\tisTitleSupported,\n\thasOutlineItemsDisabled,\n} ) {\n\tconst { selectBlock } = useDispatch( blockEditorStore );\n\tconst { blocks, title } = useSelect( ( select ) => {\n\t\tconst { getBlocks } = select( blockEditorStore );\n\t\tconst { getEditedPostAttribute } = select( editorStore );\n\t\tconst { getPostType } = select( coreStore );\n\t\tconst postType = getPostType( getEditedPostAttribute( 'type' ) );\n\n\t\treturn {\n\t\t\ttitle: getEditedPostAttribute( 'title' ),\n\t\t\tblocks: getBlocks(),\n\t\t\tisTitleSupported: postType?.supports?.title ?? false,\n\t\t};\n\t} );\n\n\tconst headings = computeOutlineHeadings( blocks );\n\tif ( headings.length < 1 ) {\n\t\treturn (\n\t\t\t<div className=\"editor-document-outline has-no-headings\">\n\t\t\t\t<EmptyOutlineIllustration />\n\t\t\t\t<p>\n\t\t\t\t\t{ __(\n\t\t\t\t\t\t'Navigate the structure of your document and address issues like empty or incorrect heading levels.'\n\t\t\t\t\t) }\n\t\t\t\t</p>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tlet prevHeadingLevel = 1;\n\n\t// Not great but it's the simplest way to locate the title right now.\n\tconst titleNode = document.querySelector( '.editor-post-title__input' );\n\tconst hasTitle = isTitleSupported && title && titleNode;\n\tconst countByLevel = headings.reduce(\n\t\t( acc, heading ) => ( {\n\t\t\t...acc,\n\t\t\t[ heading.level ]: ( acc[ heading.level ] || 0 ) + 1,\n\t\t} ),\n\t\t{}\n\t);\n\tconst hasMultipleH1 = countByLevel[ 1 ] > 1;\n\n\treturn (\n\t\t<div className=\"document-outline\">\n\t\t\t<ul>\n\t\t\t\t{ hasTitle && (\n\t\t\t\t\t<DocumentOutlineItem\n\t\t\t\t\t\tlevel={ __( 'Title' ) }\n\t\t\t\t\t\tisValid\n\t\t\t\t\t\tonSelect={ onSelect }\n\t\t\t\t\t\thref={ `#${ titleNode.id }` }\n\t\t\t\t\t\tisDisabled={ hasOutlineItemsDisabled }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ title }\n\t\t\t\t\t</DocumentOutlineItem>\n\t\t\t\t) }\n\t\t\t\t{ headings.map( ( item, index ) => {\n\t\t\t\t\t// Headings remain the same, go up by one, or down by any amount.\n\t\t\t\t\t// Otherwise there are missing levels.\n\t\t\t\t\tconst isIncorrectLevel = item.level > prevHeadingLevel + 1;\n\n\t\t\t\t\tconst isValid =\n\t\t\t\t\t\t! item.isEmpty &&\n\t\t\t\t\t\t! isIncorrectLevel &&\n\t\t\t\t\t\t!! item.level &&\n\t\t\t\t\t\t( item.level !== 1 ||\n\t\t\t\t\t\t\t( ! hasMultipleH1 && ! hasTitle ) );\n\t\t\t\t\tprevHeadingLevel = item.level;\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<DocumentOutlineItem\n\t\t\t\t\t\t\tkey={ index }\n\t\t\t\t\t\t\tlevel={ `H${ item.level }` }\n\t\t\t\t\t\t\tisValid={ isValid }\n\t\t\t\t\t\t\tisDisabled={ hasOutlineItemsDisabled }\n\t\t\t\t\t\t\thref={ `#block-${ item.clientId }` }\n\t\t\t\t\t\t\tonSelect={ () => {\n\t\t\t\t\t\t\t\tselectBlock( item.clientId );\n\t\t\t\t\t\t\t\tonSelect?.();\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ item.isEmpty\n\t\t\t\t\t\t\t\t? emptyHeadingContent\n\t\t\t\t\t\t\t\t: getTextContent(\n\t\t\t\t\t\t\t\t\t\tcreate( {\n\t\t\t\t\t\t\t\t\t\t\thtml: item.attributes.content,\n\t\t\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\t ) }\n\t\t\t\t\t\t\t{ isIncorrectLevel && incorrectLevelContent }\n\t\t\t\t\t\t\t{ item.level === 1 &&\n\t\t\t\t\t\t\t\thasMultipleH1 &&\n\t\t\t\t\t\t\t\tmultipleH1Headings }\n\t\t\t\t\t\t\t{ hasTitle &&\n\t\t\t\t\t\t\t\titem.level === 1 &&\n\t\t\t\t\t\t\t\t! hasMultipleH1 &&\n\t\t\t\t\t\t\t\tsingleH1Headings }\n\t\t\t\t\t\t</DocumentOutlineItem>\n\t\t\t\t\t);\n\t\t\t\t} ) }\n\t\t\t</ul>\n\t\t</div>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
@@ -32,9 +32,6 @@ var _undo = _interopRequireDefault(require("../editor-history/undo"));
32
32
  * Internal dependencies
33
33
  */
34
34
 
35
- const {
36
- useShowBlockTools
37
- } = (0, _lockUnlock.unlock)(_blockEditor.privateApis);
38
35
  const preventDefault = event => {
39
36
  event.preventDefault();
40
37
  };
@@ -84,9 +81,6 @@ function DocumentTools({
84
81
  }, []);
85
82
  const isLargeViewport = (0, _compose.useViewportMatch)('medium');
86
83
  const isWideViewport = (0, _compose.useViewportMatch)('wide');
87
- const {
88
- showFixedToolbar
89
- } = useShowBlockTools();
90
84
 
91
85
  /* translators: accessibility text for the editor toolbar */
92
86
  const toolbarAriaLabel = (0, _i18n.__)('Document tools');
@@ -114,7 +108,6 @@ function DocumentTools({
114
108
  (0, _react.createElement)(_blockEditor.NavigableToolbar, {
115
109
  className: (0, _classnames.default)('editor-document-tools', 'edit-post-header-toolbar', className),
116
110
  "aria-label": toolbarAriaLabel,
117
- shouldUseKeyboardFocusShortcut: !showFixedToolbar,
118
111
  variant: "unstyled"
119
112
  }, (0, _react.createElement)("div", {
120
113
  className: "editor-document-tools__left"