@wordpress/block-editor 12.14.0 → 12.15.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 (240) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/README.md +1 -1
  3. package/build/components/block-list/block.native.js +2 -0
  4. package/build/components/block-list/block.native.js.map +1 -1
  5. package/build/components/block-parent-selector/index.js +1 -1
  6. package/build/components/block-parent-selector/index.js.map +1 -1
  7. package/build/components/block-pattern-setup/index.js +25 -16
  8. package/build/components/block-pattern-setup/index.js.map +1 -1
  9. package/build/components/block-pattern-setup/setup-toolbar.js +4 -2
  10. package/build/components/block-pattern-setup/setup-toolbar.js.map +1 -1
  11. package/build/components/block-patterns-list/index.js +36 -19
  12. package/build/components/block-patterns-list/index.js.map +1 -1
  13. package/build/components/block-rename/index.js +28 -0
  14. package/build/components/block-rename/index.js.map +1 -0
  15. package/build/components/block-rename/is-empty-string.js +10 -0
  16. package/build/components/block-rename/is-empty-string.js.map +1 -0
  17. package/build/components/block-rename/modal.js +87 -0
  18. package/build/components/block-rename/modal.js.map +1 -0
  19. package/build/components/block-rename/rename-control.js +74 -0
  20. package/build/components/block-rename/rename-control.js.map +1 -0
  21. package/build/components/block-rename/use-block-rename.js +17 -0
  22. package/build/components/block-rename/use-block-rename.js.map +1 -0
  23. package/build/components/block-settings-menu/block-settings-dropdown.js +33 -20
  24. package/build/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
  25. package/build/components/block-settings-menu-controls/index.js +7 -0
  26. package/build/components/block-settings-menu-controls/index.js.map +1 -1
  27. package/build/components/block-toolbar/block-toolbar-menu.native.js +1 -1
  28. package/build/components/block-toolbar/block-toolbar-menu.native.js.map +1 -1
  29. package/build/components/block-types-list/index.js +6 -2
  30. package/build/components/block-types-list/index.js.map +1 -1
  31. package/build/components/date-format-picker/index.js +8 -1
  32. package/build/components/date-format-picker/index.js.map +1 -1
  33. package/build/components/global-styles/advanced-panel.js +1 -1
  34. package/build/components/global-styles/advanced-panel.js.map +1 -1
  35. package/build/components/image-size-control/index.js +0 -5
  36. package/build/components/image-size-control/index.js.map +1 -1
  37. package/build/components/inner-blocks/index.js +3 -1
  38. package/build/components/inner-blocks/index.js.map +1 -1
  39. package/build/components/inner-blocks/warning-max-depth-exceeded.native.js +29 -31
  40. package/build/components/inner-blocks/warning-max-depth-exceeded.native.js.map +1 -1
  41. package/build/components/inserter/block-patterns-explorer/pattern-list.js +1 -1
  42. package/build/components/inserter/block-patterns-explorer/pattern-list.js.map +1 -1
  43. package/build/components/inserter/block-patterns-tab/pattern-category-previews.js +1 -1
  44. package/build/components/inserter/block-patterns-tab/pattern-category-previews.js.map +1 -1
  45. package/build/components/inserter/block-patterns-tab/use-pattern-categories.js +1 -1
  46. package/build/components/inserter/block-patterns-tab/use-pattern-categories.js.map +1 -1
  47. package/build/components/inserter/block-patterns-tab/utils.js +3 -4
  48. package/build/components/inserter/block-patterns-tab/utils.js.map +1 -1
  49. package/build/components/inserter/hooks/use-patterns-state.js +2 -1
  50. package/build/components/inserter/hooks/use-patterns-state.js.map +1 -1
  51. package/build/components/inserter-listbox/index.js +11 -6
  52. package/build/components/inserter-listbox/index.js.map +1 -1
  53. package/build/components/inserter-listbox/item.js +24 -23
  54. package/build/components/inserter-listbox/item.js.map +1 -1
  55. package/build/components/inserter-listbox/row.js +5 -5
  56. package/build/components/inserter-listbox/row.js.map +1 -1
  57. package/build/components/list-view/use-list-view-expand-selected-item.js +2 -3
  58. package/build/components/list-view/use-list-view-expand-selected-item.js.map +1 -1
  59. package/build/components/preview-options/index.js +4 -2
  60. package/build/components/preview-options/index.js.map +1 -1
  61. package/build/components/rich-text/index.native.js +1 -1
  62. package/build/components/rich-text/index.native.js.map +1 -1
  63. package/build/components/rich-text/native/index.native.js +34 -3
  64. package/build/components/rich-text/native/index.native.js.map +1 -1
  65. package/build/components/rich-text/use-input-rules.js +30 -1
  66. package/build/components/rich-text/use-input-rules.js.map +1 -1
  67. package/build/components/spacing-sizes-control/input-controls/spacing-input-control.js +1 -1
  68. package/build/components/spacing-sizes-control/input-controls/spacing-input-control.js.map +1 -1
  69. package/build/components/use-block-drop-zone/index.js +4 -1
  70. package/build/components/use-block-drop-zone/index.js.map +1 -1
  71. package/build/components/use-moving-animation/index.js +2 -1
  72. package/build/components/use-moving-animation/index.js.map +1 -1
  73. package/build/components/use-settings/index.js +2 -2
  74. package/build/components/use-settings/index.js.map +1 -1
  75. package/build/hooks/block-renaming.js +42 -0
  76. package/build/hooks/block-renaming.js.map +1 -1
  77. package/build/hooks/custom-fields.js +53 -48
  78. package/build/hooks/custom-fields.js.map +1 -1
  79. package/build/hooks/index.js +0 -1
  80. package/build/hooks/index.js.map +1 -1
  81. package/build/hooks/layout.js +13 -7
  82. package/build/hooks/layout.js.map +1 -1
  83. package/build/layouts/constrained.js +4 -3
  84. package/build/layouts/constrained.js.map +1 -1
  85. package/build/store/selectors.js +2 -0
  86. package/build/store/selectors.js.map +1 -1
  87. package/build/utils/transform-styles/index.js +26 -6
  88. package/build/utils/transform-styles/index.js.map +1 -1
  89. package/build-module/components/block-list/block.native.js +2 -0
  90. package/build-module/components/block-list/block.native.js.map +1 -1
  91. package/build-module/components/block-parent-selector/index.js +1 -1
  92. package/build-module/components/block-parent-selector/index.js.map +1 -1
  93. package/build-module/components/block-pattern-setup/index.js +24 -15
  94. package/build-module/components/block-pattern-setup/index.js.map +1 -1
  95. package/build-module/components/block-pattern-setup/setup-toolbar.js +4 -2
  96. package/build-module/components/block-pattern-setup/setup-toolbar.js.map +1 -1
  97. package/build-module/components/block-patterns-list/index.js +36 -19
  98. package/build-module/components/block-patterns-list/index.js.map +1 -1
  99. package/build-module/components/block-rename/index.js +4 -0
  100. package/build-module/components/block-rename/index.js.map +1 -0
  101. package/build-module/components/block-rename/is-empty-string.js +4 -0
  102. package/build-module/components/block-rename/is-empty-string.js.map +1 -0
  103. package/build-module/components/block-rename/modal.js +79 -0
  104. package/build-module/components/block-rename/modal.js.map +1 -0
  105. package/build-module/components/block-rename/rename-control.js +66 -0
  106. package/build-module/components/block-rename/rename-control.js.map +1 -0
  107. package/build-module/components/block-rename/use-block-rename.js +10 -0
  108. package/build-module/components/block-rename/use-block-rename.js.map +1 -0
  109. package/build-module/components/block-settings-menu/block-settings-dropdown.js +34 -21
  110. package/build-module/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
  111. package/build-module/components/block-settings-menu-controls/index.js +7 -0
  112. package/build-module/components/block-settings-menu-controls/index.js.map +1 -1
  113. package/build-module/components/block-toolbar/block-toolbar-menu.native.js +1 -1
  114. package/build-module/components/block-toolbar/block-toolbar-menu.native.js.map +1 -1
  115. package/build-module/components/block-types-list/index.js +6 -2
  116. package/build-module/components/block-types-list/index.js.map +1 -1
  117. package/build-module/components/date-format-picker/index.js +8 -1
  118. package/build-module/components/date-format-picker/index.js.map +1 -1
  119. package/build-module/components/global-styles/advanced-panel.js +1 -1
  120. package/build-module/components/global-styles/advanced-panel.js.map +1 -1
  121. package/build-module/components/image-size-control/index.js +0 -5
  122. package/build-module/components/image-size-control/index.js.map +1 -1
  123. package/build-module/components/inner-blocks/index.js +3 -1
  124. package/build-module/components/inner-blocks/index.js.map +1 -1
  125. package/build-module/components/inner-blocks/warning-max-depth-exceeded.native.js +30 -32
  126. package/build-module/components/inner-blocks/warning-max-depth-exceeded.native.js.map +1 -1
  127. package/build-module/components/inserter/block-patterns-explorer/pattern-list.js +2 -2
  128. package/build-module/components/inserter/block-patterns-explorer/pattern-list.js.map +1 -1
  129. package/build-module/components/inserter/block-patterns-tab/pattern-category-previews.js +4 -4
  130. package/build-module/components/inserter/block-patterns-tab/pattern-category-previews.js.map +1 -1
  131. package/build-module/components/inserter/block-patterns-tab/use-pattern-categories.js +2 -2
  132. package/build-module/components/inserter/block-patterns-tab/use-pattern-categories.js.map +1 -1
  133. package/build-module/components/inserter/block-patterns-tab/utils.js +3 -4
  134. package/build-module/components/inserter/block-patterns-tab/utils.js.map +1 -1
  135. package/build-module/components/inserter/hooks/use-patterns-state.js +2 -1
  136. package/build-module/components/inserter/hooks/use-patterns-state.js.map +1 -1
  137. package/build-module/components/inserter-listbox/index.js +13 -8
  138. package/build-module/components/inserter-listbox/index.js.map +1 -1
  139. package/build-module/components/inserter-listbox/item.js +25 -23
  140. package/build-module/components/inserter-listbox/item.js.map +1 -1
  141. package/build-module/components/inserter-listbox/row.js +6 -5
  142. package/build-module/components/inserter-listbox/row.js.map +1 -1
  143. package/build-module/components/list-view/use-list-view-expand-selected-item.js +2 -3
  144. package/build-module/components/list-view/use-list-view-expand-selected-item.js.map +1 -1
  145. package/build-module/components/preview-options/index.js +4 -2
  146. package/build-module/components/preview-options/index.js.map +1 -1
  147. package/build-module/components/rich-text/index.native.js +1 -1
  148. package/build-module/components/rich-text/index.native.js.map +1 -1
  149. package/build-module/components/rich-text/native/index.native.js +34 -3
  150. package/build-module/components/rich-text/native/index.native.js.map +1 -1
  151. package/build-module/components/rich-text/use-input-rules.js +31 -2
  152. package/build-module/components/rich-text/use-input-rules.js.map +1 -1
  153. package/build-module/components/spacing-sizes-control/input-controls/spacing-input-control.js +1 -1
  154. package/build-module/components/spacing-sizes-control/input-controls/spacing-input-control.js.map +1 -1
  155. package/build-module/components/use-block-drop-zone/index.js +4 -1
  156. package/build-module/components/use-block-drop-zone/index.js.map +1 -1
  157. package/build-module/components/use-moving-animation/index.js +2 -1
  158. package/build-module/components/use-moving-animation/index.js.map +1 -1
  159. package/build-module/components/use-settings/index.js +2 -2
  160. package/build-module/components/use-settings/index.js.map +1 -1
  161. package/build-module/hooks/block-renaming.js +40 -0
  162. package/build-module/hooks/block-renaming.js.map +1 -1
  163. package/build-module/hooks/custom-fields.js +53 -48
  164. package/build-module/hooks/custom-fields.js.map +1 -1
  165. package/build-module/hooks/index.js +0 -1
  166. package/build-module/hooks/index.js.map +1 -1
  167. package/build-module/hooks/layout.js +13 -7
  168. package/build-module/hooks/layout.js.map +1 -1
  169. package/build-module/layouts/constrained.js +4 -3
  170. package/build-module/layouts/constrained.js.map +1 -1
  171. package/build-module/store/selectors.js +2 -0
  172. package/build-module/store/selectors.js.map +1 -1
  173. package/build-module/utils/transform-styles/index.js +24 -7
  174. package/build-module/utils/transform-styles/index.js.map +1 -1
  175. package/build-style/content-rtl.css +6 -6
  176. package/build-style/content.css +6 -6
  177. package/build-style/style-rtl.css +10 -5
  178. package/build-style/style.css +10 -5
  179. package/package.json +31 -31
  180. package/src/components/block-list/block.native.js +2 -0
  181. package/src/components/block-parent-selector/index.js +1 -1
  182. package/src/components/block-pattern-setup/index.js +38 -22
  183. package/src/components/block-pattern-setup/setup-toolbar.js +2 -0
  184. package/src/components/block-pattern-setup/style.scss +4 -1
  185. package/src/components/block-patterns-list/README.md +4 -4
  186. package/src/components/block-patterns-list/index.js +60 -34
  187. package/src/components/block-patterns-list/style.scss +7 -0
  188. package/src/components/block-rename/index.js +3 -0
  189. package/src/components/block-rename/is-empty-string.js +3 -0
  190. package/src/components/block-rename/modal.js +115 -0
  191. package/src/components/block-rename/rename-control.js +80 -0
  192. package/src/components/block-rename/use-block-rename.js +10 -0
  193. package/src/components/block-settings-menu/block-settings-dropdown.js +38 -34
  194. package/src/components/block-settings-menu-controls/index.js +9 -0
  195. package/src/components/block-toolbar/block-toolbar-menu.native.js +1 -4
  196. package/src/components/block-types-list/index.js +5 -4
  197. package/src/components/button-block-appender/content.scss +2 -2
  198. package/src/components/date-format-picker/index.js +7 -0
  199. package/src/components/editable-text/README.md +0 -36
  200. package/src/components/global-styles/advanced-panel.js +1 -1
  201. package/src/components/image-size-control/index.js +0 -6
  202. package/src/components/inner-blocks/index.js +6 -2
  203. package/src/components/inner-blocks/warning-max-depth-exceeded.native.js +57 -33
  204. package/src/components/inserter/block-patterns-explorer/pattern-list.js +5 -1
  205. package/src/components/inserter/block-patterns-tab/pattern-category-previews.js +7 -3
  206. package/src/components/inserter/block-patterns-tab/use-pattern-categories.js +6 -1
  207. package/src/components/inserter/block-patterns-tab/utils.js +6 -4
  208. package/src/components/inserter/hooks/use-patterns-state.js +3 -1
  209. package/src/components/inserter-listbox/index.js +11 -7
  210. package/src/components/inserter-listbox/item.js +11 -12
  211. package/src/components/inserter-listbox/row.js +6 -12
  212. package/src/components/list-view/use-list-view-expand-selected-item.js +7 -8
  213. package/src/components/plain-text/README.md +0 -28
  214. package/src/components/preview-options/index.js +2 -0
  215. package/src/components/rich-text/README.md +0 -58
  216. package/src/components/rich-text/index.native.js +1 -1
  217. package/src/components/rich-text/native/index.native.js +45 -2
  218. package/src/components/rich-text/use-input-rules.js +30 -2
  219. package/src/components/spacing-sizes-control/input-controls/spacing-input-control.js +1 -1
  220. package/src/components/url-input/README.md +1 -74
  221. package/src/components/use-block-drop-zone/index.js +4 -1
  222. package/src/components/use-moving-animation/index.js +1 -1
  223. package/src/components/use-settings/index.js +2 -2
  224. package/src/components/use-settings/test/index.js +1 -1
  225. package/src/hooks/block-renaming.js +47 -0
  226. package/src/hooks/custom-fields.js +68 -65
  227. package/src/hooks/index.js +0 -1
  228. package/src/hooks/layout.js +12 -8
  229. package/src/hooks/test/__snapshots__/align.native.js.snap +5 -5
  230. package/src/layouts/constrained.js +57 -50
  231. package/src/store/selectors.js +2 -0
  232. package/src/style.scss +1 -1
  233. package/src/utils/test/transform-styles.js +49 -0
  234. package/src/utils/transform-styles/index.js +39 -13
  235. package/build/hooks/block-rename-ui.js +0 -167
  236. package/build/hooks/block-rename-ui.js.map +0 -1
  237. package/build-module/hooks/block-rename-ui.js +0 -159
  238. package/build-module/hooks/block-rename-ui.js.map +0 -1
  239. package/src/hooks/block-rename-ui.js +0 -228
  240. /package/src/{hooks/block-rename-ui.scss → components/block-rename/style.scss} +0 -0
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * External dependencies
3
3
  */
