@wordpress/block-editor 8.1.2-next.f435e9e01b.0 → 8.2.1-next.a55ed9455a.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 (586) hide show
  1. package/CHANGELOG.md +11 -1
  2. package/README.md +6 -26
  3. package/build/autocompleters/link.js +78 -0
  4. package/build/autocompleters/link.js.map +1 -0
  5. package/build/components/autocomplete/index.js +3 -1
  6. package/build/components/autocomplete/index.js.map +1 -1
  7. package/build/components/block-actions/index.js +1 -1
  8. package/build/components/block-actions/index.js.map +1 -1
  9. package/build/components/block-breadcrumb/index.js +4 -2
  10. package/build/components/block-breadcrumb/index.js.map +1 -1
  11. package/build/components/block-compare/index.js +2 -2
  12. package/build/components/block-compare/index.js.map +1 -1
  13. package/build/components/block-controls/index.js +1 -1
  14. package/build/components/block-controls/index.js.map +1 -1
  15. package/build/components/block-draggable/index.js +1 -1
  16. package/build/components/block-draggable/index.js.map +1 -1
  17. package/build/components/block-edit/edit.js +1 -1
  18. package/build/components/block-edit/edit.js.map +1 -1
  19. package/build/components/block-list/block-html.js +1 -1
  20. package/build/components/block-list/block-html.js.map +1 -1
  21. package/build/components/block-list/block-invalid-warning.js +1 -1
  22. package/build/components/block-list/block-invalid-warning.js.map +1 -1
  23. package/build/components/block-list/block-list-item.native.js +4 -4
  24. package/build/components/block-list/block-list-item.native.js.map +1 -1
  25. package/build/components/block-list/block-selection-button.native.js +4 -3
  26. package/build/components/block-list/block-selection-button.native.js.map +1 -1
  27. package/build/components/block-list/block.js +17 -3
  28. package/build/components/block-list/block.js.map +1 -1
  29. package/build/components/block-list/block.native.js +6 -6
  30. package/build/components/block-list/block.native.js.map +1 -1
  31. package/build/components/block-list/index.native.js +5 -5
  32. package/build/components/block-list/index.native.js.map +1 -1
  33. package/build/components/block-list/use-block-props/use-block-class-names.js +1 -1
  34. package/build/components/block-list/use-block-props/use-block-class-names.js.map +1 -1
  35. package/build/components/block-list/use-block-props/use-focus-first-element.js +3 -0
  36. package/build/components/block-list/use-block-props/use-focus-first-element.js.map +1 -1
  37. package/build/components/block-list/use-block-props/use-multi-selection.js +25 -27
  38. package/build/components/block-list/use-block-props/use-multi-selection.js.map +1 -1
  39. package/build/components/block-media-update-progress/index.native.js +4 -4
  40. package/build/components/block-media-update-progress/index.native.js.map +1 -1
  41. package/build/components/block-mobile-toolbar/block-actions-menu.native.js +3 -3
  42. package/build/components/block-mobile-toolbar/block-actions-menu.native.js.map +1 -1
  43. package/build/components/block-mobile-toolbar/index.native.js +1 -1
  44. package/build/components/block-mobile-toolbar/index.native.js.map +1 -1
  45. package/build/components/block-mover/mover-description.js +4 -4
  46. package/build/components/block-mover/mover-description.js.map +1 -1
  47. package/build/components/block-mover/mover-description.native.js +5 -5
  48. package/build/components/block-mover/mover-description.native.js.map +1 -1
  49. package/build/components/block-settings/container.native.js +1 -5
  50. package/build/components/block-settings/container.native.js.map +1 -1
  51. package/build/components/block-settings-menu/block-settings-dropdown.js +7 -12
  52. package/build/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
  53. package/build/components/block-styles/preview.native.js +1 -1
  54. package/build/components/block-styles/preview.native.js.map +1 -1
  55. package/build/components/block-switcher/index.js +2 -1
  56. package/build/components/block-switcher/index.js.map +1 -1
  57. package/build/components/block-switcher/use-transformed-patterns.js +0 -1
  58. package/build/components/block-switcher/use-transformed-patterns.js.map +1 -1
  59. package/build/components/block-title/index.js +7 -62
  60. package/build/components/block-title/index.js.map +1 -1
  61. package/build/components/block-title/use-block-display-title.js +94 -0
  62. package/build/components/block-title/use-block-display-title.js.map +1 -0
  63. package/build/components/block-toolbar/utils.js +9 -1
  64. package/build/components/block-toolbar/utils.js.map +1 -1
  65. package/build/components/block-tools/block-popover.js +1 -1
  66. package/build/components/block-tools/block-popover.js.map +1 -1
  67. package/build/components/block-tools/block-selection-button.js +2 -1
  68. package/build/components/block-tools/block-selection-button.js.map +1 -1
  69. package/build/components/block-types-list/index.native.js +1 -1
  70. package/build/components/block-types-list/index.native.js.map +1 -1
  71. package/build/components/border-radius-control/index.js +2 -2
  72. package/build/components/border-radius-control/index.js.map +1 -1
  73. package/build/components/border-radius-control/utils.js +10 -6
  74. package/build/components/border-radius-control/utils.js.map +1 -1
  75. package/build/components/contrast-checker/index.js +3 -3
  76. package/build/components/contrast-checker/index.js.map +1 -1
  77. package/build/components/convert-to-group-buttons/index.js +1 -1
  78. package/build/components/convert-to-group-buttons/index.js.map +1 -1
  79. package/build/components/convert-to-group-buttons/use-convert-to-group-button-props.js +1 -3
  80. package/build/components/convert-to-group-buttons/use-convert-to-group-button-props.js.map +1 -1
  81. package/build/components/copy-handler/index.js +3 -3
  82. package/build/components/copy-handler/index.js.map +1 -1
  83. package/build/components/font-sizes/with-font-sizes.js +3 -3
  84. package/build/components/font-sizes/with-font-sizes.js.map +1 -1
  85. package/build/components/index.js +9 -0
  86. package/build/components/index.js.map +1 -1
  87. package/build/components/index.native.js +38 -1
  88. package/build/components/index.native.js.map +1 -1
  89. package/build/components/inserter/block-patterns-tab.js +4 -4
  90. package/build/components/inserter/block-patterns-tab.js.map +1 -1
  91. package/build/components/inserter/block-types-tab.js +1 -1
  92. package/build/components/inserter/block-types-tab.js.map +1 -1
  93. package/build/components/inserter/hooks/use-block-type-impressions.native.js +2 -2
  94. package/build/components/inserter/hooks/use-block-type-impressions.native.js.map +1 -1
  95. package/build/components/inserter/index.js +3 -3
  96. package/build/components/inserter/index.js.map +1 -1
  97. package/build/components/inserter/index.native.js +7 -7
  98. package/build/components/inserter/index.native.js.map +1 -1
  99. package/build/components/inserter/menu.js.map +1 -1
  100. package/build/components/inserter/menu.native.js +3 -3
  101. package/build/components/inserter/menu.native.js.map +1 -1
  102. package/build/components/inserter/quick-inserter.js +20 -8
  103. package/build/components/inserter/quick-inserter.js.map +1 -1
  104. package/build/components/inserter/search-items.js +1 -1
  105. package/build/components/inserter/search-items.js.map +1 -1
  106. package/build/components/inserter/search-results.js +28 -11
  107. package/build/components/inserter/search-results.js.map +1 -1
  108. package/build/components/keyboard-shortcuts/index.js +1 -1
  109. package/build/components/keyboard-shortcuts/index.js.map +1 -1
  110. package/build/components/letter-spacing-control/index.js +3 -3
  111. package/build/components/letter-spacing-control/index.js.map +1 -1
  112. package/build/components/line-height-control/index.js +63 -45
  113. package/build/components/line-height-control/index.js.map +1 -1
  114. package/build/components/line-height-control/index.native.js +3 -1
  115. package/build/components/line-height-control/index.native.js.map +1 -1
  116. package/build/components/link-control/index.js +2 -2
  117. package/build/components/link-control/index.js.map +1 -1
  118. package/build/components/link-control/search-input.js +1 -1
  119. package/build/components/link-control/search-input.js.map +1 -1
  120. package/build/components/link-control/search-results.js +2 -2
  121. package/build/components/link-control/search-results.js.map +1 -1
  122. package/build/components/link-control/use-rich-url-data.js +1 -1
  123. package/build/components/link-control/use-rich-url-data.js.map +1 -1
  124. package/build/components/link-control/use-search-handler.js +2 -2
  125. package/build/components/link-control/use-search-handler.js.map +1 -1
  126. package/build/components/list-view/block-contents.js +8 -4
  127. package/build/components/list-view/block-contents.js.map +1 -1
  128. package/build/components/list-view/block-select-button.js +2 -2
  129. package/build/components/list-view/block-select-button.js.map +1 -1
  130. package/build/components/list-view/block.js +20 -9
  131. package/build/components/list-view/block.js.map +1 -1
  132. package/build/components/list-view/branch.js +2 -1
  133. package/build/components/list-view/branch.js.map +1 -1
  134. package/build/components/list-view/index.js +49 -41
  135. package/build/components/list-view/index.js.map +1 -1
  136. package/build/components/list-view/use-block-selection.js +139 -0
  137. package/build/components/list-view/use-block-selection.js.map +1 -0
  138. package/build/components/list-view/use-list-view-expand-selected-item.js +60 -0
  139. package/build/components/list-view/use-list-view-expand-selected-item.js.map +1 -0
  140. package/build/components/list-view/utils.js +29 -1
  141. package/build/components/list-view/utils.js.map +1 -1
  142. package/build/components/media-placeholder/index.native.js +7 -5
  143. package/build/components/media-placeholder/index.native.js.map +1 -1
  144. package/build/components/media-replace-flow/index.js +20 -24
  145. package/build/components/media-replace-flow/index.js.map +1 -1
  146. package/build/components/media-upload/index.native.js +4 -3
  147. package/build/components/media-upload/index.native.js.map +1 -1
  148. package/build/components/media-upload-progress/index.native.js +1 -1
  149. package/build/components/media-upload-progress/index.native.js.map +1 -1
  150. package/build/components/navigable-toolbar/index.js +3 -3
  151. package/build/components/navigable-toolbar/index.js.map +1 -1
  152. package/build/components/plain-text/index.native.js +3 -3
  153. package/build/components/plain-text/index.native.js.map +1 -1
  154. package/build/components/rich-text/format-toolbar-container.js +2 -2
  155. package/build/components/rich-text/format-toolbar-container.js.map +1 -1
  156. package/build/components/rich-text/format-toolbar-container.native.js +1 -1
  157. package/build/components/rich-text/format-toolbar-container.native.js.map +1 -1
  158. package/build/components/rich-text/index.js +7 -12
  159. package/build/components/rich-text/index.js.map +1 -1
  160. package/build/components/rich-text/index.native.js +3 -3
  161. package/build/components/rich-text/index.native.js.map +1 -1
  162. package/build/components/rich-text/use-paste-handler.js +7 -12
  163. package/build/components/rich-text/use-paste-handler.js.map +1 -1
  164. package/build/components/url-input/index.js +11 -11
  165. package/build/components/url-input/index.js.map +1 -1
  166. package/build/components/use-moving-animation/index.js +1 -1
  167. package/build/components/use-moving-animation/index.js.map +1 -1
  168. package/build/components/use-on-block-drop/index.js +2 -2
  169. package/build/components/use-on-block-drop/index.js.map +1 -1
  170. package/build/components/writing-flow/index.js +1 -0
  171. package/build/components/writing-flow/index.js.map +1 -1
  172. package/build/components/writing-flow/use-multi-selection.js +22 -24
  173. package/build/components/writing-flow/use-multi-selection.js.map +1 -1
  174. package/build/components/writing-flow/use-select-all.js +3 -2
  175. package/build/components/writing-flow/use-select-all.js.map +1 -1
  176. package/build/components/writing-flow/use-tab-nav.js +4 -3
  177. package/build/components/writing-flow/use-tab-nav.js.map +1 -1
  178. package/build/hooks/align.js +1 -1
  179. package/build/hooks/align.js.map +1 -1
  180. package/build/hooks/anchor.js +1 -1
  181. package/build/hooks/anchor.js.map +1 -1
  182. package/build/hooks/border.js +2 -14
  183. package/build/hooks/border.js.map +1 -1
  184. package/build/hooks/color.js +2 -2
  185. package/build/hooks/color.js.map +1 -1
  186. package/build/hooks/custom-class-name.js +40 -0
  187. package/build/hooks/custom-class-name.js.map +1 -1
  188. package/build/hooks/generated-class-name.js +3 -3
  189. package/build/hooks/generated-class-name.js.map +1 -1
  190. package/build/hooks/line-height.js +2 -0
  191. package/build/hooks/line-height.js.map +1 -1
  192. package/build/hooks/lock.js +1 -1
  193. package/build/hooks/lock.js.map +1 -1
  194. package/build/hooks/style.js +32 -13
  195. package/build/hooks/style.js.map +1 -1
  196. package/build/layouts/flow.js +7 -5
  197. package/build/layouts/flow.js.map +1 -1
  198. package/build/store/actions.js +55 -48
  199. package/build/store/actions.js.map +1 -1
  200. package/build/store/defaults.js +2 -1
  201. package/build/store/defaults.js.map +1 -1
  202. package/build/store/index.js +1 -2
  203. package/build/store/index.js.map +1 -1
  204. package/build/store/reducer.js +13 -13
  205. package/build/store/reducer.js.map +1 -1
  206. package/build/store/selectors.js +6 -6
  207. package/build/store/selectors.js.map +1 -1
  208. package/build/utils/index.js +0 -14
  209. package/build/utils/index.js.map +1 -1
  210. package/build/utils/parse-css-unit-to-px.js +3 -3
  211. package/build/utils/parse-css-unit-to-px.js.map +1 -1
  212. package/build/utils/pasting.js +91 -0
  213. package/build/utils/pasting.js.map +1 -0
  214. package/build/utils/transform-styles/ast/parse.js +5 -5
  215. package/build/utils/transform-styles/ast/parse.js.map +1 -1
  216. package/build/utils/transform-styles/transforms/url-rewrite.js +2 -2
  217. package/build/utils/transform-styles/transforms/url-rewrite.js.map +1 -1
  218. package/build-module/autocompleters/link.js +64 -0
  219. package/build-module/autocompleters/link.js.map +1 -0
  220. package/build-module/components/autocomplete/index.js +2 -1
  221. package/build-module/components/autocomplete/index.js.map +1 -1
  222. package/build-module/components/block-actions/index.js +1 -1
  223. package/build-module/components/block-actions/index.js.map +1 -1
  224. package/build-module/components/block-breadcrumb/index.js +4 -2
  225. package/build-module/components/block-breadcrumb/index.js.map +1 -1
  226. package/build-module/components/block-compare/index.js +2 -2
  227. package/build-module/components/block-compare/index.js.map +1 -1
  228. package/build-module/components/block-controls/index.js +1 -1
  229. package/build-module/components/block-controls/index.js.map +1 -1
  230. package/build-module/components/block-draggable/index.js +1 -1
  231. package/build-module/components/block-draggable/index.js.map +1 -1
  232. package/build-module/components/block-edit/edit.js +1 -1
  233. package/build-module/components/block-edit/edit.js.map +1 -1
  234. package/build-module/components/block-list/block-html.js +1 -1
  235. package/build-module/components/block-list/block-html.js.map +1 -1
  236. package/build-module/components/block-list/block-invalid-warning.js +1 -1
  237. package/build-module/components/block-list/block-invalid-warning.js.map +1 -1
  238. package/build-module/components/block-list/block-list-item.native.js +4 -4
  239. package/build-module/components/block-list/block-list-item.native.js.map +1 -1
  240. package/build-module/components/block-list/block-selection-button.native.js +4 -3
  241. package/build-module/components/block-list/block-selection-button.native.js.map +1 -1
  242. package/build-module/components/block-list/block.js +18 -4
  243. package/build-module/components/block-list/block.js.map +1 -1
  244. package/build-module/components/block-list/block.native.js +7 -7
  245. package/build-module/components/block-list/block.native.js.map +1 -1
  246. package/build-module/components/block-list/index.native.js +5 -5
  247. package/build-module/components/block-list/index.native.js.map +1 -1
  248. package/build-module/components/block-list/use-block-props/use-block-class-names.js +1 -1
  249. package/build-module/components/block-list/use-block-props/use-block-class-names.js.map +1 -1
  250. package/build-module/components/block-list/use-block-props/use-focus-first-element.js +2 -0
  251. package/build-module/components/block-list/use-block-props/use-focus-first-element.js.map +1 -1
  252. package/build-module/components/block-list/use-block-props/use-multi-selection.js +23 -28
  253. package/build-module/components/block-list/use-block-props/use-multi-selection.js.map +1 -1
  254. package/build-module/components/block-media-update-progress/index.native.js +4 -4
  255. package/build-module/components/block-media-update-progress/index.native.js.map +1 -1
  256. package/build-module/components/block-mobile-toolbar/block-actions-menu.native.js +3 -3
  257. package/build-module/components/block-mobile-toolbar/block-actions-menu.native.js.map +1 -1
  258. package/build-module/components/block-mobile-toolbar/index.native.js +1 -1
  259. package/build-module/components/block-mobile-toolbar/index.native.js.map +1 -1
  260. package/build-module/components/block-mover/mover-description.js +4 -4
  261. package/build-module/components/block-mover/mover-description.js.map +1 -1
  262. package/build-module/components/block-mover/mover-description.native.js +5 -5
  263. package/build-module/components/block-mover/mover-description.native.js.map +1 -1
  264. package/build-module/components/block-settings/container.native.js +2 -6
  265. package/build-module/components/block-settings/container.native.js.map +1 -1
  266. package/build-module/components/block-settings-menu/block-settings-dropdown.js +7 -13
  267. package/build-module/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
  268. package/build-module/components/block-styles/preview.native.js +1 -1
  269. package/build-module/components/block-styles/preview.native.js.map +1 -1
  270. package/build-module/components/block-switcher/index.js +2 -1
  271. package/build-module/components/block-switcher/index.js.map +1 -1
  272. package/build-module/components/block-switcher/use-transformed-patterns.js +0 -1
  273. package/build-module/components/block-switcher/use-transformed-patterns.js.map +1 -1
  274. package/build-module/components/block-title/index.js +7 -58
  275. package/build-module/components/block-title/index.js.map +1 -1
  276. package/build-module/components/block-title/use-block-display-title.js +80 -0
  277. package/build-module/components/block-title/use-block-display-title.js.map +1 -0
  278. package/build-module/components/block-toolbar/utils.js +9 -1
  279. package/build-module/components/block-toolbar/utils.js.map +1 -1
  280. package/build-module/components/block-tools/block-popover.js +1 -1
  281. package/build-module/components/block-tools/block-popover.js.map +1 -1
  282. package/build-module/components/block-tools/block-selection-button.js +2 -1
  283. package/build-module/components/block-tools/block-selection-button.js.map +1 -1
  284. package/build-module/components/block-types-list/index.native.js +1 -1
  285. package/build-module/components/block-types-list/index.native.js.map +1 -1
  286. package/build-module/components/border-radius-control/index.js +3 -3
  287. package/build-module/components/border-radius-control/index.js.map +1 -1
  288. package/build-module/components/border-radius-control/utils.js +11 -7
  289. package/build-module/components/border-radius-control/utils.js.map +1 -1
  290. package/build-module/components/contrast-checker/index.js +3 -3
  291. package/build-module/components/contrast-checker/index.js.map +1 -1
  292. package/build-module/components/convert-to-group-buttons/index.js +1 -1
  293. package/build-module/components/convert-to-group-buttons/index.js.map +1 -1
  294. package/build-module/components/convert-to-group-buttons/use-convert-to-group-button-props.js +1 -3
  295. package/build-module/components/convert-to-group-buttons/use-convert-to-group-button-props.js.map +1 -1
  296. package/build-module/components/copy-handler/index.js +2 -2
  297. package/build-module/components/copy-handler/index.js.map +1 -1
  298. package/build-module/components/font-sizes/with-font-sizes.js +3 -3
  299. package/build-module/components/font-sizes/with-font-sizes.js.map +1 -1
  300. package/build-module/components/index.js +1 -0
  301. package/build-module/components/index.js.map +1 -1
  302. package/build-module/components/index.native.js +5 -4
  303. package/build-module/components/index.native.js.map +1 -1
  304. package/build-module/components/inserter/block-patterns-tab.js +4 -4
  305. package/build-module/components/inserter/block-patterns-tab.js.map +1 -1
  306. package/build-module/components/inserter/block-types-tab.js +1 -1
  307. package/build-module/components/inserter/block-types-tab.js.map +1 -1
  308. package/build-module/components/inserter/hooks/use-block-type-impressions.native.js +2 -2
  309. package/build-module/components/inserter/hooks/use-block-type-impressions.native.js.map +1 -1
  310. package/build-module/components/inserter/index.js +3 -3
  311. package/build-module/components/inserter/index.js.map +1 -1
  312. package/build-module/components/inserter/index.native.js +7 -7
  313. package/build-module/components/inserter/index.native.js.map +1 -1
  314. package/build-module/components/inserter/menu.js.map +1 -1
  315. package/build-module/components/inserter/menu.native.js +3 -3
  316. package/build-module/components/inserter/menu.native.js.map +1 -1
  317. package/build-module/components/inserter/quick-inserter.js +20 -8
  318. package/build-module/components/inserter/quick-inserter.js.map +1 -1
  319. package/build-module/components/inserter/search-items.js +1 -1
  320. package/build-module/components/inserter/search-items.js.map +1 -1
  321. package/build-module/components/inserter/search-results.js +28 -11
  322. package/build-module/components/inserter/search-results.js.map +1 -1
  323. package/build-module/components/keyboard-shortcuts/index.js +1 -1
  324. package/build-module/components/keyboard-shortcuts/index.js.map +1 -1
  325. package/build-module/components/letter-spacing-control/index.js +3 -3
  326. package/build-module/components/letter-spacing-control/index.js.map +1 -1
  327. package/build-module/components/line-height-control/index.js +61 -45
  328. package/build-module/components/line-height-control/index.js.map +1 -1
  329. package/build-module/components/line-height-control/index.native.js +3 -1
  330. package/build-module/components/line-height-control/index.native.js.map +1 -1
  331. package/build-module/components/link-control/index.js +2 -2
  332. package/build-module/components/link-control/index.js.map +1 -1
  333. package/build-module/components/link-control/search-input.js +1 -1
  334. package/build-module/components/link-control/search-input.js.map +1 -1
  335. package/build-module/components/link-control/search-results.js +2 -2
  336. package/build-module/components/link-control/search-results.js.map +1 -1
  337. package/build-module/components/link-control/use-rich-url-data.js +1 -1
  338. package/build-module/components/link-control/use-rich-url-data.js.map +1 -1
  339. package/build-module/components/link-control/use-search-handler.js +2 -2
  340. package/build-module/components/link-control/use-search-handler.js.map +1 -1
  341. package/build-module/components/list-view/block-contents.js +8 -4
  342. package/build-module/components/list-view/block-contents.js.map +1 -1
  343. package/build-module/components/list-view/block-select-button.js +2 -2
  344. package/build-module/components/list-view/block-select-button.js.map +1 -1
  345. package/build-module/components/list-view/block.js +20 -9
  346. package/build-module/components/list-view/block.js.map +1 -1
  347. package/build-module/components/list-view/branch.js +2 -1
  348. package/build-module/components/list-view/branch.js.map +1 -1
  349. package/build-module/components/list-view/index.js +46 -42
  350. package/build-module/components/list-view/index.js.map +1 -1
  351. package/build-module/components/list-view/use-block-selection.js +123 -0
  352. package/build-module/components/list-view/use-block-selection.js.map +1 -0
  353. package/build-module/components/list-view/use-list-view-expand-selected-item.js +50 -0
  354. package/build-module/components/list-view/use-list-view-expand-selected-item.js.map +1 -0
  355. package/build-module/components/list-view/utils.js +25 -0
  356. package/build-module/components/list-view/utils.js.map +1 -1
  357. package/build-module/components/media-placeholder/index.native.js +7 -5
  358. package/build-module/components/media-placeholder/index.native.js.map +1 -1
  359. package/build-module/components/media-replace-flow/index.js +22 -27
  360. package/build-module/components/media-replace-flow/index.js.map +1 -1
  361. package/build-module/components/media-upload/index.native.js +4 -3
  362. package/build-module/components/media-upload/index.native.js.map +1 -1
  363. package/build-module/components/media-upload-progress/index.native.js +1 -1
  364. package/build-module/components/media-upload-progress/index.native.js.map +1 -1
  365. package/build-module/components/navigable-toolbar/index.js +3 -3
  366. package/build-module/components/navigable-toolbar/index.js.map +1 -1
  367. package/build-module/components/plain-text/index.native.js +3 -3
  368. package/build-module/components/plain-text/index.native.js.map +1 -1
  369. package/build-module/components/rich-text/format-toolbar-container.js +2 -2
  370. package/build-module/components/rich-text/format-toolbar-container.js.map +1 -1
  371. package/build-module/components/rich-text/format-toolbar-container.native.js +1 -1
  372. package/build-module/components/rich-text/format-toolbar-container.native.js.map +1 -1
  373. package/build-module/components/rich-text/index.js +7 -12
  374. package/build-module/components/rich-text/index.js.map +1 -1
  375. package/build-module/components/rich-text/index.native.js +3 -3
  376. package/build-module/components/rich-text/index.native.js.map +1 -1
  377. package/build-module/components/rich-text/use-paste-handler.js +6 -12
  378. package/build-module/components/rich-text/use-paste-handler.js.map +1 -1
  379. package/build-module/components/url-input/index.js +11 -11
  380. package/build-module/components/url-input/index.js.map +1 -1
  381. package/build-module/components/use-moving-animation/index.js +1 -1
  382. package/build-module/components/use-moving-animation/index.js.map +1 -1
  383. package/build-module/components/use-on-block-drop/index.js +2 -2
  384. package/build-module/components/use-on-block-drop/index.js.map +1 -1
  385. package/build-module/components/writing-flow/index.js +1 -0
  386. package/build-module/components/writing-flow/index.js.map +1 -1
  387. package/build-module/components/writing-flow/use-multi-selection.js +21 -21
  388. package/build-module/components/writing-flow/use-multi-selection.js.map +1 -1
  389. package/build-module/components/writing-flow/use-select-all.js +3 -2
  390. package/build-module/components/writing-flow/use-select-all.js.map +1 -1
  391. package/build-module/components/writing-flow/use-tab-nav.js +4 -3
  392. package/build-module/components/writing-flow/use-tab-nav.js.map +1 -1
  393. package/build-module/hooks/align.js +1 -1
  394. package/build-module/hooks/align.js.map +1 -1
  395. package/build-module/hooks/anchor.js +1 -1
  396. package/build-module/hooks/anchor.js.map +1 -1
  397. package/build-module/hooks/border.js +2 -14
  398. package/build-module/hooks/border.js.map +1 -1
  399. package/build-module/hooks/color.js +2 -2
  400. package/build-module/hooks/color.js.map +1 -1
  401. package/build-module/hooks/custom-class-name.js +38 -0
  402. package/build-module/hooks/custom-class-name.js.map +1 -1
  403. package/build-module/hooks/generated-class-name.js +3 -3
  404. package/build-module/hooks/generated-class-name.js.map +1 -1
  405. package/build-module/hooks/line-height.js +2 -0
  406. package/build-module/hooks/line-height.js.map +1 -1
  407. package/build-module/hooks/lock.js +1 -1
  408. package/build-module/hooks/lock.js.map +1 -1
  409. package/build-module/hooks/style.js +31 -13
  410. package/build-module/hooks/style.js.map +1 -1
  411. package/build-module/layouts/flow.js +7 -5
  412. package/build-module/layouts/flow.js.map +1 -1
  413. package/build-module/store/actions.js +52 -45
  414. package/build-module/store/actions.js.map +1 -1
  415. package/build-module/store/defaults.js +2 -1
  416. package/build-module/store/defaults.js.map +1 -1
  417. package/build-module/store/index.js +1 -2
  418. package/build-module/store/index.js.map +1 -1
  419. package/build-module/store/reducer.js +13 -13
  420. package/build-module/store/reducer.js.map +1 -1
  421. package/build-module/store/selectors.js +6 -6
  422. package/build-module/store/selectors.js.map +1 -1
  423. package/build-module/utils/index.js +0 -1
  424. package/build-module/utils/index.js.map +1 -1
  425. package/build-module/utils/parse-css-unit-to-px.js +3 -3
  426. package/build-module/utils/parse-css-unit-to-px.js.map +1 -1
  427. package/build-module/utils/pasting.js +80 -0
  428. package/build-module/utils/pasting.js.map +1 -0
  429. package/build-module/utils/transform-styles/ast/parse.js +5 -5
  430. package/build-module/utils/transform-styles/ast/parse.js.map +1 -1
  431. package/build-module/utils/transform-styles/transforms/url-rewrite.js +2 -2
  432. package/build-module/utils/transform-styles/transforms/url-rewrite.js.map +1 -1
  433. package/build-style/style-rtl.css +10 -12
  434. package/build-style/style.css +10 -12
  435. package/package.json +27 -26
  436. package/src/autocompleters/link.js +62 -0
  437. package/src/autocompleters/style.scss +8 -0
  438. package/src/components/alignment-control/test/index.js +2 -2
  439. package/src/components/autocomplete/index.js +2 -0
  440. package/src/components/block-actions/index.js +1 -1
  441. package/src/components/block-alignment-control/test/index.js +1 -1
  442. package/src/components/block-breadcrumb/index.js +5 -2
  443. package/src/components/block-compare/index.js +2 -2
  444. package/src/components/block-controls/index.js +1 -1
  445. package/src/components/block-draggable/index.js +1 -1
  446. package/src/components/block-draggable/stories/index.js +1 -1
  447. package/src/components/block-edit/edit.js +1 -1
  448. package/src/components/block-list/block-html.js +1 -1
  449. package/src/components/block-list/block-invalid-warning.js +1 -1
  450. package/src/components/block-list/block-list-item.native.js +4 -4
  451. package/src/components/block-list/block-selection-button.native.js +3 -3
  452. package/src/components/block-list/block.js +28 -4
  453. package/src/components/block-list/block.native.js +7 -6
  454. package/src/components/block-list/index.native.js +5 -5
  455. package/src/components/block-list/style.scss +3 -1
  456. package/src/components/block-list/use-block-props/use-block-class-names.js +1 -1
  457. package/src/components/block-list/use-block-props/use-focus-first-element.js +3 -0
  458. package/src/components/block-list/use-block-props/use-multi-selection.js +22 -30
  459. package/src/components/block-media-update-progress/index.native.js +4 -4
  460. package/src/components/block-media-update-progress/test/index.native.js +2 -2
  461. package/src/components/block-mobile-toolbar/block-actions-menu.native.js +3 -3
  462. package/src/components/block-mobile-toolbar/index.native.js +2 -2
  463. package/src/components/block-mover/mover-description.js +4 -4
  464. package/src/components/block-mover/mover-description.native.js +5 -5
  465. package/src/components/block-settings/container.native.js +5 -6
  466. package/src/components/block-settings-menu/block-settings-dropdown.js +7 -8
  467. package/src/components/block-styles/preview.native.js +1 -1
  468. package/src/components/block-switcher/index.js +4 -1
  469. package/src/components/block-switcher/use-transformed-patterns.js +0 -1
  470. package/src/components/block-title/README.md +17 -1
  471. package/src/components/block-title/index.js +7 -62
  472. package/src/components/block-title/test/index.js +21 -3
  473. package/src/components/block-title/use-block-display-title.js +83 -0
  474. package/src/components/block-toolbar/utils.js +12 -2
  475. package/src/components/block-tools/block-popover.js +1 -1
  476. package/src/components/block-tools/block-selection-button.js +4 -1
  477. package/src/components/block-types-list/index.native.js +1 -1
  478. package/src/components/border-radius-control/index.js +5 -3
  479. package/src/components/border-radius-control/test/utils.js +10 -10
  480. package/src/components/border-radius-control/utils.js +10 -8
  481. package/src/components/contrast-checker/index.js +3 -3
  482. package/src/components/convert-to-group-buttons/index.js +1 -1
  483. package/src/components/convert-to-group-buttons/use-convert-to-group-button-props.js +1 -6
  484. package/src/components/copy-handler/index.js +2 -2
  485. package/src/components/font-sizes/with-font-sizes.js +3 -3
  486. package/src/components/image-size-control/test/index.js +1 -1
  487. package/src/components/index.js +1 -0
  488. package/src/components/index.native.js +11 -4
  489. package/src/components/inserter/block-patterns-tab.js +13 -17
  490. package/src/components/inserter/block-types-tab.js +1 -1
  491. package/src/components/inserter/hooks/use-block-type-impressions.native.js +2 -2
  492. package/src/components/inserter/index.js +3 -3
  493. package/src/components/inserter/index.native.js +7 -7
  494. package/src/components/inserter/menu.js +1 -1
  495. package/src/components/inserter/menu.native.js +3 -3
  496. package/src/components/inserter/quick-inserter.js +32 -10
  497. package/src/components/inserter/search-items.js +1 -1
  498. package/src/components/inserter/search-results.js +55 -43
  499. package/src/components/inserter/test/fixtures/index.native.js +1 -1
  500. package/src/components/inserter/test/reusable-blocks-tab.js +2 -2
  501. package/src/components/justify-content-control/README.md +1 -1
  502. package/src/components/keyboard-shortcuts/index.js +1 -1
  503. package/src/components/letter-spacing-control/index.js +1 -1
  504. package/src/components/line-height-control/README.md +13 -2
  505. package/src/components/line-height-control/index.js +66 -43
  506. package/src/components/line-height-control/index.native.js +2 -0
  507. package/src/components/line-height-control/stories/index.js +33 -0
  508. package/src/components/line-height-control/test/index.js +61 -0
  509. package/src/components/link-control/index.js +2 -2
  510. package/src/components/link-control/search-input.js +1 -1
  511. package/src/components/link-control/search-results.js +2 -2
  512. package/src/components/link-control/test/index.js +142 -144
  513. package/src/components/link-control/use-rich-url-data.js +1 -1
  514. package/src/components/link-control/use-search-handler.js +2 -2
  515. package/src/components/list-view/README.md +2 -2
  516. package/src/components/list-view/block-contents.js +10 -3
  517. package/src/components/list-view/block-select-button.js +1 -2
  518. package/src/components/list-view/block.js +30 -10
  519. package/src/components/list-view/branch.js +1 -0
  520. package/src/components/list-view/index.js +56 -30
  521. package/src/components/list-view/test/utils.js +50 -0
  522. package/src/components/list-view/use-block-selection.js +163 -0
  523. package/src/components/list-view/use-list-view-expand-selected-item.js +58 -0
  524. package/src/components/list-view/utils.js +31 -0
  525. package/src/components/media-placeholder/index.native.js +11 -9
  526. package/src/components/media-replace-flow/README.md +7 -0
  527. package/src/components/media-replace-flow/index.js +20 -26
  528. package/src/components/media-replace-flow/test/index.js +100 -0
  529. package/src/components/media-upload/index.native.js +3 -2
  530. package/src/components/media-upload-progress/index.native.js +1 -1
  531. package/src/components/navigable-toolbar/index.js +3 -3
  532. package/src/components/plain-text/index.native.js +3 -3
  533. package/src/components/responsive-block-control/test/index.js +6 -6
  534. package/src/components/rich-text/format-toolbar-container.js +2 -2
  535. package/src/components/rich-text/format-toolbar-container.native.js +1 -1
  536. package/src/components/rich-text/index.js +7 -14
  537. package/src/components/rich-text/index.native.js +3 -3
  538. package/src/components/rich-text/use-paste-handler.js +7 -14
  539. package/src/components/url-input/index.js +11 -11
  540. package/src/components/use-block-drop-zone/test/index.js +1 -1
  541. package/src/components/use-moving-animation/index.js +1 -1
  542. package/src/components/use-on-block-drop/index.js +2 -2
  543. package/src/components/writing-flow/index.js +1 -0
  544. package/src/components/writing-flow/use-multi-selection.js +17 -20
  545. package/src/components/writing-flow/use-select-all.js +6 -2
  546. package/src/components/writing-flow/use-tab-nav.js +6 -3
  547. package/src/hooks/align.js +1 -1
  548. package/src/hooks/anchor.js +1 -1
  549. package/src/hooks/border.js +8 -19
  550. package/src/hooks/color.js +2 -2
  551. package/src/hooks/custom-class-name.js +45 -0
  552. package/src/hooks/generated-class-name.js +3 -3
  553. package/src/hooks/line-height.js +2 -0
  554. package/src/hooks/lock.js +1 -1
  555. package/src/hooks/style.js +31 -13
  556. package/src/hooks/test/align.js +1 -1
  557. package/src/hooks/typography.scss +0 -4
  558. package/src/layouts/flow.js +10 -5
  559. package/src/store/actions.js +24 -14
  560. package/src/store/defaults.js +2 -2
  561. package/src/store/index.js +0 -1
  562. package/src/store/reducer.js +13 -12
  563. package/src/store/selectors.js +6 -6
  564. package/src/store/test/actions.js +2 -2
  565. package/src/store/test/reducer.js +10 -1
  566. package/src/store/test/selectors.js +1 -1
  567. package/src/style.scss +0 -1
  568. package/src/utils/index.js +0 -1
  569. package/src/utils/parse-css-unit-to-px.js +3 -3
  570. package/src/utils/pasting.js +77 -0
  571. package/src/utils/test/parse-css-unit-to-px.js +5 -5
  572. package/src/utils/test/pasting.js +84 -0
  573. package/src/utils/transform-styles/ast/parse.js +5 -5
  574. package/src/utils/transform-styles/transforms/url-rewrite.js +2 -2
  575. package/build/utils/get-paste-event-data.js +0 -56
  576. package/build/utils/get-paste-event-data.js.map +0 -1
  577. package/build/utils/theme.js +0 -63
  578. package/build/utils/theme.js.map +0 -1
  579. package/build-module/utils/get-paste-event-data.js +0 -47
  580. package/build-module/utils/get-paste-event-data.js.map +0 -1
  581. package/build-module/utils/theme.js +0 -53
  582. package/build-module/utils/theme.js.map +0 -1
  583. package/src/components/line-height-control/style.scss +0 -8
  584. package/src/components/writing-flow/test/use-multi-selection.js +0 -36
  585. package/src/utils/get-paste-event-data.js +0 -42
  586. package/src/utils/theme.js +0 -48
