@wordpress/block-editor 15.23.0 → 16.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (684) hide show
  1. package/CHANGELOG.md +33 -0
  2. package/build/autocompleters/block.cjs +10 -2
  3. package/build/autocompleters/block.cjs.map +2 -2
  4. package/build/components/background-image-control/index.cjs +0 -2
  5. package/build/components/background-image-control/index.cjs.map +2 -2
  6. package/build/components/block-canvas/index.cjs +6 -1
  7. package/build/components/block-canvas/index.cjs.map +2 -2
  8. package/build/components/block-controls/groups.cjs +3 -1
  9. package/build/components/block-controls/groups.cjs.map +2 -2
  10. package/build/components/block-edit/edit.cjs +10 -18
  11. package/build/components/block-edit/edit.cjs.map +2 -2
  12. package/build/components/block-inspector/edit-contents.cjs +3 -0
  13. package/build/components/block-inspector/edit-contents.cjs.map +3 -3
  14. package/build/components/block-inspector/index.cjs +2 -3
  15. package/build/components/block-inspector/index.cjs.map +2 -2
  16. package/build/components/block-list/block-invalid-warning.cjs +8 -19
  17. package/build/components/block-list/block-invalid-warning.cjs.map +2 -2
  18. package/build/components/block-list/block.cjs +9 -3
  19. package/build/components/block-list/block.cjs.map +3 -3
  20. package/build/components/block-list/index.cjs +1 -3
  21. package/build/components/block-list/index.cjs.map +2 -2
  22. package/build/components/block-list/use-block-props/index.cjs +3 -1
  23. package/build/components/block-list/use-block-props/index.cjs.map +2 -2
  24. package/build/components/block-list/use-block-props/use-focus-first-element.cjs +9 -4
  25. package/build/components/block-list/use-block-props/use-focus-first-element.cjs.map +2 -2
  26. package/build/components/block-list/use-block-props/use-focus-handler.cjs +12 -4
  27. package/build/components/block-list/use-block-props/use-focus-handler.cjs.map +2 -2
  28. package/build/components/block-styles/use-styles-for-block.cjs +2 -1
  29. package/build/components/block-styles/use-styles-for-block.cjs.map +2 -2
  30. package/build/components/block-title/use-block-display-title.cjs +7 -2
  31. package/build/components/block-title/use-block-display-title.cjs.map +2 -2
  32. package/build/components/block-toolbar/block-toolbar-icon.cjs +10 -14
  33. package/build/components/block-toolbar/block-toolbar-icon.cjs.map +2 -2
  34. package/build/components/block-toolbar/index.cjs +43 -24
  35. package/build/components/block-toolbar/index.cjs.map +2 -2
  36. package/build/components/block-tools/index.cjs +7 -2
  37. package/build/components/block-tools/index.cjs.map +2 -2
  38. package/build/components/block-variation-transforms/index.cjs +0 -1
  39. package/build/components/block-variation-transforms/index.cjs.map +2 -2
  40. package/build/components/block-visibility/modal.cjs +20 -6
  41. package/build/components/block-visibility/modal.cjs.map +2 -2
  42. package/build/components/block-visibility/use-block-visibility.cjs +16 -6
  43. package/build/components/block-visibility/use-block-visibility.cjs.map +3 -3
  44. package/build/components/block-visibility/utils.cjs +15 -2
  45. package/build/components/block-visibility/utils.cjs.map +3 -3
  46. package/build/components/block-visibility/viewport-menu-item.cjs +7 -1
  47. package/build/components/block-visibility/viewport-menu-item.cjs.map +2 -2
  48. package/build/components/block-visibility/viewport-toolbar.cjs +5 -0
  49. package/build/components/block-visibility/viewport-toolbar.cjs.map +2 -2
  50. package/build/components/block-visibility/viewport-visibility-info.cjs +5 -1
  51. package/build/components/block-visibility/viewport-visibility-info.cjs.map +2 -2
  52. package/build/components/child-layout-control/index.cjs +0 -6
  53. package/build/components/child-layout-control/index.cjs.map +2 -2
  54. package/build/components/colors-gradients/control.cjs +5 -5
  55. package/build/components/colors-gradients/control.cjs.map +2 -2
  56. package/build/components/date-format-picker/index.cjs +0 -1
  57. package/build/components/date-format-picker/index.cjs.map +2 -2
  58. package/build/components/dimensions-tool/aspect-ratio-tool.cjs +1 -2
  59. package/build/components/dimensions-tool/aspect-ratio-tool.cjs.map +2 -2
  60. package/build/components/dimensions-tool/scale-tool.cjs +0 -1
  61. package/build/components/dimensions-tool/scale-tool.cjs.map +2 -2
  62. package/build/components/dimensions-tool/width-height-tool.cjs +2 -4
  63. package/build/components/dimensions-tool/width-height-tool.cjs.map +2 -2
  64. package/build/components/font-appearance-control/index.cjs +6 -25
  65. package/build/components/font-appearance-control/index.cjs.map +3 -3
  66. package/build/components/font-family/index.cjs +6 -15
  67. package/build/components/font-family/index.cjs.map +3 -3
  68. package/build/components/font-sizes/font-size-picker.cjs +1 -2
  69. package/build/components/font-sizes/font-size-picker.cjs.map +2 -2
  70. package/build/components/global-styles/border-panel.cjs +0 -1
  71. package/build/components/global-styles/border-panel.cjs.map +2 -2
  72. package/build/components/global-styles/dimensions-panel.cjs +0 -3
  73. package/build/components/global-styles/dimensions-panel.cjs.map +2 -2
  74. package/build/components/global-styles/state-control-badges.cjs +39 -3
  75. package/build/components/global-styles/state-control-badges.cjs.map +2 -2
  76. package/build/components/global-styles/typography-panel.cjs +4 -11
  77. package/build/components/global-styles/typography-panel.cjs.map +2 -2
  78. package/build/components/height-control/index.cjs +0 -2
  79. package/build/components/height-control/index.cjs.map +2 -2
  80. package/build/components/html-element-control/index.cjs +0 -1
  81. package/build/components/html-element-control/index.cjs.map +2 -2
  82. package/build/components/image-editor/index.cjs +5 -0
  83. package/build/components/image-editor/index.cjs.map +3 -3
  84. package/build/components/image-editor/zoom-dropdown.cjs +0 -1
  85. package/build/components/image-editor/zoom-dropdown.cjs.map +2 -2
  86. package/build/components/image-size-control/index.cjs +3 -7
  87. package/build/components/image-size-control/index.cjs.map +2 -2
  88. package/build/components/inner-content/index.cjs +107 -0
  89. package/build/components/inner-content/index.cjs.map +7 -0
  90. package/build/components/inserter/hooks/use-block-types-state.cjs +10 -2
  91. package/build/components/inserter/hooks/use-block-types-state.cjs.map +2 -2
  92. package/build/components/inserter/media-tab/hooks.cjs +67 -12
  93. package/build/components/inserter/media-tab/hooks.cjs.map +2 -2
  94. package/build/components/inserter/media-tab/media-list.cjs +3 -1
  95. package/build/components/inserter/media-tab/media-list.cjs.map +2 -2
  96. package/build/components/inserter/media-tab/media-panel.cjs +287 -28
  97. package/build/components/inserter/media-tab/media-panel.cjs.map +3 -3
  98. package/build/components/inserter/media-tab/media-preview.cjs +32 -17
  99. package/build/components/inserter/media-tab/media-preview.cjs.map +2 -2
  100. package/build/components/inserter/media-tab/media-tab.cjs +26 -6
  101. package/build/components/inserter/media-tab/media-tab.cjs.map +2 -2
  102. package/build/components/inserter/mobile-tab-navigation.cjs +6 -1
  103. package/build/components/inserter/mobile-tab-navigation.cjs.map +2 -2
  104. package/build/components/inserter/no-results.cjs +2 -2
  105. package/build/components/inserter/no-results.cjs.map +2 -2
  106. package/build/components/inserter/preview-panel.cjs +2 -1
  107. package/build/components/inserter/preview-panel.cjs.map +2 -2
  108. package/build/components/inserter-list-item/index.cjs +8 -2
  109. package/build/components/inserter-list-item/index.cjs.map +2 -2
  110. package/build/components/keyboard-shortcuts/index.cjs +19 -11
  111. package/build/components/keyboard-shortcuts/index.cjs.map +2 -2
  112. package/build/components/letter-spacing-control/index.cjs +0 -24
  113. package/build/components/letter-spacing-control/index.cjs.map +3 -3
  114. package/build/components/line-height-control/index.cjs +6 -22
  115. package/build/components/line-height-control/index.cjs.map +3 -3
  116. package/build/components/list-view/block-select-button.cjs +90 -84
  117. package/build/components/list-view/block-select-button.cjs.map +2 -2
  118. package/build/components/list-view/block.cjs +61 -21
  119. package/build/components/list-view/block.cjs.map +2 -2
  120. package/build/components/list-view/expander.cjs +1 -1
  121. package/build/components/list-view/expander.cjs.map +2 -2
  122. package/build/components/list-view/use-list-view-client-ids.cjs +2 -2
  123. package/build/components/list-view/use-list-view-client-ids.cjs.map +2 -2
  124. package/build/components/media-placeholder/index.cjs +0 -1
  125. package/build/components/media-placeholder/index.cjs.map +2 -2
  126. package/build/components/observe-typing/index.cjs +4 -3
  127. package/build/components/observe-typing/index.cjs.map +2 -2
  128. package/build/components/preset-input-control/custom-value-controls.cjs +1 -3
  129. package/build/components/preset-input-control/custom-value-controls.cjs.map +2 -2
  130. package/build/components/preset-input-control/index.cjs +1 -3
  131. package/build/components/preset-input-control/index.cjs.map +2 -2
  132. package/build/components/resolution-tool/index.cjs +1 -2
  133. package/build/components/resolution-tool/index.cjs.map +2 -2
  134. package/build/components/rich-text/event-listeners/before-input-rules.cjs +3 -4
  135. package/build/components/rich-text/event-listeners/before-input-rules.cjs.map +3 -3
  136. package/build/components/rich-text/event-listeners/delete.cjs +2 -3
  137. package/build/components/rich-text/event-listeners/delete.cjs.map +3 -3
  138. package/build/components/rich-text/event-listeners/enter.cjs +3 -2
  139. package/build/components/rich-text/event-listeners/enter.cjs.map +3 -3
  140. package/build/components/rich-text/event-listeners/input-events.cjs +3 -3
  141. package/build/components/rich-text/event-listeners/input-events.cjs.map +3 -3
  142. package/build/components/rich-text/event-listeners/input-rules.cjs +3 -4
  143. package/build/components/rich-text/event-listeners/input-rules.cjs.map +3 -3
  144. package/build/components/rich-text/event-listeners/insert-replacement-text.cjs +3 -3
  145. package/build/components/rich-text/event-listeners/insert-replacement-text.cjs.map +3 -3
  146. package/build/components/rich-text/event-listeners/paste-handler.cjs +2 -1
  147. package/build/components/rich-text/event-listeners/paste-handler.cjs.map +3 -3
  148. package/build/components/rich-text/event-listeners/remove-browser-shortcuts.cjs +3 -3
  149. package/build/components/rich-text/event-listeners/remove-browser-shortcuts.cjs.map +3 -3
  150. package/build/components/rich-text/event-listeners/shortcuts.cjs +3 -3
  151. package/build/components/rich-text/event-listeners/shortcuts.cjs.map +3 -3
  152. package/build/components/rich-text/event-listeners/undo-automatic-change.cjs +3 -3
  153. package/build/components/rich-text/event-listeners/undo-automatic-change.cjs.map +3 -3
  154. package/build/components/rich-text/index.cjs +66 -17
  155. package/build/components/rich-text/index.cjs.map +2 -2
  156. package/build/components/text-alignment-control/index.cjs +0 -1
  157. package/build/components/text-alignment-control/index.cjs.map +2 -2
  158. package/build/components/text-decoration-control/index.cjs +0 -1
  159. package/build/components/text-decoration-control/index.cjs.map +2 -2
  160. package/build/components/text-indent-control/index.cjs +0 -8
  161. package/build/components/text-indent-control/index.cjs.map +2 -2
  162. package/build/components/text-transform-control/index.cjs +0 -1
  163. package/build/components/text-transform-control/index.cjs.map +2 -2
  164. package/build/components/typewriter/index.cjs +129 -136
  165. package/build/components/typewriter/index.cjs.map +3 -3
  166. package/build/components/use-block-commands/index.cjs +21 -17
  167. package/build/components/use-block-commands/index.cjs.map +2 -2
  168. package/build/components/use-block-display-information/index.cjs +10 -8
  169. package/build/components/use-block-display-information/index.cjs.map +2 -2
  170. package/build/components/use-on-block-drop/index.cjs +3 -7
  171. package/build/components/use-on-block-drop/index.cjs.map +2 -2
  172. package/build/components/writing-flow/index.cjs +12 -1
  173. package/build/components/writing-flow/index.cjs.map +3 -3
  174. package/build/components/writing-flow/use-arrow-nav.cjs +18 -5
  175. package/build/components/writing-flow/use-arrow-nav.cjs.map +2 -2
  176. package/build/components/writing-flow/use-click-selection.cjs +2 -2
  177. package/build/components/writing-flow/use-click-selection.cjs.map +2 -2
  178. package/build/components/writing-flow/use-clipboard-handler.cjs +4 -1
  179. package/build/components/writing-flow/use-clipboard-handler.cjs.map +2 -2
  180. package/build/components/writing-flow/use-drag-selection.cjs +3 -8
  181. package/build/components/writing-flow/use-drag-selection.cjs.map +2 -2
  182. package/build/components/writing-flow/use-editable-root.cjs +112 -0
  183. package/build/components/writing-flow/use-editable-root.cjs.map +7 -0
  184. package/build/components/writing-flow/use-home-end.cjs +64 -0
  185. package/build/components/writing-flow/use-home-end.cjs.map +7 -0
  186. package/build/components/writing-flow/use-input.cjs +15 -5
  187. package/build/components/writing-flow/use-input.cjs.map +2 -2
  188. package/build/components/writing-flow/use-multi-selection.cjs +2 -2
  189. package/build/components/writing-flow/use-multi-selection.cjs.map +2 -2
  190. package/build/components/writing-flow/use-select-all.cjs +14 -2
  191. package/build/components/writing-flow/use-select-all.cjs.map +2 -2
  192. package/build/components/writing-flow/use-selection-observer.cjs +126 -20
  193. package/build/components/writing-flow/use-selection-observer.cjs.map +3 -3
  194. package/build/components/writing-flow/utils.cjs +39 -2
  195. package/build/components/writing-flow/utils.cjs.map +2 -2
  196. package/build/components/writing-mode-control/index.cjs +0 -1
  197. package/build/components/writing-mode-control/index.cjs.map +2 -2
  198. package/build/hooks/background.cjs +3 -2
  199. package/build/hooks/background.cjs.map +2 -2
  200. package/build/hooks/block-fields/rich-text/index.cjs +2 -3
  201. package/build/hooks/block-fields/rich-text/index.cjs.map +3 -3
  202. package/build/hooks/elements.cjs +1 -1
  203. package/build/hooks/elements.cjs.map +2 -2
  204. package/build/hooks/font-size.cjs +1 -2
  205. package/build/hooks/font-size.cjs.map +2 -2
  206. package/build/hooks/grid-visualizer.cjs +5 -3
  207. package/build/hooks/grid-visualizer.cjs.map +2 -2
  208. package/build/hooks/layout-child.cjs +22 -12
  209. package/build/hooks/layout-child.cjs.map +3 -3
  210. package/build/hooks/layout.cjs +33 -16
  211. package/build/hooks/layout.cjs.map +3 -3
  212. package/build/hooks/position.cjs +36 -16
  213. package/build/hooks/position.cjs.map +2 -2
  214. package/build/hooks/states.cjs +29 -12
  215. package/build/hooks/states.cjs.map +3 -3
  216. package/build/hooks/style.cjs +31 -9
  217. package/build/hooks/style.cjs.map +3 -3
  218. package/build/hooks/text-align.cjs +36 -6
  219. package/build/hooks/text-align.cjs.map +3 -3
  220. package/build/hooks/typography.cjs +1 -1
  221. package/build/hooks/typography.cjs.map +2 -2
  222. package/build/layouts/constrained.cjs +35 -27
  223. package/build/layouts/constrained.cjs.map +2 -2
  224. package/build/layouts/flex.cjs +27 -22
  225. package/build/layouts/flex.cjs.map +2 -2
  226. package/build/layouts/grid.cjs +51 -11
  227. package/build/layouts/grid.cjs.map +2 -2
  228. package/build/private-apis.cjs +4 -1
  229. package/build/private-apis.cjs.map +3 -3
  230. package/build/store/actions.cjs +2 -2
  231. package/build/store/actions.cjs.map +2 -2
  232. package/build/store/private-keys.cjs +3 -0
  233. package/build/store/private-keys.cjs.map +2 -2
  234. package/build/store/private-selectors.cjs +85 -6
  235. package/build/store/private-selectors.cjs.map +3 -3
  236. package/build/store/selectors.cjs +13 -0
  237. package/build/store/selectors.cjs.map +2 -2
  238. package/build/utils/block-bindings.cjs +29 -0
  239. package/build/utils/block-bindings.cjs.map +2 -2
  240. package/build/utils/dom.cjs +14 -0
  241. package/build/utils/dom.cjs.map +2 -2
  242. package/build-module/autocompleters/block.mjs +10 -2
  243. package/build-module/autocompleters/block.mjs.map +2 -2
  244. package/build-module/components/background-image-control/index.mjs +0 -2
  245. package/build-module/components/background-image-control/index.mjs.map +2 -2
  246. package/build-module/components/block-canvas/index.mjs +7 -2
  247. package/build-module/components/block-canvas/index.mjs.map +2 -2
  248. package/build-module/components/block-controls/groups.mjs +3 -1
  249. package/build-module/components/block-controls/groups.mjs.map +2 -2
  250. package/build-module/components/block-edit/edit.mjs +11 -18
  251. package/build-module/components/block-edit/edit.mjs.map +2 -2
  252. package/build-module/components/block-inspector/edit-contents.mjs +4 -1
  253. package/build-module/components/block-inspector/edit-contents.mjs.map +2 -2
  254. package/build-module/components/block-inspector/index.mjs +2 -3
  255. package/build-module/components/block-inspector/index.mjs.map +2 -2
  256. package/build-module/components/block-list/block-invalid-warning.mjs +8 -19
  257. package/build-module/components/block-list/block-invalid-warning.mjs.map +2 -2
  258. package/build-module/components/block-list/block.mjs +9 -3
  259. package/build-module/components/block-list/block.mjs.map +3 -3
  260. package/build-module/components/block-list/index.mjs +1 -3
  261. package/build-module/components/block-list/index.mjs.map +2 -2
  262. package/build-module/components/block-list/use-block-props/index.mjs +3 -1
  263. package/build-module/components/block-list/use-block-props/index.mjs.map +2 -2
  264. package/build-module/components/block-list/use-block-props/use-focus-first-element.mjs +9 -4
  265. package/build-module/components/block-list/use-block-props/use-focus-first-element.mjs.map +2 -2
  266. package/build-module/components/block-list/use-block-props/use-focus-handler.mjs +12 -4
  267. package/build-module/components/block-list/use-block-props/use-focus-handler.mjs.map +2 -2
  268. package/build-module/components/block-styles/use-styles-for-block.mjs +2 -1
  269. package/build-module/components/block-styles/use-styles-for-block.mjs.map +2 -2
  270. package/build-module/components/block-title/use-block-display-title.mjs +7 -2
  271. package/build-module/components/block-title/use-block-display-title.mjs.map +2 -2
  272. package/build-module/components/block-toolbar/block-toolbar-icon.mjs +10 -14
  273. package/build-module/components/block-toolbar/block-toolbar-icon.mjs.map +2 -2
  274. package/build-module/components/block-toolbar/index.mjs +43 -24
  275. package/build-module/components/block-toolbar/index.mjs.map +2 -2
  276. package/build-module/components/block-tools/index.mjs +7 -2
  277. package/build-module/components/block-tools/index.mjs.map +2 -2
  278. package/build-module/components/block-variation-transforms/index.mjs +0 -1
  279. package/build-module/components/block-variation-transforms/index.mjs.map +2 -2
  280. package/build-module/components/block-visibility/modal.mjs +22 -10
  281. package/build-module/components/block-visibility/modal.mjs.map +2 -2
  282. package/build-module/components/block-visibility/use-block-visibility.mjs +17 -7
  283. package/build-module/components/block-visibility/use-block-visibility.mjs.map +2 -2
  284. package/build-module/components/block-visibility/utils.mjs +18 -3
  285. package/build-module/components/block-visibility/utils.mjs.map +2 -2
  286. package/build-module/components/block-visibility/viewport-menu-item.mjs +7 -1
  287. package/build-module/components/block-visibility/viewport-menu-item.mjs.map +2 -2
  288. package/build-module/components/block-visibility/viewport-toolbar.mjs +5 -0
  289. package/build-module/components/block-visibility/viewport-toolbar.mjs.map +2 -2
  290. package/build-module/components/block-visibility/viewport-visibility-info.mjs +5 -1
  291. package/build-module/components/block-visibility/viewport-visibility-info.mjs.map +2 -2
  292. package/build-module/components/child-layout-control/index.mjs +0 -6
  293. package/build-module/components/child-layout-control/index.mjs.map +2 -2
  294. package/build-module/components/colors-gradients/control.mjs +5 -5
  295. package/build-module/components/colors-gradients/control.mjs.map +2 -2
  296. package/build-module/components/date-format-picker/index.mjs +0 -1
  297. package/build-module/components/date-format-picker/index.mjs.map +2 -2
  298. package/build-module/components/dimensions-tool/aspect-ratio-tool.mjs +1 -2
  299. package/build-module/components/dimensions-tool/aspect-ratio-tool.mjs.map +2 -2
  300. package/build-module/components/dimensions-tool/scale-tool.mjs +0 -1
  301. package/build-module/components/dimensions-tool/scale-tool.mjs.map +2 -2
  302. package/build-module/components/dimensions-tool/width-height-tool.mjs +2 -4
  303. package/build-module/components/dimensions-tool/width-height-tool.mjs.map +2 -2
  304. package/build-module/components/font-appearance-control/index.mjs +6 -15
  305. package/build-module/components/font-appearance-control/index.mjs.map +2 -2
  306. package/build-module/components/font-family/index.mjs +6 -15
  307. package/build-module/components/font-family/index.mjs.map +2 -2
  308. package/build-module/components/font-sizes/font-size-picker.mjs +1 -2
  309. package/build-module/components/font-sizes/font-size-picker.mjs.map +2 -2
  310. package/build-module/components/global-styles/border-panel.mjs +0 -1
  311. package/build-module/components/global-styles/border-panel.mjs.map +2 -2
  312. package/build-module/components/global-styles/dimensions-panel.mjs +0 -3
  313. package/build-module/components/global-styles/dimensions-panel.mjs.map +2 -2
  314. package/build-module/components/global-styles/state-control-badges.mjs +41 -5
  315. package/build-module/components/global-styles/state-control-badges.mjs.map +2 -2
  316. package/build-module/components/global-styles/typography-panel.mjs +4 -11
  317. package/build-module/components/global-styles/typography-panel.mjs.map +2 -2
  318. package/build-module/components/height-control/index.mjs +0 -2
  319. package/build-module/components/height-control/index.mjs.map +2 -2
  320. package/build-module/components/html-element-control/index.mjs +0 -1
  321. package/build-module/components/html-element-control/index.mjs.map +2 -2
  322. package/build-module/components/image-editor/index.mjs +5 -0
  323. package/build-module/components/image-editor/index.mjs.map +2 -2
  324. package/build-module/components/image-editor/zoom-dropdown.mjs +0 -1
  325. package/build-module/components/image-editor/zoom-dropdown.mjs.map +2 -2
  326. package/build-module/components/image-size-control/index.mjs +3 -7
  327. package/build-module/components/image-size-control/index.mjs.map +2 -2
  328. package/build-module/components/inner-content/index.mjs +82 -0
  329. package/build-module/components/inner-content/index.mjs.map +7 -0
  330. package/build-module/components/inserter/hooks/use-block-types-state.mjs +10 -2
  331. package/build-module/components/inserter/hooks/use-block-types-state.mjs.map +2 -2
  332. package/build-module/components/inserter/media-tab/hooks.mjs +66 -12
  333. package/build-module/components/inserter/media-tab/hooks.mjs.map +2 -2
  334. package/build-module/components/inserter/media-tab/media-list.mjs +3 -1
  335. package/build-module/components/inserter/media-tab/media-list.mjs.map +2 -2
  336. package/build-module/components/inserter/media-tab/media-panel.mjs +297 -32
  337. package/build-module/components/inserter/media-tab/media-panel.mjs.map +2 -2
  338. package/build-module/components/inserter/media-tab/media-preview.mjs +33 -18
  339. package/build-module/components/inserter/media-tab/media-preview.mjs.map +2 -2
  340. package/build-module/components/inserter/media-tab/media-tab.mjs +27 -7
  341. package/build-module/components/inserter/media-tab/media-tab.mjs.map +2 -2
  342. package/build-module/components/inserter/mobile-tab-navigation.mjs +6 -1
  343. package/build-module/components/inserter/mobile-tab-navigation.mjs.map +2 -2
  344. package/build-module/components/inserter/no-results.mjs +2 -2
  345. package/build-module/components/inserter/no-results.mjs.map +2 -2
  346. package/build-module/components/inserter/preview-panel.mjs +2 -1
  347. package/build-module/components/inserter/preview-panel.mjs.map +2 -2
  348. package/build-module/components/inserter-list-item/index.mjs +8 -2
  349. package/build-module/components/inserter-list-item/index.mjs.map +2 -2
  350. package/build-module/components/keyboard-shortcuts/index.mjs +19 -11
  351. package/build-module/components/keyboard-shortcuts/index.mjs.map +2 -2
  352. package/build-module/components/letter-spacing-control/index.mjs +0 -14
  353. package/build-module/components/letter-spacing-control/index.mjs.map +2 -2
  354. package/build-module/components/line-height-control/index.mjs +6 -12
  355. package/build-module/components/line-height-control/index.mjs.map +2 -2
  356. package/build-module/components/list-view/block-select-button.mjs +90 -84
  357. package/build-module/components/list-view/block-select-button.mjs.map +2 -2
  358. package/build-module/components/list-view/block.mjs +61 -21
  359. package/build-module/components/list-view/block.mjs.map +2 -2
  360. package/build-module/components/list-view/expander.mjs +1 -1
  361. package/build-module/components/list-view/expander.mjs.map +2 -2
  362. package/build-module/components/list-view/use-list-view-client-ids.mjs +2 -2
  363. package/build-module/components/list-view/use-list-view-client-ids.mjs.map +2 -2
  364. package/build-module/components/media-placeholder/index.mjs +0 -1
  365. package/build-module/components/media-placeholder/index.mjs.map +2 -2
  366. package/build-module/components/observe-typing/index.mjs +4 -3
  367. package/build-module/components/observe-typing/index.mjs.map +2 -2
  368. package/build-module/components/preset-input-control/custom-value-controls.mjs +1 -3
  369. package/build-module/components/preset-input-control/custom-value-controls.mjs.map +2 -2
  370. package/build-module/components/preset-input-control/index.mjs +1 -3
  371. package/build-module/components/preset-input-control/index.mjs.map +2 -2
  372. package/build-module/components/resolution-tool/index.mjs +1 -2
  373. package/build-module/components/resolution-tool/index.mjs.map +2 -2
  374. package/build-module/components/rich-text/event-listeners/before-input-rules.mjs +8 -5
  375. package/build-module/components/rich-text/event-listeners/before-input-rules.mjs.map +2 -2
  376. package/build-module/components/rich-text/event-listeners/delete.mjs +7 -4
  377. package/build-module/components/rich-text/event-listeners/delete.mjs.map +2 -2
  378. package/build-module/components/rich-text/event-listeners/enter.mjs +8 -3
  379. package/build-module/components/rich-text/event-listeners/enter.mjs.map +2 -2
  380. package/build-module/components/rich-text/event-listeners/input-events.mjs +3 -3
  381. package/build-module/components/rich-text/event-listeners/input-events.mjs.map +2 -2
  382. package/build-module/components/rich-text/event-listeners/input-rules.mjs +8 -5
  383. package/build-module/components/rich-text/event-listeners/input-rules.mjs.map +2 -2
  384. package/build-module/components/rich-text/event-listeners/insert-replacement-text.mjs +3 -3
  385. package/build-module/components/rich-text/event-listeners/insert-replacement-text.mjs.map +2 -2
  386. package/build-module/components/rich-text/event-listeners/paste-handler.mjs +8 -2
  387. package/build-module/components/rich-text/event-listeners/paste-handler.mjs.map +2 -2
  388. package/build-module/components/rich-text/event-listeners/remove-browser-shortcuts.mjs +3 -3
  389. package/build-module/components/rich-text/event-listeners/remove-browser-shortcuts.mjs.map +2 -2
  390. package/build-module/components/rich-text/event-listeners/shortcuts.mjs +3 -3
  391. package/build-module/components/rich-text/event-listeners/shortcuts.mjs.map +2 -2
  392. package/build-module/components/rich-text/event-listeners/undo-automatic-change.mjs +3 -3
  393. package/build-module/components/rich-text/event-listeners/undo-automatic-change.mjs.map +2 -2
  394. package/build-module/components/rich-text/index.mjs +64 -13
  395. package/build-module/components/rich-text/index.mjs.map +2 -2
  396. package/build-module/components/text-alignment-control/index.mjs +0 -1
  397. package/build-module/components/text-alignment-control/index.mjs.map +2 -2
  398. package/build-module/components/text-decoration-control/index.mjs +0 -1
  399. package/build-module/components/text-decoration-control/index.mjs.map +2 -2
  400. package/build-module/components/text-indent-control/index.mjs +0 -8
  401. package/build-module/components/text-indent-control/index.mjs.map +2 -2
  402. package/build-module/components/text-transform-control/index.mjs +0 -1
  403. package/build-module/components/text-transform-control/index.mjs.map +2 -2
  404. package/build-module/components/typewriter/index.mjs +129 -136
  405. package/build-module/components/typewriter/index.mjs.map +2 -2
  406. package/build-module/components/use-block-commands/index.mjs +21 -17
  407. package/build-module/components/use-block-commands/index.mjs.map +2 -2
  408. package/build-module/components/use-block-display-information/index.mjs +10 -8
  409. package/build-module/components/use-block-display-information/index.mjs.map +2 -2
  410. package/build-module/components/use-on-block-drop/index.mjs +4 -7
  411. package/build-module/components/use-on-block-drop/index.mjs.map +2 -2
  412. package/build-module/components/writing-flow/index.mjs +12 -1
  413. package/build-module/components/writing-flow/index.mjs.map +2 -2
  414. package/build-module/components/writing-flow/use-arrow-nav.mjs +19 -6
  415. package/build-module/components/writing-flow/use-arrow-nav.mjs.map +2 -2
  416. package/build-module/components/writing-flow/use-click-selection.mjs +2 -2
  417. package/build-module/components/writing-flow/use-click-selection.mjs.map +2 -2
  418. package/build-module/components/writing-flow/use-clipboard-handler.mjs +5 -2
  419. package/build-module/components/writing-flow/use-clipboard-handler.mjs.map +2 -2
  420. package/build-module/components/writing-flow/use-drag-selection.mjs +1 -6
  421. package/build-module/components/writing-flow/use-drag-selection.mjs.map +2 -2
  422. package/build-module/components/writing-flow/use-editable-root.mjs +86 -0
  423. package/build-module/components/writing-flow/use-editable-root.mjs.map +7 -0
  424. package/build-module/components/writing-flow/use-home-end.mjs +43 -0
  425. package/build-module/components/writing-flow/use-home-end.mjs.map +7 -0
  426. package/build-module/components/writing-flow/use-input.mjs +15 -5
  427. package/build-module/components/writing-flow/use-input.mjs.map +2 -2
  428. package/build-module/components/writing-flow/use-multi-selection.mjs +2 -2
  429. package/build-module/components/writing-flow/use-multi-selection.mjs.map +2 -2
  430. package/build-module/components/writing-flow/use-select-all.mjs +19 -3
  431. package/build-module/components/writing-flow/use-select-all.mjs.map +2 -2
  432. package/build-module/components/writing-flow/use-selection-observer.mjs +128 -19
  433. package/build-module/components/writing-flow/use-selection-observer.mjs.map +2 -2
  434. package/build-module/components/writing-flow/utils.mjs +35 -1
  435. package/build-module/components/writing-flow/utils.mjs.map +2 -2
  436. package/build-module/components/writing-mode-control/index.mjs +0 -1
  437. package/build-module/components/writing-mode-control/index.mjs.map +2 -2
  438. package/build-module/hooks/background.mjs +3 -2
  439. package/build-module/hooks/background.mjs.map +2 -2
  440. package/build-module/hooks/block-fields/rich-text/index.mjs +2 -6
  441. package/build-module/hooks/block-fields/rich-text/index.mjs.map +2 -2
  442. package/build-module/hooks/elements.mjs +1 -1
  443. package/build-module/hooks/elements.mjs.map +2 -2
  444. package/build-module/hooks/font-size.mjs +1 -2
  445. package/build-module/hooks/font-size.mjs.map +2 -2
  446. package/build-module/hooks/grid-visualizer.mjs +5 -3
  447. package/build-module/hooks/grid-visualizer.mjs.map +2 -2
  448. package/build-module/hooks/layout-child.mjs +22 -12
  449. package/build-module/hooks/layout-child.mjs.map +2 -2
  450. package/build-module/hooks/layout.mjs +32 -16
  451. package/build-module/hooks/layout.mjs.map +2 -2
  452. package/build-module/hooks/position.mjs +38 -18
  453. package/build-module/hooks/position.mjs.map +2 -2
  454. package/build-module/hooks/states.mjs +29 -12
  455. package/build-module/hooks/states.mjs.map +2 -2
  456. package/build-module/hooks/style.mjs +40 -11
  457. package/build-module/hooks/style.mjs.map +2 -2
  458. package/build-module/hooks/text-align.mjs +39 -10
  459. package/build-module/hooks/text-align.mjs.map +2 -2
  460. package/build-module/hooks/typography.mjs +1 -1
  461. package/build-module/hooks/typography.mjs.map +2 -2
  462. package/build-module/layouts/constrained.mjs +35 -27
  463. package/build-module/layouts/constrained.mjs.map +2 -2
  464. package/build-module/layouts/flex.mjs +27 -22
  465. package/build-module/layouts/flex.mjs.map +2 -2
  466. package/build-module/layouts/grid.mjs +52 -11
  467. package/build-module/layouts/grid.mjs.map +2 -2
  468. package/build-module/private-apis.mjs +5 -1
  469. package/build-module/private-apis.mjs.map +2 -2
  470. package/build-module/store/actions.mjs +3 -3
  471. package/build-module/store/actions.mjs.map +2 -2
  472. package/build-module/store/private-keys.mjs +2 -0
  473. package/build-module/store/private-keys.mjs.map +2 -2
  474. package/build-module/store/private-selectors.mjs +84 -6
  475. package/build-module/store/private-selectors.mjs.map +2 -2
  476. package/build-module/store/selectors.mjs +13 -0
  477. package/build-module/store/selectors.mjs.map +2 -2
  478. package/build-module/utils/block-bindings.mjs +28 -0
  479. package/build-module/utils/block-bindings.mjs.map +2 -2
  480. package/build-module/utils/dom.mjs +13 -0
  481. package/build-module/utils/dom.mjs.map +2 -2
  482. package/build-style/content-rtl.css +15 -14
  483. package/build-style/content.css +15 -14
  484. package/build-style/default-editor-styles-rtl.css +1 -1
  485. package/build-style/default-editor-styles.css +1 -1
  486. package/build-style/style-rtl.css +144 -47
  487. package/build-style/style.css +144 -47
  488. package/build-types/components/block-context/index.d.ts +7 -0
  489. package/build-types/components/block-context/index.d.ts.map +1 -1
  490. package/build-types/utils/block-bindings.d.ts +19 -0
  491. package/build-types/utils/block-bindings.d.ts.map +1 -1
  492. package/build-types/utils/dom.d.ts +11 -0
  493. package/build-types/utils/dom.d.ts.map +1 -1
  494. package/build-types/utils/get-px-from-css-unit.d.ts +2 -2
  495. package/build-types/utils/get-px-from-css-unit.d.ts.map +1 -1
  496. package/build-types/utils/pasting.d.ts +1 -1
  497. package/build-types/utils/pasting.d.ts.map +1 -1
  498. package/package.json +46 -44
  499. package/src/autocompleters/block.js +10 -3
  500. package/src/autocompleters/test/block.js +53 -0
  501. package/src/components/background-image-control/index.js +0 -2
  502. package/src/components/block-canvas/index.js +9 -2
  503. package/src/components/block-card/style.scss +1 -1
  504. package/src/components/block-controls/groups.js +2 -0
  505. package/src/components/block-edit/edit.js +13 -31
  506. package/src/components/block-inspector/edit-contents.js +5 -1
  507. package/src/components/block-inspector/index.js +3 -2
  508. package/src/components/block-list/block-invalid-warning.js +8 -19
  509. package/src/components/block-list/block.js +6 -0
  510. package/src/components/block-list/index.js +0 -2
  511. package/src/components/block-list/use-block-props/index.js +2 -0
  512. package/src/components/block-list/use-block-props/use-focus-first-element.js +23 -4
  513. package/src/components/block-list/use-block-props/use-focus-handler.js +34 -9
  514. package/src/components/block-lock/style.scss +1 -1
  515. package/src/components/block-manager/style.scss +1 -1
  516. package/src/components/block-navigation/style.scss +1 -1
  517. package/src/components/block-patterns-list/stories/index.story.jsx +1 -1
  518. package/src/components/block-quick-navigation/style.scss +1 -3
  519. package/src/components/block-styles/style.scss +2 -2
  520. package/src/components/block-styles/use-styles-for-block.js +1 -0
  521. package/src/components/block-title/use-block-display-title.js +7 -2
  522. package/src/components/block-toolbar/block-toolbar-icon.js +11 -16
  523. package/src/components/block-toolbar/index.js +41 -18
  524. package/src/components/block-toolbar/test/block-toolbar-icon.js +32 -9
  525. package/src/components/block-tools/index.js +7 -0
  526. package/src/components/block-types-list/style.scss +0 -1
  527. package/src/components/block-variation-transforms/index.js +0 -1
  528. package/src/components/block-visibility/modal.js +24 -10
  529. package/src/components/block-visibility/style.scss +1 -1
  530. package/src/components/block-visibility/test/use-block-visibility.js +128 -35
  531. package/src/components/block-visibility/test/utils.js +11 -0
  532. package/src/components/block-visibility/use-block-visibility.js +33 -11
  533. package/src/components/block-visibility/utils.js +31 -6
  534. package/src/components/block-visibility/viewport-menu-item.js +10 -1
  535. package/src/components/block-visibility/viewport-toolbar.js +6 -0
  536. package/src/components/block-visibility/viewport-visibility-info.js +5 -1
  537. package/src/components/button-block-appender/content.scss +1 -7
  538. package/src/components/child-layout-control/index.js +0 -6
  539. package/src/components/color-palette/test/__snapshots__/control.js.snap +13 -108
  540. package/src/components/colors-gradients/control.js +4 -4
  541. package/src/components/colors-gradients/style.scss +2 -2
  542. package/src/components/date-format-picker/index.js +0 -1
  543. package/src/components/dimensions-tool/aspect-ratio-tool.js +0 -1
  544. package/src/components/dimensions-tool/scale-tool.js +0 -1
  545. package/src/components/dimensions-tool/width-height-tool.js +0 -2
  546. package/src/components/font-appearance-control/index.js +6 -19
  547. package/src/components/font-family/README.md +0 -9
  548. package/src/components/font-family/index.js +6 -19
  549. package/src/components/font-family/stories/index.story.jsx +1 -2
  550. package/src/components/font-sizes/font-size-picker.js +0 -1
  551. package/src/components/global-styles/border-panel.js +0 -1
  552. package/src/components/global-styles/dimensions-panel.js +0 -3
  553. package/src/components/global-styles/state-control-badges.js +45 -6
  554. package/src/components/global-styles/style.scss +5 -0
  555. package/src/components/global-styles/test/state-control-badges.js +65 -0
  556. package/src/components/global-styles/typography-panel.js +0 -7
  557. package/src/components/height-control/index.js +0 -2
  558. package/src/components/html-element-control/index.js +0 -1
  559. package/src/components/iframe/content.scss +3 -3
  560. package/src/components/image-editor/index.js +22 -0
  561. package/src/components/image-editor/zoom-dropdown.js +0 -1
  562. package/src/components/image-size-control/index.js +0 -4
  563. package/src/components/inner-content/index.js +119 -0
  564. package/src/components/inner-content/test/index.js +81 -0
  565. package/src/components/inserter/hooks/use-block-types-state.js +10 -2
  566. package/src/components/inserter/media-tab/hooks.js +114 -16
  567. package/src/components/inserter/media-tab/media-list.js +2 -0
  568. package/src/components/inserter/media-tab/media-panel.js +354 -19
  569. package/src/components/inserter/media-tab/media-preview.js +34 -17
  570. package/src/components/inserter/media-tab/media-tab.js +20 -2
  571. package/src/components/inserter/media-tab/test/hooks.js +267 -0
  572. package/src/components/inserter/media-tab/test/media-panel.js +127 -0
  573. package/src/components/inserter/mobile-tab-navigation.js +6 -1
  574. package/src/components/inserter/no-results.js +2 -2
  575. package/src/components/inserter/preview-panel.js +1 -0
  576. package/src/components/inserter/style.scss +115 -3
  577. package/src/components/inserter-list-item/index.js +8 -2
  578. package/src/components/inserter-list-item/style.scss +0 -15
  579. package/src/components/keyboard-shortcuts/index.js +28 -11
  580. package/src/components/letter-spacing-control/README.md +0 -8
  581. package/src/components/letter-spacing-control/index.js +5 -23
  582. package/src/components/letter-spacing-control/stories/index.story.jsx +0 -12
  583. package/src/components/line-height-control/README.md +0 -8
  584. package/src/components/line-height-control/index.js +6 -16
  585. package/src/components/line-height-control/stories/index.story.jsx +0 -1
  586. package/src/components/line-height-control/test/index.js +1 -7
  587. package/src/components/link-control/style.scss +2 -2
  588. package/src/components/link-control/test/index.js +6 -6
  589. package/src/components/link-picker/style.scss +1 -2
  590. package/src/components/link-picker/test/index.js +3 -1
  591. package/src/components/list-view/block-select-button.js +5 -1
  592. package/src/components/list-view/block.js +69 -23
  593. package/src/components/list-view/expander.js +5 -1
  594. package/src/components/list-view/style.scss +23 -5
  595. package/src/components/list-view/use-list-view-client-ids.js +2 -2
  596. package/src/components/media-placeholder/index.js +0 -1
  597. package/src/components/multi-selection-inspector/style.scss +1 -1
  598. package/src/components/observe-typing/index.js +9 -4
  599. package/src/components/preset-input-control/custom-value-controls.js +0 -2
  600. package/src/components/preset-input-control/index.js +0 -2
  601. package/src/components/resolution-tool/index.js +0 -1
  602. package/src/components/responsive-block-control/style.scss +1 -1
  603. package/src/components/responsive-block-control/test/index.js +1 -5
  604. package/src/components/rich-text/event-listeners/before-input-rules.js +8 -5
  605. package/src/components/rich-text/event-listeners/delete.js +7 -4
  606. package/src/components/rich-text/event-listeners/enter.js +10 -4
  607. package/src/components/rich-text/event-listeners/input-events.js +4 -3
  608. package/src/components/rich-text/event-listeners/input-rules.js +8 -5
  609. package/src/components/rich-text/event-listeners/insert-replacement-text.js +4 -3
  610. package/src/components/rich-text/event-listeners/paste-handler.js +15 -3
  611. package/src/components/rich-text/event-listeners/remove-browser-shortcuts.js +4 -3
  612. package/src/components/rich-text/event-listeners/shortcuts.js +4 -3
  613. package/src/components/rich-text/event-listeners/undo-automatic-change.js +4 -3
  614. package/src/components/rich-text/index.js +94 -25
  615. package/src/components/skip-to-selected-block/style.scss +1 -1
  616. package/src/components/text-alignment-control/index.js +0 -1
  617. package/src/components/text-decoration-control/index.js +0 -1
  618. package/src/components/text-indent-control/index.js +7 -16
  619. package/src/components/text-transform-control/index.js +0 -1
  620. package/src/components/typewriter/index.js +228 -224
  621. package/src/components/use-block-commands/index.js +27 -17
  622. package/src/components/use-block-display-information/index.js +9 -13
  623. package/src/components/use-block-display-information/test/index.js +47 -9
  624. package/src/components/use-on-block-drop/index.js +4 -7
  625. package/src/components/writing-flow/index.js +15 -1
  626. package/src/components/writing-flow/use-arrow-nav.js +39 -12
  627. package/src/components/writing-flow/use-click-selection.js +2 -3
  628. package/src/components/writing-flow/use-clipboard-handler.js +5 -2
  629. package/src/components/writing-flow/use-drag-selection.js +1 -14
  630. package/src/components/writing-flow/use-editable-root.js +182 -0
  631. package/src/components/writing-flow/use-home-end.js +63 -0
  632. package/src/components/writing-flow/use-input.js +25 -8
  633. package/src/components/writing-flow/use-multi-selection.js +2 -3
  634. package/src/components/writing-flow/use-select-all.js +33 -3
  635. package/src/components/writing-flow/use-selection-observer.js +197 -38
  636. package/src/components/writing-flow/utils.js +83 -0
  637. package/src/components/writing-mode-control/index.js +0 -1
  638. package/src/hooks/background.js +7 -9
  639. package/src/hooks/block-fields/link/styles.scss +1 -6
  640. package/src/hooks/block-fields/media/styles.scss +1 -6
  641. package/src/hooks/block-fields/rich-text/index.js +6 -9
  642. package/src/hooks/block-hooks.scss +15 -0
  643. package/src/hooks/elements.js +0 -1
  644. package/src/hooks/font-size.js +0 -1
  645. package/src/hooks/grid-visualizer.js +40 -36
  646. package/src/hooks/layout-child.js +19 -9
  647. package/src/hooks/layout.js +53 -35
  648. package/src/hooks/position.js +44 -23
  649. package/src/hooks/states.js +36 -13
  650. package/src/hooks/style.js +67 -17
  651. package/src/hooks/test/cross-origin-isolation.js +0 -4
  652. package/src/hooks/test/layout.js +75 -1
  653. package/src/hooks/test/style.js +29 -0
  654. package/src/hooks/test/text-align.js +34 -1
  655. package/src/hooks/text-align.js +41 -10
  656. package/src/hooks/typography.js +0 -1
  657. package/src/layouts/constrained.js +56 -29
  658. package/src/layouts/flex.js +5 -4
  659. package/src/layouts/grid.js +59 -9
  660. package/src/layouts/test/constrained.js +91 -0
  661. package/src/layouts/test/grid.js +71 -0
  662. package/src/private-apis.js +4 -0
  663. package/src/store/actions.js +43 -14
  664. package/src/store/private-keys.js +1 -0
  665. package/src/store/private-selectors.js +166 -9
  666. package/src/store/selectors.js +41 -0
  667. package/src/store/test/actions.js +1 -1
  668. package/src/store/test/private-selectors.js +533 -0
  669. package/src/store/test/reducer.js +11 -11
  670. package/src/store/test/selectors.js +133 -0
  671. package/src/style.scss +1 -0
  672. package/src/utils/block-bindings.ts +50 -0
  673. package/src/utils/dom.ts +33 -0
  674. package/src/utils/test/block-bindings.js +181 -0
  675. package/build/components/rich-text/input-event.cjs +0 -50
  676. package/build/components/rich-text/input-event.cjs.map +0 -7
  677. package/build/components/rich-text/shortcut.cjs +0 -51
  678. package/build/components/rich-text/shortcut.cjs.map +0 -7
  679. package/build-module/components/rich-text/input-event.mjs +0 -25
  680. package/build-module/components/rich-text/input-event.mjs.map +0 -7
  681. package/build-module/components/rich-text/shortcut.mjs +0 -26
  682. package/build-module/components/rich-text/shortcut.mjs.map +0 -7
  683. package/src/components/rich-text/input-event.js +0 -31
  684. package/src/components/rich-text/shortcut.js +0 -32
