@wordpress/block-editor 10.2.0 → 10.4.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 (482) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/README.md +41 -0
  3. package/build/components/alignment-control/ui.js +1 -1
  4. package/build/components/alignment-control/ui.js.map +1 -1
  5. package/build/components/block-alignment-control/constants.js +1 -1
  6. package/build/components/block-alignment-control/constants.js.map +1 -1
  7. package/build/components/block-alignment-matrix-control/index.js +1 -1
  8. package/build/components/block-alignment-matrix-control/index.js.map +1 -1
  9. package/build/components/block-compare/index.js +1 -3
  10. package/build/components/block-compare/index.js.map +1 -1
  11. package/build/components/block-draggable/draggable-chip.js +4 -2
  12. package/build/components/block-draggable/draggable-chip.js.map +1 -1
  13. package/build/components/block-edit/index.js +4 -2
  14. package/build/components/block-edit/index.js.map +1 -1
  15. package/build/components/block-inspector/index.js +4 -4
  16. package/build/components/block-inspector/index.js.map +1 -1
  17. package/build/components/block-list/block-list-compact.native.js +1 -0
  18. package/build/components/block-list/block-list-compact.native.js.map +1 -1
  19. package/build/components/block-list/block.js +75 -15
  20. package/build/components/block-list/block.js.map +1 -1
  21. package/build/components/block-list/block.native.js +79 -12
  22. package/build/components/block-list/block.native.js.map +1 -1
  23. package/build/components/block-list/use-in-between-inserter.js +7 -23
  24. package/build/components/block-list/use-in-between-inserter.js.map +1 -1
  25. package/build/components/block-lock/modal.js +9 -6
  26. package/build/components/block-lock/modal.js.map +1 -1
  27. package/build/components/block-parent-selector/index.js +3 -3
  28. package/build/components/block-parent-selector/index.js.map +1 -1
  29. package/build/components/block-patterns-list/index.js +5 -4
  30. package/build/components/block-patterns-list/index.js.map +1 -1
  31. package/build/components/block-popover/drop-zone.js +85 -0
  32. package/build/components/block-popover/drop-zone.js.map +1 -0
  33. package/build/components/block-popover/inbetween.js +2 -1
  34. package/build/components/block-popover/inbetween.js.map +1 -1
  35. package/build/components/block-popover/index.js +4 -2
  36. package/build/components/block-popover/index.js.map +1 -1
  37. package/build/components/block-preview/auto.js +2 -2
  38. package/build/components/block-preview/auto.js.map +1 -1
  39. package/build/components/block-preview/index.js +8 -13
  40. package/build/components/block-preview/index.js.map +1 -1
  41. package/build/components/block-preview/live.js +3 -7
  42. package/build/components/block-preview/live.js.map +1 -1
  43. package/build/components/block-selection-clearer/index.js +9 -1
  44. package/build/components/block-selection-clearer/index.js.map +1 -1
  45. package/build/components/block-settings-menu/block-settings-dropdown.js +19 -19
  46. package/build/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
  47. package/build/components/block-styles/index.js +18 -42
  48. package/build/components/block-styles/index.js.map +1 -1
  49. package/build/components/block-switcher/index.js +2 -8
  50. package/build/components/block-switcher/index.js.map +1 -1
  51. package/build/components/block-switcher/preview-block-popover.js +1 -1
  52. package/build/components/block-switcher/preview-block-popover.js.map +1 -1
  53. package/build/components/block-toolbar/index.js +4 -4
  54. package/build/components/block-toolbar/index.js.map +1 -1
  55. package/build/components/block-tools/back-compat.js +2 -1
  56. package/build/components/block-tools/back-compat.js.map +1 -1
  57. package/build/components/block-tools/insertion-point.js +56 -16
  58. package/build/components/block-tools/insertion-point.js.map +1 -1
  59. package/build/components/block-tools/selected-block-popover.js +15 -3
  60. package/build/components/block-tools/selected-block-popover.js.map +1 -1
  61. package/build/components/block-vertical-alignment-control/ui.js +1 -1
  62. package/build/components/block-vertical-alignment-control/ui.js.map +1 -1
  63. package/build/components/border-radius-control/all-input-control.js +2 -1
  64. package/build/components/border-radius-control/all-input-control.js.map +1 -1
  65. package/build/components/border-radius-control/index.js +2 -1
  66. package/build/components/border-radius-control/index.js.map +1 -1
  67. package/build/components/border-radius-control/input-controls.js +2 -1
  68. package/build/components/border-radius-control/input-controls.js.map +1 -1
  69. package/build/components/colors-gradients/control.js +1 -1
  70. package/build/components/colors-gradients/control.js.map +1 -1
  71. package/build/components/colors-gradients/panel-color-gradient-settings.js +2 -2
  72. package/build/components/colors-gradients/panel-color-gradient-settings.js.map +1 -1
  73. package/build/components/duotone-control/index.js +1 -1
  74. package/build/components/duotone-control/index.js.map +1 -1
  75. package/build/components/font-sizes/fluid-utils.js +256 -0
  76. package/build/components/font-sizes/fluid-utils.js.map +1 -0
  77. package/build/components/font-sizes/index.js +8 -0
  78. package/build/components/font-sizes/index.js.map +1 -1
  79. package/build/components/font-sizes/with-font-sizes.js +1 -1
  80. package/build/components/font-sizes/with-font-sizes.js.map +1 -1
  81. package/build/components/iframe/index.js +1 -1
  82. package/build/components/iframe/index.js.map +1 -1
  83. package/build/components/image-editor/constants.js +1 -1
  84. package/build/components/image-editor/constants.js.map +1 -1
  85. package/build/components/index.js +0 -9
  86. package/build/components/index.js.map +1 -1
  87. package/build/components/inner-blocks/index.js +6 -2
  88. package/build/components/inner-blocks/index.js.map +1 -1
  89. package/build/components/inner-blocks/use-inner-block-template-sync.js +3 -2
  90. package/build/components/inner-blocks/use-inner-block-template-sync.js.map +1 -1
  91. package/build/components/inserter/block-patterns-tab.js +151 -78
  92. package/build/components/inserter/block-patterns-tab.js.map +1 -1
  93. package/build/components/inserter/hooks/use-insertion-point.js +2 -7
  94. package/build/components/inserter/hooks/use-insertion-point.js.map +1 -1
  95. package/build/components/inserter/menu.js +14 -3
  96. package/build/components/inserter/menu.js.map +1 -1
  97. package/build/components/inserter/search-items.js +23 -2
  98. package/build/components/inserter/search-items.js.map +1 -1
  99. package/build/components/inserter-draggable-blocks/index.js +4 -2
  100. package/build/components/inserter-draggable-blocks/index.js.map +1 -1
  101. package/build/components/line-height-control/index.js +2 -1
  102. package/build/components/line-height-control/index.js.map +1 -1
  103. package/build/components/list-view/drop-indicator.js +2 -1
  104. package/build/components/list-view/drop-indicator.js.map +1 -1
  105. package/build/components/list-view/use-list-view-drop-zone.js +1 -14
  106. package/build/components/list-view/use-list-view-drop-zone.js.map +1 -1
  107. package/build/components/media-replace-flow/index.js +1 -1
  108. package/build/components/media-replace-flow/index.js.map +1 -1
  109. package/build/components/preview-options/index.js +2 -3
  110. package/build/components/preview-options/index.js.map +1 -1
  111. package/build/components/rich-text/format-toolbar/index.js +1 -1
  112. package/build/components/rich-text/format-toolbar/index.js.map +1 -1
  113. package/build/components/rich-text/format-toolbar-container.js +1 -1
  114. package/build/components/rich-text/format-toolbar-container.js.map +1 -1
  115. package/build/components/rich-text/use-paste-handler.js +1 -1
  116. package/build/components/rich-text/use-paste-handler.js.map +1 -1
  117. package/build/components/spacing-sizes-control/all-input-control.js +6 -2
  118. package/build/components/spacing-sizes-control/all-input-control.js.map +1 -1
  119. package/build/components/spacing-sizes-control/axial-input-controls.js +6 -2
  120. package/build/components/spacing-sizes-control/axial-input-controls.js.map +1 -1
  121. package/build/components/spacing-sizes-control/index.js +6 -2
  122. package/build/components/spacing-sizes-control/index.js.map +1 -1
  123. package/build/components/spacing-sizes-control/input-controls.js +6 -2
  124. package/build/components/spacing-sizes-control/input-controls.js.map +1 -1
  125. package/build/components/spacing-sizes-control/spacing-input-control.js +45 -8
  126. package/build/components/spacing-sizes-control/spacing-input-control.js.map +1 -1
  127. package/build/components/url-input/index.js +1 -1
  128. package/build/components/url-input/index.js.map +1 -1
  129. package/build/components/use-block-drop-zone/index.js +98 -57
  130. package/build/components/use-block-drop-zone/index.js.map +1 -1
  131. package/build/components/use-on-block-drop/index.js +12 -12
  132. package/build/components/use-on-block-drop/index.js.map +1 -1
  133. package/build/components/use-on-block-drop/types.js +6 -0
  134. package/build/components/use-on-block-drop/types.js.map +1 -0
  135. package/build/hooks/align.js +1 -3
  136. package/build/hooks/align.js.map +1 -1
  137. package/build/hooks/align.native.js +1 -7
  138. package/build/hooks/align.native.js.map +1 -1
  139. package/build/hooks/border.js +1 -0
  140. package/build/hooks/border.js.map +1 -1
  141. package/build/hooks/dimensions.js +32 -4
  142. package/build/hooks/dimensions.js.map +1 -1
  143. package/build/hooks/font-size.js +61 -0
  144. package/build/hooks/font-size.js.map +1 -1
  145. package/build/hooks/layout.js +4 -3
  146. package/build/hooks/layout.js.map +1 -1
  147. package/build/hooks/margin.js +24 -17
  148. package/build/hooks/margin.js.map +1 -1
  149. package/build/hooks/padding.js +20 -12
  150. package/build/hooks/padding.js.map +1 -1
  151. package/build/hooks/style.js +126 -4
  152. package/build/hooks/style.js.map +1 -1
  153. package/build/hooks/use-typography-props.js +17 -3
  154. package/build/hooks/use-typography-props.js.map +1 -1
  155. package/build/hooks/utils.js +8 -7
  156. package/build/hooks/utils.js.map +1 -1
  157. package/build/layouts/constrained.js +0 -1
  158. package/build/layouts/constrained.js.map +1 -1
  159. package/build/layouts/flex.js +1 -1
  160. package/build/layouts/flex.js.map +1 -1
  161. package/build/store/actions.js +63 -45
  162. package/build/store/actions.js.map +1 -1
  163. package/build/store/array.js +1 -7
  164. package/build/store/array.js.map +1 -1
  165. package/build/store/defaults.js +3 -0
  166. package/build/store/defaults.js.map +1 -1
  167. package/build/store/reducer.js +31 -15
  168. package/build/store/reducer.js.map +1 -1
  169. package/build/store/selectors.js +46 -29
  170. package/build/store/selectors.js.map +1 -1
  171. package/build/utils/math.js +14 -0
  172. package/build/utils/math.js.map +1 -1
  173. package/build/utils/pre-parse-patterns.js +19 -2
  174. package/build/utils/pre-parse-patterns.js.map +1 -1
  175. package/build-module/components/alignment-control/ui.js +1 -1
  176. package/build-module/components/alignment-control/ui.js.map +1 -1
  177. package/build-module/components/block-alignment-control/constants.js +1 -1
  178. package/build-module/components/block-alignment-control/constants.js.map +1 -1
  179. package/build-module/components/block-alignment-matrix-control/index.js +1 -1
  180. package/build-module/components/block-alignment-matrix-control/index.js.map +1 -1
  181. package/build-module/components/block-compare/index.js +2 -3
  182. package/build-module/components/block-compare/index.js.map +1 -1
  183. package/build-module/components/block-draggable/draggable-chip.js +7 -3
  184. package/build-module/components/block-draggable/draggable-chip.js.map +1 -1
  185. package/build-module/components/block-edit/index.js +4 -2
  186. package/build-module/components/block-edit/index.js.map +1 -1
  187. package/build-module/components/block-inspector/index.js +4 -4
  188. package/build-module/components/block-inspector/index.js.map +1 -1
  189. package/build-module/components/block-list/block-list-compact.native.js +1 -0
  190. package/build-module/components/block-list/block-list-compact.native.js.map +1 -1
  191. package/build-module/components/block-list/block.js +75 -15
  192. package/build-module/components/block-list/block.js.map +1 -1
  193. package/build-module/components/block-list/block.native.js +80 -13
  194. package/build-module/components/block-list/block.native.js.map +1 -1
  195. package/build-module/components/block-list/use-in-between-inserter.js +8 -24
  196. package/build-module/components/block-list/use-in-between-inserter.js.map +1 -1
  197. package/build-module/components/block-lock/modal.js +10 -8
  198. package/build-module/components/block-lock/modal.js.map +1 -1
  199. package/build-module/components/block-parent-selector/index.js +3 -3
  200. package/build-module/components/block-parent-selector/index.js.map +1 -1
  201. package/build-module/components/block-patterns-list/index.js +5 -4
  202. package/build-module/components/block-patterns-list/index.js.map +1 -1
  203. package/build-module/components/block-popover/drop-zone.js +70 -0
  204. package/build-module/components/block-popover/drop-zone.js.map +1 -0
  205. package/build-module/components/block-popover/inbetween.js +2 -1
  206. package/build-module/components/block-popover/inbetween.js.map +1 -1
  207. package/build-module/components/block-popover/index.js +4 -2
  208. package/build-module/components/block-popover/index.js.map +1 -1
  209. package/build-module/components/block-preview/auto.js +1 -1
  210. package/build-module/components/block-preview/auto.js.map +1 -1
  211. package/build-module/components/block-preview/index.js +8 -12
  212. package/build-module/components/block-preview/index.js.map +1 -1
  213. package/build-module/components/block-preview/live.js +3 -6
  214. package/build-module/components/block-preview/live.js.map +1 -1
  215. package/build-module/components/block-selection-clearer/index.js +9 -1
  216. package/build-module/components/block-selection-clearer/index.js.map +1 -1
  217. package/build-module/components/block-settings-menu/block-settings-dropdown.js +20 -19
  218. package/build-module/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
  219. package/build-module/components/block-styles/index.js +19 -44
  220. package/build-module/components/block-styles/index.js.map +1 -1
  221. package/build-module/components/block-switcher/index.js +2 -7
  222. package/build-module/components/block-switcher/index.js.map +1 -1
  223. package/build-module/components/block-switcher/preview-block-popover.js +1 -1
  224. package/build-module/components/block-switcher/preview-block-popover.js.map +1 -1
  225. package/build-module/components/block-toolbar/index.js +4 -4
  226. package/build-module/components/block-toolbar/index.js.map +1 -1
  227. package/build-module/components/block-tools/back-compat.js +2 -1
  228. package/build-module/components/block-tools/back-compat.js.map +1 -1
  229. package/build-module/components/block-tools/insertion-point.js +54 -16
  230. package/build-module/components/block-tools/insertion-point.js.map +1 -1
  231. package/build-module/components/block-tools/selected-block-popover.js +15 -3
  232. package/build-module/components/block-tools/selected-block-popover.js.map +1 -1
  233. package/build-module/components/block-vertical-alignment-control/ui.js +1 -1
  234. package/build-module/components/block-vertical-alignment-control/ui.js.map +1 -1
  235. package/build-module/components/border-radius-control/all-input-control.js +2 -1
  236. package/build-module/components/border-radius-control/all-input-control.js.map +1 -1
  237. package/build-module/components/border-radius-control/index.js +2 -1
  238. package/build-module/components/border-radius-control/index.js.map +1 -1
  239. package/build-module/components/border-radius-control/input-controls.js +2 -1
  240. package/build-module/components/border-radius-control/input-controls.js.map +1 -1
  241. package/build-module/components/colors-gradients/control.js +2 -2
  242. package/build-module/components/colors-gradients/control.js.map +1 -1
  243. package/build-module/components/colors-gradients/panel-color-gradient-settings.js +3 -3
  244. package/build-module/components/colors-gradients/panel-color-gradient-settings.js.map +1 -1
  245. package/build-module/components/duotone-control/index.js +1 -1
  246. package/build-module/components/duotone-control/index.js.map +1 -1
  247. package/build-module/components/font-sizes/fluid-utils.js +245 -0
  248. package/build-module/components/font-sizes/fluid-utils.js.map +1 -0
  249. package/build-module/components/font-sizes/index.js +1 -0
  250. package/build-module/components/font-sizes/index.js.map +1 -1
  251. package/build-module/components/font-sizes/with-font-sizes.js +2 -2
  252. package/build-module/components/font-sizes/with-font-sizes.js.map +1 -1
  253. package/build-module/components/iframe/index.js +1 -1
  254. package/build-module/components/iframe/index.js.map +1 -1
  255. package/build-module/components/image-editor/constants.js +1 -1
  256. package/build-module/components/image-editor/constants.js.map +1 -1
  257. package/build-module/components/index.js +0 -1
  258. package/build-module/components/index.js.map +1 -1
  259. package/build-module/components/inner-blocks/index.js +6 -2
  260. package/build-module/components/inner-blocks/index.js.map +1 -1
  261. package/build-module/components/inner-blocks/use-inner-block-template-sync.js +3 -2
  262. package/build-module/components/inner-blocks/use-inner-block-template-sync.js.map +1 -1
  263. package/build-module/components/inserter/block-patterns-tab.js +148 -81
  264. package/build-module/components/inserter/block-patterns-tab.js.map +1 -1
  265. package/build-module/components/inserter/hooks/use-insertion-point.js +2 -6
  266. package/build-module/components/inserter/hooks/use-insertion-point.js.map +1 -1
  267. package/build-module/components/inserter/menu.js +10 -3
  268. package/build-module/components/inserter/menu.js.map +1 -1
  269. package/build-module/components/inserter/search-items.js +23 -3
  270. package/build-module/components/inserter/search-items.js.map +1 -1
  271. package/build-module/components/inserter-draggable-blocks/index.js +4 -2
  272. package/build-module/components/inserter-draggable-blocks/index.js.map +1 -1
  273. package/build-module/components/line-height-control/index.js +2 -1
  274. package/build-module/components/line-height-control/index.js.map +1 -1
  275. package/build-module/components/list-view/drop-indicator.js +2 -1
  276. package/build-module/components/list-view/drop-indicator.js.map +1 -1
  277. package/build-module/components/list-view/use-list-view-drop-zone.js +1 -14
  278. package/build-module/components/list-view/use-list-view-drop-zone.js.map +1 -1
  279. package/build-module/components/media-replace-flow/index.js +1 -1
  280. package/build-module/components/media-replace-flow/index.js.map +1 -1
  281. package/build-module/components/preview-options/index.js +2 -3
  282. package/build-module/components/preview-options/index.js.map +1 -1
  283. package/build-module/components/rich-text/format-toolbar/index.js +1 -1
  284. package/build-module/components/rich-text/format-toolbar/index.js.map +1 -1
  285. package/build-module/components/rich-text/format-toolbar-container.js +1 -1
  286. package/build-module/components/rich-text/format-toolbar-container.js.map +1 -1
  287. package/build-module/components/rich-text/use-paste-handler.js +1 -1
  288. package/build-module/components/rich-text/use-paste-handler.js.map +1 -1
  289. package/build-module/components/spacing-sizes-control/all-input-control.js +6 -2
  290. package/build-module/components/spacing-sizes-control/all-input-control.js.map +1 -1
  291. package/build-module/components/spacing-sizes-control/axial-input-controls.js +6 -2
  292. package/build-module/components/spacing-sizes-control/axial-input-controls.js.map +1 -1
  293. package/build-module/components/spacing-sizes-control/index.js +6 -2
  294. package/build-module/components/spacing-sizes-control/index.js.map +1 -1
  295. package/build-module/components/spacing-sizes-control/input-controls.js +6 -2
  296. package/build-module/components/spacing-sizes-control/input-controls.js.map +1 -1
  297. package/build-module/components/spacing-sizes-control/spacing-input-control.js +44 -8
  298. package/build-module/components/spacing-sizes-control/spacing-input-control.js.map +1 -1
  299. package/build-module/components/url-input/index.js +1 -1
  300. package/build-module/components/url-input/index.js.map +1 -1
  301. package/build-module/components/use-block-drop-zone/index.js +98 -58
  302. package/build-module/components/use-block-drop-zone/index.js.map +1 -1
  303. package/build-module/components/use-on-block-drop/index.js +12 -12
  304. package/build-module/components/use-on-block-drop/index.js.map +1 -1
  305. package/build-module/components/use-on-block-drop/types.js +2 -0
  306. package/build-module/components/use-on-block-drop/types.js.map +1 -0
  307. package/build-module/hooks/align.js +1 -2
  308. package/build-module/hooks/align.js.map +1 -1
  309. package/build-module/hooks/align.native.js +1 -6
  310. package/build-module/hooks/align.native.js.map +1 -1
  311. package/build-module/hooks/border.js +1 -0
  312. package/build-module/hooks/border.js.map +1 -1
  313. package/build-module/hooks/dimensions.js +32 -4
  314. package/build-module/hooks/dimensions.js.map +1 -1
  315. package/build-module/hooks/font-size.js +60 -1
  316. package/build-module/hooks/font-size.js.map +1 -1
  317. package/build-module/hooks/layout.js +5 -4
  318. package/build-module/hooks/layout.js.map +1 -1
  319. package/build-module/hooks/margin.js +25 -18
  320. package/build-module/hooks/margin.js.map +1 -1
  321. package/build-module/hooks/padding.js +21 -13
  322. package/build-module/hooks/padding.js.map +1 -1
  323. package/build-module/hooks/style.js +124 -3
  324. package/build-module/hooks/style.js.map +1 -1
  325. package/build-module/hooks/use-typography-props.js +17 -4
  326. package/build-module/hooks/use-typography-props.js.map +1 -1
  327. package/build-module/hooks/utils.js +8 -8
  328. package/build-module/hooks/utils.js.map +1 -1
  329. package/build-module/layouts/constrained.js +0 -1
  330. package/build-module/layouts/constrained.js.map +1 -1
  331. package/build-module/layouts/flex.js +1 -1
  332. package/build-module/layouts/flex.js.map +1 -1
  333. package/build-module/store/actions.js +59 -42
  334. package/build-module/store/actions.js.map +1 -1
  335. package/build-module/store/array.js +1 -6
  336. package/build-module/store/array.js.map +1 -1
  337. package/build-module/store/defaults.js +3 -0
  338. package/build-module/store/defaults.js.map +1 -1
  339. package/build-module/store/reducer.js +32 -16
  340. package/build-module/store/reducer.js.map +1 -1
  341. package/build-module/store/selectors.js +47 -30
  342. package/build-module/store/selectors.js.map +1 -1
  343. package/build-module/utils/math.js +12 -0
  344. package/build-module/utils/math.js.map +1 -1
  345. package/build-module/utils/pre-parse-patterns.js +19 -2
  346. package/build-module/utils/pre-parse-patterns.js.map +1 -1
  347. package/build-style/style-rtl.css +292 -206
  348. package/build-style/style.css +288 -202
  349. package/package.json +29 -28
  350. package/src/components/alignment-control/ui.js +1 -1
  351. package/src/components/block-alignment-control/constants.js +1 -1
  352. package/src/components/block-alignment-matrix-control/index.js +1 -1
  353. package/src/components/block-breadcrumb/test/__snapshots__/index.js.snap +13 -11
  354. package/src/components/block-breadcrumb/test/index.js +2 -2
  355. package/src/components/block-compare/index.js +3 -2
  356. package/src/components/block-draggable/draggable-chip.js +4 -2
  357. package/src/components/block-edit/index.js +2 -1
  358. package/src/components/block-inspector/index.js +8 -7
  359. package/src/components/block-list/block-list-compact.native.js +1 -0
  360. package/src/components/block-list/block.js +113 -7
  361. package/src/components/block-list/block.native.js +123 -9
  362. package/src/components/block-list/style.scss +93 -126
  363. package/src/components/block-list/use-in-between-inserter.js +8 -19
  364. package/src/components/block-lock/modal.js +12 -7
  365. package/src/components/block-mover/stories/index.js +1 -1
  366. package/src/components/block-mover/style.scss +35 -1
  367. package/src/components/block-parent-selector/index.js +3 -3
  368. package/src/components/block-patterns-list/index.js +9 -5
  369. package/src/components/block-patterns-list/style.scss +7 -3
  370. package/src/components/block-popover/README.md +8 -0
  371. package/src/components/block-popover/drop-zone.js +63 -0
  372. package/src/components/block-popover/inbetween.js +1 -0
  373. package/src/components/block-popover/index.js +3 -1
  374. package/src/components/block-popover/style.scss +17 -5
  375. package/src/components/block-preview/auto.js +1 -1
  376. package/src/components/block-preview/index.js +15 -11
  377. package/src/components/block-preview/live.js +2 -7
  378. package/src/components/block-preview/test/index.js +1 -7
  379. package/src/components/block-selection-clearer/index.js +7 -2
  380. package/src/components/block-selection-clearer/test/index.js +118 -0
  381. package/src/components/block-settings-menu/block-settings-dropdown.js +29 -18
  382. package/src/components/block-settings-menu/test/block-mode-toggle.js +17 -17
  383. package/src/components/block-styles/index.js +26 -49
  384. package/src/components/block-switcher/index.js +2 -7
  385. package/src/components/block-switcher/preview-block-popover.js +1 -1
  386. package/src/components/block-switcher/test/index.js +2 -2
  387. package/src/components/block-toolbar/index.js +4 -6
  388. package/src/components/block-toolbar/style.scss +38 -14
  389. package/src/components/block-tools/back-compat.js +1 -0
  390. package/src/components/block-tools/insertion-point.js +49 -15
  391. package/src/components/block-tools/selected-block-popover.js +14 -1
  392. package/src/components/block-variation-picker/README.md +1 -1
  393. package/src/components/block-vertical-alignment-control/ui.js +1 -1
  394. package/src/components/border-radius-control/all-input-control.js +1 -0
  395. package/src/components/border-radius-control/index.js +1 -0
  396. package/src/components/border-radius-control/input-controls.js +1 -0
  397. package/src/components/border-radius-control/style.scss +15 -24
  398. package/src/components/button-block-appender/style.scss +4 -2
  399. package/src/components/color-palette/test/__snapshots__/control.js.snap +86 -104
  400. package/src/components/color-palette/test/control.js +11 -15
  401. package/src/components/colors-gradients/control.js +2 -2
  402. package/src/components/colors-gradients/panel-color-gradient-settings.js +3 -4
  403. package/src/components/colors-gradients/test/control.js +49 -77
  404. package/src/components/duotone-control/index.js +1 -1
  405. package/src/components/font-sizes/fluid-utils.js +296 -0
  406. package/src/components/font-sizes/index.js +1 -0
  407. package/src/components/font-sizes/test/fluid-utils.js +168 -0
  408. package/src/components/font-sizes/with-font-sizes.js +2 -3
  409. package/src/components/iframe/index.js +1 -1
  410. package/src/components/image-editor/constants.js +1 -1
  411. package/src/components/image-size-control/test/index.js +47 -60
  412. package/src/components/index.js +0 -1
  413. package/src/components/inner-blocks/index.js +5 -1
  414. package/src/components/inner-blocks/test/index.js +4 -0
  415. package/src/components/inner-blocks/use-inner-block-template-sync.js +3 -2
  416. package/src/components/inserter/block-patterns-tab.js +232 -98
  417. package/src/components/inserter/hooks/use-insertion-point.js +3 -11
  418. package/src/components/inserter/menu.js +15 -2
  419. package/src/components/inserter/search-items.js +23 -3
  420. package/src/components/inserter/style.scss +94 -9
  421. package/src/components/inserter/test/reusable-blocks-tab.js +6 -6
  422. package/src/components/inserter/test/search-items.js +6 -0
  423. package/src/components/inserter-draggable-blocks/index.js +12 -2
  424. package/src/components/inserter-list-item/style.scss +22 -1
  425. package/src/components/letter-spacing-control/README.md +55 -0
  426. package/src/components/line-height-control/index.js +1 -0
  427. package/src/components/link-control/README.md +3 -3
  428. package/src/components/link-control/test/index.js +1 -1
  429. package/src/components/list-view/drop-indicator.js +1 -0
  430. package/src/components/list-view/style.scss +1 -36
  431. package/src/components/list-view/use-list-view-drop-zone.js +4 -18
  432. package/src/components/media-replace-flow/index.js +1 -1
  433. package/src/components/media-replace-flow/test/index.js +69 -51
  434. package/src/components/panel-color-settings/test/index.js +4 -4
  435. package/src/components/preview-options/index.js +2 -2
  436. package/src/components/preview-options/style.scss +1 -1
  437. package/src/components/provider/test/use-block-sync.js +131 -165
  438. package/src/components/responsive-block-control/test/index.js +4 -4
  439. package/src/components/rich-text/format-toolbar/index.js +1 -1
  440. package/src/components/rich-text/format-toolbar-container.js +1 -1
  441. package/src/components/rich-text/use-paste-handler.js +1 -1
  442. package/src/components/spacing-sizes-control/all-input-control.js +4 -0
  443. package/src/components/spacing-sizes-control/axial-input-controls.js +4 -0
  444. package/src/components/spacing-sizes-control/index.js +4 -0
  445. package/src/components/spacing-sizes-control/input-controls.js +4 -0
  446. package/src/components/spacing-sizes-control/spacing-input-control.js +26 -3
  447. package/src/components/spacing-sizes-control/style.scss +27 -19
  448. package/src/components/url-input/index.js +1 -1
  449. package/src/components/use-block-drop-zone/index.js +136 -79
  450. package/src/components/use-block-drop-zone/test/index.js +333 -81
  451. package/src/components/use-on-block-drop/index.js +11 -12
  452. package/src/components/use-on-block-drop/types.ts +1 -0
  453. package/src/hooks/align.js +3 -2
  454. package/src/hooks/align.native.js +5 -8
  455. package/src/hooks/border.js +1 -0
  456. package/src/hooks/dimensions.js +32 -5
  457. package/src/hooks/font-size.js +76 -0
  458. package/src/hooks/layout.js +7 -9
  459. package/src/hooks/margin.js +20 -14
  460. package/src/hooks/padding.js +20 -16
  461. package/src/hooks/style.js +122 -3
  462. package/src/hooks/test/align.js +96 -72
  463. package/src/hooks/test/style.js +206 -1
  464. package/src/hooks/test/use-typography-props.js +22 -0
  465. package/src/hooks/use-typography-props.js +18 -3
  466. package/src/hooks/utils.js +10 -7
  467. package/src/layouts/constrained.js +0 -1
  468. package/src/layouts/flex.js +1 -1
  469. package/src/store/actions.js +24 -12
  470. package/src/store/array.js +1 -6
  471. package/src/store/defaults.js +3 -0
  472. package/src/store/reducer.js +31 -24
  473. package/src/store/selectors.js +28 -21
  474. package/src/store/test/actions.js +0 -9
  475. package/src/store/test/selectors.js +1 -1
  476. package/src/utils/math.js +17 -0
  477. package/src/utils/pre-parse-patterns.js +12 -7
  478. package/build/components/inserter/pattern-panel.js +0 -87
  479. package/build/components/inserter/pattern-panel.js.map +0 -1
  480. package/build-module/components/inserter/pattern-panel.js +0 -74
  481. package/build-module/components/inserter/pattern-panel.js.map +0 -1
  482. package/src/components/inserter/pattern-panel.js +0 -93
