@wordpress/block-editor 15.23.0 → 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 (363) hide show
  1. package/CHANGELOG.md +25 -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 +2 -3
  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/writing-mode-control/index.cjs +0 -1
  109. package/build/components/writing-mode-control/index.cjs.map +2 -2
  110. package/build/hooks/font-size.cjs +1 -2
  111. package/build/hooks/font-size.cjs.map +2 -2
  112. package/build/hooks/layout.cjs +5 -3
  113. package/build/hooks/layout.cjs.map +2 -2
  114. package/build/hooks/position.cjs +36 -16
  115. package/build/hooks/position.cjs.map +2 -2
  116. package/build/hooks/states.cjs +6 -9
  117. package/build/hooks/states.cjs.map +2 -2
  118. package/build/layouts/constrained.cjs +21 -21
  119. package/build/layouts/constrained.cjs.map +2 -2
  120. package/build/layouts/flex.cjs +0 -3
  121. package/build/layouts/flex.cjs.map +2 -2
  122. package/build/layouts/grid.cjs +51 -9
  123. package/build/layouts/grid.cjs.map +2 -2
  124. package/build/private-apis.cjs +4 -1
  125. package/build/private-apis.cjs.map +3 -3
  126. package/build/store/actions.cjs.map +2 -2
  127. package/build/store/private-keys.cjs +3 -0
  128. package/build/store/private-keys.cjs.map +2 -2
  129. package/build/store/private-selectors.cjs +72 -4
  130. package/build/store/private-selectors.cjs.map +2 -2
  131. package/build/store/selectors.cjs +13 -0
  132. package/build/store/selectors.cjs.map +2 -2
  133. package/build-module/autocompleters/block.mjs +10 -2
  134. package/build-module/autocompleters/block.mjs.map +2 -2
  135. package/build-module/components/background-image-control/index.mjs +0 -2
  136. package/build-module/components/background-image-control/index.mjs.map +2 -2
  137. package/build-module/components/block-inspector/edit-contents.mjs +4 -1
  138. package/build-module/components/block-inspector/edit-contents.mjs.map +2 -2
  139. package/build-module/components/block-inspector/index.mjs +2 -3
  140. package/build-module/components/block-inspector/index.mjs.map +2 -2
  141. package/build-module/components/block-list/block-invalid-warning.mjs +8 -19
  142. package/build-module/components/block-list/block-invalid-warning.mjs.map +2 -2
  143. package/build-module/components/block-styles/use-styles-for-block.mjs +2 -1
  144. package/build-module/components/block-styles/use-styles-for-block.mjs.map +2 -2
  145. package/build-module/components/block-title/use-block-display-title.mjs +7 -2
  146. package/build-module/components/block-title/use-block-display-title.mjs.map +2 -2
  147. package/build-module/components/block-toolbar/block-toolbar-icon.mjs +10 -14
  148. package/build-module/components/block-toolbar/block-toolbar-icon.mjs.map +2 -2
  149. package/build-module/components/block-variation-transforms/index.mjs +0 -1
  150. package/build-module/components/block-variation-transforms/index.mjs.map +2 -2
  151. package/build-module/components/child-layout-control/index.mjs +0 -2
  152. package/build-module/components/child-layout-control/index.mjs.map +2 -2
  153. package/build-module/components/colors-gradients/control.mjs +5 -5
  154. package/build-module/components/colors-gradients/control.mjs.map +2 -2
  155. package/build-module/components/date-format-picker/index.mjs +0 -1
  156. package/build-module/components/date-format-picker/index.mjs.map +2 -2
  157. package/build-module/components/dimensions-tool/aspect-ratio-tool.mjs +1 -2
  158. package/build-module/components/dimensions-tool/aspect-ratio-tool.mjs.map +2 -2
  159. package/build-module/components/dimensions-tool/scale-tool.mjs +0 -1
  160. package/build-module/components/dimensions-tool/scale-tool.mjs.map +2 -2
  161. package/build-module/components/dimensions-tool/width-height-tool.mjs +2 -4
  162. package/build-module/components/dimensions-tool/width-height-tool.mjs.map +2 -2
  163. package/build-module/components/font-appearance-control/index.mjs +6 -15
  164. package/build-module/components/font-appearance-control/index.mjs.map +2 -2
  165. package/build-module/components/font-family/index.mjs +6 -15
  166. package/build-module/components/font-family/index.mjs.map +2 -2
  167. package/build-module/components/font-sizes/font-size-picker.mjs +1 -2
  168. package/build-module/components/font-sizes/font-size-picker.mjs.map +2 -2
  169. package/build-module/components/global-styles/border-panel.mjs +0 -1
  170. package/build-module/components/global-styles/border-panel.mjs.map +2 -2
  171. package/build-module/components/global-styles/dimensions-panel.mjs +0 -3
  172. package/build-module/components/global-styles/dimensions-panel.mjs.map +2 -2
  173. package/build-module/components/global-styles/typography-panel.mjs +4 -10
  174. package/build-module/components/global-styles/typography-panel.mjs.map +2 -2
  175. package/build-module/components/height-control/index.mjs +0 -2
  176. package/build-module/components/height-control/index.mjs.map +2 -2
  177. package/build-module/components/html-element-control/index.mjs +0 -1
  178. package/build-module/components/html-element-control/index.mjs.map +2 -2
  179. package/build-module/components/image-editor/index.mjs +5 -0
  180. package/build-module/components/image-editor/index.mjs.map +2 -2
  181. package/build-module/components/image-editor/zoom-dropdown.mjs +0 -1
  182. package/build-module/components/image-editor/zoom-dropdown.mjs.map +2 -2
  183. package/build-module/components/image-size-control/index.mjs +1 -3
  184. package/build-module/components/image-size-control/index.mjs.map +2 -2
  185. package/build-module/components/inner-content/index.mjs +82 -0
  186. package/build-module/components/inner-content/index.mjs.map +7 -0
  187. package/build-module/components/inserter/hooks/use-block-types-state.mjs +10 -2
  188. package/build-module/components/inserter/hooks/use-block-types-state.mjs.map +2 -2
  189. package/build-module/components/inserter/media-tab/hooks.mjs +33 -6
  190. package/build-module/components/inserter/media-tab/hooks.mjs.map +2 -2
  191. package/build-module/components/inserter/media-tab/media-list.mjs +3 -1
  192. package/build-module/components/inserter/media-tab/media-list.mjs.map +2 -2
  193. package/build-module/components/inserter/media-tab/media-panel.mjs +227 -30
  194. package/build-module/components/inserter/media-tab/media-panel.mjs.map +2 -2
  195. package/build-module/components/inserter/media-tab/media-preview.mjs +33 -18
  196. package/build-module/components/inserter/media-tab/media-preview.mjs.map +2 -2
  197. package/build-module/components/inserter/media-tab/media-tab.mjs +27 -7
  198. package/build-module/components/inserter/media-tab/media-tab.mjs.map +2 -2
  199. package/build-module/components/inserter/mobile-tab-navigation.mjs +6 -1
  200. package/build-module/components/inserter/mobile-tab-navigation.mjs.map +2 -2
  201. package/build-module/components/inserter/no-results.mjs +2 -2
  202. package/build-module/components/inserter/no-results.mjs.map +2 -2
  203. package/build-module/components/inserter/preview-panel.mjs +2 -1
  204. package/build-module/components/inserter/preview-panel.mjs.map +2 -2
  205. package/build-module/components/inserter-list-item/index.mjs +8 -2
  206. package/build-module/components/inserter-list-item/index.mjs.map +2 -2
  207. package/build-module/components/letter-spacing-control/index.mjs +0 -14
  208. package/build-module/components/letter-spacing-control/index.mjs.map +2 -2
  209. package/build-module/components/line-height-control/index.mjs +7 -12
  210. package/build-module/components/line-height-control/index.mjs.map +2 -2
  211. package/build-module/components/list-view/block-select-button.mjs +90 -84
  212. package/build-module/components/list-view/block-select-button.mjs.map +2 -2
  213. package/build-module/components/list-view/block.mjs +51 -20
  214. package/build-module/components/list-view/block.mjs.map +2 -2
  215. package/build-module/components/list-view/expander.mjs +1 -1
  216. package/build-module/components/list-view/expander.mjs.map +2 -2
  217. package/build-module/components/list-view/use-list-view-client-ids.mjs +2 -2
  218. package/build-module/components/list-view/use-list-view-client-ids.mjs.map +2 -2
  219. package/build-module/components/observe-typing/index.mjs +4 -3
  220. package/build-module/components/observe-typing/index.mjs.map +2 -2
  221. package/build-module/components/preset-input-control/custom-value-controls.mjs +1 -3
  222. package/build-module/components/preset-input-control/custom-value-controls.mjs.map +2 -2
  223. package/build-module/components/preset-input-control/index.mjs +1 -3
  224. package/build-module/components/preset-input-control/index.mjs.map +2 -2
  225. package/build-module/components/resolution-tool/index.mjs +1 -2
  226. package/build-module/components/resolution-tool/index.mjs.map +2 -2
  227. package/build-module/components/text-alignment-control/index.mjs +0 -1
  228. package/build-module/components/text-alignment-control/index.mjs.map +2 -2
  229. package/build-module/components/text-decoration-control/index.mjs +0 -1
  230. package/build-module/components/text-decoration-control/index.mjs.map +2 -2
  231. package/build-module/components/text-indent-control/index.mjs +0 -8
  232. package/build-module/components/text-indent-control/index.mjs.map +2 -2
  233. package/build-module/components/text-transform-control/index.mjs +0 -1
  234. package/build-module/components/text-transform-control/index.mjs.map +2 -2
  235. package/build-module/components/use-block-display-information/index.mjs +10 -8
  236. package/build-module/components/use-block-display-information/index.mjs.map +2 -2
  237. package/build-module/components/use-on-block-drop/index.mjs +4 -7
  238. package/build-module/components/use-on-block-drop/index.mjs.map +2 -2
  239. package/build-module/components/writing-mode-control/index.mjs +0 -1
  240. package/build-module/components/writing-mode-control/index.mjs.map +2 -2
  241. package/build-module/hooks/font-size.mjs +1 -2
  242. package/build-module/hooks/font-size.mjs.map +2 -2
  243. package/build-module/hooks/layout.mjs +4 -3
  244. package/build-module/hooks/layout.mjs.map +2 -2
  245. package/build-module/hooks/position.mjs +38 -18
  246. package/build-module/hooks/position.mjs.map +2 -2
  247. package/build-module/hooks/states.mjs +6 -9
  248. package/build-module/hooks/states.mjs.map +2 -2
  249. package/build-module/layouts/constrained.mjs +21 -21
  250. package/build-module/layouts/constrained.mjs.map +2 -2
  251. package/build-module/layouts/flex.mjs +0 -3
  252. package/build-module/layouts/flex.mjs.map +2 -2
  253. package/build-module/layouts/grid.mjs +52 -9
  254. package/build-module/layouts/grid.mjs.map +2 -2
  255. package/build-module/private-apis.mjs +5 -1
  256. package/build-module/private-apis.mjs.map +2 -2
  257. package/build-module/store/actions.mjs.map +2 -2
  258. package/build-module/store/private-keys.mjs +2 -0
  259. package/build-module/store/private-keys.mjs.map +2 -2
  260. package/build-module/store/private-selectors.mjs +71 -4
  261. package/build-module/store/private-selectors.mjs.map +2 -2
  262. package/build-module/store/selectors.mjs +13 -0
  263. package/build-module/store/selectors.mjs.map +2 -2
  264. package/build-style/content-rtl.css +11 -5
  265. package/build-style/content.css +11 -5
  266. package/build-style/style-rtl.css +113 -3
  267. package/build-style/style.css +113 -3
  268. package/package.json +43 -41
  269. package/src/autocompleters/block.js +10 -3
  270. package/src/autocompleters/test/block.js +53 -0
  271. package/src/components/background-image-control/index.js +0 -2
  272. package/src/components/block-inspector/edit-contents.js +5 -1
  273. package/src/components/block-inspector/index.js +3 -2
  274. package/src/components/block-list/block-invalid-warning.js +8 -19
  275. package/src/components/block-patterns-list/stories/index.story.jsx +1 -1
  276. package/src/components/block-styles/use-styles-for-block.js +1 -0
  277. package/src/components/block-title/use-block-display-title.js +7 -2
  278. package/src/components/block-toolbar/block-toolbar-icon.js +11 -16
  279. package/src/components/block-toolbar/test/block-toolbar-icon.js +32 -9
  280. package/src/components/block-variation-transforms/index.js +0 -1
  281. package/src/components/child-layout-control/index.js +0 -2
  282. package/src/components/color-palette/test/__snapshots__/control.js.snap +11 -106
  283. package/src/components/colors-gradients/control.js +4 -4
  284. package/src/components/colors-gradients/style.scss +2 -2
  285. package/src/components/date-format-picker/index.js +0 -1
  286. package/src/components/dimensions-tool/aspect-ratio-tool.js +0 -1
  287. package/src/components/dimensions-tool/scale-tool.js +0 -1
  288. package/src/components/dimensions-tool/width-height-tool.js +0 -2
  289. package/src/components/font-appearance-control/index.js +6 -19
  290. package/src/components/font-family/README.md +0 -9
  291. package/src/components/font-family/index.js +6 -19
  292. package/src/components/font-family/stories/index.story.jsx +0 -1
  293. package/src/components/font-sizes/font-size-picker.js +0 -1
  294. package/src/components/global-styles/border-panel.js +0 -1
  295. package/src/components/global-styles/dimensions-panel.js +0 -3
  296. package/src/components/global-styles/typography-panel.js +0 -6
  297. package/src/components/height-control/index.js +0 -2
  298. package/src/components/html-element-control/index.js +0 -1
  299. package/src/components/iframe/content.scss +3 -3
  300. package/src/components/image-editor/index.js +22 -0
  301. package/src/components/image-editor/zoom-dropdown.js +0 -1
  302. package/src/components/image-size-control/index.js +0 -2
  303. package/src/components/inner-content/index.js +119 -0
  304. package/src/components/inner-content/test/index.js +81 -0
  305. package/src/components/inserter/hooks/use-block-types-state.js +10 -2
  306. package/src/components/inserter/media-tab/hooks.js +59 -9
  307. package/src/components/inserter/media-tab/media-list.js +2 -0
  308. package/src/components/inserter/media-tab/media-panel.js +256 -17
  309. package/src/components/inserter/media-tab/media-preview.js +34 -17
  310. package/src/components/inserter/media-tab/media-tab.js +20 -2
  311. package/src/components/inserter/media-tab/test/hooks.js +204 -0
  312. package/src/components/inserter/mobile-tab-navigation.js +6 -1
  313. package/src/components/inserter/no-results.js +2 -2
  314. package/src/components/inserter/preview-panel.js +1 -0
  315. package/src/components/inserter/style.scss +110 -1
  316. package/src/components/inserter-list-item/index.js +8 -2
  317. package/src/components/letter-spacing-control/README.md +0 -8
  318. package/src/components/letter-spacing-control/index.js +5 -23
  319. package/src/components/letter-spacing-control/stories/index.story.jsx +0 -12
  320. package/src/components/line-height-control/README.md +0 -8
  321. package/src/components/line-height-control/index.js +7 -16
  322. package/src/components/line-height-control/stories/index.story.jsx +0 -1
  323. package/src/components/line-height-control/test/index.js +1 -7
  324. package/src/components/link-picker/test/index.js +3 -1
  325. package/src/components/list-view/block-select-button.js +5 -1
  326. package/src/components/list-view/block.js +57 -20
  327. package/src/components/list-view/expander.js +5 -1
  328. package/src/components/list-view/style.scss +19 -0
  329. package/src/components/list-view/use-list-view-client-ids.js +2 -2
  330. package/src/components/observe-typing/index.js +9 -4
  331. package/src/components/preset-input-control/custom-value-controls.js +0 -2
  332. package/src/components/preset-input-control/index.js +0 -2
  333. package/src/components/resolution-tool/index.js +0 -1
  334. package/src/components/responsive-block-control/test/index.js +1 -5
  335. package/src/components/text-alignment-control/index.js +0 -1
  336. package/src/components/text-decoration-control/index.js +0 -1
  337. package/src/components/text-indent-control/index.js +7 -16
  338. package/src/components/text-transform-control/index.js +0 -1
  339. package/src/components/use-block-display-information/index.js +9 -13
  340. package/src/components/use-block-display-information/test/index.js +47 -9
  341. package/src/components/use-on-block-drop/index.js +4 -7
  342. package/src/components/writing-mode-control/index.js +0 -1
  343. package/src/hooks/block-hooks.scss +15 -0
  344. package/src/hooks/font-size.js +0 -1
  345. package/src/hooks/layout.js +5 -4
  346. package/src/hooks/position.js +44 -23
  347. package/src/hooks/states.js +6 -12
  348. package/src/hooks/test/cross-origin-isolation.js +0 -4
  349. package/src/hooks/test/layout.js +75 -1
  350. package/src/layouts/constrained.js +51 -28
  351. package/src/layouts/flex.js +0 -3
  352. package/src/layouts/grid.js +59 -7
  353. package/src/layouts/test/constrained.js +91 -0
  354. package/src/layouts/test/grid.js +71 -0
  355. package/src/private-apis.js +4 -0
  356. package/src/store/actions.js +1 -0
  357. package/src/store/private-keys.js +1 -0
  358. package/src/store/private-selectors.js +141 -4
  359. package/src/store/selectors.js +41 -0
  360. package/src/store/test/private-selectors.js +422 -0
  361. package/src/store/test/reducer.js +11 -11
  362. package/src/store/test/selectors.js +133 -0
  363. package/src/style.scss +1 -0