@@ -6,11 +6,12 @@ import { renderHook } from '@testing-library/react';
6
6
  /**
7
7
  * WordPress dependencies
8
8
  */
9
- import { useViewportMatch } from '@wordpress/compose';
9
+ import { useMediaQuery } from '@wordpress/compose';
10
10
 
11
11
  // Mock WordPress dependencies before importing the hook
12
12
  jest.mock( '@wordpress/compose', () => ( {
13
- useViewportMatch: jest.fn(),
13
+ ...jest.requireActual( '@wordpress/compose' ),
14
+ useMediaQuery: jest.fn(),
14
15
  } ) );
15
16
 
16
17
  /**
@@ -20,17 +21,17 @@ import useBlockVisibility from '../use-block-visibility';
20
21
 
21
22
  describe( 'useBlockVisibility', () => {
22
23
  // Helper function to set up viewport matches
23
- const setupViewport = ( { isMobileOrLarger, isMediumOrLarger } ) => {
24
+ const setupViewport = ( { isMobileViewport, isTabletViewport } ) => {
24
25
  if (
25
- isMobileOrLarger !== undefined &&
26
- isMediumOrLarger !== undefined
26
+ isMobileViewport !== undefined &&
27
+ isTabletViewport !== undefined
27
28
  ) {
28
- useViewportMatch
29
- .mockReturnValueOnce( isMobileOrLarger )
30
- .mockReturnValueOnce( isMediumOrLarger );
29
+ useMediaQuery
30
+ .mockReturnValueOnce( isMobileViewport )
31
+ .mockReturnValueOnce( isTabletViewport );
31
32
  } else {
32
- useViewportMatch.mockReturnValue(
33
- isMobileOrLarger ?? isMediumOrLarger ?? true
33
+ useMediaQuery.mockReturnValue(
34
+ isMobileViewport ?? isTabletViewport ?? false
34
35
  );
35
36
  }
36
37
  };
@@ -42,7 +43,7 @@ describe( 'useBlockVisibility', () => {
42
43
 
43
44
  describe( 'Device type overrides', () => {
44
45
  it( 'should return true when deviceType is Mobile and block is hidden on mobile', () => {
45
- setupViewport( { isMobileOrLarger: true } );
46
+ setupViewport( { isMobileViewport: false } );
46
47
 
47
48
  const { result } = renderHook( () =>
48
49
  useBlockVisibility( {
@@ -55,7 +56,7 @@ describe( 'useBlockVisibility', () => {
55
56
  } );
56
57
 
57
58
  it( 'should return false when deviceType is Mobile and block is visible on mobile', () => {
58
- setupViewport( { isMobileOrLarger: false } );
59
+ setupViewport( { isMobileViewport: false } );
59
60
 
60
61
  const { result } = renderHook( () =>
61
62
  useBlockVisibility( {
@@ -74,7 +75,7 @@ describe( 'useBlockVisibility', () => {
74
75
  } );
75
76
 
76
77
  it( 'should return true when deviceType is Tablet and block is hidden on tablet', () => {
77
- setupViewport( { isMobileOrLarger: false } );
78
+ setupViewport( { isMobileViewport: false } );
78
79
 
79
80
  const { result } = renderHook( () =>
80
81
  useBlockVisibility( {
@@ -88,8 +89,8 @@ describe( 'useBlockVisibility', () => {
88
89
 
89
90
  it( 'should use actual viewport detection when deviceType is Desktop', () => {
90
91
  setupViewport( {
91
- isMobileOrLarger: true,
92
- isMediumOrLarger: true,
92
+ isMobileViewport: false,
93
+ isTabletViewport: false,
93
94
  } );
94
95
 
95
96
  const { result } = renderHook( () =>
@@ -106,8 +107,8 @@ describe( 'useBlockVisibility', () => {
106
107
  describe( 'Viewport detection with Desktop deviceType', () => {
107
108
  it( 'should return true when on mobile viewport and block is hidden on mobile', () => {
108
109
  setupViewport( {
109
- isMobileOrLarger: false,
110
- isMediumOrLarger: false,
110
+ isMobileViewport: true,
111
+ isTabletViewport: false,
111
112
  } );
112
113
 
113
114
  const { result } = renderHook( () =>
@@ -122,8 +123,8 @@ describe( 'useBlockVisibility', () => {
122
123
 
123
124
  it( 'should return false when on mobile viewport and block is visible on mobile', () => {
124
125
  setupViewport( {
125
- isMobileOrLarger: false,
126
- isMediumOrLarger: false,
126
+ isMobileViewport: true,
127
+ isTabletViewport: false,
127
128
  } );
128
129
 
129
130
  const { result } = renderHook( () =>
@@ -144,8 +145,8 @@ describe( 'useBlockVisibility', () => {
144
145
 
145
146
  it( 'should return true when on tablet viewport and block is hidden on tablet', () => {
146
147
  setupViewport( {
147
- isMobileOrLarger: true,
148
- isMediumOrLarger: false,
148
+ isMobileViewport: false,
149
+ isTabletViewport: true,
149
150
  } );
150
151
 
151
152
  const { result } = renderHook( () =>
@@ -160,8 +161,8 @@ describe( 'useBlockVisibility', () => {
160
161
 
161
162
  it( 'should return false when on tablet viewport and block is visible on tablet', () => {
162
163
  setupViewport( {
163
- isMobileOrLarger: true,
164
- isMediumOrLarger: false,
164
+ isMobileViewport: false,
165
+ isTabletViewport: true,
165
166
  } );
166
167
 
167
168
  const { result } = renderHook( () =>
@@ -182,8 +183,8 @@ describe( 'useBlockVisibility', () => {
182
183
 
183
184
  it( 'should return true when on desktop viewport and block is hidden on desktop', () => {
184
185
  setupViewport( {
185
- isMobileOrLarger: true,
186
- isMediumOrLarger: true,
186
+ isMobileViewport: false,
187
+ isTabletViewport: false,
187
188
  } );
188
189
 
189
190
  const { result } = renderHook( () =>
@@ -198,8 +199,8 @@ describe( 'useBlockVisibility', () => {
198
199
 
199
200
  it( 'should return false when on desktop viewport and block is visible on desktop', () => {
200
201
  setupViewport( {
201
- isMobileOrLarger: true,
202
- isMediumOrLarger: true,
202
+ isMobileViewport: false,
203
+ isTabletViewport: false,
203
204
  } );
204
205
 
205
206
  const { result } = renderHook( () =>
@@ -217,11 +218,103 @@ describe( 'useBlockVisibility', () => {
217
218
 
218
219
  expect( result.current.isBlockCurrentlyHidden ).toBe( false );
219
220
  } );
221
+
222
+ it( 'should use custom viewport breakpoints for viewport detection', () => {
223
+ setupViewport( {
224
+ isMobileViewport: false,
225
+ isTabletViewport: true,
226
+ } );
227
+
228
+ const { result } = renderHook( () =>
229
+ useBlockVisibility( {
230
+ blockVisibility: { viewport: { tablet: false } },
231
+ deviceType: 'desktop',
232
+ viewportSettings: {
233
+ mobile: '640px',
234
+ tablet: '960px',
235
+ },
236
+ } )
237
+ );
238
+
239
+ expect( useMediaQuery ).toHaveBeenNthCalledWith(
240
+ 1,
241
+ '(width <= 640px)',
242
+ window
243
+ );
244
+ expect( useMediaQuery ).toHaveBeenNthCalledWith(
245
+ 2,
246
+ '(640px < width <= 960px)',
247
+ window
248
+ );
249
+ expect( result.current.currentViewport ).toBe( 'tablet' );
250
+ expect( result.current.isBlockCurrentlyHidden ).toBe( true );
251
+ } );
252
+
253
+ it( 'should use tablet viewport detection for a single tablet breakpoint', () => {
254
+ setupViewport( {
255
+ isMobileViewport: false,
256
+ isTabletViewport: true,
257
+ } );
258
+
259
+ const { result } = renderHook( () =>
260
+ useBlockVisibility( {
261
+ blockVisibility: { viewport: { tablet: false } },
262
+ deviceType: 'desktop',
263
+ viewportSettings: {
264
+ tablet: '64rem',
265
+ },
266
+ } )
267
+ );
268
+
269
+ expect( useMediaQuery ).toHaveBeenNthCalledWith(
270
+ 1,
271
+ undefined,
272
+ window
273
+ );
274
+ expect( useMediaQuery ).toHaveBeenNthCalledWith(
275
+ 2,
276
+ '(width <= 64rem)',
277
+ window
278
+ );
279
+ expect( result.current.currentViewport ).toBe( 'tablet' );
280
+ expect( result.current.isBlockCurrentlyHidden ).toBe( true );
281
+ } );
282
+
283
+ it( 'should not use tablet viewport detection when the tablet breakpoint is not larger than mobile', () => {
284
+ setupViewport( {
285
+ isMobileViewport: false,
286
+ isTabletViewport: true,
287
+ } );
288
+
289
+ const { result } = renderHook( () =>
290
+ useBlockVisibility( {
291
+ blockVisibility: { viewport: { tablet: false } },
292
+ deviceType: 'desktop',
293
+ viewportSettings: {
294
+ mobile: '960px',
295
+ tablet: '640px',
296
+ },
297
+ } )
298
+ );
299
+
300
+ expect( useMediaQuery ).toHaveBeenNthCalledWith(
301
+ 1,
302
+ '(width <= 960px)',
303
+ window
304
+ );
305
+ expect( useMediaQuery ).toHaveBeenNthCalledWith(
306
+ 2,
307
+ undefined,
308
+ window
309
+ );
310
+ expect( result.current.currentViewport ).toBe( 'desktop' );
311
+ expect( result.current.isBlockCurrentlyHidden ).toBe( false );
312
+ } );
220
313
  } );
221
314
 
222
315
  describe( 'Block visibility (hidden everywhere)', () => {
223
316
  it( 'should return true when blockVisibility is false', () => {
224
- setupViewport( { isMobileOrLarger: true } );
317
+ setupViewport( { isMobileViewport: false } );
225
318
 
226
319
  const { result } = renderHook( () =>
227
320
  useBlockVisibility( {
@@ -234,7 +327,7 @@ describe( 'useBlockVisibility', () => {
234
327
  } );
235
328
 
236
329
  it( 'should return false when blockVisibility is true and no viewport restrictions', () => {
237
- setupViewport( { isMobileOrLarger: true } );
330
+ setupViewport( { isMobileViewport: false } );
238
331
 
239
332
  const { result } = renderHook( () =>
240
333
  useBlockVisibility( {
@@ -247,7 +340,7 @@ describe( 'useBlockVisibility', () => {
247
340
  } );
248
341
 
249
342
  it( 'should return false when blockVisibility is undefined', () => {
250
- setupViewport( { isMobileOrLarger: true } );
343
+ setupViewport( { isMobileViewport: false } );
251
344
 
252
345
  const { result } = renderHook( () =>
253
346
  useBlockVisibility( {
@@ -260,7 +353,7 @@ describe( 'useBlockVisibility', () => {
260
353
  } );
261
354
 
262
355
  it( 'should return true when blockVisibility is false regardless of viewport settings', () => {
263
- setupViewport( { isMobileOrLarger: true } );
356
+ setupViewport( { isMobileViewport: false } );
264
357
 
265
358
  const { result } = renderHook( () =>
266
359
  useBlockVisibility( {
@@ -275,7 +368,7 @@ describe( 'useBlockVisibility', () => {
275
368
 
276
369
  describe( 'Edge cases', () => {
277
370
  it( 'should return false when no visibility settings are defined', () => {
278
- setupViewport( { isMobileOrLarger: true } );
371
+ setupViewport( { isMobileViewport: false } );
279
372
 
280
373
  const { result } = renderHook( () =>
281
374
  useBlockVisibility( {
@@ -288,7 +381,7 @@ describe( 'useBlockVisibility', () => {
288
381
  } );
289
382
 
290
383
  it( 'should return false when blockVisibility is undefined', () => {
291
- setupViewport( { isMobileOrLarger: true } );
384
+ setupViewport( { isMobileViewport: false } );
292
385
 
293
386
  const { result } = renderHook( () =>
294
387
  useBlockVisibility( {
@@ -302,8 +395,8 @@ describe( 'useBlockVisibility', () => {
302
395
 
303
396
  it( 'should default to desktop deviceType when not provided', () => {
304
397
  setupViewport( {
305
- isMobileOrLarger: true,
306
- isMediumOrLarger: true,
398
+ isMobileViewport: false,
399
+ isTabletViewport: false,
307
400
  } );
308
401
 
309
402
  const { result } = renderHook( () =>
@@ -2,11 +2,22 @@
2
2
  * Internal dependencies
3
3
  */