4
- import postcss from 'postcss';
4
+ import postcss, { CssSyntaxError } from 'postcss';
5
5
  import wrap from 'postcss-prefixwrap';
6
6
  import rebaseUrl from 'postcss-urlrebase';
7
7
 
@@ -23,13 +23,30 @@ const transformStyles = (styles, wrapperSelector = '') => {
23
23
  ignoredSelectors = [],
24
24
  baseURL
25
25
  }) => {
26
- return postcss([wrapperSelector && wrap(wrapperSelector, {
27
- ignoredSelectors: [...ignoredSelectors, wrapperSelector]
28
- }), baseURL && rebaseUrl({
29
- rootUrl: baseURL
30
- })].filter(Boolean)).process(css, {}).css; // use sync PostCSS API
26
+ // When there is no wrapper selector or base URL, there is no need
27
+ // to transform the CSS. This is most cases because in the default
28
+ // iframed editor, no wrapping is needed, and not many styles
29
+ // provide a base URL.
30
+ if (!wrapperSelector && !baseURL) {
31
+ return css;
32
+ }
33
+ try {
34
+ return postcss([wrapperSelector && wrap(wrapperSelector, {
35
+ ignoredSelectors: [...ignoredSelectors, wrapperSelector]
36
+ }), baseURL && rebaseUrl({
37
+ rootUrl: baseURL
38
+ })].filter(Boolean)).process(css, {}).css; // use sync PostCSS API
39
+ } catch (error) {
40
+ if (error instanceof CssSyntaxError) {
41
+ // eslint-disable-next-line no-console
42
+ console.warn('wp.blockEditor.transformStyles Failed to transform CSS.', error.message + '\n' + error.showSourceCode(false));
43
+ } else {
44
+ // eslint-disable-next-line no-console
45
+ console.warn('wp.blockEditor.transformStyles Failed to transform CSS.', error);
46
+ }
47
+ return null;
48
+ }
31
49
  });