@@ -67,6 +67,12 @@
67
67
  /**
68
68
  * Focus styles.
69
69
  */
70
+ /**
71
+ * Standard focus rings for the WordPress Design System.
72
+ *
73
+ * Apply `outset-ring__focus` inside the relevant pseudo-class at the call site,
74
+ * e.g. `&:focus { @include outset-ring__focus(); }`.
75
+ */
70
76
  /**
71
77
  * Applies editor left position to the selector passed as argument
72
78
  */
@@ -819,7 +825,7 @@ _::-webkit-full-page-media, _:future, :root [data-has-multi-selection=true] .blo
819
825
  position: fixed;
820
826
  right: 0;
821
827
  left: 0;
822
- top: calc(-1 * var(--wp-block-editor-iframe-zoom-out-scroll-top, 0));
828
+ top: calc(-1 * var(--wp-block-editor-iframe-zoom-out-scroll-top, 0px));
823
829
  bottom: 0;
824
830
  overflow-y: var(--wp-block-editor-iframe-zoom-out-overflow-behavior, scroll);
825
831
  }
@@ -827,12 +833,12 @@ _::-webkit-full-page-media, _:future, :root [data-has-multi-selection=true] .blo
827
833
  transform: translateX(calc(-1*((var(--wp-block-editor-iframe-zoom-out-scale-container-width) - var(--wp-block-editor-iframe-zoom-out-container-width, 100vw)) / 2 / var(--wp-block-editor-iframe-zoom-out-scale, 1))));