4
4
  import {
5
+ getBlockVisibilityViewportEntries,
5
6
  getViewportCheckboxState,
6
7
  getHideEverywhereCheckboxState,
7
8
  } from '../utils';
8
9
 
9
10
  describe( 'block-visibility utils', () => {
11
+ describe( 'getBlockVisibilityViewportEntries', () => {
12
+ it( 'returns the configured viewport for a single breakpoint', () => {
13
+ expect(
14
+ getBlockVisibilityViewportEntries( { tablet: '64rem' } ).map(
15
+ ( [ key ] ) => key
16
+ )
17
+ ).toEqual( [ 'desktop', 'tablet' ] );
18
+ } );
19
+ } );
20
+
10
21
  describe( 'getViewportCheckboxState', () => {
11
22
  it( 'should return false for empty or invalid input', () => {
12
23
  expect( getViewportCheckboxState( [], 'mobile' ) ).toBe( false );
@@ -1,31 +1,47 @@
1
1
  /**
2
2
  * WordPress dependencies
3
3
  */
4
- import { useViewportMatch } from '@wordpress/compose';
4
+ import { useMediaQuery } from '@wordpress/compose';
5
+ import { privateApis as globalStylesEnginePrivateApis } from '@wordpress/global-styles-engine';
5
6
 
6
7
  /**
7
8
  * Internal dependencies
8
9
  */
9
10
  import { BLOCK_VISIBILITY_VIEWPORTS } from './constants';
11
+ import { unlock } from '../../lock-unlock';
12
+
13
+ const { getViewportBreakpoints } = unlock( globalStylesEnginePrivateApis );
10
14
 
11
15
  /**
12
16
  * Returns information about the current block visibility state.
13
17
  *
14
- * @param {Object} options Parameters to avoid extra store subscriptions.
15
- * @param {Object|boolean} options.blockVisibility Block visibility metadata.
16
- * @param {string} options.deviceType Current device type ('desktop', 'tablet', 'mobile').
17
- * @param {Window?} options.view Window instance in which to perform viewport matching
18
+ * @param {Object} options Parameters to avoid extra store subscriptions.
19
+ * @param {Object|boolean} options.blockVisibility Block visibility metadata.
20
+ * @param {string} options.deviceType Current device type ('desktop', 'tablet', 'mobile').
21
+ * @param {Object} options.viewportSettings Viewport breakpoint settings.
22
+ * @param {Window?} options.view Window instance in which to perform viewport matching
18
23
  * @return {Object} Object with `isBlockCurrentlyHidden` (boolean) and `currentViewport` (string) properties.
19
24
  */
20
25
  export default function useBlockVisibility( options = {} ) {
21
26
  const {
22
27
  blockVisibility = undefined,
23
28
  deviceType = BLOCK_VISIBILITY_VIEWPORTS.desktop.key,
29
+ viewportSettings,
24
30
  view = window,
25
31
  } = options;
26
32
 
27
- const isLargerThanMobile = useViewportMatch( 'mobile', '>=', view ); // >= 480px
28
- const isLargerThanTablet = useViewportMatch( 'medium', '>=', view ); // >= 782px
33
+ const viewportBreakpoints = getViewportBreakpoints( viewportSettings );
34
+ const mobileMediaQuery = viewportBreakpoints.mobile
35
+ ? `(width <= ${ viewportBreakpoints.mobile })`
36
+ : undefined;
37
+ const isMobileViewport = useMediaQuery( mobileMediaQuery, view );
38
+ let tabletMediaQuery;
39
+ if ( viewportBreakpoints.tablet ) {
40
+ tabletMediaQuery = viewportBreakpoints.mobile
41
+ ? `(${ viewportBreakpoints.mobile } < width <= ${ viewportBreakpoints.tablet })`
42
+ : `(width <= ${ viewportBreakpoints.tablet })`;
43
+ }
44
+ const isTabletViewport = useMediaQuery( tabletMediaQuery, view );
29
45
 
30
46
  /*
31
47
  * Priority:
@@ -33,13 +49,19 @@ export default function useBlockVisibility( options = {} ) {
33
49
  * 2. Actual window size (Desktop mode) - uses viewport detection
34
50
  */
35
51
  let currentViewport;
36
- if ( deviceType === BLOCK_VISIBILITY_VIEWPORTS.mobile.key ) {
52
+ if (
53
+ deviceType === BLOCK_VISIBILITY_VIEWPORTS.mobile.key &&
54
+ viewportBreakpoints.mobile
55
+ ) {
37
56
  currentViewport = BLOCK_VISIBILITY_VIEWPORTS.mobile.key;
38
- } else if ( deviceType === BLOCK_VISIBILITY_VIEWPORTS.tablet.key ) {
57
+ } else if (
58
+ deviceType === BLOCK_VISIBILITY_VIEWPORTS.tablet.key &&
59
+ viewportBreakpoints.tablet
60
+ ) {
39
61
  currentViewport = BLOCK_VISIBILITY_VIEWPORTS.tablet.key;
40
- } else if ( ! isLargerThanMobile ) {
62
+ } else if ( isMobileViewport ) {
41
63
  currentViewport = BLOCK_VISIBILITY_VIEWPORTS.mobile.key;
42
- } else if ( isLargerThanMobile && ! isLargerThanTablet ) {
64
+ } else if ( isTabletViewport && viewportBreakpoints.tablet ) {
43
65
  currentViewport = BLOCK_VISIBILITY_VIEWPORTS.tablet.key;
44
66
  } else {
45
67
  currentViewport = BLOCK_VISIBILITY_VIEWPORTS.desktop.key;
@@ -1,12 +1,32 @@
1
1
  /**
2
2
  * WordPress dependencies
3
3
  */
4
+ import { privateApis as globalStylesEnginePrivateApis } from '@wordpress/global-styles-engine';
4
5
  import { __, sprintf } from '@wordpress/i18n';
5
6
 
6
7
  /**
7
8
  * Internal dependencies
8
9
  */
9
- import { BLOCK_VISIBILITY_VIEWPORT_ENTRIES } from './constants';
10
+ import {
11
+ BLOCK_VISIBILITY_VIEWPORT_ENTRIES,
12
+ BLOCK_VISIBILITY_VIEWPORTS,
13
+ } from './constants';
14
+ import { unlock } from '../../lock-unlock';
15
+
16
+ const { getViewportBreakpoints } = unlock( globalStylesEnginePrivateApis );
17
+
18
+ export function getBlockVisibilityViewportEntries( viewportSettings ) {
19
+ const breakpoints = getViewportBreakpoints( viewportSettings );
20
+
21
+ // Desktop has no breakpoint, so only filter mobile/tablet by configured viewport support.
22
+ return BLOCK_VISIBILITY_VIEWPORT_ENTRIES.filter(
23
+ ( [ viewport ] ) =>
24
+ ( viewport !== BLOCK_VISIBILITY_VIEWPORTS.tablet.key ||
25
+ breakpoints.tablet !== undefined ) &&
26
+ ( viewport !== BLOCK_VISIBILITY_VIEWPORTS.mobile.key ||
27
+ breakpoints.mobile !== undefined )
28
+ );
29
+ }
10
30
 
11
31
  /**
12
32
  * Checks if a block is hidden for a specific viewport.
@@ -110,10 +130,11 @@ export function getHideEverywhereCheckboxState( blocks ) {
110
130
  /**
111
131
  * Get a human-readable label describing which viewports a block is hidden on.
112
132
  *
113
- * @param {boolean|Object} blockVisibility The block's visibility metadata.
133
+ * @param {boolean|Object} blockVisibility The block's visibility metadata.
134
+ * @param {Object} viewportSettings Viewport breakpoint settings.
114
135
  * @return {string|null} A descriptive label, or null if the block is not hidden.
115
136
  */
116
- export function getBlockVisibilityLabel( blockVisibility ) {
137
+ export function getBlockVisibilityLabel( blockVisibility, viewportSettings ) {
117
138
  // Not hidden at all
118
139
  if ( ! blockVisibility && blockVisibility !== false ) {
119
140
  return null;
@@ -126,9 +147,13 @@ export function getBlockVisibilityLabel( blockVisibility ) {
126
147
 
127
148
  if ( blockVisibility?.viewport ) {
128
149
  // Hidden on specific viewports - list them
129
- const hiddenViewports = BLOCK_VISIBILITY_VIEWPORT_ENTRIES.filter(
130
- ( [ key ] ) => blockVisibility.viewport?.[ key ] === false
131
- ).map( ( [ , viewport ] ) => viewport.label );
150
+ const hiddenViewports = getBlockVisibilityViewportEntries(
151
+ viewportSettings
152
+ )
153
+ .filter(
154
+ ( [ key ] ) => blockVisibility.viewport?.[ key ] === false
155
+ )
156
+ .map( ( [ , viewport ] ) => viewport.label );
132
157
 
133
158
  if ( hiddenViewports.length > 0 ) {
134
159
  return sprintf(
@@ -11,8 +11,10 @@ import { store as keyboardShortcutsStore } from '@wordpress/keyboard-shortcuts';
11
11
  */
12
12
  import { store as blockEditorStore } from '../../store';
13
13
  import { unlock } from '../../lock-unlock';
14
+ import { useSettings } from '../use-settings';
14
15
 
15
16
  export default function BlockVisibilityViewportMenuItem( { clientIds } ) {
17
+ const [ blockVisibility ] = useSettings( 'blockVisibility.allowEditing' );
16
18
  const { areBlocksHiddenAnywhere, shortcut } = useSelect(
17
19
  ( select ) => {
18
20
  const { isBlockHiddenAnywhere } = unlock(
@@ -31,7 +33,14 @@ export default function BlockVisibilityViewportMenuItem( { clientIds } ) {
31
33
  },
32
34
  [ clientIds ]
33
35
  );
34
- const { showViewportModal } = unlock( useDispatch( blockEditorStore ) );
36
+ const dispatch = useDispatch( blockEditorStore );
37
+
38
+ if ( blockVisibility === false ) {
39
+ return null;
40
+ }
41
+
42
+ const { showViewportModal } = unlock( dispatch );
43
+
35
44
  return (
36
45
  <MenuItem
37
46
  onClick={ () => showViewportModal( clientIds ) }
@@ -13,9 +13,11 @@ import { useSelect, useDispatch } from '@wordpress/data';
13
13
  */
14
14
  import { store as blockEditorStore } from '../../store';
15
15
  import { unlock } from '../../lock-unlock';
16
+ import { useSettings } from '../use-settings';
16
17
 
17
18
  export default function BlockVisibilityViewportToolbar( { clientIds } ) {
18
19
  const hasBlockVisibilityButtonShownRef = useRef( false );
20
+ const [ blockVisibility ] = useSettings( 'blockVisibility.allowEditing' );
19
21
  const { canToggleBlockVisibility, areBlocksHiddenAnywhere } = useSelect(
20
22
  ( select ) => {
21
23
  const { getBlocksByClientId, getBlockName, isBlockHiddenAnywhere } =
@@ -52,6 +54,10 @@ export default function BlockVisibilityViewportToolbar( { clientIds } ) {
52
54
  }
53
55
  }, [ areBlocksHiddenAnywhere ] );
54
56
 
57
+ if ( blockVisibility === false ) {
58
+ return null;
59
+ }
60
+
55
61
  if (
56
62
  ! areBlocksHiddenAnywhere &&
57
63
  ! hasBlockVisibilityButtonShownRef.current
@@ -32,6 +32,7 @@ export default function ViewportVisibilityInfo( { clientId } ) {
32
32
  const {
33
33
  currentBlockVisibility,
34
34
  selectedDeviceType,
35
+ viewportSettings,
35
36
  hasParentHiddenEverywhere,
36
37
  } = useSelect(
37
38
  ( select ) => {
@@ -43,13 +44,15 @@ export default function ViewportVisibilityInfo( { clientId } ) {
43
44
  isBlockParentHiddenEverywhere,
44
45
  getSettings,
45
46
  } = unlock( select( blockEditorStore ) );
47
+ const settings = getSettings();
46
48
 
47
49
  return {
48
50
  currentBlockVisibility:
49
51
  getBlockAttributes( clientId )?.metadata?.blockVisibility,
50
52
  selectedDeviceType:
51
- getSettings()?.[ deviceTypeKey ]?.toLowerCase() ||
53
+ settings?.[ deviceTypeKey ]?.toLowerCase() ||
52
54
  BLOCK_VISIBILITY_VIEWPORTS.desktop.key,
55
+ viewportSettings: settings?.__experimentalFeatures?.viewport,
53
56
  hasParentHiddenEverywhere:
54
57
  isBlockParentHiddenEverywhere( clientId ),
55
58
  };
@@ -66,6 +69,7 @@ export default function ViewportVisibilityInfo( { clientId } ) {
66
69
  const { isBlockCurrentlyHidden, currentViewport } = useBlockVisibility( {
67
70
  blockVisibility: currentBlockVisibility,
68
71
  deviceType: selectedDeviceType,
72
+ viewportSettings,
69
73
  view: canvasView,
70
74
  } );
71
75
 
@@ -9,20 +9,14 @@
9
9
  width: 100%;
10
10
  height: auto;
11
11
  color: $gray-900;
12
- box-shadow: inset 0 0 0 $border-width $gray-900;
12
+ border-color: currentColor;
13
13
 
14
14
  .is-dark-theme & {
15
15
  color: $light-gray-placeholder;
16
- box-shadow: inset 0 0 0 $border-width $light-gray-placeholder;
17
16
  }
18
17
 
19
18
  &:hover {
20
19
  color: var(--wp-admin-theme-color);
21
- box-shadow: inset 0 0 0 $border-width var(--wp-admin-theme-color);
22
- }
23
-
24
- &:focus {
25
- box-shadow: inset 0 0 0 2px var(--wp-admin-theme-color);
26
20
  }
27
21
 
28
22
  &:active {
@@ -178,7 +178,6 @@ function FlexControls( {
178
178
  panelId={ panelId }
179
179
  >
180
180
  <ToggleGroupControl
181
- size="__unstable-large"
182
181
  label={ childLayoutOrientation( parentLayout ) }
183
182
  value={ flexControlValue }
184
183
  help={ helpText( flexControlValue, parentLayout ) }
@@ -225,7 +224,6 @@ function FlexControls( {
225
224
  </ToggleGroupControl>
226
225
  { hasFlexSizeValue && (
227
226
  <UnitControl
228
- size="__unstable-large"
229
227
  units={ units }
230
228
  onChange={ ( value ) => {
231
229
  onChange( {
@@ -308,7 +306,6 @@ function GridControls( {
308
306
  >
309
307
  <FlexItem style={ { width: '50%' } }>
310
308
  <InputControl
311
- size="__unstable-large"
312
309
  label={ __( 'Column span' ) }
313
310
  type="number"
314
311
  onChange={ ( value ) => {
@@ -333,7 +330,6 @@ function GridControls( {
333
330
  </FlexItem>
334
331
  <FlexItem style={ { width: '50%' } }>
335
332
  <InputControl
336
- size="__unstable-large"
337
333
  label={ __( 'Row span' ) }
338
334
  type="number"
339
335
  onChange={ ( value ) => {
@@ -371,7 +367,6 @@ function GridControls( {
371
367
  >
372
368
  <FlexItem style={ { width: '50%' } }>
373
369
  <InputControl
374
- size="__unstable-large"
375
370
  label={ __( 'Column' ) }
376
371
  type="number"
377
372
  onChange={ ( value ) => {
@@ -406,7 +401,6 @@ function GridControls( {
406
401
  </FlexItem>
407
402
  <FlexItem style={ { width: '50%' } }>
408
403
  <InputControl
409
- size="__unstable-large"
410
404
  label={ __( 'Row' ) }
411
405
  type="number"
412
406
  onChange={ ( value ) => {