@wordpress/block-library 9.28.1-next.0f6f9d12c.0 → 9.29.1-next.e256d081a.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 (210) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/build/{accordions → accordion}/edit.js +1 -1
  3. package/build/accordion/edit.js.map +1 -0
  4. package/build/accordion/icon.js +33 -0
  5. package/build/accordion/icon.js.map +1 -0
  6. package/build/{accordions → accordion}/index.js +7 -10
  7. package/build/accordion/index.js.map +1 -0
  8. package/build/accordion/init.js.map +1 -0
  9. package/build/accordion/save.js.map +1 -0
  10. package/build/accordion/view.js.map +1 -0
  11. package/build/accordion-content/edit.js.map +1 -0
  12. package/build/accordion-content/icon.js +35 -0
  13. package/build/accordion-content/icon.js.map +1 -0
  14. package/build/accordion-content/icons.js.map +1 -0
  15. package/build/{accordion-item → accordion-content}/index.js +6 -9
  16. package/build/accordion-content/index.js.map +1 -0
  17. package/build/accordion-content/init.js.map +1 -0
  18. package/build/accordion-content/save.js.map +1 -0
  19. package/build/accordion-header/edit.js +4 -4
  20. package/build/accordion-header/edit.js.map +1 -1
  21. package/build/accordion-header/icon.js +25 -0
  22. package/build/accordion-header/icon.js.map +1 -0
  23. package/build/accordion-header/index.js +4 -7
  24. package/build/accordion-header/index.js.map +1 -1
  25. package/build/accordion-header/save.js +4 -4
  26. package/build/accordion-header/save.js.map +1 -1
  27. package/build/accordion-panel/icon.js +22 -0
  28. package/build/accordion-panel/icon.js.map +1 -0
  29. package/build/accordion-panel/index.js +4 -7
  30. package/build/accordion-panel/index.js.map +1 -1
  31. package/build/audio/edit.js +3 -1
  32. package/build/audio/edit.js.map +1 -1
  33. package/build/form/deprecated.js +97 -0
  34. package/build/form/deprecated.js.map +1 -0
  35. package/build/form/index.js +2 -1
  36. package/build/form/index.js.map +1 -1
  37. package/build/form/save.js +0 -1
  38. package/build/form/save.js.map +1 -1
  39. package/build/gallery/edit.js +9 -3
  40. package/build/gallery/edit.js.map +1 -1
  41. package/build/image/edit.js +0 -5
  42. package/build/image/edit.js.map +1 -1
  43. package/build/image/image.js +1 -1
  44. package/build/image/image.js.map +1 -1
  45. package/build/index.js +4 -4
  46. package/build/index.js.map +1 -1
  47. package/build/post-comments-link/edit.js +6 -1
  48. package/build/post-comments-link/edit.js.map +1 -1
  49. package/build/query/edit/index.js.map +1 -1
  50. package/build/query/edit/query-content.js +7 -6
  51. package/build/query/edit/query-content.js.map +1 -1
  52. package/build/query/edit/query-placeholder.js +30 -9
  53. package/build/query/edit/query-placeholder.js.map +1 -1
  54. package/build/query/edit/query-toolbar.js +4 -2
  55. package/build/query/edit/query-toolbar.js.map +1 -1
  56. package/build/template-part/edit/placeholder.js +2 -1
  57. package/build/template-part/edit/placeholder.js.map +1 -1
  58. package/build/video/edit-common-settings.js +6 -3
  59. package/build/video/edit-common-settings.js.map +1 -1
  60. package/build/video/edit.js +3 -1
  61. package/build/video/edit.js.map +1 -1
  62. package/build-module/{accordions → accordion}/edit.js +1 -1
  63. package/build-module/accordion/edit.js.map +1 -0
  64. package/build-module/accordion/icon.js +27 -0
  65. package/build-module/accordion/icon.js.map +1 -0
  66. package/build-module/{accordions → accordion}/index.js +7 -10
  67. package/build-module/accordion/index.js.map +1 -0
  68. package/build-module/accordion/init.js.map +1 -0
  69. package/build-module/accordion/save.js.map +1 -0
  70. package/build-module/accordion/view.js.map +1 -0
  71. package/build-module/accordion-content/edit.js.map +1 -0
  72. package/build-module/accordion-content/icon.js +29 -0
  73. package/build-module/accordion-content/icon.js.map +1 -0
  74. package/build-module/accordion-content/icons.js.map +1 -0
  75. package/build-module/{accordion-item → accordion-content}/index.js +6 -9
  76. package/build-module/accordion-content/index.js.map +1 -0
  77. package/build-module/accordion-content/init.js.map +1 -0
  78. package/build-module/accordion-content/save.js.map +1 -0
  79. package/build-module/accordion-header/edit.js +4 -4
  80. package/build-module/accordion-header/edit.js.map +1 -1
  81. package/build-module/accordion-header/icon.js +19 -0
  82. package/build-module/accordion-header/icon.js.map +1 -0
  83. package/build-module/accordion-header/index.js +4 -7
  84. package/build-module/accordion-header/index.js.map +1 -1
  85. package/build-module/accordion-header/save.js +4 -4
  86. package/build-module/accordion-header/save.js.map +1 -1
  87. package/build-module/accordion-panel/icon.js +16 -0
  88. package/build-module/accordion-panel/icon.js.map +1 -0
  89. package/build-module/accordion-panel/index.js +4 -7
  90. package/build-module/accordion-panel/index.js.map +1 -1
  91. package/build-module/audio/edit.js +4 -2
  92. package/build-module/audio/edit.js.map +1 -1
  93. package/build-module/form/deprecated.js +90 -0
  94. package/build-module/form/deprecated.js.map +1 -0
  95. package/build-module/form/index.js +2 -1
  96. package/build-module/form/index.js.map +1 -1
  97. package/build-module/form/save.js +0 -1
  98. package/build-module/form/save.js.map +1 -1
  99. package/build-module/gallery/edit.js +9 -3
  100. package/build-module/gallery/edit.js.map +1 -1
  101. package/build-module/image/edit.js +0 -5
  102. package/build-module/image/edit.js.map +1 -1
  103. package/build-module/image/image.js +1 -1
  104. package/build-module/image/image.js.map +1 -1
  105. package/build-module/index.js +4 -4
  106. package/build-module/index.js.map +1 -1
  107. package/build-module/post-comments-link/edit.js +6 -1
  108. package/build-module/post-comments-link/edit.js.map +1 -1
  109. package/build-module/query/edit/index.js.map +1 -1
  110. package/build-module/query/edit/query-content.js +8 -7
  111. package/build-module/query/edit/query-content.js.map +1 -1
  112. package/build-module/query/edit/query-placeholder.js +30 -10
  113. package/build-module/query/edit/query-placeholder.js.map +1 -1
  114. package/build-module/query/edit/query-toolbar.js +4 -2
  115. package/build-module/query/edit/query-toolbar.js.map +1 -1
  116. package/build-module/template-part/edit/placeholder.js +2 -1
  117. package/build-module/template-part/edit/placeholder.js.map +1 -1
  118. package/build-module/video/edit-common-settings.js +6 -3
  119. package/build-module/video/edit-common-settings.js.map +1 -1
  120. package/build-module/video/edit.js +4 -2
  121. package/build-module/video/edit.js.map +1 -1
  122. package/build-style/{accordions → accordion}/style-rtl.css +13 -13
  123. package/build-style/{accordions → accordion}/style.css +13 -13
  124. package/build-style/editor-rtl.css +4 -0
  125. package/build-style/editor.css +4 -0
  126. package/build-style/query/editor-rtl.css +4 -0
  127. package/build-style/query/editor.css +4 -0
  128. package/build-style/style-rtl.css +13 -13
  129. package/build-style/style.css +13 -13
  130. package/package.json +36 -36
  131. package/src/{accordions → accordion}/block.json +5 -5
  132. package/src/{accordions → accordion}/edit.js +1 -1
  133. package/src/accordion/icon.js +23 -0
  134. package/src/{accordion-item → accordion}/index.js +2 -5
  135. package/src/{accordions → accordion}/index.php +12 -12
  136. package/src/{accordions → accordion}/style.scss +13 -13
  137. package/src/{accordion-item → accordion-content}/block.json +4 -4
  138. package/src/accordion-content/icon.js +28 -0
  139. package/src/{accordions → accordion-content}/index.js +2 -5
  140. package/src/{accordion-item → accordion-content}/index.php +10 -10
  141. package/src/accordion-header/block.json +2 -2
  142. package/src/accordion-header/edit.js +9 -6
  143. package/src/accordion-header/icon.js +16 -0
  144. package/src/accordion-header/index.js +2 -5
  145. package/src/accordion-header/save.js +4 -4
  146. package/src/accordion-panel/block.json +2 -2
  147. package/src/accordion-panel/icon.js +15 -0
  148. package/src/accordion-panel/index.js +2 -5
  149. package/src/audio/edit.js +6 -1
  150. package/src/form/block.json +0 -1
  151. package/src/form/deprecated.js +96 -0
  152. package/src/form/index.js +2 -0
  153. package/src/form/save.js +0 -1
  154. package/src/gallery/edit.js +9 -3
  155. package/src/image/edit.js +0 -6
  156. package/src/image/image.js +2 -1
  157. package/src/index.js +4 -4
  158. package/src/navigation/edit/test/navigation-menu-selector.js +2 -2
  159. package/src/post-comments-link/edit.js +7 -1
  160. package/src/query/edit/index.js +1 -0
  161. package/src/query/edit/query-content.js +8 -4
  162. package/src/query/edit/query-placeholder.js +47 -17
  163. package/src/query/edit/query-toolbar.js +10 -2
  164. package/src/query/editor.scss +6 -1
  165. package/src/social-link/README.md +4 -1
  166. package/src/style.scss +1 -1
  167. package/src/template-part/edit/placeholder.js +2 -1
  168. package/src/video/edit-common-settings.js +14 -5
  169. package/src/video/edit.js +6 -1
  170. package/build/accordion-item/edit.js.map +0 -1
  171. package/build/accordion-item/icons.js.map +0 -1
  172. package/build/accordion-item/index.js.map +0 -1
  173. package/build/accordion-item/init.js.map +0 -1
  174. package/build/accordion-item/save.js.map +0 -1
  175. package/build/accordions/edit.js.map +0 -1
  176. package/build/accordions/index.js.map +0 -1
  177. package/build/accordions/init.js.map +0 -1
  178. package/build/accordions/save.js.map +0 -1
  179. package/build/accordions/view.js.map +0 -1
  180. package/build-module/accordion-item/edit.js.map +0 -1
  181. package/build-module/accordion-item/icons.js.map +0 -1
  182. package/build-module/accordion-item/index.js.map +0 -1
  183. package/build-module/accordion-item/init.js.map +0 -1
  184. package/build-module/accordion-item/save.js.map +0 -1
  185. package/build-module/accordions/edit.js.map +0 -1
  186. package/build-module/accordions/index.js.map +0 -1
  187. package/build-module/accordions/init.js.map +0 -1
  188. package/build-module/accordions/save.js.map +0 -1
  189. package/build-module/accordions/view.js.map +0 -1
  190. /package/build/{accordions → accordion}/init.js +0 -0
  191. /package/build/{accordions → accordion}/save.js +0 -0
  192. /package/build/{accordions → accordion}/view.js +0 -0
  193. /package/build/{accordion-item → accordion-content}/edit.js +0 -0
  194. /package/build/{accordion-item → accordion-content}/icons.js +0 -0
  195. /package/build/{accordion-item → accordion-content}/init.js +0 -0
  196. /package/build/{accordion-item → accordion-content}/save.js +0 -0
  197. /package/build-module/{accordions → accordion}/init.js +0 -0
  198. /package/build-module/{accordions → accordion}/save.js +0 -0
  199. /package/build-module/{accordions → accordion}/view.js +0 -0
  200. /package/build-module/{accordion-item → accordion-content}/edit.js +0 -0
  201. /package/build-module/{accordion-item → accordion-content}/icons.js +0 -0
  202. /package/build-module/{accordion-item → accordion-content}/init.js +0 -0
  203. /package/build-module/{accordion-item → accordion-content}/save.js +0 -0
  204. /package/src/{accordions → accordion}/init.js +0 -0
  205. /package/src/{accordions → accordion}/save.js +0 -0
  206. /package/src/{accordions → accordion}/view.js +0 -0
  207. /package/src/{accordion-item → accordion-content}/edit.js +0 -0
  208. /package/src/{accordion-item → accordion-content}/icons.js +0 -0
  209. /package/src/{accordion-item → accordion-content}/init.js +0 -0
  210. /package/src/{accordion-item → accordion-content}/save.js +0 -0