828
834
  scale: var(--wp-block-editor-iframe-zoom-out-scale, 1);
829
835
  background-color: var(--wp-editor-canvas-background);
830
- margin-bottom: calc(-1 * calc(calc(var(--wp-block-editor-iframe-zoom-out-content-height) * (1 - var(--wp-block-editor-iframe-zoom-out-scale, 1))) + calc(2 * var(--wp-block-editor-iframe-zoom-out-frame-size, 0) / var(--wp-block-editor-iframe-zoom-out-scale, 1)) + 2px));
831
- padding-top: calc(var(--wp-block-editor-iframe-zoom-out-frame-size, 0) / var(--wp-block-editor-iframe-zoom-out-scale, 1));
832
- padding-bottom: calc(var(--wp-block-editor-iframe-zoom-out-frame-size, 0) / var(--wp-block-editor-iframe-zoom-out-scale, 1));
836
+ margin-bottom: calc(-1 * calc(calc(var(--wp-block-editor-iframe-zoom-out-content-height) * (1 - var(--wp-block-editor-iframe-zoom-out-scale, 1))) + calc(2 * var(--wp-block-editor-iframe-zoom-out-frame-size, 0px) / var(--wp-block-editor-iframe-zoom-out-scale, 1)) + 2px));
837
+ padding-top: calc(var(--wp-block-editor-iframe-zoom-out-frame-size, 0px) / var(--wp-block-editor-iframe-zoom-out-scale, 1));
838
+ padding-bottom: calc(var(--wp-block-editor-iframe-zoom-out-frame-size, 0px) / var(--wp-block-editor-iframe-zoom-out-scale, 1));
833
839
  }
