@wordpress/block-library 8.25.1-next.79a6196f.0 → 8.27.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 (242) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/build/avatar/edit.js +2 -2
  3. package/build/avatar/edit.js.map +1 -1
  4. package/build/block/edit.js +75 -12
  5. package/build/block/edit.js.map +1 -1
  6. package/build/block/{v1/edit.native.js → edit.native.js} +4 -4
  7. package/build/block/edit.native.js.map +1 -0
  8. package/build/block/index.js +5 -3
  9. package/build/block/index.js.map +1 -1
  10. package/build/button/edit.js +24 -6
  11. package/build/button/edit.js.map +1 -1
  12. package/build/button/index.js +1 -0
  13. package/build/button/index.js.map +1 -1
  14. package/build/button/save.js +3 -1
  15. package/build/button/save.js.map +1 -1
  16. package/build/embed/edit.js +3 -2
  17. package/build/embed/edit.js.map +1 -1
  18. package/build/file/index.js +0 -1
  19. package/build/file/index.js.map +1 -1
  20. package/build/footnotes/edit.js +2 -1
  21. package/build/footnotes/edit.js.map +1 -1
  22. package/build/footnotes/format.js +17 -19
  23. package/build/footnotes/format.js.map +1 -1
  24. package/build/heading/edit.js +2 -1
  25. package/build/heading/edit.js.map +1 -1
  26. package/build/heading/edit.native.js +141 -0
  27. package/build/heading/edit.native.js.map +1 -0
  28. package/build/heading/index.js +1 -0
  29. package/build/heading/index.js.map +1 -1
  30. package/build/image/edit.js +8 -4
  31. package/build/image/edit.js.map +1 -1
  32. package/build/image/image.js +33 -7
  33. package/build/image/image.js.map +1 -1
  34. package/build/image/index.js +6 -3
  35. package/build/image/index.js.map +1 -1
  36. package/build/more/index.js +4 -0
  37. package/build/more/index.js.map +1 -1
  38. package/build/navigation/edit/index.js +2 -2
  39. package/build/navigation/edit/index.js.map +1 -1
  40. package/build/navigation/index.js +0 -1
  41. package/build/navigation/index.js.map +1 -1
  42. package/build/paragraph/edit.js +2 -1
  43. package/build/paragraph/edit.js.map +1 -1
  44. package/build/paragraph/index.js +1 -1
  45. package/build/paragraph/transforms.js +1 -1
  46. package/build/post-content/edit.js +2 -2
  47. package/build/post-content/edit.js.map +1 -1
  48. package/build/post-date/edit.js +1 -1
  49. package/build/post-date/edit.js.map +1 -1
  50. package/build/post-navigation-link/edit.js +43 -2
  51. package/build/post-navigation-link/edit.js.map +1 -1
  52. package/build/post-navigation-link/index.js +8 -0
  53. package/build/post-navigation-link/index.js.map +1 -1
  54. package/build/pullquote/index.js +4 -0
  55. package/build/pullquote/index.js.map +1 -1
  56. package/build/query/edit/inspector-controls/index.js +3 -3
  57. package/build/query/edit/inspector-controls/index.js.map +1 -1
  58. package/build/query/edit/query-content.js +2 -2
  59. package/build/query/edit/query-content.js.map +1 -1
  60. package/build/query/edit/query-placeholder.js +6 -7
  61. package/build/query/edit/query-placeholder.js.map +1 -1
  62. package/build/query/index.js +1 -2
  63. package/build/query/index.js.map +1 -1
  64. package/build/query/variations.js +8 -1
  65. package/build/query/variations.js.map +1 -1
  66. package/build/query/view.js +31 -12
  67. package/build/query/view.js.map +1 -1
  68. package/build/search/index.js +0 -1
  69. package/build/search/index.js.map +1 -1
  70. package/build/table-of-contents/hooks.js +2 -2
  71. package/build/table-of-contents/hooks.js.map +1 -1
  72. package/build/template-part/edit/advanced-controls.js +1 -4
  73. package/build/template-part/edit/advanced-controls.js.map +1 -1
  74. package/build/template-part/edit/index.js +39 -17
  75. package/build/template-part/edit/index.js.map +1 -1
  76. package/build/video/edit.native.js +7 -2
  77. package/build/video/edit.native.js.map +1 -1
  78. package/build/video/transforms.js +17 -0
  79. package/build/video/transforms.js.map +1 -1
  80. package/build-module/avatar/edit.js +2 -2
  81. package/build-module/avatar/edit.js.map +1 -1
  82. package/build-module/block/edit.js +74 -11
  83. package/build-module/block/edit.js.map +1 -1
  84. package/build-module/block/{v1/edit.native.js → edit.native.js} +3 -3
  85. package/build-module/block/edit.native.js.map +1 -0
  86. package/build-module/block/index.js +5 -3
  87. package/build-module/block/index.js.map +1 -1
  88. package/build-module/button/edit.js +25 -7
  89. package/build-module/button/edit.js.map +1 -1
  90. package/build-module/button/index.js +1 -0
  91. package/build-module/button/index.js.map +1 -1
  92. package/build-module/button/save.js +4 -2
  93. package/build-module/button/save.js.map +1 -1
  94. package/build-module/embed/edit.js +3 -2
  95. package/build-module/embed/edit.js.map +1 -1
  96. package/build-module/file/index.js +0 -1
  97. package/build-module/file/index.js.map +1 -1
  98. package/build-module/footnotes/edit.js +2 -1
  99. package/build-module/footnotes/edit.js.map +1 -1
  100. package/build-module/footnotes/format.js +17 -19
  101. package/build-module/footnotes/format.js.map +1 -1
  102. package/build-module/heading/edit.js +3 -2
  103. package/build-module/heading/edit.js.map +1 -1
  104. package/build-module/heading/edit.native.js +132 -0
  105. package/build-module/heading/edit.native.js.map +1 -0
  106. package/build-module/heading/index.js +1 -0
  107. package/build-module/heading/index.js.map +1 -1
  108. package/build-module/image/edit.js +9 -5
  109. package/build-module/image/edit.js.map +1 -1
  110. package/build-module/image/image.js +33 -7
  111. package/build-module/image/image.js.map +1 -1
  112. package/build-module/image/index.js +6 -3
  113. package/build-module/image/index.js.map +1 -1
  114. package/build-module/more/index.js +4 -0
  115. package/build-module/more/index.js.map +1 -1
  116. package/build-module/navigation/edit/index.js +1 -1
  117. package/build-module/navigation/edit/index.js.map +1 -1
  118. package/build-module/navigation/index.js +0 -1
  119. package/build-module/navigation/index.js.map +1 -1
  120. package/build-module/paragraph/edit.js +3 -2
  121. package/build-module/paragraph/edit.js.map +1 -1
  122. package/build-module/paragraph/index.js +1 -1
  123. package/build-module/paragraph/transforms.js +1 -1
  124. package/build-module/post-content/edit.js +1 -1
  125. package/build-module/post-content/edit.js.map +1 -1
  126. package/build-module/post-date/edit.js +1 -1
  127. package/build-module/post-date/edit.js.map +1 -1
  128. package/build-module/post-navigation-link/edit.js +44 -3
  129. package/build-module/post-navigation-link/edit.js.map +1 -1
  130. package/build-module/post-navigation-link/index.js +8 -0
  131. package/build-module/post-navigation-link/index.js.map +1 -1
  132. package/build-module/pullquote/index.js +4 -0
  133. package/build-module/pullquote/index.js.map +1 -1
  134. package/build-module/query/edit/inspector-controls/index.js +4 -4
  135. package/build-module/query/edit/inspector-controls/index.js.map +1 -1
  136. package/build-module/query/edit/query-content.js +2 -2
  137. package/build-module/query/edit/query-content.js.map +1 -1
  138. package/build-module/query/edit/query-placeholder.js +7 -8
  139. package/build-module/query/edit/query-placeholder.js.map +1 -1
  140. package/build-module/query/index.js +1 -2
  141. package/build-module/query/index.js.map +1 -1
  142. package/build-module/query/variations.js +8 -1
  143. package/build-module/query/variations.js.map +1 -1
  144. package/build-module/query/view.js +30 -9
  145. package/build-module/query/view.js.map +1 -1
  146. package/build-module/search/index.js +0 -1
  147. package/build-module/search/index.js.map +1 -1
  148. package/build-module/table-of-contents/hooks.js +2 -2
  149. package/build-module/table-of-contents/hooks.js.map +1 -1
  150. package/build-module/template-part/edit/advanced-controls.js +1 -4
  151. package/build-module/template-part/edit/advanced-controls.js.map +1 -1
  152. package/build-module/template-part/edit/index.js +38 -16
  153. package/build-module/template-part/edit/index.js.map +1 -1
  154. package/build-module/video/edit.native.js +7 -2
  155. package/build-module/video/edit.native.js.map +1 -1
  156. package/build-module/video/transforms.js +17 -0
  157. package/build-module/video/transforms.js.map +1 -1
  158. package/build-style/common-rtl.css +4 -2
  159. package/build-style/common.css +4 -2
  160. package/build-style/cover/style-rtl.css +1 -2
  161. package/build-style/cover/style.css +1 -2
  162. package/build-style/editor-rtl.css +6 -4
  163. package/build-style/editor.css +6 -4
  164. package/build-style/gallery/style-rtl.css +2 -4
  165. package/build-style/gallery/style.css +2 -4
  166. package/build-style/image/editor-rtl.css +6 -0
  167. package/build-style/image/editor.css +6 -0
  168. package/build-style/page-list/editor-rtl.css +0 -4
  169. package/build-style/page-list/editor.css +0 -4
  170. package/build-style/pullquote/style-rtl.css +10 -1
  171. package/build-style/pullquote/style.css +10 -1
  172. package/build-style/search/style-rtl.css +2 -1
  173. package/build-style/search/style.css +2 -1
  174. package/build-style/style-rtl.css +19 -11
  175. package/build-style/style.css +19 -11
  176. package/build-style/video/style-rtl.css +1 -2
  177. package/build-style/video/style.css +1 -2
  178. package/package.json +34 -32
  179. package/src/avatar/edit.js +16 -18
  180. package/src/block/block.json +3 -0
  181. package/src/block/edit.js +96 -14
  182. package/src/block/{v1/edit.native.js → edit.native.js} +4 -4
  183. package/src/block/index.js +2 -3
  184. package/src/block/index.php +3 -31
  185. package/src/button/block.json +1 -0
  186. package/src/button/edit.js +76 -43
  187. package/src/button/save.js +3 -0
  188. package/src/embed/edit.js +3 -2
  189. package/src/file/block.json +0 -1
  190. package/src/file/index.php +11 -57
  191. package/src/footnotes/edit.js +2 -1
  192. package/src/footnotes/format.js +34 -31
  193. package/src/footnotes/index.php +20 -11
  194. package/src/heading/block.json +1 -0
  195. package/src/heading/edit.js +18 -14
  196. package/src/heading/edit.native.js +144 -0
  197. package/src/image/block.json +7 -3
  198. package/src/image/edit.js +19 -6
  199. package/src/image/editor.scss +6 -1
  200. package/src/image/image.js +101 -42
  201. package/src/image/index.js +6 -0
  202. package/src/image/index.php +14 -51
  203. package/src/more/index.js +6 -0
  204. package/src/navigation/block.json +0 -1
  205. package/src/navigation/edit/index.js +2 -2
  206. package/src/navigation/index.php +777 -28
  207. package/src/navigation-link/index.php +78 -16
  208. package/src/page-list/editor.scss +0 -4
  209. package/src/paragraph/block.json +1 -1
  210. package/src/paragraph/edit.js +23 -19
  211. package/src/post-content/edit.js +2 -2
  212. package/src/post-date/edit.js +38 -33
  213. package/src/post-navigation-link/block.json +8 -0
  214. package/src/post-navigation-link/edit.js +63 -1
  215. package/src/post-navigation-link/index.php +17 -3
  216. package/src/post-terms/index.php +13 -4
  217. package/src/pullquote/block.json +4 -0
  218. package/src/pullquote/style.scss +13 -1
  219. package/src/query/block.json +1 -2
  220. package/src/query/edit/inspector-controls/index.js +137 -146
  221. package/src/query/edit/query-content.js +9 -7
  222. package/src/query/edit/query-placeholder.js +11 -11
  223. package/src/query/index.php +33 -71
  224. package/src/query/variations.js +4 -0
  225. package/src/query/view.js +24 -19
  226. package/src/search/block.json +0 -1
  227. package/src/search/index.php +18 -36
  228. package/src/table-of-contents/hooks.js +2 -2
  229. package/src/template-part/edit/advanced-controls.js +2 -3
  230. package/src/template-part/edit/index.js +77 -50
  231. package/src/template-part/index.php +2 -2
  232. package/src/video/edit.native.js +5 -2
  233. package/src/video/test/edit.native.js +38 -0
  234. package/src/video/transforms.js +32 -0
  235. package/tsconfig.json +1 -0
  236. package/build/block/v1/edit.js +0 -116
  237. package/build/block/v1/edit.js.map +0 -1
  238. package/build/block/v1/edit.native.js.map +0 -1
  239. package/build-module/block/v1/edit.js +0 -108
  240. package/build-module/block/v1/edit.js.map +0 -1
  241. package/build-module/block/v1/edit.native.js.map +0 -1
  242. package/src/block/v1/edit.js +0 -163