32
50
  };
33
-
34
51
  export default transformStyles;
35
52
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["postcss","wrap","rebaseUrl","transformStyles","styles","wrapperSelector","map","css","ignoredSelectors","baseURL","rootUrl","filter","Boolean","process"],"sources":["@wordpress/block-editor/src/utils/transform-styles/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport postcss from 'postcss';\nimport wrap from 'postcss-prefixwrap';\nimport rebaseUrl from 'postcss-urlrebase';\n\n/**\n * Applies a series of CSS rule transforms to wrap selectors inside a given class and/or rewrite URLs depending on the parameters passed.\n *\n * @typedef {Object} EditorStyle\n * @property {string} css the CSS block(s), as a single string.\n * @property {?string} baseURL the base URL to be used as the reference when rewritting urls.\n * @property {?string[]} ignoredSelectors the selectors not to wrap.\n *\n * @param {EditorStyle[]} styles CSS rules.\n * @param {string} wrapperSelector Wrapper selector.\n * @return {Array} converted rules.\n */\nconst transformStyles = ( styles, wrapperSelector = '' ) => {\n\treturn styles.map( ( { css, ignoredSelectors = [], baseURL } ) => {\n\t\treturn postcss(\n\t\t\t[\n\t\t\t\twrapperSelector &&\n\t\t\t\t\twrap( wrapperSelector, {\n\t\t\t\t\t\tignoredSelectors: [\n\t\t\t\t\t\t\t...ignoredSelectors,\n\t\t\t\t\t\t\twrapperSelector,\n\t\t\t\t\t\t],\n\t\t\t\t\t} ),\n\t\t\t\tbaseURL && rebaseUrl( { rootUrl: baseURL } ),\n\t\t\t].filter( Boolean )\n\t\t).process( css, {} ).css; // use sync PostCSS API\n\t} );\n};\n\nexport default transformStyles;\n"],"mappings":"AAAA;AACA;AACA;AACA,OAAOA,OAAO,MAAM,SAAS;AAC7B,OAAOC,IAAI,MAAM,oBAAoB;AACrC,OAAOC,SAAS,MAAM,mBAAmB;;AAEzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMC,eAAe,GAAGA,CAAEC,MAAM,EAAEC,eAAe,GAAG,EAAE,KAAM;EAC3D,OAAOD,MAAM,CAACE,GAAG,CAAE,CAAE;IAAEC,GAAG;IAAEC,gBAAgB,GAAG,EAAE;IAAEC;EAAQ,CAAC,KAAM;IACjE,OAAOT,OAAO,CACb,CACCK,eAAe,IACdJ,IAAI,CAAEI,eAAe,EAAE;MACtBG,gBAAgB,EAAE,CACjB,GAAGA,gBAAgB,EACnBH,eAAe;IAEjB,CAAE,CAAC,EACJI,OAAO,IAAIP,SAAS,CAAE;MAAEQ,OAAO,EAAED;IAAQ,CAAE,CAAC,CAC5C,CAACE,MAAM,CAAEC,OAAQ,CACnB,CAAC,CAACC,OAAO,CAAEN,GAAG,EAAE,CAAC,CAAE,CAAC,CAACA,GAAG,CAAC,CAAC;EAC3B,CAAE,CAAC;AACJ,CAAC;;AAED,eAAeJ,eAAe"}
1
+ {"version":3,"names":["postcss","CssSyntaxError","wrap","rebaseUrl","transformStyles","styles","wrapperSelector","map","css","ignoredSelectors","baseURL","rootUrl","filter","Boolean","process","error","console","warn","message","showSourceCode"],"sources":["@wordpress/block-editor/src/utils/transform-styles/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport postcss, { CssSyntaxError } from 'postcss';\nimport wrap from 'postcss-prefixwrap';\nimport rebaseUrl from 'postcss-urlrebase';\n\n/**\n * Applies a series of CSS rule transforms to wrap selectors inside a given class and/or rewrite URLs depending on the parameters passed.\n *\n * @typedef {Object} EditorStyle\n * @property {string} css the CSS block(s), as a single string.\n * @property {?string} baseURL the base URL to be used as the reference when rewritting urls.\n * @property {?string[]} ignoredSelectors the selectors not to wrap.\n *\n * @param {EditorStyle[]} styles CSS rules.\n * @param {string} wrapperSelector Wrapper selector.\n * @return {Array} converted rules.\n */\nconst transformStyles = ( styles, wrapperSelector = '' ) => {\n\treturn styles.map( ( { css, ignoredSelectors = [], baseURL } ) => {\n\t\t// When there is no wrapper selector or base URL, there is no need\n\t\t// to transform the CSS. This is most cases because in the default\n\t\t// iframed editor, no wrapping is needed, and not many styles\n\t\t// provide a base URL.\n\t\tif ( ! wrapperSelector && ! baseURL ) {\n\t\t\treturn css;\n\t\t}\n\n\t\ttry {\n\t\t\treturn postcss(\n\t\t\t\t[\n\t\t\t\t\twrapperSelector &&\n\t\t\t\t\t\twrap( wrapperSelector, {\n\t\t\t\t\t\t\tignoredSelectors: [\n\t\t\t\t\t\t\t\t...ignoredSelectors,\n\t\t\t\t\t\t\t\twrapperSelector,\n\t\t\t\t\t\t\t],\n\t\t\t\t\t\t} ),\n\t\t\t\t\tbaseURL && rebaseUrl( { rootUrl: baseURL } ),\n\t\t\t\t].filter( Boolean )\n\t\t\t).process( css, {} ).css; // use sync PostCSS API\n\t\t} catch ( error ) {\n\t\t\tif ( error instanceof CssSyntaxError ) {\n\t\t\t\t// eslint-disable-next-line no-console\n\t\t\t\tconsole.warn(\n\t\t\t\t\t'wp.blockEditor.transformStyles Failed to transform CSS.',\n\t\t\t\t\terror.message + '\\n' + error.showSourceCode( false )\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\t// eslint-disable-next-line no-console\n\t\t\t\tconsole.warn(\n\t\t\t\t\t'wp.blockEditor.transformStyles Failed to transform CSS.',\n\t\t\t\t\terror\n\t\t\t\t);\n\t\t\t}\n\n\t\t\treturn null;\n\t\t}\n\t} );\n};\n\nexport default transformStyles;\n"],"mappings":"AAAA;AACA;AACA;AACA,OAAOA,OAAO,IAAIC,cAAc,QAAQ,SAAS;AACjD,OAAOC,IAAI,MAAM,oBAAoB;AACrC,OAAOC,SAAS,MAAM,mBAAmB;;AAEzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMC,eAAe,GAAGA,CAAEC,MAAM,EAAEC,eAAe,GAAG,EAAE,KAAM;EAC3D,OAAOD,MAAM,CAACE,GAAG,CAAE,CAAE;IAAEC,GAAG;IAAEC,gBAAgB,GAAG,EAAE;IAAEC;EAAQ,CAAC,KAAM;IACjE;IACA;IACA;IACA;IACA,IAAK,CAAEJ,eAAe,IAAI,CAAEI,OAAO,EAAG;MACrC,OAAOF,GAAG;IACX;IAEA,IAAI;MACH,OAAOR,OAAO,CACb,CACCM,eAAe,IACdJ,IAAI,CAAEI,eAAe,EAAE;QACtBG,gBAAgB,EAAE,CACjB,GAAGA,gBAAgB,EACnBH,eAAe;MAEjB,CAAE,CAAC,EACJI,OAAO,IAAIP,SAAS,CAAE;QAAEQ,OAAO,EAAED;MAAQ,CAAE,CAAC,CAC5C,CAACE,MAAM,CAAEC,OAAQ,CACnB,CAAC,CAACC,OAAO,CAAEN,GAAG,EAAE,CAAC,CAAE,CAAC,CAACA,GAAG,CAAC,CAAC;IAC3B,CAAC,CAAC,OAAQO,KAAK,EAAG;MACjB,IAAKA,KAAK,YAAYd,cAAc,EAAG;QACtC;QACAe,OAAO,CAACC,IAAI,CACX,yDAAyD,EACzDF,KAAK,CAACG,OAAO,GAAG,IAAI,GAAGH,KAAK,CAACI,cAAc,CAAE,KAAM,CACpD,CAAC;MACF,CAAC,MAAM;QACN;QACAH,OAAO,CAACC,IAAI,CACX,yDAAyD,EACzDF,KACD,CAAC;MACF;MAEA,OAAO,IAAI;IACZ;EACD,CAAE,CAAC;AACJ,CAAC;AAED,eAAeX,eAAe"}
@@ -638,10 +638,10 @@
638
638
  color: #000;
