@wordpress/block-editor 12.20.0 → 12.22.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 (558) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/build/components/block-actions/index.js +47 -36
  3. package/build/components/block-actions/index.js.map +1 -1
  4. package/build/components/block-bindings-toolbar-indicator/index.js +25 -0
  5. package/build/components/block-bindings-toolbar-indicator/index.js.map +1 -0
  6. package/build/components/block-edit/context.js +2 -1
  7. package/build/components/block-edit/context.js.map +1 -1
  8. package/build/components/block-edit/index.js +8 -3
  9. package/build/components/block-edit/index.js.map +1 -1
  10. package/build/components/block-heading-level-dropdown/index.js +5 -5
  11. package/build/components/block-heading-level-dropdown/index.js.map +1 -1
  12. package/build/components/block-heading-level-dropdown/index.native.js +5 -4
  13. package/build/components/block-heading-level-dropdown/index.native.js.map +1 -1
  14. package/build/components/block-inspector/index.js +5 -4
  15. package/build/components/block-inspector/index.js.map +1 -1
  16. package/build/components/block-list/block-crash-boundary.native.js +49 -0
  17. package/build/components/block-list/block-crash-boundary.native.js.map +1 -0
  18. package/build/components/block-list/block-crash-warning.native.js +24 -0
  19. package/build/components/block-list/block-crash-warning.native.js.map +1 -0
  20. package/build/components/block-list/block-invalid-warning.native.js.map +1 -1
  21. package/build/components/block-list/block-list-item.native.js +1 -1
  22. package/build/components/block-list/block-list-item.native.js.map +1 -1
  23. package/build/components/block-list/block-outline.native.js +23 -7
  24. package/build/components/block-list/block-outline.native.js.map +1 -1
  25. package/build/components/block-list/block-selection-button.native.js.map +1 -1
  26. package/build/components/block-list/block.native.js +7 -5
  27. package/build/components/block-list/block.native.js.map +1 -1
  28. package/build/components/block-list/use-block-props/index.js +8 -1
  29. package/build/components/block-list/use-block-props/index.js.map +1 -1
  30. package/build/components/block-list/use-block-props/use-selected-block-event-handlers.js +3 -3
  31. package/build/components/block-list/use-block-props/use-selected-block-event-handlers.js.map +1 -1
  32. package/build/components/block-mover/index.native.js.map +1 -1
  33. package/build/components/block-popover/cover.js +68 -0
  34. package/build/components/block-popover/cover.js.map +1 -0
  35. package/build/components/block-popover/drop-zone.js +2 -3
  36. package/build/components/block-popover/drop-zone.js.map +1 -1
  37. package/build/components/block-popover/index.js +1 -19
  38. package/build/components/block-popover/index.js.map +1 -1
  39. package/build/components/block-preview/index.js +2 -1
  40. package/build/components/block-preview/index.js.map +1 -1
  41. package/build/components/block-removal-warning-modal/index.js +2 -4
  42. package/build/components/block-removal-warning-modal/index.js.map +1 -1
  43. package/build/components/block-rename/modal.js.map +1 -1
  44. package/build/components/block-settings/container.native.js +2 -1
  45. package/build/components/block-settings/container.native.js.map +1 -1
  46. package/build/components/block-settings-menu/block-settings-dropdown.js +41 -39
  47. package/build/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
  48. package/build/components/block-settings-menu-controls/index.js +1 -3
  49. package/build/components/block-settings-menu-controls/index.js.map +1 -1
  50. package/build/components/block-switcher/block-transformations-menu.native.js.map +1 -1
  51. package/build/components/block-toolbar/block-toolbar-menu.native.js.map +1 -1
  52. package/build/components/block-toolbar/index.js +24 -11
  53. package/build/components/block-toolbar/index.js.map +1 -1
  54. package/build/components/block-toolbar/shuffle.js +89 -0
  55. package/build/components/block-toolbar/shuffle.js.map +1 -0
  56. package/build/components/block-toolbar/use-has-block-toolbar.js +43 -0
  57. package/build/components/block-toolbar/use-has-block-toolbar.js.map +1 -0
  58. package/build/components/block-tools/block-selection-button.js +5 -1
  59. package/build/components/block-tools/block-selection-button.js.map +1 -1
  60. package/build/components/block-tools/empty-block-inserter.js +2 -5
  61. package/build/components/block-tools/empty-block-inserter.js.map +1 -1
  62. package/build/components/block-tools/index.js +9 -26
  63. package/build/components/block-tools/index.js.map +1 -1
  64. package/build/components/block-tools/use-show-block-tools.js +60 -0
  65. package/build/components/block-tools/use-show-block-tools.js.map +1 -0
  66. package/build/components/caption/index.native.js.map +1 -1
  67. package/build/components/child-layout-control/index.js +108 -11
  68. package/build/components/child-layout-control/index.js.map +1 -1
  69. package/build/components/color-palette/control.js.map +1 -1
  70. package/build/components/colors-gradients/control.js +1 -1
  71. package/build/components/colors-gradients/control.js.map +1 -1
  72. package/build/components/convert-to-group-buttons/toolbar.js +11 -0
  73. package/build/components/convert-to-group-buttons/toolbar.js.map +1 -1
  74. package/build/components/global-styles/border-panel.js +21 -8
  75. package/build/components/global-styles/border-panel.js.map +1 -1
  76. package/build/components/global-styles/color-panel.js +1 -1
  77. package/build/components/global-styles/color-panel.js.map +1 -1
  78. package/build/components/global-styles/dimensions-panel.js +8 -33
  79. package/build/components/global-styles/dimensions-panel.js.map +1 -1
  80. package/build/components/global-styles/image-settings-panel.js.map +1 -1
  81. package/build/components/global-styles/index.js +6 -0
  82. package/build/components/global-styles/index.js.map +1 -1
  83. package/build/components/global-styles/shadow-panel-components.js +80 -23
  84. package/build/components/global-styles/shadow-panel-components.js.map +1 -1
  85. package/build/components/global-styles/typography-utils.js +7 -5
  86. package/build/components/global-styles/typography-utils.js.map +1 -1
  87. package/build/components/global-styles/use-global-styles-output.js +16 -16
  88. package/build/components/global-styles/use-global-styles-output.js.map +1 -1
  89. package/build/components/global-styles/utils.js +2 -4
  90. package/build/components/global-styles/utils.js.map +1 -1
  91. package/build/components/grid-visualizer/grid-item-resizer.js +77 -0
  92. package/build/components/grid-visualizer/grid-item-resizer.js.map +1 -0
  93. package/build/components/grid-visualizer/grid-visualizer.js +81 -0
  94. package/build/components/grid-visualizer/grid-visualizer.js.map +1 -0
  95. package/build/components/grid-visualizer/index.js +20 -0
  96. package/build/components/grid-visualizer/index.js.map +1 -0
  97. package/build/components/grid-visualizer/utils.js +10 -0
  98. package/build/components/grid-visualizer/utils.js.map +1 -0
  99. package/build/components/iframe/index.js +66 -17
  100. package/build/components/iframe/index.js.map +1 -1
  101. package/build/components/index.native.js +7 -0
  102. package/build/components/index.native.js.map +1 -1
  103. package/build/components/inner-blocks/use-nested-settings-update.js +8 -2
  104. package/build/components/inner-blocks/use-nested-settings-update.js.map +1 -1
  105. package/build/components/inserter/block-patterns-explorer/index.js +3 -6
  106. package/build/components/inserter/block-patterns-explorer/index.js.map +1 -1
  107. package/build/components/inserter/block-patterns-explorer/pattern-list.js +3 -1
  108. package/build/components/inserter/block-patterns-explorer/pattern-list.js.map +1 -1
  109. package/build/components/inserter/media-tab/media-preview.js.map +1 -1
  110. package/build/components/inserter/menu.native.js.map +1 -1
  111. package/build/components/inserter/mobile-tab-navigation.js +2 -2
  112. package/build/components/inserter/mobile-tab-navigation.js.map +1 -1
  113. package/build/components/inspector-controls/block-support-tools-panel.js.map +1 -1
  114. package/build/components/inspector-controls-tabs/advanced-controls-panel.native.js +36 -0
  115. package/build/components/inspector-controls-tabs/advanced-controls-panel.native.js.map +1 -0
  116. package/build/components/inspector-controls-tabs/index.js +1 -1
  117. package/build/components/inspector-controls-tabs/index.js.map +1 -1
  118. package/build/components/inspector-controls-tabs/styles-tab.js +1 -1
  119. package/build/components/inspector-controls-tabs/styles-tab.js.map +1 -1
  120. package/build/components/link-control/link-preview.js +4 -1
  121. package/build/components/link-control/link-preview.js.map +1 -1
  122. package/build/components/link-control/search-input.js.map +1 -1
  123. package/build/components/list-view/block-select-button.js +0 -2
  124. package/build/components/list-view/block-select-button.js.map +1 -1
  125. package/build/components/list-view/block.js +4 -11
  126. package/build/components/list-view/block.js.map +1 -1
  127. package/build/components/list-view/branch.js.map +1 -1
  128. package/build/components/list-view/drop-indicator.js.map +1 -1
  129. package/build/components/list-view/index.js.map +1 -1
  130. package/build/components/list-view/use-clipboard-handler.js +2 -1
  131. package/build/components/list-view/use-clipboard-handler.js.map +1 -1
  132. package/build/components/list-view/utils.js +5 -3
  133. package/build/components/list-view/utils.js.map +1 -1
  134. package/build/components/panel-color-settings/index.js.map +1 -1
  135. package/build/components/provider/index.js.map +1 -1
  136. package/build/components/resizable-box-popover/index.js +3 -5
  137. package/build/components/resizable-box-popover/index.js.map +1 -1
  138. package/build/components/responsive-block-control/index.js +1 -1
  139. package/build/components/responsive-block-control/index.js.map +1 -1
  140. package/build/components/rich-text/index.js +46 -26
  141. package/build/components/rich-text/index.js.map +1 -1
  142. package/build/components/rich-text/use-enter.js +3 -0
  143. package/build/components/rich-text/use-enter.js.map +1 -1
  144. package/build/components/spacing-sizes-control/input-controls/spacing-input-control.js.map +1 -1
  145. package/build/components/spacing-sizes-control/sides-dropdown/index.js +1 -1
  146. package/build/components/spacing-sizes-control/sides-dropdown/index.js.map +1 -1
  147. package/build/components/url-popover/index.js +3 -3
  148. package/build/components/url-popover/index.js.map +1 -1
  149. package/build/components/use-moving-animation/index.js +4 -0
  150. package/build/components/use-moving-animation/index.js.map +1 -1
  151. package/build/components/warning/index.native.js +9 -4
  152. package/build/components/warning/index.native.js.map +1 -1
  153. package/build/components/writing-flow/use-clipboard-handler.js +2 -1
  154. package/build/components/writing-flow/use-clipboard-handler.js.map +1 -1
  155. package/build/components/writing-flow/utils.js +23 -6
  156. package/build/components/writing-flow/utils.js.map +1 -1
  157. package/build/hooks/anchor.js +7 -8
  158. package/build/hooks/anchor.js.map +1 -1
  159. package/build/hooks/background.js +39 -2
  160. package/build/hooks/background.js.map +1 -1
  161. package/build/hooks/block-hooks.js +34 -8
  162. package/build/hooks/block-hooks.js.map +1 -1
  163. package/build/hooks/border.js +6 -4
  164. package/build/hooks/border.js.map +1 -1
  165. package/build/hooks/dimensions.js +3 -4
  166. package/build/hooks/dimensions.js.map +1 -1
  167. package/build/hooks/font-size.js +6 -7
  168. package/build/hooks/font-size.js.map +1 -1
  169. package/build/hooks/index.js +3 -2
  170. package/build/hooks/index.js.map +1 -1
  171. package/build/hooks/layout-child.js +67 -6
  172. package/build/hooks/layout-child.js.map +1 -1
  173. package/build/hooks/layout.js +32 -14
  174. package/build/hooks/layout.js.map +1 -1
  175. package/build/hooks/line-height.js.map +1 -1
  176. package/build/hooks/position.js +1 -1
  177. package/build/hooks/position.js.map +1 -1
  178. package/build/hooks/spacing-visualizer.js +115 -0
  179. package/build/hooks/spacing-visualizer.js.map +1 -0
  180. package/build/hooks/use-bindings-attributes.js +171 -48
  181. package/build/hooks/use-bindings-attributes.js.map +1 -1
  182. package/build/hooks/use-typography-props.js +1 -2
  183. package/build/hooks/use-typography-props.js.map +1 -1
  184. package/build/layouts/grid.js +6 -2
  185. package/build/layouts/grid.js.map +1 -1
  186. package/build/private-apis.js +7 -3
  187. package/build/private-apis.js.map +1 -1
  188. package/build/private-apis.native.js +3 -1
  189. package/build/private-apis.native.js.map +1 -1
  190. package/build/store/actions.js +42 -12
  191. package/build/store/actions.js.map +1 -1
  192. package/build/store/private-actions.js +29 -55
  193. package/build/store/private-actions.js.map +1 -1
  194. package/build/store/private-selectors.js +0 -8
  195. package/build/store/private-selectors.js.map +1 -1
  196. package/build/store/reducer.js +34 -46
  197. package/build/store/reducer.js.map +1 -1
  198. package/build/store/selectors.js +27 -15
  199. package/build/store/selectors.js.map +1 -1
  200. package/build-module/components/block-actions/index.js +47 -36
  201. package/build-module/components/block-actions/index.js.map +1 -1
  202. package/build-module/components/block-bindings-toolbar-indicator/index.js +18 -0
  203. package/build-module/components/block-bindings-toolbar-indicator/index.js.map +1 -0
  204. package/build-module/components/block-edit/context.js +1 -0
  205. package/build-module/components/block-edit/context.js.map +1 -1
  206. package/build-module/components/block-edit/index.js +9 -4
  207. package/build-module/components/block-edit/index.js.map +1 -1
  208. package/build-module/components/block-heading-level-dropdown/index.js +5 -5
  209. package/build-module/components/block-heading-level-dropdown/index.js.map +1 -1
  210. package/build-module/components/block-heading-level-dropdown/index.native.js +5 -4
  211. package/build-module/components/block-heading-level-dropdown/index.native.js.map +1 -1
  212. package/build-module/components/block-inspector/index.js +6 -5
  213. package/build-module/components/block-inspector/index.js.map +1 -1
  214. package/build-module/components/block-list/block-crash-boundary.native.js +42 -0
  215. package/build-module/components/block-list/block-crash-boundary.native.js.map +1 -0
  216. package/build-module/components/block-list/block-crash-warning.native.js +15 -0
  217. package/build-module/components/block-list/block-crash-warning.native.js.map +1 -0
  218. package/build-module/components/block-list/block-invalid-warning.native.js.map +1 -1
  219. package/build-module/components/block-list/block-list-item.native.js +1 -1
  220. package/build-module/components/block-list/block-list-item.native.js.map +1 -1
  221. package/build-module/components/block-list/block-outline.native.js +23 -7
  222. package/build-module/components/block-list/block-outline.native.js.map +1 -1
  223. package/build-module/components/block-list/block-selection-button.native.js.map +1 -1
  224. package/build-module/components/block-list/block.native.js +7 -5
  225. package/build-module/components/block-list/block.native.js.map +1 -1
  226. package/build-module/components/block-list/use-block-props/index.js +9 -2
  227. package/build-module/components/block-list/use-block-props/index.js.map +1 -1
  228. package/build-module/components/block-list/use-block-props/use-selected-block-event-handlers.js +3 -3
  229. package/build-module/components/block-list/use-block-props/use-selected-block-event-handlers.js.map +1 -1
  230. package/build-module/components/block-mover/index.native.js.map +1 -1
  231. package/build-module/components/block-popover/cover.js +60 -0
  232. package/build-module/components/block-popover/cover.js.map +1 -0
  233. package/build-module/components/block-popover/drop-zone.js +2 -3
  234. package/build-module/components/block-popover/drop-zone.js.map +1 -1
  235. package/build-module/components/block-popover/index.js +1 -19
  236. package/build-module/components/block-popover/index.js.map +1 -1
  237. package/build-module/components/block-preview/index.js +2 -1
  238. package/build-module/components/block-preview/index.js.map +1 -1
  239. package/build-module/components/block-removal-warning-modal/index.js +3 -5
  240. package/build-module/components/block-removal-warning-modal/index.js.map +1 -1
  241. package/build-module/components/block-rename/modal.js.map +1 -1
  242. package/build-module/components/block-settings/container.native.js +3 -2
  243. package/build-module/components/block-settings/container.native.js.map +1 -1
  244. package/build-module/components/block-settings-menu/block-settings-dropdown.js +42 -40
  245. package/build-module/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
  246. package/build-module/components/block-settings-menu-controls/index.js +1 -3
  247. package/build-module/components/block-settings-menu-controls/index.js.map +1 -1
  248. package/build-module/components/block-switcher/block-transformations-menu.native.js.map +1 -1
  249. package/build-module/components/block-toolbar/block-toolbar-menu.native.js.map +1 -1
  250. package/build-module/components/block-toolbar/index.js +24 -12
  251. package/build-module/components/block-toolbar/index.js.map +1 -1
  252. package/build-module/components/block-toolbar/shuffle.js +82 -0
  253. package/build-module/components/block-toolbar/shuffle.js.map +1 -0
  254. package/build-module/components/block-toolbar/use-has-block-toolbar.js +36 -0
  255. package/build-module/components/block-toolbar/use-has-block-toolbar.js.map +1 -0
  256. package/build-module/components/block-tools/block-selection-button.js +5 -1
  257. package/build-module/components/block-tools/block-selection-button.js.map +1 -1
  258. package/build-module/components/block-tools/empty-block-inserter.js +2 -5
  259. package/build-module/components/block-tools/empty-block-inserter.js.map +1 -1
  260. package/build-module/components/block-tools/index.js +9 -26
  261. package/build-module/components/block-tools/index.js.map +1 -1
  262. package/build-module/components/block-tools/use-show-block-tools.js +54 -0
  263. package/build-module/components/block-tools/use-show-block-tools.js.map +1 -0
  264. package/build-module/components/caption/index.native.js.map +1 -1
  265. package/build-module/components/child-layout-control/index.js +109 -12
  266. package/build-module/components/child-layout-control/index.js.map +1 -1
  267. package/build-module/components/color-palette/control.js.map +1 -1
  268. package/build-module/components/colors-gradients/control.js +1 -1
  269. package/build-module/components/colors-gradients/control.js.map +1 -1
  270. package/build-module/components/convert-to-group-buttons/toolbar.js +12 -1
  271. package/build-module/components/convert-to-group-buttons/toolbar.js.map +1 -1
  272. package/build-module/components/global-styles/border-panel.js +22 -10
  273. package/build-module/components/global-styles/border-panel.js.map +1 -1
  274. package/build-module/components/global-styles/color-panel.js +1 -1
  275. package/build-module/components/global-styles/color-panel.js.map +1 -1
  276. package/build-module/components/global-styles/dimensions-panel.js +9 -34
  277. package/build-module/components/global-styles/dimensions-panel.js.map +1 -1
  278. package/build-module/components/global-styles/image-settings-panel.js.map +1 -1
  279. package/build-module/components/global-styles/index.js +1 -1
  280. package/build-module/components/global-styles/index.js.map +1 -1
  281. package/build-module/components/global-styles/shadow-panel-components.js +82 -24
  282. package/build-module/components/global-styles/shadow-panel-components.js.map +1 -1
  283. package/build-module/components/global-styles/typography-utils.js +7 -5
  284. package/build-module/components/global-styles/typography-utils.js.map +1 -1
  285. package/build-module/components/global-styles/use-global-styles-output.js +17 -17
  286. package/build-module/components/global-styles/use-global-styles-output.js.map +1 -1
  287. package/build-module/components/global-styles/utils.js +2 -4
  288. package/build-module/components/global-styles/utils.js.map +1 -1
  289. package/build-module/components/grid-visualizer/grid-item-resizer.js +69 -0
  290. package/build-module/components/grid-visualizer/grid-item-resizer.js.map +1 -0
  291. package/build-module/components/grid-visualizer/grid-visualizer.js +73 -0
  292. package/build-module/components/grid-visualizer/grid-visualizer.js.map +1 -0
  293. package/build-module/components/grid-visualizer/index.js +3 -0
  294. package/build-module/components/grid-visualizer/index.js.map +1 -0
  295. package/build-module/components/grid-visualizer/utils.js +4 -0
  296. package/build-module/components/grid-visualizer/utils.js.map +1 -0
  297. package/build-module/components/iframe/index.js +66 -17
  298. package/build-module/components/iframe/index.js.map +1 -1
  299. package/build-module/components/index.native.js +1 -1
  300. package/build-module/components/index.native.js.map +1 -1
  301. package/build-module/components/inner-blocks/use-nested-settings-update.js +8 -2
  302. package/build-module/components/inner-blocks/use-nested-settings-update.js.map +1 -1
  303. package/build-module/components/inserter/block-patterns-explorer/index.js +3 -6
  304. package/build-module/components/inserter/block-patterns-explorer/index.js.map +1 -1
  305. package/build-module/components/inserter/block-patterns-explorer/pattern-list.js +3 -1
  306. package/build-module/components/inserter/block-patterns-explorer/pattern-list.js.map +1 -1
  307. package/build-module/components/inserter/media-tab/media-preview.js.map +1 -1
  308. package/build-module/components/inserter/menu.native.js.map +1 -1
  309. package/build-module/components/inserter/mobile-tab-navigation.js +2 -2
  310. package/build-module/components/inserter/mobile-tab-navigation.js.map +1 -1
  311. package/build-module/components/inspector-controls/block-support-tools-panel.js.map +1 -1
  312. package/build-module/components/inspector-controls-tabs/advanced-controls-panel.native.js +28 -0
  313. package/build-module/components/inspector-controls-tabs/advanced-controls-panel.native.js.map +1 -0
  314. package/build-module/components/inspector-controls-tabs/index.js +1 -1
  315. package/build-module/components/inspector-controls-tabs/index.js.map +1 -1
  316. package/build-module/components/inspector-controls-tabs/styles-tab.js +2 -2
  317. package/build-module/components/inspector-controls-tabs/styles-tab.js.map +1 -1
  318. package/build-module/components/link-control/link-preview.js +5 -2
  319. package/build-module/components/link-control/link-preview.js.map +1 -1
  320. package/build-module/components/link-control/search-input.js.map +1 -1
  321. package/build-module/components/list-view/block-select-button.js +0 -2
  322. package/build-module/components/list-view/block-select-button.js.map +1 -1
  323. package/build-module/components/list-view/block.js +6 -13
  324. package/build-module/components/list-view/block.js.map +1 -1
  325. package/build-module/components/list-view/branch.js.map +1 -1
  326. package/build-module/components/list-view/drop-indicator.js.map +1 -1
  327. package/build-module/components/list-view/index.js.map +1 -1
  328. package/build-module/components/list-view/use-clipboard-handler.js +3 -2
  329. package/build-module/components/list-view/use-clipboard-handler.js.map +1 -1
  330. package/build-module/components/list-view/utils.js +2 -1
  331. package/build-module/components/list-view/utils.js.map +1 -1
  332. package/build-module/components/panel-color-settings/index.js.map +1 -1
  333. package/build-module/components/provider/index.js.map +1 -1
  334. package/build-module/components/resizable-box-popover/index.js +3 -5
  335. package/build-module/components/resizable-box-popover/index.js.map +1 -1
  336. package/build-module/components/responsive-block-control/index.js +1 -1
  337. package/build-module/components/responsive-block-control/index.js.map +1 -1
  338. package/build-module/components/rich-text/index.js +47 -28
  339. package/build-module/components/rich-text/index.js.map +1 -1
  340. package/build-module/components/rich-text/use-enter.js +3 -0
  341. package/build-module/components/rich-text/use-enter.js.map +1 -1
  342. package/build-module/components/spacing-sizes-control/input-controls/spacing-input-control.js.map +1 -1
  343. package/build-module/components/spacing-sizes-control/sides-dropdown/index.js +1 -1
  344. package/build-module/components/spacing-sizes-control/sides-dropdown/index.js.map +1 -1
  345. package/build-module/components/url-popover/index.js +3 -3
  346. package/build-module/components/url-popover/index.js.map +1 -1
  347. package/build-module/components/use-moving-animation/index.js +4 -0
  348. package/build-module/components/use-moving-animation/index.js.map +1 -1
  349. package/build-module/components/warning/index.native.js +9 -4
  350. package/build-module/components/warning/index.native.js.map +1 -1
  351. package/build-module/components/writing-flow/use-clipboard-handler.js +3 -2
  352. package/build-module/components/writing-flow/use-clipboard-handler.js.map +1 -1
  353. package/build-module/components/writing-flow/utils.js +22 -7
  354. package/build-module/components/writing-flow/utils.js.map +1 -1
  355. package/build-module/hooks/anchor.js +8 -9
  356. package/build-module/hooks/anchor.js.map +1 -1
  357. package/build-module/hooks/background.js +38 -1
  358. package/build-module/hooks/background.js.map +1 -1
  359. package/build-module/hooks/block-hooks.js +34 -8
  360. package/build-module/hooks/block-hooks.js.map +1 -1
  361. package/build-module/hooks/border.js +7 -5
  362. package/build-module/hooks/border.js.map +1 -1
  363. package/build-module/hooks/dimensions.js +1 -2
  364. package/build-module/hooks/dimensions.js.map +1 -1
  365. package/build-module/hooks/font-size.js +7 -8
  366. package/build-module/hooks/font-size.js.map +1 -1
  367. package/build-module/hooks/index.js +3 -2
  368. package/build-module/hooks/index.js.map +1 -1
  369. package/build-module/hooks/layout-child.js +67 -6
  370. package/build-module/hooks/layout-child.js.map +1 -1
  371. package/build-module/hooks/layout.js +32 -14
  372. package/build-module/hooks/layout.js.map +1 -1
  373. package/build-module/hooks/line-height.js.map +1 -1
  374. package/build-module/hooks/position.js +1 -1
  375. package/build-module/hooks/position.js.map +1 -1
  376. package/build-module/hooks/spacing-visualizer.js +106 -0
  377. package/build-module/hooks/spacing-visualizer.js.map +1 -0
  378. package/build-module/hooks/use-bindings-attributes.js +172 -49
  379. package/build-module/hooks/use-bindings-attributes.js.map +1 -1
  380. package/build-module/hooks/use-typography-props.js +2 -3
  381. package/build-module/hooks/use-typography-props.js.map +1 -1
  382. package/build-module/layouts/grid.js +6 -2
  383. package/build-module/layouts/grid.js.map +1 -1
  384. package/build-module/private-apis.js +7 -3
  385. package/build-module/private-apis.js.map +1 -1
  386. package/build-module/private-apis.native.js +3 -1
  387. package/build-module/private-apis.native.js.map +1 -1
  388. package/build-module/store/actions.js +42 -12
  389. package/build-module/store/actions.js.map +1 -1
  390. package/build-module/store/private-actions.js +29 -54
  391. package/build-module/store/private-actions.js.map +1 -1
  392. package/build-module/store/private-selectors.js +0 -6
  393. package/build-module/store/private-selectors.js.map +1 -1
  394. package/build-module/store/reducer.js +34 -46
  395. package/build-module/store/reducer.js.map +1 -1
  396. package/build-module/store/selectors.js +23 -13
  397. package/build-module/store/selectors.js.map +1 -1
  398. package/build-style/content-rtl.css +22 -2
  399. package/build-style/content.css +22 -2
  400. package/build-style/default-editor-styles-rtl.css +1 -0
  401. package/build-style/default-editor-styles.css +1 -0
  402. package/build-style/style-rtl.css +106 -27
  403. package/build-style/style.css +106 -27
  404. package/package.json +31 -31
  405. package/src/components/block-actions/index.js +59 -55
  406. package/src/components/block-bindings-toolbar-indicator/index.js +20 -0
  407. package/src/components/block-bindings-toolbar-indicator/style.scss +16 -0
  408. package/src/components/block-draggable/test/index.native.js +2 -2
  409. package/src/components/block-edit/context.js +1 -0
  410. package/src/components/block-edit/index.js +5 -1
  411. package/src/components/block-heading-level-dropdown/README.md +5 -5
  412. package/src/components/block-heading-level-dropdown/index.js +5 -5
  413. package/src/components/block-heading-level-dropdown/index.native.js +5 -4
  414. package/src/components/block-inspector/index.js +7 -5
  415. package/src/components/block-list/block-crash-boundary.native.js +43 -0
  416. package/src/components/block-list/block-crash-warning.native.js +19 -0
  417. package/src/components/block-list/block-invalid-warning.native.js +1 -1
  418. package/src/components/block-list/block-list-item.native.js +1 -1
  419. package/src/components/block-list/block-outline.native.js +36 -21
  420. package/src/components/block-list/block-selection-button.native.js +1 -3
  421. package/src/components/block-list/block.native.js +14 -10
  422. package/src/components/block-list/content.scss +21 -1
  423. package/src/components/block-list/test/block-outline.native.js +255 -0
  424. package/src/components/block-list/use-block-props/index.js +12 -2
  425. package/src/components/block-list/use-block-props/use-selected-block-event-handlers.js +3 -7
  426. package/src/components/block-mover/index.native.js +1 -1
  427. package/src/components/block-popover/cover.js +63 -0
  428. package/src/components/block-popover/drop-zone.js +3 -4
  429. package/src/components/block-popover/index.js +1 -28
  430. package/src/components/block-preview/index.js +3 -1
  431. package/src/components/block-removal-warning-modal/index.js +5 -19
  432. package/src/components/block-rename/modal.js +1 -1
  433. package/src/components/block-settings/container.native.js +5 -1
  434. package/src/components/block-settings-menu/block-settings-dropdown.js +53 -65
  435. package/src/components/block-settings-menu-controls/README.md +0 -9
  436. package/src/components/block-settings-menu-controls/index.js +1 -6
  437. package/src/components/block-switcher/block-transformations-menu.native.js +1 -1
  438. package/src/components/block-toolbar/block-toolbar-menu.native.js +2 -2
  439. package/src/components/block-toolbar/index.js +22 -16
  440. package/src/components/block-toolbar/shuffle.js +93 -0
  441. package/src/components/block-toolbar/test/index.native.js +1 -7
  442. package/src/components/block-toolbar/use-has-block-toolbar.js +49 -0
  443. package/src/components/block-tools/block-selection-button.js +4 -0
  444. package/src/components/block-tools/empty-block-inserter.js +3 -6
  445. package/src/components/block-tools/index.js +13 -36
  446. package/src/components/block-tools/use-show-block-tools.js +73 -0
  447. package/src/components/caption/index.native.js +1 -1
  448. package/src/components/child-layout-control/index.js +148 -36
  449. package/src/components/color-palette/control.js +1 -1
  450. package/src/components/colors-gradients/control.js +1 -1
  451. package/src/components/colors-gradients/test/control.js +2 -2
  452. package/src/components/contrast-checker/test/index.js +10 -10
  453. package/src/components/convert-to-group-buttons/toolbar.js +13 -1
  454. package/src/components/default-block-appender/content.scss +5 -2
  455. package/src/components/global-styles/border-panel.js +35 -24
  456. package/src/components/global-styles/color-panel.js +1 -1
  457. package/src/components/global-styles/dimensions-panel.js +9 -34
  458. package/src/components/global-styles/image-settings-panel.js +1 -1
  459. package/src/components/global-styles/index.js +5 -1
  460. package/src/components/global-styles/shadow-panel-components.js +92 -23
  461. package/src/components/global-styles/style.scss +33 -10
  462. package/src/components/global-styles/test/typography-utils.js +231 -81
  463. package/src/components/global-styles/test/use-global-styles-output.js +31 -0
  464. package/src/components/global-styles/typography-utils.js +10 -7
  465. package/src/components/global-styles/use-global-styles-output.js +17 -17
  466. package/src/components/global-styles/utils.js +2 -26
  467. package/src/components/grid-visualizer/grid-item-resizer.js +100 -0
  468. package/src/components/grid-visualizer/grid-visualizer.js +81 -0
  469. package/src/components/grid-visualizer/index.js +2 -0
  470. package/src/components/grid-visualizer/style.scss +33 -0
  471. package/src/components/grid-visualizer/utils.js +5 -0
  472. package/src/components/iframe/index.js +89 -26
  473. package/src/components/index.native.js +1 -0
  474. package/src/components/inner-blocks/use-nested-settings-update.js +12 -2
  475. package/src/components/inserter/block-patterns-explorer/index.js +2 -9
  476. package/src/components/inserter/block-patterns-explorer/pattern-list.js +7 -1
  477. package/src/components/inserter/media-tab/media-preview.js +1 -1
  478. package/src/components/inserter/menu.native.js +3 -3
  479. package/src/components/inserter/mobile-tab-navigation.js +2 -2
  480. package/src/components/inserter/style.scss +10 -0
  481. package/src/components/inspector-controls/block-support-tools-panel.js +2 -2
  482. package/src/components/inspector-controls-tabs/advanced-controls-panel.native.js +31 -0
  483. package/src/components/inspector-controls-tabs/index.js +1 -1
  484. package/src/components/inspector-controls-tabs/styles-tab.js +2 -2
  485. package/src/components/line-height-control/test/index.js +1 -1
  486. package/src/components/link-control/link-preview.js +9 -2
  487. package/src/components/link-control/search-input.js +1 -1
  488. package/src/components/link-control/style.scss +9 -5
  489. package/src/components/list-view/block-select-button.js +0 -2
  490. package/src/components/list-view/block.js +12 -21
  491. package/src/components/list-view/branch.js +1 -1
  492. package/src/components/list-view/drop-indicator.js +1 -1
  493. package/src/components/list-view/index.js +1 -1
  494. package/src/components/list-view/style.scss +34 -16
  495. package/src/components/list-view/use-clipboard-handler.js +3 -2
  496. package/src/components/list-view/utils.js +4 -1
  497. package/src/components/panel-color-settings/index.js +1 -1
  498. package/src/components/panel-color-settings/test/index.js +3 -3
  499. package/src/components/provider/index.js +1 -4
  500. package/src/components/resizable-box-popover/index.js +4 -6
  501. package/src/components/responsive-block-control/README.md +4 -4
  502. package/src/components/responsive-block-control/index.js +1 -1
  503. package/src/components/responsive-block-control/test/index.js +5 -5
  504. package/src/components/rich-text/README.md +6 -0
  505. package/src/components/rich-text/index.js +76 -53
  506. package/src/components/rich-text/use-enter.js +4 -0
  507. package/src/components/spacing-sizes-control/input-controls/spacing-input-control.js +4 -4
  508. package/src/components/spacing-sizes-control/sides-dropdown/index.js +1 -1
  509. package/src/components/url-popover/index.js +5 -5
  510. package/src/components/url-popover/style.scss +1 -0
  511. package/src/components/use-moving-animation/index.js +1 -0
  512. package/src/components/warning/index.native.js +19 -15
  513. package/src/components/writing-flow/use-clipboard-handler.js +3 -2
  514. package/src/components/writing-flow/utils.js +31 -16
  515. package/src/hooks/anchor.js +41 -61
  516. package/src/hooks/background.js +49 -4
  517. package/src/hooks/block-hooks.js +47 -9
  518. package/src/hooks/block-hooks.scss +6 -0
  519. package/src/hooks/border.js +16 -4
  520. package/src/hooks/dimensions.js +1 -2
  521. package/src/hooks/font-size.js +7 -12
  522. package/src/hooks/index.js +3 -0
  523. package/src/hooks/layout-child.js +82 -8
  524. package/src/hooks/layout.js +34 -19
  525. package/src/hooks/line-height.js +1 -1
  526. package/src/hooks/position.js +1 -1
  527. package/src/hooks/spacing-visualizer.js +126 -0
  528. package/src/hooks/{padding.scss → spacing.scss} +1 -1
  529. package/src/hooks/test/__snapshots__/anchor.native.js.snap +7 -0
  530. package/src/hooks/test/anchor.native.js +32 -0
  531. package/src/hooks/use-bindings-attributes.js +215 -65
  532. package/src/hooks/use-typography-props.js +2 -8
  533. package/src/layouts/grid.js +8 -3
  534. package/src/private-apis.js +6 -2
  535. package/src/private-apis.native.js +2 -0
  536. package/src/store/actions.js +56 -18
  537. package/src/store/private-actions.js +34 -79
  538. package/src/store/private-selectors.js +0 -8
  539. package/src/store/reducer.js +43 -64
  540. package/src/store/selectors.js +41 -46
  541. package/src/store/test/actions.js +0 -4
  542. package/src/style.scss +3 -1
  543. package/tsconfig.json +1 -0
  544. package/build/hooks/margin.js +0 -86
  545. package/build/hooks/margin.js.map +0 -1
  546. package/build/hooks/padding.js +0 -78
  547. package/build/hooks/padding.js.map +0 -1
  548. package/build/utils/use-can-block-toolbar-be-focused.js +0 -46
  549. package/build/utils/use-can-block-toolbar-be-focused.js.map +0 -1
  550. package/build-module/hooks/margin.js +0 -78
  551. package/build-module/hooks/margin.js.map +0 -1
  552. package/build-module/hooks/padding.js +0 -70
  553. package/build-module/hooks/padding.js.map +0 -1
  554. package/build-module/utils/use-can-block-toolbar-be-focused.js +0 -40
  555. package/build-module/utils/use-can-block-toolbar-be-focused.js.map +0 -1
  556. package/src/hooks/margin.js +0 -91
  557. package/src/hooks/padding.js +0 -82
  558. package/src/utils/use-can-block-toolbar-be-focused.js +0 -48
