@wordpress/block-editor 14.0.0 → 14.2.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 (807) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/README.md +10 -24
  3. package/build/autocompleters/block.js +1 -1
  4. package/build/autocompleters/block.js.map +1 -1
  5. package/build/components/block-alignment-matrix-control/index.js +2 -2
  6. package/build/components/block-alignment-matrix-control/index.js.map +1 -1
  7. package/build/components/block-breadcrumb/index.js +8 -2
  8. package/build/components/block-breadcrumb/index.js.map +1 -1
  9. package/build/components/block-canvas/index.js +8 -1
  10. package/build/components/block-canvas/index.js.map +1 -1
  11. package/build/components/block-compare/block-view.js +4 -1
  12. package/build/components/block-compare/block-view.js.map +1 -1
  13. package/build/components/block-draggable/index.js +4 -4
  14. package/build/components/block-draggable/index.js.map +1 -1
  15. package/build/components/block-draggable/use-scroll-when-dragging.js +25 -25
  16. package/build/components/block-draggable/use-scroll-when-dragging.js.map +1 -1
  17. package/build/components/block-edit/multiple-usage-warning.js +8 -2
  18. package/build/components/block-edit/multiple-usage-warning.js.map +1 -1
  19. package/build/components/block-inspector/index.js +27 -9
  20. package/build/components/block-inspector/index.js.map +1 -1
  21. package/build/components/block-list/block-invalid-warning.js +6 -3
  22. package/build/components/block-list/block-invalid-warning.js.map +1 -1
  23. package/build/components/block-list/block.js +5 -1
  24. package/build/components/block-list/block.js.map +1 -1
  25. package/build/components/block-list/use-block-props/index.js +7 -3
  26. package/build/components/block-list/use-block-props/index.js.map +1 -1
  27. package/build/components/block-list/use-block-props/use-focus-first-element.js +1 -0
  28. package/build/components/block-list/use-block-props/use-focus-first-element.js.map +1 -1
  29. package/build/components/block-list/use-block-props/use-zoom-out-mode-exit.js +46 -0
  30. package/build/components/block-list/use-block-props/use-zoom-out-mode-exit.js.map +1 -0
  31. package/build/components/block-list/use-in-between-inserter.js +11 -4
  32. package/build/components/block-list/use-in-between-inserter.js.map +1 -1
  33. package/build/components/block-lock/toolbar.js +3 -3
  34. package/build/components/block-lock/toolbar.js.map +1 -1
  35. package/build/components/block-mover/button.js +4 -1
  36. package/build/components/block-mover/button.js.map +1 -1
  37. package/build/components/block-mover/index.js +4 -1
  38. package/build/components/block-mover/index.js.map +1 -1
  39. package/build/components/block-navigation/dropdown.js +4 -1
  40. package/build/components/block-navigation/dropdown.js.map +1 -1
  41. package/build/components/block-pattern-setup/index.js +1 -4
  42. package/build/components/block-pattern-setup/index.js.map +1 -1
  43. package/build/components/block-pattern-setup/setup-toolbar.js +22 -7
  44. package/build/components/block-pattern-setup/setup-toolbar.js.map +1 -1
  45. package/build/components/block-patterns-list/index.js +11 -14
  46. package/build/components/block-patterns-list/index.js.map +1 -1
  47. package/build/components/block-patterns-paging/index.js +12 -3
  48. package/build/components/block-patterns-paging/index.js.map +1 -1
  49. package/build/components/block-popover/index.js +2 -15
  50. package/build/components/block-popover/index.js.map +1 -1
  51. package/build/components/block-quick-navigation/index.js +4 -1
  52. package/build/components/block-quick-navigation/index.js.map +1 -1
  53. package/build/components/block-settings-menu/block-mode-toggle.js +28 -34
  54. package/build/components/block-settings-menu/block-mode-toggle.js.map +1 -1
  55. package/build/components/block-settings-menu-controls/index.js +4 -0
  56. package/build/components/block-settings-menu-controls/index.js.map +1 -1
  57. package/build/components/block-switcher/index.js +22 -17
  58. package/build/components/block-switcher/index.js.map +1 -1
  59. package/build/components/block-switcher/pattern-transformations-menu.js +1 -4
  60. package/build/components/block-switcher/pattern-transformations-menu.js.map +1 -1
  61. package/build/components/block-toolbar/index.js +12 -11
  62. package/build/components/block-toolbar/index.js.map +1 -1
  63. package/build/components/block-toolbar/shuffle.js +6 -2
  64. package/build/components/block-toolbar/shuffle.js.map +1 -1
  65. package/build/components/block-tools/block-selection-button.js +8 -2
  66. package/build/components/block-tools/block-selection-button.js.map +1 -1
  67. package/build/components/block-tools/block-toolbar-popover.js +10 -6
  68. package/build/components/block-tools/block-toolbar-popover.js.map +1 -1
  69. package/build/components/block-tools/insertion-point.js +14 -3
  70. package/build/components/block-tools/insertion-point.js.map +1 -1
  71. package/build/components/block-tools/use-block-toolbar-popover-props.js +2 -1
  72. package/build/components/block-tools/use-block-toolbar-popover-props.js.map +1 -1
  73. package/build/components/block-tools/use-show-block-tools.js +2 -1
  74. package/build/components/block-tools/use-show-block-tools.js.map +1 -1
  75. package/build/components/block-tools/zoom-out-mode-inserters.js +4 -5
  76. package/build/components/block-tools/zoom-out-mode-inserters.js.map +1 -1
  77. package/build/components/block-tools/zoom-out-popover.js +3 -4
  78. package/build/components/block-tools/zoom-out-popover.js.map +1 -1
  79. package/build/components/block-tools/zoom-out-toolbar.js +14 -5
  80. package/build/components/block-tools/zoom-out-toolbar.js.map +1 -1
  81. package/build/components/block-variation-picker/index.js +4 -1
  82. package/build/components/block-variation-picker/index.js.map +1 -1
  83. package/build/components/block-variation-transforms/index.js +4 -1
  84. package/build/components/block-variation-transforms/index.js.map +1 -1
  85. package/build/components/border-radius-control/index.js +1 -0
  86. package/build/components/border-radius-control/index.js.map +1 -1
  87. package/build/components/button-block-appender/index.js +14 -3
  88. package/build/components/button-block-appender/index.js.map +1 -1
  89. package/build/components/colors-gradients/dropdown.js +4 -1
  90. package/build/components/colors-gradients/dropdown.js.map +1 -1
  91. package/build/components/content-lock/index.js +13 -0
  92. package/build/components/content-lock/index.js.map +1 -0
  93. package/build/components/content-lock/modify-content-lock-menu-item.js +64 -0
  94. package/build/components/content-lock/modify-content-lock-menu-item.js.map +1 -0
  95. package/build/components/convert-to-group-buttons/index.js +1 -1
  96. package/build/components/convert-to-group-buttons/index.js.map +1 -1
  97. package/build/components/date-format-picker/index.js +2 -0
  98. package/build/components/date-format-picker/index.js.map +1 -1
  99. package/build/components/editor-styles/index.js +4 -3
  100. package/build/components/editor-styles/index.js.map +1 -1
  101. package/build/components/font-appearance-control/index.js +3 -0
  102. package/build/components/font-appearance-control/index.js.map +1 -1
  103. package/build/components/font-family/index.js +3 -0
  104. package/build/components/font-family/index.js.map +1 -1
  105. package/build/components/global-styles/background-panel.js +118 -50
  106. package/build/components/global-styles/background-panel.js.map +1 -1
  107. package/build/components/global-styles/color-panel.js +8 -5
  108. package/build/components/global-styles/color-panel.js.map +1 -1
  109. package/build/components/global-styles/color-panel.native.js +1 -1
  110. package/build/components/global-styles/color-panel.native.js.map +1 -1
  111. package/build/components/global-styles/dimensions-panel.js +34 -37
  112. package/build/components/global-styles/dimensions-panel.js.map +1 -1
  113. package/build/components/global-styles/filters-panel.js +4 -1
  114. package/build/components/global-styles/filters-panel.js.map +1 -1
  115. package/build/components/global-styles/get-global-styles-changes.js +3 -1
  116. package/build/components/global-styles/get-global-styles-changes.js.map +1 -1
  117. package/build/components/global-styles/hooks.js +0 -7
  118. package/build/components/global-styles/hooks.js.map +1 -1
  119. package/build/components/global-styles/index.js +0 -6
  120. package/build/components/global-styles/index.js.map +1 -1
  121. package/build/components/global-styles/shadow-panel-components.js +13 -7
  122. package/build/components/global-styles/shadow-panel-components.js.map +1 -1
  123. package/build/components/global-styles/typography-utils.js +17 -6
  124. package/build/components/global-styles/typography-utils.js.map +1 -1
  125. package/build/components/global-styles/use-global-styles-output.js +3 -3
  126. package/build/components/global-styles/use-global-styles-output.js.map +1 -1
  127. package/build/components/global-styles/utils.js +11 -29
  128. package/build/components/global-styles/utils.js.map +1 -1
  129. package/build/components/grid/grid-item-movers.js +2 -2
  130. package/build/components/grid/grid-item-movers.js.map +1 -1
  131. package/build/components/grid/grid-visualizer.js +20 -5
  132. package/build/components/grid/grid-visualizer.js.map +1 -1
  133. package/build/components/height-control/index.js +1 -0
  134. package/build/components/height-control/index.js.map +1 -1
  135. package/build/components/iframe/index.js +8 -6
  136. package/build/components/iframe/index.js.map +1 -1
  137. package/build/components/image-editor/zoom-dropdown.js +11 -7
  138. package/build/components/image-editor/zoom-dropdown.js.map +1 -1
  139. package/build/components/inner-blocks/button-block-appender.js +8 -8
  140. package/build/components/inner-blocks/button-block-appender.js.map +1 -1
  141. package/build/components/inner-blocks/default-block-appender.js +7 -25
  142. package/build/components/inner-blocks/default-block-appender.js.map +1 -1
  143. package/build/components/inner-blocks/index.js +8 -12
  144. package/build/components/inner-blocks/index.js.map +1 -1
  145. package/build/components/inner-blocks/use-inner-block-template-sync.js +3 -3
  146. package/build/components/inner-blocks/use-inner-block-template-sync.js.map +1 -1
  147. package/build/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.js +4 -1
  148. package/build/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.js.map +1 -1
  149. package/build/components/inserter/block-patterns-tab/index.js +4 -1
  150. package/build/components/inserter/block-patterns-tab/index.js.map +1 -1
  151. package/build/components/inserter/media-tab/hooks.js +3 -3
  152. package/build/components/inserter/media-tab/hooks.js.map +1 -1
  153. package/build/components/inserter/media-tab/media-list.js +1 -4
  154. package/build/components/inserter/media-tab/media-list.js.map +1 -1
  155. package/build/components/inserter/media-tab/media-preview.js +8 -2
  156. package/build/components/inserter/media-tab/media-preview.js.map +1 -1
  157. package/build/components/inserter/media-tab/media-tab.js +4 -1
  158. package/build/components/inserter/media-tab/media-tab.js.map +1 -1
  159. package/build/components/inserter/menu.js +14 -13
  160. package/build/components/inserter/menu.js.map +1 -1
  161. package/build/components/inserter/quick-inserter.js +8 -1
  162. package/build/components/inserter/quick-inserter.js.map +1 -1
  163. package/build/components/inserter-list-item/index.js +4 -4
  164. package/build/components/inserter-list-item/index.js.map +1 -1
  165. package/build/components/inserter-listbox/index.js +3 -7
  166. package/build/components/inserter-listbox/index.js.map +1 -1
  167. package/build/components/inserter-listbox/item.js +4 -1
  168. package/build/components/inserter-listbox/item.js.map +1 -1
  169. package/build/components/inspector-controls/groups.js +2 -0
  170. package/build/components/inspector-controls/groups.js.map +1 -1
  171. package/build/components/inspector-controls-tabs/index.js +4 -1
  172. package/build/components/inspector-controls-tabs/index.js.map +1 -1
  173. package/build/components/inspector-controls-tabs/settings-tab.js +3 -1
  174. package/build/components/inspector-controls-tabs/settings-tab.js.map +1 -1
  175. package/build/components/inspector-controls-tabs/use-inspector-controls-tabs.js +2 -1
  176. package/build/components/inspector-controls-tabs/use-inspector-controls-tabs.js.map +1 -1
  177. package/build/components/inspector-popover-header/index.js +8 -2
  178. package/build/components/inspector-popover-header/index.js.map +1 -1
  179. package/build/components/letter-spacing-control/index.js +7 -4
  180. package/build/components/letter-spacing-control/index.js.map +1 -1
  181. package/build/components/line-height-control/index.js +3 -0
  182. package/build/components/line-height-control/index.js.map +1 -1
  183. package/build/components/link-control/index.js +19 -10
  184. package/build/components/link-control/index.js.map +1 -1
  185. package/build/components/link-control/settings-drawer.js +4 -1
  186. package/build/components/link-control/settings-drawer.js.map +1 -1
  187. package/build/components/list-view/block-select-button.js +4 -1
  188. package/build/components/list-view/block-select-button.js.map +1 -1
  189. package/build/components/media-placeholder/index.js +36 -10
  190. package/build/components/media-placeholder/index.js.map +1 -1
  191. package/build/components/media-replace-flow/index.js +8 -1
  192. package/build/components/media-replace-flow/index.js.map +1 -1
  193. package/build/components/media-upload/index.native.js +4 -1
  194. package/build/components/media-upload/index.native.js.map +1 -1
  195. package/build/components/multi-selection-inspector/index.js +12 -12
  196. package/build/components/multi-selection-inspector/index.js.map +1 -1
  197. package/build/components/provider/use-block-sync.js +19 -19
  198. package/build/components/provider/use-block-sync.js.map +1 -1
  199. package/build/components/rich-text/event-listeners/paste-handler.js +12 -1
  200. package/build/components/rich-text/event-listeners/paste-handler.js.map +1 -1
  201. package/build/components/rich-text/index.js +38 -30
  202. package/build/components/rich-text/index.js.map +1 -1
  203. package/build/components/rich-text/use-mark-persistent.js +5 -5
  204. package/build/components/rich-text/use-mark-persistent.js.map +1 -1
  205. package/build/components/skip-to-selected-block/index.js +4 -1
  206. package/build/components/skip-to-selected-block/index.js.map +1 -1
  207. package/build/components/spacing-sizes-control/input-controls/spacing-input-control.js +4 -2
  208. package/build/components/spacing-sizes-control/input-controls/spacing-input-control.js.map +1 -1
  209. package/build/components/text-alignment-control/index.js +13 -8
  210. package/build/components/text-alignment-control/index.js.map +1 -1
  211. package/build/components/text-decoration-control/index.js +13 -8
  212. package/build/components/text-decoration-control/index.js.map +1 -1
  213. package/build/components/text-transform-control/index.js +13 -8
  214. package/build/components/text-transform-control/index.js.map +1 -1
  215. package/build/components/tool-selector/index.js +4 -1
  216. package/build/components/tool-selector/index.js.map +1 -1
  217. package/build/components/url-input/button.js +12 -3
  218. package/build/components/url-input/button.js.map +1 -1
  219. package/build/components/url-input/index.js +4 -1
  220. package/build/components/url-input/index.js.map +1 -1
  221. package/build/components/url-popover/image-url-input-ui.js +2 -0
  222. package/build/components/url-popover/image-url-input-ui.js.map +1 -1
  223. package/build/components/use-block-drop-zone/index.js +12 -2
  224. package/build/components/use-block-drop-zone/index.js.map +1 -1
  225. package/build/components/writing-flow/index.js +2 -1
  226. package/build/components/writing-flow/index.js.map +1 -1
  227. package/build/components/writing-flow/use-arrow-nav.js +4 -1
  228. package/build/components/writing-flow/use-arrow-nav.js.map +1 -1
  229. package/build/components/writing-flow/use-event-redirect.js +66 -0
  230. package/build/components/writing-flow/use-event-redirect.js.map +1 -0
  231. package/build/components/writing-flow/use-input.js +31 -1
  232. package/build/components/writing-flow/use-input.js.map +1 -1
  233. package/build/components/writing-flow/use-select-all.js +14 -1
  234. package/build/components/writing-flow/use-select-all.js.map +1 -1
  235. package/build/components/writing-flow/use-selection-observer.js +20 -6
  236. package/build/components/writing-flow/use-selection-observer.js.map +1 -1
  237. package/build/components/writing-flow/use-tab-nav.js +4 -4
  238. package/build/components/writing-flow/use-tab-nav.js.map +1 -1
  239. package/build/components/writing-flow/utils.js +27 -0
  240. package/build/components/writing-flow/utils.js.map +1 -1
  241. package/build/components/writing-mode-control/index.js +13 -8
  242. package/build/components/writing-mode-control/index.js.map +1 -1
  243. package/build/hooks/background.js +19 -23
  244. package/build/hooks/background.js.map +1 -1
  245. package/build/hooks/block-bindings.js +64 -103
  246. package/build/hooks/block-bindings.js.map +1 -1
  247. package/build/hooks/content-lock-ui.js +8 -26
  248. package/build/hooks/content-lock-ui.js.map +1 -1
  249. package/build/hooks/duotone.js +0 -4
  250. package/build/hooks/duotone.js.map +1 -1
  251. package/build/hooks/layout.js +4 -1
  252. package/build/hooks/layout.js.map +1 -1
  253. package/build/hooks/spacing-visualizer.js +3 -3
  254. package/build/hooks/spacing-visualizer.js.map +1 -1
  255. package/build/hooks/style.js +1 -5
  256. package/build/hooks/style.js.map +1 -1
  257. package/build/hooks/use-bindings-attributes.js +19 -20
  258. package/build/hooks/use-bindings-attributes.js.map +1 -1
  259. package/build/hooks/use-zoom-out.js +7 -7
  260. package/build/hooks/use-zoom-out.js.map +1 -1
  261. package/build/layouts/constrained.js +42 -41
  262. package/build/layouts/constrained.js.map +1 -1
  263. package/build/layouts/flex.js +6 -1
  264. package/build/layouts/flex.js.map +1 -1
  265. package/build/layouts/grid.js +3 -0
  266. package/build/layouts/grid.js.map +1 -1
  267. package/build/layouts/utils.js +1 -7
  268. package/build/layouts/utils.js.map +1 -1
  269. package/build/private-apis.js +4 -1
  270. package/build/private-apis.js.map +1 -1
  271. package/build/store/actions.js +2 -7
  272. package/build/store/actions.js.map +1 -1
  273. package/build/store/private-actions.js +1 -0
  274. package/build/store/private-actions.js.map +1 -1
  275. package/build/store/private-keys.js +2 -1
  276. package/build/store/private-keys.js.map +1 -1
  277. package/build/store/private-selectors.js +39 -11
  278. package/build/store/private-selectors.js.map +1 -1
  279. package/build/store/reducer.js +2 -0
  280. package/build/store/reducer.js.map +1 -1
  281. package/build/store/selectors.js +19 -43
  282. package/build/store/selectors.js.map +1 -1
  283. package/build/store/utils.js +48 -0
  284. package/build/store/utils.js.map +1 -1
  285. package/build/utils/block-bindings.js +117 -0
  286. package/build/utils/block-bindings.js.map +1 -0
  287. package/build/utils/dom.js +101 -0
  288. package/build/utils/dom.js.map +1 -1
  289. package/build/utils/get-font-styles-and-weights.js +4 -4
  290. package/build/utils/get-font-styles-and-weights.js.map +1 -1
  291. package/build/utils/transform-styles/index.js +120 -16
  292. package/build/utils/transform-styles/index.js.map +1 -1
  293. package/build-module/autocompleters/block.js +1 -1
  294. package/build-module/autocompleters/block.js.map +1 -1
  295. package/build-module/components/block-alignment-matrix-control/index.js +1 -1
  296. package/build-module/components/block-alignment-matrix-control/index.js.map +1 -1
  297. package/build-module/components/block-breadcrumb/index.js +8 -2
  298. package/build-module/components/block-breadcrumb/index.js.map +1 -1
  299. package/build-module/components/block-canvas/index.js +9 -1
  300. package/build-module/components/block-canvas/index.js.map +1 -1
  301. package/build-module/components/block-compare/block-view.js +4 -1
  302. package/build-module/components/block-compare/block-view.js.map +1 -1
  303. package/build-module/components/block-draggable/index.js +4 -4
  304. package/build-module/components/block-draggable/index.js.map +1 -1
  305. package/build-module/components/block-draggable/use-scroll-when-dragging.js +25 -25
  306. package/build-module/components/block-draggable/use-scroll-when-dragging.js.map +1 -1
  307. package/build-module/components/block-edit/multiple-usage-warning.js +8 -2
  308. package/build-module/components/block-edit/multiple-usage-warning.js.map +1 -1
  309. package/build-module/components/block-inspector/index.js +27 -9
  310. package/build-module/components/block-inspector/index.js.map +1 -1
  311. package/build-module/components/block-list/block-invalid-warning.js +6 -3
  312. package/build-module/components/block-list/block-invalid-warning.js.map +1 -1
  313. package/build-module/components/block-list/block.js +5 -1
  314. package/build-module/components/block-list/block.js.map +1 -1
  315. package/build-module/components/block-list/use-block-props/index.js +7 -3
  316. package/build-module/components/block-list/use-block-props/index.js.map +1 -1
  317. package/build-module/components/block-list/use-block-props/use-focus-first-element.js +1 -0
  318. package/build-module/components/block-list/use-block-props/use-focus-first-element.js.map +1 -1
  319. package/build-module/components/block-list/use-block-props/use-zoom-out-mode-exit.js +40 -0
  320. package/build-module/components/block-list/use-block-props/use-zoom-out-mode-exit.js.map +1 -0
  321. package/build-module/components/block-list/use-in-between-inserter.js +11 -4
  322. package/build-module/components/block-list/use-in-between-inserter.js.map +1 -1
  323. package/build-module/components/block-lock/toolbar.js +3 -3
  324. package/build-module/components/block-lock/toolbar.js.map +1 -1
  325. package/build-module/components/block-mover/button.js +4 -1
  326. package/build-module/components/block-mover/button.js.map +1 -1
  327. package/build-module/components/block-mover/index.js +4 -1
  328. package/build-module/components/block-mover/index.js.map +1 -1
  329. package/build-module/components/block-navigation/dropdown.js +4 -1
  330. package/build-module/components/block-navigation/dropdown.js.map +1 -1
  331. package/build-module/components/block-pattern-setup/index.js +1 -4
  332. package/build-module/components/block-pattern-setup/index.js.map +1 -1
  333. package/build-module/components/block-pattern-setup/setup-toolbar.js +23 -8
  334. package/build-module/components/block-pattern-setup/setup-toolbar.js.map +1 -1
  335. package/build-module/components/block-patterns-list/index.js +11 -14
  336. package/build-module/components/block-patterns-list/index.js.map +1 -1
  337. package/build-module/components/block-patterns-paging/index.js +12 -3
  338. package/build-module/components/block-patterns-paging/index.js.map +1 -1
  339. package/build-module/components/block-popover/index.js +2 -15
  340. package/build-module/components/block-popover/index.js.map +1 -1
  341. package/build-module/components/block-quick-navigation/index.js +4 -1
  342. package/build-module/components/block-quick-navigation/index.js.map +1 -1
  343. package/build-module/components/block-settings-menu/block-mode-toggle.js +29 -34
  344. package/build-module/components/block-settings-menu/block-mode-toggle.js.map +1 -1
  345. package/build-module/components/block-settings-menu-controls/index.js +4 -0
  346. package/build-module/components/block-settings-menu-controls/index.js.map +1 -1
  347. package/build-module/components/block-switcher/index.js +22 -17
  348. package/build-module/components/block-switcher/index.js.map +1 -1
  349. package/build-module/components/block-switcher/pattern-transformations-menu.js +1 -4
  350. package/build-module/components/block-switcher/pattern-transformations-menu.js.map +1 -1
  351. package/build-module/components/block-toolbar/index.js +12 -11
  352. package/build-module/components/block-toolbar/index.js.map +1 -1
  353. package/build-module/components/block-toolbar/shuffle.js +6 -2
  354. package/build-module/components/block-toolbar/shuffle.js.map +1 -1
  355. package/build-module/components/block-tools/block-selection-button.js +8 -2
  356. package/build-module/components/block-tools/block-selection-button.js.map +1 -1
  357. package/build-module/components/block-tools/block-toolbar-popover.js +10 -6
  358. package/build-module/components/block-tools/block-toolbar-popover.js.map +1 -1
  359. package/build-module/components/block-tools/insertion-point.js +14 -3
  360. package/build-module/components/block-tools/insertion-point.js.map +1 -1
  361. package/build-module/components/block-tools/use-block-toolbar-popover-props.js +2 -1
  362. package/build-module/components/block-tools/use-block-toolbar-popover-props.js.map +1 -1
  363. package/build-module/components/block-tools/use-show-block-tools.js +2 -1
  364. package/build-module/components/block-tools/use-show-block-tools.js.map +1 -1
  365. package/build-module/components/block-tools/zoom-out-mode-inserters.js +4 -5
  366. package/build-module/components/block-tools/zoom-out-mode-inserters.js.map +1 -1
  367. package/build-module/components/block-tools/zoom-out-popover.js +3 -4
  368. package/build-module/components/block-tools/zoom-out-popover.js.map +1 -1
  369. package/build-module/components/block-tools/zoom-out-toolbar.js +15 -6
  370. package/build-module/components/block-tools/zoom-out-toolbar.js.map +1 -1
  371. package/build-module/components/block-variation-picker/index.js +4 -1
  372. package/build-module/components/block-variation-picker/index.js.map +1 -1
  373. package/build-module/components/block-variation-transforms/index.js +4 -1
  374. package/build-module/components/block-variation-transforms/index.js.map +1 -1
  375. package/build-module/components/border-radius-control/index.js +1 -0
  376. package/build-module/components/border-radius-control/index.js.map +1 -1
  377. package/build-module/components/button-block-appender/index.js +15 -4
  378. package/build-module/components/button-block-appender/index.js.map +1 -1
  379. package/build-module/components/colors-gradients/dropdown.js +4 -1
  380. package/build-module/components/colors-gradients/dropdown.js.map +1 -1
  381. package/build-module/components/content-lock/index.js +2 -0
  382. package/build-module/components/content-lock/index.js.map +1 -0
  383. package/build-module/components/content-lock/modify-content-lock-menu-item.js +57 -0
  384. package/build-module/components/content-lock/modify-content-lock-menu-item.js.map +1 -0
  385. package/build-module/components/convert-to-group-buttons/index.js +1 -1
  386. package/build-module/components/convert-to-group-buttons/index.js.map +1 -1
  387. package/build-module/components/date-format-picker/index.js +2 -0
  388. package/build-module/components/date-format-picker/index.js.map +1 -1
  389. package/build-module/components/editor-styles/index.js +4 -3
  390. package/build-module/components/editor-styles/index.js.map +1 -1
  391. package/build-module/components/font-appearance-control/index.js +3 -0
  392. package/build-module/components/font-appearance-control/index.js.map +1 -1
  393. package/build-module/components/font-family/index.js +3 -0
  394. package/build-module/components/font-family/index.js.map +1 -1
  395. package/build-module/components/global-styles/background-panel.js +121 -53
  396. package/build-module/components/global-styles/background-panel.js.map +1 -1
  397. package/build-module/components/global-styles/color-panel.js +7 -4
  398. package/build-module/components/global-styles/color-panel.js.map +1 -1
  399. package/build-module/components/global-styles/color-panel.native.js +2 -2
  400. package/build-module/components/global-styles/color-panel.native.js.map +1 -1
  401. package/build-module/components/global-styles/dimensions-panel.js +36 -39
  402. package/build-module/components/global-styles/dimensions-panel.js.map +1 -1
  403. package/build-module/components/global-styles/filters-panel.js +4 -1
  404. package/build-module/components/global-styles/filters-panel.js.map +1 -1
  405. package/build-module/components/global-styles/get-global-styles-changes.js +3 -1
  406. package/build-module/components/global-styles/get-global-styles-changes.js.map +1 -1
  407. package/build-module/components/global-styles/hooks.js +0 -6
  408. package/build-module/components/global-styles/hooks.js.map +1 -1
  409. package/build-module/components/global-styles/index.js +1 -1
  410. package/build-module/components/global-styles/index.js.map +1 -1
  411. package/build-module/components/global-styles/shadow-panel-components.js +13 -7
  412. package/build-module/components/global-styles/shadow-panel-components.js.map +1 -1
  413. package/build-module/components/global-styles/typography-utils.js +17 -6
  414. package/build-module/components/global-styles/typography-utils.js.map +1 -1
  415. package/build-module/components/global-styles/use-global-styles-output.js +5 -5
  416. package/build-module/components/global-styles/use-global-styles-output.js.map +1 -1
  417. package/build-module/components/global-styles/utils.js +11 -28
  418. package/build-module/components/global-styles/utils.js.map +1 -1
  419. package/build-module/components/grid/grid-item-movers.js +3 -3
  420. package/build-module/components/grid/grid-item-movers.js.map +1 -1
  421. package/build-module/components/grid/grid-visualizer.js +20 -5
  422. package/build-module/components/grid/grid-visualizer.js.map +1 -1
  423. package/build-module/components/height-control/index.js +1 -0
  424. package/build-module/components/height-control/index.js.map +1 -1
  425. package/build-module/components/iframe/index.js +8 -6
  426. package/build-module/components/iframe/index.js.map +1 -1
  427. package/build-module/components/image-editor/zoom-dropdown.js +12 -8
  428. package/build-module/components/image-editor/zoom-dropdown.js.map +1 -1
  429. package/build-module/components/inner-blocks/button-block-appender.js +7 -6
  430. package/build-module/components/inner-blocks/button-block-appender.js.map +1 -1
  431. package/build-module/components/inner-blocks/default-block-appender.js +6 -23
  432. package/build-module/components/inner-blocks/default-block-appender.js.map +1 -1
  433. package/build-module/components/inner-blocks/index.js +8 -12
  434. package/build-module/components/inner-blocks/index.js.map +1 -1
  435. package/build-module/components/inner-blocks/use-inner-block-template-sync.js +3 -3
  436. package/build-module/components/inner-blocks/use-inner-block-template-sync.js.map +1 -1
  437. package/build-module/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.js +4 -1
  438. package/build-module/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.js.map +1 -1
  439. package/build-module/components/inserter/block-patterns-tab/index.js +4 -1
  440. package/build-module/components/inserter/block-patterns-tab/index.js.map +1 -1
  441. package/build-module/components/inserter/media-tab/hooks.js +3 -3
  442. package/build-module/components/inserter/media-tab/hooks.js.map +1 -1
  443. package/build-module/components/inserter/media-tab/media-list.js +1 -4
  444. package/build-module/components/inserter/media-tab/media-list.js.map +1 -1
  445. package/build-module/components/inserter/media-tab/media-preview.js +8 -2
  446. package/build-module/components/inserter/media-tab/media-preview.js.map +1 -1
  447. package/build-module/components/inserter/media-tab/media-tab.js +4 -1
  448. package/build-module/components/inserter/media-tab/media-tab.js.map +1 -1
  449. package/build-module/components/inserter/menu.js +14 -13
  450. package/build-module/components/inserter/menu.js.map +1 -1
  451. package/build-module/components/inserter/quick-inserter.js +9 -2
  452. package/build-module/components/inserter/quick-inserter.js.map +1 -1
  453. package/build-module/components/inserter-list-item/index.js +4 -4
  454. package/build-module/components/inserter-list-item/index.js.map +1 -1
  455. package/build-module/components/inserter-listbox/index.js +3 -7
  456. package/build-module/components/inserter-listbox/index.js.map +1 -1
  457. package/build-module/components/inserter-listbox/item.js +4 -1
  458. package/build-module/components/inserter-listbox/item.js.map +1 -1
  459. package/build-module/components/inspector-controls/groups.js +2 -0
  460. package/build-module/components/inspector-controls/groups.js.map +1 -1
  461. package/build-module/components/inspector-controls-tabs/index.js +4 -1
  462. package/build-module/components/inspector-controls-tabs/index.js.map +1 -1
  463. package/build-module/components/inspector-controls-tabs/settings-tab.js +3 -1
  464. package/build-module/components/inspector-controls-tabs/settings-tab.js.map +1 -1
  465. package/build-module/components/inspector-controls-tabs/use-inspector-controls-tabs.js +2 -1
  466. package/build-module/components/inspector-controls-tabs/use-inspector-controls-tabs.js.map +1 -1
  467. package/build-module/components/inspector-popover-header/index.js +8 -2
  468. package/build-module/components/inspector-popover-header/index.js.map +1 -1
  469. package/build-module/components/letter-spacing-control/index.js +7 -4
  470. package/build-module/components/letter-spacing-control/index.js.map +1 -1
  471. package/build-module/components/line-height-control/index.js +3 -0
  472. package/build-module/components/line-height-control/index.js.map +1 -1
  473. package/build-module/components/link-control/index.js +19 -10
  474. package/build-module/components/link-control/index.js.map +1 -1
  475. package/build-module/components/link-control/settings-drawer.js +4 -1
  476. package/build-module/components/link-control/settings-drawer.js.map +1 -1
  477. package/build-module/components/list-view/block-select-button.js +4 -1
  478. package/build-module/components/list-view/block-select-button.js.map +1 -1
  479. package/build-module/components/media-placeholder/index.js +36 -10
  480. package/build-module/components/media-placeholder/index.js.map +1 -1
  481. package/build-module/components/media-replace-flow/index.js +8 -1
  482. package/build-module/components/media-replace-flow/index.js.map +1 -1
  483. package/build-module/components/media-upload/index.native.js +4 -1
  484. package/build-module/components/media-upload/index.native.js.map +1 -1
  485. package/build-module/components/multi-selection-inspector/index.js +12 -12
  486. package/build-module/components/multi-selection-inspector/index.js.map +1 -1
  487. package/build-module/components/provider/use-block-sync.js +19 -19
  488. package/build-module/components/provider/use-block-sync.js.map +1 -1
  489. package/build-module/components/rich-text/event-listeners/paste-handler.js +12 -1
  490. package/build-module/components/rich-text/event-listeners/paste-handler.js.map +1 -1
  491. package/build-module/components/rich-text/index.js +39 -31
  492. package/build-module/components/rich-text/index.js.map +1 -1
  493. package/build-module/components/rich-text/use-mark-persistent.js +5 -5
  494. package/build-module/components/rich-text/use-mark-persistent.js.map +1 -1
  495. package/build-module/components/skip-to-selected-block/index.js +4 -1
  496. package/build-module/components/skip-to-selected-block/index.js.map +1 -1
  497. package/build-module/components/spacing-sizes-control/input-controls/spacing-input-control.js +4 -2
  498. package/build-module/components/spacing-sizes-control/input-controls/spacing-input-control.js.map +1 -1
  499. package/build-module/components/text-alignment-control/index.js +13 -8
  500. package/build-module/components/text-alignment-control/index.js.map +1 -1
  501. package/build-module/components/text-decoration-control/index.js +13 -8
  502. package/build-module/components/text-decoration-control/index.js.map +1 -1
  503. package/build-module/components/text-transform-control/index.js +13 -8
  504. package/build-module/components/text-transform-control/index.js.map +1 -1
  505. package/build-module/components/tool-selector/index.js +4 -1
  506. package/build-module/components/tool-selector/index.js.map +1 -1
  507. package/build-module/components/url-input/button.js +12 -3
  508. package/build-module/components/url-input/button.js.map +1 -1
  509. package/build-module/components/url-input/index.js +4 -1
  510. package/build-module/components/url-input/index.js.map +1 -1
  511. package/build-module/components/url-popover/image-url-input-ui.js +2 -0
  512. package/build-module/components/url-popover/image-url-input-ui.js.map +1 -1
  513. package/build-module/components/use-block-drop-zone/index.js +12 -2
  514. package/build-module/components/use-block-drop-zone/index.js.map +1 -1
  515. package/build-module/components/writing-flow/index.js +2 -1
  516. package/build-module/components/writing-flow/index.js.map +1 -1
  517. package/build-module/components/writing-flow/use-arrow-nav.js +4 -1
  518. package/build-module/components/writing-flow/use-arrow-nav.js.map +1 -1
  519. package/build-module/components/writing-flow/use-event-redirect.js +60 -0
  520. package/build-module/components/writing-flow/use-event-redirect.js.map +1 -0
  521. package/build-module/components/writing-flow/use-input.js +31 -1
  522. package/build-module/components/writing-flow/use-input.js.map +1 -1
  523. package/build-module/components/writing-flow/use-select-all.js +14 -1
  524. package/build-module/components/writing-flow/use-select-all.js.map +1 -1
  525. package/build-module/components/writing-flow/use-selection-observer.js +16 -2
  526. package/build-module/components/writing-flow/use-selection-observer.js.map +1 -1
  527. package/build-module/components/writing-flow/use-tab-nav.js +4 -4
  528. package/build-module/components/writing-flow/use-tab-nav.js.map +1 -1
  529. package/build-module/components/writing-flow/utils.js +26 -0
  530. package/build-module/components/writing-flow/utils.js.map +1 -1
  531. package/build-module/components/writing-mode-control/index.js +13 -8
  532. package/build-module/components/writing-mode-control/index.js.map +1 -1
  533. package/build-module/hooks/background.js +19 -23
  534. package/build-module/hooks/background.js.map +1 -1
  535. package/build-module/hooks/block-bindings.js +66 -105
  536. package/build-module/hooks/block-bindings.js.map +1 -1
  537. package/build-module/hooks/content-lock-ui.js +10 -30
  538. package/build-module/hooks/content-lock-ui.js.map +1 -1
  539. package/build-module/hooks/duotone.js +0 -4
  540. package/build-module/hooks/duotone.js.map +1 -1
  541. package/build-module/hooks/layout.js +4 -1
  542. package/build-module/hooks/layout.js.map +1 -1
  543. package/build-module/hooks/spacing-visualizer.js +3 -3
  544. package/build-module/hooks/spacing-visualizer.js.map +1 -1
  545. package/build-module/hooks/style.js +1 -5
  546. package/build-module/hooks/style.js.map +1 -1
  547. package/build-module/hooks/use-bindings-attributes.js +19 -20
  548. package/build-module/hooks/use-bindings-attributes.js.map +1 -1
  549. package/build-module/hooks/use-zoom-out.js +7 -7
  550. package/build-module/hooks/use-zoom-out.js.map +1 -1
  551. package/build-module/layouts/constrained.js +44 -43
  552. package/build-module/layouts/constrained.js.map +1 -1
  553. package/build-module/layouts/flex.js +6 -1
  554. package/build-module/layouts/flex.js.map +1 -1
  555. package/build-module/layouts/grid.js +3 -0
  556. package/build-module/layouts/grid.js.map +1 -1
  557. package/build-module/layouts/utils.js +1 -7
  558. package/build-module/layouts/utils.js.map +1 -1
  559. package/build-module/private-apis.js +5 -2
  560. package/build-module/private-apis.js.map +1 -1
  561. package/build-module/store/actions.js +2 -7
  562. package/build-module/store/actions.js.map +1 -1
  563. package/build-module/store/private-actions.js +1 -0
  564. package/build-module/store/private-actions.js.map +1 -1
  565. package/build-module/store/private-keys.js +1 -0
  566. package/build-module/store/private-keys.js.map +1 -1
  567. package/build-module/store/private-selectors.js +36 -12
  568. package/build-module/store/private-selectors.js.map +1 -1
  569. package/build-module/store/reducer.js +2 -0
  570. package/build-module/store/reducer.js.map +1 -1
  571. package/build-module/store/selectors.js +22 -46
  572. package/build-module/store/selectors.js.map +1 -1
  573. package/build-module/store/utils.js +46 -0
  574. package/build-module/store/utils.js.map +1 -1
  575. package/build-module/utils/block-bindings.js +110 -0
  576. package/build-module/utils/block-bindings.js.map +1 -0
  577. package/build-module/utils/dom.js +99 -0
  578. package/build-module/utils/dom.js.map +1 -1
  579. package/build-module/utils/get-font-styles-and-weights.js +4 -4
  580. package/build-module/utils/get-font-styles-and-weights.js.map +1 -1
  581. package/build-module/utils/transform-styles/index.js +120 -16
  582. package/build-module/utils/transform-styles/index.js.map +1 -1
  583. package/build-style/content-rtl.css +9 -25
  584. package/build-style/content.css +9 -25
  585. package/build-style/default-editor-styles-rtl.css +2 -2
  586. package/build-style/default-editor-styles.css +2 -2
  587. package/build-style/style-rtl.css +53 -76
  588. package/build-style/style.css +53 -76
  589. package/build-types/utils/dom.d.ts +25 -0
  590. package/build-types/utils/dom.d.ts.map +1 -1
  591. package/package.json +34 -32
  592. package/src/autocompleters/block.js +2 -1
  593. package/src/components/block-alignment-matrix-control/index.js +1 -1
  594. package/src/components/block-breadcrumb/index.js +4 -0
  595. package/src/components/block-breadcrumb/style.scss +1 -1
  596. package/src/components/block-canvas/index.js +9 -1
  597. package/src/components/block-compare/block-view.js +7 -1
  598. package/src/components/block-draggable/content.scss +1 -1
  599. package/src/components/block-draggable/index.js +4 -4
  600. package/src/components/block-draggable/style.scss +1 -1
  601. package/src/components/block-draggable/use-scroll-when-dragging.js +25 -25
  602. package/src/components/block-edit/multiple-usage-warning.js +4 -0
  603. package/src/components/block-inspector/index.js +22 -6
  604. package/src/components/block-list/block-invalid-warning.js +4 -2
  605. package/src/components/block-list/block.js +6 -2
  606. package/src/components/block-list/content.scss +7 -16
  607. package/src/components/block-list/use-block-props/index.js +5 -2
  608. package/src/components/block-list/use-block-props/use-focus-first-element.js +1 -0
  609. package/src/components/block-list/use-block-props/use-zoom-out-mode-exit.js +44 -0
  610. package/src/components/block-list/use-in-between-inserter.js +17 -5
  611. package/src/components/block-lock/style.scss +1 -1
  612. package/src/components/block-lock/toolbar.js +3 -3
  613. package/src/components/block-mover/button.js +2 -0
  614. package/src/components/block-mover/index.js +2 -0
  615. package/src/components/block-mover/style.scss +1 -1
  616. package/src/components/block-navigation/dropdown.js +2 -0
  617. package/src/components/block-pattern-setup/index.js +3 -7
  618. package/src/components/block-pattern-setup/setup-toolbar.js +17 -4
  619. package/src/components/block-pattern-setup/style.scss +2 -2
  620. package/src/components/block-patterns-list/index.js +15 -13
  621. package/src/components/block-patterns-list/style.scss +2 -2
  622. package/src/components/block-patterns-paging/index.js +6 -0
  623. package/src/components/block-popover/index.js +7 -28
  624. package/src/components/block-popover/style.scss +1 -1
  625. package/src/components/block-quick-navigation/index.js +2 -0
  626. package/src/components/block-settings-menu/block-mode-toggle.js +28 -31
  627. package/src/components/block-settings-menu/test/block-mode-toggle.js +26 -23
  628. package/src/components/block-settings-menu-controls/index.js +7 -1
  629. package/src/components/block-switcher/index.js +26 -20
  630. package/src/components/block-switcher/pattern-transformations-menu.js +3 -7
  631. package/src/components/block-switcher/style.scss +5 -6
  632. package/src/components/block-toolbar/index.js +17 -8
  633. package/src/components/block-toolbar/shuffle.js +9 -7
  634. package/src/components/block-tools/block-selection-button.js +4 -0
  635. package/src/components/block-tools/block-toolbar-popover.js +10 -6
  636. package/src/components/block-tools/insertion-point.js +11 -0
  637. package/src/components/block-tools/style.scss +4 -5
  638. package/src/components/block-tools/use-block-toolbar-popover-props.js +2 -1
  639. package/src/components/block-tools/use-show-block-tools.js +4 -1
  640. package/src/components/block-tools/zoom-out-mode-inserters.js +5 -2
  641. package/src/components/block-tools/zoom-out-popover.js +3 -7
  642. package/src/components/block-tools/zoom-out-toolbar.js +20 -6
  643. package/src/components/block-variation-picker/README.md +2 -2
  644. package/src/components/block-variation-picker/index.js +6 -1
  645. package/src/components/block-variation-transforms/index.js +2 -0
  646. package/src/components/block-variation-transforms/style.scss +2 -2
  647. package/src/components/border-radius-control/index.js +1 -0
  648. package/src/components/border-radius-control/style.scss +0 -10
  649. package/src/components/button-block-appender/content.scss +0 -1
  650. package/src/components/button-block-appender/index.js +14 -3
  651. package/src/components/color-palette/test/control.js +15 -2
  652. package/src/components/colors-gradients/dropdown.js +5 -1
  653. package/src/components/colors-gradients/style.scss +4 -4
  654. package/src/components/content-lock/index.js +1 -0
  655. package/src/components/content-lock/modify-content-lock-menu-item.js +58 -0
  656. package/src/components/convert-to-group-buttons/index.js +1 -1
  657. package/src/components/date-format-picker/index.js +2 -0
  658. package/src/components/default-block-appender/content.scss +0 -1
  659. package/src/components/editor-styles/index.js +4 -3
  660. package/src/components/font-appearance-control/index.js +3 -0
  661. package/src/components/font-family/README.md +11 -2
  662. package/src/components/font-family/index.js +3 -0
  663. package/src/components/global-styles/background-panel.js +135 -64
  664. package/src/components/global-styles/color-panel.js +8 -4
  665. package/src/components/global-styles/color-panel.native.js +2 -2
  666. package/src/components/global-styles/dimensions-panel.js +40 -40
  667. package/src/components/global-styles/filters-panel.js +5 -1
  668. package/src/components/global-styles/get-global-styles-changes.js +4 -1
  669. package/src/components/global-styles/hooks.js +0 -5
  670. package/src/components/global-styles/index.js +0 -1
  671. package/src/components/global-styles/shadow-panel-components.js +12 -8
  672. package/src/components/global-styles/style.scss +16 -6
  673. package/src/components/global-styles/test/typography-utils.js +96 -5
  674. package/src/components/global-styles/test/use-global-styles-output.js +20 -4
  675. package/src/components/global-styles/test/utils.js +10 -0
  676. package/src/components/global-styles/typography-utils.js +22 -6
  677. package/src/components/global-styles/use-global-styles-output.js +5 -6
  678. package/src/components/global-styles/utils.js +11 -35
  679. package/src/components/grid/grid-item-movers.js +3 -3
  680. package/src/components/grid/grid-visualizer.js +22 -7
  681. package/src/components/grid/style.scss +1 -1
  682. package/src/components/height-control/index.js +1 -0
  683. package/src/components/iframe/index.js +8 -6
  684. package/src/components/image-editor/zoom-dropdown.js +17 -9
  685. package/src/components/inner-blocks/button-block-appender.js +5 -7
  686. package/src/components/inner-blocks/default-block-appender.js +4 -23
  687. package/src/components/inner-blocks/index.js +11 -10
  688. package/src/components/inner-blocks/use-inner-block-template-sync.js +3 -3
  689. package/src/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.js +2 -0
  690. package/src/components/inserter/block-patterns-tab/index.js +2 -0
  691. package/src/components/inserter/media-tab/hooks.js +3 -3
  692. package/src/components/inserter/media-tab/media-list.js +1 -4
  693. package/src/components/inserter/media-tab/media-preview.js +12 -2
  694. package/src/components/inserter/media-tab/media-tab.js +2 -0
  695. package/src/components/inserter/menu.js +13 -22
  696. package/src/components/inserter/quick-inserter.js +6 -1
  697. package/src/components/inserter/style.scss +7 -9
  698. package/src/components/inserter-list-item/index.js +4 -4
  699. package/src/components/inserter-list-item/style.scss +2 -3
  700. package/src/components/inserter-listbox/index.js +2 -8
  701. package/src/components/inserter-listbox/item.js +9 -1
  702. package/src/components/inspector-controls/groups.js +2 -0
  703. package/src/components/inspector-controls-tabs/index.js +2 -0
  704. package/src/components/inspector-controls-tabs/settings-tab.js +1 -0
  705. package/src/components/inspector-controls-tabs/use-inspector-controls-tabs.js +5 -2
  706. package/src/components/inspector-popover-header/index.js +4 -0
  707. package/src/components/letter-spacing-control/README.md +8 -1
  708. package/src/components/letter-spacing-control/index.js +7 -4
  709. package/src/components/line-height-control/README.md +7 -0
  710. package/src/components/line-height-control/index.js +3 -0
  711. package/src/components/link-control/index.js +17 -8
  712. package/src/components/link-control/settings-drawer.js +2 -0
  713. package/src/components/link-control/style.scss +2 -4
  714. package/src/components/list-view/block-select-button.js +2 -0
  715. package/src/components/list-view/style.scss +14 -16
  716. package/src/components/media-placeholder/index.js +26 -7
  717. package/src/components/media-replace-flow/index.js +12 -1
  718. package/src/components/media-upload/README.md +2 -0
  719. package/src/components/media-upload/index.native.js +2 -0
  720. package/src/components/multi-selection-inspector/index.js +8 -9
  721. package/src/components/provider/use-block-sync.js +20 -20
  722. package/src/components/responsive-block-control/README.md +3 -26
  723. package/src/components/responsive-block-control/test/index.js +1 -0
  724. package/src/components/rich-text/content.scss +1 -1
  725. package/src/components/rich-text/event-listeners/paste-handler.js +6 -1
  726. package/src/components/rich-text/index.js +54 -41
  727. package/src/components/rich-text/style.scss +1 -1
  728. package/src/components/rich-text/use-mark-persistent.js +5 -5
  729. package/src/components/skip-to-selected-block/index.js +2 -0
  730. package/src/components/spacing-sizes-control/input-controls/spacing-input-control.js +8 -4
  731. package/src/components/spacing-sizes-control/style.scss +17 -16
  732. package/src/components/text-alignment-control/index.js +20 -8
  733. package/src/components/text-decoration-control/index.js +20 -8
  734. package/src/components/text-decoration-control/stories/index.story.js +0 -4
  735. package/src/components/text-transform-control/index.js +20 -8
  736. package/src/components/text-transform-control/stories/index.story.js +0 -4
  737. package/src/components/tool-selector/index.js +2 -0
  738. package/src/components/url-input/button.js +6 -0
  739. package/src/components/url-input/index.js +2 -0
  740. package/src/components/url-input/style.scss +2 -2
  741. package/src/components/url-popover/image-url-input-ui.js +2 -0
  742. package/src/components/url-popover/stories/index.story.js +7 -1
  743. package/src/components/use-block-drop-zone/index.js +21 -3
  744. package/src/components/warning/content.scss +3 -10
  745. package/src/components/writing-flow/index.js +2 -0
  746. package/src/components/writing-flow/use-arrow-nav.js +9 -2
  747. package/src/components/writing-flow/use-event-redirect.js +72 -0
  748. package/src/components/writing-flow/use-input.js +36 -1
  749. package/src/components/writing-flow/use-select-all.js +18 -1
  750. package/src/components/writing-flow/use-selection-observer.js +23 -3
  751. package/src/components/writing-flow/use-tab-nav.js +4 -4
  752. package/src/components/writing-flow/utils.js +30 -0
  753. package/src/components/writing-mode-control/index.js +20 -8
  754. package/src/hooks/background.js +21 -27
  755. package/src/hooks/block-bindings.js +64 -122
  756. package/src/hooks/block-bindings.scss +2 -10
  757. package/src/hooks/content-lock-ui.js +11 -36
  758. package/src/hooks/duotone.js +0 -4
  759. package/src/hooks/layout.js +2 -0
  760. package/src/hooks/layout.scss +3 -11
  761. package/src/hooks/spacing-visualizer.js +3 -3
  762. package/src/hooks/style.js +1 -4
  763. package/src/hooks/test/background.js +60 -0
  764. package/src/hooks/use-bindings-attributes.js +23 -24
  765. package/src/hooks/use-zoom-out.js +7 -7
  766. package/src/layouts/constrained.js +51 -47
  767. package/src/layouts/flex.js +4 -0
  768. package/src/layouts/grid.js +3 -0
  769. package/src/layouts/test/grid.js +2 -2
  770. package/src/layouts/test/utils.js +6 -8
  771. package/src/layouts/utils.js +1 -9
  772. package/src/private-apis.js +4 -0
  773. package/src/store/actions.js +4 -6
  774. package/src/store/private-actions.js +1 -0
  775. package/src/store/private-keys.js +1 -0
  776. package/src/store/private-selectors.js +44 -7
  777. package/src/store/reducer.js +2 -0
  778. package/src/store/selectors.js +32 -51
  779. package/src/store/test/private-selectors.js +89 -0
  780. package/src/store/utils.js +50 -0
  781. package/src/style.scss +0 -1
  782. package/src/utils/block-bindings.js +97 -0
  783. package/src/utils/dom.js +117 -0
  784. package/src/utils/get-font-styles-and-weights.js +12 -4
  785. package/src/utils/test/get-font-styles-and-weights.js +148 -0
  786. package/src/utils/test/transform-styles.js +284 -26
  787. package/src/utils/transform-styles/index.js +132 -21
  788. package/tsconfig.json +1 -0
  789. package/tsconfig.tsbuildinfo +1 -1
  790. package/build/components/global-styles/theme-file-uri-utils.js +0 -21
  791. package/build/components/global-styles/theme-file-uri-utils.js.map +0 -1
  792. package/build/components/inner-blocks/with-client-id.js +0 -28
  793. package/build/components/inner-blocks/with-client-id.js.map +0 -1
  794. package/build/components/segmented-text-control/index.js +0 -63
  795. package/build/components/segmented-text-control/index.js.map +0 -1
  796. package/build-module/components/global-styles/theme-file-uri-utils.js +0 -15
  797. package/build-module/components/global-styles/theme-file-uri-utils.js.map +0 -1
  798. package/build-module/components/inner-blocks/with-client-id.js +0 -21
  799. package/build-module/components/inner-blocks/with-client-id.js.map +0 -1
  800. package/build-module/components/segmented-text-control/index.js +0 -58
  801. package/build-module/components/segmented-text-control/index.js.map +0 -1
  802. package/src/components/global-styles/test/theme-file-uri-utils.js +0 -41
  803. package/src/components/global-styles/theme-file-uri-utils.js +0 -18
  804. package/src/components/inner-blocks/with-client-id.js +0 -19
  805. package/src/components/segmented-text-control/index.js +0 -63
  806. package/src/components/segmented-text-control/style.scss +0 -15
  807. package/src/utils/test/__snapshots__/transform-styles.js.snap +0 -109
