@wordpress/block-editor 14.5.0 → 14.6.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 (431) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/README.md +0 -8
  3. package/build/autocompleters/block.js +13 -5
  4. package/build/autocompleters/block.js.map +1 -1
  5. package/build/components/block-canvas/index.js +10 -0
  6. package/build/components/block-canvas/index.js.map +1 -1
  7. package/build/components/block-card/index.js +2 -2
  8. package/build/components/block-card/index.js.map +1 -1
  9. package/build/components/block-full-height-alignment-control/index.js +1 -1
  10. package/build/components/block-full-height-alignment-control/index.js.map +1 -1
  11. package/build/components/block-list/block.js +1 -1
  12. package/build/components/block-list/block.js.map +1 -1
  13. package/build/components/block-list/block.native.js +1 -7
  14. package/build/components/block-list/block.native.js.map +1 -1
  15. package/build/components/block-list/index.js +5 -5
  16. package/build/components/block-list/index.js.map +1 -1
  17. package/build/components/block-list/use-block-props/index.js +1 -2
  18. package/build/components/block-list/use-block-props/index.js.map +1 -1
  19. package/build/components/block-list/use-block-props/use-focus-first-element.js +4 -3
  20. package/build/components/block-list/use-block-props/use-focus-first-element.js.map +1 -1
  21. package/build/components/block-list/use-block-props/use-selected-block-event-handlers.js +3 -6
  22. package/build/components/block-list/use-block-props/use-selected-block-event-handlers.js.map +1 -1
  23. package/build/components/block-list/use-in-between-inserter.js +1 -1
  24. package/build/components/block-list/use-in-between-inserter.js.map +1 -1
  25. package/build/components/block-patterns-paging/index.js +1 -1
  26. package/build/components/block-patterns-paging/index.js.map +1 -1
  27. package/build/components/block-popover/index.js +2 -45
  28. package/build/components/block-popover/index.js.map +1 -1
  29. package/build/components/block-preview/index.js +2 -2
  30. package/build/components/block-preview/index.js.map +1 -1
  31. package/build/components/block-settings-menu/block-settings-dropdown.js +5 -0
  32. package/build/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
  33. package/build/components/block-settings-menu/index.js +4 -3
  34. package/build/components/block-settings-menu/index.js.map +1 -1
  35. package/build/components/block-toolbar/change-design.js +122 -0
  36. package/build/components/block-toolbar/change-design.js.map +1 -0
  37. package/build/components/block-toolbar/index.js +19 -7
  38. package/build/components/block-toolbar/index.js.map +1 -1
  39. package/build/components/block-tools/index.js +4 -10
  40. package/build/components/block-tools/index.js.map +1 -1
  41. package/build/components/block-tools/insertion-point.js +4 -3
  42. package/build/components/block-tools/insertion-point.js.map +1 -1
  43. package/build/components/block-tools/use-show-block-tools.js +3 -9
  44. package/build/components/block-tools/use-show-block-tools.js.map +1 -1
  45. package/build/components/block-tools/zoom-out-mode-inserters.js +20 -29
  46. package/build/components/block-tools/zoom-out-mode-inserters.js.map +1 -1
  47. package/build/components/block-variation-transforms/index.js +2 -2
  48. package/build/components/block-variation-transforms/index.js.map +1 -1
  49. package/build/components/block-vertical-alignment-control/ui.js +6 -10
  50. package/build/components/block-vertical-alignment-control/ui.js.map +1 -1
  51. package/build/components/border-radius-control/linked-button.js +7 -10
  52. package/build/components/border-radius-control/linked-button.js.map +1 -1
  53. package/build/components/collab/block-comment-icon-slot.js +18 -0
  54. package/build/components/collab/block-comment-icon-slot.js.map +1 -0
  55. package/build/components/collab/block-comment-icon-toolbar-slot.js +18 -0
  56. package/build/components/collab/block-comment-icon-toolbar-slot.js.map +1 -0
  57. package/build/components/colors-gradients/use-multiple-origin-colors-and-gradients.js +7 -1
  58. package/build/components/colors-gradients/use-multiple-origin-colors-and-gradients.js.map +1 -1
  59. package/build/components/convert-to-group-buttons/toolbar.js +4 -4
  60. package/build/components/convert-to-group-buttons/toolbar.js.map +1 -1
  61. package/build/components/global-styles/color-panel.js +1 -4
  62. package/build/components/global-styles/color-panel.js.map +1 -1
  63. package/build/components/global-styles/use-global-styles-context.native.js +6 -0
  64. package/build/components/global-styles/use-global-styles-context.native.js.map +1 -1
  65. package/build/components/iframe/index.js +17 -22
  66. package/build/components/iframe/index.js.map +1 -1
  67. package/build/components/image-size-control/index.js +61 -20
  68. package/build/components/image-size-control/index.js.map +1 -1
  69. package/build/components/inner-blocks/index.js +9 -5
  70. package/build/components/inner-blocks/index.js.map +1 -1
  71. package/build/components/inserter/block-patterns-tab/pattern-category-previews.js +2 -2
  72. package/build/components/inserter/block-patterns-tab/pattern-category-previews.js.map +1 -1
  73. package/build/components/inserter/block-patterns-tab/patterns-filter.js +1 -1
  74. package/build/components/inserter/block-patterns-tab/patterns-filter.js.map +1 -1
  75. package/build/components/inserter/category-tabs/index.js +15 -2
  76. package/build/components/inserter/category-tabs/index.js.map +1 -1
  77. package/build/components/inserter/menu.js +4 -2
  78. package/build/components/inserter/menu.js.map +1 -1
  79. package/build/components/inserter-button/index.native.js +1 -1
  80. package/build/components/inserter-button/index.native.js.map +1 -1
  81. package/build/components/inspector-controls-tabs/index.js +0 -2
  82. package/build/components/inspector-controls-tabs/index.js.map +1 -1
  83. package/build/components/inspector-controls-tabs/utils.js +3 -6
  84. package/build/components/inspector-controls-tabs/utils.js.map +1 -1
  85. package/build/components/link-control/link-preview.js +12 -9
  86. package/build/components/link-control/link-preview.js.map +1 -1
  87. package/build/components/list-view/appender.js +4 -3
  88. package/build/components/list-view/appender.js.map +1 -1
  89. package/build/components/list-view/branch.js +6 -5
  90. package/build/components/list-view/branch.js.map +1 -1
  91. package/build/components/list-view/index.js +1 -2
  92. package/build/components/list-view/index.js.map +1 -1
  93. package/build/components/provider/index.js +1 -1
  94. package/build/components/provider/index.js.map +1 -1
  95. package/build/components/rich-text/event-listeners/index.js +3 -1
  96. package/build/components/rich-text/event-listeners/index.js.map +1 -1
  97. package/build/components/rich-text/index.native.js +2 -6
  98. package/build/components/rich-text/index.native.js.map +1 -1
  99. package/build/components/spacing-sizes-control/index.js +2 -2
  100. package/build/components/spacing-sizes-control/index.js.map +1 -1
  101. package/build/components/spacing-sizes-control/input-controls/spacing-input-control.js +3 -3
  102. package/build/components/spacing-sizes-control/input-controls/spacing-input-control.js.map +1 -1
  103. package/build/components/spacing-sizes-control/linked-button.js +1 -5
  104. package/build/components/spacing-sizes-control/linked-button.js.map +1 -1
  105. package/build/components/tool-selector/index.js +1 -4
  106. package/build/components/tool-selector/index.js.map +1 -1
  107. package/build/components/url-input/index.js +1 -1
  108. package/build/components/url-input/index.js.map +1 -1
  109. package/build/components/use-block-commands/index.js +1 -1
  110. package/build/components/use-block-commands/index.js.map +1 -1
  111. package/build/components/use-block-drop-zone/index.js +5 -5
  112. package/build/components/use-block-drop-zone/index.js.map +1 -1
  113. package/build/components/use-block-drop-zone/index.native.js +0 -1
  114. package/build/components/use-block-drop-zone/index.native.js.map +1 -1
  115. package/build/components/use-moving-animation/index.js +1 -3
  116. package/build/components/use-moving-animation/index.js.map +1 -1
  117. package/build/components/use-settings/index.js +1 -3
  118. package/build/components/use-settings/index.js.map +1 -1
  119. package/build/components/writing-flow/index.js +5 -3
  120. package/build/components/writing-flow/index.js.map +1 -1
  121. package/build/components/writing-flow/use-tab-nav.js +2 -3
  122. package/build/components/writing-flow/use-tab-nav.js.map +1 -1
  123. package/build/hooks/block-bindings.js +19 -8
  124. package/build/hooks/block-bindings.js.map +1 -1
  125. package/build/hooks/contrast-checker.js +0 -1
  126. package/build/hooks/contrast-checker.js.map +1 -1
  127. package/build/hooks/duotone.js +2 -2
  128. package/build/hooks/duotone.js.map +1 -1
  129. package/build/hooks/style.js +4 -1
  130. package/build/hooks/style.js.map +1 -1
  131. package/build/hooks/use-zoom-out.js +13 -22
  132. package/build/hooks/use-zoom-out.js.map +1 -1
  133. package/build/index.js +0 -7
  134. package/build/index.js.map +1 -1
  135. package/build/private-apis.js +6 -3
  136. package/build/private-apis.js.map +1 -1
  137. package/build/store/actions.js +2 -33
  138. package/build/store/actions.js.map +1 -1
  139. package/build/store/defaults.js +1 -1
  140. package/build/store/defaults.js.map +1 -1
  141. package/build/store/private-actions.js +57 -8
  142. package/build/store/private-actions.js.map +1 -1
  143. package/build/store/private-selectors.js +9 -21
  144. package/build/store/private-selectors.js.map +1 -1
  145. package/build/store/reducer.js +16 -6
  146. package/build/store/reducer.js.map +1 -1
  147. package/build/store/selectors.js +44 -7
  148. package/build/store/selectors.js.map +1 -1
  149. package/build/utils/dom.js +16 -1
  150. package/build/utils/dom.js.map +1 -1
  151. package/build/utils/get-font-styles-and-weights.js +1 -1
  152. package/build/utils/get-font-styles-and-weights.js.map +1 -1
  153. package/build/utils/transform-styles/index.js +4 -3
  154. package/build/utils/transform-styles/index.js.map +1 -1
  155. package/build-module/autocompleters/block.js +14 -6
  156. package/build-module/autocompleters/block.js.map +1 -1
  157. package/build-module/components/block-canvas/index.js +11 -1
  158. package/build-module/components/block-canvas/index.js.map +1 -1
  159. package/build-module/components/block-card/index.js +3 -3
  160. package/build-module/components/block-card/index.js.map +1 -1
  161. package/build-module/components/block-full-height-alignment-control/index.js +1 -1
  162. package/build-module/components/block-full-height-alignment-control/index.js.map +1 -1
  163. package/build-module/components/block-list/block.js +1 -1
  164. package/build-module/components/block-list/block.js.map +1 -1
  165. package/build-module/components/block-list/block.native.js +1 -7
  166. package/build-module/components/block-list/block.native.js.map +1 -1
  167. package/build-module/components/block-list/index.js +5 -5
  168. package/build-module/components/block-list/index.js.map +1 -1
  169. package/build-module/components/block-list/use-block-props/index.js +1 -2
  170. package/build-module/components/block-list/use-block-props/index.js.map +1 -1
  171. package/build-module/components/block-list/use-block-props/use-focus-first-element.js +4 -3
  172. package/build-module/components/block-list/use-block-props/use-focus-first-element.js.map +1 -1
  173. package/build-module/components/block-list/use-block-props/use-selected-block-event-handlers.js +3 -6
  174. package/build-module/components/block-list/use-block-props/use-selected-block-event-handlers.js.map +1 -1
  175. package/build-module/components/block-list/use-in-between-inserter.js +1 -1
  176. package/build-module/components/block-list/use-in-between-inserter.js.map +1 -1
  177. package/build-module/components/block-patterns-paging/index.js +1 -1
  178. package/build-module/components/block-patterns-paging/index.js.map +1 -1
  179. package/build-module/components/block-popover/index.js +2 -45
  180. package/build-module/components/block-popover/index.js.map +1 -1
  181. package/build-module/components/block-preview/index.js +2 -2
  182. package/build-module/components/block-preview/index.js.map +1 -1
  183. package/build-module/components/block-settings-menu/block-settings-dropdown.js +5 -0
  184. package/build-module/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
  185. package/build-module/components/block-settings-menu/index.js +5 -4
  186. package/build-module/components/block-settings-menu/index.js.map +1 -1
  187. package/build-module/components/block-toolbar/change-design.js +114 -0
  188. package/build-module/components/block-toolbar/change-design.js.map +1 -0
  189. package/build-module/components/block-toolbar/index.js +19 -7
  190. package/build-module/components/block-toolbar/index.js.map +1 -1
  191. package/build-module/components/block-tools/index.js +4 -10
  192. package/build-module/components/block-tools/index.js.map +1 -1
  193. package/build-module/components/block-tools/insertion-point.js +4 -3
  194. package/build-module/components/block-tools/insertion-point.js.map +1 -1
  195. package/build-module/components/block-tools/use-show-block-tools.js +3 -9
  196. package/build-module/components/block-tools/use-show-block-tools.js.map +1 -1
  197. package/build-module/components/block-tools/zoom-out-mode-inserters.js +20 -29
  198. package/build-module/components/block-tools/zoom-out-mode-inserters.js.map +1 -1
  199. package/build-module/components/block-variation-transforms/index.js +2 -2
  200. package/build-module/components/block-variation-transforms/index.js.map +1 -1
  201. package/build-module/components/block-vertical-alignment-control/ui.js +6 -10
  202. package/build-module/components/block-vertical-alignment-control/ui.js.map +1 -1
  203. package/build-module/components/border-radius-control/linked-button.js +8 -11
  204. package/build-module/components/border-radius-control/linked-button.js.map +1 -1
  205. package/build-module/components/collab/block-comment-icon-slot.js +11 -0
  206. package/build-module/components/collab/block-comment-icon-slot.js.map +1 -0
  207. package/build-module/components/collab/block-comment-icon-toolbar-slot.js +11 -0
  208. package/build-module/components/collab/block-comment-icon-toolbar-slot.js.map +1 -0
  209. package/build-module/components/colors-gradients/use-multiple-origin-colors-and-gradients.js +7 -1
  210. package/build-module/components/colors-gradients/use-multiple-origin-colors-and-gradients.js.map +1 -1
  211. package/build-module/components/convert-to-group-buttons/toolbar.js +4 -4
  212. package/build-module/components/convert-to-group-buttons/toolbar.js.map +1 -1
  213. package/build-module/components/global-styles/color-panel.js +2 -5
  214. package/build-module/components/global-styles/color-panel.js.map +1 -1
  215. package/build-module/components/global-styles/use-global-styles-context.native.js +6 -0
  216. package/build-module/components/global-styles/use-global-styles-context.native.js.map +1 -1
  217. package/build-module/components/iframe/index.js +17 -22
  218. package/build-module/components/iframe/index.js.map +1 -1
  219. package/build-module/components/image-size-control/index.js +62 -21
  220. package/build-module/components/image-size-control/index.js.map +1 -1
  221. package/build-module/components/inner-blocks/index.js +9 -5
  222. package/build-module/components/inner-blocks/index.js.map +1 -1
  223. package/build-module/components/inserter/block-patterns-tab/pattern-category-previews.js +2 -2
  224. package/build-module/components/inserter/block-patterns-tab/pattern-category-previews.js.map +1 -1
  225. package/build-module/components/inserter/block-patterns-tab/patterns-filter.js +1 -1
  226. package/build-module/components/inserter/block-patterns-tab/patterns-filter.js.map +1 -1
  227. package/build-module/components/inserter/category-tabs/index.js +15 -2
  228. package/build-module/components/inserter/category-tabs/index.js.map +1 -1
  229. package/build-module/components/inserter/menu.js +5 -3
  230. package/build-module/components/inserter/menu.js.map +1 -1
  231. package/build-module/components/inserter-button/index.native.js +1 -1
  232. package/build-module/components/inserter-button/index.native.js.map +1 -1
  233. package/build-module/components/inspector-controls-tabs/index.js +0 -2
  234. package/build-module/components/inspector-controls-tabs/index.js.map +1 -1
  235. package/build-module/components/inspector-controls-tabs/utils.js +3 -6
  236. package/build-module/components/inspector-controls-tabs/utils.js.map +1 -1
  237. package/build-module/components/link-control/link-preview.js +13 -10
  238. package/build-module/components/link-control/link-preview.js.map +1 -1
  239. package/build-module/components/list-view/appender.js +4 -3
  240. package/build-module/components/list-view/appender.js.map +1 -1
  241. package/build-module/components/list-view/branch.js +7 -6
  242. package/build-module/components/list-view/branch.js.map +1 -1
  243. package/build-module/components/list-view/index.js +1 -2
  244. package/build-module/components/list-view/index.js.map +1 -1
  245. package/build-module/components/provider/index.js +1 -1
  246. package/build-module/components/provider/index.js.map +1 -1
  247. package/build-module/components/rich-text/event-listeners/index.js +4 -2
  248. package/build-module/components/rich-text/event-listeners/index.js.map +1 -1
  249. package/build-module/components/rich-text/index.native.js +2 -6
  250. package/build-module/components/rich-text/index.native.js.map +1 -1
  251. package/build-module/components/spacing-sizes-control/index.js +3 -3
  252. package/build-module/components/spacing-sizes-control/index.js.map +1 -1
  253. package/build-module/components/spacing-sizes-control/input-controls/spacing-input-control.js +4 -4
  254. package/build-module/components/spacing-sizes-control/input-controls/spacing-input-control.js.map +1 -1
  255. package/build-module/components/spacing-sizes-control/linked-button.js +2 -6
  256. package/build-module/components/spacing-sizes-control/linked-button.js.map +1 -1
  257. package/build-module/components/tool-selector/index.js +1 -4
  258. package/build-module/components/tool-selector/index.js.map +1 -1
  259. package/build-module/components/url-input/index.js +1 -1
  260. package/build-module/components/url-input/index.js.map +1 -1
  261. package/build-module/components/use-block-commands/index.js +1 -1
  262. package/build-module/components/use-block-commands/index.js.map +1 -1
  263. package/build-module/components/use-block-drop-zone/index.js +5 -5
  264. package/build-module/components/use-block-drop-zone/index.js.map +1 -1
  265. package/build-module/components/use-block-drop-zone/index.native.js +0 -1
  266. package/build-module/components/use-block-drop-zone/index.native.js.map +1 -1
  267. package/build-module/components/use-moving-animation/index.js +1 -3
  268. package/build-module/components/use-moving-animation/index.js.map +1 -1
  269. package/build-module/components/use-settings/index.js +1 -3
  270. package/build-module/components/use-settings/index.js.map +1 -1
  271. package/build-module/components/writing-flow/index.js +5 -3
  272. package/build-module/components/writing-flow/index.js.map +1 -1
  273. package/build-module/components/writing-flow/use-tab-nav.js +2 -3
  274. package/build-module/components/writing-flow/use-tab-nav.js.map +1 -1
  275. package/build-module/hooks/block-bindings.js +20 -9
  276. package/build-module/hooks/block-bindings.js.map +1 -1
  277. package/build-module/hooks/contrast-checker.js +0 -1
  278. package/build-module/hooks/contrast-checker.js.map +1 -1
  279. package/build-module/hooks/duotone.js +2 -2
  280. package/build-module/hooks/duotone.js.map +1 -1
  281. package/build-module/hooks/style.js +4 -1
  282. package/build-module/hooks/style.js.map +1 -1
  283. package/build-module/hooks/use-zoom-out.js +15 -23
  284. package/build-module/hooks/use-zoom-out.js.map +1 -1
  285. package/build-module/index.js +1 -1
  286. package/build-module/index.js.map +1 -1
  287. package/build-module/private-apis.js +7 -5
  288. package/build-module/private-apis.js.map +1 -1
  289. package/build-module/store/actions.js +2 -33
  290. package/build-module/store/actions.js.map +1 -1
  291. package/build-module/store/defaults.js +1 -1
  292. package/build-module/store/defaults.js.map +1 -1
  293. package/build-module/store/private-actions.js +54 -7
  294. package/build-module/store/private-actions.js.map +1 -1
  295. package/build-module/store/private-selectors.js +9 -20
  296. package/build-module/store/private-selectors.js.map +1 -1
  297. package/build-module/store/reducer.js +16 -6
  298. package/build-module/store/reducer.js.map +1 -1
  299. package/build-module/store/selectors.js +45 -8
  300. package/build-module/store/selectors.js.map +1 -1
  301. package/build-module/utils/dom.js +16 -1
  302. package/build-module/utils/dom.js.map +1 -1
  303. package/build-module/utils/get-font-styles-and-weights.js +2 -2
  304. package/build-module/utils/get-font-styles-and-weights.js.map +1 -1
  305. package/build-module/utils/transform-styles/index.js +3 -2
  306. package/build-module/utils/transform-styles/index.js.map +1 -1
  307. package/build-style/content-rtl.css +9 -4
  308. package/build-style/content.css +9 -4
  309. package/build-style/style-rtl.css +33 -22
  310. package/build-style/style.css +33 -22
  311. package/build-types/utils/dom.d.ts.map +1 -1
  312. package/package.json +33 -32
  313. package/src/autocompleters/block.js +16 -7
  314. package/src/components/block-canvas/index.js +17 -1
  315. package/src/components/block-canvas/style.scss +2 -0
  316. package/src/components/block-card/index.js +3 -3
  317. package/src/components/block-full-height-alignment-control/index.js +1 -1
  318. package/src/components/block-inspector/style.scss +0 -6
  319. package/src/components/block-list/block.js +1 -2
  320. package/src/components/block-list/block.native.js +0 -4
  321. package/src/components/block-list/content.scss +1 -1
  322. package/src/components/block-list/index.js +4 -4
  323. package/src/components/block-list/use-block-props/index.js +0 -2
  324. package/src/components/block-list/use-block-props/use-focus-first-element.js +5 -3
  325. package/src/components/block-list/use-block-props/use-selected-block-event-handlers.js +7 -20
  326. package/src/components/block-list/use-in-between-inserter.js +1 -1
  327. package/src/components/block-patterns-list/stories/fixtures.js +834 -0
  328. package/src/components/block-patterns-list/stories/index.story.js +81 -0
  329. package/src/components/block-patterns-list/style.scss +2 -0
  330. package/src/components/block-patterns-paging/index.js +1 -1
  331. package/src/components/block-popover/index.js +0 -62
  332. package/src/components/block-preview/index.js +2 -2
  333. package/src/components/block-settings-menu/block-settings-dropdown.js +4 -0
  334. package/src/components/block-settings-menu/index.js +3 -0
  335. package/src/components/block-toolbar/change-design.js +133 -0
  336. package/src/components/block-toolbar/index.js +25 -8
  337. package/src/components/block-toolbar/style.scss +16 -0
  338. package/src/components/block-tools/index.js +4 -17
  339. package/src/components/block-tools/insertion-point.js +4 -3
  340. package/src/components/block-tools/style.scss +0 -20
  341. package/src/components/block-tools/use-show-block-tools.js +0 -13
  342. package/src/components/block-tools/zoom-out-mode-inserters.js +25 -40
  343. package/src/components/block-variation-transforms/index.js +2 -2
  344. package/src/components/block-vertical-alignment-control/ui.js +11 -15
  345. package/src/components/border-radius-control/linked-button.js +9 -11
  346. package/src/components/collab/block-comment-icon-slot.js +12 -0
  347. package/src/components/collab/block-comment-icon-toolbar-slot.js +12 -0
  348. package/src/components/colors-gradients/use-multiple-origin-colors-and-gradients.js +7 -1
  349. package/src/components/convert-to-group-buttons/toolbar.js +4 -4
  350. package/src/components/global-styles/color-panel.js +2 -10
  351. package/src/components/global-styles/test/use-global-styles-context.native.js +1 -0
  352. package/src/components/global-styles/use-global-styles-context.native.js +6 -0
  353. package/src/components/iframe/content.scss +4 -9
  354. package/src/components/iframe/index.js +31 -34
  355. package/src/components/iframe/style.scss +2 -3
  356. package/src/components/image-size-control/index.js +74 -43
  357. package/src/components/image-size-control/test/index.js +5 -63
  358. package/src/components/inner-blocks/index.js +12 -6
  359. package/src/components/inserter/block-patterns-tab/pattern-category-previews.js +2 -3
  360. package/src/components/inserter/block-patterns-tab/patterns-filter.js +1 -1
  361. package/src/components/inserter/category-tabs/index.js +16 -2
  362. package/src/components/inserter/menu.js +6 -4
  363. package/src/components/inserter/style.scss +13 -0
  364. package/src/components/inserter-button/index.native.js +1 -1
  365. package/src/components/inspector-controls-tabs/index.js +1 -6
  366. package/src/components/inspector-controls-tabs/utils.js +0 -3
  367. package/src/components/link-control/link-preview.js +15 -8
  368. package/src/components/link-control/test/index.js +63 -24
  369. package/src/components/list-view/appender.js +5 -6
  370. package/src/components/list-view/branch.js +8 -6
  371. package/src/components/list-view/index.js +1 -2
  372. package/src/components/provider/index.js +1 -3
  373. package/src/components/provider/test/experimental-provider.js +43 -1
  374. package/src/components/rich-text/event-listeners/index.js +4 -2
  375. package/src/components/rich-text/index.native.js +0 -2
  376. package/src/components/spacing-sizes-control/index.js +3 -3
  377. package/src/components/spacing-sizes-control/input-controls/spacing-input-control.js +4 -4
  378. package/src/components/spacing-sizes-control/linked-button.js +2 -12
  379. package/src/components/tool-selector/index.js +1 -5
  380. package/src/components/url-input/index.js +1 -1
  381. package/src/components/use-block-commands/index.js +1 -1
  382. package/src/components/use-block-drop-zone/index.js +5 -5
  383. package/src/components/use-block-drop-zone/index.native.js +0 -1
  384. package/src/components/use-moving-animation/index.js +0 -1
  385. package/src/components/use-settings/index.js +0 -1
  386. package/src/components/writing-flow/index.js +5 -3
  387. package/src/components/writing-flow/use-tab-nav.js +1 -2
  388. package/src/hooks/block-bindings.js +48 -31
  389. package/src/hooks/contrast-checker.js +0 -1
  390. package/src/hooks/duotone.js +2 -2
  391. package/src/hooks/style.js +7 -3
  392. package/src/hooks/use-zoom-out.js +14 -34
  393. package/src/index.js +0 -1
  394. package/src/private-apis.js +6 -3
  395. package/src/store/actions.js +3 -52
  396. package/src/store/defaults.js +2 -1
  397. package/src/store/private-actions.js +71 -8
  398. package/src/store/private-selectors.js +9 -19
  399. package/src/store/reducer.js +25 -11
  400. package/src/store/selectors.js +59 -8
  401. package/src/store/test/actions.js +41 -0
  402. package/src/store/test/reducer.js +23 -0
  403. package/src/utils/dom.js +22 -2
  404. package/src/utils/get-font-styles-and-weights.js +2 -2
  405. package/src/utils/transform-styles/index.js +3 -2
  406. package/tsconfig.tsbuildinfo +1 -1
  407. package/build/components/block-list/use-block-props/use-zoom-out-mode-exit.js +0 -57
  408. package/build/components/block-list/use-block-props/use-zoom-out-mode-exit.js.map +0 -1
  409. package/build/components/block-toolbar/shuffle.js +0 -110
  410. package/build/components/block-toolbar/shuffle.js.map +0 -1
  411. package/build/components/block-tools/zoom-out-popover.js +0 -58
  412. package/build/components/block-tools/zoom-out-popover.js.map +0 -1
  413. package/build/components/block-tools/zoom-out-toolbar.js +0 -132
  414. package/build/components/block-tools/zoom-out-toolbar.js.map +0 -1
  415. package/build/components/block-vertical-alignment-control/icons.js +0 -48
  416. package/build/components/block-vertical-alignment-control/icons.js.map +0 -1
  417. package/build-module/components/block-list/use-block-props/use-zoom-out-mode-exit.js +0 -51
  418. package/build-module/components/block-list/use-block-props/use-zoom-out-mode-exit.js.map +0 -1
  419. package/build-module/components/block-toolbar/shuffle.js +0 -103
  420. package/build-module/components/block-toolbar/shuffle.js.map +0 -1
  421. package/build-module/components/block-tools/zoom-out-popover.js +0 -49
  422. package/build-module/components/block-tools/zoom-out-popover.js.map +0 -1
  423. package/build-module/components/block-tools/zoom-out-toolbar.js +0 -124
  424. package/build-module/components/block-tools/zoom-out-toolbar.js.map +0 -1
  425. package/build-module/components/block-vertical-alignment-control/icons.js +0 -41
  426. package/build-module/components/block-vertical-alignment-control/icons.js.map +0 -1
  427. package/src/components/block-list/use-block-props/use-zoom-out-mode-exit.js +0 -65
  428. package/src/components/block-toolbar/shuffle.js +0 -111
  429. package/src/components/block-tools/zoom-out-popover.js +0 -47
  430. package/src/components/block-tools/zoom-out-toolbar.js +0 -135
  431. package/src/components/block-vertical-alignment-control/icons.js +0 -34