639
639
  }
640
640
 
641
- .is-layout-constrained.block-editor-block-list__block:not(.is-selected) > .block-list-appender:only-child, .is-layout-flow.block-editor-block-list__block:not(.is-selected) > .block-list-appender:only-child, .is-layout-constrained.block-editor-block-list__block:not(.is-selected) > .wp-block-group__inner-container > .block-list-appender:only-child, .is-layout-flow.block-editor-block-list__block:not(.is-selected) > .wp-block-group__inner-container > .block-list-appender:only-child {
641
+ .is-layout-constrained.block-editor-block-list__block:not(.is-selected) > .block-list-appender:only-child, .is-layout-flow.block-editor-block-list__block:not(.is-selected) > .block-list-appender:only-child, .block-editor-block-list__block:not(.is-selected) > .is-layout-constrained.wp-block-group__inner-container > .block-list-appender:only-child, .block-editor-block-list__block:not(.is-selected) > .is-layout-flow.wp-block-group__inner-container > .block-list-appender:only-child {
642
642
  pointer-events: none;
643
643
  }
644
- .is-layout-constrained.block-editor-block-list__block:not(.is-selected) > .block-list-appender:only-child::after, .is-layout-flow.block-editor-block-list__block:not(.is-selected) > .block-list-appender:only-child::after, .is-layout-constrained.block-editor-block-list__block:not(.is-selected) > .wp-block-group__inner-container > .block-list-appender:only-child::after, .is-layout-flow.block-editor-block-list__block:not(.is-selected) > .wp-block-group__inner-container > .block-list-appender:only-child::after {
644
+ .is-layout-constrained.block-editor-block-list__block:not(.is-selected) > .block-list-appender:only-child::after, .is-layout-flow.block-editor-block-list__block:not(.is-selected) > .block-list-appender:only-child::after, .block-editor-block-list__block:not(.is-selected) > .is-layout-constrained.wp-block-group__inner-container > .block-list-appender:only-child::after, .block-editor-block-list__block:not(.is-selected) > .is-layout-flow.wp-block-group__inner-container > .block-list-appender:only-child::after {
645
645
  content: "";
646
646
  position: absolute;
647
647
  top: 0;
@@ -652,7 +652,7 @@
652
652
  border: 1px dashed currentColor;
653
653
  border-radius: 2px;
654
654
  }
655
- .is-layout-constrained.block-editor-block-list__block:not(.is-selected) > .block-list-appender:only-child::after::before, .is-layout-flow.block-editor-block-list__block:not(.is-selected) > .block-list-appender:only-child::after::before, .is-layout-constrained.block-editor-block-list__block:not(.is-selected) > .wp-block-group__inner-container > .block-list-appender:only-child::after::before, .is-layout-flow.block-editor-block-list__block:not(.is-selected) > .wp-block-group__inner-container > .block-list-appender:only-child::after::before {
655
+ .is-layout-constrained.block-editor-block-list__block:not(.is-selected) > .block-list-appender:only-child::after::before, .is-layout-flow.block-editor-block-list__block:not(.is-selected) > .block-list-appender:only-child::after::before, .block-editor-block-list__block:not(.is-selected) > .is-layout-constrained.wp-block-group__inner-container > .block-list-appender:only-child::after::before, .block-editor-block-list__block:not(.is-selected) > .is-layout-flow.wp-block-group__inner-container > .block-list-appender:only-child::after::before {
656
656
  content: "";
657
657
  position: absolute;
658
658
  top: 0;
@@ -663,13 +663,13 @@
663
663
  background: currentColor;
664
664
  opacity: 0.1;
665
665
  }
666
- .is-layout-constrained.block-editor-block-list__block:not(.is-selected) > .block-list-appender:only-child .block-editor-inserter, .is-layout-flow.block-editor-block-list__block:not(.is-selected) > .block-list-appender:only-child .block-editor-inserter, .is-layout-constrained.block-editor-block-list__block:not(.is-selected) > .wp-block-group__inner-container > .block-list-appender:only-child .block-editor-inserter, .is-layout-flow.block-editor-block-list__block:not(.is-selected) > .wp-block-group__inner-container > .block-list-appender:only-child .block-editor-inserter {
666
+ .is-layout-constrained.block-editor-block-list__block:not(.is-selected) > .block-list-appender:only-child .block-editor-inserter, .is-layout-flow.block-editor-block-list__block:not(.is-selected) > .block-list-appender:only-child .block-editor-inserter, .block-editor-block-list__block:not(.is-selected) > .is-layout-constrained.wp-block-group__inner-container > .block-list-appender:only-child .block-editor-inserter, .block-editor-block-list__block:not(.is-selected) > .is-layout-flow.wp-block-group__inner-container > .block-list-appender:only-child .block-editor-inserter {
667
667
  visibility: hidden;
668
668
  }
669
- .is-layout-constrained.block-editor-block-list__block:not(.is-selected) > .block-list-appender:only-child.is-drag-over::after, .is-layout-flow.block-editor-block-list__block:not(.is-selected) > .block-list-appender:only-child.is-drag-over::after, .is-layout-constrained.block-editor-block-list__block:not(.is-selected) > .wp-block-group__inner-container > .block-list-appender:only-child.is-drag-over::after, .is-layout-flow.block-editor-block-list__block:not(.is-selected) > .wp-block-group__inner-container > .block-list-appender:only-child.is-drag-over::after {
669
+ .is-layout-constrained.block-editor-block-list__block:not(.is-selected) > .block-list-appender:only-child.is-drag-over::after, .is-layout-flow.block-editor-block-list__block:not(.is-selected) > .block-list-appender:only-child.is-drag-over::after, .block-editor-block-list__block:not(.is-selected) > .is-layout-constrained.wp-block-group__inner-container > .block-list-appender:only-child.is-drag-over::after, .block-editor-block-list__block:not(.is-selected) > .is-layout-flow.wp-block-group__inner-container > .block-list-appender:only-child.is-drag-over::after {
670
670
  border: none;
671
671
  }
672
- .is-layout-constrained.block-editor-block-list__block:not(.is-selected) > .block-list-appender:only-child.is-drag-over .block-editor-inserter, .is-layout-flow.block-editor-block-list__block:not(.is-selected) > .block-list-appender:only-child.is-drag-over .block-editor-inserter, .is-layout-constrained.block-editor-block-list__block:not(.is-selected) > .wp-block-group__inner-container > .block-list-appender:only-child.is-drag-over .block-editor-inserter, .is-layout-flow.block-editor-block-list__block:not(.is-selected) > .wp-block-group__inner-container > .block-list-appender:only-child.is-drag-over .block-editor-inserter {
672
+ .is-layout-constrained.block-editor-block-list__block:not(.is-selected) > .block-list-appender:only-child.is-drag-over .block-editor-inserter, .is-layout-flow.block-editor-block-list__block:not(.is-selected) > .block-list-appender:only-child.is-drag-over .block-editor-inserter, .block-editor-block-list__block:not(.is-selected) > .is-layout-constrained.wp-block-group__inner-container > .block-list-appender:only-child.is-drag-over .block-editor-inserter, .block-editor-block-list__block:not(.is-selected) > .is-layout-flow.wp-block-group__inner-container > .block-list-appender:only-child.is-drag-over .block-editor-inserter {
673
673
  visibility: visible;
674
674
  }
675
675
  .block-editor-block-list__block:not(.is-selected) > .block-editor-block-list__block > .block-list-appender:only-child::after {
@@ -638,10 +638,10 @@
638
638
  color: #000;
639
639
  }
640
640
 
641
- .is-layout-constrained.block-editor-block-list__block:not(.is-selected) > .block-list-appender:only-child, .is-layout-flow.block-editor-block-list__block:not(.is-selected) > .block-list-appender:only-child, .is-layout-constrained.block-editor-block-list__block:not(.is-selected) > .wp-block-group__inner-container > .block-list-appender:only-child, .is-layout-flow.block-editor-block-list__block:not(.is-selected) > .wp-block-group__inner-container > .block-list-appender:only-child {
641
+ .is-layout-constrained.block-editor-block-list__block:not(.is-selected) > .block-list-appender:only-child, .is-layout-flow.block-editor-block-list__block:not(.is-selected) > .block-list-appender:only-child, .block-editor-block-list__block:not(.is-selected) > .is-layout-constrained.wp-block-group__inner-container > .block-list-appender:only-child, .block-editor-block-list__block:not(.is-selected) > .is-layout-flow.wp-block-group__inner-container > .block-list-appender:only-child {
642
642
  pointer-events: none;
643
643
  }
644
- .is-layout-constrained.block-editor-block-list__block:not(.is-selected) > .block-list-appender:only-child::after, .is-layout-flow.block-editor-block-list__block:not(.is-selected) > .block-list-appender:only-child::after, .is-layout-constrained.block-editor-block-list__block:not(.is-selected) > .wp-block-group__inner-container > .block-list-appender:only-child::after, .is-layout-flow.block-editor-block-list__block:not(.is-selected) > .wp-block-group__inner-container > .block-list-appender:only-child::after {
644
+ .is-layout-constrained.block-editor-block-list__block:not(.is-selected) > .block-list-appender:only-child::after, .is-layout-flow.block-editor-block-list__block:not(.is-selected) > .block-list-appender:only-child::after, .block-editor-block-list__block:not(.is-selected) > .is-layout-constrained.wp-block-group__inner-container > .block-list-appender:only-child::after, .block-editor-block-list__block:not(.is-selected) > .is-layout-flow.wp-block-group__inner-container > .block-list-appender:only-child::after {
645
645
  content: "";
646
646
  position: absolute;
647
647
  top: 0;
@@ -652,7 +652,7 @@
652
652
  border: 1px dashed currentColor;
653
653
  border-radius: 2px;
654
654
  }
655
- .is-layout-constrained.block-editor-block-list__block:not(.is-selected) > .block-list-appender:only-child::after::before, .is-layout-flow.block-editor-block-list__block:not(.is-selected) > .block-list-appender:only-child::after::before, .is-layout-constrained.block-editor-block-list__block:not(.is-selected) > .wp-block-group__inner-container > .block-list-appender:only-child::after::before, .is-layout-flow.block-editor-block-list__block:not(.is-selected) > .wp-block-group__inner-container > .block-list-appender:only-child::after::before {
655
+ .is-layout-constrained.block-editor-block-list__block:not(.is-selected) > .block-list-appender:only-child::after::before, .is-layout-flow.block-editor-block-list__block:not(.is-selected) > .block-list-appender:only-child::after::before, .block-editor-block-list__block:not(.is-selected) > .is-layout-constrained.wp-block-group__inner-container > .block-list-appender:only-child::after::before, .block-editor-block-list__block:not(.is-selected) > .is-layout-flow.wp-block-group__inner-container > .block-list-appender:only-child::after::before {
656
656
  content: "";
657
657
  position: absolute;
658
658
  top: 0;
@@ -663,13 +663,13 @@
663
663
  background: currentColor;
664
664
  opacity: 0.1;
665
665
  }
666
- .is-layout-constrained.block-editor-block-list__block:not(.is-selected) > .block-list-appender:only-child .block-editor-inserter, .is-layout-flow.block-editor-block-list__block:not(.is-selected) > .block-list-appender:only-child .block-editor-inserter, .is-layout-constrained.block-editor-block-list__block:not(.is-selected) > .wp-block-group__inner-container > .block-list-appender:only-child .block-editor-inserter, .is-layout-flow.block-editor-block-list__block:not(.is-selected) > .wp-block-group__inner-container > .block-list-appender:only-child .block-editor-inserter {
666
+ .is-layout-constrained.block-editor-block-list__block:not(.is-selected) > .block-list-appender:only-child .block-editor-inserter, .is-layout-flow.block-editor-block-list__block:not(.is-selected) > .block-list-appender:only-child .block-editor-inserter, .block-editor-block-list__block:not(.is-selected) > .is-layout-constrained.wp-block-group__inner-container > .block-list-appender:only-child .block-editor-inserter, .block-editor-block-list__block:not(.is-selected) > .is-layout-flow.wp-block-group__inner-container > .block-list-appender:only-child .block-editor-inserter {
667
667
  visibility: hidden;
668
668
  }
669
- .is-layout-constrained.block-editor-block-list__block:not(.is-selected) > .block-list-appender:only-child.is-drag-over::after, .is-layout-flow.block-editor-block-list__block:not(.is-selected) > .block-list-appender:only-child.is-drag-over::after, .is-layout-constrained.block-editor-block-list__block:not(.is-selected) > .wp-block-group__inner-container > .block-list-appender:only-child.is-drag-over::after, .is-layout-flow.block-editor-block-list__block:not(.is-selected) > .wp-block-group__inner-container > .block-list-appender:only-child.is-drag-over::after {
669
+ .is-layout-constrained.block-editor-block-list__block:not(.is-selected) > .block-list-appender:only-child.is-drag-over::after, .is-layout-flow.block-editor-block-list__block:not(.is-selected) > .block-list-appender:only-child.is-drag-over::after, .block-editor-block-list__block:not(.is-selected) > .is-layout-constrained.wp-block-group__inner-container > .block-list-appender:only-child.is-drag-over::after, .block-editor-block-list__block:not(.is-selected) > .is-layout-flow.wp-block-group__inner-container > .block-list-appender:only-child.is-drag-over::after {
670
670
  border: none;
671
671
  }
672
- .is-layout-constrained.block-editor-block-list__block:not(.is-selected) > .block-list-appender:only-child.is-drag-over .block-editor-inserter, .is-layout-flow.block-editor-block-list__block:not(.is-selected) > .block-list-appender:only-child.is-drag-over .block-editor-inserter, .is-layout-constrained.block-editor-block-list__block:not(.is-selected) > .wp-block-group__inner-container > .block-list-appender:only-child.is-drag-over .block-editor-inserter, .is-layout-flow.block-editor-block-list__block:not(.is-selected) > .wp-block-group__inner-container > .block-list-appender:only-child.is-drag-over .block-editor-inserter {
672
+ .is-layout-constrained.block-editor-block-list__block:not(.is-selected) > .block-list-appender:only-child.is-drag-over .block-editor-inserter, .is-layout-flow.block-editor-block-list__block:not(.is-selected) > .block-list-appender:only-child.is-drag-over .block-editor-inserter, .block-editor-block-list__block:not(.is-selected) > .is-layout-constrained.wp-block-group__inner-container > .block-list-appender:only-child.is-drag-over .block-editor-inserter, .block-editor-block-list__block:not(.is-selected) > .is-layout-flow.wp-block-group__inner-container > .block-list-appender:only-child.is-drag-over .block-editor-inserter {
673
673
  visibility: visible;
674
674
  }
675
675
  .block-editor-block-list__block:not(.is-selected) > .block-editor-block-list__block > .block-list-appender:only-child::after {
@@ -860,6 +860,8 @@
860
860
 
861
861
  .block-editor-block-patterns-list__item {
862
862
  height: 100%;
863
+ scroll-margin-top: 24px;
864
+ scroll-margin-bottom: 56px;
863
865
  }
864
866
  .block-editor-block-patterns-list__item .block-editor-block-preview__container {
865
867
  display: flex;
@@ -999,6 +1001,10 @@
999
1001
  z-index: 1;
1000
1002
  }
1001
1003
 
1004
+ .block-editor-block-rename-modal {
1005
+ z-index: 1000001;
1006
+ }
1007
+
1002
1008
  .block-editor-block-settings-menu__popover .components-dropdown-menu__menu {
1003
1009
  padding: 0;
1004
1010
  }
@@ -1276,6 +1282,9 @@
1276
1282
  .block-editor-block-pattern-setup.view-mode-grid .block-editor-block-pattern-setup__container div[role=button] {
1277
1283
  cursor: pointer;
1278
1284
  }
1285
+ .block-editor-block-pattern-setup.view-mode-grid .block-editor-block-pattern-setup__container .block-editor-block-pattern-setup-list__item {
1286
+ scroll-margin: 5px 0;
1287
+ }
1279
1288
  .block-editor-block-pattern-setup.view-mode-grid .block-editor-block-pattern-setup__container .block-editor-block-pattern-setup-list__item:hover .block-editor-block-preview__container {
1280
1289
  box-shadow: 0 0 0 2px var(--wp-admin-theme-color);
1281
1290
  }
@@ -1321,7 +1330,7 @@
1321
1330
  align-items: center;
1322
1331
  justify-content: space-between;
1323
1332
  border-top: 1px solid #ddd;
1324
- align-self: flex-end;
1333
+ align-self: stretch;
1325
1334
  }
1326
1335
  .block-editor-block-pattern-setup .block-editor-block-pattern-setup__toolbar .block-editor-block-pattern-setup__display-controls {
1327
1336
  display: flex;
@@ -3370,10 +3379,6 @@
3370
3379
  grid-column: span 1;
3371
3380
  }
3372
3381
 
3373
- .block-editor-block-rename-modal {
3374
- z-index: 1000001;
3375
- }
3376
-
3377
3382
  /**
3378
3383
  * Block Toolbar
3379
3384
  */
@@ -860,6 +860,8 @@
860
860
 
861
861
  .block-editor-block-patterns-list__item {
862
862
  height: 100%;
863
+ scroll-margin-top: 24px;
864
+ scroll-margin-bottom: 56px;
863
865
  }
864
866
  .block-editor-block-patterns-list__item .block-editor-block-preview__container {
865
867
  display: flex;
@@ -999,6 +1001,10 @@
999
1001
  z-index: 1;
1000
1002
  }
1001
1003
 
1004
+ .block-editor-block-rename-modal {
1005
+ z-index: 1000001;
1006
+ }
1007
+
1002
1008
  .block-editor-block-settings-menu__popover .components-dropdown-menu__menu {
1003
1009
  padding: 0;
1004
1010
  }
@@ -1276,6 +1282,9 @@
1276
1282
  .block-editor-block-pattern-setup.view-mode-grid .block-editor-block-pattern-setup__container div[role=button] {
1277
1283
  cursor: pointer;
1278
1284
  }
1285
+ .block-editor-block-pattern-setup.view-mode-grid .block-editor-block-pattern-setup__container .block-editor-block-pattern-setup-list__item {
1286
+ scroll-margin: 5px 0;
1287
+ }
1279
1288
  .block-editor-block-pattern-setup.view-mode-grid .block-editor-block-pattern-setup__container .block-editor-block-pattern-setup-list__item:hover .block-editor-block-preview__container {
1280
1289
  box-shadow: 0 0 0 2px var(--wp-admin-theme-color);
1281
1290
  }
@@ -1321,7 +1330,7 @@
1321
1330
  align-items: center;
1322
1331
  justify-content: space-between;
1323
1332
  border-top: 1px solid #ddd;
1324
- align-self: flex-end;
1333
+ align-self: stretch;
1325
1334
  }
1326
1335
  .block-editor-block-pattern-setup .block-editor-block-pattern-setup__toolbar .block-editor-block-pattern-setup__display-controls {
1327
1336
  display: flex;
@@ -3371,10 +3380,6 @@
3371
3380
  grid-column: span 1;
3372
3381
  }
3373
3382
 
3374
- .block-editor-block-rename-modal {
3375
- z-index: 1000001;
3376
- }
3377
-
3378
3383
  /**
3379
3384
  * Block Toolbar
3380
3385
  */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wordpress/block-editor",
3
- "version": "12.14.0",
3
+ "version": "12.15.0",
4
4
  "description": "Generic block editor.",
5
5
  "author": "The WordPress Contributors",
6
6
  "license": "GPL-2.0-or-later",
@@ -35,35 +35,35 @@
35
35
  "@emotion/react": "^11.7.1",
36
36
  "@emotion/styled": "^11.6.0",
37
37
  "@react-spring/web": "^9.4.5",
38
- "@wordpress/a11y": "^3.46.0",
39
- "@wordpress/api-fetch": "^6.43.0",
40
- "@wordpress/blob": "^3.46.0",
41
- "@wordpress/blocks": "^12.23.0",
42
- "@wordpress/commands": "^0.17.0",
43
- "@wordpress/components": "^25.12.0",
44
- "@wordpress/compose": "^6.23.0",
45
- "@wordpress/data": "^9.16.0",
46
- "@wordpress/date": "^4.46.0",
47
- "@wordpress/deprecated": "^3.46.0",
48
- "@wordpress/dom": "^3.46.0",
49
- "@wordpress/element": "^5.23.0",
50
- "@wordpress/escape-html": "^2.46.0",
51
- "@wordpress/hooks": "^3.46.0",
52
- "@wordpress/html-entities": "^3.46.0",
53
- "@wordpress/i18n": "^4.46.0",
54
- "@wordpress/icons": "^9.37.0",
55
- "@wordpress/is-shallow-equal": "^4.46.0",
56
- "@wordpress/keyboard-shortcuts": "^4.23.0",
57
- "@wordpress/keycodes": "^3.46.0",
58
- "@wordpress/notices": "^4.14.0",
59
- "@wordpress/preferences": "^3.23.0",
60
- "@wordpress/private-apis": "^0.28.0",
61
- "@wordpress/rich-text": "^6.23.0",
62
- "@wordpress/style-engine": "^1.29.0",
63
- "@wordpress/token-list": "^2.46.0",
64
- "@wordpress/url": "^3.47.0",
65
- "@wordpress/warning": "^2.46.0",
66
- "@wordpress/wordcount": "^3.46.0",
38
+ "@wordpress/a11y": "^3.47.0",
39
+ "@wordpress/api-fetch": "^6.44.0",
40
+ "@wordpress/blob": "^3.47.0",
41
+ "@wordpress/blocks": "^12.24.0",
42
+ "@wordpress/commands": "^0.18.0",
43
+ "@wordpress/components": "^25.13.0",
44
+ "@wordpress/compose": "^6.24.0",
45
+ "@wordpress/data": "^9.17.0",
46
+ "@wordpress/date": "^4.47.0",
47
+ "@wordpress/deprecated": "^3.47.0",
48
+ "@wordpress/dom": "^3.47.0",
49
+ "@wordpress/element": "^5.24.0",
50
+ "@wordpress/escape-html": "^2.47.0",
51
+ "@wordpress/hooks": "^3.47.0",
52
+ "@wordpress/html-entities": "^3.47.0",
53
+ "@wordpress/i18n": "^4.47.0",
54
+ "@wordpress/icons": "^9.38.0",
55
+ "@wordpress/is-shallow-equal": "^4.47.0",
56
+ "@wordpress/keyboard-shortcuts": "^4.24.0",
57
+ "@wordpress/keycodes": "^3.47.0",
58
+ "@wordpress/notices": "^4.15.0",
59
+ "@wordpress/preferences": "^3.24.0",
60
+ "@wordpress/private-apis": "^0.29.0",
61
+ "@wordpress/rich-text": "^6.24.0",
62
+ "@wordpress/style-engine": "^1.30.0",
63
+ "@wordpress/token-list": "^2.47.0",
64
+ "@wordpress/url": "^3.48.0",
65
+ "@wordpress/warning": "^2.47.0",
66
+ "@wordpress/wordcount": "^3.47.0",
67
67
  "change-case": "^4.1.2",
68
68
  "classnames": "^2.3.1",
69
69
  "colord": "^2.7.0",
@@ -87,5 +87,5 @@
87
87
  "publishConfig": {
88
88
  "access": "public"
89
89
  },
90
- "gitHead": "839018ff6029ba749780e288e08ff9cd898e50e8"
90
+ "gitHead": "d98dff8ea96f29cfea045bf964269f46f040d539"
91
91
  }
@@ -605,6 +605,8 @@ const applyWithDispatch = withDispatch( ( dispatch, ownProps, registry ) => {
605
605
  }
606
606
 
607
607
  moveFirstItemUp( rootClientId );
608
+ } else {
609
+ removeBlock( clientId );
608
610
  }
609
611
  }
610
612
  },
@@ -74,7 +74,7 @@ export default function BlockParentSelector() {
74
74
  onClick={ () => selectBlock( firstParentClientId ) }
75
75
  label={ sprintf(
76
76
  /* translators: %s: Name of the block's parent. */
77
- __( 'Select %s' ),
77
+ __( 'Select parent block: %s' ),
78
78
  blockInformation?.title
79
79
  ) }
80
80
  showTooltip
@@ -5,9 +5,7 @@ import { useDispatch } from '@wordpress/data';
5
5
  import { cloneBlock } from '@wordpress/blocks';
6
6
  import {
7
7
  VisuallyHidden,
8
- __unstableComposite as Composite,
9
- __unstableUseCompositeState as useCompositeState,
10
- __unstableCompositeItem as CompositeItem,
8
+ privateApis as componentsPrivateApis,
11
9
  } from '@wordpress/components';
12
10
 
13
11
  import { useState } from '@wordpress/element';
@@ -22,6 +20,13 @@ import BlockPreview from '../block-preview';
22
20
  import SetupToolbar from './setup-toolbar';
23
21
  import usePatternsSetup from './use-patterns-setup';
24
22
  import { VIEWMODES } from './constants';
23
+ import { unlock } from '../../lock-unlock';
24
+
25
+ const {
26
+ CompositeV2: Composite,
27
+ CompositeItemV2: CompositeItem,
28
+ useCompositeStoreV2: useCompositeStore,
29
+ } = unlock( componentsPrivateApis );
25
30
 
26
31
  const SetupContent = ( {
27
32
  viewMode,
@@ -30,8 +35,9 @@ const SetupContent = ( {
30
35
  onBlockPatternSelect,
31
36
  showTitles,
32
37
  } ) => {
33
- const composite = useCompositeState();
38
+ const compositeStore = useCompositeStore();
34
39
  const containerClass = 'block-editor-block-pattern-setup__container';
40
+
35
41
  if ( viewMode === VIEWMODES.carousel ) {
36
42
  const slideClass = new Map( [
37
43
  [ activeSlide, 'active-slide' ],
@@ -41,23 +47,25 @@ const SetupContent = ( {
41
47
  return (
42
48
  <div className="block-editor-block-pattern-setup__carousel">
43
49
  <div className={ containerClass }>
44
- <ul className="carousel-container">
50
+ <div className="carousel-container">
45
51
  { patterns.map( ( pattern, index ) => (
46
52
  <BlockPatternSlide
53
+ active={ index === activeSlide }
47
54
  className={ slideClass.get( index ) || '' }
48
55
  key={ pattern.name }
49
56
  pattern={ pattern }
50
57
  />
51
58
  ) ) }
52
- </ul>
59
+ </div>
53
60
  </div>
54
61
  </div>
55
62
  );
56
63
  }
64
+
57
65
  return (
58
66
  <div className="block-editor-block-pattern-setup__grid">
59
67
  <Composite
60
- { ...composite }
68
+ store={ compositeStore }
61
69
  role="listbox"
62
70
  className={ containerClass }
63
71
  aria-label={ __( 'Patterns list' ) }
@@ -67,7 +75,6 @@ const SetupContent = ( {
67
75
  key={ pattern.name }
68
76
  pattern={ pattern }
69
77
  onSelect={ onBlockPatternSelect }
70
- composite={ composite }
71
78
  showTitles={ showTitles }
72
79
  />
73
80
  ) ) }
@@ -76,7 +83,7 @@ const SetupContent = ( {
76
83
  );
77
84
  };
78
85
 
79
- function BlockPattern( { pattern, onSelect, composite, showTitles } ) {
86
+ function BlockPattern( { pattern, onSelect, showTitles } ) {
80
87
  const baseClassName = 'block-editor-block-pattern-setup-list';
81
88
  const { blocks, description, viewportWidth = 700 } = pattern;
82
89
  const descriptionId = useInstanceId(
@@ -84,16 +91,19 @@ function BlockPattern( { pattern, onSelect, composite, showTitles } ) {
84
91
  `${ baseClassName }__item-description`
85
92
  );
86
93
  return (
87
- <div
88
- className={ `${ baseClassName }__list-item` }
89
- aria-label={ pattern.title }
90
- aria-describedby={ pattern.description ? descriptionId : undefined }
91
- >
94
+ <div className={ `${ baseClassName }__list-item` }>
92
95
  <CompositeItem
96
+ render={
97
+ <div
98
+ aria-describedby={
99
+ description ? descriptionId : undefined
100
+ }
101
+ aria-label={ pattern.title }
102
+ className={ `${ baseClassName }__item` }
103
+ />
104
+ }
105
+ id={ `${ baseClassName }__pattern__${ pattern.name }` }
93
106
  role="option"
94
- as="div"
95
- { ...composite }
96
- className={ `${ baseClassName }__item` }
97
107
  onClick={ () => onSelect( blocks ) }
98
108
  >
99
109
  <BlockPreview
@@ -115,14 +125,16 @@ function BlockPattern( { pattern, onSelect, composite, showTitles } ) {
115
125
  );
116
126
  }
117
127
 
118
- function BlockPatternSlide( { className, pattern, minHeight } ) {
128
+ function BlockPatternSlide( { active, className, pattern, minHeight } ) {
119
129
  const { blocks, title, description } = pattern;
120
130
  const descriptionId = useInstanceId(
121
131
  BlockPatternSlide,
122
132
  'block-editor-block-pattern-setup-list__item-description'
123
133
  );
124
134
  return (
125
- <li
135
+ <div
136
+ aria-hidden={ ! active }
137
+ role="img"
126
138
  className={ `pattern-slide ${ className }` }
127
139
  aria-label={ title }
128
140
  aria-describedby={ description ? descriptionId : undefined }
@@ -133,7 +145,7 @@ function BlockPatternSlide( { className, pattern, minHeight } ) {
133
145
  { description }
134
146
  </VisuallyHidden>
135
147
  ) }
136
- </li>
148
+ </div>
137
149
  );
138
150
  }
139
151
 
@@ -178,10 +190,14 @@ const BlockPatternSetup = ( {
178
190
  activeSlide={ activeSlide }
179
191
  totalSlides={ patterns.length }
180
192
  handleNext={ () => {
181
- setActiveSlide( ( active ) => active + 1 );
193
+ setActiveSlide( ( active ) =>
194
+ Math.min( active + 1, patterns.length - 1 )
195
+ );
182
196
  } }
183
197
  handlePrevious={ () => {
184
- setActiveSlide( ( active ) => active - 1 );
198
+ setActiveSlide( ( active ) =>
199
+ Math.max( active - 1, 0 )
200
+ );
185
201
  } }
186
202
  onBlockPatternSelect={ () => {
187
203
  onPatternSelectCallback(
@@ -35,12 +35,14 @@ const CarouselNavigation = ( {
35
35
  label={ __( 'Previous pattern' ) }
36
36
  onClick={ handlePrevious }
37
37
  disabled={ activeSlide === 0 }
38
+ __experimentalIsFocusable
38
39
  />
39
40
  <Button
40
41
  icon={ chevronRight }
41
42
  label={ __( 'Next pattern' ) }
42
43
  onClick={ handleNext }
43
44
  disabled={ activeSlide === totalSlides - 1 }
45
+ __experimentalIsFocusable
44
46
  />
45
47
  </div>
46
48
  );
@@ -32,6 +32,8 @@
32
32
  }
33
33
 
34
34
  .block-editor-block-pattern-setup-list__item {
35
+ scroll-margin: 5px 0;
36
+
35
37
  &:hover .block-editor-block-preview__container {
36
38
  box-shadow: 0 0 0 2px var(--wp-admin-theme-color);
37
39
  }
@@ -44,6 +46,7 @@
44
46
  color: var(--wp-admin-theme-color);
45
47
  }
46
48
  }
49
+
47
50
  .block-editor-block-pattern-setup-list__list-item {
48
51
  break-inside: avoid-column;
49
52
  margin-bottom: $grid-unit-30;
@@ -85,7 +88,7 @@
85
88
  align-items: center;
86
89
  justify-content: space-between;
87
90
  border-top: 1px solid $gray-300;
88
- align-self: flex-end;
91
+ align-self: stretch;
89
92
 
90
93
  .block-editor-block-pattern-setup__display-controls {
91
94
  display: flex;
@@ -1,6 +1,6 @@
1
1
  # Block Patterns List
2
2
 
3
- The `BlockPatternList` component makes a list of the different registered block patterns. It uses the `BlockPreview` component to display a preview for each block pattern.
3
+ The `BlockPatternsList` component makes a list of the different registered block patterns. It uses the `BlockPreview` component to display a preview for each block pattern.
4
4
 
5
5
  For more infos about blocks patterns, read [this](https://make.wordpress.org/core/2020/07/16/block-patterns-in-wordpress-5-5/).
6
6
 
@@ -18,10 +18,10 @@ For more infos about blocks patterns, read [this](https://make.wordpress.org/cor
18
18
  Renders a block patterns list.
19
19
 
20
20
  ```jsx
21
- import { BlockPatternList } from '@wordpress/block-editor';
21
+ import { BlockPatternsList } from '@wordpress/block-editor';
22
22
 
23
- const MyBlockPatternList = () => (
24
- <BlockPatternList
23
+ const MyBlockPatternsList = () => (
24
+ <BlockPatternsList
25
25
  blockPatterns={ shownBlockPatterns }
26
26
  shownPatterns={ shownBlockPatterns }
27
27
  onClickPattern={ onSelectBlockPattern }