@@ -117,134 +117,116 @@ exports[`ColorPaletteControl matches the snapshot 1`] = `
117
117
  min-width: 0;
118
118
  }
119
119
 
120
- <div
121
- className="components-base-control block-editor-color-gradient-control emotion-0 emotion-1"
122
- >
120
+ <div>
123
121
  <div
124
- className="components-base-control__field emotion-2 emotion-3"
122
+ class="components-base-control block-editor-color-gradient-control emotion-0 emotion-1"
125
123
  >
126
- <fieldset
127
- className="block-editor-color-gradient-control__fieldset"
124
+ <div
125
+ class="components-base-control__field emotion-2 emotion-3"
128
126
  >
129
- <div
130
- className="components-flex components-h-stack components-v-stack emotion-4 emotion-5"
131
- data-wp-c16t={true}
132
- data-wp-component="VStack"
127
+ <fieldset
128
+ class="block-editor-color-gradient-control__fieldset"
133
129
  >
134
- <legend>
135
- <div
136
- className="block-editor-color-gradient-control__color-indicator"
137
- >
138
- <span
139
- className="components-base-control__label emotion-6 emotion-7"
140
- >
141
- Test Color
142
- </span>
143
- </div>
144
- </legend>
145
130
  <div
146
- className="block-editor-color-gradient-control__panel"
131
+ class="components-flex components-h-stack components-v-stack emotion-4 emotion-5"
132
+ data-wp-c16t="true"
133
+ data-wp-component="VStack"
147
134
  >
148
- <div
149
- className="components-flex components-h-stack components-v-stack emotion-8 emotion-5"
150
- data-wp-c16t={true}
151
- data-wp-component="VStack"
152
- >
135
+ <legend>
153
136
  <div
154
- className="components-dropdown"
155
- tabIndex="-1"
137
+ class="block-editor-color-gradient-control__color-indicator"
156
138
  >
157
- <button
158
- aria-expanded={false}
159
- aria-haspopup="true"
160
- aria-label="Custom color picker. The currently selected color is called \\"red\\" and has a value of \\"f00\\"."
161
- className="components-flex components-color-palette__custom-color emotion-10 emotion-5"
162
- data-wp-c16t={true}
163
- data-wp-component="Flex"
164
- onClick={[Function]}
165
- style={
166
- Object {
167
- "background": "#f00",
168
- "color": "#000",
169
- }
170
- }
139
+ <span
140
+ class="components-base-control__label emotion-6 emotion-7"
171
141
  >
172
- <span
173
- className="components-truncate components-flex-item components-color-palette__custom-color-name emotion-5 emotion-13 emotion-5"
174
- data-wp-c16t={true}
175
- data-wp-component="FlexItem"
176
- >
177
- red
178
- </span>
179
- <span
180
- className="components-flex-item components-color-palette__custom-color-value emotion-15 emotion-5"
181
- data-wp-c16t={true}
182
- data-wp-component="FlexItem"
183
- >
184
- f00
185
- </span>
186
- </button>
142
+ Test Color
143
+ </span>
187
144
  </div>
145
+ </legend>
146
+ <div
147
+ class="block-editor-color-gradient-control__panel"
148
+ >
188
149
  <div
189
- className="components-circular-option-picker"
150
+ class="components-flex components-h-stack components-v-stack emotion-8 emotion-5"
151
+ data-wp-c16t="true"
152
+ data-wp-component="VStack"
190
153
  >
191
154
  <div
192
- className="components-circular-option-picker__swatches"
155
+ class="components-dropdown"
156
+ tabindex="-1"
193
157
  >
194
- <div
195
- className="components-circular-option-picker__option-wrapper"
158
+ <button
159
+ aria-expanded="false"
160
+ aria-haspopup="true"
161
+ aria-label="Custom color picker. The currently selected color is called \\"red\\" and has a value of \\"f00\\"."
162
+ class="components-flex components-color-palette__custom-color emotion-10 emotion-5"
163
+ data-wp-c16t="true"
164
+ data-wp-component="Flex"
165
+ style="background: rgb(255, 0, 0); color: rgb(0, 0, 0);"
196
166
  >
197
- <button
198
- aria-describedby={null}
199
- aria-label="Color: red"
200
- aria-pressed={true}
201
- className="components-button components-circular-option-picker__option is-pressed"
202
- onBlur={[Function]}
203
- onClick={[Function]}
204
- onFocus={[Function]}
205
- onMouseDown={[Function]}
206
- onMouseEnter={[Function]}
207
- onMouseLeave={[Function]}
208
- style={
209
- Object {
210
- "backgroundColor": "#f00",
211
- "color": "#f00",
212
- }
213
- }
214
- type="button"
215
- />
216
- <svg
217
- aria-hidden={true}
218
- fill="#000"
219
- focusable={false}
220
- height={24}
221
- viewBox="0 0 24 24"
222
- width={24}
223
- xmlns="http://www.w3.org/2000/svg"
167
+ <span
168
+ class="components-truncate components-flex-item components-color-palette__custom-color-name emotion-5 emotion-13 emotion-5"
169
+ data-wp-c16t="true"
170
+ data-wp-component="FlexItem"
224
171
  >
225
- <path
226
- d="M16.7 7.1l-6.3 8.5-3.3-2.5-.9 1.2 4.5 3.4L17.9 8z"
227
- />
228
- </svg>
229
- </div>
172
+ red
173
+ </span>
174
+ <span
175
+ class="components-flex-item components-color-palette__custom-color-value emotion-15 emotion-5"
176
+ data-wp-c16t="true"
177
+ data-wp-component="FlexItem"
178
+ >
179
+ f00
180
+ </span>
181
+ </button>
230
182
  </div>
231
183
  <div
232
- className="components-circular-option-picker__custom-clear-wrapper"
184
+ class="components-circular-option-picker"
233
185
  >
234
- <button
235
- aria-describedby={null}
236
- className="components-button components-circular-option-picker__clear is-tertiary"
237
- onClick={[Function]}
238
- type="button"
186
+ <div
187
+ class="components-circular-option-picker__swatches"
239
188
  >
240
- Clear
241
- </button>
189
+ <div
190
+ class="components-circular-option-picker__option-wrapper"
191
+ >
192
+ <button
193
+ aria-label="Color: red"
194
+ aria-pressed="true"
195
+ class="components-button components-circular-option-picker__option is-pressed"
196
+ style="background-color: rgb(255, 0, 0); color: rgb(255, 0, 0);"
197
+ type="button"
198
+ />
199
+ <svg
200
+ aria-hidden="true"
201
+ fill="#000"
202
+ focusable="false"
203
+ height="24"
204
+ viewBox="0 0 24 24"
205
+ width="24"
206
+ xmlns="http://www.w3.org/2000/svg"
207
+ >
208
+ <path
209
+ d="M16.7 7.1l-6.3 8.5-3.3-2.5-.9 1.2 4.5 3.4L17.9 8z"
210
+ />
211
+ </svg>
212
+ </div>
213
+ </div>
214
+ <div
215
+ class="components-circular-option-picker__custom-clear-wrapper"
216
+ >
217
+ <button
218
+ class="components-button components-circular-option-picker__clear is-tertiary"
219
+ type="button"
220
+ >
221
+ Clear
222
+ </button>
223
+ </div>
242
224
  </div>
243
225
  </div>
244
226
  </div>
245
227
  </div>
246
- </div>
247
- </fieldset>
228
+ </fieldset>
229
+ </div>
248
230
  </div>
249
231
  </div>
250
232
  `;
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * External dependencies
3
3
  */
