@wordpress/block-editor 15.22.1 → 16.0.1-next.v.202607070741.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 (379) hide show
  1. package/CHANGELOG.md +27 -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-inspector/edit-contents.cjs +3 -0
  7. package/build/components/block-inspector/edit-contents.cjs.map +3 -3
  8. package/build/components/block-inspector/index.cjs +18 -36
  9. package/build/components/block-inspector/index.cjs.map +2 -2
  10. package/build/components/block-list/block-invalid-warning.cjs +8 -19
  11. package/build/components/block-list/block-invalid-warning.cjs.map +2 -2
  12. package/build/components/block-styles/use-styles-for-block.cjs +2 -1
  13. package/build/components/block-styles/use-styles-for-block.cjs.map +2 -2
  14. package/build/components/block-title/use-block-display-title.cjs +7 -2
  15. package/build/components/block-title/use-block-display-title.cjs.map +2 -2
  16. package/build/components/block-toolbar/block-toolbar-icon.cjs +10 -14
  17. package/build/components/block-toolbar/block-toolbar-icon.cjs.map +2 -2
  18. package/build/components/block-variation-transforms/index.cjs +0 -1
  19. package/build/components/block-variation-transforms/index.cjs.map +2 -2
  20. package/build/components/child-layout-control/index.cjs +0 -2
  21. package/build/components/child-layout-control/index.cjs.map +2 -2
  22. package/build/components/colors-gradients/control.cjs +5 -5
  23. package/build/components/colors-gradients/control.cjs.map +2 -2
  24. package/build/components/date-format-picker/index.cjs +0 -1
  25. package/build/components/date-format-picker/index.cjs.map +2 -2
  26. package/build/components/dimensions-tool/aspect-ratio-tool.cjs +1 -2
  27. package/build/components/dimensions-tool/aspect-ratio-tool.cjs.map +2 -2
  28. package/build/components/dimensions-tool/scale-tool.cjs +0 -1
  29. package/build/components/dimensions-tool/scale-tool.cjs.map +2 -2
  30. package/build/components/dimensions-tool/width-height-tool.cjs +2 -4
  31. package/build/components/dimensions-tool/width-height-tool.cjs.map +2 -2
  32. package/build/components/font-appearance-control/index.cjs +6 -25
  33. package/build/components/font-appearance-control/index.cjs.map +3 -3
  34. package/build/components/font-family/index.cjs +6 -15
  35. package/build/components/font-family/index.cjs.map +3 -3
  36. package/build/components/font-sizes/font-size-picker.cjs +1 -2
  37. package/build/components/font-sizes/font-size-picker.cjs.map +2 -2
  38. package/build/components/global-styles/border-panel.cjs +0 -1
  39. package/build/components/global-styles/border-panel.cjs.map +2 -2
  40. package/build/components/global-styles/dimensions-panel.cjs +0 -3
  41. package/build/components/global-styles/dimensions-panel.cjs.map +2 -2
  42. package/build/components/global-styles/typography-panel.cjs +4 -10
  43. package/build/components/global-styles/typography-panel.cjs.map +2 -2
  44. package/build/components/height-control/index.cjs +0 -2
  45. package/build/components/height-control/index.cjs.map +2 -2
  46. package/build/components/html-element-control/index.cjs +0 -1
  47. package/build/components/html-element-control/index.cjs.map +2 -2
  48. package/build/components/image-editor/index.cjs +5 -0
  49. package/build/components/image-editor/index.cjs.map +3 -3
  50. package/build/components/image-editor/zoom-dropdown.cjs +0 -1
  51. package/build/components/image-editor/zoom-dropdown.cjs.map +2 -2
  52. package/build/components/image-size-control/index.cjs +1 -3
  53. package/build/components/image-size-control/index.cjs.map +2 -2
  54. package/build/components/inner-content/index.cjs +107 -0
  55. package/build/components/inner-content/index.cjs.map +7 -0
  56. package/build/components/inserter/hooks/use-block-types-state.cjs +10 -2
  57. package/build/components/inserter/hooks/use-block-types-state.cjs.map +2 -2
  58. package/build/components/inserter/media-tab/hooks.cjs +34 -6
  59. package/build/components/inserter/media-tab/hooks.cjs.map +2 -2
  60. package/build/components/inserter/media-tab/media-list.cjs +3 -1
  61. package/build/components/inserter/media-tab/media-list.cjs.map +2 -2
  62. package/build/components/inserter/media-tab/media-panel.cjs +224 -27
  63. package/build/components/inserter/media-tab/media-panel.cjs.map +3 -3
  64. package/build/components/inserter/media-tab/media-preview.cjs +32 -17
  65. package/build/components/inserter/media-tab/media-preview.cjs.map +2 -2
  66. package/build/components/inserter/media-tab/media-tab.cjs +26 -6
  67. package/build/components/inserter/media-tab/media-tab.cjs.map +2 -2
  68. package/build/components/inserter/mobile-tab-navigation.cjs +6 -1
  69. package/build/components/inserter/mobile-tab-navigation.cjs.map +2 -2
  70. package/build/components/inserter/no-results.cjs +2 -2
  71. package/build/components/inserter/no-results.cjs.map +2 -2
  72. package/build/components/inserter/preview-panel.cjs +2 -1
  73. package/build/components/inserter/preview-panel.cjs.map +2 -2
  74. package/build/components/inserter-list-item/index.cjs +8 -2
  75. package/build/components/inserter-list-item/index.cjs.map +2 -2
  76. package/build/components/letter-spacing-control/index.cjs +0 -24
  77. package/build/components/letter-spacing-control/index.cjs.map +3 -3
  78. package/build/components/line-height-control/index.cjs +7 -22
  79. package/build/components/line-height-control/index.cjs.map +3 -3
  80. package/build/components/list-view/block-select-button.cjs +90 -84
  81. package/build/components/list-view/block-select-button.cjs.map +2 -2
  82. package/build/components/list-view/block.cjs +51 -20
  83. package/build/components/list-view/block.cjs.map +2 -2
  84. package/build/components/list-view/expander.cjs +1 -1
  85. package/build/components/list-view/expander.cjs.map +2 -2
  86. package/build/components/list-view/use-list-view-client-ids.cjs +2 -2
  87. package/build/components/list-view/use-list-view-client-ids.cjs.map +2 -2
  88. package/build/components/observe-typing/index.cjs +4 -3
  89. package/build/components/observe-typing/index.cjs.map +2 -2
  90. package/build/components/preset-input-control/custom-value-controls.cjs +1 -3
  91. package/build/components/preset-input-control/custom-value-controls.cjs.map +2 -2
  92. package/build/components/preset-input-control/index.cjs +1 -3
  93. package/build/components/preset-input-control/index.cjs.map +2 -2
  94. package/build/components/resolution-tool/index.cjs +1 -2
  95. package/build/components/resolution-tool/index.cjs.map +2 -2
  96. package/build/components/text-alignment-control/index.cjs +0 -1
  97. package/build/components/text-alignment-control/index.cjs.map +2 -2
  98. package/build/components/text-decoration-control/index.cjs +0 -1
  99. package/build/components/text-decoration-control/index.cjs.map +2 -2
  100. package/build/components/text-indent-control/index.cjs +0 -8
  101. package/build/components/text-indent-control/index.cjs.map +2 -2
  102. package/build/components/text-transform-control/index.cjs +0 -1
  103. package/build/components/text-transform-control/index.cjs.map +2 -2
  104. package/build/components/use-block-display-information/index.cjs +10 -8
  105. package/build/components/use-block-display-information/index.cjs.map +2 -2
  106. package/build/components/use-on-block-drop/index.cjs +3 -7
  107. package/build/components/use-on-block-drop/index.cjs.map +2 -2
  108. package/build/components/use-resize-canvas/index.cjs +16 -53
  109. package/build/components/use-resize-canvas/index.cjs.map +3 -3
  110. package/build/components/writing-mode-control/index.cjs +0 -1
  111. package/build/components/writing-mode-control/index.cjs.map +2 -2
  112. package/build/hooks/font-size.cjs +1 -2
  113. package/build/hooks/font-size.cjs.map +2 -2
  114. package/build/hooks/layout.cjs +5 -3
  115. package/build/hooks/layout.cjs.map +2 -2
  116. package/build/hooks/position.cjs +36 -16
  117. package/build/hooks/position.cjs.map +2 -2
  118. package/build/hooks/states.cjs +10 -21
  119. package/build/hooks/states.cjs.map +2 -2
  120. package/build/layouts/constrained.cjs +21 -21
  121. package/build/layouts/constrained.cjs.map +2 -2
  122. package/build/layouts/flex.cjs +0 -3
  123. package/build/layouts/flex.cjs.map +2 -2
  124. package/build/layouts/grid.cjs +51 -9
  125. package/build/layouts/grid.cjs.map +2 -2
  126. package/build/private-apis.cjs +4 -2
  127. package/build/private-apis.cjs.map +3 -3
  128. package/build/store/actions.cjs.map +2 -2
  129. package/build/store/private-actions.cjs +16 -0
  130. package/build/store/private-actions.cjs.map +2 -2
  131. package/build/store/private-keys.cjs +3 -3
  132. package/build/store/private-keys.cjs.map +2 -2
  133. package/build/store/private-selectors.cjs +96 -10
  134. package/build/store/private-selectors.cjs.map +2 -2
  135. package/build/store/reducer.cjs +19 -3
  136. package/build/store/reducer.cjs.map +2 -2
  137. package/build/store/selectors.cjs +13 -0
  138. package/build/store/selectors.cjs.map +2 -2
  139. package/build-module/autocompleters/block.mjs +10 -2
  140. package/build-module/autocompleters/block.mjs.map +2 -2
  141. package/build-module/components/background-image-control/index.mjs +0 -2
  142. package/build-module/components/background-image-control/index.mjs.map +2 -2
  143. package/build-module/components/block-inspector/edit-contents.mjs +4 -1
  144. package/build-module/components/block-inspector/edit-contents.mjs.map +2 -2
  145. package/build-module/components/block-inspector/index.mjs +18 -36
  146. package/build-module/components/block-inspector/index.mjs.map +2 -2
  147. package/build-module/components/block-list/block-invalid-warning.mjs +8 -19
  148. package/build-module/components/block-list/block-invalid-warning.mjs.map +2 -2
  149. package/build-module/components/block-styles/use-styles-for-block.mjs +2 -1
  150. package/build-module/components/block-styles/use-styles-for-block.mjs.map +2 -2
  151. package/build-module/components/block-title/use-block-display-title.mjs +7 -2
  152. package/build-module/components/block-title/use-block-display-title.mjs.map +2 -2
  153. package/build-module/components/block-toolbar/block-toolbar-icon.mjs +10 -14
  154. package/build-module/components/block-toolbar/block-toolbar-icon.mjs.map +2 -2
  155. package/build-module/components/block-variation-transforms/index.mjs +0 -1
  156. package/build-module/components/block-variation-transforms/index.mjs.map +2 -2
  157. package/build-module/components/child-layout-control/index.mjs +0 -2
  158. package/build-module/components/child-layout-control/index.mjs.map +2 -2
  159. package/build-module/components/colors-gradients/control.mjs +5 -5
  160. package/build-module/components/colors-gradients/control.mjs.map +2 -2
  161. package/build-module/components/date-format-picker/index.mjs +0 -1
  162. package/build-module/components/date-format-picker/index.mjs.map +2 -2
  163. package/build-module/components/dimensions-tool/aspect-ratio-tool.mjs +1 -2
  164. package/build-module/components/dimensions-tool/aspect-ratio-tool.mjs.map +2 -2
  165. package/build-module/components/dimensions-tool/scale-tool.mjs +0 -1
  166. package/build-module/components/dimensions-tool/scale-tool.mjs.map +2 -2
  167. package/build-module/components/dimensions-tool/width-height-tool.mjs +2 -4
  168. package/build-module/components/dimensions-tool/width-height-tool.mjs.map +2 -2
  169. package/build-module/components/font-appearance-control/index.mjs +6 -15
  170. package/build-module/components/font-appearance-control/index.mjs.map +2 -2
  171. package/build-module/components/font-family/index.mjs +6 -15
  172. package/build-module/components/font-family/index.mjs.map +2 -2
  173. package/build-module/components/font-sizes/font-size-picker.mjs +1 -2
  174. package/build-module/components/font-sizes/font-size-picker.mjs.map +2 -2
  175. package/build-module/components/global-styles/border-panel.mjs +0 -1
  176. package/build-module/components/global-styles/border-panel.mjs.map +2 -2
  177. package/build-module/components/global-styles/dimensions-panel.mjs +0 -3
  178. package/build-module/components/global-styles/dimensions-panel.mjs.map +2 -2
  179. package/build-module/components/global-styles/typography-panel.mjs +4 -10
  180. package/build-module/components/global-styles/typography-panel.mjs.map +2 -2
  181. package/build-module/components/height-control/index.mjs +0 -2
  182. package/build-module/components/height-control/index.mjs.map +2 -2
  183. package/build-module/components/html-element-control/index.mjs +0 -1
  184. package/build-module/components/html-element-control/index.mjs.map +2 -2
  185. package/build-module/components/image-editor/index.mjs +5 -0
  186. package/build-module/components/image-editor/index.mjs.map +2 -2
  187. package/build-module/components/image-editor/zoom-dropdown.mjs +0 -1
  188. package/build-module/components/image-editor/zoom-dropdown.mjs.map +2 -2
  189. package/build-module/components/image-size-control/index.mjs +1 -3
  190. package/build-module/components/image-size-control/index.mjs.map +2 -2
  191. package/build-module/components/inner-content/index.mjs +82 -0
  192. package/build-module/components/inner-content/index.mjs.map +7 -0
  193. package/build-module/components/inserter/hooks/use-block-types-state.mjs +10 -2
  194. package/build-module/components/inserter/hooks/use-block-types-state.mjs.map +2 -2
  195. package/build-module/components/inserter/media-tab/hooks.mjs +33 -6
  196. package/build-module/components/inserter/media-tab/hooks.mjs.map +2 -2
  197. package/build-module/components/inserter/media-tab/media-list.mjs +3 -1
  198. package/build-module/components/inserter/media-tab/media-list.mjs.map +2 -2
  199. package/build-module/components/inserter/media-tab/media-panel.mjs +227 -30
  200. package/build-module/components/inserter/media-tab/media-panel.mjs.map +2 -2
  201. package/build-module/components/inserter/media-tab/media-preview.mjs +33 -18
  202. package/build-module/components/inserter/media-tab/media-preview.mjs.map +2 -2
  203. package/build-module/components/inserter/media-tab/media-tab.mjs +27 -7
  204. package/build-module/components/inserter/media-tab/media-tab.mjs.map +2 -2
  205. package/build-module/components/inserter/mobile-tab-navigation.mjs +6 -1
  206. package/build-module/components/inserter/mobile-tab-navigation.mjs.map +2 -2
  207. package/build-module/components/inserter/no-results.mjs +2 -2
  208. package/build-module/components/inserter/no-results.mjs.map +2 -2
  209. package/build-module/components/inserter/preview-panel.mjs +2 -1
  210. package/build-module/components/inserter/preview-panel.mjs.map +2 -2
  211. package/build-module/components/inserter-list-item/index.mjs +8 -2
  212. package/build-module/components/inserter-list-item/index.mjs.map +2 -2
  213. package/build-module/components/letter-spacing-control/index.mjs +0 -14
  214. package/build-module/components/letter-spacing-control/index.mjs.map +2 -2
  215. package/build-module/components/line-height-control/index.mjs +7 -12
  216. package/build-module/components/line-height-control/index.mjs.map +2 -2
  217. package/build-module/components/list-view/block-select-button.mjs +90 -84
  218. package/build-module/components/list-view/block-select-button.mjs.map +2 -2
  219. package/build-module/components/list-view/block.mjs +51 -20
  220. package/build-module/components/list-view/block.mjs.map +2 -2
  221. package/build-module/components/list-view/expander.mjs +1 -1
  222. package/build-module/components/list-view/expander.mjs.map +2 -2
  223. package/build-module/components/list-view/use-list-view-client-ids.mjs +2 -2
  224. package/build-module/components/list-view/use-list-view-client-ids.mjs.map +2 -2
  225. package/build-module/components/observe-typing/index.mjs +4 -3
  226. package/build-module/components/observe-typing/index.mjs.map +2 -2
  227. package/build-module/components/preset-input-control/custom-value-controls.mjs +1 -3
  228. package/build-module/components/preset-input-control/custom-value-controls.mjs.map +2 -2
  229. package/build-module/components/preset-input-control/index.mjs +1 -3
  230. package/build-module/components/preset-input-control/index.mjs.map +2 -2
  231. package/build-module/components/resolution-tool/index.mjs +1 -2
  232. package/build-module/components/resolution-tool/index.mjs.map +2 -2
  233. package/build-module/components/text-alignment-control/index.mjs +0 -1
  234. package/build-module/components/text-alignment-control/index.mjs.map +2 -2
  235. package/build-module/components/text-decoration-control/index.mjs +0 -1
  236. package/build-module/components/text-decoration-control/index.mjs.map +2 -2
  237. package/build-module/components/text-indent-control/index.mjs +0 -8
  238. package/build-module/components/text-indent-control/index.mjs.map +2 -2
  239. package/build-module/components/text-transform-control/index.mjs +0 -1
  240. package/build-module/components/text-transform-control/index.mjs.map +2 -2
  241. package/build-module/components/use-block-display-information/index.mjs +10 -8
  242. package/build-module/components/use-block-display-information/index.mjs.map +2 -2
  243. package/build-module/components/use-on-block-drop/index.mjs +4 -7
  244. package/build-module/components/use-on-block-drop/index.mjs.map +2 -2
  245. package/build-module/components/use-resize-canvas/index.mjs +6 -53
  246. package/build-module/components/use-resize-canvas/index.mjs.map +2 -2
  247. package/build-module/components/writing-mode-control/index.mjs +0 -1
  248. package/build-module/components/writing-mode-control/index.mjs.map +2 -2
  249. package/build-module/hooks/font-size.mjs +1 -2
  250. package/build-module/hooks/font-size.mjs.map +2 -2
  251. package/build-module/hooks/layout.mjs +4 -3
  252. package/build-module/hooks/layout.mjs.map +2 -2
  253. package/build-module/hooks/position.mjs +38 -18
  254. package/build-module/hooks/position.mjs.map +2 -2
  255. package/build-module/hooks/states.mjs +10 -21
  256. package/build-module/hooks/states.mjs.map +2 -2
  257. package/build-module/layouts/constrained.mjs +21 -21
  258. package/build-module/layouts/constrained.mjs.map +2 -2
  259. package/build-module/layouts/flex.mjs +0 -3
  260. package/build-module/layouts/flex.mjs.map +2 -2
  261. package/build-module/layouts/grid.mjs +52 -9
  262. package/build-module/layouts/grid.mjs.map +2 -2
  263. package/build-module/private-apis.mjs +5 -3
  264. package/build-module/private-apis.mjs.map +2 -2
  265. package/build-module/store/actions.mjs.map +2 -2
  266. package/build-module/store/private-actions.mjs +14 -0
  267. package/build-module/store/private-actions.mjs.map +2 -2
  268. package/build-module/store/private-keys.mjs +2 -2
  269. package/build-module/store/private-keys.mjs.map +2 -2
  270. package/build-module/store/private-selectors.mjs +93 -10
  271. package/build-module/store/private-selectors.mjs.map +2 -2
  272. package/build-module/store/reducer.mjs +17 -3
  273. package/build-module/store/reducer.mjs.map +2 -2
  274. package/build-module/store/selectors.mjs +13 -0
  275. package/build-module/store/selectors.mjs.map +2 -2
  276. package/build-style/content-rtl.css +11 -5
  277. package/build-style/content.css +11 -5
  278. package/build-style/style-rtl.css +113 -3
  279. package/build-style/style.css +113 -3
  280. package/package.json +43 -41
  281. package/src/autocompleters/block.js +10 -3
  282. package/src/autocompleters/test/block.js +53 -0
  283. package/src/components/background-image-control/index.js +0 -2
  284. package/src/components/block-inspector/edit-contents.js +5 -1
  285. package/src/components/block-inspector/index.js +25 -44
  286. package/src/components/block-list/block-invalid-warning.js +8 -19
  287. package/src/components/block-patterns-list/stories/index.story.jsx +1 -1
  288. package/src/components/block-styles/use-styles-for-block.js +1 -0
  289. package/src/components/block-title/use-block-display-title.js +7 -2
  290. package/src/components/block-toolbar/block-toolbar-icon.js +11 -16
  291. package/src/components/block-toolbar/test/block-toolbar-icon.js +32 -9
  292. package/src/components/block-variation-transforms/index.js +0 -1
  293. package/src/components/child-layout-control/index.js +0 -2
  294. package/src/components/color-palette/test/__snapshots__/control.js.snap +11 -106
  295. package/src/components/colors-gradients/control.js +4 -4
  296. package/src/components/colors-gradients/style.scss +2 -2
  297. package/src/components/date-format-picker/index.js +0 -1
  298. package/src/components/dimensions-tool/aspect-ratio-tool.js +0 -1
  299. package/src/components/dimensions-tool/scale-tool.js +0 -1
  300. package/src/components/dimensions-tool/width-height-tool.js +0 -2
  301. package/src/components/font-appearance-control/index.js +6 -19
  302. package/src/components/font-family/README.md +0 -9
  303. package/src/components/font-family/index.js +6 -19
  304. package/src/components/font-family/stories/index.story.jsx +0 -1
  305. package/src/components/font-sizes/font-size-picker.js +0 -1
  306. package/src/components/global-styles/border-panel.js +0 -1
  307. package/src/components/global-styles/dimensions-panel.js +0 -3
  308. package/src/components/global-styles/typography-panel.js +0 -6
  309. package/src/components/height-control/index.js +0 -2
  310. package/src/components/html-element-control/index.js +0 -1
  311. package/src/components/iframe/content.scss +3 -3
  312. package/src/components/image-editor/index.js +22 -0
  313. package/src/components/image-editor/zoom-dropdown.js +0 -1
  314. package/src/components/image-size-control/index.js +0 -2
  315. package/src/components/inner-content/index.js +119 -0
  316. package/src/components/inner-content/test/index.js +81 -0
  317. package/src/components/inserter/hooks/use-block-types-state.js +10 -2
  318. package/src/components/inserter/media-tab/hooks.js +59 -9
  319. package/src/components/inserter/media-tab/media-list.js +2 -0
  320. package/src/components/inserter/media-tab/media-panel.js +256 -17
  321. package/src/components/inserter/media-tab/media-preview.js +34 -17
  322. package/src/components/inserter/media-tab/media-tab.js +20 -2
  323. package/src/components/inserter/media-tab/test/hooks.js +204 -0
  324. package/src/components/inserter/mobile-tab-navigation.js +6 -1
  325. package/src/components/inserter/no-results.js +2 -2
  326. package/src/components/inserter/preview-panel.js +1 -0
  327. package/src/components/inserter/style.scss +110 -1
  328. package/src/components/inserter-list-item/index.js +8 -2
  329. package/src/components/letter-spacing-control/README.md +0 -8
  330. package/src/components/letter-spacing-control/index.js +5 -23
  331. package/src/components/letter-spacing-control/stories/index.story.jsx +0 -12
  332. package/src/components/line-height-control/README.md +0 -8
  333. package/src/components/line-height-control/index.js +7 -16
  334. package/src/components/line-height-control/stories/index.story.jsx +0 -1
  335. package/src/components/line-height-control/test/index.js +1 -7
  336. package/src/components/link-picker/test/index.js +3 -1
  337. package/src/components/list-view/block-select-button.js +5 -1
  338. package/src/components/list-view/block.js +57 -20
  339. package/src/components/list-view/expander.js +5 -1
  340. package/src/components/list-view/style.scss +19 -0
  341. package/src/components/list-view/use-list-view-client-ids.js +2 -2
  342. package/src/components/observe-typing/index.js +9 -4
  343. package/src/components/preset-input-control/custom-value-controls.js +0 -2
  344. package/src/components/preset-input-control/index.js +0 -2
  345. package/src/components/resolution-tool/index.js +0 -1
  346. package/src/components/responsive-block-control/test/index.js +1 -5
  347. package/src/components/text-alignment-control/index.js +0 -1
  348. package/src/components/text-decoration-control/index.js +0 -1
  349. package/src/components/text-indent-control/index.js +7 -16
  350. package/src/components/text-transform-control/index.js +0 -1
  351. package/src/components/use-block-display-information/index.js +9 -13
  352. package/src/components/use-block-display-information/test/index.js +47 -9
  353. package/src/components/use-on-block-drop/index.js +4 -7
  354. package/src/components/use-resize-canvas/index.js +10 -71
  355. package/src/components/writing-mode-control/index.js +0 -1
  356. package/src/hooks/block-hooks.scss +15 -0
  357. package/src/hooks/font-size.js +0 -1
  358. package/src/hooks/layout.js +5 -4
  359. package/src/hooks/position.js +44 -23
  360. package/src/hooks/states.js +24 -26
  361. package/src/hooks/test/cross-origin-isolation.js +0 -4
  362. package/src/hooks/test/layout.js +75 -1
  363. package/src/layouts/constrained.js +51 -28
  364. package/src/layouts/flex.js +0 -3
  365. package/src/layouts/grid.js +59 -7
  366. package/src/layouts/test/constrained.js +91 -0
  367. package/src/layouts/test/grid.js +71 -0
  368. package/src/private-apis.js +4 -2
  369. package/src/store/actions.js +1 -0
  370. package/src/store/private-actions.js +31 -0
  371. package/src/store/private-keys.js +1 -1
  372. package/src/store/private-selectors.js +184 -11
  373. package/src/store/reducer.js +37 -2
  374. package/src/store/selectors.js +41 -0
  375. package/src/store/test/private-selectors.js +436 -10
  376. package/src/store/test/reducer.js +41 -13
  377. package/src/store/test/selectors.js +133 -0
  378. package/src/style.scss +1 -0
  379. package/src/components/use-resize-canvas/README.md +0 -37
