@wordpress/block-editor 7.0.1-next.5df0cd52b7.0 → 7.0.4

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 (905) hide show
  1. package/README.md +16 -4
  2. package/build/components/alignment-control/ui.js +2 -1
  3. package/build/components/alignment-control/ui.js.map +1 -1
  4. package/build/components/autocomplete/index.js +1 -1
  5. package/build/components/autocomplete/index.js.map +1 -1
  6. package/build/components/block-actions/index.js +8 -4
  7. package/build/components/block-actions/index.js.map +1 -1
  8. package/build/components/block-alignment-control/ui.js +61 -14
  9. package/build/components/block-alignment-control/ui.js.map +1 -1
  10. package/build/components/block-alignment-control/use-available-alignments.js +25 -3
  11. package/build/components/block-alignment-control/use-available-alignments.js.map +1 -1
  12. package/build/components/block-content-overlay/index.js +2 -4
  13. package/build/components/block-content-overlay/index.js.map +1 -1
  14. package/build/components/block-controls/fill.js +6 -6
  15. package/build/components/block-controls/fill.js.map +1 -1
  16. package/build/components/block-controls/groups.js +3 -1
  17. package/build/components/block-controls/groups.js.map +1 -1
  18. package/build/components/block-controls/hook.js +57 -0
  19. package/build/components/block-controls/hook.js.map +1 -0
  20. package/build/components/block-edit/context.js +6 -5
  21. package/build/components/block-edit/context.js.map +1 -1
  22. package/build/components/block-edit/edit.js +1 -1
  23. package/build/components/block-edit/edit.js.map +1 -1
  24. package/build/components/block-icon/index.native.js +13 -9
  25. package/build/components/block-icon/index.native.js.map +1 -1
  26. package/build/components/block-inspector/index.js +10 -7
  27. package/build/components/block-inspector/index.js.map +1 -1
  28. package/build/components/block-list/block-html.js +5 -0
  29. package/build/components/block-list/block-html.js.map +1 -1
  30. package/build/components/block-list/block-list-item.native.js +31 -12
  31. package/build/components/block-list/block-list-item.native.js.map +1 -1
  32. package/build/components/block-list/block-selection-button.native.js +4 -4
  33. package/build/components/block-list/block-selection-button.native.js.map +1 -1
  34. package/build/components/block-list/block.js +15 -9
  35. package/build/components/block-list/block.js.map +1 -1
  36. package/build/components/block-list/block.native.js +6 -7
  37. package/build/components/block-list/block.native.js.map +1 -1
  38. package/build/components/block-list/grid-item.native.js +68 -0
  39. package/build/components/block-list/grid-item.native.js.map +1 -0
  40. package/build/components/block-list/index.js +19 -15
  41. package/build/components/block-list/index.js.map +1 -1
  42. package/build/components/block-list/index.native.js +12 -8
  43. package/build/components/block-list/index.native.js.map +1 -1
  44. package/build/components/block-list/use-block-props/index.js +6 -6
  45. package/build/components/block-list/use-block-props/index.js.map +1 -1
  46. package/build/components/block-list/use-block-props/use-block-custom-class-name.js +4 -6
  47. package/build/components/block-list/use-block-props/use-block-custom-class-name.js.map +1 -1
  48. package/build/components/block-list/use-block-props/use-block-default-class-name.js +1 -1
  49. package/build/components/block-list/use-block-props/use-block-default-class-name.js.map +1 -1
  50. package/build/components/block-list/use-block-props/use-multi-selection.js +4 -2
  51. package/build/components/block-list/use-block-props/use-multi-selection.js.map +1 -1
  52. package/build/components/block-list/use-in-between-inserter.js +9 -1
  53. package/build/components/block-list/use-in-between-inserter.js.map +1 -1
  54. package/build/components/block-list-appender/index.js +9 -1
  55. package/build/components/block-list-appender/index.js.map +1 -1
  56. package/build/components/block-mover/index.js +4 -4
  57. package/build/components/block-mover/index.js.map +1 -1
  58. package/build/components/block-mover/index.native.js +4 -4
  59. package/build/components/block-mover/index.native.js.map +1 -1
  60. package/build/components/block-preview/auto.js +42 -14
  61. package/build/components/block-preview/auto.js.map +1 -1
  62. package/build/components/block-settings-menu/block-settings-dropdown.js +4 -3
  63. package/build/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
  64. package/build/components/block-settings-menu-controls/index.js +10 -3
  65. package/build/components/block-settings-menu-controls/index.js.map +1 -1
  66. package/build/components/block-styles/index.js +5 -1
  67. package/build/components/block-styles/index.js.map +1 -1
  68. package/build/components/block-styles/preview.native.js +1 -1
  69. package/build/components/block-styles/preview.native.js.map +1 -1
  70. package/build/components/block-switcher/block-styles-menu.js +1 -1
  71. package/build/components/block-switcher/block-styles-menu.js.map +1 -1
  72. package/build/components/block-switcher/index.js +10 -3
  73. package/build/components/block-switcher/index.js.map +1 -1
  74. package/build/components/block-title/index.js +3 -2
  75. package/build/components/block-title/index.js.map +1 -1
  76. package/build/components/block-toolbar/index.js +3 -0
  77. package/build/components/block-toolbar/index.js.map +1 -1
  78. package/build/components/block-tools/block-contextual-toolbar.js +1 -1
  79. package/build/components/block-tools/block-contextual-toolbar.js.map +1 -1
  80. package/build/components/block-tools/block-popover.js +8 -7
  81. package/build/components/block-tools/block-popover.js.map +1 -1
  82. package/build/components/block-tools/block-selection-button.js +2 -4
  83. package/build/components/block-tools/block-selection-button.js.map +1 -1
  84. package/build/components/block-tools/index.js +4 -1
  85. package/build/components/block-tools/index.js.map +1 -1
  86. package/build/components/block-tools/insertion-point.js +96 -7
  87. package/build/components/block-tools/insertion-point.js.map +1 -1
  88. package/build/components/block-types-list/index.native.js +3 -2
  89. package/build/components/block-types-list/index.native.js.map +1 -1
  90. package/build/components/border-radius-control/index.js.map +1 -1
  91. package/build/components/border-radius-control/utils.js +17 -8
  92. package/build/components/border-radius-control/utils.js.map +1 -1
  93. package/build/components/colors/utils.js +11 -3
  94. package/build/components/colors/utils.js.map +1 -1
  95. package/build/components/colors-gradients/control.js +17 -13
  96. package/build/components/colors-gradients/control.js.map +1 -1
  97. package/build/components/colors-gradients/panel-color-gradient-settings.js +2 -1
  98. package/build/components/colors-gradients/panel-color-gradient-settings.js.map +1 -1
  99. package/build/components/contrast-checker/index.js +18 -12
  100. package/build/components/contrast-checker/index.js.map +1 -1
  101. package/build/components/copy-handler/index.js +9 -3
  102. package/build/components/copy-handler/index.js.map +1 -1
  103. package/build/components/default-block-appender/index.js +2 -2
  104. package/build/components/default-block-appender/index.js.map +1 -1
  105. package/build/components/duotone-control/index.js +38 -39
  106. package/build/components/duotone-control/index.js.map +1 -1
  107. package/build/components/editor-styles/index.js +9 -3
  108. package/build/components/editor-styles/index.js.map +1 -1
  109. package/build/components/font-appearance-control/index.js +27 -7
  110. package/build/components/font-appearance-control/index.js.map +1 -1
  111. package/build/components/font-sizes/index.native.js +24 -0
  112. package/build/components/font-sizes/index.native.js.map +1 -1
  113. package/build/components/iframe/index.js +45 -62
  114. package/build/components/iframe/index.js.map +1 -1
  115. package/build/components/image-editor/aspect-ratio-dropdown.js +126 -0
  116. package/build/components/image-editor/aspect-ratio-dropdown.js.map +1 -0
  117. package/build/components/image-editor/constants.js +16 -0
  118. package/build/components/image-editor/constants.js.map +1 -0
  119. package/build/components/image-editor/context.js +59 -0
  120. package/build/components/image-editor/context.js.map +1 -0
  121. package/build/components/image-editor/cropper.js +83 -0
  122. package/build/components/image-editor/cropper.js.map +1 -0
  123. package/build/components/image-editor/form-controls.js +36 -0
  124. package/build/components/image-editor/form-controls.js.map +1 -0
  125. package/build/components/image-editor/index.js +60 -0
  126. package/build/components/image-editor/index.js.map +1 -0
  127. package/build/components/image-editor/rotation-button.js +37 -0
  128. package/build/components/image-editor/rotation-button.js.map +1 -0
  129. package/build/components/image-editor/use-save-image.js +84 -0
  130. package/build/components/image-editor/use-save-image.js.map +1 -0
  131. package/build/components/image-editor/use-transform-image.js +135 -0
  132. package/build/components/image-editor/use-transform-image.js.map +1 -0
  133. package/build/components/image-editor/zoom-dropdown.js +55 -0
  134. package/build/components/image-editor/zoom-dropdown.js.map +1 -0
  135. package/build/components/image-size-control/use-dimension-handler.js +14 -3
  136. package/build/components/image-size-control/use-dimension-handler.js.map +1 -1
  137. package/build/components/index.js +22 -35
  138. package/build/components/index.js.map +1 -1
  139. package/build/components/index.native.js +12 -7
  140. package/build/components/index.native.js.map +1 -1
  141. package/build/components/inner-blocks/button-block-appender.js +11 -1
  142. package/build/components/inner-blocks/button-block-appender.js.map +1 -1
  143. package/build/components/inner-blocks/index.js +23 -6
  144. package/build/components/inner-blocks/index.js.map +1 -1
  145. package/build/components/inner-blocks/index.native.js +38 -1
  146. package/build/components/inner-blocks/index.native.js.map +1 -1
  147. package/build/components/inner-blocks/use-nested-settings-update.js +24 -13
  148. package/build/components/inner-blocks/use-nested-settings-update.js.map +1 -1
  149. package/build/components/inserter/block-patterns-tab.js +11 -1
  150. package/build/components/inserter/block-patterns-tab.js.map +1 -1
  151. package/build/components/inserter/block-types-tab.native.js +3 -6
  152. package/build/components/inserter/block-types-tab.native.js.map +1 -1
  153. package/build/components/inserter/hooks/use-clipboard-block.native.js +5 -4
  154. package/build/components/inserter/hooks/use-clipboard-block.native.js.map +1 -1
  155. package/build/components/inserter/index.js +12 -4
  156. package/build/components/inserter/index.js.map +1 -1
  157. package/build/components/inserter/index.native.js +1 -7
  158. package/build/components/inserter/index.native.js.map +1 -1
  159. package/build/components/inserter/library.js +2 -0
  160. package/build/components/inserter/library.js.map +1 -1
  161. package/build/components/inserter/menu.js +2 -1
  162. package/build/components/inserter/menu.js.map +1 -1
  163. package/build/components/inserter/menu.native.js +18 -17
  164. package/build/components/inserter/menu.native.js.map +1 -1
  165. package/build/components/inserter/preview-panel.js +1 -1
  166. package/build/components/inserter/preview-panel.js.map +1 -1
  167. package/build/components/inserter/quick-inserter.js +2 -1
  168. package/build/components/inserter/quick-inserter.js.map +1 -1
  169. package/build/components/inserter/reusable-blocks-tab.native.js +5 -6
  170. package/build/components/inserter/reusable-blocks-tab.native.js.map +1 -1
  171. package/build/components/inserter/search-results.native.js +9 -2
  172. package/build/components/inserter/search-results.native.js.map +1 -1
  173. package/build/components/inserter/tabs.native.js +1 -4
  174. package/build/components/inserter/tabs.native.js.map +1 -1
  175. package/build/components/inserter/utils.native.js +44 -0
  176. package/build/components/inserter/utils.native.js.map +1 -0
  177. package/build/components/inspector-controls/block-support-slot-container.js +28 -0
  178. package/build/components/inspector-controls/block-support-slot-container.js.map +1 -0
  179. package/build/components/inspector-controls/block-support-tools-panel.js +78 -0
  180. package/build/components/inspector-controls/block-support-tools-panel.js.map +1 -0
  181. package/build/components/inspector-controls/fill.js +64 -0
  182. package/build/components/inspector-controls/fill.js.map +1 -0
  183. package/build/components/inspector-controls/{index.native.js → fill.native.js} +20 -19
  184. package/build/components/inspector-controls/fill.native.js.map +1 -0
  185. package/build/components/inspector-controls/groups.js +23 -0
  186. package/build/components/inspector-controls/groups.js.map +1 -0
  187. package/build/components/inspector-controls/index.js +22 -20
  188. package/build/components/inspector-controls/index.js.map +1 -1
  189. package/build/components/inspector-controls/slot.js +67 -0
  190. package/build/components/inspector-controls/slot.js.map +1 -0
  191. package/build/components/inspector-controls/slot.native.js +38 -0
  192. package/build/components/inspector-controls/slot.native.js.map +1 -0
  193. package/build/components/line-height-control/index.native.js +39 -0
  194. package/build/components/line-height-control/index.native.js.map +1 -0
  195. package/build/components/link-control/index.js +11 -5
  196. package/build/components/link-control/index.js.map +1 -1
  197. package/build/components/link-control/link-preview.js +26 -9
  198. package/build/components/link-control/link-preview.js.map +1 -1
  199. package/build/components/link-control/search-input.js +13 -4
  200. package/build/components/link-control/search-input.js.map +1 -1
  201. package/build/components/list-view/block-contents.js +1 -20
  202. package/build/components/list-view/block-contents.js.map +1 -1
  203. package/build/components/list-view/block.js +7 -48
  204. package/build/components/list-view/block.js.map +1 -1
  205. package/build/components/list-view/branch.js +20 -13
  206. package/build/components/list-view/branch.js.map +1 -1
  207. package/build/components/list-view/index.js +21 -14
  208. package/build/components/list-view/index.js.map +1 -1
  209. package/build/components/list-view/leaf.js +1 -1
  210. package/build/components/list-view/leaf.js.map +1 -1
  211. package/build/components/list-view/list-item.js +3 -2
  212. package/build/components/list-view/list-item.js.map +1 -1
  213. package/build/components/list-view/use-list-view-client-ids.js +24 -15
  214. package/build/components/list-view/use-list-view-client-ids.js.map +1 -1
  215. package/build/components/media-placeholder/index.js +35 -21
  216. package/build/components/media-placeholder/index.js.map +1 -1
  217. package/build/components/media-placeholder/index.native.js +2 -1
  218. package/build/components/media-placeholder/index.native.js.map +1 -1
  219. package/build/components/media-replace-flow/index.js +5 -3
  220. package/build/components/media-replace-flow/index.js.map +1 -1
  221. package/build/components/navigable-toolbar/index.js +1 -4
  222. package/build/components/navigable-toolbar/index.js.map +1 -1
  223. package/build/components/observe-typing/index.js +1 -1
  224. package/build/components/observe-typing/index.js.map +1 -1
  225. package/build/components/plain-text/index.native.js +30 -1
  226. package/build/components/plain-text/index.native.js.map +1 -1
  227. package/build/components/rich-text/embed-handler-picker.native.js +65 -0
  228. package/build/components/rich-text/embed-handler-picker.native.js.map +1 -0
  229. package/build/components/rich-text/format-toolbar/index.js +31 -11
  230. package/build/components/rich-text/format-toolbar/index.js.map +1 -1
  231. package/build/components/rich-text/index.js +29 -7
  232. package/build/components/rich-text/index.js.map +1 -1
  233. package/build/components/rich-text/index.native.js +43 -5
  234. package/build/components/rich-text/index.native.js.map +1 -1
  235. package/build/components/rich-text/input-event.js +25 -24
  236. package/build/components/rich-text/input-event.js.map +1 -1
  237. package/build/components/rich-text/shortcut.js +23 -9
  238. package/build/components/rich-text/shortcut.js.map +1 -1
  239. package/build/components/rich-text/use-input-events.js +27 -0
  240. package/build/components/rich-text/use-input-events.js.map +1 -0
  241. package/build/components/rich-text/use-paste-handler.js +45 -10
  242. package/build/components/rich-text/use-paste-handler.js.map +1 -1
  243. package/build/components/rich-text/use-shortcuts.js +27 -0
  244. package/build/components/rich-text/use-shortcuts.js.map +1 -0
  245. package/build/components/rich-text/utils.js +22 -0
  246. package/build/components/rich-text/utils.js.map +1 -1
  247. package/build/components/typewriter/index.js +1 -1
  248. package/build/components/typewriter/index.js.map +1 -1
  249. package/build/components/url-input/index.js +14 -7
  250. package/build/components/url-input/index.js.map +1 -1
  251. package/build/components/use-display-block-controls/index.js +5 -7
  252. package/build/components/use-display-block-controls/index.js.map +1 -1
  253. package/build/components/use-moving-animation/index.js +13 -10
  254. package/build/components/use-moving-animation/index.js.map +1 -1
  255. package/build/components/use-on-block-drop/index.js +2 -1
  256. package/build/components/use-on-block-drop/index.js.map +1 -1
  257. package/build/components/use-resize-canvas/index.js +2 -13
  258. package/build/components/use-resize-canvas/index.js.map +1 -1
  259. package/build/components/use-setting/index.js +3 -7
  260. package/build/components/use-setting/index.js.map +1 -1
  261. package/build/components/writing-flow/use-multi-selection.js +6 -0
  262. package/build/components/writing-flow/use-multi-selection.js.map +1 -1
  263. package/build/components/writing-flow/use-tab-nav.js +18 -3
  264. package/build/components/writing-flow/use-tab-nav.js.map +1 -1
  265. package/build/hooks/align.js +14 -14
  266. package/build/hooks/align.js.map +1 -1
  267. package/build/hooks/anchor.js +4 -2
  268. package/build/hooks/anchor.js.map +1 -1
  269. package/build/hooks/border-color.js +9 -5
  270. package/build/hooks/border-color.js.map +1 -1
  271. package/build/hooks/color-panel.js +4 -2
  272. package/build/hooks/color-panel.js.map +1 -1
  273. package/build/hooks/color.js +6 -4
  274. package/build/hooks/color.js.map +1 -1
  275. package/build/hooks/compat.js +23 -0
  276. package/build/hooks/compat.js.map +1 -0
  277. package/build/hooks/custom-class-name.js +3 -1
  278. package/build/hooks/custom-class-name.js.map +1 -1
  279. package/build/hooks/dimensions.js +63 -28
  280. package/build/hooks/dimensions.js.map +1 -1
  281. package/build/hooks/duotone.js +47 -13
  282. package/build/hooks/duotone.js.map +1 -1
  283. package/build/hooks/font-family.js +93 -23
  284. package/build/hooks/font-family.js.map +1 -1
  285. package/build/hooks/gap.js +163 -0
  286. package/build/hooks/gap.js.map +1 -0
  287. package/build/hooks/index.js +4 -0
  288. package/build/hooks/index.js.map +1 -1
  289. package/build/hooks/index.native.js +2 -0
  290. package/build/hooks/index.native.js.map +1 -1
  291. package/build/hooks/layout.js +47 -30
  292. package/build/hooks/layout.js.map +1 -1
  293. package/build/hooks/letter-spacing.js +1 -1
  294. package/build/hooks/letter-spacing.js.map +1 -1
  295. package/build/hooks/lock.js +43 -0
  296. package/build/hooks/lock.js.map +1 -0
  297. package/build/hooks/margin.js +5 -2
  298. package/build/hooks/margin.js.map +1 -1
  299. package/build/hooks/padding.js +5 -2
  300. package/build/hooks/padding.js.map +1 -1
  301. package/build/hooks/style.js +39 -11
  302. package/build/hooks/style.js.map +1 -1
  303. package/build/hooks/typography.js +1 -1
  304. package/build/hooks/typography.js.map +1 -1
  305. package/build/hooks/typography.native.js +60 -0
  306. package/build/hooks/typography.native.js.map +1 -0
  307. package/build/layouts/flex.js +121 -9
  308. package/build/layouts/flex.js.map +1 -1
  309. package/build/layouts/flow.js +99 -6
  310. package/build/layouts/flow.js.map +1 -1
  311. package/build/store/actions.js +40 -13
  312. package/build/store/actions.js.map +1 -1
  313. package/build/store/defaults.js +2 -0
  314. package/build/store/defaults.js.map +1 -1
  315. package/build/store/defaults.native.js +16 -1
  316. package/build/store/defaults.native.js.map +1 -1
  317. package/build/store/reducer.js +164 -114
  318. package/build/store/reducer.js.map +1 -1
  319. package/build/store/selectors.js +161 -82
  320. package/build/store/selectors.js.map +1 -1
  321. package/build/utils/index.js +10 -1
  322. package/build/utils/index.js.map +1 -1
  323. package/build/utils/parse-css-unit-to-px.js +295 -0
  324. package/build/utils/parse-css-unit-to-px.js.map +1 -0
  325. package/build/utils/transform-styles/transforms/wrap.js +16 -0
  326. package/build/utils/transform-styles/transforms/wrap.js.map +1 -1
  327. package/build-module/components/alignment-control/ui.js +2 -1
  328. package/build-module/components/alignment-control/ui.js.map +1 -1
  329. package/build-module/components/autocomplete/index.js +2 -2
  330. package/build-module/components/autocomplete/index.js.map +1 -1
  331. package/build-module/components/block-actions/index.js +8 -4
  332. package/build-module/components/block-actions/index.js.map +1 -1
  333. package/build-module/components/block-alignment-control/ui.js +64 -17
  334. package/build-module/components/block-alignment-control/ui.js.map +1 -1
  335. package/build-module/components/block-alignment-control/use-available-alignments.js +25 -3
  336. package/build-module/components/block-alignment-control/use-available-alignments.js.map +1 -1
  337. package/build-module/components/block-content-overlay/index.js +2 -4
  338. package/build-module/components/block-content-overlay/index.js.map +1 -1
  339. package/build-module/components/block-controls/fill.js +6 -5
  340. package/build-module/components/block-controls/fill.js.map +1 -1
  341. package/build-module/components/block-controls/groups.js +3 -1
  342. package/build-module/components/block-controls/groups.js.map +1 -1
  343. package/build-module/components/block-controls/hook.js +42 -0
  344. package/build-module/components/block-controls/hook.js.map +1 -0
  345. package/build-module/components/block-edit/context.js +4 -4
  346. package/build-module/components/block-edit/context.js.map +1 -1
  347. package/build-module/components/block-edit/edit.js +1 -1
  348. package/build-module/components/block-edit/edit.js.map +1 -1
  349. package/build-module/components/block-icon/index.native.js +14 -9
  350. package/build-module/components/block-icon/index.native.js.map +1 -1
  351. package/build-module/components/block-inspector/index.js +8 -6
  352. package/build-module/components/block-inspector/index.js.map +1 -1
  353. package/build-module/components/block-list/block-html.js +5 -0
  354. package/build-module/components/block-list/block-html.js.map +1 -1
  355. package/build-module/components/block-list/block-list-item.native.js +30 -12
  356. package/build-module/components/block-list/block-list-item.native.js.map +1 -1
  357. package/build-module/components/block-list/block-selection-button.native.js +3 -4
  358. package/build-module/components/block-list/block-selection-button.native.js.map +1 -1
  359. package/build-module/components/block-list/block.js +16 -10
  360. package/build-module/components/block-list/block.js.map +1 -1
  361. package/build-module/components/block-list/block.native.js +6 -7
  362. package/build-module/components/block-list/block.native.js.map +1 -1
  363. package/build-module/components/block-list/grid-item.native.js +57 -0
  364. package/build-module/components/block-list/grid-item.native.js.map +1 -0
  365. package/build-module/components/block-list/index.js +17 -14
  366. package/build-module/components/block-list/index.js.map +1 -1
  367. package/build-module/components/block-list/index.native.js +12 -8
  368. package/build-module/components/block-list/index.native.js.map +1 -1
  369. package/build-module/components/block-list/use-block-props/index.js +7 -7
  370. package/build-module/components/block-list/use-block-props/index.js.map +1 -1
  371. package/build-module/components/block-list/use-block-props/use-block-custom-class-name.js +5 -7
  372. package/build-module/components/block-list/use-block-props/use-block-custom-class-name.js.map +1 -1
  373. package/build-module/components/block-list/use-block-props/use-block-default-class-name.js +2 -2
  374. package/build-module/components/block-list/use-block-props/use-block-default-class-name.js.map +1 -1
  375. package/build-module/components/block-list/use-block-props/use-multi-selection.js +4 -2
  376. package/build-module/components/block-list/use-block-props/use-multi-selection.js.map +1 -1
  377. package/build-module/components/block-list/use-in-between-inserter.js +9 -1
  378. package/build-module/components/block-list/use-in-between-inserter.js.map +1 -1
  379. package/build-module/components/block-list-appender/index.js +9 -1
  380. package/build-module/components/block-list-appender/index.js.map +1 -1
  381. package/build-module/components/block-mover/index.js +4 -4
  382. package/build-module/components/block-mover/index.js.map +1 -1
  383. package/build-module/components/block-mover/index.native.js +4 -4
  384. package/build-module/components/block-mover/index.native.js.map +1 -1
  385. package/build-module/components/block-preview/auto.js +40 -16
  386. package/build-module/components/block-preview/auto.js.map +1 -1
  387. package/build-module/components/block-settings-menu/block-settings-dropdown.js +4 -3
  388. package/build-module/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
  389. package/build-module/components/block-settings-menu-controls/index.js +10 -3
  390. package/build-module/components/block-settings-menu-controls/index.js.map +1 -1
  391. package/build-module/components/block-styles/index.js +5 -1
  392. package/build-module/components/block-styles/index.js.map +1 -1
  393. package/build-module/components/block-styles/preview.native.js +1 -1
  394. package/build-module/components/block-styles/preview.native.js.map +1 -1
  395. package/build-module/components/block-switcher/block-styles-menu.js +1 -1
  396. package/build-module/components/block-switcher/block-styles-menu.js.map +1 -1
  397. package/build-module/components/block-switcher/index.js +10 -3
  398. package/build-module/components/block-switcher/index.js.map +1 -1
  399. package/build-module/components/block-title/index.js +3 -2
  400. package/build-module/components/block-title/index.js.map +1 -1
  401. package/build-module/components/block-toolbar/index.js +3 -0
  402. package/build-module/components/block-toolbar/index.js.map +1 -1
  403. package/build-module/components/block-tools/block-contextual-toolbar.js +1 -1
  404. package/build-module/components/block-tools/block-contextual-toolbar.js.map +1 -1
  405. package/build-module/components/block-tools/block-popover.js +9 -8
  406. package/build-module/components/block-tools/block-popover.js.map +1 -1
  407. package/build-module/components/block-tools/block-selection-button.js +2 -4
  408. package/build-module/components/block-tools/block-selection-button.js.map +1 -1
  409. package/build-module/components/block-tools/index.js +4 -1
  410. package/build-module/components/block-tools/index.js.map +1 -1
  411. package/build-module/components/block-tools/insertion-point.js +96 -8
  412. package/build-module/components/block-tools/insertion-point.js.map +1 -1
  413. package/build-module/components/block-types-list/index.native.js +3 -2
  414. package/build-module/components/block-types-list/index.native.js.map +1 -1
  415. package/build-module/components/border-radius-control/index.js.map +1 -1
  416. package/build-module/components/border-radius-control/utils.js +16 -9
  417. package/build-module/components/border-radius-control/utils.js.map +1 -1
  418. package/build-module/components/colors/utils.js +9 -3
  419. package/build-module/components/colors/utils.js.map +1 -1
  420. package/build-module/components/colors-gradients/control.js +18 -14
  421. package/build-module/components/colors-gradients/control.js.map +1 -1
  422. package/build-module/components/colors-gradients/panel-color-gradient-settings.js +2 -1
  423. package/build-module/components/colors-gradients/panel-color-gradient-settings.js.map +1 -1
  424. package/build-module/components/contrast-checker/index.js +13 -10
  425. package/build-module/components/contrast-checker/index.js.map +1 -1
  426. package/build-module/components/copy-handler/index.js +9 -3
  427. package/build-module/components/copy-handler/index.js.map +1 -1
  428. package/build-module/components/default-block-appender/index.js +2 -2
  429. package/build-module/components/default-block-appender/index.js.map +1 -1
  430. package/build-module/components/duotone-control/index.js +40 -39
  431. package/build-module/components/duotone-control/index.js.map +1 -1
  432. package/build-module/components/editor-styles/index.js +7 -3
  433. package/build-module/components/editor-styles/index.js.map +1 -1
  434. package/build-module/components/font-appearance-control/index.js +27 -7
  435. package/build-module/components/font-appearance-control/index.js.map +1 -1
  436. package/build-module/components/font-sizes/index.native.js +3 -1
  437. package/build-module/components/font-sizes/index.native.js.map +1 -1
  438. package/build-module/components/iframe/index.js +46 -64
  439. package/build-module/components/iframe/index.js.map +1 -1
  440. package/build-module/components/image-editor/aspect-ratio-dropdown.js +115 -0
  441. package/build-module/components/image-editor/aspect-ratio-dropdown.js.map +1 -0
  442. package/build-module/components/image-editor/constants.js +7 -0
  443. package/build-module/components/image-editor/constants.js.map +1 -0
  444. package/build-module/components/image-editor/context.js +44 -0
  445. package/build-module/components/image-editor/context.js.map +1 -0
  446. package/build-module/components/image-editor/cropper.js +69 -0
  447. package/build-module/components/image-editor/cropper.js.map +1 -0
  448. package/build-module/components/image-editor/form-controls.js +26 -0
  449. package/build-module/components/image-editor/form-controls.js.map +1 -0
  450. package/build-module/components/image-editor/index.js +37 -0
  451. package/build-module/components/image-editor/index.js.map +1 -0
  452. package/build-module/components/image-editor/rotation-button.js +26 -0
  453. package/build-module/components/image-editor/rotation-button.js.map +1 -0
  454. package/build-module/components/image-editor/use-save-image.js +70 -0
  455. package/build-module/components/image-editor/use-save-image.js.map +1 -0
  456. package/build-module/components/image-editor/use-transform-image.js +127 -0
  457. package/build-module/components/image-editor/use-transform-image.js.map +1 -0
  458. package/build-module/components/image-editor/zoom-dropdown.js +43 -0
  459. package/build-module/components/image-editor/zoom-dropdown.js.map +1 -0
  460. package/build-module/components/image-size-control/use-dimension-handler.js +13 -2
  461. package/build-module/components/image-size-control/use-dimension-handler.js.map +1 -1
  462. package/build-module/components/index.js +2 -5
  463. package/build-module/components/index.js.map +1 -1
  464. package/build-module/components/index.native.js +2 -3
  465. package/build-module/components/index.native.js.map +1 -1
  466. package/build-module/components/inner-blocks/button-block-appender.js +10 -1
  467. package/build-module/components/inner-blocks/button-block-appender.js.map +1 -1
  468. package/build-module/components/inner-blocks/index.js +24 -7
  469. package/build-module/components/inner-blocks/index.js.map +1 -1
  470. package/build-module/components/inner-blocks/index.native.js +36 -1
  471. package/build-module/components/inner-blocks/index.native.js.map +1 -1
  472. package/build-module/components/inner-blocks/use-nested-settings-update.js +24 -13
  473. package/build-module/components/inner-blocks/use-nested-settings-update.js.map +1 -1
  474. package/build-module/components/inserter/block-patterns-tab.js +11 -1
  475. package/build-module/components/inserter/block-patterns-tab.js.map +1 -1
  476. package/build-module/components/inserter/block-types-tab.native.js +2 -5
  477. package/build-module/components/inserter/block-types-tab.native.js.map +1 -1
  478. package/build-module/components/inserter/hooks/use-clipboard-block.native.js +5 -4
  479. package/build-module/components/inserter/hooks/use-clipboard-block.native.js.map +1 -1
  480. package/build-module/components/inserter/index.js +12 -4
  481. package/build-module/components/inserter/index.js.map +1 -1
  482. package/build-module/components/inserter/index.native.js +1 -7
  483. package/build-module/components/inserter/index.native.js.map +1 -1
  484. package/build-module/components/inserter/library.js +2 -0
  485. package/build-module/components/inserter/library.js.map +1 -1
  486. package/build-module/components/inserter/menu.js +2 -1
  487. package/build-module/components/inserter/menu.js.map +1 -1
  488. package/build-module/components/inserter/menu.native.js +17 -17
  489. package/build-module/components/inserter/menu.native.js.map +1 -1
  490. package/build-module/components/inserter/preview-panel.js +1 -1
  491. package/build-module/components/inserter/preview-panel.js.map +1 -1
  492. package/build-module/components/inserter/quick-inserter.js +2 -1
  493. package/build-module/components/inserter/quick-inserter.js.map +1 -1
  494. package/build-module/components/inserter/reusable-blocks-tab.native.js +4 -5
  495. package/build-module/components/inserter/reusable-blocks-tab.native.js.map +1 -1
  496. package/build-module/components/inserter/search-results.native.js +8 -2
  497. package/build-module/components/inserter/search-results.native.js.map +1 -1
  498. package/build-module/components/inserter/tabs.native.js +1 -4
  499. package/build-module/components/inserter/tabs.native.js.map +1 -1
  500. package/build-module/components/inserter/utils.native.js +35 -0
  501. package/build-module/components/inserter/utils.native.js.map +1 -0
  502. package/build-module/components/inspector-controls/block-support-slot-container.js +18 -0
  503. package/build-module/components/inspector-controls/block-support-slot-container.js.map +1 -0
  504. package/build-module/components/inspector-controls/block-support-tools-panel.js +67 -0
  505. package/build-module/components/inspector-controls/block-support-tools-panel.js.map +1 -0
  506. package/build-module/components/inspector-controls/fill.js +50 -0
  507. package/build-module/components/inspector-controls/fill.js.map +1 -0
  508. package/build-module/components/inspector-controls/{index.native.js → fill.native.js} +16 -18
  509. package/build-module/components/inspector-controls/fill.native.js.map +1 -0
  510. package/build-module/components/inspector-controls/groups.js +14 -0
  511. package/build-module/components/inspector-controls/groups.js.map +1 -0
  512. package/build-module/components/inspector-controls/index.js +16 -17
  513. package/build-module/components/inspector-controls/index.js.map +1 -1
  514. package/build-module/components/inspector-controls/slot.js +52 -0
  515. package/build-module/components/inspector-controls/slot.js.map +1 -0
  516. package/build-module/components/inspector-controls/slot.native.js +27 -0
  517. package/build-module/components/inspector-controls/slot.native.js.map +1 -0
  518. package/build-module/components/line-height-control/index.native.js +29 -0
  519. package/build-module/components/line-height-control/index.native.js.map +1 -0
  520. package/build-module/components/link-control/index.js +11 -5
  521. package/build-module/components/link-control/index.js.map +1 -1
  522. package/build-module/components/link-control/link-preview.js +28 -11
  523. package/build-module/components/link-control/link-preview.js.map +1 -1
  524. package/build-module/components/link-control/search-input.js +13 -4
  525. package/build-module/components/link-control/search-input.js.map +1 -1
  526. package/build-module/components/list-view/block-contents.js +1 -18
  527. package/build-module/components/list-view/block-contents.js.map +1 -1
  528. package/build-module/components/list-view/block.js +9 -49
  529. package/build-module/components/list-view/block.js.map +1 -1
  530. package/build-module/components/list-view/branch.js +20 -15
  531. package/build-module/components/list-view/branch.js.map +1 -1
  532. package/build-module/components/list-view/index.js +22 -17
  533. package/build-module/components/list-view/index.js.map +1 -1
  534. package/build-module/components/list-view/leaf.js +1 -1
  535. package/build-module/components/list-view/leaf.js.map +1 -1
  536. package/build-module/components/list-view/list-item.js +3 -2
  537. package/build-module/components/list-view/list-item.js.map +1 -1
  538. package/build-module/components/list-view/use-list-view-client-ids.js +24 -15
  539. package/build-module/components/list-view/use-list-view-client-ids.js.map +1 -1
  540. package/build-module/components/media-placeholder/index.js +35 -21
  541. package/build-module/components/media-placeholder/index.js.map +1 -1
  542. package/build-module/components/media-placeholder/index.native.js +2 -1
  543. package/build-module/components/media-placeholder/index.native.js.map +1 -1
  544. package/build-module/components/media-replace-flow/index.js +5 -3
  545. package/build-module/components/media-replace-flow/index.js.map +1 -1
  546. package/build-module/components/navigable-toolbar/index.js +1 -4
  547. package/build-module/components/navigable-toolbar/index.js.map +1 -1
  548. package/build-module/components/observe-typing/index.js +1 -1
  549. package/build-module/components/observe-typing/index.js.map +1 -1
  550. package/build-module/components/plain-text/index.native.js +29 -2
  551. package/build-module/components/plain-text/index.native.js.map +1 -1
  552. package/build-module/components/rich-text/embed-handler-picker.native.js +53 -0
  553. package/build-module/components/rich-text/embed-handler-picker.native.js.map +1 -0
  554. package/build-module/components/rich-text/format-toolbar/index.js +28 -11
  555. package/build-module/components/rich-text/format-toolbar/index.js.map +1 -1
  556. package/build-module/components/rich-text/index.js +22 -6
  557. package/build-module/components/rich-text/index.js.map +1 -1
  558. package/build-module/components/rich-text/index.native.js +43 -6
  559. package/build-module/components/rich-text/index.native.js.map +1 -1
  560. package/build-module/components/rich-text/input-event.js +24 -22
  561. package/build-module/components/rich-text/input-event.js.map +1 -1
  562. package/build-module/components/rich-text/shortcut.js +22 -9
  563. package/build-module/components/rich-text/shortcut.js.map +1 -1
  564. package/build-module/components/rich-text/use-input-events.js +19 -0
  565. package/build-module/components/rich-text/use-input-events.js.map +1 -0
  566. package/build-module/components/rich-text/use-paste-handler.js +44 -10
  567. package/build-module/components/rich-text/use-paste-handler.js.map +1 -1
  568. package/build-module/components/rich-text/use-shortcuts.js +19 -0
  569. package/build-module/components/rich-text/use-shortcuts.js.map +1 -0
  570. package/build-module/components/rich-text/utils.js +20 -0
  571. package/build-module/components/rich-text/utils.js.map +1 -1
  572. package/build-module/components/typewriter/index.js +1 -1
  573. package/build-module/components/typewriter/index.js.map +1 -1
  574. package/build-module/components/url-input/index.js +14 -7
  575. package/build-module/components/url-input/index.js.map +1 -1
  576. package/build-module/components/use-display-block-controls/index.js +5 -7
  577. package/build-module/components/use-display-block-controls/index.js.map +1 -1
  578. package/build-module/components/use-moving-animation/index.js +13 -10
  579. package/build-module/components/use-moving-animation/index.js.map +1 -1
  580. package/build-module/components/use-on-block-drop/index.js +3 -2
  581. package/build-module/components/use-on-block-drop/index.js.map +1 -1
  582. package/build-module/components/use-resize-canvas/index.js +2 -10
  583. package/build-module/components/use-resize-canvas/index.js.map +1 -1
  584. package/build-module/components/use-setting/index.js +1 -6
  585. package/build-module/components/use-setting/index.js.map +1 -1
  586. package/build-module/components/writing-flow/use-multi-selection.js +6 -0
  587. package/build-module/components/writing-flow/use-multi-selection.js.map +1 -1
  588. package/build-module/components/writing-flow/use-tab-nav.js +18 -3
  589. package/build-module/components/writing-flow/use-tab-nav.js.map +1 -1
  590. package/build-module/hooks/align.js +15 -15
  591. package/build-module/hooks/align.js.map +1 -1
  592. package/build-module/hooks/anchor.js +5 -3
  593. package/build-module/hooks/anchor.js.map +1 -1
  594. package/build-module/hooks/border-color.js +10 -5
  595. package/build-module/hooks/border-color.js.map +1 -1
  596. package/build-module/hooks/color-panel.js +5 -3
  597. package/build-module/hooks/color-panel.js.map +1 -1
  598. package/build-module/hooks/color.js +6 -4
  599. package/build-module/hooks/color.js.map +1 -1
  600. package/build-module/hooks/compat.js +20 -0
  601. package/build-module/hooks/compat.js.map +1 -0
  602. package/build-module/hooks/custom-class-name.js +4 -2
  603. package/build-module/hooks/custom-class-name.js.map +1 -1
  604. package/build-module/hooks/dimensions.js +57 -26
  605. package/build-module/hooks/dimensions.js.map +1 -1
  606. package/build-module/hooks/duotone.js +46 -13
  607. package/build-module/hooks/duotone.js.map +1 -1
  608. package/build-module/hooks/font-family.js +91 -24
  609. package/build-module/hooks/font-family.js.map +1 -1
  610. package/build-module/hooks/gap.js +140 -0
  611. package/build-module/hooks/gap.js.map +1 -0
  612. package/build-module/hooks/index.js +2 -0
  613. package/build-module/hooks/index.js.map +1 -1
  614. package/build-module/hooks/index.native.js +1 -0
  615. package/build-module/hooks/index.native.js.map +1 -1
  616. package/build-module/hooks/layout.js +47 -30
  617. package/build-module/hooks/layout.js.map +1 -1
  618. package/build-module/hooks/letter-spacing.js +1 -1
  619. package/build-module/hooks/letter-spacing.js.map +1 -1
  620. package/build-module/hooks/lock.js +33 -0
  621. package/build-module/hooks/lock.js.map +1 -0
  622. package/build-module/hooks/margin.js +6 -3
  623. package/build-module/hooks/margin.js.map +1 -1
  624. package/build-module/hooks/padding.js +6 -3
  625. package/build-module/hooks/padding.js.map +1 -1
  626. package/build-module/hooks/style.js +39 -11
  627. package/build-module/hooks/style.js.map +1 -1
  628. package/build-module/hooks/typography.js +1 -2
  629. package/build-module/hooks/typography.js.map +1 -1
  630. package/build-module/hooks/typography.native.js +41 -0
  631. package/build-module/hooks/typography.native.js.map +1 -0
  632. package/build-module/layouts/flex.js +115 -9
  633. package/build-module/layouts/flex.js.map +1 -1
  634. package/build-module/layouts/flow.js +99 -7
  635. package/build-module/layouts/flow.js.map +1 -1
  636. package/build-module/store/actions.js +40 -13
  637. package/build-module/store/actions.js.map +1 -1
  638. package/build-module/store/defaults.js +2 -0
  639. package/build-module/store/defaults.js.map +1 -1
  640. package/build-module/store/defaults.native.js +15 -1
  641. package/build-module/store/defaults.native.js.map +1 -1
  642. package/build-module/store/reducer.js +166 -115
  643. package/build-module/store/reducer.js.map +1 -1
  644. package/build-module/store/selectors.js +148 -75
  645. package/build-module/store/selectors.js.map +1 -1
  646. package/build-module/utils/index.js +1 -0
  647. package/build-module/utils/index.js.map +1 -1
  648. package/build-module/utils/parse-css-unit-to-px.js +285 -0
  649. package/build-module/utils/parse-css-unit-to-px.js.map +1 -0
  650. package/build-module/utils/transform-styles/transforms/wrap.js +16 -0
  651. package/build-module/utils/transform-styles/transforms/wrap.js.map +1 -1
  652. package/build-style/default-editor-styles-rtl.css +114 -0
  653. package/build-style/default-editor-styles.css +114 -0
  654. package/build-style/style-rtl.css +136 -128
  655. package/build-style/style.css +136 -128
  656. package/build-types/components/block-context/index.d.ts +1 -1
  657. package/build-types/components/block-context/index.d.ts.map +1 -1
  658. package/package.json +31 -29
  659. package/src/components/alignment-control/test/__snapshots__/index.js.snap +2 -0
  660. package/src/components/alignment-control/ui.js +4 -1
  661. package/src/components/autocomplete/index.js +5 -2
  662. package/src/components/block-actions/index.js +9 -5
  663. package/src/components/block-alignment-control/style.scss +5 -0
  664. package/src/components/block-alignment-control/test/__snapshots__/index.js.snap +15 -1
  665. package/src/components/block-alignment-control/test/index.native.js +37 -0
  666. package/src/components/block-alignment-control/ui.js +98 -27
  667. package/src/components/block-alignment-control/use-available-alignments.js +31 -10
  668. package/src/components/block-content-overlay/index.js +3 -6
  669. package/src/components/block-content-overlay/style.scss +9 -21
  670. package/src/components/block-controls/fill.js +7 -4
  671. package/src/components/block-controls/groups.js +2 -0
  672. package/src/components/block-controls/hook.js +44 -0
  673. package/src/components/block-edit/context.js +4 -3
  674. package/src/components/block-edit/edit.js +1 -4
  675. package/src/components/block-icon/index.native.js +11 -12
  676. package/src/components/block-inspector/index.js +14 -9
  677. package/src/components/block-list/block-html.js +5 -0
  678. package/src/components/block-list/block-list-item.native.js +34 -11
  679. package/src/components/block-list/block-list-item.native.scss +4 -0
  680. package/src/components/block-list/block-selection-button.native.js +8 -5
  681. package/src/components/block-list/block.js +13 -9
  682. package/src/components/block-list/block.native.js +7 -5
  683. package/src/components/block-list/grid-item.native.js +58 -0
  684. package/src/components/block-list/index.js +33 -27
  685. package/src/components/block-list/index.native.js +9 -3
  686. package/src/components/block-list/style.native.scss +0 -1
  687. package/src/components/block-list/style.scss +15 -0
  688. package/src/components/block-list/use-block-props/index.js +4 -7
  689. package/src/components/block-list/use-block-props/use-block-custom-class-name.js +5 -7
  690. package/src/components/block-list/use-block-props/use-block-default-class-name.js +2 -8
  691. package/src/components/block-list/use-block-props/use-multi-selection.js +7 -1
  692. package/src/components/block-list/use-in-between-inserter.js +9 -0
  693. package/src/components/block-list-appender/index.js +8 -0
  694. package/src/components/block-mover/index.js +4 -4
  695. package/src/components/block-mover/index.native.js +4 -4
  696. package/src/components/block-mover/test/__snapshots__/index.native.js.snap +10 -6
  697. package/src/components/block-mover/test/index.native.js +26 -28
  698. package/src/components/block-preview/README.md +1 -1
  699. package/src/components/block-preview/auto.js +36 -18
  700. package/src/components/block-preview/style.scss +0 -20
  701. package/src/components/block-settings-menu/block-settings-dropdown.js +7 -6
  702. package/src/components/block-settings-menu-controls/index.js +9 -6
  703. package/src/components/block-styles/index.js +6 -1
  704. package/src/components/block-styles/preview.native.js +1 -1
  705. package/src/components/block-switcher/block-styles-menu.js +1 -1
  706. package/src/components/block-switcher/index.js +7 -3
  707. package/src/components/block-switcher/test/index.js +3 -0
  708. package/src/components/block-title/index.js +5 -2
  709. package/src/components/block-toolbar/index.js +4 -0
  710. package/src/components/block-tools/block-contextual-toolbar.js +7 -5
  711. package/src/components/block-tools/block-popover.js +8 -8
  712. package/src/components/block-tools/block-selection-button.js +2 -4
  713. package/src/components/block-tools/index.js +5 -2
  714. package/src/components/block-tools/insertion-point.js +97 -9
  715. package/src/components/block-tools/style.scss +4 -35
  716. package/src/components/block-types-list/index.native.js +8 -2
  717. package/src/components/block-types-list/style.scss +0 -3
  718. package/src/components/block-variation-picker/README.md +47 -14
  719. package/src/components/block-variation-picker/style.native.scss +4 -0
  720. package/src/components/border-radius-control/index.js +1 -0
  721. package/src/components/border-radius-control/test/utils.js +216 -0
  722. package/src/components/border-radius-control/utils.js +18 -10
  723. package/src/components/color-palette/test/__snapshots__/control.js.snap +103 -71
  724. package/src/components/colors/test/utils.js +41 -0
  725. package/src/components/colors/utils.js +9 -5
  726. package/src/components/colors-gradients/control.js +64 -61
  727. package/src/components/colors-gradients/panel-color-gradient-settings.js +3 -1
  728. package/src/components/colors-gradients/style.scss +8 -5
  729. package/src/components/colors-gradients/test/control.js +43 -52
  730. package/src/components/contrast-checker/index.js +14 -10
  731. package/src/components/copy-handler/index.js +6 -1
  732. package/src/components/default-block-appender/index.js +2 -2
  733. package/src/components/default-block-appender/test/__snapshots__/index.js.snap +3 -3
  734. package/src/components/duotone-control/index.js +43 -41
  735. package/src/components/editor-styles/index.js +8 -4
  736. package/src/components/font-appearance-control/index.js +49 -19
  737. package/src/components/font-appearance-control/style.scss +1 -1
  738. package/src/components/font-sizes/index.native.js +7 -1
  739. package/src/components/iframe/index.js +63 -74
  740. package/src/components/image-editor/aspect-ratio-dropdown.js +129 -0
  741. package/src/components/image-editor/constants.js +6 -0
  742. package/src/components/image-editor/context.js +56 -0
  743. package/src/components/image-editor/cropper.js +74 -0
  744. package/src/components/image-editor/form-controls.js +22 -0
  745. package/src/components/image-editor/index.js +52 -0
  746. package/src/components/image-editor/rotation-button.js +24 -0
  747. package/src/components/image-editor/use-save-image.js +97 -0
  748. package/src/components/image-editor/use-transform-image.js +162 -0
  749. package/src/components/image-editor/zoom-dropdown.js +40 -0
  750. package/src/components/image-size-control/use-dimension-handler.js +18 -1
  751. package/src/components/index.js +8 -5
  752. package/src/components/index.native.js +8 -3
  753. package/src/components/inner-blocks/button-block-appender.js +9 -0
  754. package/src/components/inner-blocks/index.js +40 -11
  755. package/src/components/inner-blocks/index.native.js +41 -0
  756. package/src/components/inner-blocks/use-nested-settings-update.js +26 -11
  757. package/src/components/inserter/block-patterns-tab.js +11 -4
  758. package/src/components/inserter/block-types-tab.native.js +3 -6
  759. package/src/components/inserter/hooks/use-clipboard-block.native.js +3 -2
  760. package/src/components/inserter/index.js +15 -3
  761. package/src/components/inserter/index.native.js +2 -19
  762. package/src/components/inserter/library.js +2 -0
  763. package/src/components/inserter/menu.js +4 -1
  764. package/src/components/inserter/menu.native.js +18 -15
  765. package/src/components/inserter/preview-panel.js +1 -1
  766. package/src/components/inserter/quick-inserter.js +1 -1
  767. package/src/components/inserter/reusable-blocks-tab.native.js +4 -6
  768. package/src/components/inserter/search-results.native.js +8 -1
  769. package/src/components/inserter/style.native.scss +8 -5
  770. package/src/components/inserter/style.scss +16 -15
  771. package/src/components/inserter/tabs.native.js +1 -7
  772. package/src/components/inserter/test/block-types-tab.native.js +2 -1
  773. package/src/components/inserter/utils.native.js +35 -0
  774. package/src/components/inserter-list-item/style.scss +4 -2
  775. package/src/components/inspector-controls/README.md +43 -198
  776. package/src/components/inspector-controls/block-support-slot-container.js +10 -0
  777. package/src/components/inspector-controls/block-support-tools-panel.js +60 -0
  778. package/src/components/inspector-controls/fill.js +53 -0
  779. package/src/components/inspector-controls/{index.native.js → fill.native.js} +14 -14
  780. package/src/components/inspector-controls/groups.js +18 -0
  781. package/src/components/inspector-controls/index.js +16 -18
  782. package/src/components/inspector-controls/slot.js +45 -0
  783. package/src/components/inspector-controls/slot.native.js +22 -0
  784. package/src/components/line-height-control/index.native.js +25 -0
  785. package/src/components/link-control/README.md +40 -14
  786. package/src/components/link-control/index.js +7 -1
  787. package/src/components/link-control/link-preview.js +36 -15
  788. package/src/components/link-control/search-input.js +12 -4
  789. package/src/components/link-control/style.scss +36 -5
  790. package/src/components/link-control/test/index.js +132 -0
  791. package/src/components/list-view/block-contents.js +17 -38
  792. package/src/components/list-view/block.js +8 -63
  793. package/src/components/list-view/branch.js +19 -12
  794. package/src/components/list-view/index.js +45 -26
  795. package/src/components/list-view/leaf.js +1 -1
  796. package/src/components/list-view/list-item.js +5 -4
  797. package/src/components/list-view/style.scss +56 -30
  798. package/src/components/list-view/use-list-view-client-ids.js +22 -22
  799. package/src/components/media-placeholder/README.md +9 -0
  800. package/src/components/media-placeholder/index.js +31 -20
  801. package/src/components/media-placeholder/index.native.js +2 -1
  802. package/src/components/media-placeholder/style.scss +2 -0
  803. package/src/components/media-replace-flow/README.md +7 -0
  804. package/src/components/media-replace-flow/index.js +4 -1
  805. package/src/components/media-replace-flow/style.scss +11 -12
  806. package/src/components/media-upload/README.md +1 -1
  807. package/src/components/navigable-toolbar/index.js +1 -4
  808. package/src/components/observe-typing/index.js +3 -2
  809. package/src/components/plain-text/index.native.js +26 -4
  810. package/src/components/rich-text/embed-handler-picker.native.js +67 -0
  811. package/src/components/rich-text/format-toolbar/index.js +22 -6
  812. package/src/components/rich-text/index.js +38 -12
  813. package/src/components/rich-text/index.native.js +37 -4
  814. package/src/components/rich-text/input-event.js +21 -20
  815. package/src/components/rich-text/shortcut.js +24 -9
  816. package/src/components/rich-text/style.scss +7 -5
  817. package/src/components/rich-text/use-input-events.js +19 -0
  818. package/src/components/rich-text/use-paste-handler.js +47 -12
  819. package/src/components/rich-text/use-shortcuts.js +19 -0
  820. package/src/components/rich-text/utils.js +16 -0
  821. package/src/components/skip-to-selected-block/README.md +39 -0
  822. package/src/components/tool-selector/style.scss +5 -5
  823. package/src/components/typewriter/index.js +3 -2
  824. package/src/components/url-input/index.js +12 -6
  825. package/src/components/use-display-block-controls/index.js +7 -10
  826. package/src/components/use-moving-animation/index.js +9 -8
  827. package/src/components/use-on-block-drop/index.js +5 -1
  828. package/src/components/use-resize-canvas/index.js +2 -17
  829. package/src/components/use-setting/index.js +1 -7
  830. package/src/components/writing-flow/use-multi-selection.js +6 -0
  831. package/src/components/writing-flow/use-tab-nav.js +21 -11
  832. package/src/default-editor-styles.scss +24 -0
  833. package/src/hooks/align.js +28 -20
  834. package/src/hooks/anchor.js +5 -5
  835. package/src/hooks/border-color.js +12 -1
  836. package/src/hooks/color-panel.js +3 -1
  837. package/src/hooks/color.js +11 -4
  838. package/src/hooks/compat.js +23 -0
  839. package/src/hooks/custom-class-name.js +3 -3
  840. package/src/hooks/dimensions.js +94 -50
  841. package/src/hooks/duotone.js +49 -14
  842. package/src/hooks/font-family.js +107 -27
  843. package/src/hooks/gap.js +146 -0
  844. package/src/hooks/index.js +2 -0
  845. package/src/hooks/index.native.js +1 -0
  846. package/src/hooks/layout.js +82 -56
  847. package/src/hooks/layout.scss +6 -0
  848. package/src/hooks/letter-spacing.js +2 -1
  849. package/src/hooks/lock.js +34 -0
  850. package/src/hooks/margin.js +12 -2
  851. package/src/hooks/padding.js +12 -2
  852. package/src/hooks/style.js +57 -18
  853. package/src/hooks/test/style.js +4 -0
  854. package/src/hooks/typography.js +2 -6
  855. package/src/hooks/typography.native.js +64 -0
  856. package/src/layouts/flex.js +139 -12
  857. package/src/layouts/flow.js +81 -14
  858. package/src/store/actions.js +54 -16
  859. package/src/store/defaults.js +2 -0
  860. package/src/store/defaults.native.js +15 -0
  861. package/src/store/reducer.js +230 -145
  862. package/src/store/selectors.js +164 -115
  863. package/src/store/test/actions.js +89 -88
  864. package/src/store/test/reducer.js +184 -146
  865. package/src/store/test/selectors.js +118 -156
  866. package/src/style.scss +1 -14
  867. package/src/utils/index.js +1 -0
  868. package/src/utils/parse-css-unit-to-px.js +272 -0
  869. package/src/utils/test/parse-css-unit-to-px.js +206 -0
  870. package/src/utils/transform-styles/transforms/test/wrap.js +1 -1
  871. package/src/utils/transform-styles/transforms/wrap.js +16 -0
  872. package/tsconfig.tsbuildinfo +1 -466
  873. package/build/components/block-list/head.js +0 -27
  874. package/build/components/block-list/head.js.map +0 -1
  875. package/build/components/duotone-control/duotone-picker-popover.js +0 -44
  876. package/build/components/duotone-control/duotone-picker-popover.js.map +0 -1
  877. package/build/components/inspector-advanced-controls/index.js +0 -46
  878. package/build/components/inspector-advanced-controls/index.js.map +0 -1
  879. package/build/components/inspector-controls/index.native.js.map +0 -1
  880. package/build/components/list-view/block-slot.js +0 -121
  881. package/build/components/list-view/block-slot.js.map +0 -1
  882. package/build/components/list-view/editor.js +0 -35
  883. package/build/components/list-view/editor.js.map +0 -1
  884. package/build/components/use-simulated-media-query/index.js +0 -137
  885. package/build/components/use-simulated-media-query/index.js.map +0 -1
  886. package/build-module/components/block-list/head.js +0 -19
  887. package/build-module/components/block-list/head.js.map +0 -1
  888. package/build-module/components/duotone-control/duotone-picker-popover.js +0 -35
  889. package/build-module/components/duotone-control/duotone-picker-popover.js.map +0 -1
  890. package/build-module/components/inspector-advanced-controls/index.js +0 -36
  891. package/build-module/components/inspector-advanced-controls/index.js.map +0 -1
  892. package/build-module/components/inspector-controls/index.native.js.map +0 -1
  893. package/build-module/components/list-view/block-slot.js +0 -96
  894. package/build-module/components/list-view/block-slot.js.map +0 -1
  895. package/build-module/components/list-view/editor.js +0 -25
  896. package/build-module/components/list-view/editor.js.map +0 -1
  897. package/build-module/components/use-simulated-media-query/index.js +0 -126
  898. package/build-module/components/use-simulated-media-query/index.js.map +0 -1
  899. package/src/components/block-list/head.js +0 -18
  900. package/src/components/duotone-control/duotone-picker-popover.js +0 -36
  901. package/src/components/inspector-advanced-controls/README.md +0 -72
  902. package/src/components/inspector-advanced-controls/index.js +0 -32
  903. package/src/components/list-view/block-slot.js +0 -120
  904. package/src/components/list-view/editor.js +0 -29
  905. package/src/components/use-simulated-media-query/index.js +0 -144