@@ -0,0 +1,28 @@
1
+ /**
2
+ * WordPress dependencies
3
+ */
4
+ import { SVG, Path } from '@wordpress/primitives';
5
+
6
+ export default (
7
+ <SVG xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
8
+ <Path
9
+ fillRule="evenodd"
10
+ clipRule="evenodd"
11
+ d="M19.5 9.5L9.5 9.5L9.5 8L19.5 8L19.5 9.5Z"
12
+ fill="currentColor"
13
+ />
14
+ <Path
15
+ fillRule="evenodd"
16
+ clipRule="evenodd"
17
+ d="M19.5 13L9.5 13L9.5 11.5L19.5 11.5L19.5 13Z"
18
+ fill="currentColor"
19
+ />
20
+ <Path
21
+ fillRule="evenodd"
22
+ clipRule="evenodd"
23
+ d="M19.5 16.3999L9.5 16.3999L9.5 14.8999L19.5 14.8999L19.5 16.3999Z"
24
+ fill="currentColor"
25
+ />
26
+ <Path d="M4.5 6.25L8.5 8.75L4.5 11.25L4.5 6.25Z" fill="currentColor" />
27
+ </SVG>
28
+ );
@@ -1,7 +1,3 @@
1
- /**
2
- * WordPress dependencies
3
- */
4
- import { accordion } from '@wordpress/icons';
5
1
  /**
6
2
  * Internal dependencies
7
3
  */