@@ -29,6 +29,16 @@ import { unlock } from '../../lock-unlock';
29
29
  import { jsx as _jsx } from "react/jsx-runtime";
30
30
  import { jsxs as _jsxs } from "react/jsx-runtime";
31
31
  import { Fragment as _Fragment } from "react/jsx-runtime";
32
+ function BlockStylesPanel({
33
+ clientId
34
+ }) {
35
+ return /*#__PURE__*/_jsx(PanelBody, {
36
+ title: __('Styles'),
37
+ children: /*#__PURE__*/_jsx(BlockStyles, {
38
+ clientId: clientId
39
+ })
40
+ });
41
+ }
32
42
  function BlockInspectorLockedBlocks({
33
43
  topLevelLockedBlock
34
44
  }) {
@@ -40,6 +50,15 @@ function BlockInspectorLockedBlocks({
40
50
  } = select(blockEditorStore);
41
51
  return getClientIdsOfDescendants(topLevelLockedBlock).filter(clientId => getBlockName(clientId) !== 'core/list-item' && getBlockEditingMode(clientId) === 'contentOnly');
42
52
  }, [topLevelLockedBlock]);
53
+ const hasBlockStyles = useSelect(select => {
54
+ const {
55
+ getBlockName
56
+ } = select(blockEditorStore);
57
+ const {
58
+ getBlockStyles
59
+ } = select(blocksStore);
60
+ return !!getBlockStyles(getBlockName(topLevelLockedBlock))?.length;
61
+ }, [topLevelLockedBlock]);
43
62
  const blockInformation = useBlockDisplayInformation(topLevelLockedBlock);
