@wordpress/block-editor 7.0.2 → 8.0.1

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 (801) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/README.md +45 -1
  3. package/build/components/autocomplete/index.js +1 -1
  4. package/build/components/autocomplete/index.js.map +1 -1
  5. package/build/components/block-actions/index.js +8 -4
  6. package/build/components/block-actions/index.js.map +1 -1
  7. package/build/components/block-alignment-control/ui.js +61 -14
  8. package/build/components/block-alignment-control/ui.js.map +1 -1
  9. package/build/components/block-alignment-control/use-available-alignments.js +25 -3
  10. package/build/components/block-alignment-control/use-available-alignments.js.map +1 -1
  11. package/build/components/block-controls/fill.js +2 -2
  12. package/build/components/block-controls/fill.js.map +1 -1
  13. package/build/components/block-controls/hook.js +3 -3
  14. package/build/components/block-controls/hook.js.map +1 -1
  15. package/build/components/block-icon/index.js +5 -1
  16. package/build/components/block-icon/index.js.map +1 -1
  17. package/build/components/block-icon/index.native.js +9 -11
  18. package/build/components/block-icon/index.native.js.map +1 -1
  19. package/build/components/block-inspector/index.js +8 -0
  20. package/build/components/block-inspector/index.js.map +1 -1
  21. package/build/components/block-list/block-html.js +5 -0
  22. package/build/components/block-list/block-html.js.map +1 -1
  23. package/build/components/block-list/block.js +12 -5
  24. package/build/components/block-list/block.js.map +1 -1
  25. package/build/components/block-list/block.native.js +4 -3
  26. package/build/components/block-list/block.native.js.map +1 -1
  27. package/build/components/block-list/index.native.js +1 -1
  28. package/build/components/block-list/index.native.js.map +1 -1
  29. package/build/components/block-list/use-block-props/use-multi-selection.js +21 -8
  30. package/build/components/block-list/use-block-props/use-multi-selection.js.map +1 -1
  31. package/build/components/block-list-appender/index.js +9 -1
  32. package/build/components/block-list-appender/index.js.map +1 -1
  33. package/build/components/block-mover/index.js +4 -4
  34. package/build/components/block-mover/index.js.map +1 -1
  35. package/build/components/block-mover/index.native.js +4 -4
  36. package/build/components/block-mover/index.native.js.map +1 -1
  37. package/build/components/block-navigation/dropdown.js +0 -1
  38. package/build/components/block-navigation/dropdown.js.map +1 -1
  39. package/build/components/block-patterns-list/index.js +1 -8
  40. package/build/components/block-patterns-list/index.js.map +1 -1
  41. package/build/components/block-preview/auto.js +1 -1
  42. package/build/components/block-preview/auto.js.map +1 -1
  43. package/build/components/block-settings/container.native.js +5 -2
  44. package/build/components/block-settings/container.native.js.map +1 -1
  45. package/build/components/block-settings-menu/block-settings-dropdown.js +26 -5
  46. package/build/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
  47. package/build/components/block-settings-menu-controls/index.js +10 -3
  48. package/build/components/block-settings-menu-controls/index.js.map +1 -1
  49. package/build/components/block-styles/preview.native.js +2 -2
  50. package/build/components/block-styles/preview.native.js.map +1 -1
  51. package/build/components/block-switcher/block-styles-menu.js +1 -1
  52. package/build/components/block-switcher/block-styles-menu.js.map +1 -1
  53. package/build/components/block-switcher/index.js +10 -3
  54. package/build/components/block-switcher/index.js.map +1 -1
  55. package/build/components/block-title/index.js +3 -2
  56. package/build/components/block-title/index.js.map +1 -1
  57. package/build/components/block-tools/block-popover.js +2 -4
  58. package/build/components/block-tools/block-popover.js.map +1 -1
  59. package/build/components/block-tools/index.js +4 -1
  60. package/build/components/block-tools/index.js.map +1 -1
  61. package/build/components/block-tools/insertion-point.js +96 -7
  62. package/build/components/block-tools/insertion-point.js.map +1 -1
  63. package/build/components/border-radius-control/index.js.map +1 -1
  64. package/build/components/border-radius-control/utils.js +17 -8
  65. package/build/components/border-radius-control/utils.js.map +1 -1
  66. package/build/components/colors/utils.js +11 -3
  67. package/build/components/colors/utils.js.map +1 -1
  68. package/build/components/colors-gradients/control.js +22 -57
  69. package/build/components/colors-gradients/control.js.map +1 -1
  70. package/build/components/colors-gradients/panel-color-gradient-settings.js +83 -7
  71. package/build/components/colors-gradients/panel-color-gradient-settings.js.map +1 -1
  72. package/build/components/contrast-checker/index.js +18 -12
  73. package/build/components/contrast-checker/index.js.map +1 -1
  74. package/build/components/copy-handler/index.js +9 -3
  75. package/build/components/copy-handler/index.js.map +1 -1
  76. package/build/components/default-block-appender/index.js +2 -2
  77. package/build/components/default-block-appender/index.js.map +1 -1
  78. package/build/components/duotone-control/index.js +41 -39
  79. package/build/components/duotone-control/index.js.map +1 -1
  80. package/build/components/editor-styles/index.js +9 -3
  81. package/build/components/editor-styles/index.js.map +1 -1
  82. package/build/components/font-appearance-control/index.js +32 -21
  83. package/build/components/font-appearance-control/index.js.map +1 -1
  84. package/build/components/iframe/index.js +6 -4
  85. package/build/components/iframe/index.js.map +1 -1
  86. package/build/components/image-editor/aspect-ratio-dropdown.js +126 -0
  87. package/build/components/image-editor/aspect-ratio-dropdown.js.map +1 -0
  88. package/build/components/image-editor/constants.js +16 -0
  89. package/build/components/image-editor/constants.js.map +1 -0
  90. package/build/components/image-editor/context.js +59 -0
  91. package/build/components/image-editor/context.js.map +1 -0
  92. package/build/components/image-editor/cropper.js +83 -0
  93. package/build/components/image-editor/cropper.js.map +1 -0
  94. package/build/components/image-editor/form-controls.js +36 -0
  95. package/build/components/image-editor/form-controls.js.map +1 -0
  96. package/build/components/image-editor/index.js +60 -0
  97. package/build/components/image-editor/index.js.map +1 -0
  98. package/build/components/image-editor/rotation-button.js +37 -0
  99. package/build/components/image-editor/rotation-button.js.map +1 -0
  100. package/build/components/image-editor/use-save-image.js +84 -0
  101. package/build/components/image-editor/use-save-image.js.map +1 -0
  102. package/build/components/image-editor/use-transform-image.js +135 -0
  103. package/build/components/image-editor/use-transform-image.js.map +1 -0
  104. package/build/components/image-editor/zoom-dropdown.js +55 -0
  105. package/build/components/image-editor/zoom-dropdown.js.map +1 -0
  106. package/build/components/image-size-control/use-dimension-handler.js +14 -3
  107. package/build/components/image-size-control/use-dimension-handler.js.map +1 -1
  108. package/build/components/index.js +36 -20
  109. package/build/components/index.js.map +1 -1
  110. package/build/components/index.native.js +2 -2
  111. package/build/components/index.native.js.map +1 -1
  112. package/build/components/inner-blocks/button-block-appender.js +11 -1
  113. package/build/components/inner-blocks/button-block-appender.js.map +1 -1
  114. package/build/components/inner-blocks/index.js +8 -5
  115. package/build/components/inner-blocks/index.js.map +1 -1
  116. package/build/components/inner-blocks/index.native.js +4 -3
  117. package/build/components/inner-blocks/index.native.js.map +1 -1
  118. package/build/components/inner-blocks/use-nested-settings-update.js +24 -13
  119. package/build/components/inner-blocks/use-nested-settings-update.js.map +1 -1
  120. package/build/components/inserter/block-patterns-explorer/explorer.js +62 -0
  121. package/build/components/inserter/block-patterns-explorer/explorer.js.map +1 -0
  122. package/build/components/inserter/block-patterns-explorer/patterns-list.js +111 -0
  123. package/build/components/inserter/block-patterns-explorer/patterns-list.js.map +1 -0
  124. package/build/components/inserter/block-patterns-explorer/sidebar.js +78 -0
  125. package/build/components/inserter/block-patterns-explorer/sidebar.js.map +1 -0
  126. package/build/components/inserter/block-patterns-tab.js +74 -35
  127. package/build/components/inserter/block-patterns-tab.js.map +1 -1
  128. package/build/components/inserter/block-types-tab.native.js +3 -11
  129. package/build/components/inserter/block-types-tab.native.js.map +1 -1
  130. package/build/components/inserter/hooks/use-block-type-impressions.native.js +4 -7
  131. package/build/components/inserter/hooks/use-block-type-impressions.native.js.map +1 -1
  132. package/build/components/inserter/hooks/use-clipboard-block.native.js +5 -4
  133. package/build/components/inserter/hooks/use-clipboard-block.native.js.map +1 -1
  134. package/build/components/inserter/index.js +12 -4
  135. package/build/components/inserter/index.js.map +1 -1
  136. package/build/components/inserter/index.native.js +1 -7
  137. package/build/components/inserter/index.native.js.map +1 -1
  138. package/build/components/inserter/library.js +2 -0
  139. package/build/components/inserter/library.js.map +1 -1
  140. package/build/components/inserter/menu.js +2 -1
  141. package/build/components/inserter/menu.js.map +1 -1
  142. package/build/components/inserter/menu.native.js +11 -15
  143. package/build/components/inserter/menu.native.js.map +1 -1
  144. package/build/components/inserter/pattern-panel.js +19 -10
  145. package/build/components/inserter/pattern-panel.js.map +1 -1
  146. package/build/components/inserter/preview-panel.js +1 -1
  147. package/build/components/inserter/preview-panel.js.map +1 -1
  148. package/build/components/inserter/quick-inserter.js +2 -1
  149. package/build/components/inserter/quick-inserter.js.map +1 -1
  150. package/build/components/inserter/reusable-blocks-tab.native.js +5 -6
  151. package/build/components/inserter/reusable-blocks-tab.native.js.map +1 -1
  152. package/build/components/inserter/search-results.native.js +6 -11
  153. package/build/components/inserter/search-results.native.js.map +1 -1
  154. package/build/components/inserter/utils.native.js +44 -0
  155. package/build/components/inserter/utils.native.js.map +1 -0
  156. package/build/components/inspector-controls/block-support-slot-container.js +28 -0
  157. package/build/components/inspector-controls/block-support-slot-container.js.map +1 -0
  158. package/build/components/inspector-controls/block-support-tools-panel.js +78 -0
  159. package/build/components/inspector-controls/block-support-tools-panel.js.map +1 -0
  160. package/build/components/inspector-controls/fill.js +16 -1
  161. package/build/components/inspector-controls/fill.js.map +1 -1
  162. package/build/components/inspector-controls/groups.js +5 -1
  163. package/build/components/inspector-controls/groups.js.map +1 -1
  164. package/build/components/inspector-controls/slot.js +15 -0
  165. package/build/components/inspector-controls/slot.js.map +1 -1
  166. package/build/components/letter-spacing-control/index.js +9 -6
  167. package/build/components/letter-spacing-control/index.js.map +1 -1
  168. package/build/components/link-control/index.js +93 -34
  169. package/build/components/link-control/index.js.map +1 -1
  170. package/build/components/link-control/link-preview.js +45 -15
  171. package/build/components/link-control/link-preview.js.map +1 -1
  172. package/build/components/link-control/search-input.js +25 -7
  173. package/build/components/link-control/search-input.js.map +1 -1
  174. package/build/components/list-view/block-contents.js +1 -20
  175. package/build/components/list-view/block-contents.js.map +1 -1
  176. package/build/components/list-view/block.js +54 -69
  177. package/build/components/list-view/block.js.map +1 -1
  178. package/build/components/list-view/branch.js +102 -76
  179. package/build/components/list-view/branch.js.map +1 -1
  180. package/build/components/list-view/index.js +45 -20
  181. package/build/components/list-view/index.js.map +1 -1
  182. package/build/components/list-view/leaf.js +2 -2
  183. package/build/components/list-view/leaf.js.map +1 -1
  184. package/build/components/list-view/list-item.js +3 -2
  185. package/build/components/list-view/list-item.js.map +1 -1
  186. package/build/components/list-view/use-list-view-client-ids.js +13 -54
  187. package/build/components/list-view/use-list-view-client-ids.js.map +1 -1
  188. package/build/components/media-placeholder/index.js +29 -20
  189. package/build/components/media-placeholder/index.js.map +1 -1
  190. package/build/components/media-replace-flow/index.js +5 -3
  191. package/build/components/media-replace-flow/index.js.map +1 -1
  192. package/build/components/navigable-toolbar/index.js +1 -4
  193. package/build/components/navigable-toolbar/index.js.map +1 -1
  194. package/build/components/observe-typing/index.js +1 -1
  195. package/build/components/observe-typing/index.js.map +1 -1
  196. package/build/components/plain-text/index.native.js +30 -1
  197. package/build/components/plain-text/index.native.js.map +1 -1
  198. package/build/components/rich-text/embed-handler-picker.native.js +66 -0
  199. package/build/components/rich-text/embed-handler-picker.native.js.map +1 -0
  200. package/build/components/rich-text/format-edit.js +28 -2
  201. package/build/components/rich-text/format-edit.js.map +1 -1
  202. package/build/components/rich-text/format-toolbar/index.js +32 -11
  203. package/build/components/rich-text/format-toolbar/index.js.map +1 -1
  204. package/build/components/rich-text/index.js +5 -1
  205. package/build/components/rich-text/index.js.map +1 -1
  206. package/build/components/rich-text/index.native.js +41 -2
  207. package/build/components/rich-text/index.native.js.map +1 -1
  208. package/build/components/rich-text/use-paste-handler.js +28 -9
  209. package/build/components/rich-text/use-paste-handler.js.map +1 -1
  210. package/build/components/rich-text/utils.js +22 -0
  211. package/build/components/rich-text/utils.js.map +1 -1
  212. package/build/components/typewriter/index.js +1 -1
  213. package/build/components/typewriter/index.js.map +1 -1
  214. package/build/components/url-input/index.js +25 -11
  215. package/build/components/url-input/index.js.map +1 -1
  216. package/build/components/use-moving-animation/index.js +13 -10
  217. package/build/components/use-moving-animation/index.js.map +1 -1
  218. package/build/components/use-on-block-drop/index.js +2 -1
  219. package/build/components/use-on-block-drop/index.js.map +1 -1
  220. package/build/components/use-setting/index.js +48 -9
  221. package/build/components/use-setting/index.js.map +1 -1
  222. package/build/components/writing-flow/use-multi-selection.js +6 -0
  223. package/build/components/writing-flow/use-multi-selection.js.map +1 -1
  224. package/build/components/writing-flow/use-tab-nav.js +10 -1
  225. package/build/components/writing-flow/use-tab-nav.js.map +1 -1
  226. package/build/hooks/align.js +13 -10
  227. package/build/hooks/align.js.map +1 -1
  228. package/build/hooks/anchor.js +1 -1
  229. package/build/hooks/anchor.js.map +1 -1
  230. package/build/hooks/border.js +5 -5
  231. package/build/hooks/border.js.map +1 -1
  232. package/build/hooks/color-panel.js +5 -2
  233. package/build/hooks/color-panel.js.map +1 -1
  234. package/build/hooks/color.js +1 -1
  235. package/build/hooks/color.js.map +1 -1
  236. package/build/hooks/dimensions.js +23 -27
  237. package/build/hooks/dimensions.js.map +1 -1
  238. package/build/hooks/duotone.js +60 -16
  239. package/build/hooks/duotone.js.map +1 -1
  240. package/build/hooks/font-appearance.js +49 -6
  241. package/build/hooks/font-appearance.js.map +1 -1
  242. package/build/hooks/font-family.js +123 -32
  243. package/build/hooks/font-family.js.map +1 -1
  244. package/build/hooks/font-size.js +51 -9
  245. package/build/hooks/font-size.js.map +1 -1
  246. package/build/hooks/gap.js +2 -1
  247. package/build/hooks/gap.js.map +1 -1
  248. package/build/hooks/index.js +10 -0
  249. package/build/hooks/index.js.map +1 -1
  250. package/build/hooks/index.native.js +8 -0
  251. package/build/hooks/index.native.js.map +1 -1
  252. package/build/hooks/letter-spacing.js +44 -7
  253. package/build/hooks/letter-spacing.js.map +1 -1
  254. package/build/hooks/line-height.js +45 -8
  255. package/build/hooks/line-height.js.map +1 -1
  256. package/build/hooks/lock.js +43 -0
  257. package/build/hooks/lock.js.map +1 -0
  258. package/build/hooks/margin.js +1 -1
  259. package/build/hooks/margin.js.map +1 -1
  260. package/build/hooks/padding.js +1 -1
  261. package/build/hooks/padding.js.map +1 -1
  262. package/build/hooks/style.js +7 -4
  263. package/build/hooks/style.js.map +1 -1
  264. package/build/hooks/text-decoration.js +42 -6
  265. package/build/hooks/text-decoration.js.map +1 -1
  266. package/build/hooks/text-transform.js +42 -6
  267. package/build/hooks/text-transform.js.map +1 -1
  268. package/build/hooks/typography.js +108 -8
  269. package/build/hooks/typography.js.map +1 -1
  270. package/build/hooks/use-cached-truthy.js +29 -0
  271. package/build/hooks/use-cached-truthy.js.map +1 -0
  272. package/build/index.js +7 -0
  273. package/build/index.js.map +1 -1
  274. package/build/layouts/flex.js +160 -34
  275. package/build/layouts/flex.js.map +1 -1
  276. package/build/layouts/flow.js +75 -8
  277. package/build/layouts/flow.js.map +1 -1
  278. package/build/store/actions.js +323 -265
  279. package/build/store/actions.js.map +1 -1
  280. package/build/store/defaults.native.js +13 -1
  281. package/build/store/defaults.native.js.map +1 -1
  282. package/build/store/index.js +1 -3
  283. package/build/store/index.js.map +1 -1
  284. package/build/store/reducer.js +33 -22
  285. package/build/store/reducer.js.map +1 -1
  286. package/build/store/selectors.js +172 -38
  287. package/build/store/selectors.js.map +1 -1
  288. package/build/utils/index.js +10 -1
  289. package/build/utils/index.js.map +1 -1
  290. package/build/utils/parse-css-unit-to-px.js +51 -1
  291. package/build/utils/parse-css-unit-to-px.js.map +1 -1
  292. package/build/utils/transform-styles/transforms/wrap.js +16 -0
  293. package/build/utils/transform-styles/transforms/wrap.js.map +1 -1
  294. package/build-module/components/autocomplete/index.js +2 -2
  295. package/build-module/components/autocomplete/index.js.map +1 -1
  296. package/build-module/components/block-actions/index.js +8 -4
  297. package/build-module/components/block-actions/index.js.map +1 -1
  298. package/build-module/components/block-alignment-control/ui.js +64 -17
  299. package/build-module/components/block-alignment-control/ui.js.map +1 -1
  300. package/build-module/components/block-alignment-control/use-available-alignments.js +25 -3
  301. package/build-module/components/block-alignment-control/use-available-alignments.js.map +1 -1
  302. package/build-module/components/block-controls/fill.js +2 -2
  303. package/build-module/components/block-controls/fill.js.map +1 -1
  304. package/build-module/components/block-controls/hook.js +3 -3
  305. package/build-module/components/block-controls/hook.js.map +1 -1
  306. package/build-module/components/block-icon/index.js +5 -1
  307. package/build-module/components/block-icon/index.js.map +1 -1
  308. package/build-module/components/block-icon/index.native.js +10 -11
  309. package/build-module/components/block-icon/index.native.js.map +1 -1
  310. package/build-module/components/block-inspector/index.js +8 -0
  311. package/build-module/components/block-inspector/index.js.map +1 -1
  312. package/build-module/components/block-list/block-html.js +5 -0
  313. package/build-module/components/block-list/block-html.js.map +1 -1
  314. package/build-module/components/block-list/block.js +12 -5
  315. package/build-module/components/block-list/block.js.map +1 -1
  316. package/build-module/components/block-list/block.native.js +4 -3
  317. package/build-module/components/block-list/block.native.js.map +1 -1
  318. package/build-module/components/block-list/index.native.js +1 -1
  319. package/build-module/components/block-list/index.native.js.map +1 -1
  320. package/build-module/components/block-list/use-block-props/use-multi-selection.js +21 -8
  321. package/build-module/components/block-list/use-block-props/use-multi-selection.js.map +1 -1
  322. package/build-module/components/block-list-appender/index.js +9 -1
  323. package/build-module/components/block-list-appender/index.js.map +1 -1
  324. package/build-module/components/block-mover/index.js +4 -4
  325. package/build-module/components/block-mover/index.js.map +1 -1
  326. package/build-module/components/block-mover/index.native.js +4 -4
  327. package/build-module/components/block-mover/index.native.js.map +1 -1
  328. package/build-module/components/block-navigation/dropdown.js +0 -1
  329. package/build-module/components/block-navigation/dropdown.js.map +1 -1
  330. package/build-module/components/block-patterns-list/index.js +1 -6
  331. package/build-module/components/block-patterns-list/index.js.map +1 -1
  332. package/build-module/components/block-preview/auto.js +1 -1
  333. package/build-module/components/block-preview/auto.js.map +1 -1
  334. package/build-module/components/block-settings/container.native.js +6 -3
  335. package/build-module/components/block-settings/container.native.js.map +1 -1
  336. package/build-module/components/block-settings-menu/block-settings-dropdown.js +28 -7
  337. package/build-module/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
  338. package/build-module/components/block-settings-menu-controls/index.js +10 -3
  339. package/build-module/components/block-settings-menu-controls/index.js.map +1 -1
  340. package/build-module/components/block-styles/preview.native.js +2 -2
  341. package/build-module/components/block-styles/preview.native.js.map +1 -1
  342. package/build-module/components/block-switcher/block-styles-menu.js +1 -1
  343. package/build-module/components/block-switcher/block-styles-menu.js.map +1 -1
  344. package/build-module/components/block-switcher/index.js +10 -3
  345. package/build-module/components/block-switcher/index.js.map +1 -1
  346. package/build-module/components/block-title/index.js +3 -2
  347. package/build-module/components/block-title/index.js.map +1 -1
  348. package/build-module/components/block-tools/block-popover.js +3 -5
  349. package/build-module/components/block-tools/block-popover.js.map +1 -1
  350. package/build-module/components/block-tools/index.js +4 -1
  351. package/build-module/components/block-tools/index.js.map +1 -1
  352. package/build-module/components/block-tools/insertion-point.js +96 -8
  353. package/build-module/components/block-tools/insertion-point.js.map +1 -1
  354. package/build-module/components/border-radius-control/index.js.map +1 -1
  355. package/build-module/components/border-radius-control/utils.js +16 -9
  356. package/build-module/components/border-radius-control/utils.js.map +1 -1
  357. package/build-module/components/colors/utils.js +9 -3
  358. package/build-module/components/colors/utils.js.map +1 -1
  359. package/build-module/components/colors-gradients/control.js +26 -63
  360. package/build-module/components/colors-gradients/control.js.map +1 -1
  361. package/build-module/components/colors-gradients/panel-color-gradient-settings.js +84 -7
  362. package/build-module/components/colors-gradients/panel-color-gradient-settings.js.map +1 -1
  363. package/build-module/components/contrast-checker/index.js +13 -10
  364. package/build-module/components/contrast-checker/index.js.map +1 -1
  365. package/build-module/components/copy-handler/index.js +9 -3
  366. package/build-module/components/copy-handler/index.js.map +1 -1
  367. package/build-module/components/default-block-appender/index.js +2 -2
  368. package/build-module/components/default-block-appender/index.js.map +1 -1
  369. package/build-module/components/duotone-control/index.js +43 -39
  370. package/build-module/components/duotone-control/index.js.map +1 -1
  371. package/build-module/components/editor-styles/index.js +7 -3
  372. package/build-module/components/editor-styles/index.js.map +1 -1
  373. package/build-module/components/font-appearance-control/index.js +28 -21
  374. package/build-module/components/font-appearance-control/index.js.map +1 -1
  375. package/build-module/components/iframe/index.js +6 -4
  376. package/build-module/components/iframe/index.js.map +1 -1
  377. package/build-module/components/image-editor/aspect-ratio-dropdown.js +115 -0
  378. package/build-module/components/image-editor/aspect-ratio-dropdown.js.map +1 -0
  379. package/build-module/components/image-editor/constants.js +7 -0
  380. package/build-module/components/image-editor/constants.js.map +1 -0
  381. package/build-module/components/image-editor/context.js +44 -0
  382. package/build-module/components/image-editor/context.js.map +1 -0
  383. package/build-module/components/image-editor/cropper.js +69 -0
  384. package/build-module/components/image-editor/cropper.js.map +1 -0
  385. package/build-module/components/image-editor/form-controls.js +26 -0
  386. package/build-module/components/image-editor/form-controls.js.map +1 -0
  387. package/build-module/components/image-editor/index.js +37 -0
  388. package/build-module/components/image-editor/index.js.map +1 -0
  389. package/build-module/components/image-editor/rotation-button.js +26 -0
  390. package/build-module/components/image-editor/rotation-button.js.map +1 -0
  391. package/build-module/components/image-editor/use-save-image.js +70 -0
  392. package/build-module/components/image-editor/use-save-image.js.map +1 -0
  393. package/build-module/components/image-editor/use-transform-image.js +127 -0
  394. package/build-module/components/image-editor/use-transform-image.js.map +1 -0
  395. package/build-module/components/image-editor/zoom-dropdown.js +43 -0
  396. package/build-module/components/image-editor/zoom-dropdown.js.map +1 -0
  397. package/build-module/components/image-size-control/use-dimension-handler.js +13 -2
  398. package/build-module/components/image-size-control/use-dimension-handler.js.map +1 -1
  399. package/build-module/components/index.js +4 -3
  400. package/build-module/components/index.js.map +1 -1
  401. package/build-module/components/index.native.js +1 -1
  402. package/build-module/components/index.native.js.map +1 -1
  403. package/build-module/components/inner-blocks/button-block-appender.js +10 -1
  404. package/build-module/components/inner-blocks/button-block-appender.js.map +1 -1
  405. package/build-module/components/inner-blocks/index.js +9 -6
  406. package/build-module/components/inner-blocks/index.js.map +1 -1
  407. package/build-module/components/inner-blocks/index.native.js +5 -4
  408. package/build-module/components/inner-blocks/index.native.js.map +1 -1
  409. package/build-module/components/inner-blocks/use-nested-settings-update.js +24 -13
  410. package/build-module/components/inner-blocks/use-nested-settings-update.js.map +1 -1
  411. package/build-module/components/inserter/block-patterns-explorer/explorer.js +50 -0
  412. package/build-module/components/inserter/block-patterns-explorer/explorer.js.map +1 -0
  413. package/build-module/components/inserter/block-patterns-explorer/patterns-list.js +92 -0
  414. package/build-module/components/inserter/block-patterns-explorer/patterns-list.js.map +1 -0
  415. package/build-module/components/inserter/block-patterns-explorer/sidebar.js +69 -0
  416. package/build-module/components/inserter/block-patterns-explorer/sidebar.js.map +1 -0
  417. package/build-module/components/inserter/block-patterns-tab.js +75 -36
  418. package/build-module/components/inserter/block-patterns-tab.js.map +1 -1
  419. package/build-module/components/inserter/block-types-tab.native.js +2 -10
  420. package/build-module/components/inserter/block-types-tab.native.js.map +1 -1
  421. package/build-module/components/inserter/hooks/use-block-type-impressions.native.js +4 -7
  422. package/build-module/components/inserter/hooks/use-block-type-impressions.native.js.map +1 -1
  423. package/build-module/components/inserter/hooks/use-clipboard-block.native.js +5 -4
  424. package/build-module/components/inserter/hooks/use-clipboard-block.native.js.map +1 -1
  425. package/build-module/components/inserter/index.js +12 -4
  426. package/build-module/components/inserter/index.js.map +1 -1
  427. package/build-module/components/inserter/index.native.js +1 -7
  428. package/build-module/components/inserter/index.native.js.map +1 -1
  429. package/build-module/components/inserter/library.js +2 -0
  430. package/build-module/components/inserter/library.js.map +1 -1
  431. package/build-module/components/inserter/menu.js +2 -1
  432. package/build-module/components/inserter/menu.js.map +1 -1
  433. package/build-module/components/inserter/menu.native.js +10 -15
  434. package/build-module/components/inserter/menu.native.js.map +1 -1
  435. package/build-module/components/inserter/pattern-panel.js +21 -13
  436. package/build-module/components/inserter/pattern-panel.js.map +1 -1
  437. package/build-module/components/inserter/preview-panel.js +1 -1
  438. package/build-module/components/inserter/preview-panel.js.map +1 -1
  439. package/build-module/components/inserter/quick-inserter.js +2 -1
  440. package/build-module/components/inserter/quick-inserter.js.map +1 -1
  441. package/build-module/components/inserter/reusable-blocks-tab.native.js +4 -5
  442. package/build-module/components/inserter/reusable-blocks-tab.native.js.map +1 -1
  443. package/build-module/components/inserter/search-results.native.js +5 -10
  444. package/build-module/components/inserter/search-results.native.js.map +1 -1
  445. package/build-module/components/inserter/utils.native.js +35 -0
  446. package/build-module/components/inserter/utils.native.js.map +1 -0
  447. package/build-module/components/inspector-controls/block-support-slot-container.js +18 -0
  448. package/build-module/components/inspector-controls/block-support-slot-container.js.map +1 -0
  449. package/build-module/components/inspector-controls/block-support-tools-panel.js +67 -0
  450. package/build-module/components/inspector-controls/block-support-tools-panel.js.map +1 -0
  451. package/build-module/components/inspector-controls/fill.js +16 -2
  452. package/build-module/components/inspector-controls/fill.js.map +1 -1
  453. package/build-module/components/inspector-controls/groups.js +5 -1
  454. package/build-module/components/inspector-controls/groups.js.map +1 -1
  455. package/build-module/components/inspector-controls/slot.js +13 -0
  456. package/build-module/components/inspector-controls/slot.js.map +1 -1
  457. package/build-module/components/letter-spacing-control/index.js +9 -6
  458. package/build-module/components/letter-spacing-control/index.js.map +1 -1
  459. package/build-module/components/link-control/index.js +93 -35
  460. package/build-module/components/link-control/index.js.map +1 -1
  461. package/build-module/components/link-control/link-preview.js +46 -17
  462. package/build-module/components/link-control/link-preview.js.map +1 -1
  463. package/build-module/components/link-control/search-input.js +24 -7
  464. package/build-module/components/link-control/search-input.js.map +1 -1
  465. package/build-module/components/list-view/block-contents.js +1 -18
  466. package/build-module/components/list-view/block-contents.js.map +1 -1
  467. package/build-module/components/list-view/block.js +56 -71
  468. package/build-module/components/list-view/block.js.map +1 -1
  469. package/build-module/components/list-view/branch.js +102 -78
  470. package/build-module/components/list-view/branch.js.map +1 -1
  471. package/build-module/components/list-view/index.js +48 -23
  472. package/build-module/components/list-view/index.js.map +1 -1
  473. package/build-module/components/list-view/leaf.js +2 -2
  474. package/build-module/components/list-view/leaf.js.map +1 -1
  475. package/build-module/components/list-view/list-item.js +3 -2
  476. package/build-module/components/list-view/list-item.js.map +1 -1
  477. package/build-module/components/list-view/use-list-view-client-ids.js +13 -54
  478. package/build-module/components/list-view/use-list-view-client-ids.js.map +1 -1
  479. package/build-module/components/media-placeholder/index.js +29 -20
  480. package/build-module/components/media-placeholder/index.js.map +1 -1
  481. package/build-module/components/media-replace-flow/index.js +5 -3
  482. package/build-module/components/media-replace-flow/index.js.map +1 -1
  483. package/build-module/components/navigable-toolbar/index.js +1 -4
  484. package/build-module/components/navigable-toolbar/index.js.map +1 -1
  485. package/build-module/components/observe-typing/index.js +1 -1
  486. package/build-module/components/observe-typing/index.js.map +1 -1
  487. package/build-module/components/plain-text/index.native.js +29 -2
  488. package/build-module/components/plain-text/index.native.js.map +1 -1
  489. package/build-module/components/rich-text/embed-handler-picker.native.js +54 -0
  490. package/build-module/components/rich-text/embed-handler-picker.native.js.map +1 -0
  491. package/build-module/components/rich-text/format-edit.js +28 -3
  492. package/build-module/components/rich-text/format-edit.js.map +1 -1
  493. package/build-module/components/rich-text/format-toolbar/index.js +29 -11
  494. package/build-module/components/rich-text/format-toolbar/index.js.map +1 -1
  495. package/build-module/components/rich-text/index.js +4 -1
  496. package/build-module/components/rich-text/index.js.map +1 -1
  497. package/build-module/components/rich-text/index.native.js +41 -3
  498. package/build-module/components/rich-text/index.native.js.map +1 -1
  499. package/build-module/components/rich-text/use-paste-handler.js +28 -9
  500. package/build-module/components/rich-text/use-paste-handler.js.map +1 -1
  501. package/build-module/components/rich-text/utils.js +20 -0
  502. package/build-module/components/rich-text/utils.js.map +1 -1
  503. package/build-module/components/typewriter/index.js +1 -1
  504. package/build-module/components/typewriter/index.js.map +1 -1
  505. package/build-module/components/url-input/index.js +25 -11
  506. package/build-module/components/url-input/index.js.map +1 -1
  507. package/build-module/components/use-moving-animation/index.js +13 -10
  508. package/build-module/components/use-moving-animation/index.js.map +1 -1
  509. package/build-module/components/use-on-block-drop/index.js +3 -2
  510. package/build-module/components/use-on-block-drop/index.js.map +1 -1
  511. package/build-module/components/use-setting/index.js +48 -9
  512. package/build-module/components/use-setting/index.js.map +1 -1
  513. package/build-module/components/writing-flow/use-multi-selection.js +6 -0
  514. package/build-module/components/writing-flow/use-multi-selection.js.map +1 -1
  515. package/build-module/components/writing-flow/use-tab-nav.js +10 -1
  516. package/build-module/components/writing-flow/use-tab-nav.js.map +1 -1
  517. package/build-module/hooks/align.js +13 -10
  518. package/build-module/hooks/align.js.map +1 -1
  519. package/build-module/hooks/anchor.js +1 -1
  520. package/build-module/hooks/anchor.js.map +1 -1
  521. package/build-module/hooks/border.js +5 -5
  522. package/build-module/hooks/border.js.map +1 -1
  523. package/build-module/hooks/color-panel.js +6 -3
  524. package/build-module/hooks/color-panel.js.map +1 -1
  525. package/build-module/hooks/color.js +1 -1
  526. package/build-module/hooks/color.js.map +1 -1
  527. package/build-module/hooks/dimensions.js +24 -27
  528. package/build-module/hooks/dimensions.js.map +1 -1
  529. package/build-module/hooks/duotone.js +59 -16
  530. package/build-module/hooks/duotone.js.map +1 -1
  531. package/build-module/hooks/font-appearance.js +45 -6
  532. package/build-module/hooks/font-appearance.js.map +1 -1
  533. package/build-module/hooks/font-family.js +117 -33
  534. package/build-module/hooks/font-family.js.map +1 -1
  535. package/build-module/hooks/font-size.js +47 -9
  536. package/build-module/hooks/font-size.js.map +1 -1
  537. package/build-module/hooks/gap.js +2 -1
  538. package/build-module/hooks/gap.js.map +1 -1
  539. package/build-module/hooks/index.js +2 -0
  540. package/build-module/hooks/index.js.map +1 -1
  541. package/build-module/hooks/index.native.js +1 -0
  542. package/build-module/hooks/index.native.js.map +1 -1
  543. package/build-module/hooks/letter-spacing.js +40 -7
  544. package/build-module/hooks/letter-spacing.js.map +1 -1
  545. package/build-module/hooks/line-height.js +41 -8
  546. package/build-module/hooks/line-height.js.map +1 -1
  547. package/build-module/hooks/lock.js +33 -0
  548. package/build-module/hooks/lock.js.map +1 -0
  549. package/build-module/hooks/margin.js +1 -1
  550. package/build-module/hooks/margin.js.map +1 -1
  551. package/build-module/hooks/padding.js +1 -1
  552. package/build-module/hooks/padding.js.map +1 -1
  553. package/build-module/hooks/style.js +7 -4
  554. package/build-module/hooks/style.js.map +1 -1
  555. package/build-module/hooks/text-decoration.js +38 -6
  556. package/build-module/hooks/text-decoration.js.map +1 -1
  557. package/build-module/hooks/text-transform.js +38 -6
  558. package/build-module/hooks/text-transform.js.map +1 -1
  559. package/build-module/hooks/typography.js +117 -17
  560. package/build-module/hooks/typography.js.map +1 -1
  561. package/build-module/hooks/use-cached-truthy.js +21 -0
  562. package/build-module/hooks/use-cached-truthy.js.map +1 -0
  563. package/build-module/index.js +1 -1
  564. package/build-module/index.js.map +1 -1
  565. package/build-module/layouts/flex.js +163 -38
  566. package/build-module/layouts/flex.js.map +1 -1
  567. package/build-module/layouts/flow.js +74 -8
  568. package/build-module/layouts/flow.js.map +1 -1
  569. package/build-module/store/actions.js +286 -241
  570. package/build-module/store/actions.js.map +1 -1
  571. package/build-module/store/defaults.native.js +12 -1
  572. package/build-module/store/defaults.native.js.map +1 -1
  573. package/build-module/store/index.js +1 -2
  574. package/build-module/store/index.js.map +1 -1
  575. package/build-module/store/reducer.js +33 -22
  576. package/build-module/store/reducer.js.map +1 -1
  577. package/build-module/store/selectors.js +160 -34
  578. package/build-module/store/selectors.js.map +1 -1
  579. package/build-module/utils/index.js +1 -0
  580. package/build-module/utils/index.js.map +1 -1
  581. package/build-module/utils/parse-css-unit-to-px.js +48 -1
  582. package/build-module/utils/parse-css-unit-to-px.js.map +1 -1
  583. package/build-module/utils/transform-styles/transforms/wrap.js +16 -0
  584. package/build-module/utils/transform-styles/transforms/wrap.js.map +1 -1
  585. package/build-style/style-rtl.css +267 -144
  586. package/build-style/style.css +267 -144
  587. package/package.json +28 -27
  588. package/src/components/autocomplete/index.js +5 -2
  589. package/src/components/block-actions/index.js +9 -5
  590. package/src/components/block-alignment-control/style.scss +5 -0
  591. package/src/components/block-alignment-control/test/__snapshots__/index.js.snap +15 -1
  592. package/src/components/block-alignment-control/test/index.native.js +37 -0
  593. package/src/components/block-alignment-control/ui.js +98 -27
  594. package/src/components/block-alignment-control/use-available-alignments.js +31 -10
  595. package/src/components/block-controls/fill.js +5 -2
  596. package/src/components/block-controls/hook.js +3 -3
  597. package/src/components/block-draggable/style.scss +19 -4
  598. package/src/components/block-icon/index.js +4 -1
  599. package/src/components/block-icon/index.native.js +10 -16
  600. package/src/components/block-inspector/index.js +10 -0
  601. package/src/components/block-list/block-html.js +5 -0
  602. package/src/components/block-list/block.js +11 -3
  603. package/src/components/block-list/block.native.js +5 -3
  604. package/src/components/block-list/index.native.js +1 -1
  605. package/src/components/block-list/style.scss +15 -0
  606. package/src/components/block-list/use-block-props/use-multi-selection.js +27 -7
  607. package/src/components/block-list-appender/index.js +8 -0
  608. package/src/components/block-mover/index.js +4 -4
  609. package/src/components/block-mover/index.native.js +4 -4
  610. package/src/components/block-mover/test/__snapshots__/index.native.js.snap +10 -6
  611. package/src/components/block-mover/test/index.native.js +26 -28
  612. package/src/components/block-navigation/dropdown.js +0 -1
  613. package/src/components/block-patterns-list/index.js +1 -8
  614. package/src/components/block-patterns-list/style.scss +22 -12
  615. package/src/components/block-preview/README.md +1 -1
  616. package/src/components/block-preview/auto.js +1 -1
  617. package/src/components/block-preview/style.scss +0 -17
  618. package/src/components/block-settings/container.native.js +7 -0
  619. package/src/components/block-settings-menu/block-settings-dropdown.js +26 -13
  620. package/src/components/block-settings-menu-controls/index.js +9 -6
  621. package/src/components/block-styles/preview.native.js +2 -2
  622. package/src/components/block-switcher/block-styles-menu.js +1 -1
  623. package/src/components/block-switcher/index.js +7 -3
  624. package/src/components/block-switcher/test/__snapshots__/index.js.snap +1 -1
  625. package/src/components/block-switcher/test/index.js +3 -0
  626. package/src/components/block-title/index.js +5 -2
  627. package/src/components/block-tools/block-popover.js +3 -5
  628. package/src/components/block-tools/index.js +5 -2
  629. package/src/components/block-tools/insertion-point.js +97 -9
  630. package/src/components/block-tools/style.scss +4 -35
  631. package/src/components/block-types-list/style.scss +0 -3
  632. package/src/components/border-radius-control/index.js +1 -0
  633. package/src/components/border-radius-control/test/utils.js +216 -0
  634. package/src/components/border-radius-control/utils.js +18 -10
  635. package/src/components/color-palette/test/__snapshots__/control.js.snap +128 -71
  636. package/src/components/colors/test/utils.js +41 -0
  637. package/src/components/colors/utils.js +9 -5
  638. package/src/components/colors-gradients/control.js +70 -110
  639. package/src/components/colors-gradients/panel-color-gradient-settings.js +79 -7
  640. package/src/components/colors-gradients/style.scss +10 -18
  641. package/src/components/colors-gradients/test/control.js +41 -66
  642. package/src/components/contrast-checker/index.js +14 -10
  643. package/src/components/copy-handler/index.js +6 -1
  644. package/src/components/default-block-appender/index.js +2 -2
  645. package/src/components/default-block-appender/test/__snapshots__/index.js.snap +3 -3
  646. package/src/components/duotone-control/index.js +49 -41
  647. package/src/components/duotone-control/style.scss +27 -12
  648. package/src/components/editor-styles/index.js +7 -4
  649. package/src/components/font-appearance-control/index.js +41 -33
  650. package/src/components/font-appearance-control/style.scss +1 -1
  651. package/src/components/iframe/index.js +4 -4
  652. package/src/components/image-editor/aspect-ratio-dropdown.js +129 -0
  653. package/src/components/image-editor/constants.js +6 -0
  654. package/src/components/image-editor/context.js +56 -0
  655. package/src/components/image-editor/cropper.js +74 -0
  656. package/src/components/image-editor/form-controls.js +22 -0
  657. package/src/components/image-editor/index.js +52 -0
  658. package/src/components/image-editor/rotation-button.js +24 -0
  659. package/src/components/image-editor/use-save-image.js +97 -0
  660. package/src/components/image-editor/use-transform-image.js +162 -0
  661. package/src/components/image-editor/zoom-dropdown.js +40 -0
  662. package/src/components/image-size-control/use-dimension-handler.js +18 -1
  663. package/src/components/index.js +7 -6
  664. package/src/components/index.native.js +1 -4
  665. package/src/components/inner-blocks/button-block-appender.js +9 -0
  666. package/src/components/inner-blocks/index.js +8 -4
  667. package/src/components/inner-blocks/index.native.js +7 -4
  668. package/src/components/inner-blocks/use-nested-settings-update.js +26 -11
  669. package/src/components/inserter/block-patterns-explorer/explorer.js +50 -0
  670. package/src/components/inserter/block-patterns-explorer/patterns-list.js +122 -0
  671. package/src/components/inserter/block-patterns-explorer/sidebar.js +73 -0
  672. package/src/components/inserter/block-patterns-tab.js +107 -73
  673. package/src/components/inserter/block-types-tab.native.js +3 -15
  674. package/src/components/inserter/hooks/use-block-type-impressions.native.js +14 -21
  675. package/src/components/inserter/hooks/use-clipboard-block.native.js +3 -2
  676. package/src/components/inserter/index.js +15 -3
  677. package/src/components/inserter/index.native.js +2 -19
  678. package/src/components/inserter/library.js +2 -0
  679. package/src/components/inserter/menu.js +4 -1
  680. package/src/components/inserter/menu.native.js +9 -14
  681. package/src/components/inserter/pattern-panel.js +33 -16
  682. package/src/components/inserter/preview-panel.js +1 -1
  683. package/src/components/inserter/quick-inserter.js +1 -1
  684. package/src/components/inserter/reusable-blocks-tab.native.js +4 -6
  685. package/src/components/inserter/search-results.native.js +5 -15
  686. package/src/components/inserter/style.scss +80 -16
  687. package/src/components/inserter/test/block-types-tab.native.js +1 -1
  688. package/src/components/inserter/test/fixtures/index.native.js +12 -0
  689. package/src/components/inserter/utils.native.js +35 -0
  690. package/src/components/inserter-list-item/style.scss +4 -2
  691. package/src/components/inspector-controls/block-support-slot-container.js +10 -0
  692. package/src/components/inspector-controls/block-support-tools-panel.js +60 -0
  693. package/src/components/inspector-controls/fill.js +23 -2
  694. package/src/components/inspector-controls/groups.js +8 -0
  695. package/src/components/inspector-controls/slot.js +15 -0
  696. package/src/components/letter-spacing-control/index.js +12 -6
  697. package/src/components/link-control/README.md +47 -14
  698. package/src/components/link-control/index.js +102 -31
  699. package/src/components/link-control/link-preview.js +53 -20
  700. package/src/components/link-control/search-input.js +21 -7
  701. package/src/components/link-control/style.scss +66 -19
  702. package/src/components/link-control/test/index.js +311 -4
  703. package/src/components/list-view/block-contents.js +17 -38
  704. package/src/components/list-view/block.js +73 -84
  705. package/src/components/list-view/branch.js +123 -94
  706. package/src/components/list-view/index.js +82 -30
  707. package/src/components/list-view/leaf.js +2 -2
  708. package/src/components/list-view/list-item.js +5 -4
  709. package/src/components/list-view/style.scss +70 -33
  710. package/src/components/list-view/use-list-view-client-ids.js +9 -68
  711. package/src/components/media-placeholder/index.js +26 -19
  712. package/src/components/media-replace-flow/README.md +7 -0
  713. package/src/components/media-replace-flow/index.js +4 -1
  714. package/src/components/media-upload/README.md +1 -1
  715. package/src/components/navigable-toolbar/index.js +1 -4
  716. package/src/components/observe-typing/index.js +3 -2
  717. package/src/components/plain-text/index.native.js +26 -4
  718. package/src/components/rich-text/embed-handler-picker.native.js +68 -0
  719. package/src/components/rich-text/format-edit.js +36 -2
  720. package/src/components/rich-text/format-toolbar/index.js +25 -6
  721. package/src/components/rich-text/index.js +12 -8
  722. package/src/components/rich-text/index.native.js +35 -1
  723. package/src/components/rich-text/use-paste-handler.js +30 -12
  724. package/src/components/rich-text/utils.js +16 -0
  725. package/src/components/skip-to-selected-block/README.md +39 -0
  726. package/src/components/typewriter/index.js +3 -2
  727. package/src/components/url-input/index.js +26 -10
  728. package/src/components/use-moving-animation/index.js +9 -8
  729. package/src/components/use-on-block-drop/index.js +5 -1
  730. package/src/components/use-setting/index.js +49 -11
  731. package/src/components/writing-flow/use-multi-selection.js +6 -0
  732. package/src/components/writing-flow/use-tab-nav.js +17 -3
  733. package/src/hooks/align.js +19 -10
  734. package/src/hooks/anchor.js +2 -2
  735. package/src/hooks/border.js +8 -11
  736. package/src/hooks/color-panel.js +4 -1
  737. package/src/hooks/color.js +7 -4
  738. package/src/hooks/dimensions.js +48 -59
  739. package/src/hooks/duotone.js +68 -19
  740. package/src/hooks/font-appearance.js +38 -7
  741. package/src/hooks/font-family.js +129 -33
  742. package/src/hooks/font-size.js +42 -6
  743. package/src/hooks/gap.js +2 -1
  744. package/src/hooks/index.js +2 -0
  745. package/src/hooks/index.native.js +1 -0
  746. package/src/hooks/layout.scss +8 -0
  747. package/src/hooks/letter-spacing.js +35 -7
  748. package/src/hooks/line-height.js +37 -9
  749. package/src/hooks/lock.js +34 -0
  750. package/src/hooks/margin.js +1 -1
  751. package/src/hooks/padding.js +1 -1
  752. package/src/hooks/style.js +15 -11
  753. package/src/hooks/text-decoration.js +34 -6
  754. package/src/hooks/text-transform.js +34 -6
  755. package/src/hooks/typography.js +165 -15
  756. package/src/hooks/typography.scss +16 -0
  757. package/src/hooks/use-cached-truthy.js +20 -0
  758. package/src/index.js +1 -0
  759. package/src/layouts/flex.js +179 -50
  760. package/src/layouts/flow.js +54 -8
  761. package/src/store/actions.js +239 -377
  762. package/src/store/defaults.native.js +12 -0
  763. package/src/store/index.js +1 -2
  764. package/src/store/reducer.js +54 -18
  765. package/src/store/selectors.js +173 -47
  766. package/src/store/test/actions.js +407 -705
  767. package/src/store/test/reducer.js +22 -54
  768. package/src/store/test/selectors.js +79 -21
  769. package/src/style.scss +2 -1
  770. package/src/utils/index.js +1 -0
  771. package/src/utils/parse-css-unit-to-px.js +43 -1
  772. package/src/utils/test/parse-css-unit-to-px.js +148 -165
  773. package/src/utils/transform-styles/transforms/test/wrap.js +1 -1
  774. package/src/utils/transform-styles/transforms/wrap.js +16 -0
  775. package/tsconfig.tsbuildinfo +1 -1
  776. package/build/components/duotone-control/duotone-picker-popover.js +0 -44
  777. package/build/components/duotone-control/duotone-picker-popover.js.map +0 -1
  778. package/build/components/list-view/block-slot.js +0 -121
  779. package/build/components/list-view/block-slot.js.map +0 -1
  780. package/build/components/list-view/editor.js +0 -35
  781. package/build/components/list-view/editor.js.map +0 -1
  782. package/build/components/text-decoration-and-transform/index.js +0 -39
  783. package/build/components/text-decoration-and-transform/index.js.map +0 -1
  784. package/build/store/controls.js +0 -44
  785. package/build/store/controls.js.map +0 -1
  786. package/build-module/components/duotone-control/duotone-picker-popover.js +0 -35
  787. package/build-module/components/duotone-control/duotone-picker-popover.js.map +0 -1
  788. package/build-module/components/list-view/block-slot.js +0 -96
  789. package/build-module/components/list-view/block-slot.js.map +0 -1
  790. package/build-module/components/list-view/editor.js +0 -25
  791. package/build-module/components/list-view/editor.js.map +0 -1
  792. package/build-module/components/text-decoration-and-transform/index.js +0 -30
  793. package/build-module/components/text-decoration-and-transform/index.js.map +0 -1
  794. package/build-module/store/controls.js +0 -32
  795. package/build-module/store/controls.js.map +0 -1
  796. package/src/components/duotone-control/duotone-picker-popover.js +0 -36
  797. package/src/components/list-view/block-slot.js +0 -120
  798. package/src/components/list-view/editor.js +0 -29
  799. package/src/components/text-decoration-and-transform/index.js +0 -36
  800. package/src/components/text-decoration-and-transform/style.scss +0 -3
  801. package/src/store/controls.js +0 -39