@@ -6,6 +6,7 @@ import {
6
6
  createBlock,
7
7
  createBlocksFromInnerBlocksTemplate,
8
8
  parse,
9
+ store as blocksStore,
9
10
  } from '@wordpress/blocks';
10
11
  import { useMemo } from '@wordpress/element';
11
12
 
@@ -36,22 +37,30 @@ function createBlockCompleter() {
36
37
  triggerPrefix: '/',
37
38
 
38
39
  useItems( filterValue ) {
39
- const { rootClientId, selectedBlockName, prioritizedBlocks } =
40
+ const { rootClientId, selectedBlockId, prioritizedBlocks } =
40
41
  useSelect( ( select ) => {
41
42
  const {
42
43
  getSelectedBlockClientId,
43
- getBlockName,
44
+ getBlock,
44
45
  getBlockListSettings,
45
46
  getBlockRootClientId,
46
47
  } = select( blockEditorStore );
48
+ const { getActiveBlockVariation } = select( blocksStore );
47
49
  const selectedBlockClientId = getSelectedBlockClientId();
50
+ const { name: blockName, attributes } = getBlock(
51
+ selectedBlockClientId
52
+ );
53
+ const activeBlockVariation = getActiveBlockVariation(
54
+ blockName,
55
+ attributes
56
+ );
48
57
  const _rootClientId = getBlockRootClientId(
49
58
  selectedBlockClientId
50
59
  );
51
60
  return {
52
- selectedBlockName: selectedBlockClientId
53
- ? getBlockName( selectedBlockClientId )
54
- : null,
61
+ selectedBlockId: activeBlockVariation
62
+ ? `${ blockName }/${ activeBlockVariation.name }`
63
+ : blockName,
55
64
  rootClientId: _rootClientId,
56
65
  prioritizedBlocks:
57
66
  getBlockListSettings( _rootClientId )
@@ -78,11 +87,11 @@ function createBlockCompleter() {
78
87
  );
79
88
 
80
89
  return initialFilteredItems
81
- .filter( ( item ) => item.name !== selectedBlockName )
90
+ .filter( ( item ) => item.id !== selectedBlockId )
82
91
  .slice( 0, SHOWN_BLOCK_TYPES );
83
92
  }, [
84
93
  filterValue,
85
- selectedBlockName,
94
+ selectedBlockId,
86
95
  items,
87
96
  categories,
88
97
  collections,
@@ -1,8 +1,9 @@
1
1
  /**
2
2
  * WordPress dependencies
3
3
  */
4
- import { useMergeRefs } from '@wordpress/compose';
4
+ import { useMergeRefs, useViewportMatch } from '@wordpress/compose';
5
5
  import { useRef } from '@wordpress/element';
6
+ import { useSelect } from '@wordpress/data';
6
7
 
7
8
  /**
8
9
  * Internal dependencies
@@ -15,6 +16,8 @@ import WritingFlow from '../writing-flow';
15
16
  import { useMouseMoveTypingReset } from '../observe-typing';
16
17
  import { useBlockSelectionClearer } from '../block-selection-clearer';
17
18
  import { useBlockCommands } from '../use-block-commands';
19
+ import { store as blockEditorStore } from '../../store';
20
+ import { unlock } from '../../lock-unlock';
18
21
 
19
22
  // EditorStyles is a memoized component, so avoid passing a new
20
23
  // object reference on each render.
@@ -32,10 +35,22 @@ export function ExperimentalBlockCanvas( {
32
35
  iframeProps,
33
36
  } ) {
34
37
  useBlockCommands();
38
+ const isTabletViewport = useViewportMatch( 'medium', '<' );
35
39
  const resetTypingRef = useMouseMoveTypingReset();
36
40
  const clearerRef = useBlockSelectionClearer();
37
41
  const localRef = useRef();
38
42
  const contentRef = useMergeRefs( [ contentRefProp, clearerRef, localRef ] );
43
+ const zoomLevel = useSelect(
44
+ ( select ) => unlock( select( blockEditorStore ) ).getZoomLevel(),
45
+ []
46
+ );
47
+ const zoomOutIframeProps =
48
+ zoomLevel !== 100 && ! isTabletViewport
49
+ ? {
50
+ scale: zoomLevel,
51
+ frameSize: '40px',
52
+ }
53
+ : {};
39
54
 
40
55
  if ( ! shouldIframe ) {
41
56
  return (
@@ -70,6 +85,7 @@ export function ExperimentalBlockCanvas( {
70
85
  >
71
86
  <Iframe
72
87
  { ...iframeProps }
88
+ { ...zoomOutIframeProps }
73
89
  ref={ resetTypingRef }
74
90
  contentRef={ contentRef }
75
91
  style={ {
@@ -4,4 +4,6 @@ iframe[name="editor-canvas"] {
4
4
  height: 100%;
5
5
  display: block;
6
6
  background-color: transparent;
7
+ // Handles transitions between device previews
8
+ @include editor-canvas-resize-animation;
7
9
  }
@@ -13,7 +13,7 @@ import {
13
13
  __experimentalVStack as VStack,
14
14
  } from '@wordpress/components';
15
15
  import { chevronLeft, chevronRight } from '@wordpress/icons';
16
- import { __, isRTL, sprintf } from '@wordpress/i18n';
16
+ import { __, _x, isRTL, sprintf } from '@wordpress/i18n';
17
17
  import { useSelect, useDispatch } from '@wordpress/data';
18
18
 
19
19
  /**
@@ -68,8 +68,8 @@ function BlockCard( { title, icon, description, blockType, className, name } ) {
68
68
  <h2 className="block-editor-block-card__title">
69
69
  { name?.length
70
70
  ? sprintf(
71
- // translators: %1$s: Custom block name. %2$s: Block title.
72
- __( '%1$s (%2$s)' ),
71
+ // translators: 1: Custom block name. 2: Block title.
72
+ _x( '%1$s (%2$s)', 'block label' ),
73
73
  name,
74
74
  title
75
75
  )
@@ -7,7 +7,7 @@ import { fullscreen } from '@wordpress/icons';
7
7
 
8
8
  function BlockFullHeightAlignmentControl( {
9
9
  isActive,
10
- label = __( 'Toggle full height' ),
10
+ label = __( 'Full height' ),
11
11
  onToggle,
12
12
  isDisabled,
13
13
  } ) {
@@ -46,9 +46,3 @@
46
46
  .block-editor-block-inspector__no-block-tools {
47
47
  border-top: $border-width solid $gray-300;
48
48
  }
49
-
50
- .block-editor-block-inspector__tab-item {
51
- flex: 1 1 0px;
52
- display: flex;
53
- justify-content: center;
54
- }
@@ -629,8 +629,7 @@ function BlockListBlockProvider( props ) {
629
629
  const attributes = getBlockAttributes( clientId );
630
630
  const { name: blockName, isValid } = blockWithoutAttributes;
631
631
  const blockType = getBlockType( blockName );
632
- const { supportsLayout, __unstableIsPreviewMode: isPreviewMode } =
633
- getSettings();
632
+ const { supportsLayout, isPreviewMode } = getSettings();
634
633
  const hasLightBlockWrapper = blockType?.apiVersion > 1;
635
634
  const previewContext = {
636
635
  isPreviewMode,
@@ -320,7 +320,6 @@ function BlockListBlock( {
320
320
  name,
321
321
  fontSizes || EMPTY_ARRAY
322
322
  );
323
- // eslint-disable-next-line react-hooks/exhaustive-deps
324
323
  }, [
325
324
  // It is crucial to keep the dependencies array minimal to prevent unnecessary calls that could negatively impact performance.
326
325
  // JSON.stringify is used for the following purposes:
@@ -329,11 +328,8 @@ function BlockListBlock( {
329
328
  // 2. To filter the attributes object, ensuring that only the relevant attributes (included in
330
329
  // GlobalStylesContext.BLOCK_STYLE_ATTRIBUTES) are considered as dependencies. This reduces the likelihood of
331
330
  // unnecessary useMemo calls when other, unrelated attributes change.
332
- // eslint-disable-next-line react-hooks/exhaustive-deps
333
331
  JSON.stringify( globalStyle ),
334
- // eslint-disable-next-line react-hooks/exhaustive-deps
335
332
  JSON.stringify( wrapperProps?.style ),
336
- // eslint-disable-next-line react-hooks/exhaustive-deps
337
333
  JSON.stringify(
338
334
  Object.fromEntries(
339
335
  Object.entries( attributes ?? {} ).filter( ( [ key ] ) =>
@@ -24,7 +24,7 @@
24
24
  // hack a progressive enhancement.
25
25
  /* stylelint-disable -- Stylelint is disabled to allow the hack to work. */
26
26
  _::-webkit-full-page-media, _:future, :root .block-editor-block-list__layout::selection,
27
- _::-webkit-full-page-media, _:future, :root .has-multi-selection .block-editor-block-list__layout::selection {
27
+ _::-webkit-full-page-media, _:future, :root [data-has-multi-selection="true"] .block-editor-block-list__layout::selection {
28
28
  background-color: transparent;
29
29
  }
30
30
  /* stylelint-enable */
@@ -181,13 +181,13 @@ function Items( {
181
181
  __unstableGetVisibleBlocks,
182
182
  getTemplateLock,
183
183
  getBlockEditingMode,
184
- __unstableGetEditorMode,
185
184
  isSectionBlock,
185
+ isZoomOut: _isZoomOut,
186
186
  } = unlock( select( blockEditorStore ) );
187
187
 
188
188
  const _order = getBlockOrder( rootClientId );
189
189
 
190
- if ( getSettings().__unstableIsPreviewMode ) {
190
+ if ( getSettings().isPreviewMode ) {
191
191
  return {
192
192
  order: _order,
193
193
  selectedBlocks: EMPTY_ARRAY,
@@ -200,13 +200,13 @@ function Items( {
200
200
  order: _order,
201
201
  selectedBlocks: getSelectedBlockClientIds(),
202
202
  visibleBlocks: __unstableGetVisibleBlocks(),
203
- isZoomOut: __unstableGetEditorMode() === 'zoom-out',
203
+ isZoomOut: _isZoomOut(),
204
204
  shouldRenderAppender:
205
205
  ! isSectionBlock( rootClientId ) &&
206
206
  getBlockEditingMode( rootClientId ) !== 'disabled' &&
207
207
  ! getTemplateLock( rootClientId ) &&
208
208
  hasAppender &&
209
- __unstableGetEditorMode() !== 'zoom-out' &&
209
+ ! _isZoomOut() &&
210
210
  ( hasCustomAppender ||
211
211
  rootClientId === selectedBlockClientId ||
212
212
  ( ! rootClientId &&
@@ -25,7 +25,6 @@ import {
25
25
  } from '../../block-edit/context';
26
26
  import { useFocusHandler } from './use-focus-handler';
27
27
  import { useEventHandlers } from './use-selected-block-event-handlers';
28
- import { useZoomOutModeExit } from './use-zoom-out-mode-exit';
29
28
  import { useBlockRefProvider } from './use-block-refs';
30
29
  import { useIntersectionObserver } from './use-intersection-observer';
31
30
  import { useScrollIntoView } from './use-scroll-into-view';
@@ -112,7 +111,6 @@ export function useBlockProps( props = {}, { __unstableIsHtml } = {} ) {
112
111
  useBlockRefProvider( clientId ),
113
112
  useFocusHandler( clientId ),
114
113
  useEventHandlers( { clientId, isSelected } ),
115
- useZoomOutModeExit(),
116
114
  useIsHovered( { clientId } ),
117
115
  useIntersectionObserver(),
118
116
  useMovingAnimation( { triggerAnimationOnChange: index, clientId } ),
@@ -15,6 +15,7 @@ import { useSelect } from '@wordpress/data';
15
15
  */
16
16
  import { isInsideRootBlock } from '../../../utils/dom';
17
17
  import { store as blockEditorStore } from '../../../store';
18
+ import { unlock } from '../../../lock-unlock';
18
19
 
19
20
  /** @typedef {import('@wordpress/element').RefObject} RefObject */
20
21
 
@@ -28,15 +29,16 @@ import { store as blockEditorStore } from '../../../store';
28
29
  */
29
30
  export function useFocusFirstElement( { clientId, initialPosition } ) {
30
31
  const ref = useRef();
31
- const { isBlockSelected, isMultiSelecting, __unstableGetEditorMode } =
32
- useSelect( blockEditorStore );
32
+ const { isBlockSelected, isMultiSelecting, isZoomOut } = unlock(
33
+ useSelect( blockEditorStore )
34
+ );
33
35
 
34
36
  useEffect( () => {
35
37
  // Check if the block is still selected at the time this effect runs.
36
38
  if (
37
39
  ! isBlockSelected( clientId ) ||
38
40
  isMultiSelecting() ||
39
- __unstableGetEditorMode() === 'zoom-out'
41
+ isZoomOut()
40
42
  ) {
41
43
  return;
42
44
  }
@@ -21,18 +21,12 @@ import { unlock } from '../../../lock-unlock';
21
21
  * @param {string} clientId Block client ID.
22
22
  */
23
23
  export function useEventHandlers( { clientId, isSelected } ) {
24
- const {
25
- getBlockRootClientId,
26
- getBlockIndex,
27
- isZoomOut,
28
- __unstableGetEditorMode,
29
- } = unlock( useSelect( blockEditorStore ) );
30
- const {
31
- insertAfterBlock,
32
- removeBlock,
33
- __unstableSetEditorMode,
34
- resetZoomLevel,
35
- } = unlock( useDispatch( blockEditorStore ) );
24
+ const { getBlockRootClientId, getBlockIndex, isZoomOut } = unlock(
25
+ useSelect( blockEditorStore )
26
+ );
27
+ const { insertAfterBlock, removeBlock, resetZoomLevel } = unlock(
28
+ useDispatch( blockEditorStore )
29
+ );
36
30
 
37
31
  return useRefEffect(
38
32
  ( node ) => {
@@ -66,12 +60,7 @@ export function useEventHandlers( { clientId, isSelected } ) {
66
60
 
67
61
  event.preventDefault();
68
62
 
69
- if (
70
- keyCode === ENTER &&
71
- __unstableGetEditorMode() === 'zoom-out' &&
72
- isZoomOut()
73
- ) {
74
- __unstableSetEditorMode( 'edit' );
63
+ if ( keyCode === ENTER && isZoomOut() ) {
75
64
  resetZoomLevel();
76
65
  } else if ( keyCode === ENTER ) {
77
66
  insertAfterBlock( clientId );
@@ -105,8 +94,6 @@ export function useEventHandlers( { clientId, isSelected } ) {
105
94
  getBlockIndex,
106
95
  insertAfterBlock,
107
96
  removeBlock,
108
- __unstableGetEditorMode,
109
- __unstableSetEditorMode,
110
97
  isZoomOut,
111
98
  resetZoomLevel,
112
99
  ]
@@ -18,7 +18,7 @@ export function useInBetweenInserter() {
18
18
  const isInBetweenInserterDisabled = useSelect(
19
19
  ( select ) =>
20
20
  select( blockEditorStore ).getSettings().isDistractionFree ||
21
- select( blockEditorStore ).__unstableGetEditorMode() === 'zoom-out',
21
+ unlock( select( blockEditorStore ) ).isZoomOut(),
22
22
  []
23
23
  );
24
24
  const {