44
63
  return /*#__PURE__*/_jsxs("div", {
45
64
  className: "block-editor-block-inspector",
@@ -48,7 +67,9 @@ function BlockInspectorLockedBlocks({
48
67
  className: blockInformation.isSynced && 'is-synced'
49
68
  }), /*#__PURE__*/_jsx(BlockVariationTransforms, {
50
69
  blockClientId: topLevelLockedBlock
51
- }), /*#__PURE__*/_jsx(BlockInfo.Slot, {}), contentClientIds.length > 0 && /*#__PURE__*/_jsx(PanelBody, {
70
+ }), /*#__PURE__*/_jsx(BlockInfo.Slot, {}), hasBlockStyles && /*#__PURE__*/_jsx(BlockStylesPanel, {
71
+ clientId: topLevelLockedBlock
72
+ }), contentClientIds.length > 0 && /*#__PURE__*/_jsx(PanelBody, {
52
73
  title: __('Content'),
53
74
  children: /*#__PURE__*/_jsx(BlockQuickNavigation, {
54
75
  clientIds: contentClientIds
@@ -217,13 +238,8 @@ const BlockInspectorSingleBlock = ({
217
238
  blockName: blockName,
218
239
  tabs: availableTabs
219
240
  }), !showTabs && /*#__PURE__*/_jsxs(_Fragment, {
220
- children: [hasBlockStyles && /*#__PURE__*/_jsx("div", {
221
- children: /*#__PURE__*/_jsx(PanelBody, {
222
- title: __('Styles'),
223
- children: /*#__PURE__*/_jsx(BlockStyles, {
224
- clientId: clientId
225
- })
226
- })
241
+ children: [hasBlockStyles && /*#__PURE__*/_jsx(BlockStylesPanel, {
242
+ clientId: clientId
227
243
  }), /*#__PURE__*/_jsx(InspectorControls.Slot, {}), /*#__PURE__*/_jsx(InspectorControls.Slot, {
228
244
  group: "list"
229
245
  }), /*#__PURE__*/_jsx(InspectorControls.Slot, {
@@ -244,7 +260,9 @@ const BlockInspectorSingleBlock = ({
244
260
  label: borderPanelLabel
245
261
  }), /*#__PURE__*/_jsx(InspectorControls.Slot, {
246
262
  group: "styles"
247
- }), /*#__PURE__*/_jsx(PositionControls, {}), /*#__PURE__*/_jsx("div", {
263
+ }), /*#__PURE__*/_jsx(PositionControls, {}), /*#__PURE__*/_jsx(InspectorControls.Slot, {
264
+ group: "bindings"
265
+ }), /*#__PURE__*/_jsx("div", {
248
266
  children: /*#__PURE__*/_jsx(AdvancedControls, {})
249
267
  })]
250
268
  }), /*#__PURE__*/_jsx(SkipToSelectedBlock, {}, "back")]
@@ -1 +1 @@
1
- {"version":3,"names":["__","getBlockType","getUnregisteredTypeHandlerName","store","blocksStore","PanelBody","__unstableMotion","motion","useSelect","SkipToSelectedBlock","BlockCard","MultiSelectionInspector","BlockVariationTransforms","useBlockDisplayInformation","blockEditorStore","BlockStyles","default","InspectorControls","InspectorControlsTabs","useInspectorControlsTabs","AdvancedControls","PositionControls","useBlockInspectorAnimationSettings","BlockInfo","BlockQuickNavigation","useBorderPanelLabel","unlock","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","BlockInspectorLockedBlocks","topLevelLockedBlock","contentClientIds","select","getClientIdsOfDescendants","getBlockName","getBlockEditingMode","filter","clientId","blockInformation","className","children","isSynced","blockClientId","Slot","length","title","clientIds","BlockInspector","showNoBlockSelectedMessage","count","selectedBlockName","selectedBlockClientId","blockType","getSelectedBlockClientId","getSelectedBlockCount","getContentLockingParent","getTemplateLock","_selectedBlockClientId","_selectedBlockName","_blockType","undefined","availableTabs","name","showTabs","blockInspectorAnimationSettings","borderPanelLabel","blockName","tabs","group","label","isSelectedBlockUnregistered","BlockInspectorSingleBlockWrapper","animate","wrapper","AnimatedContainer","BlockInspectorSingleBlock","animationOrigin","enterDirection","div","x","opacity","transition","ease","duration","initial","hasBlockStyles","getBlockStyles","blockStyles"],"sources":["@wordpress/block-editor/src/components/block-inspector/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\tgetBlockType,\n\tgetUnregisteredTypeHandlerName,\n\tstore as blocksStore,\n} from '@wordpress/blocks';\nimport { PanelBody, __unstableMotion as motion } from '@wordpress/components';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport SkipToSelectedBlock from '../skip-to-selected-block';\nimport BlockCard from '../block-card';\nimport MultiSelectionInspector from '../multi-selection-inspector';\nimport BlockVariationTransforms from '../block-variation-transforms';\nimport useBlockDisplayInformation from '../use-block-display-information';\nimport { store as blockEditorStore } from '../../store';\nimport BlockStyles from '../block-styles';\nimport { default as InspectorControls } from '../inspector-controls';\nimport { default as InspectorControlsTabs } from '../inspector-controls-tabs';\nimport useInspectorControlsTabs from '../inspector-controls-tabs/use-inspector-controls-tabs';\nimport AdvancedControls from '../inspector-controls-tabs/advanced-controls-panel';\nimport PositionControls from '../inspector-controls-tabs/position-controls-panel';\nimport useBlockInspectorAnimationSettings from './useBlockInspectorAnimationSettings';\nimport BlockInfo from '../block-info-slot-fill';\nimport BlockQuickNavigation from '../block-quick-navigation';\nimport { useBorderPanelLabel } from '../../hooks/border';\n\nimport { unlock } from '../../lock-unlock';\n\nfunction BlockInspectorLockedBlocks( { topLevelLockedBlock } ) {\n\tconst contentClientIds = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetClientIdsOfDescendants,\n\t\t\t\tgetBlockName,\n\t\t\t\tgetBlockEditingMode,\n\t\t\t} = select( blockEditorStore );\n\t\t\treturn getClientIdsOfDescendants( topLevelLockedBlock ).filter(\n\t\t\t\t( clientId ) =>\n\t\t\t\t\tgetBlockName( clientId ) !== 'core/list-item' &&\n\t\t\t\t\tgetBlockEditingMode( clientId ) === 'contentOnly'\n\t\t\t);\n\t\t},\n\t\t[ topLevelLockedBlock ]\n\t);\n\tconst blockInformation = useBlockDisplayInformation( topLevelLockedBlock );\n\treturn (\n\t\t<div className=\"block-editor-block-inspector\">\n\t\t\t<BlockCard\n\t\t\t\t{ ...blockInformation }\n\t\t\t\tclassName={ blockInformation.isSynced && 'is-synced' }\n\t\t\t/>\n\t\t\t<BlockVariationTransforms blockClientId={ topLevelLockedBlock } />\n\t\t\t<BlockInfo.Slot />\n\t\t\t{ contentClientIds.length > 0 && (\n\t\t\t\t<PanelBody title={ __( 'Content' ) }>\n\t\t\t\t\t<BlockQuickNavigation clientIds={ contentClientIds } />\n\t\t\t\t</PanelBody>\n\t\t\t) }\n\t\t</div>\n\t);\n}\n\nconst BlockInspector = ( { showNoBlockSelectedMessage = true } ) => {\n\tconst {\n\t\tcount,\n\t\tselectedBlockName,\n\t\tselectedBlockClientId,\n\t\tblockType,\n\t\ttopLevelLockedBlock,\n\t} = useSelect( ( select ) => {\n\t\tconst {\n\t\t\tgetSelectedBlockClientId,\n\t\t\tgetSelectedBlockCount,\n\t\t\tgetBlockName,\n\t\t\tgetContentLockingParent,\n\t\t\tgetTemplateLock,\n\t\t} = unlock( select( blockEditorStore ) );\n\n\t\tconst _selectedBlockClientId = getSelectedBlockClientId();\n\t\tconst _selectedBlockName =\n\t\t\t_selectedBlockClientId && getBlockName( _selectedBlockClientId );\n\t\tconst _blockType =\n\t\t\t_selectedBlockName && getBlockType( _selectedBlockName );\n\n\t\treturn {\n\t\t\tcount: getSelectedBlockCount(),\n\t\t\tselectedBlockClientId: _selectedBlockClientId,\n\t\t\tselectedBlockName: _selectedBlockName,\n\t\t\tblockType: _blockType,\n\t\t\ttopLevelLockedBlock:\n\t\t\t\tgetContentLockingParent( _selectedBlockClientId ) ||\n\t\t\t\t( getTemplateLock( _selectedBlockClientId ) === 'contentOnly' ||\n\t\t\t\t_selectedBlockName === 'core/block'\n\t\t\t\t\t? _selectedBlockClientId\n\t\t\t\t\t: undefined ),\n\t\t};\n\t}, [] );\n\n\tconst availableTabs = useInspectorControlsTabs( blockType?.name );\n\tconst showTabs = availableTabs?.length > 1;\n\n\t// The block inspector animation settings will be completely\n\t// removed in the future to create an API which allows the block\n\t// inspector to transition between what it\n\t// displays based on the relationship between the selected block\n\t// and its parent, and only enable it if the parent is controlling\n\t// its children blocks.\n\tconst blockInspectorAnimationSettings =\n\t\tuseBlockInspectorAnimationSettings( blockType );\n\n\tconst borderPanelLabel = useBorderPanelLabel( {\n\t\tblockName: selectedBlockName,\n\t} );\n\n\tif ( count > 1 ) {\n\t\treturn (\n\t\t\t<div className=\"block-editor-block-inspector\">\n\t\t\t\t<MultiSelectionInspector />\n\t\t\t\t{ showTabs ? (\n\t\t\t\t\t<InspectorControlsTabs tabs={ availableTabs } />\n\t\t\t\t) : (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<InspectorControls.Slot />\n\t\t\t\t\t\t<InspectorControls.Slot\n\t\t\t\t\t\t\tgroup=\"color\"\n\t\t\t\t\t\t\tlabel={ __( 'Color' ) }\n\t\t\t\t\t\t\tclassName=\"color-block-support-panel__inner-wrapper\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<InspectorControls.Slot\n\t\t\t\t\t\t\tgroup=\"background\"\n\t\t\t\t\t\t\tlabel={ __( 'Background image' ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<InspectorControls.Slot\n\t\t\t\t\t\t\tgroup=\"typography\"\n\t\t\t\t\t\t\tlabel={ __( 'Typography' ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<InspectorControls.Slot\n\t\t\t\t\t\t\tgroup=\"dimensions\"\n\t\t\t\t\t\t\tlabel={ __( 'Dimensions' ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<InspectorControls.Slot\n\t\t\t\t\t\t\tgroup=\"border\"\n\t\t\t\t\t\t\tlabel={ borderPanelLabel }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<InspectorControls.Slot group=\"styles\" />\n\t\t\t\t\t</>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t);\n\t}\n\n\tconst isSelectedBlockUnregistered =\n\t\tselectedBlockName === getUnregisteredTypeHandlerName();\n\n\t/*\n\t * If the selected block is of an unregistered type, avoid showing it as an actual selection\n\t * because we want the user to focus on the unregistered block warning, not block settings.\n\t */\n\tif (\n\t\t! blockType ||\n\t\t! selectedBlockClientId ||\n\t\tisSelectedBlockUnregistered\n\t) {\n\t\tif ( showNoBlockSelectedMessage ) {\n\t\t\treturn (\n\t\t\t\t<span className=\"block-editor-block-inspector__no-blocks\">\n\t\t\t\t\t{ __( 'No block selected.' ) }\n\t\t\t\t</span>\n\t\t\t);\n\t\t}\n\t\treturn null;\n\t}\n\tif ( topLevelLockedBlock ) {\n\t\treturn (\n\t\t\t<BlockInspectorLockedBlocks\n\t\t\t\ttopLevelLockedBlock={ topLevelLockedBlock }\n\t\t\t/>\n\t\t);\n\t}\n\n\treturn (\n\t\t<BlockInspectorSingleBlockWrapper\n\t\t\tanimate={ blockInspectorAnimationSettings }\n\t\t\twrapper={ ( children ) => (\n\t\t\t\t<AnimatedContainer\n\t\t\t\t\tblockInspectorAnimationSettings={\n\t\t\t\t\t\tblockInspectorAnimationSettings\n\t\t\t\t\t}\n\t\t\t\t\tselectedBlockClientId={ selectedBlockClientId }\n\t\t\t\t>\n\t\t\t\t\t{ children }\n\t\t\t\t</AnimatedContainer>\n\t\t\t) }\n\t\t>\n\t\t\t<BlockInspectorSingleBlock\n\t\t\t\tclientId={ selectedBlockClientId }\n\t\t\t\tblockName={ blockType.name }\n\t\t\t/>\n\t\t</BlockInspectorSingleBlockWrapper>\n\t);\n};\n\nconst BlockInspectorSingleBlockWrapper = ( { animate, wrapper, children } ) => {\n\treturn animate ? wrapper( children ) : children;\n};\n\nconst AnimatedContainer = ( {\n\tblockInspectorAnimationSettings,\n\tselectedBlockClientId,\n\tchildren,\n} ) => {\n\tconst animationOrigin =\n\t\tblockInspectorAnimationSettings &&\n\t\tblockInspectorAnimationSettings.enterDirection === 'leftToRight'\n\t\t\t? -50\n\t\t\t: 50;\n\n\treturn (\n\t\t<motion.div\n\t\t\tanimate={ {\n\t\t\t\tx: 0,\n\t\t\t\topacity: 1,\n\t\t\t\ttransition: {\n\t\t\t\t\tease: 'easeInOut',\n\t\t\t\t\tduration: 0.14,\n\t\t\t\t},\n\t\t\t} }\n\t\t\tinitial={ {\n\t\t\t\tx: animationOrigin,\n\t\t\t\topacity: 0,\n\t\t\t} }\n\t\t\tkey={ selectedBlockClientId }\n\t\t>\n\t\t\t{ children }\n\t\t</motion.div>\n\t);\n};\n\nconst BlockInspectorSingleBlock = ( { clientId, blockName } ) => {\n\tconst availableTabs = useInspectorControlsTabs( blockName );\n\tconst showTabs = availableTabs?.length > 1;\n\n\tconst hasBlockStyles = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlockStyles } = select( blocksStore );\n\t\t\tconst blockStyles = getBlockStyles( blockName );\n\t\t\treturn blockStyles && blockStyles.length > 0;\n\t\t},\n\t\t[ blockName ]\n\t);\n\tconst blockInformation = useBlockDisplayInformation( clientId );\n\tconst borderPanelLabel = useBorderPanelLabel( { blockName } );\n\n\treturn (\n\t\t<div className=\"block-editor-block-inspector\">\n\t\t\t<BlockCard\n\t\t\t\t{ ...blockInformation }\n\t\t\t\tclassName={ blockInformation.isSynced && 'is-synced' }\n\t\t\t/>\n\t\t\t<BlockVariationTransforms blockClientId={ clientId } />\n\t\t\t<BlockInfo.Slot />\n\t\t\t{ showTabs && (\n\t\t\t\t<InspectorControlsTabs\n\t\t\t\t\thasBlockStyles={ hasBlockStyles }\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tblockName={ blockName }\n\t\t\t\t\ttabs={ availableTabs }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ ! showTabs && (\n\t\t\t\t<>\n\t\t\t\t\t{ hasBlockStyles && (\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t<PanelBody title={ __( 'Styles' ) }>\n\t\t\t\t\t\t\t\t<BlockStyles clientId={ clientId } />\n\t\t\t\t\t\t\t</PanelBody>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) }\n\t\t\t\t\t<InspectorControls.Slot />\n\t\t\t\t\t<InspectorControls.Slot group=\"list\" />\n\t\t\t\t\t<InspectorControls.Slot\n\t\t\t\t\t\tgroup=\"color\"\n\t\t\t\t\t\tlabel={ __( 'Color' ) }\n\t\t\t\t\t\tclassName=\"color-block-support-panel__inner-wrapper\"\n\t\t\t\t\t/>\n\t\t\t\t\t<InspectorControls.Slot\n\t\t\t\t\t\tgroup=\"background\"\n\t\t\t\t\t\tlabel={ __( 'Background image' ) }\n\t\t\t\t\t/>\n\t\t\t\t\t<InspectorControls.Slot\n\t\t\t\t\t\tgroup=\"typography\"\n\t\t\t\t\t\tlabel={ __( 'Typography' ) }\n\t\t\t\t\t/>\n\t\t\t\t\t<InspectorControls.Slot\n\t\t\t\t\t\tgroup=\"dimensions\"\n\t\t\t\t\t\tlabel={ __( 'Dimensions' ) }\n\t\t\t\t\t/>\n\t\t\t\t\t<InspectorControls.Slot\n\t\t\t\t\t\tgroup=\"border\"\n\t\t\t\t\t\tlabel={ borderPanelLabel }\n\t\t\t\t\t/>\n\t\t\t\t\t<InspectorControls.Slot group=\"styles\" />\n\t\t\t\t\t<PositionControls />\n\t\t\t\t\t<div>\n\t\t\t\t\t\t<AdvancedControls />\n\t\t\t\t\t</div>\n\t\t\t\t</>\n\t\t\t) }\n\t\t\t<SkipToSelectedBlock key=\"back\" />\n\t\t</div>\n\t);\n};\n\n/**\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/block-inspector/README.md\n */\nexport default BlockInspector;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["__","getBlockType","getUnregisteredTypeHandlerName","store","blocksStore","PanelBody","__unstableMotion","motion","useSelect","SkipToSelectedBlock","BlockCard","MultiSelectionInspector","BlockVariationTransforms","useBlockDisplayInformation","blockEditorStore","BlockStyles","default","InspectorControls","InspectorControlsTabs","useInspectorControlsTabs","AdvancedControls","PositionControls","useBlockInspectorAnimationSettings","BlockInfo","BlockQuickNavigation","useBorderPanelLabel","unlock","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","BlockStylesPanel","clientId","title","children","BlockInspectorLockedBlocks","topLevelLockedBlock","contentClientIds","select","getClientIdsOfDescendants","getBlockName","getBlockEditingMode","filter","hasBlockStyles","getBlockStyles","length","blockInformation","className","isSynced","blockClientId","Slot","clientIds","BlockInspector","showNoBlockSelectedMessage","count","selectedBlockName","selectedBlockClientId","blockType","getSelectedBlockClientId","getSelectedBlockCount","getContentLockingParent","getTemplateLock","_selectedBlockClientId","_selectedBlockName","_blockType","undefined","availableTabs","name","showTabs","blockInspectorAnimationSettings","borderPanelLabel","blockName","tabs","group","label","isSelectedBlockUnregistered","BlockInspectorSingleBlockWrapper","animate","wrapper","AnimatedContainer","BlockInspectorSingleBlock","animationOrigin","enterDirection","div","x","opacity","transition","ease","duration","initial","blockStyles"],"sources":["@wordpress/block-editor/src/components/block-inspector/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\tgetBlockType,\n\tgetUnregisteredTypeHandlerName,\n\tstore as blocksStore,\n} from '@wordpress/blocks';\nimport { PanelBody, __unstableMotion as motion } from '@wordpress/components';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport SkipToSelectedBlock from '../skip-to-selected-block';\nimport BlockCard from '../block-card';\nimport MultiSelectionInspector from '../multi-selection-inspector';\nimport BlockVariationTransforms from '../block-variation-transforms';\nimport useBlockDisplayInformation from '../use-block-display-information';\nimport { store as blockEditorStore } from '../../store';\nimport BlockStyles from '../block-styles';\nimport { default as InspectorControls } from '../inspector-controls';\nimport { default as InspectorControlsTabs } from '../inspector-controls-tabs';\nimport useInspectorControlsTabs from '../inspector-controls-tabs/use-inspector-controls-tabs';\nimport AdvancedControls from '../inspector-controls-tabs/advanced-controls-panel';\nimport PositionControls from '../inspector-controls-tabs/position-controls-panel';\nimport useBlockInspectorAnimationSettings from './useBlockInspectorAnimationSettings';\nimport BlockInfo from '../block-info-slot-fill';\nimport BlockQuickNavigation from '../block-quick-navigation';\nimport { useBorderPanelLabel } from '../../hooks/border';\n\nimport { unlock } from '../../lock-unlock';\n\nfunction BlockStylesPanel( { clientId } ) {\n\treturn (\n\t\t<PanelBody title={ __( 'Styles' ) }>\n\t\t\t<BlockStyles clientId={ clientId } />\n\t\t</PanelBody>\n\t);\n}\n\nfunction BlockInspectorLockedBlocks( { topLevelLockedBlock } ) {\n\tconst contentClientIds = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetClientIdsOfDescendants,\n\t\t\t\tgetBlockName,\n\t\t\t\tgetBlockEditingMode,\n\t\t\t} = select( blockEditorStore );\n\t\t\treturn getClientIdsOfDescendants( topLevelLockedBlock ).filter(\n\t\t\t\t( clientId ) =>\n\t\t\t\t\tgetBlockName( clientId ) !== 'core/list-item' &&\n\t\t\t\t\tgetBlockEditingMode( clientId ) === 'contentOnly'\n\t\t\t);\n\t\t},\n\t\t[ topLevelLockedBlock ]\n\t);\n\tconst hasBlockStyles = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlockName } = select( blockEditorStore );\n\t\t\tconst { getBlockStyles } = select( blocksStore );\n\t\t\treturn !! getBlockStyles( getBlockName( topLevelLockedBlock ) )\n\t\t\t\t?.length;\n\t\t},\n\t\t[ topLevelLockedBlock ]\n\t);\n\tconst blockInformation = useBlockDisplayInformation( topLevelLockedBlock );\n\treturn (\n\t\t<div className=\"block-editor-block-inspector\">\n\t\t\t<BlockCard\n\t\t\t\t{ ...blockInformation }\n\t\t\t\tclassName={ blockInformation.isSynced && 'is-synced' }\n\t\t\t/>\n\t\t\t<BlockVariationTransforms blockClientId={ topLevelLockedBlock } />\n\t\t\t<BlockInfo.Slot />\n\t\t\t{ hasBlockStyles && (\n\t\t\t\t<BlockStylesPanel clientId={ topLevelLockedBlock } />\n\t\t\t) }\n\t\t\t{ contentClientIds.length > 0 && (\n\t\t\t\t<PanelBody title={ __( 'Content' ) }>\n\t\t\t\t\t<BlockQuickNavigation clientIds={ contentClientIds } />\n\t\t\t\t</PanelBody>\n\t\t\t) }\n\t\t</div>\n\t);\n}\n\nconst BlockInspector = ( { showNoBlockSelectedMessage = true } ) => {\n\tconst {\n\t\tcount,\n\t\tselectedBlockName,\n\t\tselectedBlockClientId,\n\t\tblockType,\n\t\ttopLevelLockedBlock,\n\t} = useSelect( ( select ) => {\n\t\tconst {\n\t\t\tgetSelectedBlockClientId,\n\t\t\tgetSelectedBlockCount,\n\t\t\tgetBlockName,\n\t\t\tgetContentLockingParent,\n\t\t\tgetTemplateLock,\n\t\t} = unlock( select( blockEditorStore ) );\n\t\tconst _selectedBlockClientId = getSelectedBlockClientId();\n\t\tconst _selectedBlockName =\n\t\t\t_selectedBlockClientId && getBlockName( _selectedBlockClientId );\n\t\tconst _blockType =\n\t\t\t_selectedBlockName && getBlockType( _selectedBlockName );\n\n\t\treturn {\n\t\t\tcount: getSelectedBlockCount(),\n\t\t\tselectedBlockClientId: _selectedBlockClientId,\n\t\t\tselectedBlockName: _selectedBlockName,\n\t\t\tblockType: _blockType,\n\t\t\ttopLevelLockedBlock:\n\t\t\t\tgetContentLockingParent( _selectedBlockClientId ) ||\n\t\t\t\t( getTemplateLock( _selectedBlockClientId ) === 'contentOnly' ||\n\t\t\t\t_selectedBlockName === 'core/block'\n\t\t\t\t\t? _selectedBlockClientId\n\t\t\t\t\t: undefined ),\n\t\t};\n\t}, [] );\n\n\tconst availableTabs = useInspectorControlsTabs( blockType?.name );\n\tconst showTabs = availableTabs?.length > 1;\n\n\t// The block inspector animation settings will be completely\n\t// removed in the future to create an API which allows the block\n\t// inspector to transition between what it\n\t// displays based on the relationship between the selected block\n\t// and its parent, and only enable it if the parent is controlling\n\t// its children blocks.\n\tconst blockInspectorAnimationSettings =\n\t\tuseBlockInspectorAnimationSettings( blockType );\n\n\tconst borderPanelLabel = useBorderPanelLabel( {\n\t\tblockName: selectedBlockName,\n\t} );\n\n\tif ( count > 1 ) {\n\t\treturn (\n\t\t\t<div className=\"block-editor-block-inspector\">\n\t\t\t\t<MultiSelectionInspector />\n\t\t\t\t{ showTabs ? (\n\t\t\t\t\t<InspectorControlsTabs tabs={ availableTabs } />\n\t\t\t\t) : (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<InspectorControls.Slot />\n\t\t\t\t\t\t<InspectorControls.Slot\n\t\t\t\t\t\t\tgroup=\"color\"\n\t\t\t\t\t\t\tlabel={ __( 'Color' ) }\n\t\t\t\t\t\t\tclassName=\"color-block-support-panel__inner-wrapper\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<InspectorControls.Slot\n\t\t\t\t\t\t\tgroup=\"background\"\n\t\t\t\t\t\t\tlabel={ __( 'Background image' ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<InspectorControls.Slot\n\t\t\t\t\t\t\tgroup=\"typography\"\n\t\t\t\t\t\t\tlabel={ __( 'Typography' ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<InspectorControls.Slot\n\t\t\t\t\t\t\tgroup=\"dimensions\"\n\t\t\t\t\t\t\tlabel={ __( 'Dimensions' ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<InspectorControls.Slot\n\t\t\t\t\t\t\tgroup=\"border\"\n\t\t\t\t\t\t\tlabel={ borderPanelLabel }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<InspectorControls.Slot group=\"styles\" />\n\t\t\t\t\t</>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t);\n\t}\n\n\tconst isSelectedBlockUnregistered =\n\t\tselectedBlockName === getUnregisteredTypeHandlerName();\n\n\t/*\n\t * If the selected block is of an unregistered type, avoid showing it as an actual selection\n\t * because we want the user to focus on the unregistered block warning, not block settings.\n\t */\n\tif (\n\t\t! blockType ||\n\t\t! selectedBlockClientId ||\n\t\tisSelectedBlockUnregistered\n\t) {\n\t\tif ( showNoBlockSelectedMessage ) {\n\t\t\treturn (\n\t\t\t\t<span className=\"block-editor-block-inspector__no-blocks\">\n\t\t\t\t\t{ __( 'No block selected.' ) }\n\t\t\t\t</span>\n\t\t\t);\n\t\t}\n\t\treturn null;\n\t}\n\tif ( topLevelLockedBlock ) {\n\t\treturn (\n\t\t\t<BlockInspectorLockedBlocks\n\t\t\t\ttopLevelLockedBlock={ topLevelLockedBlock }\n\t\t\t/>\n\t\t);\n\t}\n\n\treturn (\n\t\t<BlockInspectorSingleBlockWrapper\n\t\t\tanimate={ blockInspectorAnimationSettings }\n\t\t\twrapper={ ( children ) => (\n\t\t\t\t<AnimatedContainer\n\t\t\t\t\tblockInspectorAnimationSettings={\n\t\t\t\t\t\tblockInspectorAnimationSettings\n\t\t\t\t\t}\n\t\t\t\t\tselectedBlockClientId={ selectedBlockClientId }\n\t\t\t\t>\n\t\t\t\t\t{ children }\n\t\t\t\t</AnimatedContainer>\n\t\t\t) }\n\t\t>\n\t\t\t<BlockInspectorSingleBlock\n\t\t\t\tclientId={ selectedBlockClientId }\n\t\t\t\tblockName={ blockType.name }\n\t\t\t/>\n\t\t</BlockInspectorSingleBlockWrapper>\n\t);\n};\n\nconst BlockInspectorSingleBlockWrapper = ( { animate, wrapper, children } ) => {\n\treturn animate ? wrapper( children ) : children;\n};\n\nconst AnimatedContainer = ( {\n\tblockInspectorAnimationSettings,\n\tselectedBlockClientId,\n\tchildren,\n} ) => {\n\tconst animationOrigin =\n\t\tblockInspectorAnimationSettings &&\n\t\tblockInspectorAnimationSettings.enterDirection === 'leftToRight'\n\t\t\t? -50\n\t\t\t: 50;\n\n\treturn (\n\t\t<motion.div\n\t\t\tanimate={ {\n\t\t\t\tx: 0,\n\t\t\t\topacity: 1,\n\t\t\t\ttransition: {\n\t\t\t\t\tease: 'easeInOut',\n\t\t\t\t\tduration: 0.14,\n\t\t\t\t},\n\t\t\t} }\n\t\t\tinitial={ {\n\t\t\t\tx: animationOrigin,\n\t\t\t\topacity: 0,\n\t\t\t} }\n\t\t\tkey={ selectedBlockClientId }\n\t\t>\n\t\t\t{ children }\n\t\t</motion.div>\n\t);\n};\n\nconst BlockInspectorSingleBlock = ( { clientId, blockName } ) => {\n\tconst availableTabs = useInspectorControlsTabs( blockName );\n\tconst showTabs = availableTabs?.length > 1;\n\n\tconst hasBlockStyles = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlockStyles } = select( blocksStore );\n\t\t\tconst blockStyles = getBlockStyles( blockName );\n\t\t\treturn blockStyles && blockStyles.length > 0;\n\t\t},\n\t\t[ blockName ]\n\t);\n\tconst blockInformation = useBlockDisplayInformation( clientId );\n\tconst borderPanelLabel = useBorderPanelLabel( { blockName } );\n\n\treturn (\n\t\t<div className=\"block-editor-block-inspector\">\n\t\t\t<BlockCard\n\t\t\t\t{ ...blockInformation }\n\t\t\t\tclassName={ blockInformation.isSynced && 'is-synced' }\n\t\t\t/>\n\t\t\t<BlockVariationTransforms blockClientId={ clientId } />\n\t\t\t<BlockInfo.Slot />\n\t\t\t{ showTabs && (\n\t\t\t\t<InspectorControlsTabs\n\t\t\t\t\thasBlockStyles={ hasBlockStyles }\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tblockName={ blockName }\n\t\t\t\t\ttabs={ availableTabs }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ ! showTabs && (\n\t\t\t\t<>\n\t\t\t\t\t{ hasBlockStyles && (\n\t\t\t\t\t\t<BlockStylesPanel clientId={ clientId } />\n\t\t\t\t\t) }\n\t\t\t\t\t<InspectorControls.Slot />\n\t\t\t\t\t<InspectorControls.Slot group=\"list\" />\n\t\t\t\t\t<InspectorControls.Slot\n\t\t\t\t\t\tgroup=\"color\"\n\t\t\t\t\t\tlabel={ __( 'Color' ) }\n\t\t\t\t\t\tclassName=\"color-block-support-panel__inner-wrapper\"\n\t\t\t\t\t/>\n\t\t\t\t\t<InspectorControls.Slot\n\t\t\t\t\t\tgroup=\"background\"\n\t\t\t\t\t\tlabel={ __( 'Background image' ) }\n\t\t\t\t\t/>\n\t\t\t\t\t<InspectorControls.Slot\n\t\t\t\t\t\tgroup=\"typography\"\n\t\t\t\t\t\tlabel={ __( 'Typography' ) }\n\t\t\t\t\t/>\n\t\t\t\t\t<InspectorControls.Slot\n\t\t\t\t\t\tgroup=\"dimensions\"\n\t\t\t\t\t\tlabel={ __( 'Dimensions' ) }\n\t\t\t\t\t/>\n\t\t\t\t\t<InspectorControls.Slot\n\t\t\t\t\t\tgroup=\"border\"\n\t\t\t\t\t\tlabel={ borderPanelLabel }\n\t\t\t\t\t/>\n\t\t\t\t\t<InspectorControls.Slot group=\"styles\" />\n\t\t\t\t\t<PositionControls />\n\t\t\t\t\t<InspectorControls.Slot group=\"bindings\" />\n\t\t\t\t\t<div>\n\t\t\t\t\t\t<AdvancedControls />\n\t\t\t\t\t</div>\n\t\t\t\t</>\n\t\t\t) }\n\t\t\t<SkipToSelectedBlock key=\"back\" />\n\t\t</div>\n\t);\n};\n\n/**\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/block-inspector/README.md\n */\nexport default BlockInspector;\n"],"mappings":"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","ignoreList":[]}
@@ -79,13 +79,16 @@ export default function BlockInvalidWarning({
79
79
  }].filter(Boolean), [canInsertHTMLBlock, canInsertClassicBlock, convert]);
80
80
  return /*#__PURE__*/_jsxs(_Fragment, {
81
81
  children: [/*#__PURE__*/_jsx(Warning, {
82
- actions: [/*#__PURE__*/_jsx(Button, {
82
+ actions: [/*#__PURE__*/_jsx(Button
83
+ // TODO: Switch to `true` (40px size) if possible
84
+ , {
85
+ __next40pxDefaultSize: false,
83
86
  onClick: convert.toRecoveredBlock,
84
87
  variant: "primary",
85
- children: __('Attempt Block Recovery')
88
+ children: __('Attempt recovery')
86
89
  }, "recover")],
87
90
  secondaryActions: secondaryActions,
88
- children: __('This block contains unexpected or invalid content.')
91
+ children: __('Block contains unexpected or invalid content.')
89
92
  }), compare && /*#__PURE__*/_jsx(Modal, {
90
93
  title:
91
94
  // translators: Dialog title to fix block content
@@ -1 +1 @@
1
- {"version":3,"names":["__","_x","Button","Modal","useState","useCallback","useMemo","createBlock","rawHandler","useDispatch","useSelect","Warning","BlockCompare","store","blockEditorStore","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","blockToBlocks","block","HTML","originalContent","BlockInvalidWarning","clientId","canInsertHTMLBlock","canInsertClassicBlock","select","canInsertBlockType","getBlock","getBlockRootClientId","rootClientId","replaceBlock","compare","setCompare","onCompareClose","convert","toClassic","classicBlock","content","toHTML","htmlBlock","toBlocks","newBlocks","toRecoveredBlock","recoveredBlock","name","attributes","innerBlocks","secondaryActions","title","onClick","filter","Boolean","children","actions","variant","onRequestClose","className","onKeep","onConvert","convertor","convertButtonText"],"sources":["@wordpress/block-editor/src/components/block-list/block-invalid-warning.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, _x } from '@wordpress/i18n';\nimport { Button, Modal } from '@wordpress/components';\nimport { useState, useCallback, useMemo } from '@wordpress/element';\nimport { createBlock, rawHandler } from '@wordpress/blocks';\nimport { useDispatch, useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport Warning from '../warning';\nimport BlockCompare from '../block-compare';\nimport { store as blockEditorStore } from '../../store';\n\nconst blockToBlocks = ( block ) =>\n\trawHandler( {\n\t\tHTML: block.originalContent,\n\t} );\n\nexport default function BlockInvalidWarning( { clientId } ) {\n\tconst { block, canInsertHTMLBlock, canInsertClassicBlock } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { canInsertBlockType, getBlock, getBlockRootClientId } =\n\t\t\t\tselect( blockEditorStore );\n\n\t\t\tconst rootClientId = getBlockRootClientId( clientId );\n\n\t\t\treturn {\n\t\t\t\tblock: getBlock( clientId ),\n\t\t\t\tcanInsertHTMLBlock: canInsertBlockType(\n\t\t\t\t\t'core/html',\n\t\t\t\t\trootClientId\n\t\t\t\t),\n\t\t\t\tcanInsertClassicBlock: canInsertBlockType(\n\t\t\t\t\t'core/freeform',\n\t\t\t\t\trootClientId\n\t\t\t\t),\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\tconst { replaceBlock } = useDispatch( blockEditorStore );\n\n\tconst [ compare, setCompare ] = useState( false );\n\tconst onCompareClose = useCallback( () => setCompare( false ), [] );\n\n\tconst convert = useMemo(\n\t\t() => ( {\n\t\t\ttoClassic() {\n\t\t\t\tconst classicBlock = createBlock( 'core/freeform', {\n\t\t\t\t\tcontent: block.originalContent,\n\t\t\t\t} );\n\t\t\t\treturn replaceBlock( block.clientId, classicBlock );\n\t\t\t},\n\t\t\ttoHTML() {\n\t\t\t\tconst htmlBlock = createBlock( 'core/html', {\n\t\t\t\t\tcontent: block.originalContent,\n\t\t\t\t} );\n\t\t\t\treturn replaceBlock( block.clientId, htmlBlock );\n\t\t\t},\n\t\t\ttoBlocks() {\n\t\t\t\tconst newBlocks = blockToBlocks( block );\n\t\t\t\treturn replaceBlock( block.clientId, newBlocks );\n\t\t\t},\n\t\t\ttoRecoveredBlock() {\n\t\t\t\tconst recoveredBlock = createBlock(\n\t\t\t\t\tblock.name,\n\t\t\t\t\tblock.attributes,\n\t\t\t\t\tblock.innerBlocks\n\t\t\t\t);\n\t\t\t\treturn replaceBlock( block.clientId, recoveredBlock );\n\t\t\t},\n\t\t} ),\n\t\t[ block, replaceBlock ]\n\t);\n\n\tconst secondaryActions = useMemo(\n\t\t() =>\n\t\t\t[\n\t\t\t\t{\n\t\t\t\t\t// translators: Button to fix block content\n\t\t\t\t\ttitle: _x( 'Resolve', 'imperative verb' ),\n\t\t\t\t\tonClick: () => setCompare( true ),\n\t\t\t\t},\n\t\t\t\tcanInsertHTMLBlock && {\n\t\t\t\t\ttitle: __( 'Convert to HTML' ),\n\t\t\t\t\tonClick: convert.toHTML,\n\t\t\t\t},\n\t\t\t\tcanInsertClassicBlock && {\n\t\t\t\t\ttitle: __( 'Convert to Classic Block' ),\n\t\t\t\t\tonClick: convert.toClassic,\n\t\t\t\t},\n\t\t\t].filter( Boolean ),\n\t\t[ canInsertHTMLBlock, canInsertClassicBlock, convert ]\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t<Warning\n\t\t\t\tactions={ [\n\t\t\t\t\t<Button\n\t\t\t\t\t\tkey=\"recover\"\n\t\t\t\t\t\tonClick={ convert.toRecoveredBlock }\n\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Attempt Block Recovery' ) }\n\t\t\t\t\t</Button>,\n\t\t\t\t] }\n\t\t\t\tsecondaryActions={ secondaryActions }\n\t\t\t>\n\t\t\t\t{ __( 'This block contains unexpected or invalid content.' ) }\n\t\t\t</Warning>\n\t\t\t{ compare && (\n\t\t\t\t<Modal\n\t\t\t\t\ttitle={\n\t\t\t\t\t\t// translators: Dialog title to fix block content\n\t\t\t\t\t\t__( 'Resolve Block' )\n\t\t\t\t\t}\n\t\t\t\t\tonRequestClose={ onCompareClose }\n\t\t\t\t\tclassName=\"block-editor-block-compare\"\n\t\t\t\t>\n\t\t\t\t\t<BlockCompare\n\t\t\t\t\t\tblock={ block }\n\t\t\t\t\t\tonKeep={ convert.toHTML }\n\t\t\t\t\t\tonConvert={ convert.toBlocks }\n\t\t\t\t\t\tconvertor={ blockToBlocks }\n\t\t\t\t\t\tconvertButtonText={ __( 'Convert to Blocks' ) }\n\t\t\t\t\t/>\n\t\t\t\t</Modal>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["__","_x","Button","Modal","useState","useCallback","useMemo","createBlock","rawHandler","useDispatch","useSelect","Warning","BlockCompare","store","blockEditorStore","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","blockToBlocks","block","HTML","originalContent","BlockInvalidWarning","clientId","canInsertHTMLBlock","canInsertClassicBlock","select","canInsertBlockType","getBlock","getBlockRootClientId","rootClientId","replaceBlock","compare","setCompare","onCompareClose","convert","toClassic","classicBlock","content","toHTML","htmlBlock","toBlocks","newBlocks","toRecoveredBlock","recoveredBlock","name","attributes","innerBlocks","secondaryActions","title","onClick","filter","Boolean","children","actions","__next40pxDefaultSize","variant","onRequestClose","className","onKeep","onConvert","convertor","convertButtonText"],"sources":["@wordpress/block-editor/src/components/block-list/block-invalid-warning.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, _x } from '@wordpress/i18n';\nimport { Button, Modal } from '@wordpress/components';\nimport { useState, useCallback, useMemo } from '@wordpress/element';\nimport { createBlock, rawHandler } from '@wordpress/blocks';\nimport { useDispatch, useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport Warning from '../warning';\nimport BlockCompare from '../block-compare';\nimport { store as blockEditorStore } from '../../store';\n\nconst blockToBlocks = ( block ) =>\n\trawHandler( {\n\t\tHTML: block.originalContent,\n\t} );\n\nexport default function BlockInvalidWarning( { clientId } ) {\n\tconst { block, canInsertHTMLBlock, canInsertClassicBlock } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { canInsertBlockType, getBlock, getBlockRootClientId } =\n\t\t\t\tselect( blockEditorStore );\n\n\t\t\tconst rootClientId = getBlockRootClientId( clientId );\n\n\t\t\treturn {\n\t\t\t\tblock: getBlock( clientId ),\n\t\t\t\tcanInsertHTMLBlock: canInsertBlockType(\n\t\t\t\t\t'core/html',\n\t\t\t\t\trootClientId\n\t\t\t\t),\n\t\t\t\tcanInsertClassicBlock: canInsertBlockType(\n\t\t\t\t\t'core/freeform',\n\t\t\t\t\trootClientId\n\t\t\t\t),\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\tconst { replaceBlock } = useDispatch( blockEditorStore );\n\n\tconst [ compare, setCompare ] = useState( false );\n\tconst onCompareClose = useCallback( () => setCompare( false ), [] );\n\n\tconst convert = useMemo(\n\t\t() => ( {\n\t\t\ttoClassic() {\n\t\t\t\tconst classicBlock = createBlock( 'core/freeform', {\n\t\t\t\t\tcontent: block.originalContent,\n\t\t\t\t} );\n\t\t\t\treturn replaceBlock( block.clientId, classicBlock );\n\t\t\t},\n\t\t\ttoHTML() {\n\t\t\t\tconst htmlBlock = createBlock( 'core/html', {\n\t\t\t\t\tcontent: block.originalContent,\n\t\t\t\t} );\n\t\t\t\treturn replaceBlock( block.clientId, htmlBlock );\n\t\t\t},\n\t\t\ttoBlocks() {\n\t\t\t\tconst newBlocks = blockToBlocks( block );\n\t\t\t\treturn replaceBlock( block.clientId, newBlocks );\n\t\t\t},\n\t\t\ttoRecoveredBlock() {\n\t\t\t\tconst recoveredBlock = createBlock(\n\t\t\t\t\tblock.name,\n\t\t\t\t\tblock.attributes,\n\t\t\t\t\tblock.innerBlocks\n\t\t\t\t);\n\t\t\t\treturn replaceBlock( block.clientId, recoveredBlock );\n\t\t\t},\n\t\t} ),\n\t\t[ block, replaceBlock ]\n\t);\n\n\tconst secondaryActions = useMemo(\n\t\t() =>\n\t\t\t[\n\t\t\t\t{\n\t\t\t\t\t// translators: Button to fix block content\n\t\t\t\t\ttitle: _x( 'Resolve', 'imperative verb' ),\n\t\t\t\t\tonClick: () => setCompare( true ),\n\t\t\t\t},\n\t\t\t\tcanInsertHTMLBlock && {\n\t\t\t\t\ttitle: __( 'Convert to HTML' ),\n\t\t\t\t\tonClick: convert.toHTML,\n\t\t\t\t},\n\t\t\t\tcanInsertClassicBlock && {\n\t\t\t\t\ttitle: __( 'Convert to Classic Block' ),\n\t\t\t\t\tonClick: convert.toClassic,\n\t\t\t\t},\n\t\t\t].filter( Boolean ),\n\t\t[ canInsertHTMLBlock, canInsertClassicBlock, convert ]\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t<Warning\n\t\t\t\tactions={ [\n\t\t\t\t\t<Button\n\t\t\t\t\t\t// TODO: Switch to `true` (40px size) if possible\n\t\t\t\t\t\t__next40pxDefaultSize={ false }\n\t\t\t\t\t\tkey=\"recover\"\n\t\t\t\t\t\tonClick={ convert.toRecoveredBlock }\n\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Attempt recovery' ) }\n\t\t\t\t\t</Button>,\n\t\t\t\t] }\n\t\t\t\tsecondaryActions={ secondaryActions }\n\t\t\t>\n\t\t\t\t{ __( 'Block contains unexpected or invalid content.' ) }\n\t\t\t</Warning>\n\t\t\t{ compare && (\n\t\t\t\t<Modal\n\t\t\t\t\ttitle={\n\t\t\t\t\t\t// translators: Dialog title to fix block content\n\t\t\t\t\t\t__( 'Resolve Block' )\n\t\t\t\t\t}\n\t\t\t\t\tonRequestClose={ onCompareClose }\n\t\t\t\t\tclassName=\"block-editor-block-compare\"\n\t\t\t\t>\n\t\t\t\t\t<BlockCompare\n\t\t\t\t\t\tblock={ block }\n\t\t\t\t\t\tonKeep={ convert.toHTML }\n\t\t\t\t\t\tonConvert={ convert.toBlocks }\n\t\t\t\t\t\tconvertor={ blockToBlocks }\n\t\t\t\t\t\tconvertButtonText={ __( 'Convert to Blocks' ) }\n\t\t\t\t\t/>\n\t\t\t\t</Modal>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
@@ -512,6 +512,7 @@ function BlockListBlockProvider(props) {
512
512
  // block" to be found in the content, as the block itself is valid.
513
513
  const blocksWithSameName = multiple ? [] : getBlocksByName(blockName);
514
514
  const isInvalid = blocksWithSameName.length && blocksWithSameName[0] !== clientId;
515
+ const editorMode = __unstableGetEditorMode();
515
516
  return {
516
517
  ...previewContext,
517
518
  mode: getBlockMode(clientId),
@@ -527,9 +528,10 @@ function BlockListBlockProvider(props) {
527
528
  mayDisplayParentControls: _hasBlockSupport(getBlockName(clientId), '__experimentalExposeControlsToChildren', false) && hasSelectedInnerBlock(clientId),
528
529
  blockApiVersion: blockType?.apiVersion || 1,
529
530
  blockTitle: match?.title || blockType?.title,
531
+ editorMode,
530
532
  isSubtreeDisabled: blockEditingMode === 'disabled' && isBlockSubtreeDisabled(clientId),
531
533
  hasOverlay: __unstableHasActiveBlockOverlayActive(clientId) && !isDragging(),
532
- initialPosition: _isSelected && (__unstableGetEditorMode() === 'edit' || __unstableGetEditorMode() === 'zoom-out') // Don't recalculate the initialPosition when toggling in/out of zoom-out mode
534
+ initialPosition: _isSelected && (editorMode === 'edit' || editorMode === 'zoom-out') // Don't recalculate the initialPosition when toggling in/out of zoom-out mode
533
535
  ? getSelectedBlocksInitialCaretPosition() : undefined,
534
536
  isHighlighted: isBlockHighlighted(clientId),
535
537
  isMultiSelected,
@@ -560,6 +562,7 @@ function BlockListBlockProvider(props) {
560
562
  themeSupportsLayout,
561
563
  isTemporarilyEditingAsBlocks,
562
564
  blockEditingMode,
565
+ editorMode,
563
566
  mayDisplayControls,
564
567
  mayDisplayParentControls,
565
568
  index,
@@ -613,6 +616,7 @@ function BlockListBlockProvider(props) {
613
616
  hasOverlay,
614
617
  initialPosition,
615
618
  blockEditingMode,
619
+ editorMode,
616
620
  isHighlighted,
617
621
  isMultiSelected,
618
622
  isPartiallySelected,
@@ -1 +1 @@
1
- {"version":3,"names":["clsx","memo","useCallback","RawHTML","useContext","useMemo","getBlockType","getSaveContent","isUnmodifiedDefaultBlock","serializeRawBlock","switchToBlockType","getDefaultBlockName","isUnmodifiedBlock","isReusableBlock","getBlockDefaultClassName","hasBlockSupport","store","blocksStore","withFilters","withDispatch","useDispatch","useSelect","compose","safeHTML","BlockEdit","BlockInvalidWarning","BlockCrashWarning","BlockCrashBoundary","BlockHtml","useBlockProps","blockEditorStore","useLayout","PrivateBlockContext","unlock","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","mergeWrapperProps","propsA","propsB","newProps","hasOwnProperty","className","style","Block","children","isHtml","props","__unstableIsHtml","BlockListBlock","block","__unstableBlockSource","mode","isLocked","canRemove","clientId","isSelected","isSelectionEnabled","__unstableLayoutClassNames","layoutClassNames","name","isValid","attributes","wrapperProps","setAttributes","onReplace","onInsertBlocksAfter","onMerge","toggleSelection","_wrapperProps","mayDisplayControls","mayDisplayParentControls","themeSupportsLayout","context","removeBlock","onRemove","parentLayout","blockEdit","insertBlocksAfter","undefined","mergeBlocks","__unstableParentLayout","Object","keys","length","blockEditingMode","isPreviewMode","blockType","getEditWrapperProps","isAligned","isSticky","includes","saveContent","display","apiVersion","dataAlign","restWrapperProps","updatedWrapperProps","Provider","value","fallback","applyWithDispatch","dispatch","ownProps","registry","updateBlockAttributes","insertBlocks","replaceBlocks","__unstableMarkLastChangeAsPersistent","moveBlocksToPosition","selectBlock","newAttributes","getMultiSelectedBlockClientIds","select","multiSelectedBlockClientIds","clientIds","onInsertBlocks","blocks","index","rootClientId","getBlockIndex","forward","getPreviousBlockClientId","getNextBlockClientId","getBlock","getBlockAttributes","getBlockName","getBlockOrder","getBlockRootClientId","canInsertBlockType","switchToDefaultOrRemove","defaultBlockName","replacement","nextBlockClientId","batch","moveFirstItemUp","_clientId","changeSelection","targetRootClientId","blockOrder","firstClientId","every","nextRootClientId","rootAttributes","previousRootAttributes","key","previousBlockClientId","previousRootClientId","indexToSelect","initialPosition","replacementBlocks","Array","isArray","selectionEnabled","BlockListBlockProvider","selectedProps","isBlockSelected","getBlockMode","getTemplateLock","getBlockWithoutAttributes","canRemoveBlock","canMoveBlock","getSettings","getTemporarilyEditingAsBlocks","getBlockEditingMode","isFirstMultiSelectedBlock","hasSelectedInnerBlock","getBlocksByName","isBlockMultiSelected","isBlockSubtreeDisabled","isBlockHighlighted","__unstableIsFullySelected","__unstableSelectionHasUnmergeableBlock","isBlockBeingDragged","isDragging","hasBlockMovingClientId","__unstableHasActiveBlockOverlayActive","__unstableGetEditorMode","getSelectedBlocksInitialCaretPosition","blockWithoutAttributes","_hasBlockSupport","getActiveBlockVariation","blockName","supportsLayout","__unstableIsPreviewMode","hasLightBlockWrapper","previewContext","isReusable","defaultClassName","blockTitle","title","_isSelected","canMove","match","isMultiSelected","checkDeep","isAncestorOfSelectedBlock","movingClientId","multiple","blocksWithSameName","isInvalid","templateLock","isTemporarilyEditingAsBlocks","id","blockApiVersion","isSubtreeDisabled","hasOverlay","isHighlighted","isPartiallySelected","hasChildSelected","isBlockMovingMode","canInsertMovingBlock","isEditingDisabled","hasEditableOutline","originalBlockClientId","privateContext"],"sources":["@wordpress/block-editor/src/components/block-list/block.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tmemo,\n\tuseCallback,\n\tRawHTML,\n\tuseContext,\n\tuseMemo,\n} from '@wordpress/element';\nimport {\n\tgetBlockType,\n\tgetSaveContent,\n\tisUnmodifiedDefaultBlock,\n\tserializeRawBlock,\n\tswitchToBlockType,\n\tgetDefaultBlockName,\n\tisUnmodifiedBlock,\n\tisReusableBlock,\n\tgetBlockDefaultClassName,\n\thasBlockSupport,\n\tstore as blocksStore,\n} from '@wordpress/blocks';\nimport { withFilters } from '@wordpress/components';\nimport { withDispatch, useDispatch, useSelect } from '@wordpress/data';\nimport { compose } from '@wordpress/compose';\nimport { safeHTML } from '@wordpress/dom';\n\n/**\n * Internal dependencies\n */\nimport BlockEdit from '../block-edit';\nimport BlockInvalidWarning from './block-invalid-warning';\nimport BlockCrashWarning from './block-crash-warning';\nimport BlockCrashBoundary from './block-crash-boundary';\nimport BlockHtml from './block-html';\nimport { useBlockProps } from './use-block-props';\nimport { store as blockEditorStore } from '../../store';\nimport { useLayout } from './layout';\nimport { PrivateBlockContext } from './private-block-context';\n\nimport { unlock } from '../../lock-unlock';\n\n/**\n * Merges wrapper props with special handling for classNames and styles.\n *\n * @param {Object} propsA\n * @param {Object} propsB\n *\n * @return {Object} Merged props.\n */\nfunction mergeWrapperProps( propsA, propsB ) {\n\tconst newProps = {\n\t\t...propsA,\n\t\t...propsB,\n\t};\n\n\t// May be set to undefined, so check if the property is set!\n\tif (\n\t\tpropsA?.hasOwnProperty( 'className' ) &&\n\t\tpropsB?.hasOwnProperty( 'className' )\n\t) {\n\t\tnewProps.className = clsx( propsA.className, propsB.className );\n\t}\n\n\tif (\n\t\tpropsA?.hasOwnProperty( 'style' ) &&\n\t\tpropsB?.hasOwnProperty( 'style' )\n\t) {\n\t\tnewProps.style = { ...propsA.style, ...propsB.style };\n\t}\n\n\treturn newProps;\n}\n\nfunction Block( { children, isHtml, ...props } ) {\n\treturn (\n\t\t<div { ...useBlockProps( props, { __unstableIsHtml: isHtml } ) }>\n\t\t\t{ children }\n\t\t</div>\n\t);\n}\n\nfunction BlockListBlock( {\n\tblock: { __unstableBlockSource },\n\tmode,\n\tisLocked,\n\tcanRemove,\n\tclientId,\n\tisSelected,\n\tisSelectionEnabled,\n\tclassName,\n\t__unstableLayoutClassNames: layoutClassNames,\n\tname,\n\tisValid,\n\tattributes,\n\twrapperProps,\n\tsetAttributes,\n\tonReplace,\n\tonInsertBlocksAfter,\n\tonMerge,\n\ttoggleSelection,\n} ) {\n\tconst {\n\t\tmayDisplayControls,\n\t\tmayDisplayParentControls,\n\t\tthemeSupportsLayout,\n\t\t...context\n\t} = useContext( PrivateBlockContext );\n\tconst { removeBlock } = useDispatch( blockEditorStore );\n\tconst onRemove = useCallback(\n\t\t() => removeBlock( clientId ),\n\t\t[ clientId, removeBlock ]\n\t);\n\n\tconst parentLayout = useLayout() || {};\n\n\t// We wrap the BlockEdit component in a div that hides it when editing in\n\t// HTML mode. This allows us to render all of the ancillary pieces\n\t// (InspectorControls, etc.) which are inside `BlockEdit` but not\n\t// `BlockHTML`, even in HTML mode.\n\tlet blockEdit = (\n\t\t<BlockEdit\n\t\t\tname={ name }\n\t\t\tisSelected={ isSelected }\n\t\t\tattributes={ attributes }\n\t\t\tsetAttributes={ setAttributes }\n\t\t\tinsertBlocksAfter={ isLocked ? undefined : onInsertBlocksAfter }\n\t\t\tonReplace={ canRemove ? onReplace : undefined }\n\t\t\tonRemove={ canRemove ? onRemove : undefined }\n\t\t\tmergeBlocks={ canRemove ? onMerge : undefined }\n\t\t\tclientId={ clientId }\n\t\t\tisSelectionEnabled={ isSelectionEnabled }\n\t\t\ttoggleSelection={ toggleSelection }\n\t\t\t__unstableLayoutClassNames={ layoutClassNames }\n\t\t\t__unstableParentLayout={\n\t\t\t\tObject.keys( parentLayout ).length ? parentLayout : undefined\n\t\t\t}\n\t\t\tmayDisplayControls={ mayDisplayControls }\n\t\t\tmayDisplayParentControls={ mayDisplayParentControls }\n\t\t\tblockEditingMode={ context.blockEditingMode }\n\t\t\tisPreviewMode={ context.isPreviewMode }\n\t\t/>\n\t);\n\n\tconst blockType = getBlockType( name );\n\n\t// Determine whether the block has props to apply to the wrapper.\n\tif ( blockType?.getEditWrapperProps ) {\n\t\twrapperProps = mergeWrapperProps(\n\t\t\twrapperProps,\n\t\t\tblockType.getEditWrapperProps( attributes )\n\t\t);\n\t}\n\n\tconst isAligned =\n\t\twrapperProps &&\n\t\t!! wrapperProps[ 'data-align' ] &&\n\t\t! themeSupportsLayout;\n\n\t// Support for sticky position in classic themes with alignment wrappers.\n\n\tconst isSticky = className?.includes( 'is-position-sticky' );\n\n\t// For aligned blocks, provide a wrapper element so the block can be\n\t// positioned relative to the block column.\n\t// This is only kept for classic themes that don't support layout\n\t// Historically we used to rely on extra divs and data-align to\n\t// provide the alignments styles in the editor.\n\t// Due to the differences between frontend and backend, we migrated\n\t// to the layout feature, and we're now aligning the markup of frontend\n\t// and backend.\n\tif ( isAligned ) {\n\t\tblockEdit = (\n\t\t\t<div\n\t\t\t\tclassName={ clsx( 'wp-block', isSticky && className ) }\n\t\t\t\tdata-align={ wrapperProps[ 'data-align' ] }\n\t\t\t>\n\t\t\t\t{ blockEdit }\n\t\t\t</div>\n\t\t);\n\t}\n\n\tlet block;\n\n\tif ( ! isValid ) {\n\t\tconst saveContent = __unstableBlockSource\n\t\t\t? serializeRawBlock( __unstableBlockSource )\n\t\t\t: getSaveContent( blockType, attributes );\n\n\t\tblock = (\n\t\t\t<Block className=\"has-warning\">\n\t\t\t\t<BlockInvalidWarning clientId={ clientId } />\n\t\t\t\t<RawHTML>{ safeHTML( saveContent ) }</RawHTML>\n\t\t\t</Block>\n\t\t);\n\t} else if ( mode === 'html' ) {\n\t\t// Render blockEdit so the inspector controls don't disappear.\n\t\t// See #8969.\n\t\tblock = (\n\t\t\t<>\n\t\t\t\t<div style={ { display: 'none' } }>{ blockEdit }</div>\n\t\t\t\t<Block isHtml>\n\t\t\t\t\t<BlockHtml clientId={ clientId } />\n\t\t\t\t</Block>\n\t\t\t</>\n\t\t);\n\t} else if ( blockType?.apiVersion > 1 ) {\n\t\tblock = blockEdit;\n\t} else {\n\t\tblock = <Block>{ blockEdit }</Block>;\n\t}\n\n\tconst { 'data-align': dataAlign, ...restWrapperProps } = wrapperProps ?? {};\n\tconst updatedWrapperProps = {\n\t\t...restWrapperProps,\n\t\tclassName: clsx(\n\t\t\trestWrapperProps.className,\n\t\t\tdataAlign && themeSupportsLayout && `align${ dataAlign }`,\n\t\t\t! ( dataAlign && isSticky ) && className\n\t\t),\n\t};\n\n\t// We set a new context with the adjusted and filtered wrapperProps (through\n\t// `editor.BlockListBlock`), which the `BlockListBlockProvider` did not have\n\t// access to.\n\t// Note that the context value doesn't have to be memoized in this case\n\t// because when it changes, this component will be re-rendered anyway, and\n\t// none of the consumers (BlockListBlock and useBlockProps) are memoized or\n\t// \"pure\". This is different from the public BlockEditContext, where\n\t// consumers might be memoized or \"pure\".\n\treturn (\n\t\t<PrivateBlockContext.Provider\n\t\t\tvalue={ {\n\t\t\t\twrapperProps: updatedWrapperProps,\n\t\t\t\tisAligned,\n\t\t\t\t...context,\n\t\t\t} }\n\t\t>\n\t\t\t<BlockCrashBoundary\n\t\t\t\tfallback={\n\t\t\t\t\t<Block className=\"has-warning\">\n\t\t\t\t\t\t<BlockCrashWarning />\n\t\t\t\t\t</Block>\n\t\t\t\t}\n\t\t\t>\n\t\t\t\t{ block }\n\t\t\t</BlockCrashBoundary>\n\t\t</PrivateBlockContext.Provider>\n\t);\n}\n\nconst applyWithDispatch = withDispatch( ( dispatch, ownProps, registry ) => {\n\tconst {\n\t\tupdateBlockAttributes,\n\t\tinsertBlocks,\n\t\tmergeBlocks,\n\t\treplaceBlocks,\n\t\ttoggleSelection,\n\t\t__unstableMarkLastChangeAsPersistent,\n\t\tmoveBlocksToPosition,\n\t\tremoveBlock,\n\t\tselectBlock,\n\t} = dispatch( blockEditorStore );\n\n\t// Do not add new properties here, use `useDispatch` instead to avoid\n\t// leaking new props to the public API (editor.BlockListBlock filter).\n\treturn {\n\t\tsetAttributes( newAttributes ) {\n\t\t\tconst { getMultiSelectedBlockClientIds } =\n\t\t\t\tregistry.select( blockEditorStore );\n\t\t\tconst multiSelectedBlockClientIds =\n\t\t\t\tgetMultiSelectedBlockClientIds();\n\t\t\tconst { clientId } = ownProps;\n\t\t\tconst clientIds = multiSelectedBlockClientIds.length\n\t\t\t\t? multiSelectedBlockClientIds\n\t\t\t\t: [ clientId ];\n\n\t\t\tupdateBlockAttributes( clientIds, newAttributes );\n\t\t},\n\t\tonInsertBlocks( blocks, index ) {\n\t\t\tconst { rootClientId } = ownProps;\n\t\t\tinsertBlocks( blocks, index, rootClientId );\n\t\t},\n\t\tonInsertBlocksAfter( blocks ) {\n\t\t\tconst { clientId, rootClientId } = ownProps;\n\t\t\tconst { getBlockIndex } = registry.select( blockEditorStore );\n\t\t\tconst index = getBlockIndex( clientId );\n\t\t\tinsertBlocks( blocks, index + 1, rootClientId );\n\t\t},\n\t\tonMerge( forward ) {\n\t\t\tconst { clientId, rootClientId } = ownProps;\n\t\t\tconst {\n\t\t\t\tgetPreviousBlockClientId,\n\t\t\t\tgetNextBlockClientId,\n\t\t\t\tgetBlock,\n\t\t\t\tgetBlockAttributes,\n\t\t\t\tgetBlockName,\n\t\t\t\tgetBlockOrder,\n\t\t\t\tgetBlockIndex,\n\t\t\t\tgetBlockRootClientId,\n\t\t\t\tcanInsertBlockType,\n\t\t\t} = registry.select( blockEditorStore );\n\n\t\t\tfunction switchToDefaultOrRemove() {\n\t\t\t\tconst block = getBlock( clientId );\n\t\t\t\tconst defaultBlockName = getDefaultBlockName();\n\t\t\t\tif ( getBlockName( clientId ) !== defaultBlockName ) {\n\t\t\t\t\tconst replacement = switchToBlockType(\n\t\t\t\t\t\tblock,\n\t\t\t\t\t\tdefaultBlockName\n\t\t\t\t\t);\n\t\t\t\t\tif ( replacement && replacement.length ) {\n\t\t\t\t\t\treplaceBlocks( clientId, replacement );\n\t\t\t\t\t}\n\t\t\t\t} else if ( isUnmodifiedDefaultBlock( block ) ) {\n\t\t\t\t\tconst nextBlockClientId = getNextBlockClientId( clientId );\n\t\t\t\t\tif ( nextBlockClientId ) {\n\t\t\t\t\t\tregistry.batch( () => {\n\t\t\t\t\t\t\tremoveBlock( clientId );\n\t\t\t\t\t\t\tselectBlock( nextBlockClientId );\n\t\t\t\t\t\t} );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t/**\n\t\t\t * Moves the block with clientId up one level. If the block type\n\t\t\t * cannot be inserted at the new location, it will be attempted to\n\t\t\t * convert to the default block type.\n\t\t\t *\n\t\t\t * @param {string} _clientId The block to move.\n\t\t\t * @param {boolean} changeSelection Whether to change the selection\n\t\t\t * to the moved block.\n\t\t\t */\n\t\t\tfunction moveFirstItemUp( _clientId, changeSelection = true ) {\n\t\t\t\tconst targetRootClientId = getBlockRootClientId( _clientId );\n\t\t\t\tconst blockOrder = getBlockOrder( _clientId );\n\t\t\t\tconst [ firstClientId ] = blockOrder;\n\n\t\t\t\tif (\n\t\t\t\t\tblockOrder.length === 1 &&\n\t\t\t\t\tisUnmodifiedBlock( getBlock( firstClientId ) )\n\t\t\t\t) {\n\t\t\t\t\tremoveBlock( _clientId );\n\t\t\t\t} else {\n\t\t\t\t\tregistry.batch( () => {\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\tcanInsertBlockType(\n\t\t\t\t\t\t\t\tgetBlockName( firstClientId ),\n\t\t\t\t\t\t\t\ttargetRootClientId\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tmoveBlocksToPosition(\n\t\t\t\t\t\t\t\t[ firstClientId ],\n\t\t\t\t\t\t\t\t_clientId,\n\t\t\t\t\t\t\t\ttargetRootClientId,\n\t\t\t\t\t\t\t\tgetBlockIndex( _clientId )\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tconst replacement = switchToBlockType(\n\t\t\t\t\t\t\t\tgetBlock( firstClientId ),\n\t\t\t\t\t\t\t\tgetDefaultBlockName()\n\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\treplacement &&\n\t\t\t\t\t\t\t\treplacement.length &&\n\t\t\t\t\t\t\t\treplacement.every( ( block ) =>\n\t\t\t\t\t\t\t\t\tcanInsertBlockType(\n\t\t\t\t\t\t\t\t\t\tblock.name,\n\t\t\t\t\t\t\t\t\t\ttargetRootClientId\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\tinsertBlocks(\n\t\t\t\t\t\t\t\t\treplacement,\n\t\t\t\t\t\t\t\t\tgetBlockIndex( _clientId ),\n\t\t\t\t\t\t\t\t\ttargetRootClientId,\n\t\t\t\t\t\t\t\t\tchangeSelection\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\tremoveBlock( firstClientId, false );\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tswitchToDefaultOrRemove();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t! getBlockOrder( _clientId ).length &&\n\t\t\t\t\t\t\tisUnmodifiedBlock( getBlock( _clientId ) )\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tremoveBlock( _clientId, false );\n\t\t\t\t\t\t}\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// For `Delete` or forward merge, we should do the exact same thing\n\t\t\t// as `Backspace`, but from the other block.\n\t\t\tif ( forward ) {\n\t\t\t\tif ( rootClientId ) {\n\t\t\t\t\tconst nextRootClientId =\n\t\t\t\t\t\tgetNextBlockClientId( rootClientId );\n\n\t\t\t\t\tif ( nextRootClientId ) {\n\t\t\t\t\t\t// If there is a block that follows with the same parent\n\t\t\t\t\t\t// block name and the same attributes, merge the inner\n\t\t\t\t\t\t// blocks.\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\tgetBlockName( rootClientId ) ===\n\t\t\t\t\t\t\tgetBlockName( nextRootClientId )\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tconst rootAttributes =\n\t\t\t\t\t\t\t\tgetBlockAttributes( rootClientId );\n\t\t\t\t\t\t\tconst previousRootAttributes =\n\t\t\t\t\t\t\t\tgetBlockAttributes( nextRootClientId );\n\n\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\tObject.keys( rootAttributes ).every(\n\t\t\t\t\t\t\t\t\t( key ) =>\n\t\t\t\t\t\t\t\t\t\trootAttributes[ key ] ===\n\t\t\t\t\t\t\t\t\t\tpreviousRootAttributes[ key ]\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\tregistry.batch( () => {\n\t\t\t\t\t\t\t\t\tmoveBlocksToPosition(\n\t\t\t\t\t\t\t\t\t\tgetBlockOrder( nextRootClientId ),\n\t\t\t\t\t\t\t\t\t\tnextRootClientId,\n\t\t\t\t\t\t\t\t\t\trootClientId\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\tremoveBlock( nextRootClientId, false );\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tmergeBlocks( rootClientId, nextRootClientId );\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tconst nextBlockClientId = getNextBlockClientId( clientId );\n\n\t\t\t\tif ( ! nextBlockClientId ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif ( getBlockOrder( nextBlockClientId ).length ) {\n\t\t\t\t\tmoveFirstItemUp( nextBlockClientId, false );\n\t\t\t\t} else {\n\t\t\t\t\tmergeBlocks( clientId, nextBlockClientId );\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tconst previousBlockClientId =\n\t\t\t\t\tgetPreviousBlockClientId( clientId );\n\n\t\t\t\tif ( previousBlockClientId ) {\n\t\t\t\t\tmergeBlocks( previousBlockClientId, clientId );\n\t\t\t\t} else if ( rootClientId ) {\n\t\t\t\t\tconst previousRootClientId =\n\t\t\t\t\t\tgetPreviousBlockClientId( rootClientId );\n\n\t\t\t\t\t// If there is a preceding block with the same parent block\n\t\t\t\t\t// name and the same attributes, merge the inner blocks.\n\t\t\t\t\tif (\n\t\t\t\t\t\tpreviousRootClientId &&\n\t\t\t\t\t\tgetBlockName( rootClientId ) ===\n\t\t\t\t\t\t\tgetBlockName( previousRootClientId )\n\t\t\t\t\t) {\n\t\t\t\t\t\tconst rootAttributes =\n\t\t\t\t\t\t\tgetBlockAttributes( rootClientId );\n\t\t\t\t\t\tconst previousRootAttributes =\n\t\t\t\t\t\t\tgetBlockAttributes( previousRootClientId );\n\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\tObject.keys( rootAttributes ).every(\n\t\t\t\t\t\t\t\t( key ) =>\n\t\t\t\t\t\t\t\t\trootAttributes[ key ] ===\n\t\t\t\t\t\t\t\t\tpreviousRootAttributes[ key ]\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tregistry.batch( () => {\n\t\t\t\t\t\t\t\tmoveBlocksToPosition(\n\t\t\t\t\t\t\t\t\tgetBlockOrder( rootClientId ),\n\t\t\t\t\t\t\t\t\trootClientId,\n\t\t\t\t\t\t\t\t\tpreviousRootClientId\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\tremoveBlock( rootClientId, false );\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tmoveFirstItemUp( rootClientId );\n\t\t\t\t} else {\n\t\t\t\t\tswitchToDefaultOrRemove();\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tonReplace( blocks, indexToSelect, initialPosition ) {\n\t\t\tif (\n\t\t\t\tblocks.length &&\n\t\t\t\t! isUnmodifiedDefaultBlock( blocks[ blocks.length - 1 ] )\n\t\t\t) {\n\t\t\t\t__unstableMarkLastChangeAsPersistent();\n\t\t\t}\n\t\t\t//Unsynced patterns are nested in an array so we need to flatten them.\n\t\t\tconst replacementBlocks =\n\t\t\t\tblocks?.length === 1 && Array.isArray( blocks[ 0 ] )\n\t\t\t\t\t? blocks[ 0 ]\n\t\t\t\t\t: blocks;\n\t\t\treplaceBlocks(\n\t\t\t\t[ ownProps.clientId ],\n\t\t\t\treplacementBlocks,\n\t\t\t\tindexToSelect,\n\t\t\t\tinitialPosition\n\t\t\t);\n\t\t},\n\t\ttoggleSelection( selectionEnabled ) {\n\t\t\ttoggleSelection( selectionEnabled );\n\t\t},\n\t};\n} );\n\n// This component is used by the BlockListBlockProvider component below. It will\n// add the props necessary for the `editor.BlockListBlock` filters.\nBlockListBlock = compose(\n\tapplyWithDispatch,\n\twithFilters( 'editor.BlockListBlock' )\n)( BlockListBlock );\n\n// This component provides all the information we need through a single store\n// subscription (useSelect mapping). Only the necessary props are passed down\n// to the BlockListBlock component, which is a filtered component, so these\n// props are public API. To avoid adding to the public API, we use a private\n// context to pass the rest of the information to the filtered BlockListBlock\n// component, and useBlockProps.\nfunction BlockListBlockProvider( props ) {\n\tconst { clientId, rootClientId } = props;\n\tconst selectedProps = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tisBlockSelected,\n\t\t\t\tgetBlockMode,\n\t\t\t\tisSelectionEnabled,\n\t\t\t\tgetTemplateLock,\n\t\t\t\tgetBlockWithoutAttributes,\n\t\t\t\tgetBlockAttributes,\n\t\t\t\tcanRemoveBlock,\n\t\t\t\tcanMoveBlock,\n\n\t\t\t\tgetSettings,\n\t\t\t\tgetTemporarilyEditingAsBlocks,\n\t\t\t\tgetBlockEditingMode,\n\t\t\t\tgetBlockName,\n\t\t\t\tisFirstMultiSelectedBlock,\n\t\t\t\tgetMultiSelectedBlockClientIds,\n\t\t\t\thasSelectedInnerBlock,\n\t\t\t\tgetBlocksByName,\n\n\t\t\t\tgetBlockIndex,\n\t\t\t\tisBlockMultiSelected,\n\t\t\t\tisBlockSubtreeDisabled,\n\t\t\t\tisBlockHighlighted,\n\t\t\t\t__unstableIsFullySelected,\n\t\t\t\t__unstableSelectionHasUnmergeableBlock,\n\t\t\t\tisBlockBeingDragged,\n\t\t\t\tisDragging,\n\t\t\t\thasBlockMovingClientId,\n\t\t\t\tcanInsertBlockType,\n\t\t\t\t__unstableHasActiveBlockOverlayActive,\n\t\t\t\t__unstableGetEditorMode,\n\t\t\t\tgetSelectedBlocksInitialCaretPosition,\n\t\t\t} = unlock( select( blockEditorStore ) );\n\t\t\tconst blockWithoutAttributes =\n\t\t\t\tgetBlockWithoutAttributes( clientId );\n\n\t\t\t// This is a temporary fix.\n\t\t\t// This function should never be called when a block is not\n\t\t\t// present in the state. It happens now because the order in\n\t\t\t// withSelect rendering is not correct.\n\t\t\tif ( ! blockWithoutAttributes ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst {\n\t\t\t\thasBlockSupport: _hasBlockSupport,\n\t\t\t\tgetActiveBlockVariation,\n\t\t\t} = select( blocksStore );\n\t\t\tconst attributes = getBlockAttributes( clientId );\n\t\t\tconst { name: blockName, isValid } = blockWithoutAttributes;\n\t\t\tconst blockType = getBlockType( blockName );\n\t\t\tconst { supportsLayout, __unstableIsPreviewMode: isPreviewMode } =\n\t\t\t\tgetSettings();\n\t\t\tconst hasLightBlockWrapper = blockType?.apiVersion > 1;\n\t\t\tconst previewContext = {\n\t\t\t\tisPreviewMode,\n\t\t\t\tblockWithoutAttributes,\n\t\t\t\tname: blockName,\n\t\t\t\tattributes,\n\t\t\t\tisValid,\n\t\t\t\tthemeSupportsLayout: supportsLayout,\n\t\t\t\tindex: getBlockIndex( clientId ),\n\t\t\t\tisReusable: isReusableBlock( blockType ),\n\t\t\t\tclassName: hasLightBlockWrapper\n\t\t\t\t\t? attributes.className\n\t\t\t\t\t: undefined,\n\t\t\t\tdefaultClassName: hasLightBlockWrapper\n\t\t\t\t\t? getBlockDefaultClassName( blockName )\n\t\t\t\t\t: undefined,\n\t\t\t\tblockTitle: blockType?.title,\n\t\t\t};\n\n\t\t\t// When in preview mode, we can avoid a lot of selection and\n\t\t\t// editing related selectors.\n\t\t\tif ( isPreviewMode ) {\n\t\t\t\treturn previewContext;\n\t\t\t}\n\n\t\t\tconst _isSelected = isBlockSelected( clientId );\n\t\t\tconst canRemove = canRemoveBlock( clientId );\n\t\t\tconst canMove = canMoveBlock( clientId );\n\t\t\tconst match = getActiveBlockVariation( blockName, attributes );\n\t\t\tconst isMultiSelected = isBlockMultiSelected( clientId );\n\t\t\tconst checkDeep = true;\n\t\t\tconst isAncestorOfSelectedBlock = hasSelectedInnerBlock(\n\t\t\t\tclientId,\n\t\t\t\tcheckDeep\n\t\t\t);\n\t\t\tconst movingClientId = hasBlockMovingClientId();\n\t\t\tconst blockEditingMode = getBlockEditingMode( clientId );\n\n\t\t\tconst multiple = hasBlockSupport( blockName, 'multiple', true );\n\n\t\t\t// For block types with `multiple` support, there is no \"original\n\t\t\t// block\" to be found in the content, as the block itself is valid.\n\t\t\tconst blocksWithSameName = multiple\n\t\t\t\t? []\n\t\t\t\t: getBlocksByName( blockName );\n\t\t\tconst isInvalid =\n\t\t\t\tblocksWithSameName.length &&\n\t\t\t\tblocksWithSameName[ 0 ] !== clientId;\n\n\t\t\treturn {\n\t\t\t\t...previewContext,\n\t\t\t\tmode: getBlockMode( clientId ),\n\t\t\t\tisSelectionEnabled: isSelectionEnabled(),\n\t\t\t\tisLocked: !! getTemplateLock( rootClientId ),\n\t\t\t\ttemplateLock: getTemplateLock( clientId ),\n\t\t\t\tcanRemove,\n\t\t\t\tcanMove,\n\t\t\t\tisSelected: _isSelected,\n\t\t\t\tisTemporarilyEditingAsBlocks:\n\t\t\t\t\tgetTemporarilyEditingAsBlocks() === clientId,\n\t\t\t\tblockEditingMode,\n\t\t\t\tmayDisplayControls:\n\t\t\t\t\t_isSelected ||\n\t\t\t\t\t( isFirstMultiSelectedBlock( clientId ) &&\n\t\t\t\t\t\tgetMultiSelectedBlockClientIds().every(\n\t\t\t\t\t\t\t( id ) => getBlockName( id ) === blockName\n\t\t\t\t\t\t) ),\n\t\t\t\tmayDisplayParentControls:\n\t\t\t\t\t_hasBlockSupport(\n\t\t\t\t\t\tgetBlockName( clientId ),\n\t\t\t\t\t\t'__experimentalExposeControlsToChildren',\n\t\t\t\t\t\tfalse\n\t\t\t\t\t) && hasSelectedInnerBlock( clientId ),\n\t\t\t\tblockApiVersion: blockType?.apiVersion || 1,\n\t\t\t\tblockTitle: match?.title || blockType?.title,\n\t\t\t\tisSubtreeDisabled:\n\t\t\t\t\tblockEditingMode === 'disabled' &&\n\t\t\t\t\tisBlockSubtreeDisabled( clientId ),\n\t\t\t\thasOverlay:\n\t\t\t\t\t__unstableHasActiveBlockOverlayActive( clientId ) &&\n\t\t\t\t\t! isDragging(),\n\t\t\t\tinitialPosition:\n\t\t\t\t\t_isSelected &&\n\t\t\t\t\t( __unstableGetEditorMode() === 'edit' ||\n\t\t\t\t\t\t__unstableGetEditorMode() === 'zoom-out' ) // Don't recalculate the initialPosition when toggling in/out of zoom-out mode\n\t\t\t\t\t\t? getSelectedBlocksInitialCaretPosition()\n\t\t\t\t\t\t: undefined,\n\t\t\t\tisHighlighted: isBlockHighlighted( clientId ),\n\t\t\t\tisMultiSelected,\n\t\t\t\tisPartiallySelected:\n\t\t\t\t\tisMultiSelected &&\n\t\t\t\t\t! __unstableIsFullySelected() &&\n\t\t\t\t\t! __unstableSelectionHasUnmergeableBlock(),\n\t\t\t\tisDragging: isBlockBeingDragged( clientId ),\n\t\t\t\thasChildSelected: isAncestorOfSelectedBlock,\n\t\t\t\tisBlockMovingMode: !! movingClientId,\n\t\t\t\tcanInsertMovingBlock:\n\t\t\t\t\tmovingClientId &&\n\t\t\t\t\tcanInsertBlockType(\n\t\t\t\t\t\tgetBlockName( movingClientId ),\n\t\t\t\t\t\trootClientId\n\t\t\t\t\t),\n\t\t\t\tisEditingDisabled: blockEditingMode === 'disabled',\n\t\t\t\thasEditableOutline:\n\t\t\t\t\tblockEditingMode !== 'disabled' &&\n\t\t\t\t\tgetBlockEditingMode( rootClientId ) === 'disabled',\n\t\t\t\toriginalBlockClientId: isInvalid\n\t\t\t\t\t? blocksWithSameName[ 0 ]\n\t\t\t\t\t: false,\n\t\t\t};\n\t\t},\n\t\t[ clientId, rootClientId ]\n\t);\n\n\tconst {\n\t\tisPreviewMode,\n\t\t// Fill values that end up as a public API and may not be defined in\n\t\t// preview mode.\n\t\tmode = 'visual',\n\t\tisSelectionEnabled = false,\n\t\tisLocked = false,\n\t\tcanRemove = false,\n\t\tcanMove = false,\n\t\tblockWithoutAttributes,\n\t\tname,\n\t\tattributes,\n\t\tisValid,\n\t\tisSelected = false,\n\t\tthemeSupportsLayout,\n\t\tisTemporarilyEditingAsBlocks,\n\t\tblockEditingMode,\n\t\tmayDisplayControls,\n\t\tmayDisplayParentControls,\n\t\tindex,\n\t\tblockApiVersion,\n\t\tblockTitle,\n\t\tisSubtreeDisabled,\n\t\thasOverlay,\n\t\tinitialPosition,\n\t\tisHighlighted,\n\t\tisMultiSelected,\n\t\tisPartiallySelected,\n\t\tisReusable,\n\t\tisDragging,\n\t\thasChildSelected,\n\t\tisBlockMovingMode,\n\t\tcanInsertMovingBlock,\n\t\ttemplateLock,\n\t\tisEditingDisabled,\n\t\thasEditableOutline,\n\t\tclassName,\n\t\tdefaultClassName,\n\t\toriginalBlockClientId,\n\t} = selectedProps;\n\n\t// Users of the editor.BlockListBlock filter used to be able to\n\t// access the block prop.\n\t// Ideally these blocks would rely on the clientId prop only.\n\t// This is kept for backward compatibility reasons.\n\tconst block = useMemo(\n\t\t() => ( { ...blockWithoutAttributes, attributes } ),\n\t\t[ blockWithoutAttributes, attributes ]\n\t);\n\n\t// Block is sometimes not mounted at the right time, causing it be\n\t// undefined see issue for more info\n\t// https://github.com/WordPress/gutenberg/issues/17013\n\tif ( ! selectedProps ) {\n\t\treturn null;\n\t}\n\n\tconst privateContext = {\n\t\tisPreviewMode,\n\t\tclientId,\n\t\tclassName,\n\t\tindex,\n\t\tmode,\n\t\tname,\n\t\tblockApiVersion,\n\t\tblockTitle,\n\t\tisSelected,\n\t\tisSubtreeDisabled,\n\t\thasOverlay,\n\t\tinitialPosition,\n\t\tblockEditingMode,\n\t\tisHighlighted,\n\t\tisMultiSelected,\n\t\tisPartiallySelected,\n\t\tisReusable,\n\t\tisDragging,\n\t\thasChildSelected,\n\t\tisBlockMovingMode,\n\t\tcanInsertMovingBlock,\n\t\ttemplateLock,\n\t\tisEditingDisabled,\n\t\thasEditableOutline,\n\t\tisTemporarilyEditingAsBlocks,\n\t\tdefaultClassName,\n\t\tmayDisplayControls,\n\t\tmayDisplayParentControls,\n\t\toriginalBlockClientId,\n\t\tthemeSupportsLayout,\n\t};\n\n\t// Here we separate between the props passed to BlockListBlock and any other\n\t// information we selected for internal use. BlockListBlock is a filtered\n\t// component and thus ALL the props are PUBLIC API.\n\n\t// Note that the context value doesn't have to be memoized in this case\n\t// because when it changes, this component will be re-rendered anyway, and\n\t// none of the consumers (BlockListBlock and useBlockProps) are memoized or\n\t// \"pure\". This is different from the public BlockEditContext, where\n\t// consumers might be memoized or \"pure\".\n\treturn (\n\t\t<PrivateBlockContext.Provider value={ privateContext }>\n\t\t\t<BlockListBlock\n\t\t\t\t{ ...props }\n\t\t\t\t// WARNING: all the following props are public API (through the\n\t\t\t\t// editor.BlockListBlock filter) and normally nothing new should\n\t\t\t\t// be added to it.\n\t\t\t\t{ ...{\n\t\t\t\t\tmode,\n\t\t\t\t\tisSelectionEnabled,\n\t\t\t\t\tisLocked,\n\t\t\t\t\tcanRemove,\n\t\t\t\t\tcanMove,\n\t\t\t\t\t// Users of the editor.BlockListBlock filter used to be able\n\t\t\t\t\t// to access the block prop. Ideally these blocks would rely\n\t\t\t\t\t// on the clientId prop only. This is kept for backward\n\t\t\t\t\t// compatibility reasons.\n\t\t\t\t\tblock,\n\t\t\t\t\tname,\n\t\t\t\t\tattributes,\n\t\t\t\t\tisValid,\n\t\t\t\t\tisSelected,\n\t\t\t\t} }\n\t\t\t/>\n\t\t</PrivateBlockContext.Provider>\n\t);\n}\n\nexport default memo( BlockListBlockProvider );\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["clsx","memo","useCallback","RawHTML","useContext","useMemo","getBlockType","getSaveContent","isUnmodifiedDefaultBlock","serializeRawBlock","switchToBlockType","getDefaultBlockName","isUnmodifiedBlock","isReusableBlock","getBlockDefaultClassName","hasBlockSupport","store","blocksStore","withFilters","withDispatch","useDispatch","useSelect","compose","safeHTML","BlockEdit","BlockInvalidWarning","BlockCrashWarning","BlockCrashBoundary","BlockHtml","useBlockProps","blockEditorStore","useLayout","PrivateBlockContext","unlock","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","mergeWrapperProps","propsA","propsB","newProps","hasOwnProperty","className","style","Block","children","isHtml","props","__unstableIsHtml","BlockListBlock","block","__unstableBlockSource","mode","isLocked","canRemove","clientId","isSelected","isSelectionEnabled","__unstableLayoutClassNames","layoutClassNames","name","isValid","attributes","wrapperProps","setAttributes","onReplace","onInsertBlocksAfter","onMerge","toggleSelection","_wrapperProps","mayDisplayControls","mayDisplayParentControls","themeSupportsLayout","context","removeBlock","onRemove","parentLayout","blockEdit","insertBlocksAfter","undefined","mergeBlocks","__unstableParentLayout","Object","keys","length","blockEditingMode","isPreviewMode","blockType","getEditWrapperProps","isAligned","isSticky","includes","saveContent","display","apiVersion","dataAlign","restWrapperProps","updatedWrapperProps","Provider","value","fallback","applyWithDispatch","dispatch","ownProps","registry","updateBlockAttributes","insertBlocks","replaceBlocks","__unstableMarkLastChangeAsPersistent","moveBlocksToPosition","selectBlock","newAttributes","getMultiSelectedBlockClientIds","select","multiSelectedBlockClientIds","clientIds","onInsertBlocks","blocks","index","rootClientId","getBlockIndex","forward","getPreviousBlockClientId","getNextBlockClientId","getBlock","getBlockAttributes","getBlockName","getBlockOrder","getBlockRootClientId","canInsertBlockType","switchToDefaultOrRemove","defaultBlockName","replacement","nextBlockClientId","batch","moveFirstItemUp","_clientId","changeSelection","targetRootClientId","blockOrder","firstClientId","every","nextRootClientId","rootAttributes","previousRootAttributes","key","previousBlockClientId","previousRootClientId","indexToSelect","initialPosition","replacementBlocks","Array","isArray","selectionEnabled","BlockListBlockProvider","selectedProps","isBlockSelected","getBlockMode","getTemplateLock","getBlockWithoutAttributes","canRemoveBlock","canMoveBlock","getSettings","getTemporarilyEditingAsBlocks","getBlockEditingMode","isFirstMultiSelectedBlock","hasSelectedInnerBlock","getBlocksByName","isBlockMultiSelected","isBlockSubtreeDisabled","isBlockHighlighted","__unstableIsFullySelected","__unstableSelectionHasUnmergeableBlock","isBlockBeingDragged","isDragging","hasBlockMovingClientId","__unstableHasActiveBlockOverlayActive","__unstableGetEditorMode","getSelectedBlocksInitialCaretPosition","blockWithoutAttributes","_hasBlockSupport","getActiveBlockVariation","blockName","supportsLayout","__unstableIsPreviewMode","hasLightBlockWrapper","previewContext","isReusable","defaultClassName","blockTitle","title","_isSelected","canMove","match","isMultiSelected","checkDeep","isAncestorOfSelectedBlock","movingClientId","multiple","blocksWithSameName","isInvalid","editorMode","templateLock","isTemporarilyEditingAsBlocks","id","blockApiVersion","isSubtreeDisabled","hasOverlay","isHighlighted","isPartiallySelected","hasChildSelected","isBlockMovingMode","canInsertMovingBlock","isEditingDisabled","hasEditableOutline","originalBlockClientId","privateContext"],"sources":["@wordpress/block-editor/src/components/block-list/block.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tmemo,\n\tuseCallback,\n\tRawHTML,\n\tuseContext,\n\tuseMemo,\n} from '@wordpress/element';\nimport {\n\tgetBlockType,\n\tgetSaveContent,\n\tisUnmodifiedDefaultBlock,\n\tserializeRawBlock,\n\tswitchToBlockType,\n\tgetDefaultBlockName,\n\tisUnmodifiedBlock,\n\tisReusableBlock,\n\tgetBlockDefaultClassName,\n\thasBlockSupport,\n\tstore as blocksStore,\n} from '@wordpress/blocks';\nimport { withFilters } from '@wordpress/components';\nimport { withDispatch, useDispatch, useSelect } from '@wordpress/data';\nimport { compose } from '@wordpress/compose';\nimport { safeHTML } from '@wordpress/dom';\n\n/**\n * Internal dependencies\n */\nimport BlockEdit from '../block-edit';\nimport BlockInvalidWarning from './block-invalid-warning';\nimport BlockCrashWarning from './block-crash-warning';\nimport BlockCrashBoundary from './block-crash-boundary';\nimport BlockHtml from './block-html';\nimport { useBlockProps } from './use-block-props';\nimport { store as blockEditorStore } from '../../store';\nimport { useLayout } from './layout';\nimport { PrivateBlockContext } from './private-block-context';\n\nimport { unlock } from '../../lock-unlock';\n\n/**\n * Merges wrapper props with special handling for classNames and styles.\n *\n * @param {Object} propsA\n * @param {Object} propsB\n *\n * @return {Object} Merged props.\n */\nfunction mergeWrapperProps( propsA, propsB ) {\n\tconst newProps = {\n\t\t...propsA,\n\t\t...propsB,\n\t};\n\n\t// May be set to undefined, so check if the property is set!\n\tif (\n\t\tpropsA?.hasOwnProperty( 'className' ) &&\n\t\tpropsB?.hasOwnProperty( 'className' )\n\t) {\n\t\tnewProps.className = clsx( propsA.className, propsB.className );\n\t}\n\n\tif (\n\t\tpropsA?.hasOwnProperty( 'style' ) &&\n\t\tpropsB?.hasOwnProperty( 'style' )\n\t) {\n\t\tnewProps.style = { ...propsA.style, ...propsB.style };\n\t}\n\n\treturn newProps;\n}\n\nfunction Block( { children, isHtml, ...props } ) {\n\treturn (\n\t\t<div { ...useBlockProps( props, { __unstableIsHtml: isHtml } ) }>\n\t\t\t{ children }\n\t\t</div>\n\t);\n}\n\nfunction BlockListBlock( {\n\tblock: { __unstableBlockSource },\n\tmode,\n\tisLocked,\n\tcanRemove,\n\tclientId,\n\tisSelected,\n\tisSelectionEnabled,\n\tclassName,\n\t__unstableLayoutClassNames: layoutClassNames,\n\tname,\n\tisValid,\n\tattributes,\n\twrapperProps,\n\tsetAttributes,\n\tonReplace,\n\tonInsertBlocksAfter,\n\tonMerge,\n\ttoggleSelection,\n} ) {\n\tconst {\n\t\tmayDisplayControls,\n\t\tmayDisplayParentControls,\n\t\tthemeSupportsLayout,\n\t\t...context\n\t} = useContext( PrivateBlockContext );\n\tconst { removeBlock } = useDispatch( blockEditorStore );\n\tconst onRemove = useCallback(\n\t\t() => removeBlock( clientId ),\n\t\t[ clientId, removeBlock ]\n\t);\n\n\tconst parentLayout = useLayout() || {};\n\n\t// We wrap the BlockEdit component in a div that hides it when editing in\n\t// HTML mode. This allows us to render all of the ancillary pieces\n\t// (InspectorControls, etc.) which are inside `BlockEdit` but not\n\t// `BlockHTML`, even in HTML mode.\n\tlet blockEdit = (\n\t\t<BlockEdit\n\t\t\tname={ name }\n\t\t\tisSelected={ isSelected }\n\t\t\tattributes={ attributes }\n\t\t\tsetAttributes={ setAttributes }\n\t\t\tinsertBlocksAfter={ isLocked ? undefined : onInsertBlocksAfter }\n\t\t\tonReplace={ canRemove ? onReplace : undefined }\n\t\t\tonRemove={ canRemove ? onRemove : undefined }\n\t\t\tmergeBlocks={ canRemove ? onMerge : undefined }\n\t\t\tclientId={ clientId }\n\t\t\tisSelectionEnabled={ isSelectionEnabled }\n\t\t\ttoggleSelection={ toggleSelection }\n\t\t\t__unstableLayoutClassNames={ layoutClassNames }\n\t\t\t__unstableParentLayout={\n\t\t\t\tObject.keys( parentLayout ).length ? parentLayout : undefined\n\t\t\t}\n\t\t\tmayDisplayControls={ mayDisplayControls }\n\t\t\tmayDisplayParentControls={ mayDisplayParentControls }\n\t\t\tblockEditingMode={ context.blockEditingMode }\n\t\t\tisPreviewMode={ context.isPreviewMode }\n\t\t/>\n\t);\n\n\tconst blockType = getBlockType( name );\n\n\t// Determine whether the block has props to apply to the wrapper.\n\tif ( blockType?.getEditWrapperProps ) {\n\t\twrapperProps = mergeWrapperProps(\n\t\t\twrapperProps,\n\t\t\tblockType.getEditWrapperProps( attributes )\n\t\t);\n\t}\n\n\tconst isAligned =\n\t\twrapperProps &&\n\t\t!! wrapperProps[ 'data-align' ] &&\n\t\t! themeSupportsLayout;\n\n\t// Support for sticky position in classic themes with alignment wrappers.\n\n\tconst isSticky = className?.includes( 'is-position-sticky' );\n\n\t// For aligned blocks, provide a wrapper element so the block can be\n\t// positioned relative to the block column.\n\t// This is only kept for classic themes that don't support layout\n\t// Historically we used to rely on extra divs and data-align to\n\t// provide the alignments styles in the editor.\n\t// Due to the differences between frontend and backend, we migrated\n\t// to the layout feature, and we're now aligning the markup of frontend\n\t// and backend.\n\tif ( isAligned ) {\n\t\tblockEdit = (\n\t\t\t<div\n\t\t\t\tclassName={ clsx( 'wp-block', isSticky && className ) }\n\t\t\t\tdata-align={ wrapperProps[ 'data-align' ] }\n\t\t\t>\n\t\t\t\t{ blockEdit }\n\t\t\t</div>\n\t\t);\n\t}\n\n\tlet block;\n\n\tif ( ! isValid ) {\n\t\tconst saveContent = __unstableBlockSource\n\t\t\t? serializeRawBlock( __unstableBlockSource )\n\t\t\t: getSaveContent( blockType, attributes );\n\n\t\tblock = (\n\t\t\t<Block className=\"has-warning\">\n\t\t\t\t<BlockInvalidWarning clientId={ clientId } />\n\t\t\t\t<RawHTML>{ safeHTML( saveContent ) }</RawHTML>\n\t\t\t</Block>\n\t\t);\n\t} else if ( mode === 'html' ) {\n\t\t// Render blockEdit so the inspector controls don't disappear.\n\t\t// See #8969.\n\t\tblock = (\n\t\t\t<>\n\t\t\t\t<div style={ { display: 'none' } }>{ blockEdit }</div>\n\t\t\t\t<Block isHtml>\n\t\t\t\t\t<BlockHtml clientId={ clientId } />\n\t\t\t\t</Block>\n\t\t\t</>\n\t\t);\n\t} else if ( blockType?.apiVersion > 1 ) {\n\t\tblock = blockEdit;\n\t} else {\n\t\tblock = <Block>{ blockEdit }</Block>;\n\t}\n\n\tconst { 'data-align': dataAlign, ...restWrapperProps } = wrapperProps ?? {};\n\tconst updatedWrapperProps = {\n\t\t...restWrapperProps,\n\t\tclassName: clsx(\n\t\t\trestWrapperProps.className,\n\t\t\tdataAlign && themeSupportsLayout && `align${ dataAlign }`,\n\t\t\t! ( dataAlign && isSticky ) && className\n\t\t),\n\t};\n\n\t// We set a new context with the adjusted and filtered wrapperProps (through\n\t// `editor.BlockListBlock`), which the `BlockListBlockProvider` did not have\n\t// access to.\n\t// Note that the context value doesn't have to be memoized in this case\n\t// because when it changes, this component will be re-rendered anyway, and\n\t// none of the consumers (BlockListBlock and useBlockProps) are memoized or\n\t// \"pure\". This is different from the public BlockEditContext, where\n\t// consumers might be memoized or \"pure\".\n\treturn (\n\t\t<PrivateBlockContext.Provider\n\t\t\tvalue={ {\n\t\t\t\twrapperProps: updatedWrapperProps,\n\t\t\t\tisAligned,\n\t\t\t\t...context,\n\t\t\t} }\n\t\t>\n\t\t\t<BlockCrashBoundary\n\t\t\t\tfallback={\n\t\t\t\t\t<Block className=\"has-warning\">\n\t\t\t\t\t\t<BlockCrashWarning />\n\t\t\t\t\t</Block>\n\t\t\t\t}\n\t\t\t>\n\t\t\t\t{ block }\n\t\t\t</BlockCrashBoundary>\n\t\t</PrivateBlockContext.Provider>\n\t);\n}\n\nconst applyWithDispatch = withDispatch( ( dispatch, ownProps, registry ) => {\n\tconst {\n\t\tupdateBlockAttributes,\n\t\tinsertBlocks,\n\t\tmergeBlocks,\n\t\treplaceBlocks,\n\t\ttoggleSelection,\n\t\t__unstableMarkLastChangeAsPersistent,\n\t\tmoveBlocksToPosition,\n\t\tremoveBlock,\n\t\tselectBlock,\n\t} = dispatch( blockEditorStore );\n\n\t// Do not add new properties here, use `useDispatch` instead to avoid\n\t// leaking new props to the public API (editor.BlockListBlock filter).\n\treturn {\n\t\tsetAttributes( newAttributes ) {\n\t\t\tconst { getMultiSelectedBlockClientIds } =\n\t\t\t\tregistry.select( blockEditorStore );\n\t\t\tconst multiSelectedBlockClientIds =\n\t\t\t\tgetMultiSelectedBlockClientIds();\n\t\t\tconst { clientId } = ownProps;\n\t\t\tconst clientIds = multiSelectedBlockClientIds.length\n\t\t\t\t? multiSelectedBlockClientIds\n\t\t\t\t: [ clientId ];\n\n\t\t\tupdateBlockAttributes( clientIds, newAttributes );\n\t\t},\n\t\tonInsertBlocks( blocks, index ) {\n\t\t\tconst { rootClientId } = ownProps;\n\t\t\tinsertBlocks( blocks, index, rootClientId );\n\t\t},\n\t\tonInsertBlocksAfter( blocks ) {\n\t\t\tconst { clientId, rootClientId } = ownProps;\n\t\t\tconst { getBlockIndex } = registry.select( blockEditorStore );\n\t\t\tconst index = getBlockIndex( clientId );\n\t\t\tinsertBlocks( blocks, index + 1, rootClientId );\n\t\t},\n\t\tonMerge( forward ) {\n\t\t\tconst { clientId, rootClientId } = ownProps;\n\t\t\tconst {\n\t\t\t\tgetPreviousBlockClientId,\n\t\t\t\tgetNextBlockClientId,\n\t\t\t\tgetBlock,\n\t\t\t\tgetBlockAttributes,\n\t\t\t\tgetBlockName,\n\t\t\t\tgetBlockOrder,\n\t\t\t\tgetBlockIndex,\n\t\t\t\tgetBlockRootClientId,\n\t\t\t\tcanInsertBlockType,\n\t\t\t} = registry.select( blockEditorStore );\n\n\t\t\tfunction switchToDefaultOrRemove() {\n\t\t\t\tconst block = getBlock( clientId );\n\t\t\t\tconst defaultBlockName = getDefaultBlockName();\n\t\t\t\tif ( getBlockName( clientId ) !== defaultBlockName ) {\n\t\t\t\t\tconst replacement = switchToBlockType(\n\t\t\t\t\t\tblock,\n\t\t\t\t\t\tdefaultBlockName\n\t\t\t\t\t);\n\t\t\t\t\tif ( replacement && replacement.length ) {\n\t\t\t\t\t\treplaceBlocks( clientId, replacement );\n\t\t\t\t\t}\n\t\t\t\t} else if ( isUnmodifiedDefaultBlock( block ) ) {\n\t\t\t\t\tconst nextBlockClientId = getNextBlockClientId( clientId );\n\t\t\t\t\tif ( nextBlockClientId ) {\n\t\t\t\t\t\tregistry.batch( () => {\n\t\t\t\t\t\t\tremoveBlock( clientId );\n\t\t\t\t\t\t\tselectBlock( nextBlockClientId );\n\t\t\t\t\t\t} );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t/**\n\t\t\t * Moves the block with clientId up one level. If the block type\n\t\t\t * cannot be inserted at the new location, it will be attempted to\n\t\t\t * convert to the default block type.\n\t\t\t *\n\t\t\t * @param {string} _clientId The block to move.\n\t\t\t * @param {boolean} changeSelection Whether to change the selection\n\t\t\t * to the moved block.\n\t\t\t */\n\t\t\tfunction moveFirstItemUp( _clientId, changeSelection = true ) {\n\t\t\t\tconst targetRootClientId = getBlockRootClientId( _clientId );\n\t\t\t\tconst blockOrder = getBlockOrder( _clientId );\n\t\t\t\tconst [ firstClientId ] = blockOrder;\n\n\t\t\t\tif (\n\t\t\t\t\tblockOrder.length === 1 &&\n\t\t\t\t\tisUnmodifiedBlock( getBlock( firstClientId ) )\n\t\t\t\t) {\n\t\t\t\t\tremoveBlock( _clientId );\n\t\t\t\t} else {\n\t\t\t\t\tregistry.batch( () => {\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\tcanInsertBlockType(\n\t\t\t\t\t\t\t\tgetBlockName( firstClientId ),\n\t\t\t\t\t\t\t\ttargetRootClientId\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tmoveBlocksToPosition(\n\t\t\t\t\t\t\t\t[ firstClientId ],\n\t\t\t\t\t\t\t\t_clientId,\n\t\t\t\t\t\t\t\ttargetRootClientId,\n\t\t\t\t\t\t\t\tgetBlockIndex( _clientId )\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tconst replacement = switchToBlockType(\n\t\t\t\t\t\t\t\tgetBlock( firstClientId ),\n\t\t\t\t\t\t\t\tgetDefaultBlockName()\n\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\treplacement &&\n\t\t\t\t\t\t\t\treplacement.length &&\n\t\t\t\t\t\t\t\treplacement.every( ( block ) =>\n\t\t\t\t\t\t\t\t\tcanInsertBlockType(\n\t\t\t\t\t\t\t\t\t\tblock.name,\n\t\t\t\t\t\t\t\t\t\ttargetRootClientId\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\tinsertBlocks(\n\t\t\t\t\t\t\t\t\treplacement,\n\t\t\t\t\t\t\t\t\tgetBlockIndex( _clientId ),\n\t\t\t\t\t\t\t\t\ttargetRootClientId,\n\t\t\t\t\t\t\t\t\tchangeSelection\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\tremoveBlock( firstClientId, false );\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tswitchToDefaultOrRemove();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t! getBlockOrder( _clientId ).length &&\n\t\t\t\t\t\t\tisUnmodifiedBlock( getBlock( _clientId ) )\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tremoveBlock( _clientId, false );\n\t\t\t\t\t\t}\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// For `Delete` or forward merge, we should do the exact same thing\n\t\t\t// as `Backspace`, but from the other block.\n\t\t\tif ( forward ) {\n\t\t\t\tif ( rootClientId ) {\n\t\t\t\t\tconst nextRootClientId =\n\t\t\t\t\t\tgetNextBlockClientId( rootClientId );\n\n\t\t\t\t\tif ( nextRootClientId ) {\n\t\t\t\t\t\t// If there is a block that follows with the same parent\n\t\t\t\t\t\t// block name and the same attributes, merge the inner\n\t\t\t\t\t\t// blocks.\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\tgetBlockName( rootClientId ) ===\n\t\t\t\t\t\t\tgetBlockName( nextRootClientId )\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tconst rootAttributes =\n\t\t\t\t\t\t\t\tgetBlockAttributes( rootClientId );\n\t\t\t\t\t\t\tconst previousRootAttributes =\n\t\t\t\t\t\t\t\tgetBlockAttributes( nextRootClientId );\n\n\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\tObject.keys( rootAttributes ).every(\n\t\t\t\t\t\t\t\t\t( key ) =>\n\t\t\t\t\t\t\t\t\t\trootAttributes[ key ] ===\n\t\t\t\t\t\t\t\t\t\tpreviousRootAttributes[ key ]\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\tregistry.batch( () => {\n\t\t\t\t\t\t\t\t\tmoveBlocksToPosition(\n\t\t\t\t\t\t\t\t\t\tgetBlockOrder( nextRootClientId ),\n\t\t\t\t\t\t\t\t\t\tnextRootClientId,\n\t\t\t\t\t\t\t\t\t\trootClientId\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\tremoveBlock( nextRootClientId, false );\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tmergeBlocks( rootClientId, nextRootClientId );\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tconst nextBlockClientId = getNextBlockClientId( clientId );\n\n\t\t\t\tif ( ! nextBlockClientId ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif ( getBlockOrder( nextBlockClientId ).length ) {\n\t\t\t\t\tmoveFirstItemUp( nextBlockClientId, false );\n\t\t\t\t} else {\n\t\t\t\t\tmergeBlocks( clientId, nextBlockClientId );\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tconst previousBlockClientId =\n\t\t\t\t\tgetPreviousBlockClientId( clientId );\n\n\t\t\t\tif ( previousBlockClientId ) {\n\t\t\t\t\tmergeBlocks( previousBlockClientId, clientId );\n\t\t\t\t} else if ( rootClientId ) {\n\t\t\t\t\tconst previousRootClientId =\n\t\t\t\t\t\tgetPreviousBlockClientId( rootClientId );\n\n\t\t\t\t\t// If there is a preceding block with the same parent block\n\t\t\t\t\t// name and the same attributes, merge the inner blocks.\n\t\t\t\t\tif (\n\t\t\t\t\t\tpreviousRootClientId &&\n\t\t\t\t\t\tgetBlockName( rootClientId ) ===\n\t\t\t\t\t\t\tgetBlockName( previousRootClientId )\n\t\t\t\t\t) {\n\t\t\t\t\t\tconst rootAttributes =\n\t\t\t\t\t\t\tgetBlockAttributes( rootClientId );\n\t\t\t\t\t\tconst previousRootAttributes =\n\t\t\t\t\t\t\tgetBlockAttributes( previousRootClientId );\n\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\tObject.keys( rootAttributes ).every(\n\t\t\t\t\t\t\t\t( key ) =>\n\t\t\t\t\t\t\t\t\trootAttributes[ key ] ===\n\t\t\t\t\t\t\t\t\tpreviousRootAttributes[ key ]\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tregistry.batch( () => {\n\t\t\t\t\t\t\t\tmoveBlocksToPosition(\n\t\t\t\t\t\t\t\t\tgetBlockOrder( rootClientId ),\n\t\t\t\t\t\t\t\t\trootClientId,\n\t\t\t\t\t\t\t\t\tpreviousRootClientId\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\tremoveBlock( rootClientId, false );\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tmoveFirstItemUp( rootClientId );\n\t\t\t\t} else {\n\t\t\t\t\tswitchToDefaultOrRemove();\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tonReplace( blocks, indexToSelect, initialPosition ) {\n\t\t\tif (\n\t\t\t\tblocks.length &&\n\t\t\t\t! isUnmodifiedDefaultBlock( blocks[ blocks.length - 1 ] )\n\t\t\t) {\n\t\t\t\t__unstableMarkLastChangeAsPersistent();\n\t\t\t}\n\t\t\t//Unsynced patterns are nested in an array so we need to flatten them.\n\t\t\tconst replacementBlocks =\n\t\t\t\tblocks?.length === 1 && Array.isArray( blocks[ 0 ] )\n\t\t\t\t\t? blocks[ 0 ]\n\t\t\t\t\t: blocks;\n\t\t\treplaceBlocks(\n\t\t\t\t[ ownProps.clientId ],\n\t\t\t\treplacementBlocks,\n\t\t\t\tindexToSelect,\n\t\t\t\tinitialPosition\n\t\t\t);\n\t\t},\n\t\ttoggleSelection( selectionEnabled ) {\n\t\t\ttoggleSelection( selectionEnabled );\n\t\t},\n\t};\n} );\n\n// This component is used by the BlockListBlockProvider component below. It will\n// add the props necessary for the `editor.BlockListBlock` filters.\nBlockListBlock = compose(\n\tapplyWithDispatch,\n\twithFilters( 'editor.BlockListBlock' )\n)( BlockListBlock );\n\n// This component provides all the information we need through a single store\n// subscription (useSelect mapping). Only the necessary props are passed down\n// to the BlockListBlock component, which is a filtered component, so these\n// props are public API. To avoid adding to the public API, we use a private\n// context to pass the rest of the information to the filtered BlockListBlock\n// component, and useBlockProps.\nfunction BlockListBlockProvider( props ) {\n\tconst { clientId, rootClientId } = props;\n\tconst selectedProps = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tisBlockSelected,\n\t\t\t\tgetBlockMode,\n\t\t\t\tisSelectionEnabled,\n\t\t\t\tgetTemplateLock,\n\t\t\t\tgetBlockWithoutAttributes,\n\t\t\t\tgetBlockAttributes,\n\t\t\t\tcanRemoveBlock,\n\t\t\t\tcanMoveBlock,\n\n\t\t\t\tgetSettings,\n\t\t\t\tgetTemporarilyEditingAsBlocks,\n\t\t\t\tgetBlockEditingMode,\n\t\t\t\tgetBlockName,\n\t\t\t\tisFirstMultiSelectedBlock,\n\t\t\t\tgetMultiSelectedBlockClientIds,\n\t\t\t\thasSelectedInnerBlock,\n\t\t\t\tgetBlocksByName,\n\n\t\t\t\tgetBlockIndex,\n\t\t\t\tisBlockMultiSelected,\n\t\t\t\tisBlockSubtreeDisabled,\n\t\t\t\tisBlockHighlighted,\n\t\t\t\t__unstableIsFullySelected,\n\t\t\t\t__unstableSelectionHasUnmergeableBlock,\n\t\t\t\tisBlockBeingDragged,\n\t\t\t\tisDragging,\n\t\t\t\thasBlockMovingClientId,\n\t\t\t\tcanInsertBlockType,\n\t\t\t\t__unstableHasActiveBlockOverlayActive,\n\t\t\t\t__unstableGetEditorMode,\n\t\t\t\tgetSelectedBlocksInitialCaretPosition,\n\t\t\t} = unlock( select( blockEditorStore ) );\n\t\t\tconst blockWithoutAttributes =\n\t\t\t\tgetBlockWithoutAttributes( clientId );\n\n\t\t\t// This is a temporary fix.\n\t\t\t// This function should never be called when a block is not\n\t\t\t// present in the state. It happens now because the order in\n\t\t\t// withSelect rendering is not correct.\n\t\t\tif ( ! blockWithoutAttributes ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst {\n\t\t\t\thasBlockSupport: _hasBlockSupport,\n\t\t\t\tgetActiveBlockVariation,\n\t\t\t} = select( blocksStore );\n\t\t\tconst attributes = getBlockAttributes( clientId );\n\t\t\tconst { name: blockName, isValid } = blockWithoutAttributes;\n\t\t\tconst blockType = getBlockType( blockName );\n\t\t\tconst { supportsLayout, __unstableIsPreviewMode: isPreviewMode } =\n\t\t\t\tgetSettings();\n\t\t\tconst hasLightBlockWrapper = blockType?.apiVersion > 1;\n\t\t\tconst previewContext = {\n\t\t\t\tisPreviewMode,\n\t\t\t\tblockWithoutAttributes,\n\t\t\t\tname: blockName,\n\t\t\t\tattributes,\n\t\t\t\tisValid,\n\t\t\t\tthemeSupportsLayout: supportsLayout,\n\t\t\t\tindex: getBlockIndex( clientId ),\n\t\t\t\tisReusable: isReusableBlock( blockType ),\n\t\t\t\tclassName: hasLightBlockWrapper\n\t\t\t\t\t? attributes.className\n\t\t\t\t\t: undefined,\n\t\t\t\tdefaultClassName: hasLightBlockWrapper\n\t\t\t\t\t? getBlockDefaultClassName( blockName )\n\t\t\t\t\t: undefined,\n\t\t\t\tblockTitle: blockType?.title,\n\t\t\t};\n\n\t\t\t// When in preview mode, we can avoid a lot of selection and\n\t\t\t// editing related selectors.\n\t\t\tif ( isPreviewMode ) {\n\t\t\t\treturn previewContext;\n\t\t\t}\n\n\t\t\tconst _isSelected = isBlockSelected( clientId );\n\t\t\tconst canRemove = canRemoveBlock( clientId );\n\t\t\tconst canMove = canMoveBlock( clientId );\n\t\t\tconst match = getActiveBlockVariation( blockName, attributes );\n\t\t\tconst isMultiSelected = isBlockMultiSelected( clientId );\n\t\t\tconst checkDeep = true;\n\t\t\tconst isAncestorOfSelectedBlock = hasSelectedInnerBlock(\n\t\t\t\tclientId,\n\t\t\t\tcheckDeep\n\t\t\t);\n\t\t\tconst movingClientId = hasBlockMovingClientId();\n\t\t\tconst blockEditingMode = getBlockEditingMode( clientId );\n\n\t\t\tconst multiple = hasBlockSupport( blockName, 'multiple', true );\n\n\t\t\t// For block types with `multiple` support, there is no \"original\n\t\t\t// block\" to be found in the content, as the block itself is valid.\n\t\t\tconst blocksWithSameName = multiple\n\t\t\t\t? []\n\t\t\t\t: getBlocksByName( blockName );\n\t\t\tconst isInvalid =\n\t\t\t\tblocksWithSameName.length &&\n\t\t\t\tblocksWithSameName[ 0 ] !== clientId;\n\n\t\t\tconst editorMode = __unstableGetEditorMode();\n\n\t\t\treturn {\n\t\t\t\t...previewContext,\n\t\t\t\tmode: getBlockMode( clientId ),\n\t\t\t\tisSelectionEnabled: isSelectionEnabled(),\n\t\t\t\tisLocked: !! getTemplateLock( rootClientId ),\n\t\t\t\ttemplateLock: getTemplateLock( clientId ),\n\t\t\t\tcanRemove,\n\t\t\t\tcanMove,\n\t\t\t\tisSelected: _isSelected,\n\t\t\t\tisTemporarilyEditingAsBlocks:\n\t\t\t\t\tgetTemporarilyEditingAsBlocks() === clientId,\n\t\t\t\tblockEditingMode,\n\t\t\t\tmayDisplayControls:\n\t\t\t\t\t_isSelected ||\n\t\t\t\t\t( isFirstMultiSelectedBlock( clientId ) &&\n\t\t\t\t\t\tgetMultiSelectedBlockClientIds().every(\n\t\t\t\t\t\t\t( id ) => getBlockName( id ) === blockName\n\t\t\t\t\t\t) ),\n\t\t\t\tmayDisplayParentControls:\n\t\t\t\t\t_hasBlockSupport(\n\t\t\t\t\t\tgetBlockName( clientId ),\n\t\t\t\t\t\t'__experimentalExposeControlsToChildren',\n\t\t\t\t\t\tfalse\n\t\t\t\t\t) && hasSelectedInnerBlock( clientId ),\n\t\t\t\tblockApiVersion: blockType?.apiVersion || 1,\n\t\t\t\tblockTitle: match?.title || blockType?.title,\n\t\t\t\teditorMode,\n\t\t\t\tisSubtreeDisabled:\n\t\t\t\t\tblockEditingMode === 'disabled' &&\n\t\t\t\t\tisBlockSubtreeDisabled( clientId ),\n\t\t\t\thasOverlay:\n\t\t\t\t\t__unstableHasActiveBlockOverlayActive( clientId ) &&\n\t\t\t\t\t! isDragging(),\n\t\t\t\tinitialPosition:\n\t\t\t\t\t_isSelected &&\n\t\t\t\t\t( editorMode === 'edit' || editorMode === 'zoom-out' ) // Don't recalculate the initialPosition when toggling in/out of zoom-out mode\n\t\t\t\t\t\t? getSelectedBlocksInitialCaretPosition()\n\t\t\t\t\t\t: undefined,\n\t\t\t\tisHighlighted: isBlockHighlighted( clientId ),\n\t\t\t\tisMultiSelected,\n\t\t\t\tisPartiallySelected:\n\t\t\t\t\tisMultiSelected &&\n\t\t\t\t\t! __unstableIsFullySelected() &&\n\t\t\t\t\t! __unstableSelectionHasUnmergeableBlock(),\n\t\t\t\tisDragging: isBlockBeingDragged( clientId ),\n\t\t\t\thasChildSelected: isAncestorOfSelectedBlock,\n\t\t\t\tisBlockMovingMode: !! movingClientId,\n\t\t\t\tcanInsertMovingBlock:\n\t\t\t\t\tmovingClientId &&\n\t\t\t\t\tcanInsertBlockType(\n\t\t\t\t\t\tgetBlockName( movingClientId ),\n\t\t\t\t\t\trootClientId\n\t\t\t\t\t),\n\t\t\t\tisEditingDisabled: blockEditingMode === 'disabled',\n\t\t\t\thasEditableOutline:\n\t\t\t\t\tblockEditingMode !== 'disabled' &&\n\t\t\t\t\tgetBlockEditingMode( rootClientId ) === 'disabled',\n\t\t\t\toriginalBlockClientId: isInvalid\n\t\t\t\t\t? blocksWithSameName[ 0 ]\n\t\t\t\t\t: false,\n\t\t\t};\n\t\t},\n\t\t[ clientId, rootClientId ]\n\t);\n\n\tconst {\n\t\tisPreviewMode,\n\t\t// Fill values that end up as a public API and may not be defined in\n\t\t// preview mode.\n\t\tmode = 'visual',\n\t\tisSelectionEnabled = false,\n\t\tisLocked = false,\n\t\tcanRemove = false,\n\t\tcanMove = false,\n\t\tblockWithoutAttributes,\n\t\tname,\n\t\tattributes,\n\t\tisValid,\n\t\tisSelected = false,\n\t\tthemeSupportsLayout,\n\t\tisTemporarilyEditingAsBlocks,\n\t\tblockEditingMode,\n\t\teditorMode,\n\t\tmayDisplayControls,\n\t\tmayDisplayParentControls,\n\t\tindex,\n\t\tblockApiVersion,\n\t\tblockTitle,\n\t\tisSubtreeDisabled,\n\t\thasOverlay,\n\t\tinitialPosition,\n\t\tisHighlighted,\n\t\tisMultiSelected,\n\t\tisPartiallySelected,\n\t\tisReusable,\n\t\tisDragging,\n\t\thasChildSelected,\n\t\tisBlockMovingMode,\n\t\tcanInsertMovingBlock,\n\t\ttemplateLock,\n\t\tisEditingDisabled,\n\t\thasEditableOutline,\n\t\tclassName,\n\t\tdefaultClassName,\n\t\toriginalBlockClientId,\n\t} = selectedProps;\n\n\t// Users of the editor.BlockListBlock filter used to be able to\n\t// access the block prop.\n\t// Ideally these blocks would rely on the clientId prop only.\n\t// This is kept for backward compatibility reasons.\n\tconst block = useMemo(\n\t\t() => ( { ...blockWithoutAttributes, attributes } ),\n\t\t[ blockWithoutAttributes, attributes ]\n\t);\n\n\t// Block is sometimes not mounted at the right time, causing it be\n\t// undefined see issue for more info\n\t// https://github.com/WordPress/gutenberg/issues/17013\n\tif ( ! selectedProps ) {\n\t\treturn null;\n\t}\n\n\tconst privateContext = {\n\t\tisPreviewMode,\n\t\tclientId,\n\t\tclassName,\n\t\tindex,\n\t\tmode,\n\t\tname,\n\t\tblockApiVersion,\n\t\tblockTitle,\n\t\tisSelected,\n\t\tisSubtreeDisabled,\n\t\thasOverlay,\n\t\tinitialPosition,\n\t\tblockEditingMode,\n\t\teditorMode,\n\t\tisHighlighted,\n\t\tisMultiSelected,\n\t\tisPartiallySelected,\n\t\tisReusable,\n\t\tisDragging,\n\t\thasChildSelected,\n\t\tisBlockMovingMode,\n\t\tcanInsertMovingBlock,\n\t\ttemplateLock,\n\t\tisEditingDisabled,\n\t\thasEditableOutline,\n\t\tisTemporarilyEditingAsBlocks,\n\t\tdefaultClassName,\n\t\tmayDisplayControls,\n\t\tmayDisplayParentControls,\n\t\toriginalBlockClientId,\n\t\tthemeSupportsLayout,\n\t};\n\n\t// Here we separate between the props passed to BlockListBlock and any other\n\t// information we selected for internal use. BlockListBlock is a filtered\n\t// component and thus ALL the props are PUBLIC API.\n\n\t// Note that the context value doesn't have to be memoized in this case\n\t// because when it changes, this component will be re-rendered anyway, and\n\t// none of the consumers (BlockListBlock and useBlockProps) are memoized or\n\t// \"pure\". This is different from the public BlockEditContext, where\n\t// consumers might be memoized or \"pure\".\n\treturn (\n\t\t<PrivateBlockContext.Provider value={ privateContext }>\n\t\t\t<BlockListBlock\n\t\t\t\t{ ...props }\n\t\t\t\t// WARNING: all the following props are public API (through the\n\t\t\t\t// editor.BlockListBlock filter) and normally nothing new should\n\t\t\t\t// be added to it.\n\t\t\t\t{ ...{\n\t\t\t\t\tmode,\n\t\t\t\t\tisSelectionEnabled,\n\t\t\t\t\tisLocked,\n\t\t\t\t\tcanRemove,\n\t\t\t\t\tcanMove,\n\t\t\t\t\t// Users of the editor.BlockListBlock filter used to be able\n\t\t\t\t\t// to access the block prop. Ideally these blocks would rely\n\t\t\t\t\t// on the clientId prop only. This is kept for backward\n\t\t\t\t\t// compatibility reasons.\n\t\t\t\t\tblock,\n\t\t\t\t\tname,\n\t\t\t\t\tattributes,\n\t\t\t\t\tisValid,\n\t\t\t\t\tisSelected,\n\t\t\t\t} }\n\t\t\t/>\n\t\t</PrivateBlockContext.Provider>\n\t);\n}\n\nexport default memo( BlockListBlockProvider );\n"],"mappings":"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","ignoreList":[]}
@@ -23,6 +23,7 @@ import { blockBindingsKey, useBlockEditContext } from '../../block-edit/context'
23
23
  import { useFocusHandler } from './use-focus-handler';
24
24
  import { useEventHandlers } from './use-selected-block-event-handlers';
25
25
  import { useNavModeExit } from './use-nav-mode-exit';
26
+ import { useZoomOutModeExit } from './use-zoom-out-mode-exit';
26
27
  import { useBlockRefProvider } from './use-block-refs';
27
28
  import { useIntersectionObserver } from './use-intersection-observer';
28
29
  import { useScrollIntoView } from './use-scroll-into-view';
@@ -46,13 +47,13 @@ import { canBindBlock } from '../../../hooks/use-bindings-attributes';
46
47
  *
47
48
  * export default function Edit() {
48
49
  *
49
- * const blockProps = useBlockProps(
50
+ * const blockProps = useBlockProps( {
50
51
  * className: 'my-custom-class',
51
52
  * style: {
52
53
  * color: '#222222',
53
54
  * backgroundColor: '#eeeeee'
54
55
  * }
55
- * )
56
+ * } )
56
57
  *
57
58
  * return (
58
59
  * <div { ...blockProps }>
@@ -84,6 +85,7 @@ export function useBlockProps(props = {}, {
84
85
  name,
85
86
  blockApiVersion,
86
87
  blockTitle,
88
+ editorMode,
87
89
  isSelected,
88
90
  isSubtreeDisabled,
89
91
  hasOverlay,
@@ -113,7 +115,9 @@ export function useBlockProps(props = {}, {
113
115
  }), useBlockRefProvider(clientId), useFocusHandler(clientId), useEventHandlers({
114
116
  clientId,
115
117
  isSelected
116
- }), useNavModeExit(clientId), useIsHovered({
118
+ }), useNavModeExit(clientId), useZoomOutModeExit({
119
+ editorMode
120
+ }), useIsHovered({
117
121
  clientId
118
122
  }), useIntersectionObserver(), useMovingAnimation({
119
123
  triggerAnimationOnChange: index,