@@ -43,6 +43,7 @@ import {
43
43
  withDerivedBlockEditingModes,
44
44
  viewportModalClientIds,
45
45
  selectedBlockStyleState,
46
+ styleStateViewport,
46
47
  } from '../reducer';
47
48
  import { getBlockOrder, getBlocks } from '../selectors';
48
49
  import { unlock } from '../../lock-unlock';
@@ -834,7 +835,7 @@ describe( 'state', () => {
834
835
  blocks: [
835
836
  {
836
837
  clientId: 'ribs',
837
- name: 'core/freeform',
838
+ name: 'core/registered-block',
838
839
  innerBlocks: [],
839
840
  },
840
841
  ],
@@ -880,7 +881,7 @@ describe( 'state', () => {
880
881
  blocks: [
881
882
  {
882
883
  clientId: 'wings',
883
- name: 'core/freeform',
884
+ name: 'core/registered-block',
884
885
  innerBlocks: [],
885
886
  },
886
887
  ],
@@ -888,7 +889,7 @@ describe( 'state', () => {
888
889
 
889
890
  expect( state.byClientId.size ).toBe( 1 );
890
891
  expect( state.byClientId.get( 'wings' ).name ).toBe(
891
- 'core/freeform'
892
+ 'core/registered-block'
892
893
  );
893
894
  expect( state.byClientId.get( 'wings' ).clientId ).toBe( 'wings' );
894
895
  expect( Object.fromEntries( state.order ) ).toEqual( {
@@ -903,7 +904,7 @@ describe( 'state', () => {
903
904
  );
904
905
  expect( state.tree.get( 'wings' ) ).toEqual( {
905
906
  clientId: 'wings',
906
- name: 'core/freeform',
907
+ name: 'core/registered-block',
907
908
  innerBlocks: [],
908
909
  } );
909
910
  } );
@@ -955,7 +956,7 @@ describe( 'state', () => {
955
956
  blocks: [
956
957
  {
957
958
  clientId: 'wings',
958
- name: 'core/freeform',
959
+ name: 'core/registered-block',
959
960
  innerBlocks: [],
960
961
  },
961
962
  ],
@@ -974,7 +975,7 @@ describe( 'state', () => {
974
975
  );
975
976
  expect( state.tree.get( 'wings' ) ).toEqual( {
976
977
  clientId: 'wings',
977
- name: 'core/freeform',
978
+ name: 'core/registered-block',
978
979
  innerBlocks: [],
979
980
  } );
980
981
  } );
@@ -1037,7 +1038,7 @@ describe( 'state', () => {
1037
1038
  blocks: [
1038
1039
  {
1039
1040
  clientId: 'chicken',
1040
- name: 'core/freeform',
1041
+ name: 'core/registered-block',
1041
1042
  innerBlocks: [],
1042
1043
  },
1043
1044
  ],
@@ -1048,7 +1049,7 @@ describe( 'state', () => {
1048
1049
  'core/test-block'
1049
1050
  );
1050
1051
  expect( replacedState.byClientId.get( 'chicken' ).name ).toBe(
1051
- 'core/freeform'
1052
+ 'core/registered-block'
1052
1053
  );
1053
1054
  expect( replacedState.byClientId.get( 'chicken' ).clientId ).toBe(
1054
1055
  'chicken'
@@ -1072,7 +1073,7 @@ describe( 'state', () => {
1072
1073
  ] );
1073
1074
  const replacementNestedBlock = {
1074
1075
  clientId: 'chicken',
1075
- name: 'core/freeform',
1076
+ name: 'core/registered-block',
1076
1077
  attributes: {},
1077
1078
  innerBlocks: [],
1078
1079
  };
@@ -1098,7 +1099,7 @@ describe( 'state', () => {
1098
1099
  'core/test-block'
1099
1100
  );
1100
1101
  expect( replacedNestedState.byClientId.get( 'chicken' ).name ).toBe(
1101
- 'core/freeform'
1102
+ 'core/registered-block'
1102
1103
  );
1103
1104
  } );
1104
1105
 
@@ -1603,7 +1604,7 @@ describe( 'state', () => {
1603
1604
  blocks: [
1604
1605
  {
1605
1606
  clientId: 'persimmon',
1606
- name: 'core/freeform',
1607
+ name: 'core/registered-block',
1607
1608
  innerBlocks: [],
1608
1609
  },
1609
1610
  ],
@@ -5948,7 +5949,6 @@ describe( 'state', () => {
5948
5949
  clientId: 'client-1',
5949
5950
  showStateOnCanvas: true,
5950
5951
  value: {
5951
- viewport: 'default',
5952
5952
  pseudo: ':hover',
5953
5953
  },
5954
5954
  } );
@@ -5994,7 +5994,6 @@ describe( 'state', () => {
5994
5994
  clientId: 'client-2',
5995
5995
  showStateOnCanvas: true,
5996
5996
  value: {
5997
- viewport: 'default',
5998
5997
  pseudo: ':focus',
5999
5998
  },
6000
5999
  } );
@@ -6275,6 +6274,35 @@ describe( 'state', () => {
6275
6274
  } );
6276
6275
  } );
6277
6276
 
6277
+ describe( 'styleStateViewport', () => {
6278
+ it( 'defaults to "default"', () => {
6279
+ expect( styleStateViewport( undefined, {} ) ).toBe( 'default' );
6280
+ } );
6281
+
6282
+ it( 'stores the selected viewport', () => {
6283
+ expect(
6284
+ styleStateViewport( 'default', {
6285
+ type: 'SET_STYLE_STATE_VIEWPORT',
6286
+ viewport: '@tablet',
6287
+ } )
6288
+ ).toBe( '@tablet' );
6289
+ } );
6290
+
6291
+ it( 'falls back to "default" when no viewport is provided', () => {
6292
+ expect(
6293
+ styleStateViewport( '@tablet', {
6294
+ type: 'SET_STYLE_STATE_VIEWPORT',
6295
+ } )
6296
+ ).toBe( 'default' );
6297
+ } );
6298
+
6299
+ it( 'ignores unrelated actions', () => {
6300
+ expect(
6301
+ styleStateViewport( '@mobile', { type: 'SOME_OTHER_ACTION' } )
6302
+ ).toBe( '@mobile' );
6303
+ } );
6304
+ } );
6305
+
6278
6306
  describe( 'viewportModalClientIds', () => {
6279
6307
  it( 'should default to null', () => {
6280
6308
  const state = viewportModalClientIds( undefined, {} );
@@ -7,6 +7,8 @@ import {
7
7
  setFreeformContentHandlerName,
8
8
  setDefaultBlockName,
9
9
  getDefaultBlockName,
10
+ createBlock,
11
+ createBlocksFromInnerBlocksTemplate,
10
12
  } from '@wordpress/blocks';
11
13
  import { RawHTML } from '@wordpress/element';
12
14
  import { symbol } from '@wordpress/icons';
@@ -3657,6 +3659,54 @@ describe( 'selectors', () => {
3657
3659
  } );
3658
3660
  } );
3659
3661
 
3662
+ it( 'surfaces innerContent on a block variation inserter item', () => {
3663
+ registerBlockType( 'core/html', {
3664
+ apiVersion: 3,
3665
+ save: () => null,
3666
+ category: 'widgets',
3667
+ title: 'Custom HTML',
3668
+ variations: [
3669
+ {
3670
+ name: 'card',
3671
+ title: 'Card',
3672
+ innerContent: [ '<div class="card">', null, '</div>' ],
3673
+ innerBlocks: [ [ 'core/test-block-a' ] ],
3674
+ },
3675
+ ],
3676
+ } );
3677
+
3678
+ const items = select( store ).getInserterItems();
3679
+ const variationItem = items.find(
3680
+ ( item ) => item.id === 'core/html/card'
3681
+ );
3682
+
3683
+ expect( variationItem.innerContent ).toEqual( [
3684
+ '<div class="card">',
3685
+ null,
3686
+ '</div>',
3687
+ ] );
3688
+
3689
+ // Replicate how `useBlockTypesState` builds the block on insert,
3690
+ // to guard the full path from variation to created block.
3691
+ const block = createBlock(
3692
+ variationItem.name,
3693
+ variationItem.initialAttributes,
3694
+ createBlocksFromInnerBlocksTemplate(
3695
+ variationItem.innerBlocks
3696
+ ),
3697
+ variationItem.innerContent
3698
+ );
3699
+ expect( block.innerContent ).toEqual( [
3700
+ '<div class="card">',
3701
+ null,
3702
+ '</div>',
3703
+ ] );
3704
+ expect( block.innerBlocks ).toHaveLength( 1 );
3705
+ expect( block.innerBlocks[ 0 ].name ).toBe( 'core/test-block-a' );
3706
+
3707
+ unregisterBlockType( 'core/html' );
3708
+ } );
3709
+
3660
3710
  it( 'should correctly cache the return values', async () => {
3661
3711
  await dispatch( store ).updateSettings( {
3662
3712
  __experimentalReusableBlocks: [
@@ -4802,6 +4852,89 @@ describe( 'selectors', () => {
4802
4852
  } );
4803
4853
  } );
4804
4854
 
4855
+ describe( 'static inner content (Custom HTML block)', () => {
4856
+ beforeEach( () => {
4857
+ registerBlockType( 'core/html', {
4858
+ apiVersion: 3,
4859
+ save: () => null,
4860
+ category: 'text',
4861
+ title: 'Custom HTML',
4862
+ icon: 'test',
4863
+ } );
4864
+ } );
4865
+
4866
+ afterEach( () => {
4867
+ unregisterBlockType( 'core/html' );
4868
+ } );
4869
+
4870
+ // The Custom HTML block parent with a child container, which has a
4871
+ // child of its own. The direct child is fixed in place; the grandchild
4872
+ // is regular, fully editable content.
4873
+ const buildState = () => ( {
4874
+ blocks: {
4875
+ byClientId: new Map(
4876
+ Object.entries( {
4877
+ parent: { name: 'core/html' },
4878
+ child: { name: 'core/test-block-b' },
4879
+ grandchild: { name: 'core/test-block-b' },
4880
+ } )
4881
+ ),
4882
+ attributes: new Map(
4883
+ Object.entries( {
4884
+ parent: {},
4885
+ child: {},
4886
+ grandchild: {},
4887
+ } )
4888
+ ),
4889
+ parents: new Map(
4890
+ Object.entries( {
4891
+ parent: '',
4892
+ child: 'parent',
4893
+ grandchild: 'child',
4894
+ } )
4895
+ ),
4896
+ order: new Map( [
4897
+ [ '', [ 'parent' ] ],
4898
+ [ 'parent', [ 'child' ] ],
4899
+ [ 'child', [ 'grandchild' ] ],
4900
+ ] ),
4901
+ blockEditingModes: new Map(),
4902
+ },
4903
+ blockListSettings: new Map( [
4904
+ [ 'parent', {} ],
4905
+ [ 'child', {} ],
4906
+ ] ),
4907
+ settings: {},
4908
+ derivedBlockEditingModes: new Map(),
4909
+ } );
4910
+
4911
+ it( 'prevents removing a direct child', () => {
4912
+ expect( canRemoveBlock( buildState(), 'child' ) ).toBe( false );
4913
+ } );
4914
+
4915
+ it( 'prevents moving a direct child', () => {
4916
+ expect( canMoveBlock( buildState(), 'child' ) ).toBe( false );
4917
+ } );
4918
+
4919
+ it( 'prevents insertion into the inner content root', () => {
4920
+ expect(
4921
+ canInsertBlockType(
4922
+ buildState(),
4923
+ 'core/test-block-b',
4924
+ 'parent'
4925
+ )
4926
+ ).toBe( false );
4927
+ } );
4928
+
4929
+ it( 'does not cascade to deeper descendants', () => {
4930
+ expect( canRemoveBlock( buildState(), 'grandchild' ) ).toBe( true );
4931
+ expect( canMoveBlock( buildState(), 'grandchild' ) ).toBe( true );
4932
+ expect(
4933
+ canInsertBlockType( buildState(), 'core/test-block-b', 'child' )
4934
+ ).toBe( true );
4935
+ } );
4936
+ } );
4937
+
4805
4938
  describe( 'canMoveBlock', () => {
4806
4939
  it( 'allows moving within a non-section contentOnly container', () => {
4807
4940
  // When the parent has contentOnly editing mode but is NOT
package/src/style.scss CHANGED
@@ -30,6 +30,7 @@
30
30
  @use "./components/border-radius-control/style.scss" as *;
31
31
  @use "./components/colors-gradients/style.scss" as *;
32
32
  @use "./components/date-format-picker/style.scss" as *;
33
+ @use "./components/dimension-control/style.scss" as *;
33
34
  @use "./components/duotone-control/style.scss" as *;
34
35
  @use "./components/fit-text-size-warning/style.scss" as *;
35
36
  @use "./components/font-appearance-control/style.scss" as *;
@@ -1,37 +0,0 @@
1
- # useResizeCanvas
2
-
3
- This React hook generates inline CSS suitable for resizing a container to fit a device's dimensions. It adjusts the CSS according to the current device dimensions.
4
-
5
- On-page CSS media queries are also updated to match the width of the device.
6
-
7
- Note that this is currently experimental, and is available as `__experimentalUseResizeCanvas`.
8
-
9
- ## Development guidelines
10
-
11
- ### Usage
12
-
13
- The hook returns a style object which can be applied to a container. It is passed the current device type, which can be obtained from `getDeviceType`.
14
-
15
- ```jsx
16
- import { __experimentalUseResizeCanvas as useResizeCanvas } from '@wordpress/block-editor';
17
-
18
- function ResizedContainer() {
19
- const deviceType = useSelect( ( select ) => {
20
- return select( 'core/editor' ).getDeviceType();
21
- }, [] );
22
- const inlineStyles = useResizeCanvas( deviceType );
23
-
24
- return <div style={ resizeStyles }>Your content</div>;
25
- }
26
- ```
27
-
28
- ## Props
29
-
30
- The hook accepts the following props.
31
-
32
- ### deviceType
33
-
34
- The type of device the container is rendered into. Accepted values are: `Mobile`, `Tablet`, and `Desktop`.
35
-
36
- - Type: `String`
37
- - Required: Yes