@@ -8,41 +8,40 @@ import { View } from 'react-native';
8
8
  */
9
9
  import { Icon } from '@wordpress/components';
10
10
  import { blockDefault } from '@wordpress/icons';
11
- import { withPreferredColorScheme } from '@wordpress/compose';
11
+ import { usePreferredColorSchemeStyle } from '@wordpress/compose';
12
12
 
13
13
  /**
14
14
  * Internal dependencies
15
15
  */
16
16
  import styles from './style.scss';
17
17
 
18
- export function BlockIcon( {
19
- icon,
20
- showColors = false,
21
- getStylesFromColorScheme,
22
- } ) {
18
+ export function BlockIcon( { icon, fill, size, showColors = false } ) {
23
19
  if ( icon?.src === 'block-default' ) {
24
20
  icon = {
25
21
  src: blockDefault,
26
22
  };
27
23
  }
28
24
 
25
+ const defaultFill = usePreferredColorSchemeStyle(
26
+ styles.iconPlaceholder,
27
+ styles.iconPlaceholderDark
28
+ )?.fill;
29
+ const iconForeground = showColors ? icon?.foreground : undefined;
30
+
29
31
  const renderedIcon = (
30
32
  <Icon
31
33
  icon={ icon && icon.src ? icon.src : icon }
32
- { ...getStylesFromColorScheme(
33
- styles.iconPlaceholder,
34
- styles.iconPlaceholderDark
35
- ) }
34
+ fill={ fill || iconForeground || defaultFill }
35
+ { ...( size && { size } ) }
36
36
  />
37
37
  );
38
38
  const style = showColors
39
39
  ? {
40
40
  backgroundColor: icon && icon.background,
41
- color: icon && icon.foreground,
42
41
  }
43
42
  : {};
44
43
 
45
44
  return <View style={ style }>{ renderedIcon }</View>;
46
45
  }
47
46
 
48
- export default withPreferredColorScheme( BlockIcon );
47
+ export default BlockIcon;
@@ -19,8 +19,10 @@ import { useSelect } from '@wordpress/data';
19
19
  */
20
20
  import SkipToSelectedBlock from '../skip-to-selected-block';
21
21
  import BlockCard from '../block-card';
22
- import InspectorControls from '../inspector-controls';
23
- import InspectorAdvancedControls from '../inspector-advanced-controls';
22
+ import {
23
+ default as InspectorControls,
24
+ InspectorAdvancedControls,
25
+ } from '../inspector-controls';
24
26
  import BlockStyles from '../block-styles';
25
27
  import MultiSelectionInspector from '../multi-selection-inspector';
26
28
  import DefaultStylePicker from '../default-style-picker';
@@ -127,19 +129,21 @@ const BlockInspectorSingleBlock = ( {
127
129
  </div>
128
130
  ) }
129
131
  <InspectorControls.Slot bubblesVirtually={ bubblesVirtually } />
132
+ <InspectorControls.Slot
133
+ __experimentalGroup="dimensions"
134
+ bubblesVirtually={ bubblesVirtually }
135
+ label={ __( 'Dimensions' ) }
136
+ />
130
137
  <div>
131
- <AdvancedControls
132
- slotName={ InspectorAdvancedControls.slotName }
133
- bubblesVirtually={ bubblesVirtually }
134
- />
138
+ <AdvancedControls bubblesVirtually={ bubblesVirtually } />
135
139
  </div>
136
140
  <SkipToSelectedBlock key="back" />
137
141
  </div>
138
142
  );