@@ -9,13 +5,14 @@ import edit from './edit';
9
5
  import save from './save';
10
6
  import metadata from './block.json';
11
7
  import initBlock from '../utils/init-block';
8
+ import icon from './icon';
12
9
 
13
10
  const { name } = metadata;
14
11
 
15
12
  export { metadata, name };
16
13
 
17
14
  export const settings = {
18
- icon: accordion,
15
+ icon,
19
16
  example: {},
20
17
  edit,
21
18
  save,
@@ -1,7 +1,7 @@
1
1
  <?php
2
2
 
3
3
  /**
4
- * Server-side rendering of the `core/accordion-item` block.
4
+ * Server-side rendering of the `core/accordion-content` block.
5
5
  *
6
6
  * @package WordPress
7
7
  * @since 6.6.0
@@ -11,13 +11,13 @@
11
11
  *
12
12
  * @return string Returns the updated markup.
13
13
  */
14
- function block_core_accordion_item_render( $attributes, $content ) {
14
+ function block_core_accordion_content_render( $attributes, $content ) {
15
15
  if ( ! $content ) {
16
16
  return $content;
17
17
  }
18
18
 
19
19
  $p = new WP_HTML_Tag_Processor( $content );
20
- $unique_id = wp_unique_id( 'accordion-item-' );
20
+ $unique_id = wp_unique_id( 'accordion-content-' );
21
21
 
22
22
  // Initialize the state of the item on the server using a closure,
23
23
  // since we need to get derived state based on the current context.
@@ -31,13 +31,13 @@ function block_core_accordion_item_render( $attributes, $content ) {
31
31
  )
32
32
  );
33
33
 
34
- if ( $p->next_tag( array( 'class_name' => 'wp-block-accordion-item' ) ) ) {
34
+ if ( $p->next_tag( array( 'class_name' => 'wp-block-accordion-content' ) ) ) {
35
35
  $open_by_default = $attributes['openByDefault'] ? 'true' : 'false';
36
36
  $p->set_attribute( 'data-wp-context', '{ "id": "' . $unique_id . '", "openByDefault": ' . $open_by_default . ' }' );
37
37
  $p->set_attribute( 'data-wp-class--is-open', 'state.isOpen' );
38
38
  $p->set_attribute( 'data-wp-init', 'callbacks.initIsOpen' );
39
39
 
40
- if ( $p->next_tag( array( 'class_name' => 'accordion-item__toggle' ) ) ) {
40
+ if ( $p->next_tag( array( 'class_name' => 'accordion-content__toggle' ) ) ) {
41
41
  $p->set_attribute( 'data-wp-on--click', 'actions.toggle' );
42
42
  $p->set_attribute( 'id', $unique_id );
43
43
  $p->set_attribute( 'aria-controls', $unique_id . '-panel' );
@@ -58,16 +58,16 @@ function block_core_accordion_item_render( $attributes, $content ) {
58
58
  }
59
59
 
60
60
  /**
61
- * Registers the `core/accordion-item` block on server.
61
+ * Registers the `core/accordion-content` block on server.
62
62
  *
63
63
  * @since 6.6.0
64
64
  */
65
- function register_block_core_accordion_item() {
65
+ function register_block_core_accordion_content() {
66
66
  register_block_type_from_metadata(
67
- __DIR__ . '/accordion-item',
67
+ __DIR__ . '/accordion-content',
68
68
  array(
69
- 'render_callback' => 'block_core_accordion_item_render',
69
+ 'render_callback' => 'block_core_accordion_content_render',
70
70
  )
71
71
  );
72
72
  }
73
- add_action( 'init', 'register_block_core_accordion_item' );
73
+ add_action( 'init', 'register_block_core_accordion_content' );
@@ -5,10 +5,10 @@
5
5
  "version": "0.1.0",
6
6
  "title": "Accordion Header",
7
7
  "category": "design",
8
- "description": "Accordion header.",
8
+ "description": "Displays an accordion header.",
9
9
  "example": {},
10
10
  "__experimental": true,
11
- "parent": [ "core/accordion-item" ],
11
+ "parent": [ "core/accordion-content" ],
12
12
  "usesContext": [
13
13
  "core/accordion-icon-position",
14
14
  "core/accordion-show-icon"
@@ -21,7 +21,7 @@ import { ToolbarGroup } from '@wordpress/components';
21
21
  /**
22
22
  * Internal dependencies
23
23
  */
24
- import { plus } from '../accordion-item/icons';
24
+ import { plus } from '../accordion-content/icons';
25
25
 
26
26
  const ICONS = {
27
27
  plus,
@@ -73,7 +73,7 @@ export default function Edit( { attributes, setAttributes, context } ) {
73
73
  blockProps.className,
74
74
  colorProps.className,
75
75
  borderProps.className,
76
- 'accordion-item__heading',
76
+ 'accordion-content__heading',
77
77
  {
78
78
  [ `has-custom-font-size` ]: blockProps.style.fontSize,
79
79
  [ `icon-position-left` ]: iconPosition === 'left',
@@ -87,7 +87,7 @@ export default function Edit( { attributes, setAttributes, context } ) {
87
87
  } }
88
88
  >
89
89
  <button
90
- className={ clsx( 'accordion-item__toggle' ) }
90
+ className={ clsx( 'accordion-content__toggle' ) }
91
91
  style={ {
92
92
  ...spacingProps.style,
93
93
  } }
@@ -109,9 +109,12 @@ export default function Edit( { attributes, setAttributes, context } ) {
109
109
  />
110
110
  { shouldShowIcon && (
111
111
  <span
112
- className={ clsx( `accordion-item__toggle-icon`, {
113
- 'has-icon-plus': true,
114
- } ) }
112
+ className={ clsx(
113
+ `accordion-content__toggle-icon`,
114
+ {
115
+ 'has-icon-plus': true,
116
+ }
117
+ ) }
115
118
  style={ {
116
119
  // TO-DO: make this configurable
117
120
  width: `1.2em`,
@@ -0,0 +1,16 @@
1
+ /**
2
+ * WordPress dependencies
3
+ */
4
+ import { SVG, Path } from '@wordpress/primitives';
5
+
6
+ export default (
7
+ <SVG xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
8
+ <Path
9
+ fillRule="evenodd"
10
+ clipRule="evenodd"
11
+ d="M19.5 12.75L9.5 12.75L9.5 11.25L19.5 11.25L19.5 12.75Z"
12
+ fill="currentColor"
13
+ />
14
+ <Path d="M4.5 9.5L8.5 12L4.5 14.5L4.5 9.5Z" fill="currentColor" />
15
+ </SVG>
16
+ );
@@ -1,7 +1,3 @@
1
- /**
2
- * WordPress dependencies
3
- */
4
- import { accordionHeader } from '@wordpress/icons';
5
1
  /**
6
2
  * Internal dependencies
7
3
  */
@@ -9,13 +5,14 @@ import edit from './edit';
9
5
  import save from './save';
10
6
  import metadata from './block.json';
11
7
  import initBlock from '../utils/init-block';
8
+ import icon from './icon';
12
9
 
13
10
  const { name } = metadata;
14
11
 
15
12
  export { metadata, name };
16
13
 
17
14
  export const settings = {
18
- icon: accordionHeader,
15
+ icon,
19
16
  example: {},
20
17
  edit,
21
18
  save,
@@ -16,7 +16,7 @@ import {
16
16
  /**
17
17
  * Internal dependencies
18
18
  */
19
- import { plus } from '../accordion-item/icons';
19
+ import { plus } from '../accordion-content/icons';
20
20
 
21
21
  const ICONS = {
22
22
  plus,
@@ -41,7 +41,7 @@ export default function save( { attributes } ) {
41
41
  blockProps.className,
42
42
  colorProps.className,
43
43
  borderProps.className,
44
- 'accordion-item__heading',
44
+ 'accordion-content__heading',
45
45
  {
46
46
  [ `has-custom-font-size` ]: blockProps?.style?.fontSize,
47
47
  [ `icon-position-left` ]: iconPosition === 'left',
@@ -55,14 +55,14 @@ export default function save( { attributes } ) {
55
55
  } }
56
56
  >
57
57
  <button
58
- className={ clsx( 'accordion-item__toggle' ) }
58
+ className={ clsx( 'accordion-content__toggle' ) }
59
59
  style={ {
60
60
  ...spacingProps.style,
61
61
  } }
62
62
  >
63
63
  <RichText.Content tagName="span" value={ title } />
64
64
  <span
65
- className={ clsx( `accordion-item__toggle-icon`, {
65
+ className={ clsx( `accordion-content__toggle-icon`, {
66
66
  'has-icon-plus': showIcon,
67
67
  } ) }
68
68
  style={ {
@@ -5,10 +5,10 @@
5
5
  "version": "0.1.0",
6
6
  "title": "Accordion Panel",
7
7
  "category": "design",
8
- "description": "Accordion Panel",
8
+ "description": "Displays an accordion panel.",
9
9
  "example": {},
10
10
  "__experimental": true,
11
- "parent": [ "core/accordion-item" ],
11
+ "parent": [ "core/accordion-content" ],
12
12
  "supports": {
13
13
  "color": {
14
14
  "background": true,
@@ -0,0 +1,15 @@
1
+ /**
2
+ * WordPress dependencies
3
+ */
4
+ import { SVG, Path } from '@wordpress/primitives';
5
+
6
+ export default (
7
+ <SVG xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
8
+ <Path
9
+ fillRule="evenodd"
10
+ clipRule="evenodd"
11
+ d="M8.10417 6.00024H6.5C5.39543 6.00024 4.5 6.89567 4.5 8.00024V10.3336H6V8.00024C6 7.7241 6.22386 7.50024 6.5 7.50024H8.10417V6.00024ZM4.5 13.6669V16.0002C4.5 17.1048 5.39543 18.0002 6.5 18.0002H8.10417V16.5002H6.5C6.22386 16.5002 6 16.2764 6 16.0002V13.6669H4.5ZM10.3958 6.00024V7.50024H13.6042V6.00024H10.3958ZM15.8958 6.00024V7.50024H17.5C17.7761 7.50024 18 7.7241 18 8.00024V10.3336H19.5V8.00024C19.5 6.89567 18.6046 6.00024 17.5 6.00024H15.8958ZM19.5 13.6669H18V16.0002C18 16.2764 17.7761 16.5002 17.5 16.5002H15.8958V18.0002H17.5C18.6046 18.0002 19.5 17.1048 19.5 16.0002V13.6669ZM13.6042 18.0002V16.5002H10.3958V18.0002H13.6042Z"
12
+ fill="currentColor"
13
+ />
14
+ </SVG>
15
+ );
@@ -1,7 +1,3 @@
1
- /**
2
- * WordPress dependencies
3
- */
4
- import { accordionPanel } from '@wordpress/icons';
5
1
  /**
6
2
  * Internal dependencies
7
3
  */
@@ -9,13 +5,14 @@ import edit from './edit';
9
5
  import save from './save';
10
6
  import metadata from './block.json';
11
7
  import initBlock from '../utils/init-block';
8
+ import icon from './icon';
12
9
 
13
10
  const { name } = metadata;
14
11
 
15
12
  export { metadata, name };
16
13
 
17
14
  export const settings = {
18
- icon: accordionPanel,
15
+ icon,
19
16
  example: {},
20
17
  edit,
21
18
  save,
package/src/audio/edit.js CHANGED
@@ -22,6 +22,7 @@ import {
22
22
  MediaPlaceholder,
23
23
  MediaReplaceFlow,
24
24
  useBlockProps,
25
+ useBlockEditingMode,
25
26
  } from '@wordpress/block-editor';
26
27
  import { __, _x } from '@wordpress/i18n';
27
28
  import { useDispatch } from '@wordpress/data';
@@ -51,6 +52,8 @@ function AudioEdit( {
51
52
  } ) {
52
53
  const { id, autoplay, loop, preload, src } = attributes;
53
54
  const [ temporaryURL, setTemporaryURL ] = useState( attributes.blob );
55
+ const blockEditingMode = useBlockEditingMode();
56
+ const hasNonContentControls = blockEditingMode === 'default';
54
57
 
55
58
  useUploadMediaFromBlobURL( {
56
59
  url: temporaryURL,
@@ -264,7 +267,9 @@ function AudioEdit( {
264
267
  isSelected={ isSingleSelected }
265
268
  insertBlocksAfter={ insertBlocksAfter }
266
269
  label={ __( 'Audio caption text' ) }
267
- showToolbarButton={ isSingleSelected }
270
+ showToolbarButton={
271
+ isSingleSelected && hasNonContentControls
272
+ }
268
273
  />
269
274
  </figure>
270
275
  </>
@@ -36,7 +36,6 @@
36
36
  },
37
37
  "supports": {
38
38
  "anchor": true,
39
- "className": false,
40
39
  "color": {
41
40
  "gradients": true,
42
41
  "link": true,
@@ -0,0 +1,96 @@
1
+ /**
2
+ * WordPress dependencies
3
+ */
4
+ import {
5
+ InnerBlocks,
6
+ useBlockProps,
7
+ getTypographyClassesAndStyles,
8
+ __experimentalGetColorClassesAndStyles as getColorClassesAndStyles,
9
+ __experimentalGetSpacingClassesAndStyles as getSpacingClassesAndStyles,
10
+ } from '@wordpress/block-editor';
11
+
12
+ const v1 = {
13
+ // The block supports here are deliberately empty despite this
14
+ // deprecated version of the block having adopted block supports.
15
+ // The attributes added by these supports have been manually
16
+ // added to this deprecated version's attributes definition so
17
+ // that the data isn't lost on migration. All this is so that the
18
+ // automatic application of block support classes doesn't occur
19
+ // as this version of the block had a bug that overrode those
20
+ // classes. If those block support classes are applied during the
21
+ // deprecation process, this deprecation doesn't match and won't
22
+ // run.
23
+ // @see https://github.com/WordPress/gutenberg/pull/55755
24
+ supports: {},
25
+ attributes: {
26
+ submissionMethod: {
27
+ type: 'string',
28
+ default: 'email',
29
+ },
30
+ method: {
31
+ type: 'string',
32
+ default: 'post',
33
+ },
34
+ action: {
35
+ type: 'string',
36
+ },
37
+ email: {
38
+ type: 'string',
39
+ },
40
+ // The following attributes have been added to match the block
41
+ // supports at the time of the deprecation. See above for details.
42
+ anchor: {
43
+ type: 'string',
44
+ source: 'attribute',
45
+ attribute: 'id',
46
+ selector: '*',
47
+ },
48
+ backgroundColor: {
49
+ type: 'string',
50
+ },
51
+ textColor: {
52
+ type: 'string',
53
+ },
54
+ gradient: {
55
+ type: 'string',
56
+ },
57
+ style: {
58
+ type: 'object',
59
+ },
60
+ fontFamily: {
61
+ type: 'string',
62
+ },
63
+ fontSize: {
64
+ type: 'string',
65
+ },
66
+ },
67
+ save( { attributes } ) {
68
+ const { submissionMethod } = attributes;
69
+ const colorProps = getColorClassesAndStyles( attributes );
70
+ const typographyProps = getTypographyClassesAndStyles( attributes );
71
+ const spacingProps = getSpacingClassesAndStyles( attributes );
72
+ const blockProps = useBlockProps.save( {
73
+ // In this deprecated version, the block support is deliberately empty.
74
+ // As a result, the useBlockProps.save() does not output style or id attributes,
75
+ // so we apply them explicitly here.
76
+ style: {
77
+ ...colorProps.style,
78
+ ...typographyProps.style,
79
+ ...spacingProps.style,
80
+ },
81
+ id: attributes.anchor,
82
+ } );
83
+
84
+ return (
85
+ <form
86
+ { ...blockProps }
87
+ className="wp-block-form"
88
+ encType={ submissionMethod === 'email' ? 'text/plain' : null }
89
+ >
90
+ <InnerBlocks.Content />
91
+ </form>
92
+ );
93
+ },
94
+ };
95
+
96
+ export default [ v1 ];
package/src/form/index.js CHANGED
@@ -6,6 +6,7 @@ import edit from './edit';
6
6
  import metadata from './block.json';
7
7
  import save from './save';
8
8
  import variations from './variations';
9
+ import deprecated from './deprecated';
9
10
 
10
11
  /**
11
12
  * WordPress dependencies
@@ -19,6 +20,7 @@ export { metadata, name };
19
20
  export const settings = {
20
21
  edit,
21
22
  save,
23
+ deprecated,
22
24
  variations,
23
25
  example: {},
24
26
  };
package/src/form/save.js CHANGED
@@ -10,7 +10,6 @@ export default function save( { attributes } ) {
10
10
  return (
11
11
  <form
12
12
  { ...blockProps }
13
- className="wp-block-form"
14
13
  encType={ submissionMethod === 'email' ? 'text/plain' : null }
15
14
  >
16
15
  <InnerBlocks.Content />
@@ -392,7 +392,9 @@ export default function GalleryEdit( props ) {
392
392
  lightboxSetting
393
393
  );
394
394
  } );
395
- updateBlockAttributes( blocks, changedAttributes, true );
395
+ updateBlockAttributes( blocks, changedAttributes, {
396
+ uniqueByBlock: true,
397
+ } );
396
398
  const linkToText = [ ...linkOptions ].find(
397
399
  ( linkType ) => linkType.value === value
398
400
  );
@@ -434,7 +436,9 @@ export default function GalleryEdit( props ) {
434
436
  block.attributes
435
437
  );
436
438
  } );
437
- updateBlockAttributes( blocks, changedAttributes, true );
439
+ updateBlockAttributes( blocks, changedAttributes, {
440
+ uniqueByBlock: true,
441
+ } );
438
442
  const noticeText = openInNewTab
439
443
  ? __( 'All gallery images updated to open in new tab' )
440
444
  : __( 'All gallery images updated to not open in new tab' );
@@ -458,7 +462,9 @@ export default function GalleryEdit( props ) {
458
462
  newSizeSlug
459
463
  );
460
464
  } );
461
- updateBlockAttributes( blocks, changedAttributes, true );
465
+ updateBlockAttributes( blocks, changedAttributes, {
466
+ uniqueByBlock: true,
467
+ } );
462
468
  const imageSize = imageSizeOptions.find(
463
469
  ( size ) => size.value === newSizeSlug
464
470
  );
package/src/image/edit.js CHANGED
@@ -99,7 +99,6 @@ export function ImageEdit( {
99
99
  } ) {
100
100
  const {
101
101
  url = '',
102
- alt,
103
102
  caption,
104
103
  id,
105
104
  width,
@@ -127,11 +126,6 @@ export function ImageEdit( {
127
126
 
128
127
  const isSmallContainer = placeholderWidth && placeholderWidth < 160;
129
128
 
130
- const altRef = useRef();
131
- useEffect( () => {
132
- altRef.current = alt;
133
- }, [ alt ] );
134
-
135
129
  const captionRef = useRef();
136
130
  useEffect( () => {
137
131
  captionRef.current = caption;
@@ -706,7 +706,8 @@ export default function Image( {
706
706
  ! lockHrefControls &&
707
707
  ! lockUrlControls;
708
708
 
709
- const showCoverControls = isSingleSelected && canInsertCover;
709
+ const showCoverControls =
710
+ isSingleSelected && canInsertCover && ! isContentOnlyMode;
710
711
 
711
712
  const showBlockControls = showUrlInput || allowCrop || showCoverControls;
712
713
 
package/src/index.js CHANGED
@@ -20,8 +20,8 @@ import {
20
20
  // production build to make the final bundle smaller.
21
21
  //
22
22
  // See https://github.com/WordPress/gutenberg/pull/40655 for more context.
23
- import * as accordions from './accordions';
24
- import * as accordionItem from './accordion-item';
23
+ import * as accordion from './accordion';
24
+ import * as accordionContent from './accordion-content';
25
25
  import * as accordionHeader from './accordion-header';
26
26
  import * as accordionPanel from './accordion-panel';
27
27
  import * as archives from './archives';
@@ -240,8 +240,8 @@ const getAllBlocks = () => {
240
240
  ];
241
241
 
242
242
  if ( window?.__experimentalEnableBlockExperiments ) {
243
- blocks.push( accordions );
244
- blocks.push( accordionItem );
243
+ blocks.push( accordion );
244
+ blocks.push( accordionContent );
245
245
  blocks.push( accordionHeader );
246
246
  blocks.push( accordionPanel );
247
247
  }
@@ -295,7 +295,7 @@ describe( 'NavigationMenuSelector', () => {
295
295
  screen.queryByRole( 'menuitem', {
296
296
  name: 'Create new Menu',
297
297
  } )
298
- ).toBeDisabled();
298
+ ).toHaveAttribute( 'aria-disabled', 'true' );
299
299
 
300
300
  // once the menu is created
301
301
  // no more network activity to wait on
@@ -619,7 +619,7 @@ describe( 'NavigationMenuSelector', () => {
619
619
  // Check all menu items are present but disabled.
620
620
  screen.getAllByRole( 'menuitem' ).forEach( ( item ) => {
621
621
  // // Check all menu items are present but disabled.
622
- expect( item ).toBeDisabled();
622
+ expect( item ).toHaveAttribute( 'aria-disabled', 'true' );
623
623
  } );
624
624
 
625
625
  // once the menu is imported
@@ -60,7 +60,13 @@ function PostCommentsLinkEdit( { context, attributes, setAttributes } ) {
60
60
  );
61
61
 
62
62
  if ( ! post ) {
63
- return null;
63
+ return (
64
+ <div { ...blockProps }>
65
+ <Warning>
66
+ { __( 'Post Comments Link block: post not found.' ) }
67
+ </Warning>
68
+ </div>
69
+ );
64
70
  }
65
71
 
66
72
  const { link } = post;
@@ -22,6 +22,7 @@ const QueryEdit = ( props ) => {
22
22
  [ clientId ]
23
23
  );
24
24
  const Component = hasInnerBlocks ? QueryContent : QueryPlaceholder;
25
+
25
26
  return (
26
27
  <>
27
28
  <Component
@@ -5,12 +5,12 @@ import { useSelect, useDispatch } from '@wordpress/data';
5
5
  import { useInstanceId } from '@wordpress/compose';
6
6
  import { useEffect, useCallback } from '@wordpress/element';
7
7
  import {
8
- BlockControls,
9
8
  InspectorControls,
10
9
  useBlockProps,
11
10
  store as blockEditorStore,
12
11
  useInnerBlocksProps,
13
12
  privateApis as blockEditorPrivateApis,
13
+ BlockControls,
14
14
  } from '@wordpress/block-editor';
15
15
  import { __ } from '@wordpress/i18n';
16
16
  import { store as coreStore } from '@wordpress/core-data';
@@ -130,6 +130,13 @@ export default function QueryContent( {
130
130
 
131
131
  return (
132
132
  <>
133
+ <BlockControls>
134
+ <QueryToolbar
135
+ clientId={ clientId }
136
+ attributes={ attributes }
137
+ hasInnerBlocks
138
+ />
139
+ </BlockControls>
133
140
  <EnhancedPaginationModal
134
141
  attributes={ attributes }
135
142
  setAttributes={ setAttributes }
@@ -145,9 +152,6 @@ export default function QueryContent( {
145
152
  isSingular={ isSingular }
146
153
  />
147
154
  </InspectorControls>
148
- <BlockControls>
149
- <QueryToolbar attributes={ attributes } clientId={ clientId } />
150
- </BlockControls>
151
155
  <InspectorControls group="advanced">
152
156
  <HTMLElementControl
153
157
  tagName={ TagName }