@@ -177,7 +177,7 @@ function InserterMenu( {
177
177
 
178
178
  return (
179
179
  <BottomSheet
180
- isVisible={ true }
180
+ isVisible
181
181
  onClose={ onClose }
182
182
  onKeyboardShow={ onKeyboardShow }
183
183
  onKeyboardHide={ onKeyboardHide }
@@ -198,10 +198,10 @@ function InserterMenu( {
198
198
  </>
199
199
  }
200
200
  hasNavigation
201
- setMinHeightToMaxHeight={ true }
201
+ setMinHeightToMaxHeight
202
202
  contentStyle={ styles[ 'inserter-menu__list' ] }
203
203
  isFullScreen={ isFullScreen }
204
- allowDragIndicator={ true }
204
+ allowDragIndicator
205
205
  >
206
206
  <BottomSheetConsumer>
207
207
  { ( { listProps } ) => (
@@ -31,8 +31,8 @@ function ScreenHeader( { title } ) {
31
31
  { minWidth: 24, padding: 0 }
32
32
  }
33
33
  icon={ isRTL() ? chevronRight : chevronLeft }
34
- isSmall
35
- aria-label={ __( 'Navigate to the previous view' ) }
34
+ size="small"
35
+ label={ __( 'Back' ) }
36
36
  />
37
37
  <Spacer>
38
38
  <Heading level={ 5 }>{ title }</Heading>
@@ -767,3 +767,13 @@ $block-inserter-tabs-height: 44px;
767
767
  }
768
768
  }
769
769
  }
770
+
771
+ .is-zoom-out {
772
+ .block-editor-inserter__menu {
773
+ display: flex;
774
+ }
775
+
776
+ .block-editor-inserter__patterns-category-dialog {
777
+ position: static;
778
+ }
779
+ }
@@ -68,8 +68,8 @@ export default function BlockSupportToolsPanel( { children, group, label } ) {
68
68
  resetAll={ resetAll }
69
69
  key={ panelId }
70
70
  panelId={ panelId }
71
- hasInnerWrapper={ true }
72
- shouldRenderPlaceholderItems={ true } // Required to maintain fills ordering.
71
+ hasInnerWrapper
72
+ shouldRenderPlaceholderItems // Required to maintain fills ordering.
73
73
  __experimentalFirstVisibleItemClass="first"
74
74
  __experimentalLastVisibleItemClass="last"
75
75
  dropdownMenuProps={ TOOLSPANEL_DROPDOWNMENU_PROPS }
@@ -0,0 +1,31 @@
1
+ /**
2
+ * WordPress dependencies
3
+ */
4
+ import { PanelBody } from '@wordpress/components';
5
+ import { __ } from '@wordpress/i18n';
6
+
7
+ /**
8
+ * Internal dependencies
9
+ */
10
+ import groups from '../inspector-controls/groups';
11
+
12
+ export default function AdvancedControls( props ) {
13
+ const Slot = groups.advanced?.Slot;
14
+ if ( ! Slot ) {
15
+ return null;
16
+ }
17
+
18
+ return (
19
+ <Slot { ...props }>
20
+ { ( fills ) => {
21
+ if ( ! fills.length ) {
22
+ return null;
23
+ }
24
+
25
+ return (
26
+ <PanelBody title={ __( 'Advanced' ) }>{ fills }</PanelBody>
27
+ );
28
+ } }
29
+ </Slot>
30
+ );
31
+ }
@@ -35,7 +35,7 @@ export default function InspectorControlsTabs( {
35
35
 
36
36
  return (
37
37
  <div className="block-editor-block-inspector__tabs">
38
- <Tabs initialTabId={ initialTabName } key={ clientId }>
38
+ <Tabs defaultTabId={ initialTabName } key={ clientId }>
39
39
  <Tabs.TabList>
40
40
  { tabs.map( ( tab ) => (
41
41
  <Tabs.Tab
@@ -9,10 +9,10 @@ import { __ } from '@wordpress/i18n';
9
9
  */
10
10
  import BlockStyles from '../block-styles';
11
11
  import InspectorControls from '../inspector-controls';
12
- import { getBorderPanelLabel } from '../../hooks/border';
12
+ import { useBorderPanelLabel } from '../../hooks/border';
13
13
 
14
14
  const StylesTab = ( { blockName, clientId, hasBlockStyles } ) => {
15
- const borderPanelLabel = getBorderPanelLabel( { blockName } );
15
+ const borderPanelLabel = useBorderPanelLabel( { blockName } );
16
16
 
17
17
  return (
18
18
  <>
@@ -23,7 +23,7 @@ const ControlledLineHeightControl = () => {
23
23
  <LineHeightControl
24
24
  value={ value }
25
25
  onChange={ setValue }
26
- __nextHasNoMarginBottom={ true }
26
+ __nextHasNoMarginBottom
27
27
  />
28
28
  );
29
29
  };
@@ -16,8 +16,9 @@ import { useCopyToClipboard } from '@wordpress/compose';
16
16
  import { filterURLForDisplay, safeDecodeURI } from '@wordpress/url';
17
17
  import { Icon, globe, info, linkOff, edit, copySmall } from '@wordpress/icons';
18
18
  import { __unstableStripHTML as stripHTML } from '@wordpress/dom';
19
- import { useDispatch } from '@wordpress/data';
19
+ import { useDispatch, useSelect } from '@wordpress/data';
20
20
  import { store as noticesStore } from '@wordpress/notices';
21
+ import { store as preferencesStore } from '@wordpress/preferences';
21
22
 
22
23
  /**
23
24
  * Internal dependencies
@@ -33,6 +34,12 @@ export default function LinkPreview( {
33
34
  hasUnlinkControl = false,
34
35
  onRemove,
35
36
  } ) {
37
+ const showIconLabels = useSelect(
38
+ ( select ) =>
39
+ select( preferencesStore ).get( 'core', 'showIconLabels' ),
40
+ []
41
+ );
42
+
36
43
  // Avoid fetching if rich previews are not desired.
37
44
  const showRichPreviews = hasRichPreviews ? value?.url : null;
38
45
 
@@ -139,7 +146,7 @@ export default function LinkPreview( {
139
146
  label={ sprintf(
140
147
  // Translators: %s is a placeholder for the link URL and an optional colon, (if a Link URL is present).
141
148
  __( 'Copy link%s' ), // Ends up looking like "Copy link: https://example.com".
142
- isEmptyURL ? '' : ': ' + value.url
149
+ isEmptyURL || showIconLabels ? '' : ': ' + value.url
143
150
  ) }
144
151
  ref={ ref }
145
152
  disabled={ isEmptyURL }
@@ -130,7 +130,7 @@ const LinkControlSearchInput = forwardRef(
130
130
  showSuggestions ? handleRenderSuggestions : null
131
131
  }
132
132
  __experimentalFetchLinkSuggestions={ searchHandler }
133
- __experimentalHandleURLSuggestions={ true }
133
+ __experimentalHandleURLSuggestions
134
134
  __experimentalShowInitialSuggestions={
135
135
  showInitialSuggestions
136
136
  }
@@ -34,6 +34,15 @@ $block-editor-link-control-number-of-actions: 1;
34
34
  content: attr(aria-label);
35
35
  }
36
36
  }
37
+
38
+ .block-editor-link-control__search-item-top {
39
+ gap: $grid-unit-10;
40
+
41
+ .components-button.has-icon {
42
+ min-width: inherit;
43
+ width: min-content;
44
+ }
45
+ }
37
46
  }
38
47
  }
39
48
 
@@ -84,11 +93,6 @@ $block-editor-link-control-number-of-actions: 1;
84
93
  position: absolute;
85
94
  right: 19px; // specific to place the button properly.
86
95
  top: 3px;
87
-
88
- svg {
89
- position: relative;
90
- top: -2px; // the icon itself is not centered within the bounds; this centers it.
91
- }
92
96
  }
93
97
 
94
98
  .block-editor-link-control__search-actions {
@@ -47,7 +47,6 @@ function ListViewBlockSelectButton(
47
47
  onDragEnd,
48
48
  draggable,
49
49
  isExpanded,
50
- ariaLabel,
51
50
  ariaDescribedBy,
52
51
  updateFocusAndSelection,
53
52
  },
@@ -249,7 +248,6 @@ function ListViewBlockSelectButton(
249
248
  onDragEnd={ onDragEnd }
250
249
  draggable={ draggable }
251
250
  href={ `#block-${ clientId }` }
252
- aria-label={ ariaLabel }
253
251
  aria-describedby={ ariaDescribedBy }
254
252
  aria-expanded={ isExpanded }
255
253
  >
@@ -21,7 +21,7 @@ import {
21
21
  memo,
22
22
  } from '@wordpress/element';
23
23
  import { useDispatch, useSelect } from '@wordpress/data';
24
- import { sprintf, __ } from '@wordpress/i18n';
24
+ import { __ } from '@wordpress/i18n';
25
25
  import { ESCAPE } from '@wordpress/keycodes';
26
26
 
27
27
  /**
@@ -35,7 +35,11 @@ import {
35
35
  } from '../block-mover/button';
36
36
  import ListViewBlockContents from './block-contents';
37
37
  import { useListViewContext } from './context';
38
- import { getBlockPositionDescription, focusListItem } from './utils';
38
+ import {
39
+ getBlockPositionDescription,
40
+ getBlockPropertiesDescription,
41
+ focusListItem,
42
+ } from './utils';
39
43
  import { store as blockEditorStore } from '../../store';
40
44
  import useBlockDisplayInformation from '../use-block-display-information';
41
45
  import { useBlockLock } from '../block-lock';
@@ -77,8 +81,6 @@ function ListViewBlock( {
77
81
  const { toggleBlockHighlight } = useDispatch( blockEditorStore );
78
82
 
79
83
  const blockInformation = useBlockDisplayInformation( clientId );
80
- const blockTitle =
81
- blockInformation?.name || blockInformation?.title || __( 'Untitled' );
82
84
 
83
85
  const { block, blockName, blockEditingMode } = useSelect(
84
86
  ( select ) => {
@@ -93,6 +95,7 @@ function ListViewBlock( {
93
95
  },
94
96
  [ clientId ]
95
97
  );
98
+
96
99
  const allowRightClickOverrides = useSelect(
97
100
  ( select ) =>
98
101
  select( blockEditorStore ).getSettings().allowRightClickOverrides,
@@ -107,7 +110,7 @@ function ListViewBlock( {
107
110
  // Don't show the settings menu if block is disabled or content only.
108
111
  blockEditingMode === 'default';
109
112
  const instanceId = useInstanceId( ListViewBlock );
110
- const descriptionId = `list-view-block-select-button__${ instanceId }`;
113
+ const descriptionId = `list-view-block-select-button__description-${ instanceId }`;
111
114
 
112
115
  const {
113
116
  expand,
@@ -247,19 +250,8 @@ function ListViewBlock( {
247
250
  level
248
251
  );
249
252
 
250
- const blockAriaLabel = isLocked
251
- ? sprintf(
252
- // translators: %s: The title of the block. This string indicates a link to select the locked block.
253
- __( '%s (locked)' ),
254
- blockTitle
255
- )
256
- : blockTitle;
257
-
258
- const settingsAriaLabel = sprintf(
259
- // translators: %s: The title of the block.
260
- __( 'Options for %s' ),
261
- blockTitle
262
- );
253
+ const blockPropertiesDescription =
254
+ getBlockPropertiesDescription( isLocked );
263
255
 
264
256
  const hasSiblings = siblingBlockCount > 0;
265
257
  const hasRenderedMovers = showBlockMovers && hasSiblings;
@@ -352,12 +344,11 @@ function ListViewBlock( {
352
344
  onFocus={ onFocus }
353
345
  isExpanded={ canEdit ? isExpanded : undefined }
354
346
  selectedClientIds={ selectedClientIds }
355
- ariaLabel={ blockAriaLabel }
356
347
  ariaDescribedBy={ descriptionId }
357
348
  updateFocusAndSelection={ updateFocusAndSelection }
358
349
  />
359
350
  <AriaReferencedText id={ descriptionId }>
360
- { blockPositionDescription }
351
+ { `${ blockPositionDescription } ${ blockPropertiesDescription }` }
361
352
  </AriaReferencedText>
362
353
  </div>
363
354
  ) }
@@ -405,7 +396,7 @@ function ListViewBlock( {
405
396
  clientIds={ dropdownClientIds }
406
397
  block={ block }
407
398
  icon={ moreVertical }
408
- label={ settingsAriaLabel }
399
+ label={ __( 'Actions' ) }
409
400
  popoverProps={ {
410
401
  anchor: settingsPopoverAnchor, // Used to position the settings at the cursor on right-click.
411
402
  } }
@@ -251,7 +251,7 @@ function ListViewBranch( props ) {
251
251
  level={ level }
252
252
  setSize={ rowCount }
253
253
  positionInSet={ rowCount }
254
- isExpanded={ true }
254
+ isExpanded
255
255
  >
256
256
  <TreeGridCell>
257
257
  { ( treeGridCellProps ) => (
@@ -298,7 +298,7 @@ export default function ListViewDropIndicatorPreview( {
298
298
  className="block-editor-list-view-drop-indicator--preview"
299
299
  variant="unstyled"
300
300
  flip={ false }
301
- resize={ true }
301
+ resize
302
302
  >
303
303
  <div
304
304
  style={ style }
@@ -336,7 +336,7 @@ function ListViewComponent(
336
336
  description && `block-editor-list-view-description-${ instanceId }`;
337
337
 
338
338
  return (
339
- <AsyncModeProvider value={ true }>
339
+ <AsyncModeProvider value>
340
340
  <ListViewDropIndicatorPreview
341
341
  draggedBlockClientId={ firstDraggedBlockClientId }
342
342
  listViewRef={ elementRef }
@@ -7,7 +7,7 @@
7
7
  // Move upwards when in modal.
8
8
  .components-modal__content & {
9
9
  margin: (-$grid-unit-15) (-$grid-unit-15 * 0.5) 0;
10
- width: calc(100% + #{ $grid-unit-15 });
10
+ width: calc(100% + #{$grid-unit-15});
11
11
  }
12
12
 
13
13
  // Without setting `pointer-events: none`, when dragging over list view items,
@@ -71,7 +71,8 @@
71
71
  &:focus::after {
72
72
  box-shadow:
73
73
  inset 0 0 0 1px $white,
74
- 0 0 0 var(--wp-admin-border-width-focus) var(--wp-block-synced-color);
74
+ 0 0 0 var(--wp-admin-border-width-focus)
75
+ var(--wp-block-synced-color);
75
76
  }
76
77
  }
77
78
  &.is-selected .block-editor-list-view-block-contents,
@@ -82,14 +83,16 @@
82
83
  &::after {
83
84
  box-shadow:
84
85
  inset 0 0 0 1px $white,
85
- 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);
86
+ 0 0 0 var(--wp-admin-border-width-focus)
87
+ var(--wp-admin-theme-color);
86
88
  }
87
89
  }
88
90
  &.is-selected.is-synced .block-editor-list-view-block-contents:focus {
89
91
  &::after {
90
92
  box-shadow:
91
93
  inset 0 0 0 1px $white,
92
- 0 0 0 var(--wp-admin-border-width-focus) var(--wp-block-synced-color);
94
+ 0 0 0 var(--wp-admin-border-width-focus)
95
+ var(--wp-block-synced-color);
93
96
  }
94
97
  }
95
98
  &.is-selected .block-editor-list-view-block__menu:focus {
@@ -181,7 +184,9 @@
181
184
 
182
185
  &.is-after-dragged-blocks.is-displacement-down {
183
186
  transition: transform 0.2s;
184
- transform: translateY(calc(36px + var(--wp-admin--list-view-dragged-items-height, 36px) * -1));
187
+ transform:
188
+ translateY(calc(36px + var(--wp-admin--list-view-dragged-items-height, 36px) *
189
+ -1));
185
190
  @include reduce-motion("transition");
186
191
  }
187
192
 
@@ -217,7 +222,10 @@
217
222
  content: "";
218
223
  position: absolute;
219
224
  pointer-events: none;
220
- transition: border-color 0.1s linear, border-style 0.1s linear, box-shadow 0.1s linear;
225
+ transition:
226
+ border-color 0.1s linear,
227
+ border-style 0.1s linear,
228
+ box-shadow 0.1s linear;
221
229
  top: -2px;
222
230
  right: 0;
223
231
  left: 0;
@@ -242,7 +250,9 @@
242
250
  bottom: 0;
243
251
  left: 0;
244
252
  border-radius: inherit;
245
- box-shadow: inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);
253
+ box-shadow:
254
+ inset 0 0 0 var(--wp-admin-border-width-focus)
255
+ var(--wp-admin-theme-color);
246
256
  z-index: 2;
247
257
  pointer-events: none;
248
258
  }
@@ -255,7 +265,9 @@
255
265
 
256
266
  &.is-nesting .block-editor-list-view__menu,
257
267
  .block-editor-list-view-block__menu:focus {
258
- box-shadow: inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);
268
+ box-shadow:
269
+ inset 0 0 0 var(--wp-admin-border-width-focus)
270
+ var(--wp-admin-theme-color);
259
271
  z-index: 1;
260
272
  }
261
273
 
@@ -458,7 +470,9 @@ $block-navigation-max-indent: 8;
458
470
  }
459
471
 
460
472
  .block-editor-list-view-leaf[aria-level] .block-editor-list-view__expander {
461
- margin-left: ( $icon-size ) * $block-navigation-max-indent + 4 * ( $block-navigation-max-indent - 1 );
473
+ margin-left:
474
+ ($icon-size) * $block-navigation-max-indent + 4 *
475
+ ($block-navigation-max-indent - 1);
462
476
  }
463
477
 
464
478
  .block-editor-list-view-leaf:not([aria-level="1"]) {
@@ -471,12 +485,12 @@ $block-navigation-max-indent: 8;
471
485
  // indentation in `use-list-view-drop-zone.js` must be updated as well
472
486
  // to ensure the drop zone is aligned with the indentation.
473
487
  @for $i from 0 to $block-navigation-max-indent {
474
- .block-editor-list-view-leaf[aria-level="#{ $i + 1 }"] .block-editor-list-view__expander {
488
+ .block-editor-list-view-leaf[aria-level="#{ $i + 1 }"]
489
+ .block-editor-list-view__expander {
475
490
  @if $i - 1 >= 0 {
476
- margin-left: ( $icon-size * $i ) + 4 * ($i - 1);
477
- }
478
- @else {
479
- margin-left: ( $icon-size * $i );
491
+ margin-left: ($icon-size * $i) + 4 * ($i - 1);
492
+ } @else {
493
+ margin-left: ($icon-size * $i);
480
494
  }
481
495
  }
482
496
  }
@@ -486,7 +500,9 @@ $block-navigation-max-indent: 8;
486
500
  }
487
501
 
488
502
  // Point downwards when open.
489
- .block-editor-list-view-leaf[data-expanded="true"] .block-editor-list-view__expander svg {
503
+ .block-editor-list-view-leaf[data-expanded="true"]
504
+ .block-editor-list-view__expander
505
+ svg {
490
506
  visibility: visible;
491
507
  transition: transform 0.2s ease;
492
508
  transform: rotate(90deg);
@@ -494,7 +510,9 @@ $block-navigation-max-indent: 8;
494
510
  }
495
511
 
496
512
  // Point rightwards when closed
497
- .block-editor-list-view-leaf[data-expanded="false"] .block-editor-list-view__expander svg {
513
+ .block-editor-list-view-leaf[data-expanded="false"]
514
+ .block-editor-list-view__expander
515
+ svg {
498
516
  visibility: visible;
499
517
  transform: rotate(0deg);
500
518
  transition: transform 0.2s ease;
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * WordPress dependencies
3
3
  */
4
- import { useDispatch, useSelect } from '@wordpress/data';
4
+ import { useDispatch, useRegistry, useSelect } from '@wordpress/data';
5
5
  import { useRefEffect } from '@wordpress/compose';
6
6
 
7
7
  /**
@@ -15,6 +15,7 @@ import { getPasteBlocks, setClipboardBlocks } from '../writing-flow/utils';
15
15
  // This hook borrows from useClipboardHandler in ../writing-flow/use-clipboard-handler.js
16
16
  // and adds behaviour for the list view, while skipping partial selection.
17
17
  export default function useClipboardHandler( { selectBlock } ) {
18
+ const registry = useRegistry();
18
19
  const {
19
20
  getBlockOrder,
20
21
  getBlockRootClientId,
@@ -106,7 +107,7 @@ export default function useClipboardHandler( { selectBlock } ) {
106
107
 
107
108
  notifyCopy( event.type, selectedBlockClientIds );
108
109
  const blocks = getBlocksByClientId( selectedBlockClientIds );
109
- setClipboardBlocks( event, blocks );
110
+ setClipboardBlocks( event, blocks, registry );
110
111
  }
111
112
 
112
113
  if ( event.type === 'cut' ) {
@@ -7,12 +7,15 @@ import { focus } from '@wordpress/dom';
7
7
  export const getBlockPositionDescription = ( position, siblingCount, level ) =>
8
8
  sprintf(
9
9
  /* translators: 1: The numerical position of the block. 2: The total number of blocks. 3. The level of nesting for the block. */
10
- __( 'Block %1$d of %2$d, Level %3$d' ),
10
+ __( 'Block %1$d of %2$d, Level %3$d.' ),
11
11
  position,
12
12
  siblingCount,
13
13
  level
14
14
  );
15
15
 
16
+ export const getBlockPropertiesDescription = ( isLocked ) =>
17
+ isLocked ? __( 'This block is locked.' ) : '';
18
+
16
19
  /**
17
20
  * Returns true if the client ID occurs within the block selection or multi-selection,
18
21
  * or false otherwise.
@@ -19,7 +19,7 @@ const PanelColorSettings = ( { colorSettings, ...props } ) => {
19
19
  <PanelColorGradientSettings
20
20
  settings={ settings }
21
21
  gradients={ [] }
22
- disableCustomGradients={ true }
22
+ disableCustomGradients
23
23
  { ...props }
24
24
  />
25
25
  );
@@ -16,7 +16,7 @@ describe( 'PanelColorSettings', () => {
16
16
  <PanelColorSettings
17
17
  title="Test Title"
18
18
  colors={ [] }
19
- disableCustomColors={ true }
19
+ disableCustomColors
20
20
  colorSettings={ [
21
21
  {
22
22
  value: '#000',
@@ -39,7 +39,7 @@ describe( 'PanelColorSettings', () => {
39
39
  <PanelColorSettings
40
40
  title="Test Title"
41
41
  colors={ [] }
42
- disableCustomColors={ true }
42
+ disableCustomColors
43
43
  colorSettings={ [
44
44
  {
45
45
  value: '#000',
@@ -63,7 +63,7 @@ describe( 'PanelColorSettings', () => {
63
63
  <PanelColorSettings
64
64
  title="Test Title"
65
65
  colors={ [] }
66
- disableCustomColors={ true }
66
+ disableCustomColors
67
67
  colorSettings={ [
68
68
  {
69
69
  value: '#000',
@@ -57,10 +57,7 @@ export const ExperimentalBlockEditorProvider = withRegistryProvider(
57
57
 
58
58
  export const BlockEditorProvider = ( props ) => {
59
59
  return (
60
- <ExperimentalBlockEditorProvider
61
- { ...props }
62
- stripExperimentalSettings={ true }
63
- >
60
+ <ExperimentalBlockEditorProvider { ...props } stripExperimentalSettings>
64
61
  { props.children }
65
62
  </ExperimentalBlockEditorProvider>
66
63
  );
@@ -6,7 +6,7 @@ import { ResizableBox } from '@wordpress/components';
6
6
  /**
7
7
  * Internal dependencies
8
8
  */
9
- import BlockPopover from '../block-popover';
9
+ import BlockPopoverCover from '../block-popover/cover';
10
10
 
11
11
  export default function ResizableBoxPopover( {
12
12
  clientId,
@@ -14,14 +14,12 @@ export default function ResizableBoxPopover( {
14
14
  ...props
15
15
  } ) {
16
16
  return (
17
- <BlockPopover
17
+ <BlockPopoverCover
18
18
  clientId={ clientId }
19
- __unstableCoverTarget
20
- __unstablePopoverSlot="__unstable-block-tools-after"
21
- shift={ false }
19
+ __unstablePopoverSlot="block-toolbar"
22
20
  { ...props }
23
21
  >
24
22
  <ResizableBox { ...resizableBoxProps } />
25
- </BlockPopover>
23
+ </BlockPopoverCover>
26
24
  );
27
25
  }
@@ -2,7 +2,7 @@
2
2
 
3
3
  `ResponsiveBlockControl` provides a standardised interface for the creation of Block controls that require **different settings per viewport** (ie: "responsive" settings).
4
4
 
5
- For example, imagine your Block provides a control which affords the ability to change a "padding" value used in the Block display. Consider that whilst this setting may work well on "large" screens, the same value may not work well on smaller screens (it may be too large for example). As a result, you now need to provide a padding control _per viewport/screensize_.
5
+ For example, imagine your Block provides a control which affords the ability to change a "padding" value used in the Block display. Consider that whilst this setting may work well on "large" screens, the same value may not work well on smaller screens (it may be too large for example). As a result, you now need to provide a padding control _per viewport/screen size_.
6
6
 
7
7
  `ResponsiveBlockControl` provides a standardised component for the creation of such interfaces within Gutenberg.
8
8
 
@@ -25,7 +25,7 @@ import { useState } from 'react';
25
25
  import { registerBlockType } from '@wordpress/blocks';
26
26
  import {
27
27
  InspectorControls,
28
- ResponsiveBlockControl,
28
+ __experimentalResponsiveBlockControl as ResponsiveBlockControl,
29
29
  } from '@wordpress/block-editor';
30
30
  import {
31
31
  DimensionControl,
@@ -194,7 +194,7 @@ const renderResponsiveControls = ( viewports ) => {
194
194
  ### `toggleLabel`
195
195
 
196
196
  - **Type:** `String`
197
- - **Default:** `Use the same %s on all screensizes.` (where "%s" is the `property` prop - see above )
197
+ - **Default:** `Use the same %s on all screen sizes.` (where "%s" is the `property` prop - see above )
198
198
  - **Required:** `false`
199
199
 
200
200
  Optional label used for the toggle control which switches the interface between showing responsive controls or not.
@@ -213,7 +213,7 @@ Optional label used for the toggle control which switches the interface between
213
213
 
214
214
  - **Required:** `false`
215
215
 
216
- Optional object describing the attributes of the default value. By default this is `All` which indicates the control will affect "all viewports/screensizes".
216
+ Optional object describing the attributes of the default value. By default this is `All` which indicates the control will affect "all viewports/screen sizes".
217
217
 
218
218
  ### `viewports`
219
219
 
@@ -52,7 +52,7 @@ function ResponsiveBlockControl( props ) {
52
52
  toggleLabel ||
53
53
  sprintf(
54
54
  /* translators: %s: Property value for the control (eg: margin, padding, etc.). */
55
- __( 'Use the same %s on all screensizes.' ),
55
+ __( 'Use the same %s on all screen sizes.' ),
56
56
  property
57
57
  );
58
58