834
840
  .block-editor-iframe__html.is-zoomed-out body {
835
- min-height: calc((var(--wp-block-editor-iframe-zoom-out-inner-height) - calc(2 * var(--wp-block-editor-iframe-zoom-out-frame-size, 0) / var(--wp-block-editor-iframe-zoom-out-scale, 1))) / var(--wp-block-editor-iframe-zoom-out-scale, 1));
841
+ min-height: calc((var(--wp-block-editor-iframe-zoom-out-inner-height) - calc(2 * var(--wp-block-editor-iframe-zoom-out-frame-size, 0px) / var(--wp-block-editor-iframe-zoom-out-scale, 1))) / var(--wp-block-editor-iframe-zoom-out-scale, 1));
836
842
  }
837
843
  .block-editor-iframe__html.is-zoomed-out body > .is-root-container:not(.wp-block-post-content) {
838
844
  flex: 1;
@@ -67,6 +67,12 @@
67
67
  /**
68
68
  * Focus styles.
69
69
  */
70
+ /**
71
+ * Standard focus rings for the WordPress Design System.
72
+ *
73
+ * Apply `outset-ring__focus` inside the relevant pseudo-class at the call site,
74
+ * e.g. `&:focus { @include outset-ring__focus(); }`.
75
+ */
70
76
  /**
71
77
  * Applies editor left position to the selector passed as argument
72
78
  */
@@ -820,7 +826,7 @@ _::-webkit-full-page-media, _:future, :root [data-has-multi-selection=true] .blo
820
826
  position: fixed;
821
827
  left: 0;
822
828
  right: 0;
823
- top: calc(-1 * var(--wp-block-editor-iframe-zoom-out-scroll-top, 0));
829
+ top: calc(-1 * var(--wp-block-editor-iframe-zoom-out-scroll-top, 0px));
824
830
  bottom: 0;
825
831
  overflow-y: var(--wp-block-editor-iframe-zoom-out-overflow-behavior, scroll);
826
832
  }
@@ -828,12 +834,12 @@ _::-webkit-full-page-media, _:future, :root [data-has-multi-selection=true] .blo
828
834
  transform: translateX(calc((var(--wp-block-editor-iframe-zoom-out-scale-container-width) - var(--wp-block-editor-iframe-zoom-out-container-width, 100vw)) / 2 / var(--wp-block-editor-iframe-zoom-out-scale, 1)));
829
835
  scale: var(--wp-block-editor-iframe-zoom-out-scale, 1);
830
836
  background-color: var(--wp-editor-canvas-background);
831
- margin-bottom: calc(-1 * calc(calc(var(--wp-block-editor-iframe-zoom-out-content-height) * (1 - var(--wp-block-editor-iframe-zoom-out-scale, 1))) + calc(2 * var(--wp-block-editor-iframe-zoom-out-frame-size, 0) / var(--wp-block-editor-iframe-zoom-out-scale, 1)) + 2px));
832
- padding-top: calc(var(--wp-block-editor-iframe-zoom-out-frame-size, 0) / var(--wp-block-editor-iframe-zoom-out-scale, 1));
833
- padding-bottom: calc(var(--wp-block-editor-iframe-zoom-out-frame-size, 0) / var(--wp-block-editor-iframe-zoom-out-scale, 1));
837
+ margin-bottom: calc(-1 * calc(calc(var(--wp-block-editor-iframe-zoom-out-content-height) * (1 - var(--wp-block-editor-iframe-zoom-out-scale, 1))) + calc(2 * var(--wp-block-editor-iframe-zoom-out-frame-size, 0px) / var(--wp-block-editor-iframe-zoom-out-scale, 1)) + 2px));
838
+ padding-top: calc(var(--wp-block-editor-iframe-zoom-out-frame-size, 0px) / var(--wp-block-editor-iframe-zoom-out-scale, 1));
839
+ padding-bottom: calc(var(--wp-block-editor-iframe-zoom-out-frame-size, 0px) / var(--wp-block-editor-iframe-zoom-out-scale, 1));
834
840
  }
835
841
  .block-editor-iframe__html.is-zoomed-out body {
836
- min-height: calc((var(--wp-block-editor-iframe-zoom-out-inner-height) - calc(2 * var(--wp-block-editor-iframe-zoom-out-frame-size, 0) / var(--wp-block-editor-iframe-zoom-out-scale, 1))) / var(--wp-block-editor-iframe-zoom-out-scale, 1));
842
+ min-height: calc((var(--wp-block-editor-iframe-zoom-out-inner-height) - calc(2 * var(--wp-block-editor-iframe-zoom-out-frame-size, 0px) / var(--wp-block-editor-iframe-zoom-out-scale, 1))) / var(--wp-block-editor-iframe-zoom-out-scale, 1));
837
843
  }