@@ -124,6 +124,7 @@ export default function Image( {
124
124
  linkTarget,
125
125
  sizeSlug,
126
126
  lightbox,
127
+ metadata,
127
128
  } = attributes;
128
129
 
129
130
  // The only supported unit is px, so we can parseInt to strip the px here.
@@ -355,7 +356,8 @@ export default function Image( {
355
356
  const lightboxChecked =
356
357
  !! lightbox?.enabled || ( ! lightbox && !! lightboxSetting?.enabled );
357
358
 
358
- const lightboxToggleDisabled = linkDestination !== 'none';
359
+ const lightboxToggleDisabled =
360
+ linkDestination && linkDestination !== 'none';
359
361
 
360
362
  const dimensionsControl = (
361
363
  <DimensionsTool
@@ -410,21 +412,59 @@ export default function Image( {
410
412
  </InspectorControls>
411
413
  );
412
414
 
415
+ const {
416
+ lockUrlControls = false,
417
+ lockAltControls = false,
418
+ lockTitleControls = false,
419
+ } = useSelect(
420
+ ( select ) => {
421
+ if ( ! isSelected ) {
422
+ return {};
423
+ }
424
+
425
+ const { getBlockBindingsSource } = unlock(
426
+ select( blockEditorStore )
427
+ );
428
+ const {
429
+ url: urlBinding,
430
+ alt: altBinding,
431
+ title: titleBinding,
432
+ } = metadata?.bindings || {};
433
+ return {
434
+ lockUrlControls:
435
+ !! urlBinding &&
436
+ getBlockBindingsSource( urlBinding?.source?.name )
437
+ ?.lockAttributesEditing === true,
438
+ lockAltControls:
439
+ !! altBinding &&
440
+ getBlockBindingsSource( altBinding?.source?.name )
441
+ ?.lockAttributesEditing === true,
442
+ lockTitleControls:
443
+ !! titleBinding &&
444
+ getBlockBindingsSource( titleBinding?.source?.name )
445
+ ?.lockAttributesEditing === true,
446
+ };
447
+ },
448
+ [ isSelected ]
449
+ );
450
+
413
451
  const controls = (
414
452
  <>
415
453
  <BlockControls group="block">
416
- { ! multiImageSelection && ! isEditingImage && (
417
- <ImageURLInputUI
418
- url={ href || '' }
419
- onChangeUrl={ onSetHref }
420
- linkDestination={ linkDestination }
421
- mediaUrl={ ( image && image.source_url ) || url }
422
- mediaLink={ image && image.link }
423
- linkTarget={ linkTarget }
424
- linkClass={ linkClass }
425
- rel={ rel }
426
- />
427
- ) }
454
+ { ! multiImageSelection &&
455
+ ! isEditingImage &&
456
+ ! lockUrlControls && (
457
+ <ImageURLInputUI
458
+ url={ href || '' }
459
+ onChangeUrl={ onSetHref }
460
+ linkDestination={ linkDestination }
461
+ mediaUrl={ ( image && image.source_url ) || url }
462
+ mediaLink={ image && image.link }
463
+ linkTarget={ linkTarget }
464
+ linkClass={ linkClass }
465
+ rel={ rel }
466
+ />
467
+ ) }
428
468
  { allowCrop && (
429
469
  <ToolbarButton
430
470
  onClick={ () => setIsEditingImage( true ) }
@@ -440,19 +480,21 @@ export default function Image( {
440
480
  />
441
481
  ) }
442
482
  </BlockControls>
443
- { ! multiImageSelection && ! isEditingImage && (
444
- <BlockControls group="other">
445
- <MediaReplaceFlow
446
- mediaId={ id }
447
- mediaURL={ url }
448
- allowedTypes={ ALLOWED_MEDIA_TYPES }
449
- accept="image/*"
450
- onSelect={ onSelectImage }
451
- onSelectURL={ onSelectURL }
452
- onError={ onUploadError }
453
- />
454
- </BlockControls>
455
- ) }
483
+ { ! multiImageSelection &&
484
+ ! isEditingImage &&
485
+ ! lockUrlControls && (
486
+ <BlockControls group="other">
487
+ <MediaReplaceFlow
488
+ mediaId={ id }
489
+ mediaURL={ url }
490
+ allowedTypes={ ALLOWED_MEDIA_TYPES }
491
+ accept="image/*"
492
+ onSelect={ onSelectImage }
493
+ onSelectURL={ onSelectURL }
494
+ onError={ onUploadError }
495
+ />
496
+ </BlockControls>
497
+ ) }
456
498
  { ! multiImageSelection && externalBlob && (
457
499
  <BlockControls>
458
500
  <ToolbarGroup>
@@ -483,16 +525,27 @@ export default function Image( {
483
525
  label={ __( 'Alternative text' ) }
484
526
  value={ alt || '' }
485
527
  onChange={ updateAlt }
528
+ disabled={ lockAltControls }
486
529
  help={
487
- <>
488
- <ExternalLink href="https://www.w3.org/WAI/tutorials/images/decision-tree">
530
+ lockAltControls ? (
531
+ <>
532
+ { __(
533
+ 'Connected to a custom field'
534
+ ) }
535
+ </>
536
+ ) : (
537
+ <>
538
+ <ExternalLink href="https://www.w3.org/WAI/tutorials/images/decision-tree">
539
+ { __(
540
+ 'Describe the purpose of the image.'
541
+ ) }
542
+ </ExternalLink>
543
+ <br />
489
544
  { __(
490
- 'Describe the purpose of the image.'
545
+ 'Leave empty if decorative.'
491
546
  ) }
492
- </ExternalLink>
493
- <br />
494
- { __( 'Leave empty if decorative.' ) }
495
- </>
547
+ </>
548
+ )
496
549
  }
497
550
  __nextHasNoMarginBottom
498
551
  />
@@ -542,17 +595,22 @@ export default function Image( {
542
595
  label={ __( 'Title attribute' ) }
543
596
  value={ title || '' }
544
597
  onChange={ onSetTitle }
598
+ disabled={ lockTitleControls }
545
599
  help={
546
- <>
547
- { __(
548
- 'Describe the role of this image on the page.'
549
- ) }
550
- <ExternalLink href="https://www.w3.org/TR/html52/dom.html#the-title-attribute">
600
+ lockTitleControls ? (
601
+ <>{ __( 'Connected to a custom field' ) }</>
602
+ ) : (
603
+ <>
551
604
  { __(
552
- '(Note: many devices and browsers do not display this text.)'
605
+ 'Describe the role of this image on the page.'
553
606
  ) }
554
- </ExternalLink>
555
- </>
607
+ <ExternalLink href="https://www.w3.org/TR/html52/dom.html#the-title-attribute">
608
+ { __(
609
+ '(Note: many devices and browsers do not display this text.)'
610
+ ) }
611
+ </ExternalLink>
612
+ </>
613
+ )
556
614
  }
557
615
  />
558
616
  </InspectorControls>
@@ -747,7 +805,8 @@ export default function Image( {
747
805
  }
748
806
 
749
807
  if ( ! url && ! temporaryURL ) {
750
- return sizeControls;
808
+ // Add all controls if the image attributes are connected.
809
+ return metadata?.bindings ? controls : sizeControls;
751
810
  }
752
811
 
753
812
  return (
@@ -29,6 +29,12 @@ export const settings = {
29
29
  },
30
30
  },
31
31
  __experimentalLabel( attributes, { context } ) {
32
+ const customName = attributes?.metadata?.name;
33
+
34
+ if ( context === 'list-view' && customName ) {
35
+ return customName;
36
+ }
37
+
32
38
  if ( context === 'accessibility' ) {
33
39
  const { caption, alt, url } = attributes;
34
40
 
@@ -37,10 +37,6 @@ function render_block_core_image( $attributes, $content, $block ) {
37
37
  $link_destination = isset( $attributes['linkDestination'] ) ? $attributes['linkDestination'] : 'none';
38
38
  $lightbox_settings = block_core_image_get_lightbox_settings( $block->parsed_block );
39
39
 
40
- $is_gutenberg_plugin = defined( 'IS_GUTENBERG_PLUGIN' ) && IS_GUTENBERG_PLUGIN;
41
- $view_js_file_handle = 'wp-block-image-view';
42
- $script_handles = $block->block_type->view_script_handles;
43
-
44
40
  /*
45
41
  * If the lightbox is enabled and the image is not linked, add the filter
46
42
  * and the JavaScript view file.
@@ -51,34 +47,22 @@ function render_block_core_image( $attributes, $content, $block ) {
51
47
  isset( $lightbox_settings['enabled'] ) &&
52
48
  true === $lightbox_settings['enabled']
53
49
  ) {
54
- if ( $is_gutenberg_plugin ) {
55
- gutenberg_enqueue_module( '@wordpress/block-library/image' );
56
- // Remove the view script because we are using the module.
57
- $block->block_type->view_script_handles = array_diff( $script_handles, array( $view_js_file_handle ) );
58
- } elseif ( ! in_array( $view_js_file_handle, $script_handles, true ) ) {
59
- $block->block_type->view_script_handles = array_merge( $script_handles, array( $view_js_file_handle ) );
60
- }
50
+ wp_enqueue_script_module( '@wordpress/block-library/image' );
61
51
 
62
52
  /*
63
- * This render needs to happen in a filter with priority 15 to ensure
64
- * that it runs after the duotone filter and that duotone styles are
65
- * applied to the image in the lightbox. We also need to ensure that the
66
- * lightbox works with any plugins that might use filters as well. We
67
- * can consider removing this in the future if the way the blocks are
68
- * rendered changes, or if a new kind of filter is introduced.
53
+ * This render needs to happen in a filter with priority 15 to ensure that
54
+ * it runs after the duotone filter and that duotone styles are applied to
55
+ * the image in the lightbox. Lightbox has to work with any plugins that
56
+ * might use filters as well. Removing this can be considered in the
57
+ * future if the way the blocks are rendered changes, or if a
58
+ * new kind of filter is introduced.
69
59
  */
70
60
  add_filter( 'render_block_core/image', 'block_core_image_render_lightbox', 15, 2 );
71
61
  } else {
72
62
  /*
73
- * Remove the filter and the JavaScript view file if previously added by
74
- * other Image blocks.
63
+ * Remove the filter if previously added by other Image blocks.
75
64
  */
76
65
  remove_filter( 'render_block_core/image', 'block_core_image_render_lightbox', 15 );
77
-
78
- // If the script is not needed, and it is still in the `view_script_handles`, remove it.
79
- if ( in_array( $view_js_file_handle, $script_handles, true ) ) {
80
- $block->block_type->view_script_handles = array_diff( $script_handles, array( $view_js_file_handle ) );
81
- }
82
66
  }
83
67
 
84
68
  return $processor->get_updated_html();
@@ -328,25 +312,6 @@ HTML;
328
312
  return str_replace( '</figure>', $lightbox_html . '</figure>', $body_content );
329
313
  }
330
314
 
331
- /**
332
- * Ensures that the view script has the `wp-interactivity` dependency.
333
- *
334
- * @since 6.4.0
335
- *
336
- * @global WP_Scripts $wp_scripts
337
- */
338
- function block_core_image_ensure_interactivity_dependency() {
339
- global $wp_scripts;
340
- if (
341
- isset( $wp_scripts->registered['wp-block-image-view'] ) &&
342
- ! in_array( 'wp-interactivity', $wp_scripts->registered['wp-block-image-view']->deps, true )
343
- ) {
344
- $wp_scripts->registered['wp-block-image-view']->deps[] = 'wp-interactivity';
345
- }
346
- }
347
-
348
- add_action( 'wp_print_scripts', 'block_core_image_ensure_interactivity_dependency' );
349
-
350
315
  /**
351
316
  * Registers the `core/image` block on server.
352
317
  */
@@ -358,13 +323,11 @@ function register_block_core_image() {
358
323
  )
359
324
  );
360
325
 
361
- if ( defined( 'IS_GUTENBERG_PLUGIN' ) && IS_GUTENBERG_PLUGIN ) {
362
- gutenberg_register_module(
363
- '@wordpress/block-library/image',
364
- gutenberg_url( '/build/interactivity/image.min.js' ),
365
- array( '@wordpress/interactivity' ),
366
- defined( 'GUTENBERG_VERSION' ) ? GUTENBERG_VERSION : get_bloginfo( 'version' )
367
- );
368
- }
326
+ wp_register_script_module(
327
+ '@wordpress/block-library/image',
328
+ gutenberg_url( '/build/interactivity/image.min.js' ),
329
+ array( '@wordpress/interactivity' ),
330
+ defined( 'GUTENBERG_VERSION' ) ? GUTENBERG_VERSION : get_bloginfo( 'version' )
331
+ );
369
332
  }
370
333
  add_action( 'init', 'register_block_core_image' );
package/src/more/index.js CHANGED
@@ -20,6 +20,12 @@ export const settings = {
20
20
  icon,
21
21
  example: {},
22
22
  __experimentalLabel( attributes, { context } ) {
23
+ const customName = attributes?.metadata?.name;
24
+
25
+ if ( context === 'list-view' && customName ) {
26
+ return customName;
27
+ }
28
+
23
29
  if ( context === 'accessibility' ) {
24
30
  return attributes.customText;
25
31
  }
@@ -136,7 +136,6 @@
136
136
  "interactivity": true,
137
137
  "renaming": false
138
138
  },
139
- "viewScript": "file:./view.min.js",
140
139
  "editorStyle": "wp-block-navigation-editor",
141
140
  "style": "wp-block-navigation"
142
141
  }
@@ -16,8 +16,8 @@ import {
16
16
  import {
17
17
  InspectorControls,
18
18
  useBlockProps,
19
- __experimentalRecursionProvider as RecursionProvider,
20
- __experimentalUseHasRecursion as useHasRecursion,
19
+ RecursionProvider,
20
+ useHasRecursion,
21
21
  store as blockEditorStore,
22
22
  withColors,
23
23
  ContrastChecker,