139
143
  };
140
144
 
141
- const AdvancedControls = ( { slotName, bubblesVirtually } ) => {
142
- const slot = useSlot( slotName );
145
+ const AdvancedControls = ( { bubblesVirtually } ) => {
146
+ const slot = useSlot( InspectorAdvancedControls.slotName );
143
147
  const hasFills = Boolean( slot.fills && slot.fills.length );
144
148
 
145
149
  if ( ! hasFills ) {
@@ -152,7 +156,8 @@ const AdvancedControls = ( { slotName, bubblesVirtually } ) => {
152
156
  title={ __( 'Advanced' ) }
153
157
  initialOpen={ false }
154
158
  >
155
- <InspectorAdvancedControls.Slot
159
+ <InspectorControls.Slot
160
+ __experimentalGroup="advanced"
156
161
  bubblesVirtually={ bubblesVirtually }
157
162
  />
158
163
  </PanelBody>
@@ -30,6 +30,11 @@ function BlockHTML( { clientId } ) {
30
30
  const { updateBlock } = useDispatch( blockEditorStore );
31
31
  const onChange = () => {
32
32
  const blockType = getBlockType( block.name );
33
+
34
+ if ( ! blockType ) {
35
+ return;
36
+ }
37
+
33
38
  const attributes = getBlockAttributes(
34
39
  blockType,
35
40
  html,
@@ -16,6 +16,8 @@ import { ReadableContentView, alignmentHelpers } from '@wordpress/components';
16
16
  */
17
17
  import BlockListBlock from './block';
18
18
  import BlockInsertionPoint from './insertion-point';
19
+ import Grid from './grid-item';
20
+
19
21
  import styles from './block-list-item.native.scss';
20
22
  import { store as blockEditorStore } from '../../store';
21
23
 
@@ -104,7 +106,7 @@ export class BlockListItem extends Component {
104
106
  ];
105
107
  }
106
108
 
107
- render() {
109
+ renderContent() {
108
110
  const {
109
111
  blockAlignment,
110
112
  clientId,
@@ -123,10 +125,6 @@ export class BlockListItem extends Component {
123
125
  contentResizeMode === 'stretch' && stretchStyle;
124
126
  const { isContainerRelated } = alignmentHelpers;
125
127
 
126
- if ( ! blockWidth ) {
127
- return null;
128
- }
129
-
130
128
  return (
131
129
  <ReadableContentView
132
130
  align={ blockAlignment }
@@ -162,6 +160,34 @@ export class BlockListItem extends Component {
162
160
  </ReadableContentView>
163
161
  );
164
162
  }
163
+
164
+ render() {
165
+ const {
166
+ gridProperties,
167
+ clientId,
168
+ parentWidth,
169
+ items,
170
+ blockWidth,
171
+ } = this.props;
172
+
173
+ if ( ! blockWidth ) {
174
+ return null;
175
+ }
176
+
177
+ if ( gridProperties ) {
178
+ return (
179
+ <Grid
180
+ numOfColumns={ gridProperties.numColumns }
181
+ tileCount={ items.length }
182
+ index={ items.indexOf( clientId ) }
183
+ maxWidth={ parentWidth }
184
+ >
185
+ { this.renderContent() }
186
+ </Grid>
187
+ );
188
+ }
189
+ return this.renderContent();
190
+ }
165
191
  }
166
192
 
167
193
  export default compose( [
@@ -173,7 +199,7 @@ export default compose( [
173
199
  isBlockInsertionPointVisible,
174
200
  getSettings,
175
201
  getBlockParents,
176
- __unstableGetBlockWithoutInnerBlocks,
202
+ getBlock,
177
203
  } = select( blockEditorStore );
178
204
 
179
205
  const blockClientIds = getBlockOrder( rootClientId );
@@ -199,14 +225,11 @@ export default compose( [
199
225
 
200
226
  const isReadOnly = getSettings().readOnly;
201
227
 
202
- const block = __unstableGetBlockWithoutInnerBlocks( clientId );
203
- const { attributes, name } = block || {};
228
+ const { attributes, name } = getBlock( clientId ) || {};
204
229
  const { align } = attributes || {};
205
230
  const parents = getBlockParents( clientId, true );
206
231
  const hasParents = !! parents.length;
207
- const parentBlock = hasParents
208
- ? __unstableGetBlockWithoutInnerBlocks( parents[ 0 ] )
209
- : {};
232
+ const parentBlock = hasParents ? getBlock( parents[ 0 ] ) : {};
210
233
  const { align: parentBlockAlignment } =
211
234
  parentBlock?.attributes || {};
212
235
  const { name: parentBlockName } = parentBlock || {};
@@ -10,3 +10,7 @@
10
10
  .fullAlignmentPadding {
11
11
  padding: $block-edge-to-content;
12
12
  }
13
+
14
+ .gridItem {
15
+ overflow: visible;
16
+ }
@@ -5,6 +5,7 @@ import { Icon } from '@wordpress/components';
5
5
  import { withSelect } from '@wordpress/data';
6
6
  import { compose } from '@wordpress/compose';
7
7
  import { getBlockType } from '@wordpress/blocks';
8
+ import { BlockIcon } from '@wordpress/block-editor';
8
9
 
9
10
  /**
10
11
  * External dependencies
@@ -58,11 +59,13 @@ const BlockSelectionButton = ( {
58
59
  />
59
60
  </View>,
60
61
  ] }
61
- <Icon
62
- size={ 24 }
63
- icon={ blockInformation?.icon?.src }
64
- fill={ styles.icon.color }
65
- />
62
+ { blockInformation?.icon && (
63
+ <BlockIcon
64
+ size={ 24 }
65
+ icon={ blockInformation.icon }
66
+ fill={ styles.icon.color }
67
+ />
68
+ ) }
66
69
  <Text
67
70
  maxFontSizeMultiplier={ 1.25 }
68
71
  ellipsizeMode="tail"
@@ -17,7 +17,6 @@ import {
17
17
  getBlockType,
18
18
  getSaveContent,
19
19
  isUnmodifiedDefaultBlock,
20
- hasBlockSupport,
21
20
  } from '@wordpress/blocks';
22
21
  import { withFilters } from '@wordpress/components';
23
22
  import { withDispatch, withSelect, useDispatch } from '@wordpress/data';
@@ -72,6 +71,7 @@ function Block( { children, isHtml, ...props } ) {
72
71
  function BlockListBlock( {
73
72
  mode,
74
73
  isLocked,
74
+ canRemove,
75
75
  clientId,
76
76
  isSelected,
77
77
  isSelectionEnabled,
@@ -100,9 +100,9 @@ function BlockListBlock( {
100
100
  attributes={ attributes }
101
101
  setAttributes={ setAttributes }
102
102
  insertBlocksAfter={ isLocked ? undefined : onInsertBlocksAfter }
103
- onReplace={ isLocked ? undefined : onReplace }
104
- onRemove={ isLocked ? undefined : onRemove }
105
- mergeBlocks={ isLocked ? undefined : onMerge }
103
+ onReplace={ canRemove ? onReplace : undefined }
104
+ onRemove={ canRemove ? onRemove : undefined }
105
+ mergeBlocks={ canRemove ? onMerge : undefined }
106
106
  clientId={ clientId }
107
107
  isSelectionEnabled={ isSelectionEnabled }
108
108
  toggleSelection={ toggleSelection }
@@ -110,12 +110,9 @@ function BlockListBlock( {
110
110
  );
111
111
 
112
112
  const blockType = getBlockType( name );
113
- const lightBlockWrapper =
114
- blockType.apiVersion > 1 ||
115
- hasBlockSupport( blockType, 'lightBlockWrapper', false );
116
113
 
117
114
  // Determine whether the block has props to apply to the wrapper.
118
- if ( blockType.getEditWrapperProps ) {
115
+ if ( blockType?.getEditWrapperProps ) {
119
116
  wrapperProps = mergeWrapperProps(
120
117
  wrapperProps,
121
118
  blockType.getEditWrapperProps( attributes )
@@ -159,7 +156,7 @@ function BlockListBlock( {
159
156
  </Block>
160
157
  </>
161
158
  );
162
- } else if ( lightBlockWrapper ) {
159
+ } else if ( blockType?.apiVersion > 1 ) {
163
160
  block = blockEdit;
164
161
  } else {
165
162
  block = <Block { ...wrapperProps }>{ blockEdit }</Block>;
@@ -195,10 +192,15 @@ const applyWithSelect = withSelect( ( select, { clientId, rootClientId } ) => {
195
192
  isSelectionEnabled,
196
193
  getTemplateLock,
197
194
  __unstableGetBlockWithoutInnerBlocks,
195
+ canRemoveBlock,
196
+ canMoveBlock,
198
197
  } = select( blockEditorStore );
199
198
  const block = __unstableGetBlockWithoutInnerBlocks( clientId );
200
199
  const isSelected = isBlockSelected( clientId );
201
200
  const templateLock = getTemplateLock( rootClientId );
201
+ const canRemove = canRemoveBlock( clientId, rootClientId );
202
+ const canMove = canMoveBlock( clientId, rootClientId );
203
+
202
204
  // The fallback to `{}` is a temporary fix.
203
205
  // This function should never be called when a block is not present in
204
206
  // the state. It happens now because the order in withSelect rendering
@@ -211,6 +213,8 @@ const applyWithSelect = withSelect( ( select, { clientId, rootClientId } ) => {
211
213
  mode: getBlockMode( clientId ),
212
214
  isSelectionEnabled: isSelectionEnabled(),
213
215
  isLocked: !! templateLock,
216
+ canRemove,
217
+ canMove,
214
218
  // Users of the editor.BlockListBlock filter used to be able to
215
219
  // access the block prop.
216
220
  // Ideally these blocks would rely on the clientId prop only.
@@ -51,6 +51,7 @@ function BlockForType( {
51
51
  baseGlobalStyles,
52
52
  } ) {
53
53
  const defaultColors = useSetting( 'color.palette' ) || emptyArray;
54
+ const fontSizes = useSetting( 'typography.fontSizes' ) || emptyArray;
54
55
  const globalStyle = useGlobalStyles();
55
56
  const mergedStyle = useMemo( () => {
56
57
  return getMergedGlobalStyles(
@@ -59,7 +60,8 @@ function BlockForType( {
59
60
  wrapperProps.style,
60
61
  attributes,
61
62
  defaultColors,
62
- name
63
+ name,
64
+ fontSizes
63
65
  );
64
66
  }, [
65
67
  defaultColors,
@@ -305,7 +307,7 @@ export default compose( [
305
307
  getBlockIndex,
306
308
  getSettings,
307
309
  isBlockSelected,
308
- __unstableGetBlockWithoutInnerBlocks,
310
+ getBlock,
309
311
  getSelectedBlockClientId,
310
312
  getLowestCommonAncestorWithSelectedBlock,
311
313
  getBlockParents,
@@ -315,12 +317,12 @@ export default compose( [
315
317
  const order = getBlockIndex( clientId, rootClientId );
316
318
  const isSelected = isBlockSelected( clientId );
317
319
  const isInnerBlockSelected = hasSelectedInnerBlock( clientId );
318
- const block = __unstableGetBlockWithoutInnerBlocks( clientId );
320
+ const block = getBlock( clientId );
319
321
  const { name, attributes, isValid } = block || {};
320
322
 
321
323
  const blockType = getBlockType( name || 'core/missing' );
322
- const title = blockType.title;
323
- const icon = blockType.icon;
324
+ const title = blockType?.title;
325
+ const icon = blockType?.icon;
324
326
 
325
327
  const parents = getBlockParents( clientId, true );
326
328
  const parentId = parents[ 0 ] || '';
@@ -0,0 +1,58 @@
1
+ /**
2
+ * External dependencies
3
+ */
4
+ import { View } from 'react-native';
5
+
6
+ /**
7
+ * Internal dependencies
8
+ */
9
+ import styles from './block-list-item.scss';
10
+
11
+ function Grid( props ) {
12
+ /**
13
+ * Since we don't have `calc()`, we must calculate our spacings here in
14
+ * order to preserve even spacing between tiles and equal width for tiles
15
+ * in a given row.
16
+ *
17
+ * In order to ensure equal sizing of tile contents, we distribute the
18
+ * spacing such that each tile has an equal "share" of the fixed spacing. To
19
+ * keep the tiles properly aligned within their rows, we calculate the left
20
+ * and right paddings based on the tile's relative position within the row.
21
+ *
22
+ * Note: we use padding instead of margins so that the fixed spacing is
23
+ * included within the relative spacing (i.e. width percentage), and
24
+ * wrapping behavior is preserved.
25
+ *
26
+ * - The left most tile in a row must have left padding of zero.
27
+ * - The right most tile in a row must have a right padding of zero.
28
+ *
29
+ * The values of these left and right paddings are interpolated for tiles in
30
+ * between. The right padding is complementary with the left padding of the
31
+ * next tile (i.e. the right padding of [tile n] + the left padding of
32
+ * [tile n + 1] will be equal for all tiles except the last one in a given
33
+ * row).
34
+ *
35
+ */
36
+ const { numOfColumns, children, tileCount, index, maxWidth } = props;
37
+ const lastTile = tileCount - 1;
38
+ const lastRow = Math.floor( lastTile / numOfColumns );
39
+
40
+ const row = Math.floor( index / numOfColumns );
41
+ const rowLength =
42
+ row === lastRow ? ( lastTile % numOfColumns ) + 1 : numOfColumns;
43
+
44
+ return (
45
+ <View
46
+ style={ [
47
+ {
48
+ width: maxWidth / rowLength,
49
+ },
50
+ styles.gridItem,
51
+ ] }
52
+ >
53
+ { children }
54
+ </View>
55
+ );
56
+ }
57
+
58
+ export default Grid;
@@ -15,18 +15,24 @@ import { createContext, useState, useMemo } from '@wordpress/element';
15
15
  */
16
16
  import BlockListBlock from './block';
17
17
  import BlockListAppender from '../block-list-appender';
18
- import useBlockDropZone from '../use-block-drop-zone';
19
18
  import { useInBetweenInserter } from './use-in-between-inserter';
20
19
  import { store as blockEditorStore } from '../../store';
21
20
  import { usePreParsePatterns } from '../../utils/pre-parse-patterns';
22
21
  import { LayoutProvider, defaultLayout } from './layout';
23
22
  import BlockToolsBackCompat from '../block-tools/back-compat';
24
23
  import { useBlockSelectionClearer } from '../block-selection-clearer';
25
- import { Head } from './head';
24
+ import { useInnerBlocksProps } from '../inner-blocks';
25
+ import {
26
+ BlockEditContextProvider,
27
+ DEFAULT_BLOCK_EDIT_CONTEXT,
28
+ } from '../block-edit/context';
29
+
30
+ const elementContext = createContext();
26
31
 
27
32
  export const IntersectionObserver = createContext();
28
33
 
29
- function Root( { className, children } ) {
34
+ function Root( { className, ...settings } ) {
35
+ const [ element, setElement ] = useState();
30
36
  const isLargeViewport = useViewportMatch( 'medium' );
31
37
  const { isOutlineMode, isFocusMode, isNavigationMode } = useSelect(
32
38
  ( select ) => {
@@ -42,41 +48,41 @@ function Root( { className, children } ) {
42
48
  },
43
49
  []
44
50
  );
51
+ const innerBlocksProps = useInnerBlocksProps(
52
+ {
53
+ ref: useMergeRefs( [
54
+ useBlockSelectionClearer(),
55
+ useInBetweenInserter(),
56
+ setElement,
57
+ ] ),
58
+ className: classnames( 'is-root-container', className, {
59
+ 'is-outline-mode': isOutlineMode,
60
+ 'is-focus-mode': isFocusMode && isLargeViewport,
61
+ 'is-navigate-mode': isNavigationMode,
62
+ } ),
63
+ },
64
+ settings
65
+ );
45
66
  return (
46
- <Head>
47
- <div
48
- ref={ useMergeRefs( [
49
- useBlockSelectionClearer(),
50
- useBlockDropZone(),
51
- useInBetweenInserter(),
52
- ] ) }
53
- className={ classnames(
54
- 'block-editor-block-list__layout is-root-container',
55
- className,
56
- {
57
- 'is-outline-mode': isOutlineMode,
58
- 'is-focus-mode': isFocusMode && isLargeViewport,
59
- 'is-navigate-mode': isNavigationMode,
60
- }
61
- ) }
62
- >
63
- { children }
64
- </div>
65
- </Head>
67
+ <elementContext.Provider value={ element }>
68
+ <div { ...innerBlocksProps } />
69
+ </elementContext.Provider>
66
70
  );
67
71
  }
68
72
 
69
- export default function BlockList( { className, ...props } ) {
73
+ export default function BlockList( settings ) {
70
74
  usePreParsePatterns();
71
75
  return (
72
76
  <BlockToolsBackCompat>
73
- <Root className={ className }>
74
- <BlockListItems { ...props } />
75
- </Root>
77
+ <BlockEditContextProvider value={ DEFAULT_BLOCK_EDIT_CONTEXT }>
78
+ <Root { ...settings } />
79
+ </BlockEditContextProvider>
76
80
  </BlockToolsBackCompat>
77
81
  );
78
82
  }
79
83
 
84
+ BlockList.__unstableElementContext = elementContext;
85
+
80
86
  function Items( {
81
87
  placeholder,
82
88
  rootClientId,
@@ -47,6 +47,7 @@ const getStyles = (
47
47
  const computedStyles = [
48
48
  isStackedHorizontally && styles.horizontal,
49
49
  horizontalAlignment && styles[ `is-aligned-${ horizontalAlignment }` ],
50
+ styles.overflowVisible,
50
51
  ];
51
52
  stylesMemo[ styleName ] = computedStyles;
52
53
  return computedStyles;
@@ -128,6 +129,7 @@ export class BlockList extends Component {
128
129
  onDeleteBlock,
129
130
  contentStyle,
130
131
  renderAppender,
132
+ gridProperties,
131
133
  } = this.props;
132
134
  const { blockWidth } = this.state;
133
135
  if (
@@ -136,7 +138,8 @@ export class BlockList extends Component {
136
138
  this.extraData.onDeleteBlock !== onDeleteBlock ||
137
139
  this.extraData.contentStyle !== contentStyle ||
138
140
  this.extraData.renderAppender !== renderAppender ||
139
- this.extraData.blockWidth !== blockWidth
141
+ this.extraData.blockWidth !== blockWidth ||
142
+ this.extraData.gridProperties !== gridProperties
140
143
  ) {
141
144
  this.extraData = {
142
145
  parentWidth,
@@ -145,6 +148,7 @@ export class BlockList extends Component {
145
148
  contentStyle,
146
149
  renderAppender,
147
150
  blockWidth,
151
+ gridProperties,
148
152
  };
149
153
  }
150
154
  return this.extraData;
@@ -258,8 +262,6 @@ export class BlockList extends Component {
258
262
  { flex: isRootList ? 1 : 0 },
259
263
  ! isRootList && styles.overflowVisible,
260
264
  ] }
261
- horizontal={ horizontal }
262
- numColumns={ 1 }
263
265
  extraData={ this.getExtraData() }
264
266
  scrollEnabled={ isRootList }
265
267
  contentContainerStyle={ [
@@ -312,9 +314,11 @@ export class BlockList extends Component {
312
314
  onDeleteBlock,
313
315
  rootClientId,
314
316
  isStackedHorizontally,
317
+ blockClientIds,
315
318
  parentWidth,
316
319
  marginVertical = styles.defaultBlock.marginTop,
317
320
  marginHorizontal = styles.defaultBlock.marginLeft,
321
+ gridProperties,
318
322
  } = this.props;
319
323
  const { blockWidth } = this.state;
320
324
  return (
@@ -333,6 +337,8 @@ export class BlockList extends Component {
333
337
  this.shouldShowInnerBlockAppender
334
338
  }
335
339
  blockWidth={ blockWidth }
340
+ gridProperties={ gridProperties }
341
+ items={ blockClientIds }
336
342
  />
337
343
  );
338
344
  }
@@ -6,7 +6,6 @@
6
6
 
7
7
  .horizontalContentContainer {
8
8
  flex-direction: row;
9
- flex-wrap: wrap;
10
9
  justify-content: flex-start;
11
10
  align-items: stretch;
12
11
  overflow: visible;
@@ -326,6 +326,21 @@
326
326
  z-index: z-index("{core/image aligned left or right} .wp-block");
327
327
  }
328
328
 
329
+ .wp-site-blocks > [data-align="left"] {
330
+ float: left;
331
+ margin-right: 2em;
332
+ }
333
+
334
+ .wp-site-blocks > [data-align="right"] {
335
+ float: right;
336
+ margin-left: 2em;
337
+ }
338
+
339
+ .wp-site-blocks > [data-align="center"] {
340
+ justify-content: center;
341
+ margin-left: auto;
342
+ margin-right: auto;
343
+ }
329
344
 
330
345
  /**
331
346
  * In-Canvas Inserter
@@ -11,7 +11,6 @@ import { __, sprintf } from '@wordpress/i18n';
11
11
  import {
12
12
  __unstableGetBlockProps as getBlockProps,
13
13
  getBlockType,
14
- hasBlockSupport,
15
14
  } from '@wordpress/blocks';
16
15
  import { useMergeRefs } from '@wordpress/compose';
17
16
  import { useSelect } from '@wordpress/data';
@@ -68,11 +67,11 @@ export function useBlockProps( props = {}, { __unstableIsHtml } = {} ) {
68
67
  index,
69
68
  mode,
70
69
  name,
70
+ blockApiVersion,
71
71
  blockTitle,
72
72
  isPartOfSelection,
73
73
  adjustScrolling,
74
74
  enableAnimation,
75
- lightBlockWrapper,
76
75
  } = useSelect(
77
76
  ( select ) => {
78
77
  const {
@@ -99,16 +98,14 @@ export function useBlockProps( props = {}, { __unstableIsHtml } = {} ) {
99
98
  index: getBlockIndex( clientId, rootClientId ),
100
99
  mode: getBlockMode( clientId ),
101
100
  name: blockName,
102
- blockTitle: blockType.title,
101
+ blockApiVersion: blockType?.apiVersion || 1,
102
+ blockTitle: blockType?.title,
103
103
  isPartOfSelection: isSelected || isPartOfMultiSelection,
104
104
  adjustScrolling:
105
105
  isSelected || isFirstMultiSelectedBlock( clientId ),
106
106
  enableAnimation:
107
107
  ! isTyping() &&
108
108
  getGlobalBlockCount() <= BLOCK_ANIMATION_THRESHOLD,
109
- lightBlockWrapper:
110
- blockType.apiVersion > 1 ||
111
- hasBlockSupport( blockType, 'lightBlockWrapper', false ),
112
109
  };
113
110
  },
114
111
  [ clientId ]
@@ -139,7 +136,7 @@ export function useBlockProps( props = {}, { __unstableIsHtml } = {} ) {
139
136
 
140
137
  const blockEditContext = useBlockEditContext();
141
138
  // Ensures it warns only inside the `edit` implementation for the block.
142
- if ( ! lightBlockWrapper && clientId === blockEditContext.clientId ) {
139
+ if ( blockApiVersion < 2 && clientId === blockEditContext.clientId ) {
143
140
  warning(
144
141
  `Block type "${ name }" must support API version 2 or higher to work correctly with "useBlockProps" method.`
145
142
  );