838
844
  .block-editor-iframe__html.is-zoomed-out body > .is-root-container:not(.wp-block-post-content) {
839
845
  flex: 1;
@@ -67,6 +67,12 @@
67
67
  /**
68
68
  * Focus styles.
69
69
  */
70
+ /**
71
+ * Standard focus rings for the WordPress Design System.
72
+ *
73
+ * Apply `outset-ring__focus` inside the relevant pseudo-class at the call site,
74
+ * e.g. `&:focus { @include outset-ring__focus(); }`.
75
+ */
70
76
  /**
71
77
  * Applies editor left position to the selector passed as argument
72
78
  */
@@ -1520,7 +1526,7 @@ iframe[name=editor-canvas] {
1520
1526
  }
1521
1527
 
1522
1528
  .block-editor-panel-color-gradient-settings__contrast-notice {
1523
- margin-bottom: 16px;
1529
+ margin-top: 16px;
1524
1530
  }
1525
1531
 
1526
1532
  /**
@@ -1634,6 +1640,12 @@ iframe[name=editor-canvas] {
1634
1640
  border-top: 1px solid #ddd;
1635
1641
  }
1636
1642
 
1643
+ .block-editor-dimension-control {
1644
+ border: 0;
1645
+ margin: 0;
1646
+ padding: 0;
1647
+ }
1648
+
1637
1649
  .block-editor-duotone-control__popover.components-popover > .components-popover__content {
1638
1650
  padding: 8px;
1639
1651
  width: 260px;
@@ -2892,6 +2904,23 @@ iframe[name=editor-canvas] {
2892
2904
  .block-editor-list-view-leaf.is-selected .block-editor-list-view-block-select-button__image:not(:only-child) {
2893
2905
  box-shadow: 0 0 0 2px var(--wp-admin-theme-color);
2894
2906
  }
2907
+ .block-editor-list-view-leaf.is-disabled {
2908
+ opacity: 0.2;
2909
+ }
2910
+ @media not (prefers-reduced-motion) {
2911
+ .block-editor-list-view-leaf.is-disabled {
2912
+ transition: opacity 0.1s linear;
2913
+ }
2914
+ }
2915
+ .block-editor-list-view-leaf.is-disabled:hover {
2916
+ opacity: 0.2;
2917
+ }
2918
+ .block-editor-list-view-leaf.is-disabled .block-editor-list-view__expander {
2919
+ cursor: default;
2920
+ }
2921
+ .block-editor-list-view-leaf.is-disabled .block-editor-list-view-block-select-button:hover {
2922
+ color: inherit;
2923
+ }
2895
2924
 
2896
2925
  .block-editor-list-view-draggable-chip {
2897
2926
  opacity: 0.8;
@@ -3626,6 +3655,19 @@ iframe[name=editor-canvas] {
3626
3655
  margin-bottom: 16px;
3627
3656
  }
3628
3657
 
3658
+ .block-editor-hooks__position-control-item {
3659
+ /**
3660
+ * Try to make items match the width of the anchor, subtract any margin on
3661
+ * items to calculate the correct inner width.
3662
+ */
3663
+ max-inline-size: max(var(--anchor-width) - 2 * var(--wp-ui-popup-padding), 223px);
3664
+ }
3665
+
3666
+ .block-editor-hooks__position-control-item-hint {
3667
+ color: var(--wpds-color-foreground-content-neutral-weak, #707070);
3668
+ margin-block-start: 4px;
3669
+ }
3670
+
3629
3671
  div.block-editor-bindings__panel {
3630
3672
  grid-template-columns: repeat(auto-fit, minmax(100%, 1fr));
3631
3673
  }
@@ -4383,15 +4425,24 @@ div.block-editor-bindings__panel button:hover .block-editor-bindings__item span
4383
4425
  width: 100%;
4384
4426
  }
4385
4427
 
4428
+ .block-editor-inserter__media-mobile-screen {
4429
+ display: flex;
4430
+ flex-direction: column;
4431
+ align-self: stretch;
4432
+ }
4433
+
4386
4434
  .block-editor-inserter__media-panel {
4387
- min-height: 100%;
4388
4435
  padding: 0 16px;
4389
4436
  display: flex;
4390
4437
  flex-direction: column;
4438
+ flex: 1;
4439
+ min-height: 0;
4391
4440
  }
4392
4441
  @media (min-width: 782px) {
4393
4442
  .block-editor-inserter__media-panel {
4394
4443
  padding: 0;
4444
+ flex: 0 1 auto;
4445
+ min-height: 100%;
4395
4446
  }
4396
4447
  }
4397
4448
  .block-editor-inserter__media-panel .block-editor-inserter__media-panel-spinner {
@@ -4410,6 +4461,65 @@ div.block-editor-bindings__panel button:hover .block-editor-bindings__item span
4410
4461
  padding: 16px 24px 16px;
4411
4462
  }
4412
4463
  }
4464
+ .block-editor-inserter__media-panel .block-editor-inserter__no-results {
4465
+ flex-grow: 1;
4466
+ }
4467
+ .block-editor-inserter__media-panel .block-editor-inserter__media-panel-attach.components-button {
4468
+ justify-content: center;
4469
+ padding: 16px;
4470
+ }
4471
+ .block-editor-inserter__media-panel .block-editor-inserter__media-panel-attach {
4472
+ flex-shrink: 0;
4473
+ margin-top: 16px;
4474
+ margin-bottom: 16px;
4475
+ }
4476
+ @media (min-width: 782px) {
4477
+ .block-editor-inserter__media-panel .block-editor-inserter__media-panel-attach {
4478
+ margin-right: 24px;
4479
+ margin-left: 24px;
4480
+ }
4481
+ }
4482
+ .block-editor-inserter__media-panel .block-editor-inserter__media-panel-results {
4483
+ display: flex;
4484
+ flex-direction: column;
4485
+ flex-grow: 1;
4486
+ min-height: 0;
4487
+ }
4488
+ .block-editor-inserter__media-panel .block-editor-inserter__media-panel-results.is-loading .block-editor-inserter__media-list {
4489
+ opacity: 0.5;
4490
+ pointer-events: none;
4491
+ }
4492
+ @media not (prefers-reduced-motion) {
4493
+ .block-editor-inserter__media-panel .block-editor-inserter__media-panel-results.is-loading .block-editor-inserter__media-list {
4494
+ opacity: 1;
4495
+ animation: inserter-media-panel-pulse 1s ease-in-out infinite;
4496
+ }
4497
+ }
4498
+ .block-editor-inserter__media-panel.has-attach-footer .block-editor-inserter__media-list {
4499
+ padding-bottom: 0;
4500
+ }
4501
+
4502
+ @keyframes inserter-media-panel-pulse {
4503
+ 0%, 100% {
4504
+ opacity: 1;
4505
+ }
4506
+ 50% {
4507
+ opacity: 0.5;
4508
+ }
4509
+ }
4510
+ .block-editor-inserter__media-panel-detach-modal {
4511
+ z-index: 1000001;
4512
+ }
4513
+ .block-editor-inserter__media-panel-detach-modal p {
4514
+ margin-top: 0;
4515
+ }
4516
+
4517
+ .block-editor-inserter__media-panel-detach-actions {
4518
+ display: flex;
4519
+ justify-content: flex-end;
4520
+ gap: 8px;
4521
+ margin-top: 16px;
4522
+ }
4413
4523
 