4
- import { create, act } from 'react-test-renderer';
4
+ import { render } from '@testing-library/react';
5
5
 
6
6
  /**
7
7
  * Internal dependencies
@@ -12,20 +12,16 @@ const noop = () => {};
12
12
 
13
13
  describe( 'ColorPaletteControl', () => {
14
14
  it( 'matches the snapshot', async () => {
15
- let root;
15
+ const { container } = render(
16
+ <ColorPaletteControl
17
+ label="Test Color"
18
+ value="#f00"
19
+ colors={ [ { color: '#f00', name: 'red' } ] }
20
+ disableCustomColors={ false }
21
+ onChange={ noop }
22
+ />
23
+ );
16
24
 
17
- await act( async () => {
18
- root = create(
19
- <ColorPaletteControl
20
- label="Test Color"
21
- value="#f00"
22
- colors={ [ { color: '#f00', name: 'red' } ] }
23
- disableCustomColors={ false }
24
- onChange={ noop }
25
- />
26
- );
27
- } );
28
-
29
- expect( root.toJSON() ).toMatchSnapshot();
25
+ expect( container ).toMatchSnapshot();
30
26
  } );
31
27
  } );
@@ -2,7 +2,7 @@
2
2
  * External dependencies
3
3
  */
4
4
  import classnames from 'classnames';