@@ -19,7 +19,7 @@ import { useRefEffect } from '@wordpress/compose';
19
19
  /**
20
20
  * Internal dependencies
21
21
  */
22
- import { getPasteEventData } from '../../utils/get-paste-event-data';
22
+ import { getPasteEventData } from '../../utils/pasting';
23
23
  import { store as blockEditorStore } from '../../store';
24
24
 
25
25
  export function useNotifyCopy() {
@@ -132,7 +132,7 @@ export function useClipboardHandler() {
132
132
  removeBlocks( selectedBlockClientIds );
133
133
  } else if ( event.type === 'paste' ) {
134
134
  if ( eventDefaultPrevented ) {
135
- // This was likely already handled in rich-text/use-paste-handler.js
135
+ // This was likely already handled in rich-text/use-paste-handler.js.
136
136
  return;
137
137
  }
138
138
  const {
@@ -123,7 +123,7 @@ export default ( ...fontSizeNames ) => {
123
123
  fontSizeAttributeName
124
124
  ) => {
125
125
  if ( previousState[ fontSizeAttributeName ] ) {
126
- // if new font size is name compare with the previous slug
126
+ // If new font size is name compare with the previous slug.
127
127
  if ( attributes[ fontSizeAttributeName ] ) {
128
128
  return (
129
129
  attributes[ fontSizeAttributeName ] !==
@@ -131,14 +131,14 @@ export default ( ...fontSizeNames ) => {
131
131
  .slug
132
132
  );
133
133
  }
134
- // if font size is not named, update when the font size value changes.
134
+ // If font size is not named, update when the font size value changes.
135
135
  return (
136
136
  previousState[ fontSizeAttributeName ]
137
137
  .size !==
138
138
  attributes[ customFontSizeAttributeName ]
139
139
  );
140
140
  }
141
- // in this case we need to build the font size object
141
+ // In this case we need to build the font size object.
142
142
  return true;
143
143
  };
144
144
 
@@ -15,7 +15,7 @@ describe( 'ImageSizeControl', () => {
15
15
  const getWidthInput = () => screen.getByLabelText( 'Width' );
16
16
 
17
17
  afterEach( () => {
18
- // cleanup on exiting
18
+ // Cleanup on exiting.
19
19
  jest.clearAllMocks();
20
20
  } );
21
21
 
@@ -145,6 +145,7 @@ export { default as WritingFlow } from './writing-flow';
145
145
  export { default as useBlockDisplayInformation } from './use-block-display-information';
146
146
  export { default as __unstableIframe } from './iframe';
147
147
  export { default as __experimentalUseNoRecursiveRenders } from './use-no-recursive-renders';
148
+ export { default as __experimentalBlockPatternsList } from './block-patterns-list';
148
149
 
149
150
  /*
150
151
  * State Related Components
@@ -1,4 +1,4 @@
1
- // Block Creation Components
1
+ // Block Creation Components.
2
2
  export {
3
3
  BlockAlignmentControl,
4
4
  BlockAlignmentToolbar,
@@ -44,7 +44,13 @@ export {
44
44
  MEDIA_TYPE_AUDIO,
45
45
  MEDIA_TYPE_ANY,
46
46
  } from './media-upload';
47
- export { default as MediaUploadProgress } from './media-upload-progress';
47
+ export {
48
+ default as MediaUploadProgress,
49
+ MEDIA_UPLOAD_STATE_UPLOADING,
50
+ MEDIA_UPLOAD_STATE_SUCCEEDED,
51
+ MEDIA_UPLOAD_STATE_FAILED,
52
+ MEDIA_UPLOAD_STATE_RESET,
53
+ } from './media-upload-progress';
48
54
  export { default as BlockMediaUpdateProgress } from './block-media-update-progress';
49
55
  export { default as URLInput } from './url-input';
50
56
  export { default as BlockInvalidWarning } from './block-list/block-invalid-warning';
@@ -56,6 +62,7 @@ export { default as useSetting } from './use-setting';
56
62
  export { default as __experimentalUseNoRecursiveRenders } from './use-no-recursive-renders';
57
63
  export { default as Warning } from './warning';
58
64
  export { default as ContrastChecker } from './contrast-checker';
65
+ export { default as useMultipleOriginColorsAndGradients } from './colors-gradients/use-multiple-origin-colors-and-gradients';
59
66
 
60
67
  export {
61
68
  BottomSheetSettings,
@@ -64,7 +71,7 @@ export {
64
71
  } from './block-settings';
65
72
  export { default as VideoPlayer, VIDEO_ASPECT_RATIO } from './video-player';
66
73
 
67
- // Content Related Components
74
+ // Content Related Components.
68
75
  export { default as BlockList } from './block-list';
69
76
  export { default as BlockMover } from './block-mover';
70
77
  export { default as BlockToolbar } from './block-toolbar';
@@ -76,5 +83,5 @@ export { default as Inserter } from './inserter';
76
83
  export { useBlockProps } from './block-list/use-block-props';
77
84
  export { default as FloatingToolbar } from './floating-toolbar';
78
85
 
79
- // State Related Components
86
+ // State Related Components.
80
87
  export { default as BlockEditorProvider } from './provider';
@@ -106,7 +106,7 @@ function BlockPatternsTabs( {
106
106
  [ allCategories ]
107
107
  );
108
108
 
109
- // Remove any empty categories
109
+ // Remove any empty categories.
110
110
  const populatedCategories = useMemo( () => {
111
111
  const categories = allCategories
112
112
  .filter( ( category ) =>
@@ -144,23 +144,19 @@ function BlockPatternsTabs( {
144
144
 
145
145
  return (
146
146
  <>
147
+ <PatternInserterPanel
148
+ selectedCategory={ patternCategory }
149
+ patternCategories={ populatedCategories }
150
+ onClickCategory={ onClickCategory }
151
+ openPatternExplorer={ () => setShowPatternsExplorer( true ) }
152
+ />
147
153
  { ! showPatternsExplorer && (
148
- <>
149
- <PatternInserterPanel
150
- selectedCategory={ patternCategory }
151
- patternCategories={ populatedCategories }
152
- onClickCategory={ onClickCategory }
153
- openPatternExplorer={ () =>
154
- setShowPatternsExplorer( true )
155
- }
156
- />
157
- <BlockPatternsCategory
158
- rootClientId={ rootClientId }
159
- onInsert={ onInsert }
160
- selectedCategory={ patternCategory }
161
- populatedCategories={ populatedCategories }
162
- />
163
- </>
154
+ <BlockPatternsCategory
155
+ rootClientId={ rootClientId }
156
+ onInsert={ onInsert }
157
+ selectedCategory={ patternCategory }
158
+ populatedCategories={ populatedCategories }
159
+ />
164
160
  ) }
165
161
  { showPatternsExplorer && (
166
162
  <PatternsExplorerModal
@@ -90,7 +90,7 @@ export function BlockTypesTab( {
90
90
  const didRenderAllCategories =
91
91
  categories.length === currentlyRenderedCategories.length;
92
92
 
93
- // Async List requires an array
93
+ // Async List requires an array.
94
94
  const collectionEntries = useMemo( () => {
95
95
  return Object.entries( collections );
96
96
  }, [ collections ] );
@@ -32,12 +32,12 @@ function useBlockTypeImpressions( blockTypes ) {
32
32
  ...blockTypeImpressions,
33
33
  [ name ]: 0,
34
34
  };
35
- // Persist block type impression to JavaScript store
35
+ // Persist block type impression to JavaScript store.
36
36
  updateSettings( {
37
37
  impressions: updatedBlockTypeImpressions,
38
38
  } );
39
39
 
40
- // Persist block type impression count to native app store
40
+ // Persist block type impression count to native app store.
41
41
  setBlockTypeImpressions( updatedBlockTypeImpressions );
42
42
  }
43
43
  };
@@ -44,7 +44,7 @@ const defaultRenderToggle = ( {
44
44
 
45
45
  const { onClick, ...rest } = toggleProps;
46
46
 
47
- // Handle both onClick functions from the toggle and the parent component
47
+ // Handle both onClick functions from the toggle and the parent component.
48
48
  function handleClick( event ) {
49
49
  if ( onToggle ) {
50
50
  onToggle( event );
@@ -81,7 +81,7 @@ class Inserter extends Component {
81
81
  onToggle( isOpen ) {
82
82
  const { onToggle } = this.props;
83
83
 
84
- // Surface toggle callback to parent component
84
+ // Surface toggle callback to parent component.
85
85
  if ( onToggle ) {
86
86
  onToggle( isOpen );
87
87
  }
@@ -336,7 +336,7 @@ export default compose( [
336
336
  return getBlockIndex( end ) + 1;
337
337
  }
338
338
 
339
- // Otherwise, we insert at the end of the current rootClientId
339
+ // Otherwise, we insert at the end of the current rootClientId.
340
340
  return getBlockOrder( rootClientId ).length;
341
341
  }
342
342
 
@@ -168,17 +168,17 @@ export class Inserter extends Component {
168
168
  {}
169
169
  );
170
170
 
171
- // Persist block type impression to JavaScript store
171
+ // Persist block type impression to JavaScript store.
172
172
  updateSettings( {
173
173
  impressions: decrementedImpressions,
174
174
  } );
175
175
 
176
- // Persist block type impression count to native app store
176
+ // Persist block type impression count to native app store.
177
177
  setBlockTypeImpressions( decrementedImpressions );
178
178
  }
179
179
  }
180
180
 
181
- // Surface toggle callback to parent component
181
+ // Surface toggle callback to parent component.
182
182
  if ( onToggle ) {
183
183
  onToggle( isOpen );
184
184
  }
@@ -354,7 +354,7 @@ export default compose( [
354
354
  __experimentalShouldInsertAtTheTop: shouldInsertAtTheTop,
355
355
  } = getBlockEditorSettings();
356
356
 
357
- // if post title is selected insert as first block
357
+ // If post title is selected insert as first block.
358
358
  if ( shouldInsertAtTheTop ) {
359
359
  return 0;
360
360
  }
@@ -366,16 +366,16 @@ export default compose( [
366
366
 
367
367
  // If there is a selected block,
368
368
  if ( isAnyBlockSelected ) {
369
- // and the last selected block is unmodified (empty), it will be replaced
369
+ // And the last selected block is unmodified (empty), it will be replaced.
370
370
  if ( isSelectedUnmodifiedDefaultBlock ) {
371
371
  return selectedBlockIndex;
372
372
  }
373
373
 
374
- // we insert after the selected block.
374
+ // We insert after the selected block.
375
375
  return selectedBlockIndex + 1;
376
376
  }
377
377
 
378
- // Otherwise, we insert at the end of the current rootClientId
378
+ // Otherwise, we insert at the end of the current rootClientId.
379
379
  return endOfRootIndex;
380
380
  }
381
381
 
@@ -188,7 +188,7 @@ function InserterMenu(
188
188
  return (
189
189
  <div className="block-editor-inserter__menu">
190
190
  <div className="block-editor-inserter__main-area">
191
- { /* the following div is necessary to fix the sticky position of the search form */ }
191
+ { /* The following div is necessary to fix the sticky position of the search form. */ }
192
192
  <div className="block-editor-inserter__content">
193
193
  <SearchControl
194
194
  className="block-editor-inserter__search"
@@ -106,8 +106,8 @@ function InserterMenu( {
106
106
  }, [] );
107
107
 
108
108
  const onClose = useCallback( () => {
109
- // if should replace but didn't insert any block
110
- // re-insert default block
109
+ // If should replace but didn't insert any block
110
+ // re-insert default block.
111
111
  if ( shouldReplaceBlock ) {
112
112
  insertDefaultBlock( {}, destinationRootClientId, insertionIndex );
113
113
  }
@@ -140,7 +140,7 @@ function InserterMenu( {
140
140
  // Avoid a focus loop, see https://github.com/WordPress/gutenberg/issues/30562
141
141
  if ( Platform.OS === 'ios' ) {
142
142
  AccessibilityInfo.isScreenReaderEnabled().then( ( enabled ) => {
143
- // In testing, the bug focus loop needed a longer timeout when VoiceOver was enabled
143
+ // In testing, the bug focus loop needed a longer timeout when VoiceOver was enabled.
144
144
  const timeout = enabled ? 200 : 100;
145
145
  // eslint-disable-next-line @wordpress/react-no-unsafe-timeout
146
146
  setTimeout( () => {
@@ -23,6 +23,7 @@ import { store as blockEditorStore } from '../../store';
23
23
  const SEARCH_THRESHOLD = 6;
24
24
  const SHOWN_BLOCK_TYPES = 6;
25
25
  const SHOWN_BLOCK_PATTERNS = 2;
26
+ const SHOWN_BLOCK_PATTERNS_WITH_PRIORITIZATION = 4;
26
27
 
27
28
  export default function QuickInserter( {
28
29
  onSelect,
@@ -46,26 +47,39 @@ export default function QuickInserter( {
46
47
  onInsertBlocks,
47
48
  destinationRootClientId
48
49
  );
49
- const showPatterns = patterns.length && !! filterValue;
50
- const showSearch =
51
- ( showPatterns && patterns.length > SEARCH_THRESHOLD ) ||
52
- blockTypes.length > SEARCH_THRESHOLD;
53
50
 
54
- const { setInserterIsOpened, insertionIndex } = useSelect(
51
+ const {
52
+ setInserterIsOpened,
53
+ insertionIndex,
54
+ prioritizePatterns,
55
+ } = useSelect(
55
56
  ( select ) => {
56
57
  const { getSettings, getBlockIndex, getBlockCount } = select(
57
58
  blockEditorStore
58
59
  );
60
+ const settings = getSettings();
59
61
  const index = getBlockIndex( clientId );
62
+ const blockCount = getBlockCount();
63
+
60
64
  return {
61
- setInserterIsOpened: getSettings()
62
- .__experimentalSetIsInserterOpened,
63
- insertionIndex: index === -1 ? getBlockCount() : index,
65
+ setInserterIsOpened: settings.__experimentalSetIsInserterOpened,
66
+ prioritizePatterns:
67
+ settings.__experimentalPreferPatternsOnRoot &&
68
+ ! rootClientId &&
69
+ index > 0 &&
70
+ ( index < blockCount || blockCount === 0 ),
71
+ insertionIndex: index === -1 ? blockCount : index,
64
72
  };
65
73
  },
66
74
  [ clientId, rootClientId ]
67
75
  );
68
76
 
77
+ const showPatterns =
78
+ patterns.length && ( !! filterValue || prioritizePatterns );
79
+ const showSearch =
80
+ ( showPatterns && patterns.length > SEARCH_THRESHOLD ) ||
81
+ blockTypes.length > SEARCH_THRESHOLD;
82
+
69
83
  useEffect( () => {
70
84
  if ( setInserterIsOpened ) {
71
85
  setInserterIsOpened( false );
@@ -73,11 +87,18 @@ export default function QuickInserter( {
73
87
  }, [ setInserterIsOpened ] );
74
88
 
75
89
  // When clicking Browse All select the appropriate block so as
76
- // the insertion point can work as expected
90
+ // the insertion point can work as expected.
77
91
  const onBrowseAll = () => {
78
92
  setInserterIsOpened( { rootClientId, insertionIndex, filterValue } );
79
93
  };
80
94
 
95
+ let maxBlockPatterns = 0;
96
+ if ( showPatterns ) {
97
+ maxBlockPatterns = prioritizePatterns
98
+ ? SHOWN_BLOCK_PATTERNS_WITH_PRIORITIZATION
99
+ : SHOWN_BLOCK_PATTERNS;
100
+ }
101
+
81
102
  return (
82
103
  <div
83
104
  className={ classnames( 'block-editor-inserter__quick-inserter', {
@@ -104,9 +125,10 @@ export default function QuickInserter( {
104
125
  rootClientId={ rootClientId }
105
126
  clientId={ clientId }
106
127
  isAppender={ isAppender }
107
- maxBlockPatterns={ showPatterns ? SHOWN_BLOCK_PATTERNS : 0 }
128
+ maxBlockPatterns={ maxBlockPatterns }
108
129
  maxBlockTypes={ SHOWN_BLOCK_TYPES }
109
130
  isDraggable={ false }
131
+ prioritizePatterns={ prioritizePatterns }
110
132
  />
111
133
  </div>
112
134
 
@@ -3,7 +3,7 @@
3
3
  */
4
4
  import { deburr, differenceWith, find, words } from 'lodash';
5
5
 
6
- // Default search helpers
6
+ // Default search helpers.
7
7
  const defaultGetName = ( item ) => item.name || '';
8
8
  const defaultGetTitle = ( item ) => item.title;
9
9
  const defaultGetDescription = ( item ) => item.description || '';
@@ -48,6 +48,7 @@ function InserterSearchResults( {
48
48
  showBlockDirectory = false,
49
49
  isDraggable = true,
50
50
  shouldFocusBlock = true,
51
+ prioritizePatterns,
51
52
  } ) {
52
53
  const debouncedSpeak = useDebounce( speak, 500 );
53
54
 
@@ -70,7 +71,25 @@ function InserterSearchResults( {
70
71
  destinationRootClientId
71
72
  );
72
73
 
74
+ const filteredBlockPatterns = useMemo( () => {
75
+ if ( maxBlockPatterns === 0 ) {
76
+ return [];
77
+ }
78
+ const results = searchItems( patterns, filterValue );
79
+ return maxBlockPatterns !== undefined
80
+ ? results.slice( 0, maxBlockPatterns )
81
+ : results;
82
+ }, [ filterValue, patterns, maxBlockPatterns ] );
83
+
84
+ let maxBlockTypesToShow = maxBlockTypes;
85
+ if ( prioritizePatterns && filteredBlockPatterns.length > 2 ) {
86
+ maxBlockTypesToShow = 0;
87
+ }
88
+
73
89
  const filteredBlockTypes = useMemo( () => {
90
+ if ( maxBlockTypesToShow === 0 ) {
91
+ return [];
92
+ }
74
93
  const results = searchBlockItems(
75
94
  orderBy( blockTypes, [ 'frecency' ], [ 'desc' ] ),
76
95
  blockTypeCategories,
@@ -78,8 +97,8 @@ function InserterSearchResults( {
78
97
  filterValue
79
98
  );
80
99
 
81
- return maxBlockTypes !== undefined
82
- ? results.slice( 0, maxBlockTypes )
100
+ return maxBlockTypesToShow !== undefined
101
+ ? results.slice( 0, maxBlockTypesToShow )
83
102
  : results;
84
103
  }, [
85
104
  filterValue,
@@ -89,14 +108,7 @@ function InserterSearchResults( {
89
108
  maxBlockTypes,
90
109
  ] );
91
110
 
92
- const filteredBlockPatterns = useMemo( () => {
93
- const results = searchItems( patterns, filterValue );
94
- return maxBlockPatterns !== undefined
95
- ? results.slice( 0, maxBlockPatterns )
96
- : results;
97
- }, [ filterValue, patterns, maxBlockPatterns ] );
98
-
99
- // Announce search results on change
111
+ // Announce search results on change.
100
112
  useEffect( () => {
101
113
  if ( ! filterValue ) {
102
114
  return;
@@ -122,49 +134,49 @@ function InserterSearchResults( {
122
134
  const hasItems =
123
135
  ! isEmpty( filteredBlockTypes ) || ! isEmpty( filteredBlockPatterns );
124
136
 
137
+ const blocksUI = !! filteredBlockTypes.length && (
138
+ <InserterPanel
139
+ title={ <VisuallyHidden>{ __( 'Blocks' ) }</VisuallyHidden> }
140
+ >
141
+ <BlockTypesList
142
+ items={ currentShownBlockTypes }
143
+ onSelect={ onSelectBlockType }
144
+ onHover={ onHover }
145
+ label={ __( 'Blocks' ) }
146
+ isDraggable={ isDraggable }
147
+ />
148
+ </InserterPanel>
149
+ );
150
+
151
+ const patternsUI = !! filteredBlockPatterns.length && (
152
+ <InserterPanel
153
+ title={
154
+ <VisuallyHidden>{ __( 'Block Patterns' ) }</VisuallyHidden>
155
+ }
156
+ >
157
+ <div className="block-editor-inserter__quick-inserter-patterns">
158
+ <BlockPatternsList
159
+ shownPatterns={ currentShownPatterns }
160
+ blockPatterns={ filteredBlockPatterns }
161
+ onClickPattern={ onSelectBlockPattern }
162
+ isDraggable={ isDraggable }
163
+ />
164
+ </div>
165
+ </InserterPanel>
166
+ );
167
+
125
168
  return (
126
169
  <InserterListbox>
127
170
  { ! showBlockDirectory && ! hasItems && <InserterNoResults /> }
128
171
 
129
- { !! filteredBlockTypes.length && (
130
- <InserterPanel
131
- title={
132
- <VisuallyHidden>{ __( 'Blocks' ) }</VisuallyHidden>
133
- }
134
- >
135
- <BlockTypesList
136
- items={ currentShownBlockTypes }
137
- onSelect={ onSelectBlockType }
138
- onHover={ onHover }
139
- label={ __( 'Blocks' ) }
140
- isDraggable={ isDraggable }
141
- />
142
- </InserterPanel>
143
- ) }
172
+ { prioritizePatterns ? patternsUI : blocksUI }
144
173
 
145
174
  { !! filteredBlockTypes.length &&
146
175
  !! filteredBlockPatterns.length && (
147
176
  <div className="block-editor-inserter__quick-inserter-separator" />
148
177
  ) }
149
178
 
150
- { !! filteredBlockPatterns.length && (
151
- <InserterPanel
152
- title={
153
- <VisuallyHidden>
154
- { __( 'Block Patterns' ) }
155
- </VisuallyHidden>
156
- }
157
- >
158
- <div className="block-editor-inserter__quick-inserter-patterns">
159
- <BlockPatternsList
160
- shownPatterns={ currentShownPatterns }
161
- blockPatterns={ filteredBlockPatterns }
162
- onClickPattern={ onSelectBlockPattern }
163
- isDraggable={ isDraggable }
164
- />
165
- </div>
166
- </InserterPanel>
167
- ) }
179
+ { prioritizePatterns ? blocksUI : patternsUI }
168
180
 
169
181
  { showBlockDirectory && (
170
182
  <__unstableInserterMenuExtension.Slot
@@ -7,6 +7,6 @@ export * from './index';
7
7
 
8
8
  export default fixtures.map( ( filteredItems ) => ( {
9
9
  ...filteredItems,
10
- // Set `isNew` property expected from block type impressions
10
+ // Set `isNew` property expected from block type impressions.
11
11
  isNew: false,
12
12
  } ) );
@@ -17,13 +17,13 @@ import items, { categories, collections } from './fixtures';
17
17
  import useBlockTypesState from '../hooks/use-block-types-state';
18
18
 
19
19
  jest.mock( '../hooks/use-block-types-state', () => {
20
- // This allows us to tweak the returned value on each test
20
+ // This allows us to tweak the returned value on each test.
21
21
  const mock = jest.fn();
22
22
  return mock;
23
23
  } );
24
24
 
25
25
  jest.mock( '@wordpress/data/src/components/use-select', () => {
26
- // This allows us to tweak the returned value on each test
26
+ // This allows us to tweak the returned value on each test.
27
27
  const mock = jest.fn();
28
28
  return mock;
29
29
  } );
@@ -20,7 +20,7 @@ const MyJustifyToolbar = ( { attributes, setAttributes } ) => (
20
20
  <JustifyContentControl
21
21
  value={ attributes.justification }
22
22
  onChange={ ( next ) => {
23
- setAttributes( { justfication: next } );
23
+ setAttributes( { justification: next } );
24
24
  } }
25
25
  />
26
26
  </BlockControls>
@@ -11,7 +11,7 @@ function KeyboardShortcuts() {
11
11
  }
12
12
 
13
13
  function KeyboardShortcutsRegister() {
14
- // Registering the shortcuts
14
+ // Registering the shortcuts.
15
15
  const { registerShortcut } = useDispatch( keyboardShortcutsStore );
16
16
  useEffect( () => {
17
17
  registerShortcut( {
@@ -29,7 +29,7 @@ export default function LetterSpacingControl( {
29
29
  } ) {
30
30
  const units = useCustomUnits( {
31
31
  availableUnits: useSetting( 'spacing.units' ) || [ 'px', 'em', 'rem' ],
32
- defaultValues: { px: '2', em: '.2', rem: '.2' },
32
+ defaultValues: { px: 2, em: 0.2, rem: 0.2 },
33
33
  } );
34
34
  return (
35
35
  <UnitControl
@@ -18,9 +18,13 @@ _Note:_ It is worth noting that the line height setting option is an opt-in feat
18
18
  Renders the markup for the line height setting option in the block inspector.
19
19
 
20
20
  ```jsx
21
- import { KeyboardShortcuts } from '@wordpress/block-editor';
21
+ import { LineHeightControl } from '@wordpress/block-editor';
22
22
  const MyLineHeightControl = () => (
23
- <LineHeightControl value={ lineHeight } onChange={ onChange } />
23
+ <LineHeightControl
24
+ value={ lineHeight }
25
+ onChange={ onChange }
26
+ __nextHasNoMarginBottom={ true }
27
+ />
24
28
  );
25
29
  ```
26
30
 
@@ -38,6 +42,13 @@ The value of the line height.
38
42
 
39
43
  A callback function that handles the application of the line height value.
40
44
 
45
+ #### `__nextHasNoMarginBottom`
46
+
47
+ - **Type:** `boolean`
48
+ - **Default:** `false`
49
+
50
+ Start opting into the new margin-free styles that will become the default in a future version, currently scheduled to be WordPress 6.4. (The prop can be safely removed once this happens.)
51
+
41
52
  ## Related components
42
53
 
43
54
  Block Editor components are components that can be used to compose the UI of your block editor. Thus, they can only be used under a [`BlockEditorProvider`](https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/provider/README.md) in the components tree.