4414
4524
  .block-editor-inserter__media-list__list-item {
4415
4525
  position: relative;
@@ -4425,7 +4535,7 @@ div.block-editor-bindings__panel button:hover .block-editor-bindings__item span
4425
4535
  .block-editor-inserter__media-list__list-item.is-hovered .block-editor-inserter__media-list__item-preview > * {
4426
4536
  outline-color: rgba(0, 0, 0, 0.3);
4427
4537
  }
4428
- .block-editor-inserter__media-list__list-item.is-hovered .block-editor-inserter__media-list__item-preview-options > button {
4538
+ .block-editor-inserter__media-list__list-item.is-hovered .block-editor-inserter__media-list__item-preview-options > button, .block-editor-inserter__media-list__list-item:focus-within .block-editor-inserter__media-list__item-preview-options > button {
4429
4539
  display: block;
4430
4540
  }
4431
4541
  .block-editor-inserter__media-list__list-item .block-editor-inserter__media-list__item-preview-options {
@@ -67,6 +67,12 @@
67
67
  /**
68
68
  * Focus styles.
69
69
  */
70
+ /**
71
+ * Standard focus rings for the WordPress Design System.
72
+ *
73
+ * Apply `outset-ring__focus` inside the relevant pseudo-class at the call site,
74
+ * e.g. `&:focus { @include outset-ring__focus(); }`.
75
+ */
70
76
  /**
71
77
  * Applies editor left position to the selector passed as argument
72
78
  */
@@ -1520,7 +1526,7 @@ iframe[name=editor-canvas] {
1520
1526
  }
1521
1527
 
1522
1528
  .block-editor-panel-color-gradient-settings__contrast-notice {
1523
- margin-bottom: 16px;
1529
+ margin-top: 16px;
1524
1530
  }
1525
1531
 
1526
1532
  /**
@@ -1634,6 +1640,12 @@ iframe[name=editor-canvas] {
1634
1640
  border-top: 1px solid #ddd;
1635
1641
  }
1636
1642
 
1643
+ .block-editor-dimension-control {
1644
+ border: 0;
1645
+ margin: 0;
1646
+ padding: 0;
1647
+ }
1648
+
1637
1649
  .block-editor-duotone-control__popover.components-popover > .components-popover__content {
1638
1650
  padding: 8px;
1639
1651
  width: 260px;
@@ -2893,6 +2905,23 @@ iframe[name=editor-canvas] {
2893
2905
  .block-editor-list-view-leaf.is-selected .block-editor-list-view-block-select-button__image:not(:only-child) {
2894
2906
  box-shadow: 0 0 0 2px var(--wp-admin-theme-color);
2895
2907
  }
2908
+ .block-editor-list-view-leaf.is-disabled {
2909
+ opacity: 0.2;
2910
+ }
2911
+ @media not (prefers-reduced-motion) {
2912
+ .block-editor-list-view-leaf.is-disabled {
2913
+ transition: opacity 0.1s linear;
2914
+ }
2915
+ }
2916
+ .block-editor-list-view-leaf.is-disabled:hover {
2917
+ opacity: 0.2;
2918
+ }
2919
+ .block-editor-list-view-leaf.is-disabled .block-editor-list-view__expander {
2920
+ cursor: default;
2921
+ }
2922
+ .block-editor-list-view-leaf.is-disabled .block-editor-list-view-block-select-button:hover {
2923
+ color: inherit;
2924
+ }
2896
2925
 
2897
2926
  .block-editor-list-view-draggable-chip {
2898
2927
  opacity: 0.8;
@@ -3628,6 +3657,19 @@ iframe[name=editor-canvas] {
3628
3657
  margin-bottom: 16px;
3629
3658
  }
3630
3659
 
3660
+ .block-editor-hooks__position-control-item {
3661
+ /**
3662
+ * Try to make items match the width of the anchor, subtract any margin on
3663
+ * items to calculate the correct inner width.
3664
+ */
3665
+ max-inline-size: max(var(--anchor-width) - 2 * var(--wp-ui-popup-padding), 223px);
3666
+ }
3667
+
3668
+ .block-editor-hooks__position-control-item-hint {
3669
+ color: var(--wpds-color-foreground-content-neutral-weak, #707070);
3670
+ margin-block-start: 4px;
3671
+ }
3672
+
3631
3673
  div.block-editor-bindings__panel {
3632
3674
  grid-template-columns: repeat(auto-fit, minmax(100%, 1fr));
3633
3675
  }
@@ -4385,15 +4427,24 @@ div.block-editor-bindings__panel button:hover .block-editor-bindings__item span
4385
4427
  width: 100%;
4386
4428
  }
4387
4429
 
4430
+ .block-editor-inserter__media-mobile-screen {
4431
+ display: flex;
4432
+ flex-direction: column;
4433
+ align-self: stretch;
4434
+ }
4435
+
4388
4436
  .block-editor-inserter__media-panel {
4389
- min-height: 100%;
4390
4437
  padding: 0 16px;
4391
4438
  display: flex;
4392
4439
  flex-direction: column;
4440
+ flex: 1;
4441
+ min-height: 0;
4393
4442
  }
4394
4443
  @media (min-width: 782px) {
4395
4444
  .block-editor-inserter__media-panel {
4396
4445
  padding: 0;
4446
+ flex: 0 1 auto;
4447
+ min-height: 100%;
4397
4448
  }
4398
4449
  }
4399
4450
  .block-editor-inserter__media-panel .block-editor-inserter__media-panel-spinner {
@@ -4412,6 +4463,65 @@ div.block-editor-bindings__panel button:hover .block-editor-bindings__item span
4412
4463
  padding: 16px 24px 16px;
4413
4464
  }
4414
4465
  }
4466
+ .block-editor-inserter__media-panel .block-editor-inserter__no-results {
4467
+ flex-grow: 1;
4468
+ }
4469
+ .block-editor-inserter__media-panel .block-editor-inserter__media-panel-attach.components-button {
4470
+ justify-content: center;
4471
+ padding: 16px;
4472
+ }
4473
+ .block-editor-inserter__media-panel .block-editor-inserter__media-panel-attach {
4474
+ flex-shrink: 0;
4475
+ margin-top: 16px;
4476
+ margin-bottom: 16px;
4477
+ }
4478
+ @media (min-width: 782px) {
4479
+ .block-editor-inserter__media-panel .block-editor-inserter__media-panel-attach {
4480
+ margin-left: 24px;
4481
+ margin-right: 24px;
4482
+ }
4483
+ }
4484
+ .block-editor-inserter__media-panel .block-editor-inserter__media-panel-results {
4485
+ display: flex;
4486
+ flex-direction: column;
4487
+ flex-grow: 1;
4488
+ min-height: 0;
4489
+ }
4490
+ .block-editor-inserter__media-panel .block-editor-inserter__media-panel-results.is-loading .block-editor-inserter__media-list {
4491
+ opacity: 0.5;
4492
+ pointer-events: none;
4493
+ }
4494
+ @media not (prefers-reduced-motion) {
4495
+ .block-editor-inserter__media-panel .block-editor-inserter__media-panel-results.is-loading .block-editor-inserter__media-list {
4496
+ opacity: 1;
4497
+ animation: inserter-media-panel-pulse 1s ease-in-out infinite;
4498
+ }
4499
+ }
4500
+ .block-editor-inserter__media-panel.has-attach-footer .block-editor-inserter__media-list {
4501
+ padding-bottom: 0;
4502
+ }
4503
+
4504
+ @keyframes inserter-media-panel-pulse {
4505
+ 0%, 100% {
4506
+ opacity: 1;
4507
+ }
4508
+ 50% {
4509
+ opacity: 0.5;
4510
+ }
4511
+ }
4512
+ .block-editor-inserter__media-panel-detach-modal {
4513
+ z-index: 1000001;
4514
+ }
4515
+ .block-editor-inserter__media-panel-detach-modal p {
4516
+ margin-top: 0;
4517
+ }
4518
+
4519
+ .block-editor-inserter__media-panel-detach-actions {
4520
+ display: flex;
4521
+ justify-content: flex-end;
4522
+ gap: 8px;
4523
+ margin-top: 16px;
4524
+ }
4415
4525
 
4416
4526
  .block-editor-inserter__media-list__list-item {
4417
4527
  position: relative;
@@ -4427,7 +4537,7 @@ div.block-editor-bindings__panel button:hover .block-editor-bindings__item span
4427
4537
  .block-editor-inserter__media-list__list-item.is-hovered .block-editor-inserter__media-list__item-preview > * {
4428
4538
  outline-color: rgba(0, 0, 0, 0.3);
4429
4539
  }
4430
- .block-editor-inserter__media-list__list-item.is-hovered .block-editor-inserter__media-list__item-preview-options > button {
4540
+ .block-editor-inserter__media-list__list-item.is-hovered .block-editor-inserter__media-list__item-preview-options > button, .block-editor-inserter__media-list__list-item:focus-within .block-editor-inserter__media-list__item-preview-options > button {
4431
4541
  display: block;
4432
4542
  }
4433
4543
  .block-editor-inserter__media-list__list-item .block-editor-inserter__media-list__item-preview-options {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wordpress/block-editor",
3
- "version": "15.23.0",
3
+ "version": "16.0.1-next.v.202607070741.0+a51d59513",
4
4
  "description": "Generic block editor.",
5
5
  "author": "The WordPress Contributors",
6
6
  "license": "GPL-2.0-or-later",
@@ -39,7 +39,7 @@
39
39
  "require": "./build/index.cjs"
40
40
  },
41
41
  "./package.json": "./package.json",
42
- "./build-style/": "./build-style/"
42
+ "./build-style/*": "./build-style/*"
43
43
  },
44
44
  "wpScript": true,
45
45
  "wpScriptModuleExports": {
@@ -60,43 +60,43 @@
60
60
  ],
61
61
  "dependencies": {
62
62
  "@react-spring/web": "^9.4.5",
63
- "@wordpress/a11y": "^4.50.0",
64
- "@wordpress/base-styles": "^10.2.0",
65
- "@wordpress/blob": "^4.50.0",
66
- "@wordpress/block-serialization-default-parser": "^5.50.0",
67
- "@wordpress/blocks": "^15.23.0",
68
- "@wordpress/commands": "^1.50.0",
69
- "@wordpress/components": "^36.1.0",
70
- "@wordpress/compose": "^8.3.0",
71
- "@wordpress/data": "^10.50.0",
72
- "@wordpress/dataviews": "^17.1.0",
73
- "@wordpress/date": "^5.50.0",
74
- "@wordpress/deprecated": "^4.50.0",
75
- "@wordpress/dom": "^4.50.0",
76
- "@wordpress/element": "^8.2.0",
77
- "@wordpress/escape-html": "^3.50.0",
78
- "@wordpress/global-styles-engine": "^1.17.0",
79
- "@wordpress/hooks": "^4.50.0",
80
- "@wordpress/html-entities": "^4.50.0",
81
- "@wordpress/i18n": "^6.23.0",
82
- "@wordpress/icons": "^15.1.0",
83
- "@wordpress/image-cropper": "^1.14.0",
84
- "@wordpress/interactivity": "^6.50.0",
85
- "@wordpress/is-shallow-equal": "^5.50.0",
86
- "@wordpress/keyboard-shortcuts": "^5.50.0",
87
- "@wordpress/keycodes": "^4.50.0",
88
- "@wordpress/notices": "^5.50.0",
89
- "@wordpress/preferences": "^4.50.0",
90
- "@wordpress/priority-queue": "^3.50.0",
91
- "@wordpress/private-apis": "^1.50.0",
92
- "@wordpress/rich-text": "^7.50.0",
93
- "@wordpress/style-engine": "^2.50.0",
94
- "@wordpress/token-list": "^3.50.0",
95
- "@wordpress/ui": "^0.17.0",
96
- "@wordpress/upload-media": "^0.35.0",
97
- "@wordpress/url": "^4.50.0",
98
- "@wordpress/warning": "^3.50.0",
99
- "@wordpress/wordcount": "^4.50.0",
63
+ "@wordpress/a11y": "^4.50.1-next.v.202607070741.0+a51d59513",
64
+ "@wordpress/base-styles": "^10.3.1-next.v.202607070741.0+a51d59513",
65
+ "@wordpress/blob": "^4.50.1-next.v.202607070741.0+a51d59513",
66
+ "@wordpress/block-serialization-default-parser": "^5.50.1-next.v.202607070741.0+a51d59513",
67
+ "@wordpress/blocks": "^15.23.1-next.v.202607070741.0+a51d59513",
68
+ "@wordpress/commands": "^1.50.1-next.v.202607070741.0+a51d59513",
69
+ "@wordpress/components": "^37.0.1-next.v.202607070741.0+a51d59513",
70
+ "@wordpress/compose": "^8.3.1-next.v.202607070741.0+a51d59513",
71
+ "@wordpress/data": "^10.50.1-next.v.202607070741.0+a51d59513",
72
+ "@wordpress/dataviews": "^17.1.2-next.v.202607070741.0+a51d59513",
73
+ "@wordpress/date": "^5.50.1-next.v.202607070741.0+a51d59513",
74
+ "@wordpress/deprecated": "^4.50.1-next.v.202607070741.0+a51d59513",
75
+ "@wordpress/dom": "^4.50.1-next.v.202607070741.0+a51d59513",
76
+ "@wordpress/element": "^8.2.1-next.v.202607070741.0+a51d59513",
77
+ "@wordpress/escape-html": "^3.50.1-next.v.202607070741.0+a51d59513",
78
+ "@wordpress/global-styles-engine": "^1.17.1-next.v.202607070741.0+a51d59513",
79
+ "@wordpress/hooks": "^4.50.1-next.v.202607070741.0+a51d59513",
80
+ "@wordpress/html-entities": "^4.50.1-next.v.202607070741.0+a51d59513",
81
+ "@wordpress/i18n": "^6.23.1-next.v.202607070741.0+a51d59513",
82
+ "@wordpress/icons": "^15.1.1-next.v.202607070741.0+a51d59513",
83
+ "@wordpress/image-cropper": "^1.14.1-next.v.202607070741.0+a51d59513",
84
+ "@wordpress/interactivity": "^6.50.1-next.v.202607070741.0+a51d59513",
85
+ "@wordpress/is-shallow-equal": "^5.50.1-next.v.202607070741.0+a51d59513",
86
+ "@wordpress/keyboard-shortcuts": "^5.50.1-next.v.202607070741.0+a51d59513",
87
+ "@wordpress/keycodes": "^4.50.1-next.v.202607070741.0+a51d59513",
88
+ "@wordpress/notices": "^5.50.1-next.v.202607070741.0+a51d59513",
89
+ "@wordpress/preferences": "^4.50.1-next.v.202607070741.0+a51d59513",
90
+ "@wordpress/priority-queue": "^3.50.1-next.v.202607070741.0+a51d59513",
91
+ "@wordpress/private-apis": "^1.50.1-next.v.202607070741.0+a51d59513",
92
+ "@wordpress/rich-text": "^7.50.1-next.v.202607070741.0+a51d59513",
93
+ "@wordpress/style-engine": "^2.50.1-next.v.202607070741.0+a51d59513",
94
+ "@wordpress/token-list": "^3.50.1-next.v.202607070741.0+a51d59513",
95
+ "@wordpress/ui": "^0.18.1-next.v.202607070741.0+a51d59513",
96
+ "@wordpress/upload-media": "^0.36.1-next.v.202607070741.0+a51d59513",
97
+ "@wordpress/url": "^4.50.1-next.v.202607070741.0+a51d59513",
98
+ "@wordpress/warning": "^3.50.1-next.v.202607070741.0+a51d59513",
99
+ "@wordpress/wordcount": "^4.50.1-next.v.202607070741.0+a51d59513",
100
100
  "change-case": "^4.1.2",
101
101
  "clsx": "^2.1.1",
102
102
  "colord": "^2.9.3",
@@ -118,7 +118,9 @@
118
118
  "@testing-library/react": "^16.3.2",
119
119
  "@testing-library/user-event": "^14.6.1",
120
120
  "@types/postcss-prefix-selector": "^1.16.3",
121
- "deep-freeze": "^0.0.1"
121
+ "@wordpress/block-library": "^10.1.1-next.v.202607070741.0+a51d59513",
122
+ "deep-freeze": "^0.0.1",
123
+ "storybook": "^10.4.3"
122
124
  },
123
125
  "peerDependencies": {
124
126
  "@types/react": "^18.3.27",
@@ -133,5 +135,5 @@
133
135
  "publishConfig": {
134
136
  "access": "public"
135
137
  },
136
- "gitHead": "fee6e24e8e63d36f6bbcf487c193461e9bd79753"
138
+ "gitHead": "f637726e370c8b23695ed9af82adbe171ad235d8"
137
139
  }
@@ -125,8 +125,14 @@ function createBlockCompleter() {
125
125
  return ! ( /\S/.test( before ) || /\S/.test( after ) );
126
126
  },
127
127
  getOptionCompletion( inserterItem ) {
128
- const { name, initialAttributes, innerBlocks, syncStatus, blocks } =
129
- inserterItem;
128
+ const {
129
+ name,
130
+ initialAttributes,
131
+ innerBlocks,
132
+ innerContent,
133
+ syncStatus,
134
+ blocks,
135
+ } = inserterItem;
130
136
 
131
137
  return {
132
138
  action: 'replace',
@@ -140,7 +146,8 @@ function createBlockCompleter() {
140
146
  initialAttributes,
141
147
  createBlocksFromInnerBlocksTemplate(
142
148
  innerBlocks
143
- )
149
+ ),
150
+ innerContent
144
151
  ),
145
152
  };
146
153
  },
@@ -0,0 +1,53 @@
1
+ /**
2
+ * WordPress dependencies
3
+ */
4
+ import { registerBlockType, unregisterBlockType } from '@wordpress/blocks';
5
+
6
+ /**
7
+ * Internal dependencies
8
+ */
9
+ import blockCompleter from '../block';
10
+
11
+ describe( 'block autocompleter', () => {
12
+ beforeAll( () => {
13
+ registerBlockType( 'core/html', {
14
+ apiVersion: 3,
15
+ save: () => null,
16
+ category: 'text',
17
+ title: 'Custom HTML',
18
+ } );
19
+ registerBlockType( 'core/paragraph', {
20
+ apiVersion: 3,
21
+ save: ( { attributes } ) => attributes.content || null,
22
+ category: 'text',
23
+ title: 'Paragraph',
24
+ attributes: { content: { type: 'string', source: 'html' } },
25
+ } );
26
+ } );
27
+
28
+ afterAll( () => {
29
+ unregisterBlockType( 'core/html' );
30
+ unregisterBlockType( 'core/paragraph' );
31
+ } );
32
+
33
+ describe( 'getOptionCompletion', () => {
34
+ it( "carries a variation's innerContent onto the inserted block", () => {
35
+ const { action, value } = blockCompleter.getOptionCompletion( {
36
+ name: 'core/html',
37
+ initialAttributes: {},
38
+ innerBlocks: [ [ 'core/paragraph', { content: 'Editable' } ] ],
39
+ innerContent: [ '<div class="card">', null, '</div>' ],
40
+ } );
41
+
42
+ expect( action ).toBe( 'replace' );
43
+ expect( value.name ).toBe( 'core/html' );
44
+ expect( value.innerContent ).toEqual( [
45
+ '<div class="card">',
46
+ null,
47
+ '</div>',
48
+ ] );
49
+ expect( value.innerBlocks ).toHaveLength( 1 );
50
+ expect( value.innerBlocks[ 0 ].name ).toBe( 'core/paragraph' );
51
+ } );
52
+ } );
53
+ } );
@@ -579,7 +579,6 @@ function BackgroundSizeControls( {
579
579
  onChange={ toggleScrollWithPage }
580
580
  />
581
581
  <ToggleGroupControl
582
- size="__unstable-large"
583
582
  label={ __( 'Size' ) }
584
583
  value={ currentValueForToggle }
585
584
  onChange={ updateBackgroundSize }
@@ -618,7 +617,6 @@ function BackgroundSizeControls( {
618
617
  aria-label={ __( 'Background image width' ) }
619
618
  onChange={ updateBackgroundSize }
620
619
  value={ sizeValue }
621
- size="__unstable-large"
622
620
  __unstableInputWidth="100px"
623
621
  min={ 0 }
624
622
  placeholder={ __( 'Auto' ) }
@@ -3,7 +3,7 @@
3
3
  */
4
4
  import { Button, __experimentalVStack as VStack } from '@wordpress/components';
5
5
  import { __ } from '@wordpress/i18n';
6
- import { useSelect } from '@wordpress/data';
6
+ import { useSelect, useDispatch } from '@wordpress/data';
7
7
  import { isReusableBlock, isTemplatePart } from '@wordpress/blocks';
8
8
 
9
9
  /**
@@ -59,11 +59,15 @@ function InlineEditButton( {
59
59
  editContentOnlySection,
60
60
  stopEditingContentOnlySection,
61
61
  } ) {
62
+ const { selectBlock } = useDispatch( blockEditorStore );
62
63
  const handleClick = () => {
63
64
  if ( ! editedContentOnlySection ) {
64
65
  editContentOnlySection( clientId );
66
+ selectBlock( clientId );
65
67
  } else {
66
68
  stopEditingContentOnlySection();
69
+ // Keep the selected section pattern or content block selected after exiting.
70
+ selectBlock( clientId );
67
71
  }
68
72
  };
69
73