5
- import { every, isEmpty } from 'lodash';
5
+ import { isEmpty } from 'lodash';
6
6
 
7
7
  /**
8
8
  * WordPress dependencies
@@ -180,7 +180,7 @@ function ColorGradientControlSelect( props ) {
180
180
 
181
181
  function ColorGradientControl( props ) {
182
182
  if (
183
- every( colorsAndGradientKeys, ( key ) => props.hasOwnProperty( key ) )
183
+ colorsAndGradientKeys.every( ( key ) => props.hasOwnProperty( key ) )
184
184
  ) {
185
185
  return <ColorGradientControlInner { ...props } />;
186
186
  }
@@ -2,7 +2,7 @@
2
2
  * External dependencies
3
3
  */
4
4
  import classnames from 'classnames';
5
- import { every, isEmpty } from 'lodash';
5
+ import { isEmpty } from 'lodash';
6
6
 
7
7
  /**
8
8
  * WordPress dependencies
@@ -50,8 +50,7 @@ export const PanelColorGradientSettingsInner = ( {
50
50
  isEmpty( gradients ) &&
51
51
  disableCustomColors &&
52
52
  disableCustomGradients &&
53
- every(
54
- settings,
53
+ settings?.every(
55
54
  ( setting ) =>
56
55
  isEmpty( setting.colors ) &&
57
56
  isEmpty( setting.gradients ) &&
@@ -137,7 +136,7 @@ const PanelColorGradientSettingsMultipleSelect = ( props ) => {
137
136
 
138
137
  const PanelColorGradientSettings = ( props ) => {
139
138
  if (
140
- every( colorsAndGradientKeys, ( key ) => props.hasOwnProperty( key ) )
139
+ colorsAndGradientKeys.every( ( key ) => props.hasOwnProperty( key ) )
141
140
  ) {
142
141
  return <PanelColorGradientSettingsInner { ...props } />;
143
142
  }
@@ -2,7 +2,6 @@
2
2
  * External dependencies
3
3
  */
