@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
@@ -30,6 +30,9 @@ import { BlockControls, JustifyContentControl } from '../components';
30
30
  import { cleanEmptyObject, shouldSkipSerialization } from '../hooks/utils';
31
31
  import { LAYOUT_DEFINITIONS } from './definitions';
32
32
 
33
+ const GLOBAL_CONTENT_SIZE = 'var(--wp--style--global--content-size, none)';
34
+ const GLOBAL_WIDE_SIZE = 'var(--wp--style--global--wide-size, none)';
35
+
33
36
  export default {
34
37
  name: 'constrained',
35
38
  label: __( 'Constrained' ),
@@ -112,24 +115,25 @@ export default {
112
115
  panelId={ clientId }
113
116
  >
114
117
  <UnitControl
115
- __next40pxDefaultSize
116
118
  label={ __( 'Content width' ) }
117
119
  labelPosition="top"
118
- value={ contentSize || wideSize || '' }
120
+ value={
121
+ contentSize === null
122
+ ? ''
123
+ : contentSize || wideSize || ''
124
+ }
119
125
  onChange={ ( nextWidth ) => {
120
126
  nextWidth =
121
127
  0 > parseFloat( nextWidth )
122
128
  ? '0'
123
129
  : nextWidth;
124
- onChange(
125
- cleanEmptyObject( {
126
- ...layout,
127
- contentSize:
128
- nextWidth !== ''
129
- ? nextWidth
130
- : undefined,
131
- } )
132
- );
130
+ onChange( {
131
+ ...layout,
132
+ contentSize:
133
+ nextWidth !== ''
134
+ ? nextWidth
135
+ : undefined,
136
+ } );
133
137
  } }
134
138
  units={ units }
135
139
  prefix={
@@ -146,24 +150,25 @@ export default {
146
150
  panelId={ clientId }
147
151
  >
148
152
  <UnitControl
149
- __next40pxDefaultSize
150
153
  label={ __( 'Wide width' ) }
151
154
  labelPosition="top"
152
- value={ wideSize || contentSize || '' }
155
+ value={
156
+ wideSize === null
157
+ ? ''
158
+ : wideSize || contentSize || ''
159
+ }
153
160
  onChange={ ( nextWidth ) => {
154
161
  nextWidth =
155
162
  0 > parseFloat( nextWidth )
156
163
  ? '0'
157
164
  : nextWidth;
158
- onChange(
159
- cleanEmptyObject( {
160
- ...layout,
161
- wideSize:
162
- nextWidth !== ''
163
- ? nextWidth
164
- : undefined,
165
- } )
166
- );
165
+ onChange( {
166
+ ...layout,
167
+ wideSize:
168
+ nextWidth !== ''
169
+ ? nextWidth
170
+ : undefined,
171
+ } );
167
172
  } }
168
173
  units={ units }
169
174
  prefix={
@@ -188,7 +193,6 @@ export default {
188
193
  panelId={ clientId }
189
194
  >
190
195
  <ToggleGroupControl
191
- __next40pxDefaultSize
192
196
  label={ __( 'Justification' ) }
193
197
  value={ justifyContent }
194
198
  onChange={ onJustificationChange }
@@ -273,12 +277,30 @@ export default {
273
277
 
274
278
  const hasJustificationOverride =
275
279
  hasViewportOverrides && hasViewportOverride( 'justifyContent' );
280
+ const hasContentSizeOverride =
281
+ hasViewportOverrides && hasViewportOverride( 'contentSize' );
282
+ const hasWideSizeOverride =
283
+ hasViewportOverrides && hasViewportOverride( 'wideSize' );
276
284
  const shouldOutputConstrainedSizes =
277
285
  ! hasViewportOverrides ||
278
- hasViewportOverride( 'contentSize' ) ||
279
- hasViewportOverride( 'wideSize' );
286
+ hasContentSizeOverride ||
287
+ hasWideSizeOverride;
288
+ const isResettingConstrainedSizes =
289
+ hasViewportOverrides &&
290
+ ( ( hasContentSizeOverride && ! contentSize ) ||
291
+ ( hasWideSizeOverride && ! wideSize ) );
292
+ const contentMaxWidth =
293
+ contentSize ||
294
+ ( wideSize && ! hasContentSizeOverride
295
+ ? wideSize
296
+ : GLOBAL_CONTENT_SIZE );
297
+ const wideMaxWidth =
298
+ wideSize ||
299
+ ( contentSize && ! hasWideSizeOverride
300
+ ? contentSize
301
+ : GLOBAL_WIDE_SIZE );
280
302
  const constrainedSizeDeclarations = [
281
- `max-width: ${ contentSize ?? wideSize }`,
303
+ `max-width: ${ contentMaxWidth }`,
282
304
  ];
283
305
  if ( ! hasViewportOverrides || hasJustificationOverride ) {
284
306
  constrainedSizeDeclarations.push(
@@ -287,7 +309,8 @@ export default {
287
309
  );
288
310
  }
289
311
  let output =
290
- shouldOutputConstrainedSizes && ( !! contentSize || !! wideSize )
312
+ shouldOutputConstrainedSizes &&
313
+ ( !! contentSize || !! wideSize || isResettingConstrainedSizes )
291
314
  ? `
292
315
  ${ appendSelectors(
293
316
  selector,
@@ -296,7 +319,7 @@ export default {
296
319
  ${ constrainedSizeDeclarations.join( '; ' ) };
297
320
  }
298
321
  ${ appendSelectors( selector, '> .alignwide' ) } {
299
- max-width: ${ wideSize ?? contentSize };
322
+ max-width: ${ wideMaxWidth };
300
323
  }
301
324
  ${ appendSelectors( selector, '> .alignfull' ) } {
302
325
  max-width: none;
@@ -437,7 +437,6 @@ function FlexLayoutVerticalAlignmentControl( {
437
437
 
438
438
  return (
439
439
  <ToggleGroupControl
440
- __next40pxDefaultSize
441
440
  label={ __( 'Alignment' ) }
442
441
  onChange={ onVerticalAlignmentChange }
443
442
  value={ verticalAlignment }
@@ -524,7 +523,6 @@ function FlexLayoutJustifyContentControl( {
524
523
 
525
524
  return (
526
525
  <ToggleGroupControl
527
- __next40pxDefaultSize
528
526
  label={ __( 'Justification' ) }
529
527
  value={ justifyContent }
530
528
  onChange={ onJustificationChange }
@@ -568,7 +566,6 @@ function OrientationControl( { layout, onChange } ) {
568
566
  } = layout;
569
567
  return (
570
568
  <ToggleGroupControl
571
- __next40pxDefaultSize
572
569
  className="block-editor-hooks__flex-layout-orientation-controls"
573
570
  label={ __( 'Orientation' ) }
574
571
  value={ orientation }
@@ -8,6 +8,7 @@ import {
8
8
  Flex,
9
9
  FlexItem,
10
10
  RangeControl,
11
+ ToggleControl,
11
12
  __experimentalNumberControl as NumberControl,
12
13
  __experimentalToggleGroupControl as ToggleGroupControl,
13
14
  __experimentalToggleGroupControlOption as ToggleGroupControlOption,
@@ -81,6 +82,9 @@ export default {
81
82
  const showMinWidthControl =
82
83
  ! layout?.isManualPlacement ||
83
84
  window.__experimentalEnableGridInteractivity;
85
+ // Auto-fit/auto-fill only applies when grid items are placed
86
+ // automatically, so the control is irrelevant in manual placement mode.
87
+ const showFillControl = ! layout?.isManualPlacement;
84
88
  const defaultColumnCount = layout.isManualPlacement ? 3 : undefined;
85
89
  const hasLayoutValue = ( key, defaultValue ) =>
86
90
  ( layout?.[ key ] ?? defaultValue ) !==
@@ -92,6 +96,7 @@ export default {
92
96
  hasLayoutValue( 'rowCount' );
93
97
  const hasMinimumColumnWidthValue = () =>
94
98
  hasLayoutValue( 'minimumColumnWidth' );
99
+ const hasFillValue = () => hasLayoutValue( 'autoFit', false );
95
100
  const resetGridType = () =>
96
101
  onChange(
97
102
  cleanEmptyObject( {
@@ -116,6 +121,13 @@ export default {
116
121
  minimumColumnWidth: resetLayout?.minimumColumnWidth,
117
122
  } )
118
123
  );
124
+ const resetFill = () =>
125
+ onChange(
126
+ cleanEmptyObject( {
127
+ ...layout,
128
+ autoFit: resetLayout?.autoFit,
129
+ } )
130
+ );
119
131
 
120
132
  return (
121
133
  <>
@@ -162,6 +174,19 @@ export default {
162
174
  />
163
175
  </ToolsPanelItem>
164
176
  ) }
177
+ { showFillControl && (
178
+ <ToolsPanelItem
179
+ label={ __( 'Fill available space' ) }
180
+ hasValue={ hasFillValue }
181
+ onDeselect={ resetFill }
182
+ panelId={ clientId }
183
+ >
184
+ <GridLayoutFillControl
185
+ layout={ layout }
186
+ onChange={ onChange }
187
+ />
188
+ </ToolsPanelItem>
189
+ ) }
165
190
  </>
166
191
  );
167
192
  },
@@ -188,8 +213,13 @@ export default {
188
213
  minimumColumnWidth = null,
189
214
  columnCount = null,
190
215
  rowCount = null,
216
+ autoFit = false,
191
217
  } = effectiveLayout;
192
218
 
219
+ // When enabled, columns stretch to fill the available space using
220
+ // `auto-fit`; otherwise empty tracks are preserved with `auto-fill`.
221
+ const autoPlacement = autoFit ? 'auto-fit' : 'auto-fill';
222
+
193
223
  // Check that the grid layout attributes are of the correct type, so that we don't accidentally
194
224
  // write code that stores a string attribute instead of a number.
195
225
  if ( process.env.NODE_ENV === 'development' ) {
@@ -205,6 +235,9 @@ export default {
205
235
  if ( rowCount && typeof rowCount !== 'number' ) {
206
236
  throw new Error( 'rowCount must be a number' );
207
237
  }
238
+ if ( autoFit && typeof autoFit !== 'boolean' ) {
239
+ throw new Error( 'autoFit must be a boolean' );
240
+ }
208
241
  }
209
242
 
210
243
  // Use the global blockGap value as fallback when available.
@@ -236,6 +269,7 @@ export default {
236
269
  ! hasViewportOverrides ||
237
270
  hasViewportOverride( 'minimumColumnWidth' ) ||
238
271
  hasViewportOverride( 'columnCount' ) ||
272
+ hasViewportOverride( 'autoFit' ) ||
239
273
  ( hasBlockGapOverride && minimumColumnWidth && columnCount > 0 );
240
274
  const shouldOutputGridRows =
241
275
  ( ! hasViewportOverrides || hasViewportOverride( 'rowCount' ) ) &&
@@ -256,7 +290,7 @@ export default {
256
290
  columnCount - 1
257
291
  }) ) / ${ columnCount })`;
258
292
  rules.push(
259
- `grid-template-columns: repeat(auto-fill, minmax(${ maxValue }, 1fr))`
293
+ `grid-template-columns: repeat(${ autoPlacement }, minmax(${ maxValue }, 1fr))`
260
294
  );
261
295
  } else if ( shouldOutputGridColumns && columnCount ) {
262
296
  rules.push(
@@ -264,7 +298,7 @@ export default {
264
298
  );
265
299
  } else if ( shouldOutputGridColumns ) {
266
300
  rules.push(
267
- `grid-template-columns: repeat(auto-fill, minmax(min(${
301
+ `grid-template-columns: repeat(${ autoPlacement }, minmax(min(${
268
302
  minimumColumnWidth || '12rem'
269
303
  }, 100%), 1fr))`
270
304
  );
@@ -357,7 +391,6 @@ function GridLayoutMinimumWidthControl( { layout, onChange } ) {
357
391
  <Flex gap={ 4 }>
358
392
  <FlexItem isBlock>
359
393
  <UnitControl
360
- size="__unstable-large"
361
394
  onChange={ ( newValue ) => {
362
395
  onChange( {
363
396
  ...layout,
@@ -375,7 +408,6 @@ function GridLayoutMinimumWidthControl( { layout, onChange } ) {
375
408
  </FlexItem>
376
409
  <FlexItem isBlock>
377
410
  <RangeControl
378
- __next40pxDefaultSize
379
411
  onChange={ handleSliderChange }
380
412
  value={ quantity || 0 }
381
413
  min={ 0 }
@@ -435,7 +467,7 @@ function GridLayoutColumnsAndRowsControl( {
435
467
  columnCount: newColumnCount,
436
468
  } );
437
469
  } }
438
- value={ columnCount }
470
+ value={ columnCount ?? '' }
439
471
  min={ 1 }
440
472
  label={ __( 'Columns' ) }
441
473
  hideLabelFromVision={ ! isManualPlacement }
@@ -463,7 +495,6 @@ function GridLayoutColumnsAndRowsControl( {
463
495
  />
464
496
  ) : (
465
497
  <RangeControl
466
- __next40pxDefaultSize
467
498
  value={ columnCount ?? 1 }
468
499
  onChange={ ( value ) =>
469
500
  onChange( {
@@ -488,6 +519,28 @@ function GridLayoutColumnsAndRowsControl( {
488
519
  );
489
520
  }
490
521
 
522
+ // Enables stretching grid columns to fill the available space (auto-fit)
523
+ // instead of leaving empty tracks at the end of a row (auto-fill).
524
+ function GridLayoutFillControl( { layout, onChange } ) {
525
+ const { autoFit = false } = layout;
526
+
527
+ return (
528
+ <ToggleControl
529
+ label={ __( 'Fill available space' ) }
530
+ help={ __(
531
+ 'Stretch columns to fill the available space, instead of leaving gaps when there are too few items to fill a row.'
532
+ ) }
533
+ checked={ autoFit }
534
+ onChange={ ( value ) =>
535
+ onChange( {
536
+ ...layout,
537
+ autoFit: value,
538
+ } )
539
+ }
540
+ />
541
+ );
542
+ }
543
+
491
544
  // Enables switching between grid types
492
545
  function GridLayoutTypeControl( { layout, onChange } ) {
493
546
  const { columnCount, rowCount, minimumColumnWidth, isManualPlacement } =
@@ -535,7 +588,6 @@ function GridLayoutTypeControl( { layout, onChange } ) {
535
588
 
536
589
  return (
537
590
  <ToggleGroupControl
538
- __next40pxDefaultSize
539
591
  label={ __( 'Grid item position' ) }
540
592
  value={ gridPlacement }
541
593
  onChange={ onChangeType }
@@ -1,8 +1,35 @@
1
+ /**
2
+ * External dependencies
3
+ */
4
+ import { render, screen } from '@testing-library/react';
5
+ import userEvent from '@testing-library/user-event';
6
+
7
+ /**
8
+ * WordPress dependencies
9
+ */
10
+ import { __experimentalToolsPanel as ToolsPanel } from '@wordpress/components';
11
+
1
12
  /**
2
13
  * Internal dependencies
3
14
  */
4
15
  import constrained from '../constrained';
5
16
 
17
+ const ConstrainedLayoutInspectorControls = constrained.inspectorControls;
18
+ const PANEL_ID = 'test-panel';
19
+
20
+ function renderInspectorControls( props = {} ) {
21
+ return render(
22
+ <ToolsPanel label="Layout" resetAll={ jest.fn() } panelId={ PANEL_ID }>
23
+ <ConstrainedLayoutInspectorControls
24
+ clientId={ PANEL_ID }
25
+ layout={ {} }
26
+ onChange={ jest.fn() }
27
+ { ...props }
28
+ />
29
+ </ToolsPanel>
30
+ );
31
+ }
32
+
6
33
  describe( 'getLayoutStyle', () => {
7
34
  it( 'should return an empty string if no non-default params are provided', () => {
8
35
  const expected = '';
@@ -18,4 +45,68 @@ describe( 'getLayoutStyle', () => {
18
45
 
19
46
  expect( result ).toBe( expected );
20
47
  } );
48
+
49
+ it( 'should reset constrained sizes when content width is unset in a viewport', () => {
50
+ const result = constrained.getLayoutStyle( {
51
+ selector: '.my-container',
52
+ layout: { type: 'constrained', contentSize: '800px' },
53
+ viewportOverrides: { contentSize: null },
54
+ style: {},
55
+ blockName: 'test-block',
56
+ hasBlockGapSupport: false,
57
+ layoutDefinitions: undefined,
58
+ } );
59
+
60
+ expect( result ).toContain(
61
+ 'max-width: var(--wp--style--global--content-size, none);'
62
+ );
63
+ expect( result ).toContain(
64
+ 'max-width: var(--wp--style--global--wide-size, none);'
65
+ );
66
+ } );
67
+ } );
68
+
69
+ describe( 'ConstrainedLayoutInspectorControls', () => {
70
+ it( 'renders an unset content width as an empty control value', () => {
71
+ renderInspectorControls( {
72
+ layout: { type: 'constrained', contentSize: null },
73
+ resetLayout: { type: 'constrained', contentSize: '800px' },
74
+ } );
75
+
76
+ expect(
77
+ screen.getByRole( 'spinbutton', { name: 'Content width' } )
78
+ ).toHaveDisplayValue( '' );
79
+ } );
80
+
81
+ it.each( [
82
+ [ 'Content width', 'contentSize' ],
83
+ [ 'Wide width', 'wideSize' ],
84
+ ] )(
85
+ 'preserves a cleared %s value for viewport layout overrides',
86
+ async ( label, layoutKey ) => {
87
+ const user = userEvent.setup();
88
+ const onChange = jest.fn();
89
+ renderInspectorControls( {
90
+ layout: { type: 'constrained', [ layoutKey ]: '800px' },
91
+ resetLayout: { type: 'constrained', [ layoutKey ]: '800px' },
92
+ onChange,
93
+ } );
94
+
95
+ await user.click(
96
+ screen.getByRole( 'button', { name: /Layout options/i } )
97
+ );
98
+ await user.click(
99
+ screen.getByRole( 'menuitemcheckbox', {
100
+ name: `Show ${ label }`,
101
+ } )
102
+ );
103
+ await user.clear(
104
+ screen.getByRole( 'spinbutton', { name: label } )
105
+ );
106
+
107
+ const nextLayout = onChange.mock.lastCall?.[ 0 ];
108
+ expect( Object.hasOwn( nextLayout, layoutKey ) ).toBe( true );
109
+ expect( nextLayout[ layoutKey ] ).toBeUndefined();
110
+ }
111
+ );
21
112
  } );
@@ -1,8 +1,34 @@
1
+ /**
2
+ * External dependencies
3
+ */
4
+ import { render, screen } from '@testing-library/react';
5
+
6
+ /**
7
+ * WordPress dependencies
8
+ */
9
+ import { __experimentalToolsPanel as ToolsPanel } from '@wordpress/components';
10
+
1
11
  /**
2
12
  * Internal dependencies
3
13
  */
4
14
  import grid from '../grid';
5
15
 
16
+ const GridLayoutInspectorControls = grid.inspectorControls;
17
+ const PANEL_ID = 'test-panel';
18
+
19
+ function renderInspectorControls( props = {} ) {
20
+ return render(
21
+ <ToolsPanel label="Layout" resetAll={ jest.fn() } panelId={ PANEL_ID }>
22
+ <GridLayoutInspectorControls
23
+ clientId={ PANEL_ID }
24
+ layout={ {} }
25
+ onChange={ jest.fn() }
26
+ { ...props }
27
+ />
28
+ </ToolsPanel>
29
+ );
30
+ }
31
+
6
32
  describe( 'getLayoutStyle', () => {
7
33
  it( 'should return only `grid-template-columns` and `container-type` properties if no non-default params are provided', () => {
8
34
  const expected = `.my-container { grid-template-columns: repeat(auto-fill, minmax(min(12rem, 100%), 1fr)); container-type: inline-size; }`;
@@ -46,4 +72,49 @@ describe( 'getLayoutStyle', () => {
46
72
 
47
73
  expect( result ).toBe( expected );
48
74
  } );
75
+ it( 'should use `auto-fit` instead of `auto-fill` when autoFit is enabled', () => {
76
+ const expected = `.my-container { grid-template-columns: repeat(auto-fit, minmax(min(12rem, 100%), 1fr)); container-type: inline-size; }`;
77
+
78
+ const result = grid.getLayoutStyle( {
79
+ selector: '.my-container',
80
+ layout: { autoFit: true },
81
+ style: {},
82
+ blockName: 'test-block',
83
+ hasBlockGapSupport: false,
84
+ layoutDefinitions: undefined,
85
+ } );
86
+
87
+ expect( result ).toBe( expected );
88
+ } );
89
+ it( 'should use `auto-fit` with max() function when autoFit is enabled and both minimumColumnWidth and columnCount are provided', () => {
90
+ const expected = `.my-container { grid-template-columns: repeat(auto-fit, minmax(max(min( 12rem, 100%), ( 100% - (1.2rem*2) ) / 3), 1fr)); container-type: inline-size; }`;
91
+
92
+ const result = grid.getLayoutStyle( {
93
+ selector: '.my-container',
94
+ layout: {
95
+ minimumColumnWidth: '12rem',
96
+ columnCount: 3,
97
+ autoFit: true,
98
+ },
99
+ style: {},
100
+ blockName: 'test-block',
101
+ hasBlockGapSupport: false,
102
+ layoutDefinitions: undefined,
103
+ } );
104
+
105
+ expect( result ).toBe( expected );
106
+ } );
107
+ } );
108
+
109
+ describe( 'GridLayoutInspectorControls', () => {
110
+ it( 'renders an unset column count as an empty control value', () => {
111
+ renderInspectorControls( {
112
+ layout: { type: 'grid', columnCount: null },
113
+ resetLayout: { type: 'grid', columnCount: 3 },
114
+ } );
115
+
116
+ expect(
117
+ screen.getByRole( 'spinbutton', { name: 'Columns' } )
118
+ ).toHaveDisplayValue( '' );
119
+ } );
49
120
  } );
@@ -56,6 +56,7 @@ import {
56
56
  isNavigationOverlayContextKey,
57
57
  isNavigationPostEditorKey,
58
58
  mediaUploadOnSuccessKey,
59
+ mediaSideloadFromUrlKey,
59
60
  openMediaEditorModalKey,
60
61
  } from './store/private-keys';
61
62
  import { requiresWrapperOnCopy } from './components/writing-flow/utils';
@@ -77,6 +78,7 @@ import { LinkPicker } from './components/link-picker';
77
78
  import useRemoteUrlData from './components/link-control/use-rich-url-data';
78
79
  import { PrivateBlockContext } from './components/block-list/private-block-context';
79
80
  import useListViewPanelState from './components/use-list-view-panel-state';
81
+ import InnerContent from './components/inner-content';
80
82
  import {
81
83
  isHashLink,
82
84
  isRelativePath,
@@ -144,6 +146,7 @@ lock( privateApis, {
144
146
  isNavigationOverlayContextKey,
145
147
  isNavigationPostEditorKey,
146
148
  mediaUploadOnSuccessKey,
149
+ mediaSideloadFromUrlKey,
147
150
  openMediaEditorModalKey,
148
151
  useBlockElement,
149
152
  useBlockElementRef,
@@ -153,4 +156,5 @@ lock( privateApis, {
153
156
  useListViewPanelState,
154
157
  isHashLink,
155
158
  isRelativePath,
159
+ InnerContent,
156
160
  } );
@@ -2051,6 +2051,7 @@ export function __unstableSetTemporarilyEditingAsBlocks( clientId ) {
2051
2051
  * the report url for the media item. It accepts the `InserterMediaItem` as an argument.
2052
2052
  * @property {boolean} [isExternalResource] If the media category is an external resource, this should be set to true.
2053
2053
  * This is used to avoid making a request to the external resource when the user
2054
+ * @property {string} [emptyMessage] Optional message shown in place of the generic "No results found." when the source has no items and there is no active search. Providing it also keeps the source in the tab list while empty, so the message stays reachable.
2054
2055
  */
2055
2056
  export const registerInserterMediaCategory =
2056
2057
  ( category ) =>
@@ -15,4 +15,5 @@ export const isNavigationOverlayContextKey = Symbol(
15
15
  );
16
16
  export const isNavigationPostEditorKey = Symbol( 'isNavigationPostEditor' );
17
17
  export const mediaUploadOnSuccessKey = Symbol( 'mediaUploadOnSuccess' );
18
+ export const mediaSideloadFromUrlKey = Symbol( 'mediaSideloadFromUrl' );
18
19
  export const openMediaEditorModalKey = Symbol( 'openMediaEditorModal' );