@@ -10,10 +10,7 @@ import BlockTypesList from '../block-types-list';
10
10
  import useClipboardBlock from './hooks/use-clipboard-block';
11
11
  import { store as blockEditorStore } from '../../store';
12
12
  import useBlockTypeImpressions from './hooks/use-block-type-impressions';
13
-
14
- const NON_BLOCK_CATEGORIES = [ 'reusable' ];
15
-
16
- const ALLOWED_EMBED_VARIATIONS = [ 'core/embed' ];
13
+ import { filterInserterItems } from './utils';
17
14
 
18
15
  function BlockTypesTab( { onSelect, rootClientId, listProps } ) {
19
16
  const clipboardBlock = useClipboardBlock( rootClientId );
@@ -21,17 +18,8 @@ function BlockTypesTab( { onSelect, rootClientId, listProps } ) {
21
18
  const { blockTypes } = useSelect(
22
19
  ( select ) => {
23
20
  const { getInserterItems } = select( blockEditorStore );
24
-
25
- const allItems = getInserterItems( rootClientId );
26
- const blockItems = allItems.filter(
27
- ( { id, category } ) =>
28
- ! NON_BLOCK_CATEGORIES.includes( category ) &&
29
- // We don't want to show all possible embed variations
30
- // as different blocks in the inserter. We'll only show a
31
- // few popular ones.
32
- ( category !== 'embed' ||
33
- ( category === 'embed' &&
34
- ALLOWED_EMBED_VARIATIONS.includes( id ) ) )
21
+ const blockItems = filterInserterItems(
22
+ getInserterItems( rootClientId )
35
23
  );
36
24
 
37
25
  return {
@@ -10,29 +10,22 @@ import { setBlockTypeImpressions } from '@wordpress/react-native-bridge';
10
10
  import { store as blockEditorStore } from '../../../store';
11
11
 
12
12
  function useBlockTypeImpressions( blockTypes ) {
13
- const { blockTypeImpressions, enableEditorOnboarding } = useSelect(
14
- ( select ) => {
15
- const { getSettings: getBlockEditorSettings } = select(
16
- blockEditorStore
17
- );
18
- const { editorOnboarding, impressions } = getBlockEditorSettings();
19
-
20
- return {
21
- blockTypeImpressions: impressions,
22
- enableEditorOnboarding: editorOnboarding,
23
- };
24
- },
25
- []
26
- );
13
+ const { blockTypeImpressions } = useSelect( ( select ) => {
14
+ const { getSettings: getBlockEditorSettings } = select(
15
+ blockEditorStore
16
+ );
17
+ const { impressions } = getBlockEditorSettings();
18
+
19
+ return {
20
+ blockTypeImpressions: impressions,
21
+ };
22
+ }, [] );
27
23
  const { updateSettings } = useDispatch( blockEditorStore );
28
24
 
29
- const items = enableEditorOnboarding
30
- ? blockTypes.map( ( blockType ) => ( {
31
- ...blockType,
32
- isNew: blockTypeImpressions[ blockType.name ] > 0,
33
- } ) )
34
- : blockTypes;
35
-
25
+ const items = blockTypes.map( ( blockType ) => ( {
26
+ ...blockType,
27
+ isNew: blockTypeImpressions[ blockType.name ] > 0,
28
+ } ) );
36
29
  const trackBlockTypeSelected = ( { name } ) => {
37
30
  if ( blockTypeImpressions[ name ] > 0 ) {
38
31
  const updatedBlockTypeImpressions = {
@@ -21,12 +21,13 @@ export default function useClipboardBlock( destinationRootClientId ) {
21
21
  clipboardBlock?.name,
22
22
  destinationRootClientId
23
23
  );
24
+ const blockType = getBlockType( clipboardBlock?.name );
24
25
 
25
- if ( ! canAddClipboardBlock ) {
26
+ if ( ! canAddClipboardBlock || ! blockType ) {
26
27
  return undefined;
27
28
  }
28
29
 
29
- const { icon, name } = getBlockType( clipboardBlock.name );
30
+ const { name, icon } = blockType;
30
31
  const { attributes: initialAttributes, innerBlocks } = clipboardBlock;
31
32
 
32
33
  return {
@@ -102,6 +102,7 @@ class Inserter extends Component {
102
102
  disabled,
103
103
  blockTitle,
104
104
  hasSingleBlockType,
105
+ directInsertBlock,
105
106
  toggleProps,
106
107
  hasItems,
107
108
  renderToggle = defaultRenderToggle,
@@ -113,6 +114,7 @@ class Inserter extends Component {
113
114
  disabled: disabled || ! hasItems,
114
115
  blockTitle,
115
116
  hasSingleBlockType,
117
+ directInsertBlock,
116
118
  toggleProps,
117
119
  } );
118
120
  }
@@ -168,12 +170,13 @@ class Inserter extends Component {
168
170
  const {
169
171
  position,
170
172
  hasSingleBlockType,
173
+ directInsertBlock,
171
174
  insertOnlyAllowedBlock,
172
175
  __experimentalIsQuick: isQuick,
173
176
  onSelectOrClose,
174
177
  } = this.props;
175
178
 
176
- if ( hasSingleBlockType ) {
179
+ if ( hasSingleBlockType || directInsertBlock?.length ) {
177
180
  return this.renderToggle( { onToggle: insertOnlyAllowedBlock } );
178
181
  }
179
182
 
@@ -202,6 +205,7 @@ export default compose( [
202
205
  getBlockRootClientId,
203
206
  hasInserterItems,
204
207
  __experimentalGetAllowedBlocks,
208
+ __experimentalGetDirectInsertBlock,
205
209
  } = select( blockEditorStore );
206
210
  const { getBlockVariations } = select( blocksStore );
207
211
 
@@ -210,6 +214,10 @@ export default compose( [
210
214
 
211
215
  const allowedBlocks = __experimentalGetAllowedBlocks( rootClientId );
212
216
 
217
+ const directInsertBlock = __experimentalGetDirectInsertBlock(
218
+ rootClientId
219
+ );
220
+
213
221
  const hasSingleBlockType =
214
222
  size( allowedBlocks ) === 1 &&
215
223
  size(
@@ -226,6 +234,7 @@ export default compose( [
226
234
  hasSingleBlockType,
227
235
  blockTitle: allowedBlockType ? allowedBlockType.title : '',
228
236
  allowedBlockType,
237
+ directInsertBlock,
229
238
  rootClientId,
230
239
  };
231
240
  } ),
@@ -238,10 +247,11 @@ export default compose( [
238
247
  isAppender,
239
248
  hasSingleBlockType,
240
249
  allowedBlockType,
250
+ directInsertBlock,
241
251
  onSelectOrClose,
242
252
  } = ownProps;
243
253
 
244
- if ( ! hasSingleBlockType ) {
254
+ if ( ! hasSingleBlockType && ! directInsertBlock?.length ) {
245
255
  return;
246
256
  }
247
257
 
@@ -274,7 +284,9 @@ export default compose( [
274
284
 
275
285
  const { insertBlock } = dispatch( blockEditorStore );
276
286
 
277
- const blockToInsert = createBlock( allowedBlockType.name );
287
+ const blockToInsert = directInsertBlock?.length
288
+ ? createBlock( ...directInsertBlock )
289
+ : createBlock( allowedBlockType.name );
278
290
 
279
291
  insertBlock( blockToInsert, getInsertionIndex(), rootClientId );
280
292
 
@@ -32,19 +32,9 @@ import { store as blockEditorStore } from '../../store';
32
32
 
33
33
  const VOICE_OVER_ANNOUNCEMENT_DELAY = 1000;
34
34
 
35
- const defaultRenderToggle = ( {
36
- displayEditorOnboardingTooltip,
37
- onToggle,
38
- disabled,
39
- style,
40
- onLongPress,
41
- } ) => (
35
+ const defaultRenderToggle = ( { onToggle, disabled, style, onLongPress } ) => (
42
36
  <ToolbarButton
43
- title={
44
- displayEditorOnboardingTooltip
45
- ? __( 'Tap to add content' )
46
- : __( 'Add block' )
47
- }
37
+ title={ __( 'Add block' ) }
48
38
  icon={
49
39
  <Icon
50
40
  icon={ plusCircleFilled }
@@ -52,8 +42,6 @@ const defaultRenderToggle = ( {
52
42
  color={ style.color }
53
43
  />
54
44
  }
55
- showTooltip={ displayEditorOnboardingTooltip }
56
- tooltipPosition="top right"
57
45
  onClick={ onToggle }
58
46
  extraProps={ {
59
47
  hint: __( 'Double tap to add a block' ),
@@ -227,7 +215,6 @@ export class Inserter extends Component {
227
215
  */
228
216
  renderInserterToggle( { onToggle, isOpen } ) {
229
217
  const {
230
- displayEditorOnboardingTooltip,
231
218
  disabled,
232
219
  renderToggle = defaultRenderToggle,
233
220
  getStylesFromColorScheme,
@@ -274,7 +261,6 @@ export class Inserter extends Component {
274
261
  return (
275
262
  <>
276
263
  { renderToggle( {
277
- displayEditorOnboardingTooltip,
278
264
  onToggle: onPress,
279
265
  isOpen,
280
266
  disabled,
@@ -410,9 +396,6 @@ export default compose( [
410
396
 
411
397
  return {
412
398
  blockTypeImpressions: getBlockEditorSettings().impressions,
413
- displayEditorOnboardingTooltip:
414
- getBlockEditorSettings().editorOnboarding &&
415
- getBlockEditorSettings().firstGutenbergEditorSession,
416
399
  destinationRootClientId,
417
400
  insertionIndexDefault: getDefaultInsertionIndex(),
418
401
  insertionIndexBefore,
@@ -21,6 +21,7 @@ function InserterLibrary( {
21
21
  showInserterHelpPanel,
22
22
  showMostUsedBlocks = false,
23
23
  __experimentalInsertionIndex,
24
+ __experimentalFilterValue,
24
25
  onSelect = noop,
25
26
  shouldFocusBlock = false,
26
27
  } ) {
@@ -44,6 +45,7 @@ function InserterLibrary( {
44
45
  showInserterHelpPanel={ showInserterHelpPanel }
45
46
  showMostUsedBlocks={ showMostUsedBlocks }
46
47
  __experimentalInsertionIndex={ __experimentalInsertionIndex }
48
+ __experimentalFilterValue={ __experimentalFilterValue }
47
49
  shouldFocusBlock={ shouldFocusBlock }
48
50
  />
49
51
  );
@@ -27,9 +27,12 @@ function InserterMenu( {
27
27
  onSelect,
28
28
  showInserterHelpPanel,
29
29
  showMostUsedBlocks,
30
+ __experimentalFilterValue = '',
30
31
  shouldFocusBlock = true,
31
32
  } ) {
32
- const [ filterValue, setFilterValue ] = useState( '' );
33
+ const [ filterValue, setFilterValue ] = useState(
34
+ __experimentalFilterValue
35
+ );
33
36
  const [ hoveredItem, setHoveredItem ] = useState( null );
34
37
  const [ selectedPatternCategory, setSelectedPatternCategory ] = useState(
35
38
  null
@@ -22,10 +22,9 @@ import InserterSearchResults from './search-results';
22
22
  import { store as blockEditorStore } from '../../store';
23
23
  import InserterTabs from './tabs';
24
24
  import styles from './style.scss';
25
+ import { filterInserterItems } from './utils';
25
26
 
26
27
  const MIN_ITEMS_FOR_SEARCH = 2;
27
- const REUSABLE_BLOCKS_CATEGORY = 'reusable';
28
-
29
28
  function InserterMenu( {
30
29
  onSelect,
31
30
  onDismiss,
@@ -37,8 +36,6 @@ function InserterMenu( {
37
36
  } ) {
38
37
  const [ filterValue, setFilterValue ] = useState( '' );
39
38
  const [ showTabs, setShowTabs ] = useState( true );
40
- // eslint-disable-next-line no-undef
41
- const [ showSearchForm, setShowSearchForm ] = useState( true );
42
39
  const [ tabIndex, setTabIndex ] = useState( 0 );
43
40
 
44
41
  const isIOS = Platform.OS === 'ios';
@@ -71,9 +68,9 @@ function InserterMenu( {
71
68
  }
72
69
 
73
70
  const allItems = getInserterItems( targetRootClientId );
74
- const reusableBlockItems = allItems.filter(
75
- ( { category } ) => category === REUSABLE_BLOCKS_CATEGORY
76
- );
71
+ const reusableBlockItems = filterInserterItems( allItems, {
72
+ onlyReusable: true,
73
+ } );
77
74
 
78
75
  return {
79
76
  items: allItems,
@@ -105,11 +102,6 @@ function InserterMenu( {
105
102
  }
106
103
  showInsertionPoint( destinationRootClientId, insertionIndex );
107
104
 
108
- // Show search form if there are enough items to filter.
109
- if ( items.length < MIN_ITEMS_FOR_SEARCH ) {
110
- setShowSearchForm( false );
111
- }
112
-
113
105
  return hideInsertionPoint;
114
106
  }, [] );
115
107
 
@@ -178,6 +170,9 @@ function InserterMenu( {
178
170
  setShowTabs,
179
171
  ] );
180
172
 
173
+ const showSearchForm = items.length > MIN_ITEMS_FOR_SEARCH;
174
+ const isFullScreen = ! isIOS && showSearchForm;
175
+
181
176
  return (
182
177
  <BottomSheet
183
178
  isVisible={ true }
@@ -203,7 +198,7 @@ function InserterMenu( {
203
198
  hasNavigation
204
199
  setMinHeightToMaxHeight={ true }
205
200
  contentStyle={ styles[ 'inserter-menu__list' ] }
206
- isFullScreen={ ! isIOS && showSearchForm }
201
+ isFullScreen={ isFullScreen }
207
202
  allowDragIndicator={ true }
208
203
  >
209
204
  <BottomSheetConsumer>
@@ -218,7 +213,7 @@ function InserterMenu( {
218
213
  filterValue={ filterValue }
219
214
  onSelect={ onSelectItem }
220
215
  listProps={ listProps }
221
- isFullScreen={ ! isIOS && showSearchForm }
216
+ isFullScreen={ isFullScreen }
222
217
  />
223
218
  ) : (
224
219
  <InserterTabs
@@ -6,15 +6,17 @@ import classnames from 'classnames';
6
6
  /**
7
7
  * WordPress dependencies
8
8
  */
9
- import { SelectControl } from '@wordpress/components';
10
- import { __ } from '@wordpress/i18n';
9
+ import { Flex, FlexItem, SelectControl, Button } from '@wordpress/components';
10
+ import { __, _x } from '@wordpress/i18n';
11
+ import { useViewportMatch } from '@wordpress/compose';
11
12
 
12
13
  function PatternInserterPanel( {
13
14
  selectedCategory,
14
15
  patternCategories,
15
16
  onClickCategory,
16
- children,
17
+ openPatternExplorer,
17
18
  } ) {
19
+ const isMobile = useViewportMatch( 'medium', '<' );
18
20
  const categoryOptions = () => {
19
21
  const options = [];
20
22
 
@@ -36,12 +38,10 @@ function PatternInserterPanel( {
36
38
  );
37
39
  };
38
40
 
39
- const getPanelHeaderClassName = () => {
40
- return classnames(
41
- 'block-editor-inserter__panel-header',
42
- 'block-editor-inserter__panel-header-patterns'
43
- );
44
- };
41
+ const className = classnames(
42
+ 'block-editor-inserter__panel-header',
43
+ 'block-editor-inserter__panel-header-patterns'
44
+ );
45
45
 
46
46
  // In iOS-based mobile devices, the onBlur will fire when selecting an option
47
47
  // from a Select element. To prevent closing the useDialog on iOS devices, we
@@ -54,8 +54,13 @@ function PatternInserterPanel( {
54
54
  };
55
55
 
56
56
  return (
57
- <>
58
- <div className={ getPanelHeaderClassName() }>
57
+ <Flex
58
+ justify="space-between"
59
+ align="start"
60
+ gap="4"
61
+ className={ className }
62
+ >
63
+ <FlexItem isBlock>
59
64
  <SelectControl
60
65
  className="block-editor-inserter__panel-dropdown"
61
66
  label={ __( 'Filter patterns' ) }
@@ -65,11 +70,23 @@ function PatternInserterPanel( {
65
70
  onBlur={ onBlur }
66
71
  options={ categoryOptions() }
67
72
  />
68
- </div>
69
- <div className="block-editor-inserter__panel-content">
70
- { children }
71
- </div>
72
- </>
73
+ </FlexItem>
74
+ { ! isMobile && (
75
+ <FlexItem>
76
+ <Button
77
+ variant="secondary"
78
+ className="block-editor-inserter__patterns-explorer-expand"
79
+ label={ __( 'Explore all patterns' ) }
80
+ onClick={ () => openPatternExplorer() }
81
+ >
82
+ { _x(
83
+ 'Explore',
84
+ 'Label for showing all block patterns'
85
+ ) }
86
+ </Button>
87
+ </FlexItem>
88
+ ) }
89
+ </Flex>
73
90
  );
74
91
  }
75
92
 
@@ -22,7 +22,7 @@ function InserterPreviewPanel( { item } ) {
22
22
  return (
23
23
  <div className="block-editor-inserter__preview-container">
24
24
  <div className="block-editor-inserter__preview">
25
- { isReusable || hoveredItemBlockType.example ? (
25
+ { isReusable || hoveredItemBlockType?.example ? (
26
26
  <div className="block-editor-inserter__preview-content">
27
27
  <BlockPreview
28
28
  __experimentalPadding={ 16 }
@@ -75,7 +75,7 @@ export default function QuickInserter( {
75
75
  // When clicking Browse All select the appropriate block so as
76
76
  // the insertion point can work as expected
77
77
  const onBrowseAll = () => {
78
- setInserterIsOpened( { rootClientId, insertionIndex } );
78
+ setInserterIsOpened( { rootClientId, insertionIndex, filterValue } );
79
79
  };
80
80
 
81
81
  return (
@@ -8,19 +8,17 @@ import { useSelect } from '@wordpress/data';
8
8
  */
9
9
  import BlockTypesList from '../block-types-list';
10
10
  import { store as blockEditorStore } from '../../store';
11
-
12
- const REUSABLE_BLOCKS_CATEGORY = 'reusable';
11
+ import { filterInserterItems } from './utils';
13
12
 
14
13
  function ReusableBlocksTab( { onSelect, rootClientId, listProps } ) {
15
14
  const { items } = useSelect(
16
15
  ( select ) => {
17
16
  const { getInserterItems } = select( blockEditorStore );
18
17
  const allItems = getInserterItems( rootClientId );
19
- const reusableBlockItems = allItems.filter(
20
- ( { category } ) => category === REUSABLE_BLOCKS_CATEGORY
21
- );
22
18
 
23
- return { items: reusableBlockItems };
19
+ return {
20
+ items: filterInserterItems( allItems, { onlyReusable: true } ),
21
+ };
24
22
  },
25
23
  [ rootClientId ]
26
24
  );
@@ -11,9 +11,7 @@ import BlockTypesList from '../block-types-list';
11
11
  import InserterNoResults from './no-results';
12
12
  import { store as blockEditorStore } from '../../store';
13
13
  import useBlockTypeImpressions from './hooks/use-block-type-impressions';
14
-
15
- const NON_BLOCK_CATEGORIES = [ 'reusable' ];
16
- const ALLOWED_EMBED_VARIATIONS = [ 'core/embed' ];
14
+ import { filterInserterItems } from './utils';
17
15
 
18
16
  function InserterSearchResults( {
19
17
  filterValue,
@@ -28,18 +26,10 @@ function InserterSearchResults( {
28
26
  rootClientId
29
27
  );
30
28
 
31
- const blockItems = allItems.filter(
32
- ( { id, category } ) =>
33
- ! NON_BLOCK_CATEGORIES.includes( category ) &&
34
- // We don't want to show all possible embed variations
35
- // as different blocks in the inserter. We'll only show a
36
- // few popular ones.
37
- ( category !== 'embed' ||
38
- ( category === 'embed' &&
39
- ALLOWED_EMBED_VARIATIONS.includes( id ) ) )
40
- );
41
-
42
- const filteredItems = searchItems( blockItems, filterValue );
29
+ const availableItems = filterInserterItems( allItems, {
30
+ allowReusable: true,
31
+ } );
32
+ const filteredItems = searchItems( availableItems, filterValue );
43
33
 
44
34
  return { blockTypes: filteredItems };
45
35
  },
@@ -25,19 +25,19 @@ $block-inserter-tabs-height: 44px;
25
25
  border: none;
26
26
 
27
27
  .block-editor-inserter__quick-inserter > * {
28
- border-left: 1px solid $gray-400;
29
- border-right: 1px solid $gray-400;
28
+ border-left: $border-width solid $gray-400;
29
+ border-right: $border-width solid $gray-400;
30
30
 
31
31
  &:first-child {
32
- border-top: 1px solid $gray-400;
32
+ border-top: $border-width solid $gray-400;
33
33
  }
34
34
 
35
35
  &:last-child {
36
- border-bottom: 1px solid $gray-400;
36
+ border-bottom: $border-width solid $gray-400;
37
37
  }
38
38
 
39
39
  &.components-button {
40
- border: 1px solid $gray-900;
40
+ border: $border-width solid $gray-900;
41
41
  }
42
42
  }
43
43
  }
@@ -100,7 +100,7 @@ $block-inserter-tabs-height: 44px;
100
100
 
101
101
  .block-editor-inserter__search {
102
102
  background: $white;
103
- padding: $grid-unit-20;
103
+ padding: $grid-unit-20 $grid-unit-20 0 $grid-unit-20;
104
104
  position: sticky;
105
105
  top: 0;
106
106
  z-index: z-index(".block-editor-inserter__search");
@@ -108,17 +108,20 @@ $block-inserter-tabs-height: 44px;
108
108
  .components-search-control__icon {
109
109
  right: $grid-unit-10 + ($grid-unit-60 - $icon-size) * 0.5;
110
110
  }
111
+
112
+ .components-base-control__field {
113
+ margin-bottom: 0;
114
+ }
111
115
  }
112
116
 
113
117
  .block-editor-inserter__tabs {
114
118
  display: flex;
115
119
  flex-direction: column;
116
- margin-top: -$grid-unit-10;
117
120
 
118
121
  .components-tab-panel__tabs {
119
122
  position: sticky;
120
123
  // Computed based off the search input height and paddings
121
- top: $grid-unit-10 + $grid-unit-20 + $grid-unit-60;
124
+ top: $grid-unit-20 + $grid-unit-60;
122
125
  background: $white;
123
126
  z-index: z-index(".block-editor-inserter__tabs .components-tab-panel__tabs");
124
127
  border-bottom: $border-width solid $gray-300;
@@ -163,7 +166,8 @@ $block-inserter-tabs-height: 44px;
163
166
  }
164
167
 
165
168
  .block-editor-inserter__panel-dropdown select.components-select-control__input.components-select-control__input.components-select-control__input {
166
- line-height: 1.2;
169
+ height: 36px;
170
+ line-height: 36px;
167
171
  }
168
172
 
169
173
  .block-editor-inserter__panel-dropdown select {
@@ -175,10 +179,6 @@ $block-inserter-tabs-height: 44px;
175
179
  position: relative;
176
180
  }
177
181
 
178
- .block-editor-inserter__popover .block-editor-block-types-list {
179
- margin: -8px;
180
- }
181
-
182
182
  .block-editor-inserter__reusable-blocks-panel {
183
183
  position: relative;
184
184
  text-align: right;
@@ -191,7 +191,6 @@ $block-inserter-tabs-height: 44px;
191
191
 
192
192
  .block-editor-inserter__no-results {
193
193
  padding: $grid-unit-40;
194
- margin-top: $grid-unit-40 * 2;
195
194
  text-align: center;
196
195
  }
197
196
 
@@ -298,6 +297,12 @@ $block-inserter-tabs-height: 44px;
298
297
  display: grid;
299
298
  grid-template-columns: 1fr 1fr;
300
299
  grid-gap: $grid-unit-10;
300
+ .block-editor-block-patterns-list__list-item {
301
+ margin-bottom: 0;
302
+ }
303
+ .block-editor-block-preview__container {
304
+ min-height: 100px;
305
+ }
301
306
  }
302
307
  }
303
308
 
@@ -325,7 +330,66 @@ $block-inserter-tabs-height: 44px;
325
330
  color: $gray-400;
326
331
  }
327
332
 
328
- &:focus:not(:disabled) {
329
- box-shadow: inset 0 0 0 1.5px var(--wp-admin-theme-color), inset 0 0 0 3px #fff;
333
+ // Specificity is needed for the border color.
334
+ &.components-button:focus:not(:disabled) {
335
+ box-shadow: none;
336
+ background: var(--wp-admin-theme-color);
337
+ border-color: var(--wp-admin-theme-color);
338
+ }
339
+ }
340
+
341
+ .block-editor-block-patterns-explorer {
342
+ &__sidebar {
343
+ position: absolute;
344
+ top: $header-height;
345
+ left: 0;
346
+ bottom: 0;
347
+ width: $sidebar-width;
348
+ padding: $grid-unit-30 $grid-unit-40 $grid-unit-40;
349
+ overflow-x: visible;
350
+ overflow-y: scroll;
351
+
352
+ &__categories-list__item {
353
+ display: block;
354
+ width: 100%;
355
+ height: 48px;
356
+ text-align: left;
357
+ }
358
+ }
359
+
360
+ &__search {
361
+ margin-bottom: $grid-unit-40;
362
+ }
363
+
364
+ &__search-results-count {
365
+ padding-bottom: $grid-unit-40;
366
+ }
367
+
368
+ &__list {
369
+ margin-left: $sidebar-width - $grid-unit-40;
370
+ }
371
+
372
+ .block-editor-block-patterns-list {
373
+ display: grid;
374
+ grid-gap: $grid-unit-40;
375
+ grid-template-columns: repeat(1, 1fr);
376
+
377
+ @include break-xlarge() {
378
+ grid-template-columns: repeat(2, 1fr);
379
+ }
380
+
381
+ @include break-huge() {
382
+ grid-template-columns: repeat(3, 1fr);
383
+ }
384
+
385
+ .block-editor-block-patterns-list__list-item {
386
+ min-height: 240px;
387
+ }
388
+
389
+ .block-editor-block-preview__container {
390
+ height: inherit;
391
+ min-height: 100px;
392
+ max-height: 800px;
393
+ }
330
394
  }
331
395
  }
@@ -24,7 +24,7 @@ const selectMock = {
24
24
  canInsertBlockType: jest.fn(),
25
25
  getBlockType: jest.fn(),
26
26
  getClipboard: jest.fn(),
27
- getSettings: jest.fn( () => ( {} ) ),
27
+ getSettings: jest.fn( () => ( { impressions: {} } ) ),
28
28
  };
29
29
 
30
30
  describe( 'BlockTypesTab component', () => {
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Internal dependencies
3
+ */
4
+ import fixtures from './index.js';
5
+
6
+ export * from './index';
7
+
8
+ export default fixtures.map( ( filteredItems ) => ( {
9
+ ...filteredItems,
10
+ // Set `isNew` property expected from block type impressions
11
+ isNew: false,
12
+ } ) );