4
4
  import { render, screen } from '@testing-library/react';
5
- import { create, act } from 'react-test-renderer';
6
5
 
7
6
  /**
8
7
  * Internal dependencies
@@ -11,15 +10,6 @@ import ColorGradientControl from '../control';
11
10
 
12
11
  const noop = () => {};
13
12
 
14
- const getButtonWithAriaLabelStartPredicate =
15
- ( ariaLabelStart ) => ( element ) => {
16
- return (
17
- element.type === 'button' &&
18
- element.props[ 'aria-label' ] &&
19
- element.props[ 'aria-label' ].startsWith( ariaLabelStart )
20
- );
21
- };
22
-
23
13
  describe( 'ColorPaletteControl', () => {
24
14
  it( 'renders tabs if it is possible to select a color and a gradient rendering a color picker at the start', async () => {
25
15
  render(
@@ -64,25 +54,21 @@ describe( 'ColorPaletteControl', () => {
64
54
  } );
65
55
 
66
56
  it( 'renders the color picker and does not render tabs if it is only possible to select a color', async () => {
67
- let wrapper;
68
-
69
- await act( async () => {
70
- wrapper = create(
71
- <ColorGradientControl
72
- label="Test Color Gradient"
73
- colorValue="#f00"
74
- colors={ [
75
- { color: '#f00', name: 'red' },
76
- { color: '#0f0', name: 'green' },
77
- ] }
78
- gradients={ [] }
79
- disableCustomColors={ false }
80
- disableCustomGradients={ true }
81
- onColorChange={ noop }
82
- onGradientChange={ noop }
83
- />
84
- );
85
- } );
57
+ render(
58
+ <ColorGradientControl
59
+ label="Test Color Gradient"
60
+ colorValue="#f00"
61
+ colors={ [
62
+ { color: '#f00', name: 'red' },
63
+ { color: '#0f0', name: 'green' },
64
+ ] }
65
+ gradients={ [] }
66
+ disableCustomColors={ false }
67
+ disableCustomGradients={ true }
68
+ onColorChange={ noop }
69
+ onGradientChange={ noop }
70
+ />
71
+ );
86
72
 
87
73
  // Is not showing the two tab buttons.
88
74
  expect(
@@ -93,43 +79,35 @@ describe( 'ColorPaletteControl', () => {
93
79
  ).not.toBeInTheDocument();
94
80
 
95
81
  // Is showing the two predefined Colors.
96
- expect(
97
- wrapper.root.findAll(
98
- getButtonWithAriaLabelStartPredicate( 'Color:' )
99
- )
100
- ).toHaveLength( 2 );
82
+ expect( screen.getAllByLabelText( /^Color:/ ) ).toHaveLength( 2 );
101
83
  } );
102
84
 
103
85
  it( 'renders the gradient picker and does not render tabs if it is only possible to select a gradient', async () => {
104
- let wrapper;
105
-
106
- await act( async () => {
107
- wrapper = create(
108
- <ColorGradientControl
109
- label="Test Color Gradient"
110
- colorValue="#f00"
111
- colors={ [] }
112
- gradients={ [
113
- {
114
- gradient:
115
- 'linear-gradient(135deg,rgba(6,147,227,1) 0%,rgb(155,81,224) 100%',
116
- name: 'Vivid cyan blue to vivid purple',
117
- slug: 'vivid-cyan-blue-to-vivid-purple',
118
- },
119
- {
120
- gradient:
121
- 'linear-gradient(135deg,rgb(122,220,180) 0%,rgb(0,208,130) 100%)',
122
- name: 'Light green cyan to vivid green cyan',
123
- slug: 'light-green-cyan-to-vivid-green-cyan',
124
- },
125
- ] }
126
- disableCustomColors={ true }
127
- disableCustomGradients={ false }
128
- onColorChange={ noop }
129
- onGradientChange={ noop }
130
- />
131
- );
132
- } );
86
+ render(
87
+ <ColorGradientControl
88
+ label="Test Color Gradient"
89
+ colorValue="#f00"
90
+ colors={ [] }
91
+ gradients={ [
92
+ {
93
+ gradient:
94
+ 'linear-gradient(135deg,rgba(6,147,227,1) 0%,rgb(155,81,224) 100%',
95
+ name: 'Vivid cyan blue to vivid purple',
96
+ slug: 'vivid-cyan-blue-to-vivid-purple',
97
+ },
98
+ {
99
+ gradient:
100
+ 'linear-gradient(135deg,rgb(122,220,180) 0%,rgb(0,208,130) 100%)',
101
+ name: 'Light green cyan to vivid green cyan',
102
+ slug: 'light-green-cyan-to-vivid-green-cyan',
103
+ },
104
+ ] }
105
+ disableCustomColors={ true }
106
+ disableCustomGradients={ false }
107
+ onColorChange={ noop }
108
+ onGradientChange={ noop }
109
+ />
110
+ );
133
111
 
134
112
  // Is not showing the two tab buttons.
135
113
  expect(
@@ -140,22 +118,16 @@ describe( 'ColorPaletteControl', () => {
140
118
  ).not.toBeInTheDocument();
141
119
 
142
120
  // Is showing the two predefined Gradients.
143
- expect(
144
- wrapper.root.findAll(
145
- getButtonWithAriaLabelStartPredicate( 'Gradient:' )
146
- )
147
- ).toHaveLength( 2 );
121
+ expect( screen.getAllByLabelText( /^Gradient:/ ) ).toHaveLength( 2 );
148
122
 
149
123
  // Is showing the custom gradient picker.
150
124
  expect(
151
- wrapper.root.findAll(
152
- ( element ) =>
153
- element.props &&
154
- element.props.className &&
155
- element.props.className.includes(
156
- 'components-custom-gradient-picker'
157
- )
158
- ).length
159
- ).toBeGreaterThanOrEqual( 1 );
125
+ screen.getAllByRole( 'button', {
126
+ expanded: false,
127
+ name: /^Gradient control point at position/,
128
+ } )[ 0 ]
129
+ ).toHaveClass(
130
+ 'components-custom-gradient-picker__control-point-button'
131
+ );
160
132
  } );
161
133
  } );
@@ -36,7 +36,7 @@ function DuotoneControl( {
36
36
  popoverProps={ {
37
37
  className: 'block-editor-duotone-control__popover',
38
38
  headerTitle: __( 'Duotone' ),
39
- isAlternate: true,
39
+ variant: 'toolbar',
40
40
  } }
41
41
  renderToggle={ ( { isOpen, onToggle } ) => {
42
42
  const openOnArrowDown = ( event ) => {