@wordpress/block-library 7.14.1 → 7.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 (193) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/build/avatar/index.js +1 -1
  3. package/build/block/edit.native.js +1 -1
  4. package/build/block/edit.native.js.map +1 -1
  5. package/build/buttons/edit.native.js +1 -3
  6. package/build/buttons/edit.native.js.map +1 -1
  7. package/build/calendar/index.js +9 -0
  8. package/build/calendar/index.js.map +1 -1
  9. package/build/code/index.js +1 -1
  10. package/build/code/index.js.map +1 -1
  11. package/build/comments/edit/comments-legacy.js +1 -1
  12. package/build/comments/edit/comments-legacy.js.map +1 -1
  13. package/build/comments-pagination-next/index.js +1 -1
  14. package/build/comments-pagination-numbers/index.js +1 -1
  15. package/build/comments-pagination-previous/index.js +1 -1
  16. package/build/comments-title/edit.js +1 -1
  17. package/build/comments-title/edit.js.map +1 -1
  18. package/build/cover/edit/use-cover-is-dark.js +10 -7
  19. package/build/cover/edit/use-cover-is-dark.js.map +1 -1
  20. package/build/cover/index.js +9 -2
  21. package/build/cover/index.js.map +1 -1
  22. package/build/embed/deprecated.js +12 -6
  23. package/build/embed/deprecated.js.map +1 -1
  24. package/build/embed/index.js +12 -6
  25. package/build/embed/index.js.map +1 -1
  26. package/build/embed/transforms.js +12 -6
  27. package/build/embed/transforms.js.map +1 -1
  28. package/build/embed/util.js +12 -6
  29. package/build/embed/util.js.map +1 -1
  30. package/build/embed/variations.js +1 -1
  31. package/build/embed/variations.js.map +1 -1
  32. package/build/freeform/edit.js +5 -8
  33. package/build/freeform/edit.js.map +1 -1
  34. package/build/gallery/deprecated.js +4 -4
  35. package/build/gallery/deprecated.js.map +1 -1
  36. package/build/list-item/edit.js +2 -1
  37. package/build/list-item/edit.js.map +1 -1
  38. package/build/missing/edit.js +9 -2
  39. package/build/missing/edit.js.map +1 -1
  40. package/build/more/edit.js +1 -1
  41. package/build/more/edit.js.map +1 -1
  42. package/build/navigation/menu-items-to-blocks.js +16 -6
  43. package/build/navigation/menu-items-to-blocks.js.map +1 -1
  44. package/build/post-excerpt/edit.js +1 -1
  45. package/build/post-excerpt/edit.js.map +1 -1
  46. package/build/post-navigation-link/edit.js +35 -4
  47. package/build/post-navigation-link/edit.js.map +1 -1
  48. package/build/post-navigation-link/index.js +6 -1
  49. package/build/post-navigation-link/index.js.map +1 -1
  50. package/build/post-template/edit.js +13 -28
  51. package/build/post-template/edit.js.map +1 -1
  52. package/build/query/edit/inspector-controls/index.js +4 -8
  53. package/build/query/edit/inspector-controls/index.js.map +1 -1
  54. package/build/query/edit/inspector-controls/sticky-control.js +1 -1
  55. package/build/query/edit/inspector-controls/sticky-control.js.map +1 -1
  56. package/build/query/edit/query-placeholder.js +2 -2
  57. package/build/query/edit/query-placeholder.js.map +1 -1
  58. package/build/query-title/edit.js +1 -1
  59. package/build/query-title/edit.js.map +1 -1
  60. package/build/quote/transforms.js +2 -2
  61. package/build/quote/transforms.js.map +1 -1
  62. package/build/read-more/edit.js +1 -1
  63. package/build/read-more/edit.js.map +1 -1
  64. package/build/site-tagline/index.js +1 -1
  65. package/build/social-links/edit.native.js +1 -0
  66. package/build/social-links/edit.native.js.map +1 -1
  67. package/build/template-part/edit/index.js +2 -2
  68. package/build/template-part/edit/index.js.map +1 -1
  69. package/build-module/avatar/index.js +1 -1
  70. package/build-module/block/edit.native.js +1 -1
  71. package/build-module/block/edit.native.js.map +1 -1
  72. package/build-module/buttons/edit.native.js +1 -2
  73. package/build-module/buttons/edit.native.js.map +1 -1
  74. package/build-module/calendar/index.js +9 -0
  75. package/build-module/calendar/index.js.map +1 -1
  76. package/build-module/code/index.js +1 -1
  77. package/build-module/code/index.js.map +1 -1
  78. package/build-module/comments/edit/comments-legacy.js +1 -1
  79. package/build-module/comments/edit/comments-legacy.js.map +1 -1
  80. package/build-module/comments-pagination-next/index.js +1 -1
  81. package/build-module/comments-pagination-numbers/index.js +1 -1
  82. package/build-module/comments-pagination-previous/index.js +1 -1
  83. package/build-module/comments-title/edit.js +1 -1
  84. package/build-module/comments-title/edit.js.map +1 -1
  85. package/build-module/cover/edit/use-cover-is-dark.js +9 -4
  86. package/build-module/cover/edit/use-cover-is-dark.js.map +1 -1
  87. package/build-module/cover/index.js +9 -2
  88. package/build-module/cover/index.js.map +1 -1
  89. package/build-module/embed/deprecated.js +12 -6
  90. package/build-module/embed/deprecated.js.map +1 -1
  91. package/build-module/embed/index.js +12 -6
  92. package/build-module/embed/index.js.map +1 -1
  93. package/build-module/embed/transforms.js +12 -6
  94. package/build-module/embed/transforms.js.map +1 -1
  95. package/build-module/embed/util.js +12 -6
  96. package/build-module/embed/util.js.map +1 -1
  97. package/build-module/embed/variations.js +1 -1
  98. package/build-module/embed/variations.js.map +1 -1
  99. package/build-module/freeform/edit.js +3 -6
  100. package/build-module/freeform/edit.js.map +1 -1
  101. package/build-module/gallery/deprecated.js +4 -4
  102. package/build-module/gallery/deprecated.js.map +1 -1
  103. package/build-module/list-item/edit.js +2 -1
  104. package/build-module/list-item/edit.js.map +1 -1
  105. package/build-module/missing/edit.js +11 -4
  106. package/build-module/missing/edit.js.map +1 -1
  107. package/build-module/more/edit.js +1 -1
  108. package/build-module/more/edit.js.map +1 -1
  109. package/build-module/navigation/menu-items-to-blocks.js +16 -6
  110. package/build-module/navigation/menu-items-to-blocks.js.map +1 -1
  111. package/build-module/post-excerpt/edit.js +1 -1
  112. package/build-module/post-excerpt/edit.js.map +1 -1
  113. package/build-module/post-navigation-link/edit.js +37 -6
  114. package/build-module/post-navigation-link/edit.js.map +1 -1
  115. package/build-module/post-navigation-link/index.js +6 -1
  116. package/build-module/post-navigation-link/index.js.map +1 -1
  117. package/build-module/post-template/edit.js +14 -29
  118. package/build-module/post-template/edit.js.map +1 -1
  119. package/build-module/query/edit/inspector-controls/index.js +2 -6
  120. package/build-module/query/edit/inspector-controls/index.js.map +1 -1
  121. package/build-module/query/edit/inspector-controls/sticky-control.js +1 -1
  122. package/build-module/query/edit/inspector-controls/sticky-control.js.map +1 -1
  123. package/build-module/query/edit/query-placeholder.js +2 -2
  124. package/build-module/query/edit/query-placeholder.js.map +1 -1
  125. package/build-module/query-title/edit.js +1 -1
  126. package/build-module/query-title/edit.js.map +1 -1
  127. package/build-module/quote/transforms.js +2 -2
  128. package/build-module/quote/transforms.js.map +1 -1
  129. package/build-module/read-more/edit.js +1 -1
  130. package/build-module/read-more/edit.js.map +1 -1
  131. package/build-module/site-tagline/index.js +1 -1
  132. package/build-module/social-links/edit.native.js +1 -0
  133. package/build-module/social-links/edit.native.js.map +1 -1
  134. package/build-module/template-part/edit/index.js +3 -3
  135. package/build-module/template-part/edit/index.js.map +1 -1
  136. package/build-style/calendar/style-rtl.css +21 -12
  137. package/build-style/calendar/style.css +21 -12
  138. package/build-style/post-navigation-link/style-rtl.css +90 -0
  139. package/build-style/post-navigation-link/style.css +90 -0
  140. package/build-style/style-rtl.css +36 -12
  141. package/build-style/style.css +36 -12
  142. package/package.json +29 -29
  143. package/src/avatar/block.json +1 -1
  144. package/src/block/edit.native.js +1 -1
  145. package/src/buttons/edit.native.js +1 -2
  146. package/src/buttons/test/__snapshots__/edit.native.js.snap +28 -0
  147. package/src/buttons/test/edit.native.js +170 -0
  148. package/src/calendar/block.json +9 -0
  149. package/src/calendar/index.php +22 -1
  150. package/src/calendar/style.scss +28 -15
  151. package/src/code/index.js +1 -1
  152. package/src/columns/test/__snapshots__/edit.native.js.snap +219 -0
  153. package/src/columns/test/edit.native.js +432 -0
  154. package/src/comments/edit/comments-legacy.js +1 -1
  155. package/src/comments-pagination-next/block.json +1 -1
  156. package/src/comments-pagination-numbers/block.json +1 -1
  157. package/src/comments-pagination-previous/block.json +1 -1
  158. package/src/comments-title/edit.js +1 -1
  159. package/src/cover/edit/use-cover-is-dark.js +11 -7
  160. package/src/cover/index.js +8 -1
  161. package/src/cover/test/__snapshots__/edit.native.js.snap +64 -0
  162. package/src/cover/test/edit.native.js +136 -4
  163. package/src/embed/block.json +12 -6
  164. package/src/embed/test/index.native.js +1 -2
  165. package/src/embed/variations.js +1 -1
  166. package/src/freeform/edit.js +12 -10
  167. package/src/gallery/deprecated.js +4 -4
  168. package/src/group/test/__snapshots__/edit.native.js.snap +19 -0
  169. package/src/group/test/edit.native.js +102 -0
  170. package/src/list-item/edit.js +1 -0
  171. package/src/missing/edit.js +15 -4
  172. package/src/more/edit.js +1 -1
  173. package/src/navigation/menu-items-to-blocks.js +39 -22
  174. package/src/navigation/test/menu-items-to-blocks.js +6 -0
  175. package/src/post-excerpt/edit.js +1 -1
  176. package/src/post-featured-image/index.php +11 -18
  177. package/src/post-navigation-link/block.json +6 -1
  178. package/src/post-navigation-link/edit.js +64 -3
  179. package/src/post-navigation-link/index.php +23 -0
  180. package/src/post-navigation-link/style.scss +23 -0
  181. package/src/post-template/edit.js +14 -23
  182. package/src/query/edit/inspector-controls/index.js +2 -6
  183. package/src/query/edit/inspector-controls/sticky-control.js +1 -1
  184. package/src/query/edit/query-placeholder.js +4 -1
  185. package/src/query-title/edit.js +1 -1
  186. package/src/quote/transforms.js +1 -1
  187. package/src/read-more/edit.js +1 -1
  188. package/src/site-tagline/block.json +1 -1
  189. package/src/social-links/edit.native.js +7 -1
  190. package/src/social-links/test/__snapshots__/edit.native.js.snap +57 -0
  191. package/src/social-links/test/edit.native.js +199 -0
  192. package/src/style.scss +1 -0
  193. package/src/template-part/edit/index.js +60 -58
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/gallery/deprecated.js"],"names":["DEPRECATED_LINK_DESTINATION_MEDIA","DEPRECATED_LINK_DESTINATION_ATTACHMENT","defaultColumnsNumberV1","attributes","Math","min","images","length","getHrefAndDestination","image","destination","href","source_url","url","linkDestination","LINK_DESTINATION_MEDIA","link","LINK_DESTINATION_ATTACHMENT","LINK_DESTINATION_NONE","undefined","runV2Migration","linkTo","imageBlocks","map","getImageBlock","sizeSlug","ids","restAttributes","allowResize","id","parseInt","alt","caption","v6","type","default","source","selector","query","attribute","fullUrl","items","columns","minimum","maximum","imageCrop","fixedHeight","supports","anchor","align","save","className","useBlockProps","img","RichText","isEmpty","migrate","v5","isEligible","v4","some","parsedId","Number","isInteger","v3","v2","index","v1","alignnone"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { map, some } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { RichText, useBlockProps } from '@wordpress/block-editor';\n\nimport { createBlock } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport {\n\tLINK_DESTINATION_ATTACHMENT,\n\tLINK_DESTINATION_MEDIA,\n\tLINK_DESTINATION_NONE,\n} from './constants';\nimport { isGalleryV2Enabled } from './shared';\n\nconst DEPRECATED_LINK_DESTINATION_MEDIA = 'file';\nconst DEPRECATED_LINK_DESTINATION_ATTACHMENT = 'post';\n\n/**\n * Original function to determine default number of columns from a block's\n * attributes.\n *\n * Used in deprecations: v1-6, for versions of the gallery block that didn't use inner blocks.\n *\n * @param {Object} attributes Block attributes.\n * @return {number} Default number of columns for the gallery.\n */\nexport function defaultColumnsNumberV1( attributes ) {\n\treturn Math.min( 3, attributes?.images?.length );\n}\n\n/**\n * Original function to determine new href and linkDestination values for an image block from the\n * supplied Gallery link destination.\n *\n * Used in deprecations: v1-6.\n *\n * @param {Object} image Gallery image.\n * @param {string} destination Gallery's selected link destination.\n * @return {Object} New attributes to assign to image block.\n */\nexport function getHrefAndDestination( image, destination ) {\n\t// Need to determine the URL that the selected destination maps to.\n\t// Gutenberg and WordPress use different constants so the new link\n\t// destination also needs to be tweaked.\n\tswitch ( destination ) {\n\t\tcase DEPRECATED_LINK_DESTINATION_MEDIA:\n\t\t\treturn {\n\t\t\t\thref: image?.source_url || image?.url, // eslint-disable-line camelcase\n\t\t\t\tlinkDestination: LINK_DESTINATION_MEDIA,\n\t\t\t};\n\t\tcase DEPRECATED_LINK_DESTINATION_ATTACHMENT:\n\t\t\treturn {\n\t\t\t\thref: image?.link,\n\t\t\t\tlinkDestination: LINK_DESTINATION_ATTACHMENT,\n\t\t\t};\n\t\tcase LINK_DESTINATION_MEDIA:\n\t\t\treturn {\n\t\t\t\thref: image?.source_url || image?.url, // eslint-disable-line camelcase\n\t\t\t\tlinkDestination: LINK_DESTINATION_MEDIA,\n\t\t\t};\n\t\tcase LINK_DESTINATION_ATTACHMENT:\n\t\t\treturn {\n\t\t\t\thref: image?.link,\n\t\t\t\tlinkDestination: LINK_DESTINATION_ATTACHMENT,\n\t\t\t};\n\t\tcase LINK_DESTINATION_NONE:\n\t\t\treturn {\n\t\t\t\thref: undefined,\n\t\t\t\tlinkDestination: LINK_DESTINATION_NONE,\n\t\t\t};\n\t}\n\n\treturn {};\n}\n\nfunction runV2Migration( attributes ) {\n\tlet linkTo = attributes.linkTo ? attributes.linkTo : 'none';\n\n\tif ( linkTo === 'post' ) {\n\t\tlinkTo = 'attachment';\n\t} else if ( linkTo === 'file' ) {\n\t\tlinkTo = 'media';\n\t}\n\n\tconst imageBlocks = attributes.images.map( ( image ) => {\n\t\treturn getImageBlock( image, attributes.sizeSlug, linkTo );\n\t} );\n\n\tconst { images, ids, ...restAttributes } = attributes;\n\n\treturn [\n\t\t{\n\t\t\t...restAttributes,\n\t\t\tlinkTo,\n\t\t\tallowResize: false,\n\t\t},\n\t\timageBlocks,\n\t];\n}\n/**\n * Gets an Image block from gallery image data\n *\n * Used to migrate Galleries to nested Image InnerBlocks.\n *\n * @param {Object} image Image properties.\n * @param {string} sizeSlug Gallery sizeSlug attribute.\n * @param {string} linkTo Gallery linkTo attribute.\n * @return {Object} Image block.\n */\nexport function getImageBlock( image, sizeSlug, linkTo ) {\n\treturn createBlock( 'core/image', {\n\t\t...( image.id && { id: parseInt( image.id ) } ),\n\t\turl: image.url,\n\t\talt: image.alt,\n\t\tcaption: image.caption,\n\t\tsizeSlug,\n\t\t...getHrefAndDestination( image, linkTo ),\n\t} );\n}\n\nconst v6 = {\n\tattributes: {\n\t\timages: {\n\t\t\ttype: 'array',\n\t\t\tdefault: [],\n\t\t\tsource: 'query',\n\t\t\tselector: '.blocks-gallery-item',\n\t\t\tquery: {\n\t\t\t\turl: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\tselector: 'img',\n\t\t\t\t\tattribute: 'src',\n\t\t\t\t},\n\t\t\t\tfullUrl: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\tselector: 'img',\n\t\t\t\t\tattribute: 'data-full-url',\n\t\t\t\t},\n\t\t\t\tlink: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\tselector: 'img',\n\t\t\t\t\tattribute: 'data-link',\n\t\t\t\t},\n\t\t\t\talt: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\tselector: 'img',\n\t\t\t\t\tattribute: 'alt',\n\t\t\t\t\tdefault: '',\n\t\t\t\t},\n\t\t\t\tid: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\tselector: 'img',\n\t\t\t\t\tattribute: 'data-id',\n\t\t\t\t},\n\t\t\t\tcaption: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t\tsource: 'html',\n\t\t\t\t\tselector: '.blocks-gallery-item__caption',\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tids: {\n\t\t\ttype: 'array',\n\t\t\titems: {\n\t\t\t\ttype: 'number',\n\t\t\t},\n\t\t\tdefault: [],\n\t\t},\n\t\tcolumns: {\n\t\t\ttype: 'number',\n\t\t\tminimum: 1,\n\t\t\tmaximum: 8,\n\t\t},\n\t\tcaption: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'html',\n\t\t\tselector: '.blocks-gallery-caption',\n\t\t},\n\t\timageCrop: {\n\t\t\ttype: 'boolean',\n\t\t\tdefault: true,\n\t\t},\n\t\tfixedHeight: {\n\t\t\ttype: 'boolean',\n\t\t\tdefault: true,\n\t\t},\n\t\tlinkTo: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tsizeSlug: {\n\t\t\ttype: 'string',\n\t\t\tdefault: 'large',\n\t\t},\n\t},\n\tsupports: {\n\t\tanchor: true,\n\t\talign: true,\n\t},\n\tsave( { attributes } ) {\n\t\tconst {\n\t\t\timages,\n\t\t\tcolumns = defaultColumnsNumberV1( attributes ),\n\t\t\timageCrop,\n\t\t\tcaption,\n\t\t\tlinkTo,\n\t\t} = attributes;\n\t\tconst className = `columns-${ columns } ${\n\t\t\timageCrop ? 'is-cropped' : ''\n\t\t}`;\n\n\t\treturn (\n\t\t\t<figure { ...useBlockProps.save( { className } ) }>\n\t\t\t\t<ul className=\"blocks-gallery-grid\">\n\t\t\t\t\t{ images.map( ( image ) => {\n\t\t\t\t\t\tlet href;\n\n\t\t\t\t\t\tswitch ( linkTo ) {\n\t\t\t\t\t\t\tcase DEPRECATED_LINK_DESTINATION_MEDIA:\n\t\t\t\t\t\t\t\thref = image.fullUrl || image.url;\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase DEPRECATED_LINK_DESTINATION_ATTACHMENT:\n\t\t\t\t\t\t\t\thref = image.link;\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tconst img = (\n\t\t\t\t\t\t\t<img\n\t\t\t\t\t\t\t\tsrc={ image.url }\n\t\t\t\t\t\t\t\talt={ image.alt }\n\t\t\t\t\t\t\t\tdata-id={ image.id }\n\t\t\t\t\t\t\t\tdata-full-url={ image.fullUrl }\n\t\t\t\t\t\t\t\tdata-link={ image.link }\n\t\t\t\t\t\t\t\tclassName={\n\t\t\t\t\t\t\t\t\timage.id ? `wp-image-${ image.id }` : null\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<li\n\t\t\t\t\t\t\t\tkey={ image.id || image.url }\n\t\t\t\t\t\t\t\tclassName=\"blocks-gallery-item\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<figure>\n\t\t\t\t\t\t\t\t\t{ href ? (\n\t\t\t\t\t\t\t\t\t\t<a href={ href }>{ img }</a>\n\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\timg\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t{ ! RichText.isEmpty( image.caption ) && (\n\t\t\t\t\t\t\t\t\t\t<RichText.Content\n\t\t\t\t\t\t\t\t\t\t\ttagName=\"figcaption\"\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"blocks-gallery-item__caption\"\n\t\t\t\t\t\t\t\t\t\t\tvalue={ image.caption }\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</figure>\n\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t);\n\t\t\t\t\t} ) }\n\t\t\t\t</ul>\n\t\t\t\t{ ! RichText.isEmpty( caption ) && (\n\t\t\t\t\t<RichText.Content\n\t\t\t\t\t\ttagName=\"figcaption\"\n\t\t\t\t\t\tclassName=\"blocks-gallery-caption\"\n\t\t\t\t\t\tvalue={ caption }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</figure>\n\t\t);\n\t},\n\tmigrate( attributes ) {\n\t\tif ( isGalleryV2Enabled() ) {\n\t\t\treturn runV2Migration( attributes );\n\t\t}\n\n\t\treturn attributes;\n\t},\n};\nconst v5 = {\n\tattributes: {\n\t\timages: {\n\t\t\ttype: 'array',\n\t\t\tdefault: [],\n\t\t\tsource: 'query',\n\t\t\tselector: '.blocks-gallery-item',\n\t\t\tquery: {\n\t\t\t\turl: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\tselector: 'img',\n\t\t\t\t\tattribute: 'src',\n\t\t\t\t},\n\t\t\t\tfullUrl: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\tselector: 'img',\n\t\t\t\t\tattribute: 'data-full-url',\n\t\t\t\t},\n\t\t\t\tlink: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\tselector: 'img',\n\t\t\t\t\tattribute: 'data-link',\n\t\t\t\t},\n\t\t\t\talt: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\tselector: 'img',\n\t\t\t\t\tattribute: 'alt',\n\t\t\t\t\tdefault: '',\n\t\t\t\t},\n\t\t\t\tid: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\tselector: 'img',\n\t\t\t\t\tattribute: 'data-id',\n\t\t\t\t},\n\t\t\t\tcaption: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t\tsource: 'html',\n\t\t\t\t\tselector: '.blocks-gallery-item__caption',\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tids: {\n\t\t\ttype: 'array',\n\t\t\titems: {\n\t\t\t\ttype: 'number',\n\t\t\t},\n\t\t\tdefault: [],\n\t\t},\n\t\tcolumns: {\n\t\t\ttype: 'number',\n\t\t\tminimum: 1,\n\t\t\tmaximum: 8,\n\t\t},\n\t\tcaption: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'html',\n\t\t\tselector: '.blocks-gallery-caption',\n\t\t},\n\t\timageCrop: {\n\t\t\ttype: 'boolean',\n\t\t\tdefault: true,\n\t\t},\n\t\tlinkTo: {\n\t\t\ttype: 'string',\n\t\t\tdefault: 'none',\n\t\t},\n\t\tsizeSlug: {\n\t\t\ttype: 'string',\n\t\t\tdefault: 'large',\n\t\t},\n\t},\n\tsupports: {\n\t\talign: true,\n\t},\n\tisEligible( { linkTo } ) {\n\t\treturn ! linkTo || linkTo === 'attachment' || linkTo === 'media';\n\t},\n\tmigrate( attributes ) {\n\t\tif ( isGalleryV2Enabled() ) {\n\t\t\treturn runV2Migration( attributes );\n\t\t}\n\n\t\tlet linkTo = attributes.linkTo;\n\n\t\tif ( ! attributes.linkTo ) {\n\t\t\tlinkTo = 'none';\n\t\t} else if ( attributes.linkTo === 'attachment' ) {\n\t\t\tlinkTo = 'post';\n\t\t} else if ( attributes.linkTo === 'media' ) {\n\t\t\tlinkTo = 'file';\n\t\t}\n\t\treturn {\n\t\t\t...attributes,\n\t\t\tlinkTo,\n\t\t};\n\t},\n\tsave( { attributes } ) {\n\t\tconst {\n\t\t\timages,\n\t\t\tcolumns = defaultColumnsNumberV1( attributes ),\n\t\t\timageCrop,\n\t\t\tcaption,\n\t\t\tlinkTo,\n\t\t} = attributes;\n\n\t\treturn (\n\t\t\t<figure\n\t\t\t\tclassName={ `columns-${ columns } ${\n\t\t\t\t\timageCrop ? 'is-cropped' : ''\n\t\t\t\t}` }\n\t\t\t>\n\t\t\t\t<ul className=\"blocks-gallery-grid\">\n\t\t\t\t\t{ images.map( ( image ) => {\n\t\t\t\t\t\tlet href;\n\n\t\t\t\t\t\tswitch ( linkTo ) {\n\t\t\t\t\t\t\tcase 'media':\n\t\t\t\t\t\t\t\thref = image.fullUrl || image.url;\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase 'attachment':\n\t\t\t\t\t\t\t\thref = image.link;\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tconst img = (\n\t\t\t\t\t\t\t<img\n\t\t\t\t\t\t\t\tsrc={ image.url }\n\t\t\t\t\t\t\t\talt={ image.alt }\n\t\t\t\t\t\t\t\tdata-id={ image.id }\n\t\t\t\t\t\t\t\tdata-full-url={ image.fullUrl }\n\t\t\t\t\t\t\t\tdata-link={ image.link }\n\t\t\t\t\t\t\t\tclassName={\n\t\t\t\t\t\t\t\t\timage.id ? `wp-image-${ image.id }` : null\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<li\n\t\t\t\t\t\t\t\tkey={ image.id || image.url }\n\t\t\t\t\t\t\t\tclassName=\"blocks-gallery-item\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<figure>\n\t\t\t\t\t\t\t\t\t{ href ? (\n\t\t\t\t\t\t\t\t\t\t<a href={ href }>{ img }</a>\n\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\timg\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t{ ! RichText.isEmpty( image.caption ) && (\n\t\t\t\t\t\t\t\t\t\t<RichText.Content\n\t\t\t\t\t\t\t\t\t\t\ttagName=\"figcaption\"\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"blocks-gallery-item__caption\"\n\t\t\t\t\t\t\t\t\t\t\tvalue={ image.caption }\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</figure>\n\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t);\n\t\t\t\t\t} ) }\n\t\t\t\t</ul>\n\t\t\t\t{ ! RichText.isEmpty( caption ) && (\n\t\t\t\t\t<RichText.Content\n\t\t\t\t\t\ttagName=\"figcaption\"\n\t\t\t\t\t\tclassName=\"blocks-gallery-caption\"\n\t\t\t\t\t\tvalue={ caption }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</figure>\n\t\t);\n\t},\n};\n\nconst v4 = {\n\tattributes: {\n\t\timages: {\n\t\t\ttype: 'array',\n\t\t\tdefault: [],\n\t\t\tsource: 'query',\n\t\t\tselector: '.blocks-gallery-item',\n\t\t\tquery: {\n\t\t\t\turl: {\n\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\tselector: 'img',\n\t\t\t\t\tattribute: 'src',\n\t\t\t\t},\n\t\t\t\tfullUrl: {\n\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\tselector: 'img',\n\t\t\t\t\tattribute: 'data-full-url',\n\t\t\t\t},\n\t\t\t\tlink: {\n\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\tselector: 'img',\n\t\t\t\t\tattribute: 'data-link',\n\t\t\t\t},\n\t\t\t\talt: {\n\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\tselector: 'img',\n\t\t\t\t\tattribute: 'alt',\n\t\t\t\t\tdefault: '',\n\t\t\t\t},\n\t\t\t\tid: {\n\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\tselector: 'img',\n\t\t\t\t\tattribute: 'data-id',\n\t\t\t\t},\n\t\t\t\tcaption: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t\tsource: 'html',\n\t\t\t\t\tselector: '.blocks-gallery-item__caption',\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tids: {\n\t\t\ttype: 'array',\n\t\t\tdefault: [],\n\t\t},\n\t\tcolumns: {\n\t\t\ttype: 'number',\n\t\t},\n\t\tcaption: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'html',\n\t\t\tselector: '.blocks-gallery-caption',\n\t\t},\n\t\timageCrop: {\n\t\t\ttype: 'boolean',\n\t\t\tdefault: true,\n\t\t},\n\t\tlinkTo: {\n\t\t\ttype: 'string',\n\t\t\tdefault: 'none',\n\t\t},\n\t},\n\tsupports: {\n\t\talign: true,\n\t},\n\tisEligible( { ids } ) {\n\t\treturn ids && ids.some( ( id ) => typeof id === 'string' );\n\t},\n\tmigrate( attributes ) {\n\t\tif ( isGalleryV2Enabled() ) {\n\t\t\treturn runV2Migration( attributes );\n\t\t}\n\n\t\treturn {\n\t\t\t...attributes,\n\t\t\tids: map( attributes.ids, ( id ) => {\n\t\t\t\tconst parsedId = parseInt( id, 10 );\n\t\t\t\treturn Number.isInteger( parsedId ) ? parsedId : null;\n\t\t\t} ),\n\t\t};\n\t},\n\tsave( { attributes } ) {\n\t\tconst {\n\t\t\timages,\n\t\t\tcolumns = defaultColumnsNumberV1( attributes ),\n\t\t\timageCrop,\n\t\t\tcaption,\n\t\t\tlinkTo,\n\t\t} = attributes;\n\n\t\treturn (\n\t\t\t<figure\n\t\t\t\tclassName={ `columns-${ columns } ${\n\t\t\t\t\timageCrop ? 'is-cropped' : ''\n\t\t\t\t}` }\n\t\t\t>\n\t\t\t\t<ul className=\"blocks-gallery-grid\">\n\t\t\t\t\t{ images.map( ( image ) => {\n\t\t\t\t\t\tlet href;\n\n\t\t\t\t\t\tswitch ( linkTo ) {\n\t\t\t\t\t\t\tcase 'media':\n\t\t\t\t\t\t\t\thref = image.fullUrl || image.url;\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase 'attachment':\n\t\t\t\t\t\t\t\thref = image.link;\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tconst img = (\n\t\t\t\t\t\t\t<img\n\t\t\t\t\t\t\t\tsrc={ image.url }\n\t\t\t\t\t\t\t\talt={ image.alt }\n\t\t\t\t\t\t\t\tdata-id={ image.id }\n\t\t\t\t\t\t\t\tdata-full-url={ image.fullUrl }\n\t\t\t\t\t\t\t\tdata-link={ image.link }\n\t\t\t\t\t\t\t\tclassName={\n\t\t\t\t\t\t\t\t\timage.id ? `wp-image-${ image.id }` : null\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<li\n\t\t\t\t\t\t\t\tkey={ image.id || image.url }\n\t\t\t\t\t\t\t\tclassName=\"blocks-gallery-item\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<figure>\n\t\t\t\t\t\t\t\t\t{ href ? (\n\t\t\t\t\t\t\t\t\t\t<a href={ href }>{ img }</a>\n\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\timg\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t{ ! RichText.isEmpty( image.caption ) && (\n\t\t\t\t\t\t\t\t\t\t<RichText.Content\n\t\t\t\t\t\t\t\t\t\t\ttagName=\"figcaption\"\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"blocks-gallery-item__caption\"\n\t\t\t\t\t\t\t\t\t\t\tvalue={ image.caption }\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</figure>\n\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t);\n\t\t\t\t\t} ) }\n\t\t\t\t</ul>\n\t\t\t\t{ ! RichText.isEmpty( caption ) && (\n\t\t\t\t\t<RichText.Content\n\t\t\t\t\t\ttagName=\"figcaption\"\n\t\t\t\t\t\tclassName=\"blocks-gallery-caption\"\n\t\t\t\t\t\tvalue={ caption }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</figure>\n\t\t);\n\t},\n};\nconst v3 = {\n\tattributes: {\n\t\timages: {\n\t\t\ttype: 'array',\n\t\t\tdefault: [],\n\t\t\tsource: 'query',\n\t\t\tselector: 'ul.wp-block-gallery .blocks-gallery-item',\n\t\t\tquery: {\n\t\t\t\turl: {\n\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\tselector: 'img',\n\t\t\t\t\tattribute: 'src',\n\t\t\t\t},\n\t\t\t\tfullUrl: {\n\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\tselector: 'img',\n\t\t\t\t\tattribute: 'data-full-url',\n\t\t\t\t},\n\t\t\t\talt: {\n\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\tselector: 'img',\n\t\t\t\t\tattribute: 'alt',\n\t\t\t\t\tdefault: '',\n\t\t\t\t},\n\t\t\t\tid: {\n\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\tselector: 'img',\n\t\t\t\t\tattribute: 'data-id',\n\t\t\t\t},\n\t\t\t\tlink: {\n\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\tselector: 'img',\n\t\t\t\t\tattribute: 'data-link',\n\t\t\t\t},\n\t\t\t\tcaption: {\n\t\t\t\t\ttype: 'array',\n\t\t\t\t\tsource: 'children',\n\t\t\t\t\tselector: 'figcaption',\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tids: {\n\t\t\ttype: 'array',\n\t\t\tdefault: [],\n\t\t},\n\t\tcolumns: {\n\t\t\ttype: 'number',\n\t\t},\n\t\timageCrop: {\n\t\t\ttype: 'boolean',\n\t\t\tdefault: true,\n\t\t},\n\t\tlinkTo: {\n\t\t\ttype: 'string',\n\t\t\tdefault: 'none',\n\t\t},\n\t},\n\tsupports: {\n\t\talign: true,\n\t},\n\tsave( { attributes } ) {\n\t\tconst {\n\t\t\timages,\n\t\t\tcolumns = defaultColumnsNumberV1( attributes ),\n\t\t\timageCrop,\n\t\t\tlinkTo,\n\t\t} = attributes;\n\t\treturn (\n\t\t\t<ul\n\t\t\t\tclassName={ `columns-${ columns } ${\n\t\t\t\t\timageCrop ? 'is-cropped' : ''\n\t\t\t\t}` }\n\t\t\t>\n\t\t\t\t{ images.map( ( image ) => {\n\t\t\t\t\tlet href;\n\n\t\t\t\t\tswitch ( linkTo ) {\n\t\t\t\t\t\tcase 'media':\n\t\t\t\t\t\t\thref = image.fullUrl || image.url;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase 'attachment':\n\t\t\t\t\t\t\thref = image.link;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\n\t\t\t\t\tconst img = (\n\t\t\t\t\t\t<img\n\t\t\t\t\t\t\tsrc={ image.url }\n\t\t\t\t\t\t\talt={ image.alt }\n\t\t\t\t\t\t\tdata-id={ image.id }\n\t\t\t\t\t\t\tdata-full-url={ image.fullUrl }\n\t\t\t\t\t\t\tdata-link={ image.link }\n\t\t\t\t\t\t\tclassName={\n\t\t\t\t\t\t\t\timage.id ? `wp-image-${ image.id }` : null\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<li\n\t\t\t\t\t\t\tkey={ image.id || image.url }\n\t\t\t\t\t\t\tclassName=\"blocks-gallery-item\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<figure>\n\t\t\t\t\t\t\t\t{ href ? <a href={ href }>{ img }</a> : img }\n\t\t\t\t\t\t\t\t{ image.caption && image.caption.length > 0 && (\n\t\t\t\t\t\t\t\t\t<RichText.Content\n\t\t\t\t\t\t\t\t\t\ttagName=\"figcaption\"\n\t\t\t\t\t\t\t\t\t\tvalue={ image.caption }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</figure>\n\t\t\t\t\t\t</li>\n\t\t\t\t\t);\n\t\t\t\t} ) }\n\t\t\t</ul>\n\t\t);\n\t},\n\tmigrate( attributes ) {\n\t\tif ( isGalleryV2Enabled() ) {\n\t\t\treturn runV2Migration( attributes );\n\t\t}\n\t\treturn attributes;\n\t},\n};\nconst v2 = {\n\tattributes: {\n\t\timages: {\n\t\t\ttype: 'array',\n\t\t\tdefault: [],\n\t\t\tsource: 'query',\n\t\t\tselector: 'ul.wp-block-gallery .blocks-gallery-item',\n\t\t\tquery: {\n\t\t\t\turl: {\n\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\tselector: 'img',\n\t\t\t\t\tattribute: 'src',\n\t\t\t\t},\n\t\t\t\talt: {\n\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\tselector: 'img',\n\t\t\t\t\tattribute: 'alt',\n\t\t\t\t\tdefault: '',\n\t\t\t\t},\n\t\t\t\tid: {\n\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\tselector: 'img',\n\t\t\t\t\tattribute: 'data-id',\n\t\t\t\t},\n\t\t\t\tlink: {\n\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\tselector: 'img',\n\t\t\t\t\tattribute: 'data-link',\n\t\t\t\t},\n\t\t\t\tcaption: {\n\t\t\t\t\ttype: 'array',\n\t\t\t\t\tsource: 'children',\n\t\t\t\t\tselector: 'figcaption',\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tcolumns: {\n\t\t\ttype: 'number',\n\t\t},\n\t\timageCrop: {\n\t\t\ttype: 'boolean',\n\t\t\tdefault: true,\n\t\t},\n\t\tlinkTo: {\n\t\t\ttype: 'string',\n\t\t\tdefault: 'none',\n\t\t},\n\t},\n\tisEligible( { images, ids } ) {\n\t\treturn (\n\t\t\timages &&\n\t\t\timages.length > 0 &&\n\t\t\t( ( ! ids && images ) ||\n\t\t\t\t( ids && images && ids.length !== images.length ) ||\n\t\t\t\tsome( images, ( id, index ) => {\n\t\t\t\t\tif ( ! id && ids[ index ] !== null ) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t\treturn parseInt( id, 10 ) !== ids[ index ];\n\t\t\t\t} ) )\n\t\t);\n\t},\n\tmigrate( attributes ) {\n\t\tif ( isGalleryV2Enabled() ) {\n\t\t\treturn runV2Migration( attributes );\n\t\t}\n\t\treturn {\n\t\t\t...attributes,\n\t\t\tids: map( attributes.images, ( { id } ) => {\n\t\t\t\tif ( ! id ) {\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\t\t\t\treturn parseInt( id, 10 );\n\t\t\t} ),\n\t\t};\n\t},\n\tsupports: {\n\t\talign: true,\n\t},\n\tsave( { attributes } ) {\n\t\tconst {\n\t\t\timages,\n\t\t\tcolumns = defaultColumnsNumberV1( attributes ),\n\t\t\timageCrop,\n\t\t\tlinkTo,\n\t\t} = attributes;\n\t\treturn (\n\t\t\t<ul\n\t\t\t\tclassName={ `columns-${ columns } ${\n\t\t\t\t\timageCrop ? 'is-cropped' : ''\n\t\t\t\t}` }\n\t\t\t>\n\t\t\t\t{ images.map( ( image ) => {\n\t\t\t\t\tlet href;\n\n\t\t\t\t\tswitch ( linkTo ) {\n\t\t\t\t\t\tcase 'media':\n\t\t\t\t\t\t\thref = image.url;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase 'attachment':\n\t\t\t\t\t\t\thref = image.link;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\n\t\t\t\t\tconst img = (\n\t\t\t\t\t\t<img\n\t\t\t\t\t\t\tsrc={ image.url }\n\t\t\t\t\t\t\talt={ image.alt }\n\t\t\t\t\t\t\tdata-id={ image.id }\n\t\t\t\t\t\t\tdata-link={ image.link }\n\t\t\t\t\t\t\tclassName={\n\t\t\t\t\t\t\t\timage.id ? `wp-image-${ image.id }` : null\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<li\n\t\t\t\t\t\t\tkey={ image.id || image.url }\n\t\t\t\t\t\t\tclassName=\"blocks-gallery-item\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<figure>\n\t\t\t\t\t\t\t\t{ href ? <a href={ href }>{ img }</a> : img }\n\t\t\t\t\t\t\t\t{ image.caption && image.caption.length > 0 && (\n\t\t\t\t\t\t\t\t\t<RichText.Content\n\t\t\t\t\t\t\t\t\t\ttagName=\"figcaption\"\n\t\t\t\t\t\t\t\t\t\tvalue={ image.caption }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</figure>\n\t\t\t\t\t\t</li>\n\t\t\t\t\t);\n\t\t\t\t} ) }\n\t\t\t</ul>\n\t\t);\n\t},\n};\n\nconst v1 = {\n\tattributes: {\n\t\timages: {\n\t\t\ttype: 'array',\n\t\t\tdefault: [],\n\t\t\tsource: 'query',\n\t\t\tselector: 'div.wp-block-gallery figure.blocks-gallery-image img',\n\t\t\tquery: {\n\t\t\t\turl: {\n\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\tattribute: 'src',\n\t\t\t\t},\n\t\t\t\talt: {\n\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\tattribute: 'alt',\n\t\t\t\t\tdefault: '',\n\t\t\t\t},\n\t\t\t\tid: {\n\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\tattribute: 'data-id',\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tcolumns: {\n\t\t\ttype: 'number',\n\t\t},\n\t\timageCrop: {\n\t\t\ttype: 'boolean',\n\t\t\tdefault: true,\n\t\t},\n\t\tlinkTo: {\n\t\t\ttype: 'string',\n\t\t\tdefault: 'none',\n\t\t},\n\t\talign: {\n\t\t\ttype: 'string',\n\t\t\tdefault: 'none',\n\t\t},\n\t},\n\tsupports: {\n\t\talign: true,\n\t},\n\tsave( { attributes } ) {\n\t\tconst {\n\t\t\timages,\n\t\t\tcolumns = defaultColumnsNumberV1( attributes ),\n\t\t\talign,\n\t\t\timageCrop,\n\t\t\tlinkTo,\n\t\t} = attributes;\n\t\tconst className = classnames( `columns-${ columns }`, {\n\t\t\talignnone: align === 'none',\n\t\t\t'is-cropped': imageCrop,\n\t\t} );\n\t\treturn (\n\t\t\t<div className={ className }>\n\t\t\t\t{ images.map( ( image ) => {\n\t\t\t\t\tlet href;\n\n\t\t\t\t\tswitch ( linkTo ) {\n\t\t\t\t\t\tcase 'media':\n\t\t\t\t\t\t\thref = image.url;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase 'attachment':\n\t\t\t\t\t\t\thref = image.link;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\n\t\t\t\t\tconst img = (\n\t\t\t\t\t\t<img\n\t\t\t\t\t\t\tsrc={ image.url }\n\t\t\t\t\t\t\talt={ image.alt }\n\t\t\t\t\t\t\tdata-id={ image.id }\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<figure\n\t\t\t\t\t\t\tkey={ image.id || image.url }\n\t\t\t\t\t\t\tclassName=\"blocks-gallery-image\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ href ? <a href={ href }>{ img }</a> : img }\n\t\t\t\t\t\t</figure>\n\t\t\t\t\t);\n\t\t\t\t} ) }\n\t\t\t</div>\n\t\t);\n\t},\n\tmigrate( attributes ) {\n\t\tif ( isGalleryV2Enabled() ) {\n\t\t\treturn runV2Migration( attributes );\n\t\t}\n\n\t\treturn attributes;\n\t},\n};\n\nexport default [ v6, v5, v4, v3, v2, v1 ];\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/gallery/deprecated.js"],"names":["DEPRECATED_LINK_DESTINATION_MEDIA","DEPRECATED_LINK_DESTINATION_ATTACHMENT","defaultColumnsNumberV1","attributes","Math","min","images","length","getHrefAndDestination","image","destination","href","source_url","url","linkDestination","LINK_DESTINATION_MEDIA","link","LINK_DESTINATION_ATTACHMENT","LINK_DESTINATION_NONE","undefined","runV2Migration","linkTo","imageBlocks","map","getImageBlock","sizeSlug","ids","restAttributes","allowResize","id","parseInt","alt","caption","v6","type","default","source","selector","query","attribute","fullUrl","items","columns","minimum","maximum","imageCrop","fixedHeight","supports","anchor","align","save","className","useBlockProps","img","RichText","isEmpty","migrate","v5","isEligible","v4","some","parsedId","Number","isInteger","v3","v2","index","v1","alignnone"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { map, some } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { RichText, useBlockProps } from '@wordpress/block-editor';\n\nimport { createBlock } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport {\n\tLINK_DESTINATION_ATTACHMENT,\n\tLINK_DESTINATION_MEDIA,\n\tLINK_DESTINATION_NONE,\n} from './constants';\nimport { isGalleryV2Enabled } from './shared';\n\nconst DEPRECATED_LINK_DESTINATION_MEDIA = 'file';\nconst DEPRECATED_LINK_DESTINATION_ATTACHMENT = 'post';\n\n/**\n * Original function to determine default number of columns from a block's\n * attributes.\n *\n * Used in deprecations: v1-6, for versions of the gallery block that didn't use inner blocks.\n *\n * @param {Object} attributes Block attributes.\n * @return {number} Default number of columns for the gallery.\n */\nexport function defaultColumnsNumberV1( attributes ) {\n\treturn Math.min( 3, attributes?.images?.length );\n}\n\n/**\n * Original function to determine new href and linkDestination values for an image block from the\n * supplied Gallery link destination.\n *\n * Used in deprecations: v1-6.\n *\n * @param {Object} image Gallery image.\n * @param {string} destination Gallery's selected link destination.\n * @return {Object} New attributes to assign to image block.\n */\nexport function getHrefAndDestination( image, destination ) {\n\t// Need to determine the URL that the selected destination maps to.\n\t// Gutenberg and WordPress use different constants so the new link\n\t// destination also needs to be tweaked.\n\tswitch ( destination ) {\n\t\tcase DEPRECATED_LINK_DESTINATION_MEDIA:\n\t\t\treturn {\n\t\t\t\thref: image?.source_url || image?.url, // eslint-disable-line camelcase\n\t\t\t\tlinkDestination: LINK_DESTINATION_MEDIA,\n\t\t\t};\n\t\tcase DEPRECATED_LINK_DESTINATION_ATTACHMENT:\n\t\t\treturn {\n\t\t\t\thref: image?.link,\n\t\t\t\tlinkDestination: LINK_DESTINATION_ATTACHMENT,\n\t\t\t};\n\t\tcase LINK_DESTINATION_MEDIA:\n\t\t\treturn {\n\t\t\t\thref: image?.source_url || image?.url, // eslint-disable-line camelcase\n\t\t\t\tlinkDestination: LINK_DESTINATION_MEDIA,\n\t\t\t};\n\t\tcase LINK_DESTINATION_ATTACHMENT:\n\t\t\treturn {\n\t\t\t\thref: image?.link,\n\t\t\t\tlinkDestination: LINK_DESTINATION_ATTACHMENT,\n\t\t\t};\n\t\tcase LINK_DESTINATION_NONE:\n\t\t\treturn {\n\t\t\t\thref: undefined,\n\t\t\t\tlinkDestination: LINK_DESTINATION_NONE,\n\t\t\t};\n\t}\n\n\treturn {};\n}\n\nfunction runV2Migration( attributes ) {\n\tlet linkTo = attributes.linkTo ? attributes.linkTo : 'none';\n\n\tif ( linkTo === 'post' ) {\n\t\tlinkTo = 'attachment';\n\t} else if ( linkTo === 'file' ) {\n\t\tlinkTo = 'media';\n\t}\n\n\tconst imageBlocks = attributes.images.map( ( image ) => {\n\t\treturn getImageBlock( image, attributes.sizeSlug, linkTo );\n\t} );\n\n\tconst { images, ids, ...restAttributes } = attributes;\n\n\treturn [\n\t\t{\n\t\t\t...restAttributes,\n\t\t\tlinkTo,\n\t\t\tallowResize: false,\n\t\t},\n\t\timageBlocks,\n\t];\n}\n/**\n * Gets an Image block from gallery image data\n *\n * Used to migrate Galleries to nested Image InnerBlocks.\n *\n * @param {Object} image Image properties.\n * @param {string} sizeSlug Gallery sizeSlug attribute.\n * @param {string} linkTo Gallery linkTo attribute.\n * @return {Object} Image block.\n */\nexport function getImageBlock( image, sizeSlug, linkTo ) {\n\treturn createBlock( 'core/image', {\n\t\t...( image.id && { id: parseInt( image.id ) } ),\n\t\turl: image.url,\n\t\talt: image.alt,\n\t\tcaption: image.caption,\n\t\tsizeSlug,\n\t\t...getHrefAndDestination( image, linkTo ),\n\t} );\n}\n\nconst v6 = {\n\tattributes: {\n\t\timages: {\n\t\t\ttype: 'array',\n\t\t\tdefault: [],\n\t\t\tsource: 'query',\n\t\t\tselector: '.blocks-gallery-item',\n\t\t\tquery: {\n\t\t\t\turl: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\tselector: 'img',\n\t\t\t\t\tattribute: 'src',\n\t\t\t\t},\n\t\t\t\tfullUrl: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\tselector: 'img',\n\t\t\t\t\tattribute: 'data-full-url',\n\t\t\t\t},\n\t\t\t\tlink: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\tselector: 'img',\n\t\t\t\t\tattribute: 'data-link',\n\t\t\t\t},\n\t\t\t\talt: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\tselector: 'img',\n\t\t\t\t\tattribute: 'alt',\n\t\t\t\t\tdefault: '',\n\t\t\t\t},\n\t\t\t\tid: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\tselector: 'img',\n\t\t\t\t\tattribute: 'data-id',\n\t\t\t\t},\n\t\t\t\tcaption: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t\tsource: 'html',\n\t\t\t\t\tselector: '.blocks-gallery-item__caption',\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tids: {\n\t\t\ttype: 'array',\n\t\t\titems: {\n\t\t\t\ttype: 'number',\n\t\t\t},\n\t\t\tdefault: [],\n\t\t},\n\t\tcolumns: {\n\t\t\ttype: 'number',\n\t\t\tminimum: 1,\n\t\t\tmaximum: 8,\n\t\t},\n\t\tcaption: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'html',\n\t\t\tselector: '.blocks-gallery-caption',\n\t\t},\n\t\timageCrop: {\n\t\t\ttype: 'boolean',\n\t\t\tdefault: true,\n\t\t},\n\t\tfixedHeight: {\n\t\t\ttype: 'boolean',\n\t\t\tdefault: true,\n\t\t},\n\t\tlinkTo: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tsizeSlug: {\n\t\t\ttype: 'string',\n\t\t\tdefault: 'large',\n\t\t},\n\t},\n\tsupports: {\n\t\tanchor: true,\n\t\talign: true,\n\t},\n\tsave( { attributes } ) {\n\t\tconst {\n\t\t\timages,\n\t\t\tcolumns = defaultColumnsNumberV1( attributes ),\n\t\t\timageCrop,\n\t\t\tcaption,\n\t\t\tlinkTo,\n\t\t} = attributes;\n\t\tconst className = `columns-${ columns } ${\n\t\t\timageCrop ? 'is-cropped' : ''\n\t\t}`;\n\n\t\treturn (\n\t\t\t<figure { ...useBlockProps.save( { className } ) }>\n\t\t\t\t<ul className=\"blocks-gallery-grid\">\n\t\t\t\t\t{ images.map( ( image ) => {\n\t\t\t\t\t\tlet href;\n\n\t\t\t\t\t\tswitch ( linkTo ) {\n\t\t\t\t\t\t\tcase DEPRECATED_LINK_DESTINATION_MEDIA:\n\t\t\t\t\t\t\t\thref = image.fullUrl || image.url;\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase DEPRECATED_LINK_DESTINATION_ATTACHMENT:\n\t\t\t\t\t\t\t\thref = image.link;\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tconst img = (\n\t\t\t\t\t\t\t<img\n\t\t\t\t\t\t\t\tsrc={ image.url }\n\t\t\t\t\t\t\t\talt={ image.alt }\n\t\t\t\t\t\t\t\tdata-id={ image.id }\n\t\t\t\t\t\t\t\tdata-full-url={ image.fullUrl }\n\t\t\t\t\t\t\t\tdata-link={ image.link }\n\t\t\t\t\t\t\t\tclassName={\n\t\t\t\t\t\t\t\t\timage.id ? `wp-image-${ image.id }` : null\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<li\n\t\t\t\t\t\t\t\tkey={ image.id || image.url }\n\t\t\t\t\t\t\t\tclassName=\"blocks-gallery-item\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<figure>\n\t\t\t\t\t\t\t\t\t{ href ? (\n\t\t\t\t\t\t\t\t\t\t<a href={ href }>{ img }</a>\n\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\timg\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t{ ! RichText.isEmpty( image.caption ) && (\n\t\t\t\t\t\t\t\t\t\t<RichText.Content\n\t\t\t\t\t\t\t\t\t\t\ttagName=\"figcaption\"\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"blocks-gallery-item__caption\"\n\t\t\t\t\t\t\t\t\t\t\tvalue={ image.caption }\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</figure>\n\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t);\n\t\t\t\t\t} ) }\n\t\t\t\t</ul>\n\t\t\t\t{ ! RichText.isEmpty( caption ) && (\n\t\t\t\t\t<RichText.Content\n\t\t\t\t\t\ttagName=\"figcaption\"\n\t\t\t\t\t\tclassName=\"blocks-gallery-caption\"\n\t\t\t\t\t\tvalue={ caption }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</figure>\n\t\t);\n\t},\n\tmigrate( attributes ) {\n\t\tif ( isGalleryV2Enabled() ) {\n\t\t\treturn runV2Migration( attributes );\n\t\t}\n\n\t\treturn attributes;\n\t},\n};\nconst v5 = {\n\tattributes: {\n\t\timages: {\n\t\t\ttype: 'array',\n\t\t\tdefault: [],\n\t\t\tsource: 'query',\n\t\t\tselector: '.blocks-gallery-item',\n\t\t\tquery: {\n\t\t\t\turl: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\tselector: 'img',\n\t\t\t\t\tattribute: 'src',\n\t\t\t\t},\n\t\t\t\tfullUrl: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\tselector: 'img',\n\t\t\t\t\tattribute: 'data-full-url',\n\t\t\t\t},\n\t\t\t\tlink: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\tselector: 'img',\n\t\t\t\t\tattribute: 'data-link',\n\t\t\t\t},\n\t\t\t\talt: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\tselector: 'img',\n\t\t\t\t\tattribute: 'alt',\n\t\t\t\t\tdefault: '',\n\t\t\t\t},\n\t\t\t\tid: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\tselector: 'img',\n\t\t\t\t\tattribute: 'data-id',\n\t\t\t\t},\n\t\t\t\tcaption: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t\tsource: 'html',\n\t\t\t\t\tselector: '.blocks-gallery-item__caption',\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tids: {\n\t\t\ttype: 'array',\n\t\t\titems: {\n\t\t\t\ttype: 'number',\n\t\t\t},\n\t\t\tdefault: [],\n\t\t},\n\t\tcolumns: {\n\t\t\ttype: 'number',\n\t\t\tminimum: 1,\n\t\t\tmaximum: 8,\n\t\t},\n\t\tcaption: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'html',\n\t\t\tselector: '.blocks-gallery-caption',\n\t\t},\n\t\timageCrop: {\n\t\t\ttype: 'boolean',\n\t\t\tdefault: true,\n\t\t},\n\t\tlinkTo: {\n\t\t\ttype: 'string',\n\t\t\tdefault: 'none',\n\t\t},\n\t\tsizeSlug: {\n\t\t\ttype: 'string',\n\t\t\tdefault: 'large',\n\t\t},\n\t},\n\tsupports: {\n\t\talign: true,\n\t},\n\tisEligible( { linkTo } ) {\n\t\treturn ! linkTo || linkTo === 'attachment' || linkTo === 'media';\n\t},\n\tmigrate( attributes ) {\n\t\tif ( isGalleryV2Enabled() ) {\n\t\t\treturn runV2Migration( attributes );\n\t\t}\n\n\t\tlet linkTo = attributes.linkTo;\n\n\t\tif ( ! attributes.linkTo ) {\n\t\t\tlinkTo = 'none';\n\t\t} else if ( attributes.linkTo === 'attachment' ) {\n\t\t\tlinkTo = 'post';\n\t\t} else if ( attributes.linkTo === 'media' ) {\n\t\t\tlinkTo = 'file';\n\t\t}\n\t\treturn {\n\t\t\t...attributes,\n\t\t\tlinkTo,\n\t\t};\n\t},\n\tsave( { attributes } ) {\n\t\tconst {\n\t\t\timages,\n\t\t\tcolumns = defaultColumnsNumberV1( attributes ),\n\t\t\timageCrop,\n\t\t\tcaption,\n\t\t\tlinkTo,\n\t\t} = attributes;\n\n\t\treturn (\n\t\t\t<figure\n\t\t\t\tclassName={ `columns-${ columns } ${\n\t\t\t\t\timageCrop ? 'is-cropped' : ''\n\t\t\t\t}` }\n\t\t\t>\n\t\t\t\t<ul className=\"blocks-gallery-grid\">\n\t\t\t\t\t{ images.map( ( image ) => {\n\t\t\t\t\t\tlet href;\n\n\t\t\t\t\t\tswitch ( linkTo ) {\n\t\t\t\t\t\t\tcase 'media':\n\t\t\t\t\t\t\t\thref = image.fullUrl || image.url;\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase 'attachment':\n\t\t\t\t\t\t\t\thref = image.link;\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tconst img = (\n\t\t\t\t\t\t\t<img\n\t\t\t\t\t\t\t\tsrc={ image.url }\n\t\t\t\t\t\t\t\talt={ image.alt }\n\t\t\t\t\t\t\t\tdata-id={ image.id }\n\t\t\t\t\t\t\t\tdata-full-url={ image.fullUrl }\n\t\t\t\t\t\t\t\tdata-link={ image.link }\n\t\t\t\t\t\t\t\tclassName={\n\t\t\t\t\t\t\t\t\timage.id ? `wp-image-${ image.id }` : null\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<li\n\t\t\t\t\t\t\t\tkey={ image.id || image.url }\n\t\t\t\t\t\t\t\tclassName=\"blocks-gallery-item\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<figure>\n\t\t\t\t\t\t\t\t\t{ href ? (\n\t\t\t\t\t\t\t\t\t\t<a href={ href }>{ img }</a>\n\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\timg\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t{ ! RichText.isEmpty( image.caption ) && (\n\t\t\t\t\t\t\t\t\t\t<RichText.Content\n\t\t\t\t\t\t\t\t\t\t\ttagName=\"figcaption\"\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"blocks-gallery-item__caption\"\n\t\t\t\t\t\t\t\t\t\t\tvalue={ image.caption }\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</figure>\n\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t);\n\t\t\t\t\t} ) }\n\t\t\t\t</ul>\n\t\t\t\t{ ! RichText.isEmpty( caption ) && (\n\t\t\t\t\t<RichText.Content\n\t\t\t\t\t\ttagName=\"figcaption\"\n\t\t\t\t\t\tclassName=\"blocks-gallery-caption\"\n\t\t\t\t\t\tvalue={ caption }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</figure>\n\t\t);\n\t},\n};\n\nconst v4 = {\n\tattributes: {\n\t\timages: {\n\t\t\ttype: 'array',\n\t\t\tdefault: [],\n\t\t\tsource: 'query',\n\t\t\tselector: '.blocks-gallery-item',\n\t\t\tquery: {\n\t\t\t\turl: {\n\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\tselector: 'img',\n\t\t\t\t\tattribute: 'src',\n\t\t\t\t},\n\t\t\t\tfullUrl: {\n\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\tselector: 'img',\n\t\t\t\t\tattribute: 'data-full-url',\n\t\t\t\t},\n\t\t\t\tlink: {\n\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\tselector: 'img',\n\t\t\t\t\tattribute: 'data-link',\n\t\t\t\t},\n\t\t\t\talt: {\n\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\tselector: 'img',\n\t\t\t\t\tattribute: 'alt',\n\t\t\t\t\tdefault: '',\n\t\t\t\t},\n\t\t\t\tid: {\n\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\tselector: 'img',\n\t\t\t\t\tattribute: 'data-id',\n\t\t\t\t},\n\t\t\t\tcaption: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t\tsource: 'html',\n\t\t\t\t\tselector: '.blocks-gallery-item__caption',\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tids: {\n\t\t\ttype: 'array',\n\t\t\tdefault: [],\n\t\t},\n\t\tcolumns: {\n\t\t\ttype: 'number',\n\t\t},\n\t\tcaption: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'html',\n\t\t\tselector: '.blocks-gallery-caption',\n\t\t},\n\t\timageCrop: {\n\t\t\ttype: 'boolean',\n\t\t\tdefault: true,\n\t\t},\n\t\tlinkTo: {\n\t\t\ttype: 'string',\n\t\t\tdefault: 'none',\n\t\t},\n\t},\n\tsupports: {\n\t\talign: true,\n\t},\n\tisEligible( { ids } ) {\n\t\treturn ids && ids.some( ( id ) => typeof id === 'string' );\n\t},\n\tmigrate( attributes ) {\n\t\tif ( isGalleryV2Enabled() ) {\n\t\t\treturn runV2Migration( attributes );\n\t\t}\n\n\t\treturn {\n\t\t\t...attributes,\n\t\t\tids: map( attributes.ids, ( id ) => {\n\t\t\t\tconst parsedId = parseInt( id, 10 );\n\t\t\t\treturn Number.isInteger( parsedId ) ? parsedId : null;\n\t\t\t} ),\n\t\t};\n\t},\n\tsave( { attributes } ) {\n\t\tconst {\n\t\t\timages,\n\t\t\tcolumns = defaultColumnsNumberV1( attributes ),\n\t\t\timageCrop,\n\t\t\tcaption,\n\t\t\tlinkTo,\n\t\t} = attributes;\n\n\t\treturn (\n\t\t\t<figure\n\t\t\t\tclassName={ `columns-${ columns } ${\n\t\t\t\t\timageCrop ? 'is-cropped' : ''\n\t\t\t\t}` }\n\t\t\t>\n\t\t\t\t<ul className=\"blocks-gallery-grid\">\n\t\t\t\t\t{ images.map( ( image ) => {\n\t\t\t\t\t\tlet href;\n\n\t\t\t\t\t\tswitch ( linkTo ) {\n\t\t\t\t\t\t\tcase 'media':\n\t\t\t\t\t\t\t\thref = image.fullUrl || image.url;\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\tcase 'attachment':\n\t\t\t\t\t\t\t\thref = image.link;\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tconst img = (\n\t\t\t\t\t\t\t<img\n\t\t\t\t\t\t\t\tsrc={ image.url }\n\t\t\t\t\t\t\t\talt={ image.alt }\n\t\t\t\t\t\t\t\tdata-id={ image.id }\n\t\t\t\t\t\t\t\tdata-full-url={ image.fullUrl }\n\t\t\t\t\t\t\t\tdata-link={ image.link }\n\t\t\t\t\t\t\t\tclassName={\n\t\t\t\t\t\t\t\t\timage.id ? `wp-image-${ image.id }` : null\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<li\n\t\t\t\t\t\t\t\tkey={ image.id || image.url }\n\t\t\t\t\t\t\t\tclassName=\"blocks-gallery-item\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<figure>\n\t\t\t\t\t\t\t\t\t{ href ? (\n\t\t\t\t\t\t\t\t\t\t<a href={ href }>{ img }</a>\n\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\timg\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t{ ! RichText.isEmpty( image.caption ) && (\n\t\t\t\t\t\t\t\t\t\t<RichText.Content\n\t\t\t\t\t\t\t\t\t\t\ttagName=\"figcaption\"\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"blocks-gallery-item__caption\"\n\t\t\t\t\t\t\t\t\t\t\tvalue={ image.caption }\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</figure>\n\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t);\n\t\t\t\t\t} ) }\n\t\t\t\t</ul>\n\t\t\t\t{ ! RichText.isEmpty( caption ) && (\n\t\t\t\t\t<RichText.Content\n\t\t\t\t\t\ttagName=\"figcaption\"\n\t\t\t\t\t\tclassName=\"blocks-gallery-caption\"\n\t\t\t\t\t\tvalue={ caption }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</figure>\n\t\t);\n\t},\n};\nconst v3 = {\n\tattributes: {\n\t\timages: {\n\t\t\ttype: 'array',\n\t\t\tdefault: [],\n\t\t\tsource: 'query',\n\t\t\tselector: 'ul.wp-block-gallery .blocks-gallery-item',\n\t\t\tquery: {\n\t\t\t\turl: {\n\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\tselector: 'img',\n\t\t\t\t\tattribute: 'src',\n\t\t\t\t},\n\t\t\t\tfullUrl: {\n\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\tselector: 'img',\n\t\t\t\t\tattribute: 'data-full-url',\n\t\t\t\t},\n\t\t\t\talt: {\n\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\tselector: 'img',\n\t\t\t\t\tattribute: 'alt',\n\t\t\t\t\tdefault: '',\n\t\t\t\t},\n\t\t\t\tid: {\n\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\tselector: 'img',\n\t\t\t\t\tattribute: 'data-id',\n\t\t\t\t},\n\t\t\t\tlink: {\n\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\tselector: 'img',\n\t\t\t\t\tattribute: 'data-link',\n\t\t\t\t},\n\t\t\t\tcaption: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t\tsource: 'html',\n\t\t\t\t\tselector: 'figcaption',\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tids: {\n\t\t\ttype: 'array',\n\t\t\tdefault: [],\n\t\t},\n\t\tcolumns: {\n\t\t\ttype: 'number',\n\t\t},\n\t\timageCrop: {\n\t\t\ttype: 'boolean',\n\t\t\tdefault: true,\n\t\t},\n\t\tlinkTo: {\n\t\t\ttype: 'string',\n\t\t\tdefault: 'none',\n\t\t},\n\t},\n\tsupports: {\n\t\talign: true,\n\t},\n\tsave( { attributes } ) {\n\t\tconst {\n\t\t\timages,\n\t\t\tcolumns = defaultColumnsNumberV1( attributes ),\n\t\t\timageCrop,\n\t\t\tlinkTo,\n\t\t} = attributes;\n\t\treturn (\n\t\t\t<ul\n\t\t\t\tclassName={ `columns-${ columns } ${\n\t\t\t\t\timageCrop ? 'is-cropped' : ''\n\t\t\t\t}` }\n\t\t\t>\n\t\t\t\t{ images.map( ( image ) => {\n\t\t\t\t\tlet href;\n\n\t\t\t\t\tswitch ( linkTo ) {\n\t\t\t\t\t\tcase 'media':\n\t\t\t\t\t\t\thref = image.fullUrl || image.url;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase 'attachment':\n\t\t\t\t\t\t\thref = image.link;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\n\t\t\t\t\tconst img = (\n\t\t\t\t\t\t<img\n\t\t\t\t\t\t\tsrc={ image.url }\n\t\t\t\t\t\t\talt={ image.alt }\n\t\t\t\t\t\t\tdata-id={ image.id }\n\t\t\t\t\t\t\tdata-full-url={ image.fullUrl }\n\t\t\t\t\t\t\tdata-link={ image.link }\n\t\t\t\t\t\t\tclassName={\n\t\t\t\t\t\t\t\timage.id ? `wp-image-${ image.id }` : null\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<li\n\t\t\t\t\t\t\tkey={ image.id || image.url }\n\t\t\t\t\t\t\tclassName=\"blocks-gallery-item\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<figure>\n\t\t\t\t\t\t\t\t{ href ? <a href={ href }>{ img }</a> : img }\n\t\t\t\t\t\t\t\t{ image.caption && image.caption.length > 0 && (\n\t\t\t\t\t\t\t\t\t<RichText.Content\n\t\t\t\t\t\t\t\t\t\ttagName=\"figcaption\"\n\t\t\t\t\t\t\t\t\t\tvalue={ image.caption }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</figure>\n\t\t\t\t\t\t</li>\n\t\t\t\t\t);\n\t\t\t\t} ) }\n\t\t\t</ul>\n\t\t);\n\t},\n\tmigrate( attributes ) {\n\t\tif ( isGalleryV2Enabled() ) {\n\t\t\treturn runV2Migration( attributes );\n\t\t}\n\t\treturn attributes;\n\t},\n};\nconst v2 = {\n\tattributes: {\n\t\timages: {\n\t\t\ttype: 'array',\n\t\t\tdefault: [],\n\t\t\tsource: 'query',\n\t\t\tselector: 'ul.wp-block-gallery .blocks-gallery-item',\n\t\t\tquery: {\n\t\t\t\turl: {\n\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\tselector: 'img',\n\t\t\t\t\tattribute: 'src',\n\t\t\t\t},\n\t\t\t\talt: {\n\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\tselector: 'img',\n\t\t\t\t\tattribute: 'alt',\n\t\t\t\t\tdefault: '',\n\t\t\t\t},\n\t\t\t\tid: {\n\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\tselector: 'img',\n\t\t\t\t\tattribute: 'data-id',\n\t\t\t\t},\n\t\t\t\tlink: {\n\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\tselector: 'img',\n\t\t\t\t\tattribute: 'data-link',\n\t\t\t\t},\n\t\t\t\tcaption: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t\tsource: 'html',\n\t\t\t\t\tselector: 'figcaption',\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tcolumns: {\n\t\t\ttype: 'number',\n\t\t},\n\t\timageCrop: {\n\t\t\ttype: 'boolean',\n\t\t\tdefault: true,\n\t\t},\n\t\tlinkTo: {\n\t\t\ttype: 'string',\n\t\t\tdefault: 'none',\n\t\t},\n\t},\n\tisEligible( { images, ids } ) {\n\t\treturn (\n\t\t\timages &&\n\t\t\timages.length > 0 &&\n\t\t\t( ( ! ids && images ) ||\n\t\t\t\t( ids && images && ids.length !== images.length ) ||\n\t\t\t\tsome( images, ( id, index ) => {\n\t\t\t\t\tif ( ! id && ids[ index ] !== null ) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t\treturn parseInt( id, 10 ) !== ids[ index ];\n\t\t\t\t} ) )\n\t\t);\n\t},\n\tmigrate( attributes ) {\n\t\tif ( isGalleryV2Enabled() ) {\n\t\t\treturn runV2Migration( attributes );\n\t\t}\n\t\treturn {\n\t\t\t...attributes,\n\t\t\tids: map( attributes.images, ( { id } ) => {\n\t\t\t\tif ( ! id ) {\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\t\t\t\treturn parseInt( id, 10 );\n\t\t\t} ),\n\t\t};\n\t},\n\tsupports: {\n\t\talign: true,\n\t},\n\tsave( { attributes } ) {\n\t\tconst {\n\t\t\timages,\n\t\t\tcolumns = defaultColumnsNumberV1( attributes ),\n\t\t\timageCrop,\n\t\t\tlinkTo,\n\t\t} = attributes;\n\t\treturn (\n\t\t\t<ul\n\t\t\t\tclassName={ `columns-${ columns } ${\n\t\t\t\t\timageCrop ? 'is-cropped' : ''\n\t\t\t\t}` }\n\t\t\t>\n\t\t\t\t{ images.map( ( image ) => {\n\t\t\t\t\tlet href;\n\n\t\t\t\t\tswitch ( linkTo ) {\n\t\t\t\t\t\tcase 'media':\n\t\t\t\t\t\t\thref = image.url;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase 'attachment':\n\t\t\t\t\t\t\thref = image.link;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\n\t\t\t\t\tconst img = (\n\t\t\t\t\t\t<img\n\t\t\t\t\t\t\tsrc={ image.url }\n\t\t\t\t\t\t\talt={ image.alt }\n\t\t\t\t\t\t\tdata-id={ image.id }\n\t\t\t\t\t\t\tdata-link={ image.link }\n\t\t\t\t\t\t\tclassName={\n\t\t\t\t\t\t\t\timage.id ? `wp-image-${ image.id }` : null\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<li\n\t\t\t\t\t\t\tkey={ image.id || image.url }\n\t\t\t\t\t\t\tclassName=\"blocks-gallery-item\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<figure>\n\t\t\t\t\t\t\t\t{ href ? <a href={ href }>{ img }</a> : img }\n\t\t\t\t\t\t\t\t{ image.caption && image.caption.length > 0 && (\n\t\t\t\t\t\t\t\t\t<RichText.Content\n\t\t\t\t\t\t\t\t\t\ttagName=\"figcaption\"\n\t\t\t\t\t\t\t\t\t\tvalue={ image.caption }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</figure>\n\t\t\t\t\t\t</li>\n\t\t\t\t\t);\n\t\t\t\t} ) }\n\t\t\t</ul>\n\t\t);\n\t},\n};\n\nconst v1 = {\n\tattributes: {\n\t\timages: {\n\t\t\ttype: 'array',\n\t\t\tdefault: [],\n\t\t\tsource: 'query',\n\t\t\tselector: 'div.wp-block-gallery figure.blocks-gallery-image img',\n\t\t\tquery: {\n\t\t\t\turl: {\n\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\tattribute: 'src',\n\t\t\t\t},\n\t\t\t\talt: {\n\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\tattribute: 'alt',\n\t\t\t\t\tdefault: '',\n\t\t\t\t},\n\t\t\t\tid: {\n\t\t\t\t\tsource: 'attribute',\n\t\t\t\t\tattribute: 'data-id',\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tcolumns: {\n\t\t\ttype: 'number',\n\t\t},\n\t\timageCrop: {\n\t\t\ttype: 'boolean',\n\t\t\tdefault: true,\n\t\t},\n\t\tlinkTo: {\n\t\t\ttype: 'string',\n\t\t\tdefault: 'none',\n\t\t},\n\t\talign: {\n\t\t\ttype: 'string',\n\t\t\tdefault: 'none',\n\t\t},\n\t},\n\tsupports: {\n\t\talign: true,\n\t},\n\tsave( { attributes } ) {\n\t\tconst {\n\t\t\timages,\n\t\t\tcolumns = defaultColumnsNumberV1( attributes ),\n\t\t\talign,\n\t\t\timageCrop,\n\t\t\tlinkTo,\n\t\t} = attributes;\n\t\tconst className = classnames( `columns-${ columns }`, {\n\t\t\talignnone: align === 'none',\n\t\t\t'is-cropped': imageCrop,\n\t\t} );\n\t\treturn (\n\t\t\t<div className={ className }>\n\t\t\t\t{ images.map( ( image ) => {\n\t\t\t\t\tlet href;\n\n\t\t\t\t\tswitch ( linkTo ) {\n\t\t\t\t\t\tcase 'media':\n\t\t\t\t\t\t\thref = image.url;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase 'attachment':\n\t\t\t\t\t\t\thref = image.link;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\n\t\t\t\t\tconst img = (\n\t\t\t\t\t\t<img\n\t\t\t\t\t\t\tsrc={ image.url }\n\t\t\t\t\t\t\talt={ image.alt }\n\t\t\t\t\t\t\tdata-id={ image.id }\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<figure\n\t\t\t\t\t\t\tkey={ image.id || image.url }\n\t\t\t\t\t\t\tclassName=\"blocks-gallery-image\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ href ? <a href={ href }>{ img }</a> : img }\n\t\t\t\t\t\t</figure>\n\t\t\t\t\t);\n\t\t\t\t} ) }\n\t\t\t</div>\n\t\t);\n\t},\n\tmigrate( attributes ) {\n\t\tif ( isGalleryV2Enabled() ) {\n\t\t\treturn runV2Migration( attributes );\n\t\t}\n\n\t\treturn attributes;\n\t},\n};\n\nexport default [ v6, v5, v4, v3, v2, v1 ];\n"]}
@@ -65,7 +65,8 @@ function ListItemEdit(_ref2) {
65
65
  ref: (0, _hooks.useCopy)(clientId)
66
66
  });
67
67
  const innerBlocksProps = (0, _blockEditor.useInnerBlocksProps)(blockProps, {
68
- allowedBlocks: ['core/list']
68
+ allowedBlocks: ['core/list'],
69
+ renderAppender: false
69
70
  });
70
71
  const useEnterRef = (0, _hooks.useEnter)({
71
72
  content,
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/list-item/edit.js"],"names":["IndentUI","clientId","canIndent","indentListItem","canOutdent","outdentListItem","formatOutdentRTL","formatOutdent","formatIndentRTL","formatIndent","ListItemEdit","attributes","setAttributes","onReplace","placeholder","content","blockProps","ref","innerBlocksProps","allowedBlocks","useEnterRef","useSpaceRef","onSplit","onMerge","nextContent","blocks","args","children"],"mappings":";;;;;;;;;;AAGA;;AAMA;;AACA;;AACA;;AAMA;;AAKA;;AASA;;AA/BA;AACA;AACA;;AAiBA;AACA;AACA;AAYO,SAASA,QAAT,OAAkC;AAAA,MAAf;AAAEC,IAAAA;AAAF,GAAe;AACxC,QAAM,CAAEC,SAAF,EAAaC,cAAb,IAAgC,8BAAmBF,QAAnB,CAAtC;AACA,QAAM,CAAEG,UAAF,EAAcC,eAAd,IAAkC,+BAAoBJ,QAApB,CAAxC;AAEA,SACC,qDACC,4BAAC,yBAAD;AACC,IAAA,IAAI,EAAG,qBAAUK,uBAAV,GAA6BC,oBADrC;AAEC,IAAA,KAAK,EAAG,cAAI,SAAJ,CAFT;AAGC,IAAA,WAAW,EAAG,cAAI,mBAAJ,CAHf;AAIC,IAAA,QAAQ,EAAG,CAAEH,UAJd;AAKC,IAAA,OAAO,EAAG,MAAMC,eAAe;AALhC,IADD,EAQC,4BAAC,yBAAD;AACC,IAAA,IAAI,EAAG,qBAAUG,sBAAV,GAA4BC,mBADpC;AAEC,IAAA,KAAK,EAAG,cAAI,QAAJ,CAFT;AAGC,IAAA,WAAW,EAAG,cAAI,kBAAJ,CAHf;AAIC,IAAA,UAAU,EAAG,CAAEP,SAJhB;AAKC,IAAA,OAAO,EAAG,MAAMC,cAAc;AAL/B,IARD,CADD;AAkBA;;AAEc,SAASO,YAAT,QAKX;AAAA,MALkC;AACrCC,IAAAA,UADqC;AAErCC,IAAAA,aAFqC;AAGrCC,IAAAA,SAHqC;AAIrCZ,IAAAA;AAJqC,GAKlC;AACH,QAAM;AAAEa,IAAAA,WAAF;AAAeC,IAAAA;AAAf,MAA2BJ,UAAjC;AACA,QAAMK,UAAU,GAAG,gCAAe;AAAEC,IAAAA,GAAG,EAAE,oBAAShB,QAAT;AAAP,GAAf,CAAnB;AACA,QAAMiB,gBAAgB,GAAG,sCAAqBF,UAArB,EAAiC;AACzDG,IAAAA,aAAa,EAAE,CAAE,WAAF;AAD0C,GAAjC,CAAzB;AAGA,QAAMC,WAAW,GAAG,qBAAU;AAAEL,IAAAA,OAAF;AAAWd,IAAAA;AAAX,GAAV,CAApB;AACA,QAAMoB,WAAW,GAAG,qBAAUpB,QAAV,CAApB;AACA,QAAMqB,OAAO,GAAG,qBAAUrB,QAAV,CAAhB;AACA,QAAMsB,OAAO,GAAG,qBAAUtB,QAAV,CAAhB;AACA,SACC,qDACC,kCAASiB,gBAAT,EACC,4BAAC,qBAAD;AACC,IAAA,GAAG,EAAG,2BAAc,CAAEE,WAAF,EAAeC,WAAf,CAAd,CADP;AAEC,IAAA,UAAU,EAAC,SAFZ;AAGC,IAAA,OAAO,EAAC,KAHT;AAIC,IAAA,QAAQ,EAAKG,WAAF,IACVZ,aAAa,CAAE;AAAEG,MAAAA,OAAO,EAAES;AAAX,KAAF,CALf;AAOC,IAAA,KAAK,EAAGT,OAPT;AAQC,kBAAa,cAAI,WAAJ,CARd;AASC,IAAA,WAAW,EAAGD,WAAW,IAAI,cAAI,MAAJ,CAT9B;AAUC,IAAA,OAAO,EAAGQ,OAVX;AAWC,IAAA,OAAO,EAAGC,OAXX;AAYC,IAAA,SAAS,EAAG,UAAEE,MAAF,EAAuB;AAAA,wCAAVC,IAAU;AAAVA,QAAAA,IAAU;AAAA;;AAClCb,MAAAA,SAAS,CAAE,+BAAoBY,MAApB,CAAF,EAAgC,GAAGC,IAAnC,CAAT;AACA;AAdF,IADD,EAiBGR,gBAAgB,CAACS,QAjBpB,CADD,EAoBC,4BAAC,0BAAD;AAAe,IAAA,KAAK,EAAC;AAArB,KACC,4BAAC,QAAD;AAAU,IAAA,QAAQ,EAAG1B;AAArB,IADD,CApBD,CADD;AA0BA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tRichText,\n\tuseBlockProps,\n\tuseInnerBlocksProps,\n\tBlockControls,\n} from '@wordpress/block-editor';\nimport { isRTL, __ } from '@wordpress/i18n';\nimport { ToolbarButton } from '@wordpress/components';\nimport {\n\tformatOutdent,\n\tformatOutdentRTL,\n\tformatIndentRTL,\n\tformatIndent,\n} from '@wordpress/icons';\nimport { useMergeRefs } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport {\n\tuseEnter,\n\tuseSpace,\n\tuseIndentListItem,\n\tuseOutdentListItem,\n\tuseSplit,\n\tuseMerge,\n\tuseCopy,\n} from './hooks';\nimport { convertToListItems } from './utils';\n\nexport function IndentUI( { clientId } ) {\n\tconst [ canIndent, indentListItem ] = useIndentListItem( clientId );\n\tconst [ canOutdent, outdentListItem ] = useOutdentListItem( clientId );\n\n\treturn (\n\t\t<>\n\t\t\t<ToolbarButton\n\t\t\t\ticon={ isRTL() ? formatOutdentRTL : formatOutdent }\n\t\t\t\ttitle={ __( 'Outdent' ) }\n\t\t\t\tdescribedBy={ __( 'Outdent list item' ) }\n\t\t\t\tdisabled={ ! canOutdent }\n\t\t\t\tonClick={ () => outdentListItem() }\n\t\t\t/>\n\t\t\t<ToolbarButton\n\t\t\t\ticon={ isRTL() ? formatIndentRTL : formatIndent }\n\t\t\t\ttitle={ __( 'Indent' ) }\n\t\t\t\tdescribedBy={ __( 'Indent list item' ) }\n\t\t\t\tisDisabled={ ! canIndent }\n\t\t\t\tonClick={ () => indentListItem() }\n\t\t\t/>\n\t\t</>\n\t);\n}\n\nexport default function ListItemEdit( {\n\tattributes,\n\tsetAttributes,\n\tonReplace,\n\tclientId,\n} ) {\n\tconst { placeholder, content } = attributes;\n\tconst blockProps = useBlockProps( { ref: useCopy( clientId ) } );\n\tconst innerBlocksProps = useInnerBlocksProps( blockProps, {\n\t\tallowedBlocks: [ 'core/list' ],\n\t} );\n\tconst useEnterRef = useEnter( { content, clientId } );\n\tconst useSpaceRef = useSpace( clientId );\n\tconst onSplit = useSplit( clientId );\n\tconst onMerge = useMerge( clientId );\n\treturn (\n\t\t<>\n\t\t\t<li { ...innerBlocksProps }>\n\t\t\t\t<RichText\n\t\t\t\t\tref={ useMergeRefs( [ useEnterRef, useSpaceRef ] ) }\n\t\t\t\t\tidentifier=\"content\"\n\t\t\t\t\ttagName=\"div\"\n\t\t\t\t\tonChange={ ( nextContent ) =>\n\t\t\t\t\t\tsetAttributes( { content: nextContent } )\n\t\t\t\t\t}\n\t\t\t\t\tvalue={ content }\n\t\t\t\t\taria-label={ __( 'List text' ) }\n\t\t\t\t\tplaceholder={ placeholder || __( 'List' ) }\n\t\t\t\t\tonSplit={ onSplit }\n\t\t\t\t\tonMerge={ onMerge }\n\t\t\t\t\tonReplace={ ( blocks, ...args ) => {\n\t\t\t\t\t\tonReplace( convertToListItems( blocks ), ...args );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t\t{ innerBlocksProps.children }\n\t\t\t</li>\n\t\t\t<BlockControls group=\"block\">\n\t\t\t\t<IndentUI clientId={ clientId } />\n\t\t\t</BlockControls>\n\t\t</>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/list-item/edit.js"],"names":["IndentUI","clientId","canIndent","indentListItem","canOutdent","outdentListItem","formatOutdentRTL","formatOutdent","formatIndentRTL","formatIndent","ListItemEdit","attributes","setAttributes","onReplace","placeholder","content","blockProps","ref","innerBlocksProps","allowedBlocks","renderAppender","useEnterRef","useSpaceRef","onSplit","onMerge","nextContent","blocks","args","children"],"mappings":";;;;;;;;;;AAGA;;AAMA;;AACA;;AACA;;AAMA;;AAKA;;AASA;;AA/BA;AACA;AACA;;AAiBA;AACA;AACA;AAYO,SAASA,QAAT,OAAkC;AAAA,MAAf;AAAEC,IAAAA;AAAF,GAAe;AACxC,QAAM,CAAEC,SAAF,EAAaC,cAAb,IAAgC,8BAAmBF,QAAnB,CAAtC;AACA,QAAM,CAAEG,UAAF,EAAcC,eAAd,IAAkC,+BAAoBJ,QAApB,CAAxC;AAEA,SACC,qDACC,4BAAC,yBAAD;AACC,IAAA,IAAI,EAAG,qBAAUK,uBAAV,GAA6BC,oBADrC;AAEC,IAAA,KAAK,EAAG,cAAI,SAAJ,CAFT;AAGC,IAAA,WAAW,EAAG,cAAI,mBAAJ,CAHf;AAIC,IAAA,QAAQ,EAAG,CAAEH,UAJd;AAKC,IAAA,OAAO,EAAG,MAAMC,eAAe;AALhC,IADD,EAQC,4BAAC,yBAAD;AACC,IAAA,IAAI,EAAG,qBAAUG,sBAAV,GAA4BC,mBADpC;AAEC,IAAA,KAAK,EAAG,cAAI,QAAJ,CAFT;AAGC,IAAA,WAAW,EAAG,cAAI,kBAAJ,CAHf;AAIC,IAAA,UAAU,EAAG,CAAEP,SAJhB;AAKC,IAAA,OAAO,EAAG,MAAMC,cAAc;AAL/B,IARD,CADD;AAkBA;;AAEc,SAASO,YAAT,QAKX;AAAA,MALkC;AACrCC,IAAAA,UADqC;AAErCC,IAAAA,aAFqC;AAGrCC,IAAAA,SAHqC;AAIrCZ,IAAAA;AAJqC,GAKlC;AACH,QAAM;AAAEa,IAAAA,WAAF;AAAeC,IAAAA;AAAf,MAA2BJ,UAAjC;AACA,QAAMK,UAAU,GAAG,gCAAe;AAAEC,IAAAA,GAAG,EAAE,oBAAShB,QAAT;AAAP,GAAf,CAAnB;AACA,QAAMiB,gBAAgB,GAAG,sCAAqBF,UAArB,EAAiC;AACzDG,IAAAA,aAAa,EAAE,CAAE,WAAF,CAD0C;AAEzDC,IAAAA,cAAc,EAAE;AAFyC,GAAjC,CAAzB;AAIA,QAAMC,WAAW,GAAG,qBAAU;AAAEN,IAAAA,OAAF;AAAWd,IAAAA;AAAX,GAAV,CAApB;AACA,QAAMqB,WAAW,GAAG,qBAAUrB,QAAV,CAApB;AACA,QAAMsB,OAAO,GAAG,qBAAUtB,QAAV,CAAhB;AACA,QAAMuB,OAAO,GAAG,qBAAUvB,QAAV,CAAhB;AACA,SACC,qDACC,kCAASiB,gBAAT,EACC,4BAAC,qBAAD;AACC,IAAA,GAAG,EAAG,2BAAc,CAAEG,WAAF,EAAeC,WAAf,CAAd,CADP;AAEC,IAAA,UAAU,EAAC,SAFZ;AAGC,IAAA,OAAO,EAAC,KAHT;AAIC,IAAA,QAAQ,EAAKG,WAAF,IACVb,aAAa,CAAE;AAAEG,MAAAA,OAAO,EAAEU;AAAX,KAAF,CALf;AAOC,IAAA,KAAK,EAAGV,OAPT;AAQC,kBAAa,cAAI,WAAJ,CARd;AASC,IAAA,WAAW,EAAGD,WAAW,IAAI,cAAI,MAAJ,CAT9B;AAUC,IAAA,OAAO,EAAGS,OAVX;AAWC,IAAA,OAAO,EAAGC,OAXX;AAYC,IAAA,SAAS,EAAG,UAAEE,MAAF,EAAuB;AAAA,wCAAVC,IAAU;AAAVA,QAAAA,IAAU;AAAA;;AAClCd,MAAAA,SAAS,CAAE,+BAAoBa,MAApB,CAAF,EAAgC,GAAGC,IAAnC,CAAT;AACA;AAdF,IADD,EAiBGT,gBAAgB,CAACU,QAjBpB,CADD,EAoBC,4BAAC,0BAAD;AAAe,IAAA,KAAK,EAAC;AAArB,KACC,4BAAC,QAAD;AAAU,IAAA,QAAQ,EAAG3B;AAArB,IADD,CApBD,CADD;AA0BA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tRichText,\n\tuseBlockProps,\n\tuseInnerBlocksProps,\n\tBlockControls,\n} from '@wordpress/block-editor';\nimport { isRTL, __ } from '@wordpress/i18n';\nimport { ToolbarButton } from '@wordpress/components';\nimport {\n\tformatOutdent,\n\tformatOutdentRTL,\n\tformatIndentRTL,\n\tformatIndent,\n} from '@wordpress/icons';\nimport { useMergeRefs } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport {\n\tuseEnter,\n\tuseSpace,\n\tuseIndentListItem,\n\tuseOutdentListItem,\n\tuseSplit,\n\tuseMerge,\n\tuseCopy,\n} from './hooks';\nimport { convertToListItems } from './utils';\n\nexport function IndentUI( { clientId } ) {\n\tconst [ canIndent, indentListItem ] = useIndentListItem( clientId );\n\tconst [ canOutdent, outdentListItem ] = useOutdentListItem( clientId );\n\n\treturn (\n\t\t<>\n\t\t\t<ToolbarButton\n\t\t\t\ticon={ isRTL() ? formatOutdentRTL : formatOutdent }\n\t\t\t\ttitle={ __( 'Outdent' ) }\n\t\t\t\tdescribedBy={ __( 'Outdent list item' ) }\n\t\t\t\tdisabled={ ! canOutdent }\n\t\t\t\tonClick={ () => outdentListItem() }\n\t\t\t/>\n\t\t\t<ToolbarButton\n\t\t\t\ticon={ isRTL() ? formatIndentRTL : formatIndent }\n\t\t\t\ttitle={ __( 'Indent' ) }\n\t\t\t\tdescribedBy={ __( 'Indent list item' ) }\n\t\t\t\tisDisabled={ ! canIndent }\n\t\t\t\tonClick={ () => indentListItem() }\n\t\t\t/>\n\t\t</>\n\t);\n}\n\nexport default function ListItemEdit( {\n\tattributes,\n\tsetAttributes,\n\tonReplace,\n\tclientId,\n} ) {\n\tconst { placeholder, content } = attributes;\n\tconst blockProps = useBlockProps( { ref: useCopy( clientId ) } );\n\tconst innerBlocksProps = useInnerBlocksProps( blockProps, {\n\t\tallowedBlocks: [ 'core/list' ],\n\t\trenderAppender: false,\n\t} );\n\tconst useEnterRef = useEnter( { content, clientId } );\n\tconst useSpaceRef = useSpace( clientId );\n\tconst onSplit = useSplit( clientId );\n\tconst onMerge = useMerge( clientId );\n\treturn (\n\t\t<>\n\t\t\t<li { ...innerBlocksProps }>\n\t\t\t\t<RichText\n\t\t\t\t\tref={ useMergeRefs( [ useEnterRef, useSpaceRef ] ) }\n\t\t\t\t\tidentifier=\"content\"\n\t\t\t\t\ttagName=\"div\"\n\t\t\t\t\tonChange={ ( nextContent ) =>\n\t\t\t\t\t\tsetAttributes( { content: nextContent } )\n\t\t\t\t\t}\n\t\t\t\t\tvalue={ content }\n\t\t\t\t\taria-label={ __( 'List text' ) }\n\t\t\t\t\tplaceholder={ placeholder || __( 'List' ) }\n\t\t\t\t\tonSplit={ onSplit }\n\t\t\t\t\tonMerge={ onMerge }\n\t\t\t\t\tonReplace={ ( blocks, ...args ) => {\n\t\t\t\t\t\tonReplace( convertToListItems( blocks ), ...args );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t\t{ innerBlocksProps.children }\n\t\t\t</li>\n\t\t\t<BlockControls group=\"block\">\n\t\t\t\t<IndentUI clientId={ clientId } />\n\t\t\t</BlockControls>\n\t\t</>\n\t);\n}\n"]}
@@ -25,14 +25,21 @@ var _dom = require("@wordpress/dom");
25
25
  function MissingBlockWarning(_ref) {
26
26
  let {
27
27
  attributes,
28
- convertToHTML
28
+ convertToHTML,
29
+ clientId
29
30
  } = _ref;
30
31
  const {
31
32
  originalName,
32
33
  originalUndelimitedContent
33
34
  } = attributes;
34
35
  const hasContent = !!originalUndelimitedContent;
35
- const hasHTMLBlock = (0, _blocks.getBlockType)('core/html');
36
+ const hasHTMLBlock = (0, _data.useSelect)(select => {
37
+ const {
38
+ canInsertBlockType,
39
+ getBlockRootClientId
40
+ } = select(_blockEditor.store);
41
+ return canInsertBlockType('core/html', getBlockRootClientId(clientId));
42
+ }, [clientId]);
36
43
  const actions = [];
37
44
  let messageHTML;
38
45
 
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/missing/edit.js"],"names":["MissingBlockWarning","attributes","convertToHTML","originalName","originalUndelimitedContent","hasContent","hasHTMLBlock","actions","messageHTML","push","className","MissingEdit","dispatch","clientId","replaceBlock","blockEditorStore","content"],"mappings":";;;;;;;AAIA;;AADA;;AAEA;;AACA;;AACA;;AACA;;AAKA;;AAbA;AACA;AACA;AAaA,SAASA,mBAAT,OAA8D;AAAA,MAAhC;AAAEC,IAAAA,UAAF;AAAcC,IAAAA;AAAd,GAAgC;AAC7D,QAAM;AAAEC,IAAAA,YAAF;AAAgBC,IAAAA;AAAhB,MAA+CH,UAArD;AACA,QAAMI,UAAU,GAAG,CAAC,CAAED,0BAAtB;AACA,QAAME,YAAY,GAAG,0BAAc,WAAd,CAArB;AAEA,QAAMC,OAAO,GAAG,EAAhB;AACA,MAAIC,WAAJ;;AACA,MAAKH,UAAU,IAAIC,YAAnB,EAAkC;AACjCE,IAAAA,WAAW,GAAG;AACb;AACA,kBACC,2JADD,CAFa,EAKbL,YALa,CAAd;AAOAI,IAAAA,OAAO,CAACE,IAAR,CACC,4BAAC,kBAAD;AAAQ,MAAA,GAAG,EAAC,SAAZ;AAAsB,MAAA,OAAO,EAAGP,aAAhC;AAAgD,MAAA,OAAO,EAAC;AAAxD,OACG,cAAI,cAAJ,CADH,CADD;AAKA,GAbD,MAaO;AACNM,IAAAA,WAAW,GAAG;AACb;AACA,kBACC,8GADD,CAFa,EAKbL,YALa,CAAd;AAOA;;AAED,SACC,mCAAU,gCAAe;AAAEO,IAAAA,SAAS,EAAE;AAAb,GAAf,CAAV,EACC,4BAAC,oBAAD;AAAS,IAAA,OAAO,EAAGH;AAAnB,KAA+BC,WAA/B,CADD,EAEC,4BAAC,gBAAD,QAAW,mBAAUJ,0BAAV,CAAX,CAFD,CADD;AAMA;;AAED,MAAMO,WAAW,GAAG,wBAAc,CAAEC,QAAF,YAA0C;AAAA,MAA9B;AAAEC,IAAAA,QAAF;AAAYZ,IAAAA;AAAZ,GAA8B;AAC3E,QAAM;AAAEa,IAAAA;AAAF,MAAmBF,QAAQ,CAAEG,kBAAF,CAAjC;AACA,SAAO;AACNb,IAAAA,aAAa,GAAG;AACfY,MAAAA,YAAY,CACXD,QADW,EAEX,yBAAa,WAAb,EAA0B;AACzBG,QAAAA,OAAO,EAAEf,UAAU,CAACG;AADK,OAA1B,CAFW,CAAZ;AAMA;;AARK,GAAP;AAUA,CAZmB,EAYfJ,mBAZe,CAApB;eAceW,W","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport { RawHTML } from '@wordpress/element';\nimport { Button } from '@wordpress/components';\nimport { getBlockType, createBlock } from '@wordpress/blocks';\nimport { withDispatch } from '@wordpress/data';\nimport {\n\tWarning,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { safeHTML } from '@wordpress/dom';\n\nfunction MissingBlockWarning( { attributes, convertToHTML } ) {\n\tconst { originalName, originalUndelimitedContent } = attributes;\n\tconst hasContent = !! originalUndelimitedContent;\n\tconst hasHTMLBlock = getBlockType( 'core/html' );\n\n\tconst actions = [];\n\tlet messageHTML;\n\tif ( hasContent && hasHTMLBlock ) {\n\t\tmessageHTML = sprintf(\n\t\t\t/* translators: %s: block name */\n\t\t\t__(\n\t\t\t\t'Your site doesn’t include support for the \"%s\" block. You can leave this block intact, convert its content to a Custom HTML block, or remove it entirely.'\n\t\t\t),\n\t\t\toriginalName\n\t\t);\n\t\tactions.push(\n\t\t\t<Button key=\"convert\" onClick={ convertToHTML } variant=\"primary\">\n\t\t\t\t{ __( 'Keep as HTML' ) }\n\t\t\t</Button>\n\t\t);\n\t} else {\n\t\tmessageHTML = sprintf(\n\t\t\t/* translators: %s: block name */\n\t\t\t__(\n\t\t\t\t'Your site doesn’t include support for the \"%s\" block. You can leave this block intact or remove it entirely.'\n\t\t\t),\n\t\t\toriginalName\n\t\t);\n\t}\n\n\treturn (\n\t\t<div { ...useBlockProps( { className: 'has-warning' } ) }>\n\t\t\t<Warning actions={ actions }>{ messageHTML }</Warning>\n\t\t\t<RawHTML>{ safeHTML( originalUndelimitedContent ) }</RawHTML>\n\t\t</div>\n\t);\n}\n\nconst MissingEdit = withDispatch( ( dispatch, { clientId, attributes } ) => {\n\tconst { replaceBlock } = dispatch( blockEditorStore );\n\treturn {\n\t\tconvertToHTML() {\n\t\t\treplaceBlock(\n\t\t\t\tclientId,\n\t\t\t\tcreateBlock( 'core/html', {\n\t\t\t\t\tcontent: attributes.originalUndelimitedContent,\n\t\t\t\t} )\n\t\t\t);\n\t\t},\n\t};\n} )( MissingBlockWarning );\n\nexport default MissingEdit;\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/missing/edit.js"],"names":["MissingBlockWarning","attributes","convertToHTML","clientId","originalName","originalUndelimitedContent","hasContent","hasHTMLBlock","select","canInsertBlockType","getBlockRootClientId","blockEditorStore","actions","messageHTML","push","className","MissingEdit","dispatch","replaceBlock","content"],"mappings":";;;;;;;AAIA;;AADA;;AAEA;;AACA;;AACA;;AACA;;AAKA;;AAbA;AACA;AACA;AAaA,SAASA,mBAAT,OAAwE;AAAA,MAA1C;AAAEC,IAAAA,UAAF;AAAcC,IAAAA,aAAd;AAA6BC,IAAAA;AAA7B,GAA0C;AACvE,QAAM;AAAEC,IAAAA,YAAF;AAAgBC,IAAAA;AAAhB,MAA+CJ,UAArD;AACA,QAAMK,UAAU,GAAG,CAAC,CAAED,0BAAtB;AACA,QAAME,YAAY,GAAG,qBAClBC,MAAF,IAAc;AACb,UAAM;AAAEC,MAAAA,kBAAF;AAAsBC,MAAAA;AAAtB,QACLF,MAAM,CAAEG,kBAAF,CADP;AAGA,WAAOF,kBAAkB,CACxB,WADwB,EAExBC,oBAAoB,CAAEP,QAAF,CAFI,CAAzB;AAIA,GATmB,EAUpB,CAAEA,QAAF,CAVoB,CAArB;AAaA,QAAMS,OAAO,GAAG,EAAhB;AACA,MAAIC,WAAJ;;AACA,MAAKP,UAAU,IAAIC,YAAnB,EAAkC;AACjCM,IAAAA,WAAW,GAAG;AACb;AACA,kBACC,2JADD,CAFa,EAKbT,YALa,CAAd;AAOAQ,IAAAA,OAAO,CAACE,IAAR,CACC,4BAAC,kBAAD;AAAQ,MAAA,GAAG,EAAC,SAAZ;AAAsB,MAAA,OAAO,EAAGZ,aAAhC;AAAgD,MAAA,OAAO,EAAC;AAAxD,OACG,cAAI,cAAJ,CADH,CADD;AAKA,GAbD,MAaO;AACNW,IAAAA,WAAW,GAAG;AACb;AACA,kBACC,8GADD,CAFa,EAKbT,YALa,CAAd;AAOA;;AAED,SACC,mCAAU,gCAAe;AAAEW,IAAAA,SAAS,EAAE;AAAb,GAAf,CAAV,EACC,4BAAC,oBAAD;AAAS,IAAA,OAAO,EAAGH;AAAnB,KAA+BC,WAA/B,CADD,EAEC,4BAAC,gBAAD,QAAW,mBAAUR,0BAAV,CAAX,CAFD,CADD;AAMA;;AAED,MAAMW,WAAW,GAAG,wBAAc,CAAEC,QAAF,YAA0C;AAAA,MAA9B;AAAEd,IAAAA,QAAF;AAAYF,IAAAA;AAAZ,GAA8B;AAC3E,QAAM;AAAEiB,IAAAA;AAAF,MAAmBD,QAAQ,CAAEN,kBAAF,CAAjC;AACA,SAAO;AACNT,IAAAA,aAAa,GAAG;AACfgB,MAAAA,YAAY,CACXf,QADW,EAEX,yBAAa,WAAb,EAA0B;AACzBgB,QAAAA,OAAO,EAAElB,UAAU,CAACI;AADK,OAA1B,CAFW,CAAZ;AAMA;;AARK,GAAP;AAUA,CAZmB,EAYfL,mBAZe,CAApB;eAcegB,W","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport { RawHTML } from '@wordpress/element';\nimport { Button } from '@wordpress/components';\nimport { createBlock } from '@wordpress/blocks';\nimport { withDispatch, useSelect } from '@wordpress/data';\nimport {\n\tWarning,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { safeHTML } from '@wordpress/dom';\n\nfunction MissingBlockWarning( { attributes, convertToHTML, clientId } ) {\n\tconst { originalName, originalUndelimitedContent } = attributes;\n\tconst hasContent = !! originalUndelimitedContent;\n\tconst hasHTMLBlock = useSelect(\n\t\t( select ) => {\n\t\t\tconst { canInsertBlockType, getBlockRootClientId } =\n\t\t\t\tselect( blockEditorStore );\n\n\t\t\treturn canInsertBlockType(\n\t\t\t\t'core/html',\n\t\t\t\tgetBlockRootClientId( clientId )\n\t\t\t);\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tconst actions = [];\n\tlet messageHTML;\n\tif ( hasContent && hasHTMLBlock ) {\n\t\tmessageHTML = sprintf(\n\t\t\t/* translators: %s: block name */\n\t\t\t__(\n\t\t\t\t'Your site doesn’t include support for the \"%s\" block. You can leave this block intact, convert its content to a Custom HTML block, or remove it entirely.'\n\t\t\t),\n\t\t\toriginalName\n\t\t);\n\t\tactions.push(\n\t\t\t<Button key=\"convert\" onClick={ convertToHTML } variant=\"primary\">\n\t\t\t\t{ __( 'Keep as HTML' ) }\n\t\t\t</Button>\n\t\t);\n\t} else {\n\t\tmessageHTML = sprintf(\n\t\t\t/* translators: %s: block name */\n\t\t\t__(\n\t\t\t\t'Your site doesn’t include support for the \"%s\" block. You can leave this block intact or remove it entirely.'\n\t\t\t),\n\t\t\toriginalName\n\t\t);\n\t}\n\n\treturn (\n\t\t<div { ...useBlockProps( { className: 'has-warning' } ) }>\n\t\t\t<Warning actions={ actions }>{ messageHTML }</Warning>\n\t\t\t<RawHTML>{ safeHTML( originalUndelimitedContent ) }</RawHTML>\n\t\t</div>\n\t);\n}\n\nconst MissingEdit = withDispatch( ( dispatch, { clientId, attributes } ) => {\n\tconst { replaceBlock } = dispatch( blockEditorStore );\n\treturn {\n\t\tconvertToHTML() {\n\t\t\treplaceBlock(\n\t\t\t\tclientId,\n\t\t\t\tcreateBlock( 'core/html', {\n\t\t\t\t\tcontent: attributes.originalUndelimitedContent,\n\t\t\t\t} )\n\t\t\t);\n\t\t},\n\t};\n} )( MissingBlockWarning );\n\nexport default MissingEdit;\n"]}
@@ -63,7 +63,7 @@ function MoreEdit(_ref) {
63
63
  onChange: toggleHideExcerpt,
64
64
  help: getHideExcerptHelp
65
65
  }))), (0, _element.createElement)("div", (0, _blockEditor.useBlockProps)(), (0, _element.createElement)("input", {
66
- "aria-label": (0, _i18n.__)('Read more link text'),
66
+ "aria-label": (0, _i18n.__)('Read more link text'),
67
67
  type: "text",
68
68
  value: customText,
69
69
  placeholder: DEFAULT_TEXT,
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/more/edit.js"],"names":["DEFAULT_TEXT","MoreEdit","attributes","customText","noTeaser","insertBlocksAfter","setAttributes","onChangeInput","event","target","value","undefined","onKeyDown","keyCode","ENTER","getHideExcerptHelp","checked","toggleHideExcerpt","style","width","length"],"mappings":";;;;;;;;;AAGA;;AACA;;AACA;;AACA;;AACA;;AAPA;AACA;AACA;AAOA,MAAMA,YAAY,GAAG,cAAI,WAAJ,CAArB;;AAEe,SAASC,QAAT,OAIX;AAAA,MAJ8B;AACjCC,IAAAA,UAAU,EAAE;AAAEC,MAAAA,UAAF;AAAcC,MAAAA;AAAd,KADqB;AAEjCC,IAAAA,iBAFiC;AAGjCC,IAAAA;AAHiC,GAI9B;;AACH,QAAMC,aAAa,GAAKC,KAAF,IAAa;AAClCF,IAAAA,aAAa,CAAE;AACdH,MAAAA,UAAU,EACTK,KAAK,CAACC,MAAN,CAAaC,KAAb,KAAuB,EAAvB,GAA4BF,KAAK,CAACC,MAAN,CAAaC,KAAzC,GAAiDC;AAFpC,KAAF,CAAb;AAIA,GALD;;AAOA,QAAMC,SAAS,GAAG,SAAmB;AAAA,QAAjB;AAAEC,MAAAA;AAAF,KAAiB;;AACpC,QAAKA,OAAO,KAAKC,eAAjB,EAAyB;AACxBT,MAAAA,iBAAiB,CAAE,CAAE,yBAAa,kCAAb,CAAF,CAAF,CAAjB;AACA;AACD,GAJD;;AAMA,QAAMU,kBAAkB,GAAKC,OAAF,IAC1BA,OAAO,GACJ,cAAI,wBAAJ,CADI,GAEJ,cAAI,yBAAJ,CAHJ;;AAKA,QAAMC,iBAAiB,GAAG,MAAMX,aAAa,CAAE;AAAEF,IAAAA,QAAQ,EAAE,CAAEA;AAAd,GAAF,CAA7C;;AAEA,QAAMc,KAAK,GAAG;AACbC,IAAAA,KAAK,EAAG,GAAG,CAAEhB,UAAU,GAAGA,UAAH,GAAgBH,YAA5B,EAA2CoB,MAA3C,GAAoD,GAAK;AADvD,GAAd;AAIA,SACC,qDACC,4BAAC,8BAAD,QACC,4BAAC,qBAAD,QACC,4BAAC,yBAAD;AACC,IAAA,KAAK,EAAG,cACP,2CADO,CADT;AAIC,IAAA,OAAO,EAAG,CAAC,CAAEhB,QAJd;AAKC,IAAA,QAAQ,EAAGa,iBALZ;AAMC,IAAA,IAAI,EAAGF;AANR,IADD,CADD,CADD,EAaC,mCAAU,iCAAV,EACC;AACC,kBAAa,cAAI,qBAAJ,CADd;AAEC,IAAA,IAAI,EAAC,MAFN;AAGC,IAAA,KAAK,EAAGZ,UAHT;AAIC,IAAA,WAAW,EAAGH,YAJf;AAKC,IAAA,QAAQ,EAAGO,aALZ;AAMC,IAAA,SAAS,EAAGK,SANb;AAOC,IAAA,KAAK,EAAGM;AAPT,IADD,CAbD,CADD;AA2BA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { PanelBody, ToggleControl } from '@wordpress/components';\nimport { InspectorControls, useBlockProps } from '@wordpress/block-editor';\nimport { ENTER } from '@wordpress/keycodes';\nimport { getDefaultBlockName, createBlock } from '@wordpress/blocks';\n\nconst DEFAULT_TEXT = __( 'Read more' );\n\nexport default function MoreEdit( {\n\tattributes: { customText, noTeaser },\n\tinsertBlocksAfter,\n\tsetAttributes,\n} ) {\n\tconst onChangeInput = ( event ) => {\n\t\tsetAttributes( {\n\t\t\tcustomText:\n\t\t\t\tevent.target.value !== '' ? event.target.value : undefined,\n\t\t} );\n\t};\n\n\tconst onKeyDown = ( { keyCode } ) => {\n\t\tif ( keyCode === ENTER ) {\n\t\t\tinsertBlocksAfter( [ createBlock( getDefaultBlockName() ) ] );\n\t\t}\n\t};\n\n\tconst getHideExcerptHelp = ( checked ) =>\n\t\tchecked\n\t\t\t? __( 'The excerpt is hidden.' )\n\t\t\t: __( 'The excerpt is visible.' );\n\n\tconst toggleHideExcerpt = () => setAttributes( { noTeaser: ! noTeaser } );\n\n\tconst style = {\n\t\twidth: `${ ( customText ? customText : DEFAULT_TEXT ).length + 1.2 }em`,\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={ __(\n\t\t\t\t\t\t\t'Hide the excerpt on the full content page'\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tchecked={ !! noTeaser }\n\t\t\t\t\t\tonChange={ toggleHideExcerpt }\n\t\t\t\t\t\thelp={ getHideExcerptHelp }\n\t\t\t\t\t/>\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t<div { ...useBlockProps() }>\n\t\t\t\t<input\n\t\t\t\t\taria-label={ __( 'Read more link text' ) }\n\t\t\t\t\ttype=\"text\"\n\t\t\t\t\tvalue={ customText }\n\t\t\t\t\tplaceholder={ DEFAULT_TEXT }\n\t\t\t\t\tonChange={ onChangeInput }\n\t\t\t\t\tonKeyDown={ onKeyDown }\n\t\t\t\t\tstyle={ style }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t</>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/more/edit.js"],"names":["DEFAULT_TEXT","MoreEdit","attributes","customText","noTeaser","insertBlocksAfter","setAttributes","onChangeInput","event","target","value","undefined","onKeyDown","keyCode","ENTER","getHideExcerptHelp","checked","toggleHideExcerpt","style","width","length"],"mappings":";;;;;;;;;AAGA;;AACA;;AACA;;AACA;;AACA;;AAPA;AACA;AACA;AAOA,MAAMA,YAAY,GAAG,cAAI,WAAJ,CAArB;;AAEe,SAASC,QAAT,OAIX;AAAA,MAJ8B;AACjCC,IAAAA,UAAU,EAAE;AAAEC,MAAAA,UAAF;AAAcC,MAAAA;AAAd,KADqB;AAEjCC,IAAAA,iBAFiC;AAGjCC,IAAAA;AAHiC,GAI9B;;AACH,QAAMC,aAAa,GAAKC,KAAF,IAAa;AAClCF,IAAAA,aAAa,CAAE;AACdH,MAAAA,UAAU,EACTK,KAAK,CAACC,MAAN,CAAaC,KAAb,KAAuB,EAAvB,GAA4BF,KAAK,CAACC,MAAN,CAAaC,KAAzC,GAAiDC;AAFpC,KAAF,CAAb;AAIA,GALD;;AAOA,QAAMC,SAAS,GAAG,SAAmB;AAAA,QAAjB;AAAEC,MAAAA;AAAF,KAAiB;;AACpC,QAAKA,OAAO,KAAKC,eAAjB,EAAyB;AACxBT,MAAAA,iBAAiB,CAAE,CAAE,yBAAa,kCAAb,CAAF,CAAF,CAAjB;AACA;AACD,GAJD;;AAMA,QAAMU,kBAAkB,GAAKC,OAAF,IAC1BA,OAAO,GACJ,cAAI,wBAAJ,CADI,GAEJ,cAAI,yBAAJ,CAHJ;;AAKA,QAAMC,iBAAiB,GAAG,MAAMX,aAAa,CAAE;AAAEF,IAAAA,QAAQ,EAAE,CAAEA;AAAd,GAAF,CAA7C;;AAEA,QAAMc,KAAK,GAAG;AACbC,IAAAA,KAAK,EAAG,GAAG,CAAEhB,UAAU,GAAGA,UAAH,GAAgBH,YAA5B,EAA2CoB,MAA3C,GAAoD,GAAK;AADvD,GAAd;AAIA,SACC,qDACC,4BAAC,8BAAD,QACC,4BAAC,qBAAD,QACC,4BAAC,yBAAD;AACC,IAAA,KAAK,EAAG,cACP,2CADO,CADT;AAIC,IAAA,OAAO,EAAG,CAAC,CAAEhB,QAJd;AAKC,IAAA,QAAQ,EAAGa,iBALZ;AAMC,IAAA,IAAI,EAAGF;AANR,IADD,CADD,CADD,EAaC,mCAAU,iCAAV,EACC;AACC,kBAAa,cAAI,uBAAJ,CADd;AAEC,IAAA,IAAI,EAAC,MAFN;AAGC,IAAA,KAAK,EAAGZ,UAHT;AAIC,IAAA,WAAW,EAAGH,YAJf;AAKC,IAAA,QAAQ,EAAGO,aALZ;AAMC,IAAA,SAAS,EAAGK,SANb;AAOC,IAAA,KAAK,EAAGM;AAPT,IADD,CAbD,CADD;AA2BA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { PanelBody, ToggleControl } from '@wordpress/components';\nimport { InspectorControls, useBlockProps } from '@wordpress/block-editor';\nimport { ENTER } from '@wordpress/keycodes';\nimport { getDefaultBlockName, createBlock } from '@wordpress/blocks';\n\nconst DEFAULT_TEXT = __( 'Read more' );\n\nexport default function MoreEdit( {\n\tattributes: { customText, noTeaser },\n\tinsertBlocksAfter,\n\tsetAttributes,\n} ) {\n\tconst onChangeInput = ( event ) => {\n\t\tsetAttributes( {\n\t\t\tcustomText:\n\t\t\t\tevent.target.value !== '' ? event.target.value : undefined,\n\t\t} );\n\t};\n\n\tconst onKeyDown = ( { keyCode } ) => {\n\t\tif ( keyCode === ENTER ) {\n\t\t\tinsertBlocksAfter( [ createBlock( getDefaultBlockName() ) ] );\n\t\t}\n\t};\n\n\tconst getHideExcerptHelp = ( checked ) =>\n\t\tchecked\n\t\t\t? __( 'The excerpt is hidden.' )\n\t\t\t: __( 'The excerpt is visible.' );\n\n\tconst toggleHideExcerpt = () => setAttributes( { noTeaser: ! noTeaser } );\n\n\tconst style = {\n\t\twidth: `${ ( customText ? customText : DEFAULT_TEXT ).length + 1.2 }em`,\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={ __(\n\t\t\t\t\t\t\t'Hide the excerpt on the full content page'\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tchecked={ !! noTeaser }\n\t\t\t\t\t\tonChange={ toggleHideExcerpt }\n\t\t\t\t\t\thelp={ getHideExcerptHelp }\n\t\t\t\t\t/>\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t<div { ...useBlockProps() }>\n\t\t\t\t<input\n\t\t\t\t\taria-label={ __( 'Read more link text' ) }\n\t\t\t\t\ttype=\"text\"\n\t\t\t\t\tvalue={ customText }\n\t\t\t\t\tplaceholder={ DEFAULT_TEXT }\n\t\t\t\t\tonChange={ onChangeInput }\n\t\t\t\t\tonKeyDown={ onKeyDown }\n\t\t\t\t\tstyle={ style }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t</>\n\t);\n}\n"]}
@@ -33,11 +33,13 @@ function menuItemsToBlocks(menuItems) {
33
33
  * A recursive function that maps menu item nodes to blocks.
34
34
  *
35
35
  * @param {WPNavMenuItem[]} menuItems An array of WPNavMenuItem items.
36
+ * @param {number} level An integer representing the nesting level.
36
37
  * @return {Object} Object containing innerBlocks and mapping.
37
38
  */
38
39
 
39
40
 
40
41
  function mapMenuItemsToBlocks(menuItems) {
42
+ let level = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
41
43
  let mapping = {}; // The menuItem should be in menu_order sort order.
42
44
 
43
45
  const sortedItems = [...menuItems].sort((a, b) => a.menu_order - b.menu_order);
@@ -56,19 +58,19 @@ function mapMenuItemsToBlocks(menuItems) {
56
58
  return block;
57
59
  }
58
60
 
59
- const attributes = menuItemToBlockAttributes(menuItem); // If there are children recurse to build those nested blocks.
61
+ const blockType = (_menuItem$children = menuItem.children) !== null && _menuItem$children !== void 0 && _menuItem$children.length ? 'core/navigation-submenu' : 'core/navigation-link';
62
+ const attributes = menuItemToBlockAttributes(menuItem, blockType, level); // If there are children recurse to build those nested blocks.
60
63
 
61
64
  const {
62
65
  innerBlocks: nestedBlocks = [],
63
66
  // alias to avoid shadowing
64
67
  mapping: nestedMapping = {} // alias to avoid shadowing
65
68
 
66
- } = (_menuItem$children = menuItem.children) !== null && _menuItem$children !== void 0 && _menuItem$children.length ? mapMenuItemsToBlocks(menuItem.children) : {}; // Update parent mapping with nested mapping.
69
+ } = (_menuItem$children2 = menuItem.children) !== null && _menuItem$children2 !== void 0 && _menuItem$children2.length ? mapMenuItemsToBlocks(menuItem.children, level + 1) : {}; // Update parent mapping with nested mapping.
67
70
 
68
71
  mapping = { ...mapping,
69
72
  ...nestedMapping
70
- };
71
- const blockType = (_menuItem$children2 = menuItem.children) !== null && _menuItem$children2 !== void 0 && _menuItem$children2.length ? 'core/navigation-submenu' : 'core/navigation-link'; // Create block with nested "innerBlocks".
73
+ }; // Create block with nested "innerBlocks".
72
74
 
73
75
  const block = (0, _blocks.createBlock)(blockType, attributes, nestedBlocks); // Create mapping for menuItem -> block.
74
76
 
@@ -104,12 +106,14 @@ function mapMenuItemsToBlocks(menuItems) {
104
106
  /**
105
107
  * Convert block attributes to menu item.
106
108
  *
107
- * @param {WPNavMenuItem} menuItem the menu item to be converted to block attributes.
109
+ * @param {WPNavMenuItem} menuItem the menu item to be converted to block attributes.
110
+ * @param {string} blockType The block type.
111
+ * @param {number} level An integer representing the nesting level.
108
112
  * @return {Object} the block attributes converted from the WPNavMenuItem item.
109
113
  */
110
114
 
111
115
 
112
- function menuItemToBlockAttributes(_ref) {
116
+ function menuItemToBlockAttributes(_ref, blockType, level) {
113
117
  var _object;
114
118
 
115
119
  let {
@@ -163,6 +167,12 @@ function menuItemToBlockAttributes(_ref) {
163
167
  }),
164
168
  ...(target === '_blank' && {
165
169
  opensInNewTab: true
170
+ }),
171
+ ...(blockType === 'core/navigation-submenu' && {
172
+ isTopLevelItem: level === 0
173
+ }),
174
+ ...(blockType === 'core/navigation-link' && {
175
+ isTopLevelLink: level === 0
166
176
  })
167
177
  };
168
178
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/navigation/menu-items-to-blocks.js"],"names":["menuItemsToBlocks","menuItems","menuTree","createDataTree","blocks","mapMenuItemsToBlocks","mapping","sortedItems","sort","a","b","menu_order","innerBlocks","map","menuItem","type","block","content","raw","attributes","menuItemToBlockAttributes","nestedBlocks","nestedMapping","children","length","blockType","id","clientId","title","menuItemTitleField","xfn","classes","attr_title","object","object_id","description","url","menuItemTypeField","target","label","rendered","kind","replace","join","trim","rel","className","opensInNewTab","dataset","relation","hashTable","Object","create","dataTree","data","push"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { createBlock, parse } from '@wordpress/blocks';\nimport { applyFilters } from '@wordpress/hooks';\n\n/**\n * Convert a flat menu item structure to a nested blocks structure.\n *\n * @param {Object[]} menuItems An array of menu items.\n *\n * @return {WPBlock[]} An array of blocks.\n */\nexport default function menuItemsToBlocks( menuItems ) {\n\tif ( ! menuItems ) {\n\t\treturn null;\n\t}\n\n\tconst menuTree = createDataTree( menuItems );\n\tconst blocks = mapMenuItemsToBlocks( menuTree );\n\treturn applyFilters(\n\t\t'blocks.navigation.__unstableMenuItemsToBlocks',\n\t\tblocks,\n\t\tmenuItems\n\t);\n}\n\n/**\n * A recursive function that maps menu item nodes to blocks.\n *\n * @param {WPNavMenuItem[]} menuItems An array of WPNavMenuItem items.\n * @return {Object} Object containing innerBlocks and mapping.\n */\nfunction mapMenuItemsToBlocks( menuItems ) {\n\tlet mapping = {};\n\n\t// The menuItem should be in menu_order sort order.\n\tconst sortedItems = [ ...menuItems ].sort(\n\t\t( a, b ) => a.menu_order - b.menu_order\n\t);\n\n\tconst innerBlocks = sortedItems.map( ( menuItem ) => {\n\t\tif ( menuItem.type === 'block' ) {\n\t\t\tconst [ block ] = parse( menuItem.content.raw );\n\n\t\t\tif ( ! block ) {\n\t\t\t\treturn createBlock( 'core/freeform', {\n\t\t\t\t\tcontent: menuItem.content,\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\treturn block;\n\t\t}\n\n\t\tconst attributes = menuItemToBlockAttributes( menuItem );\n\n\t\t// If there are children recurse to build those nested blocks.\n\t\tconst {\n\t\t\tinnerBlocks: nestedBlocks = [], // alias to avoid shadowing\n\t\t\tmapping: nestedMapping = {}, // alias to avoid shadowing\n\t\t} = menuItem.children?.length\n\t\t\t? mapMenuItemsToBlocks( menuItem.children )\n\t\t\t: {};\n\n\t\t// Update parent mapping with nested mapping.\n\t\tmapping = {\n\t\t\t...mapping,\n\t\t\t...nestedMapping,\n\t\t};\n\n\t\tconst blockType = menuItem.children?.length\n\t\t\t? 'core/navigation-submenu'\n\t\t\t: 'core/navigation-link';\n\n\t\t// Create block with nested \"innerBlocks\".\n\t\tconst block = createBlock( blockType, attributes, nestedBlocks );\n\n\t\t// Create mapping for menuItem -> block.\n\t\tmapping[ menuItem.id ] = block.clientId;\n\n\t\treturn block;\n\t} );\n\n\treturn {\n\t\tinnerBlocks,\n\t\tmapping,\n\t};\n}\n\n/**\n * A WP nav_menu_item object.\n * For more documentation on the individual fields present on a menu item please see:\n * https://core.trac.wordpress.org/browser/tags/5.7.1/src/wp-includes/nav-menu.php#L789\n *\n * Changes made here should also be mirrored in packages/edit-navigation/src/store/utils.js.\n *\n * @typedef WPNavMenuItem\n *\n * @property {Object} title stores the raw and rendered versions of the title/label for this menu item.\n * @property {Array} xfn the XFN relationships expressed in the link of this menu item.\n * @property {Array} classes the HTML class attributes for this menu item.\n * @property {string} attr_title the HTML title attribute for this menu item.\n * @property {string} object The type of object originally represented, such as 'category', 'post', or 'attachment'.\n * @property {string} object_id The DB ID of the original object this menu item represents, e.g. ID for posts and term_id for categories.\n * @property {string} description The description of this menu item.\n * @property {string} url The URL to which this menu item points.\n * @property {string} type The family of objects originally represented, such as 'post_type' or 'taxonomy'.\n * @property {string} target The target attribute of the link element for this menu item.\n */\n\n/**\n * Convert block attributes to menu item.\n *\n * @param {WPNavMenuItem} menuItem the menu item to be converted to block attributes.\n * @return {Object} the block attributes converted from the WPNavMenuItem item.\n */\nfunction menuItemToBlockAttributes( {\n\ttitle: menuItemTitleField,\n\txfn,\n\tclasses,\n\t// eslint-disable-next-line camelcase\n\tattr_title,\n\tobject,\n\t// eslint-disable-next-line camelcase\n\tobject_id,\n\tdescription,\n\turl,\n\ttype: menuItemTypeField,\n\ttarget,\n} ) {\n\t// For historical reasons, the `core/navigation-link` variation type is `tag`\n\t// whereas WP Core expects `post_tag` as the `object` type.\n\t// To avoid writing a block migration we perform a conversion here.\n\t// See also inverse equivalent in `blockAttributesToMenuItem`.\n\tif ( object && object === 'post_tag' ) {\n\t\tobject = 'tag';\n\t}\n\n\treturn {\n\t\tlabel: menuItemTitleField?.rendered || '',\n\t\t...( object?.length && {\n\t\t\ttype: object,\n\t\t} ),\n\t\tkind: menuItemTypeField?.replace( '_', '-' ) || 'custom',\n\t\turl: url || '',\n\t\t...( xfn?.length &&\n\t\t\txfn.join( ' ' ).trim() && {\n\t\t\t\trel: xfn.join( ' ' ).trim(),\n\t\t\t} ),\n\t\t...( classes?.length &&\n\t\t\tclasses.join( ' ' ).trim() && {\n\t\t\t\tclassName: classes.join( ' ' ).trim(),\n\t\t\t} ),\n\t\t/* eslint-disable camelcase */\n\t\t...( attr_title?.length && {\n\t\t\ttitle: attr_title,\n\t\t} ),\n\t\t...( object_id &&\n\t\t\t'custom' !== object && {\n\t\t\t\tid: object_id,\n\t\t\t} ),\n\t\t/* eslint-enable camelcase */\n\t\t...( description?.length && {\n\t\t\tdescription,\n\t\t} ),\n\t\t...( target === '_blank' && {\n\t\t\topensInNewTab: true,\n\t\t} ),\n\t};\n}\n\n/**\n * Creates a nested, hierarchical tree representation from unstructured data that\n * has an inherent relationship defined between individual items.\n *\n * For example, by default, each element in the dataset should have an `id` and\n * `parent` property where the `parent` property indicates a relationship between\n * the current item and another item with a matching `id` properties.\n *\n * This is useful for building linked lists of data from flat data structures.\n *\n * @param {Array} dataset linked data to be rearranged into a hierarchical tree based on relational fields.\n * @param {string} id the property which uniquely identifies each entry within the array.\n * @param {*} relation the property which identifies how the current item is related to other items in the data (if at all).\n * @return {Array} a nested array of parent/child relationships\n */\nfunction createDataTree( dataset, id = 'id', relation = 'parent' ) {\n\tconst hashTable = Object.create( null );\n\tconst dataTree = [];\n\n\tfor ( const data of dataset ) {\n\t\thashTable[ data[ id ] ] = {\n\t\t\t...data,\n\t\t\tchildren: [],\n\t\t};\n\t\tif ( data[ relation ] ) {\n\t\t\thashTable[ data[ relation ] ] = hashTable[ data[ relation ] ] || {};\n\t\t\thashTable[ data[ relation ] ].children =\n\t\t\t\thashTable[ data[ relation ] ].children || [];\n\t\t\thashTable[ data[ relation ] ].children.push(\n\t\t\t\thashTable[ data[ id ] ]\n\t\t\t);\n\t\t} else {\n\t\t\tdataTree.push( hashTable[ data[ id ] ] );\n\t\t}\n\t}\n\n\treturn dataTree;\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/navigation/menu-items-to-blocks.js"],"names":["menuItemsToBlocks","menuItems","menuTree","createDataTree","blocks","mapMenuItemsToBlocks","level","mapping","sortedItems","sort","a","b","menu_order","innerBlocks","map","menuItem","type","block","content","raw","blockType","children","length","attributes","menuItemToBlockAttributes","nestedBlocks","nestedMapping","id","clientId","title","menuItemTitleField","xfn","classes","attr_title","object","object_id","description","url","menuItemTypeField","target","label","rendered","kind","replace","join","trim","rel","className","opensInNewTab","isTopLevelItem","isTopLevelLink","dataset","relation","hashTable","Object","create","dataTree","data","push"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { createBlock, parse } from '@wordpress/blocks';\nimport { applyFilters } from '@wordpress/hooks';\n\n/**\n * Convert a flat menu item structure to a nested blocks structure.\n *\n * @param {Object[]} menuItems An array of menu items.\n *\n * @return {WPBlock[]} An array of blocks.\n */\nexport default function menuItemsToBlocks( menuItems ) {\n\tif ( ! menuItems ) {\n\t\treturn null;\n\t}\n\n\tconst menuTree = createDataTree( menuItems );\n\tconst blocks = mapMenuItemsToBlocks( menuTree );\n\treturn applyFilters(\n\t\t'blocks.navigation.__unstableMenuItemsToBlocks',\n\t\tblocks,\n\t\tmenuItems\n\t);\n}\n\n/**\n * A recursive function that maps menu item nodes to blocks.\n *\n * @param {WPNavMenuItem[]} menuItems An array of WPNavMenuItem items.\n * @param {number} level An integer representing the nesting level.\n * @return {Object} Object containing innerBlocks and mapping.\n */\nfunction mapMenuItemsToBlocks( menuItems, level = 0 ) {\n\tlet mapping = {};\n\n\t// The menuItem should be in menu_order sort order.\n\tconst sortedItems = [ ...menuItems ].sort(\n\t\t( a, b ) => a.menu_order - b.menu_order\n\t);\n\n\tconst innerBlocks = sortedItems.map( ( menuItem ) => {\n\t\tif ( menuItem.type === 'block' ) {\n\t\t\tconst [ block ] = parse( menuItem.content.raw );\n\n\t\t\tif ( ! block ) {\n\t\t\t\treturn createBlock( 'core/freeform', {\n\t\t\t\t\tcontent: menuItem.content,\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\treturn block;\n\t\t}\n\n\t\tconst blockType = menuItem.children?.length\n\t\t\t? 'core/navigation-submenu'\n\t\t\t: 'core/navigation-link';\n\n\t\tconst attributes = menuItemToBlockAttributes(\n\t\t\tmenuItem,\n\t\t\tblockType,\n\t\t\tlevel\n\t\t);\n\n\t\t// If there are children recurse to build those nested blocks.\n\t\tconst {\n\t\t\tinnerBlocks: nestedBlocks = [], // alias to avoid shadowing\n\t\t\tmapping: nestedMapping = {}, // alias to avoid shadowing\n\t\t} = menuItem.children?.length\n\t\t\t? mapMenuItemsToBlocks( menuItem.children, level + 1 )\n\t\t\t: {};\n\n\t\t// Update parent mapping with nested mapping.\n\t\tmapping = {\n\t\t\t...mapping,\n\t\t\t...nestedMapping,\n\t\t};\n\n\t\t// Create block with nested \"innerBlocks\".\n\t\tconst block = createBlock( blockType, attributes, nestedBlocks );\n\n\t\t// Create mapping for menuItem -> block.\n\t\tmapping[ menuItem.id ] = block.clientId;\n\n\t\treturn block;\n\t} );\n\n\treturn {\n\t\tinnerBlocks,\n\t\tmapping,\n\t};\n}\n\n/**\n * A WP nav_menu_item object.\n * For more documentation on the individual fields present on a menu item please see:\n * https://core.trac.wordpress.org/browser/tags/5.7.1/src/wp-includes/nav-menu.php#L789\n *\n * Changes made here should also be mirrored in packages/edit-navigation/src/store/utils.js.\n *\n * @typedef WPNavMenuItem\n *\n * @property {Object} title stores the raw and rendered versions of the title/label for this menu item.\n * @property {Array} xfn the XFN relationships expressed in the link of this menu item.\n * @property {Array} classes the HTML class attributes for this menu item.\n * @property {string} attr_title the HTML title attribute for this menu item.\n * @property {string} object The type of object originally represented, such as 'category', 'post', or 'attachment'.\n * @property {string} object_id The DB ID of the original object this menu item represents, e.g. ID for posts and term_id for categories.\n * @property {string} description The description of this menu item.\n * @property {string} url The URL to which this menu item points.\n * @property {string} type The family of objects originally represented, such as 'post_type' or 'taxonomy'.\n * @property {string} target The target attribute of the link element for this menu item.\n */\n\n/**\n * Convert block attributes to menu item.\n *\n * @param {WPNavMenuItem} menuItem the menu item to be converted to block attributes.\n * @param {string} blockType The block type.\n * @param {number} level An integer representing the nesting level.\n * @return {Object} the block attributes converted from the WPNavMenuItem item.\n */\nfunction menuItemToBlockAttributes(\n\t{\n\t\ttitle: menuItemTitleField,\n\t\txfn,\n\t\tclasses,\n\t\t// eslint-disable-next-line camelcase\n\t\tattr_title,\n\t\tobject,\n\t\t// eslint-disable-next-line camelcase\n\t\tobject_id,\n\t\tdescription,\n\t\turl,\n\t\ttype: menuItemTypeField,\n\t\ttarget,\n\t},\n\tblockType,\n\tlevel\n) {\n\t// For historical reasons, the `core/navigation-link` variation type is `tag`\n\t// whereas WP Core expects `post_tag` as the `object` type.\n\t// To avoid writing a block migration we perform a conversion here.\n\t// See also inverse equivalent in `blockAttributesToMenuItem`.\n\tif ( object && object === 'post_tag' ) {\n\t\tobject = 'tag';\n\t}\n\n\treturn {\n\t\tlabel: menuItemTitleField?.rendered || '',\n\t\t...( object?.length && {\n\t\t\ttype: object,\n\t\t} ),\n\t\tkind: menuItemTypeField?.replace( '_', '-' ) || 'custom',\n\t\turl: url || '',\n\t\t...( xfn?.length &&\n\t\t\txfn.join( ' ' ).trim() && {\n\t\t\t\trel: xfn.join( ' ' ).trim(),\n\t\t\t} ),\n\t\t...( classes?.length &&\n\t\t\tclasses.join( ' ' ).trim() && {\n\t\t\t\tclassName: classes.join( ' ' ).trim(),\n\t\t\t} ),\n\t\t/* eslint-disable camelcase */\n\t\t...( attr_title?.length && {\n\t\t\ttitle: attr_title,\n\t\t} ),\n\t\t...( object_id &&\n\t\t\t'custom' !== object && {\n\t\t\t\tid: object_id,\n\t\t\t} ),\n\t\t/* eslint-enable camelcase */\n\t\t...( description?.length && {\n\t\t\tdescription,\n\t\t} ),\n\t\t...( target === '_blank' && {\n\t\t\topensInNewTab: true,\n\t\t} ),\n\t\t...( blockType === 'core/navigation-submenu' && {\n\t\t\tisTopLevelItem: level === 0,\n\t\t} ),\n\t\t...( blockType === 'core/navigation-link' && {\n\t\t\tisTopLevelLink: level === 0,\n\t\t} ),\n\t};\n}\n\n/**\n * Creates a nested, hierarchical tree representation from unstructured data that\n * has an inherent relationship defined between individual items.\n *\n * For example, by default, each element in the dataset should have an `id` and\n * `parent` property where the `parent` property indicates a relationship between\n * the current item and another item with a matching `id` properties.\n *\n * This is useful for building linked lists of data from flat data structures.\n *\n * @param {Array} dataset linked data to be rearranged into a hierarchical tree based on relational fields.\n * @param {string} id the property which uniquely identifies each entry within the array.\n * @param {*} relation the property which identifies how the current item is related to other items in the data (if at all).\n * @return {Array} a nested array of parent/child relationships\n */\nfunction createDataTree( dataset, id = 'id', relation = 'parent' ) {\n\tconst hashTable = Object.create( null );\n\tconst dataTree = [];\n\n\tfor ( const data of dataset ) {\n\t\thashTable[ data[ id ] ] = {\n\t\t\t...data,\n\t\t\tchildren: [],\n\t\t};\n\t\tif ( data[ relation ] ) {\n\t\t\thashTable[ data[ relation ] ] = hashTable[ data[ relation ] ] || {};\n\t\t\thashTable[ data[ relation ] ].children =\n\t\t\t\thashTable[ data[ relation ] ].children || [];\n\t\t\thashTable[ data[ relation ] ].children.push(\n\t\t\t\thashTable[ data[ id ] ]\n\t\t\t);\n\t\t} else {\n\t\t\tdataTree.push( hashTable[ data[ id ] ] );\n\t\t}\n\t}\n\n\treturn dataTree;\n}\n"]}
@@ -82,7 +82,7 @@ function PostExcerptEditor(_ref) {
82
82
  const readMoreLink = (0, _element.createElement)(_blockEditor.RichText, {
83
83
  className: "wp-block-post-excerpt__more-link",
84
84
  tagName: "a",
85
- "aria-label": (0, _i18n.__)('"Read more" link text'),
85
+ "aria-label": (0, _i18n.__)('Read more link text'),
86
86
  placeholder: (0, _i18n.__)('Add "read more" link text'),
87
87
  value: moreText,
88
88
  onChange: newMoreText => setAttributes({
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/post-excerpt/edit.js"],"names":["PostExcerptEditor","attributes","textAlign","moreText","showMoreOnNewLine","setAttributes","isSelected","context","postId","postType","queryId","isDescendentOfQueryLoop","Number","isFinite","userCanEdit","isEditable","rawExcerpt","setExcerpt","rendered","renderedExcerpt","protected","isProtected","blockProps","className","strippedRenderedExcerpt","document","window","DOMParser","parseFromString","body","textContent","innerText","readMoreLink","newMoreText","excerptClassName","excerptContent","newAlign","newShowMoreOnNewLine"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useEntityProp } from '@wordpress/core-data';\nimport { useMemo } from '@wordpress/element';\nimport {\n\tAlignmentToolbar,\n\tBlockControls,\n\tInspectorControls,\n\tRichText,\n\tWarning,\n\tuseBlockProps,\n} from '@wordpress/block-editor';\nimport { PanelBody, ToggleControl } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { useCanEditEntity } from '../utils/hooks';\n\nexport default function PostExcerptEditor( {\n\tattributes: { textAlign, moreText, showMoreOnNewLine },\n\tsetAttributes,\n\tisSelected,\n\tcontext: { postId, postType, queryId },\n} ) {\n\tconst isDescendentOfQueryLoop = Number.isFinite( queryId );\n\tconst userCanEdit = useCanEditEntity( 'postType', postType, postId );\n\tconst isEditable = userCanEdit && ! isDescendentOfQueryLoop;\n\tconst [\n\t\trawExcerpt,\n\t\tsetExcerpt,\n\t\t{ rendered: renderedExcerpt, protected: isProtected } = {},\n\t] = useEntityProp( 'postType', postType, 'excerpt', postId );\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classnames( {\n\t\t\t[ `has-text-align-${ textAlign }` ]: textAlign,\n\t\t} ),\n\t} );\n\t/**\n\t * When excerpt is editable, strip the html tags from\n\t * rendered excerpt. This will be used if the entity's\n\t * excerpt has been produced from the content.\n\t */\n\tconst strippedRenderedExcerpt = useMemo( () => {\n\t\tif ( ! renderedExcerpt ) return '';\n\t\tconst document = new window.DOMParser().parseFromString(\n\t\t\trenderedExcerpt,\n\t\t\t'text/html'\n\t\t);\n\t\treturn document.body.textContent || document.body.innerText || '';\n\t}, [ renderedExcerpt ] );\n\tif ( ! postType || ! postId ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<p>\n\t\t\t\t\t{ __(\n\t\t\t\t\t\t'This is the Post Excerpt block, it will display the excerpt from single posts.'\n\t\t\t\t\t) }\n\t\t\t\t</p>\n\t\t\t\t<p>\n\t\t\t\t\t{ __(\n\t\t\t\t\t\t'If there are any Custom Post Types with support for excerpts, the Post Excerpt block can display the excerpts of those entries as well.'\n\t\t\t\t\t) }\n\t\t\t\t</p>\n\t\t\t</div>\n\t\t);\n\t}\n\tif ( isProtected && ! userCanEdit ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<Warning>\n\t\t\t\t\t{ __(\n\t\t\t\t\t\t'There is no excerpt because this is a protected post.'\n\t\t\t\t\t) }\n\t\t\t\t</Warning>\n\t\t\t</div>\n\t\t);\n\t}\n\tconst readMoreLink = (\n\t\t<RichText\n\t\t\tclassName=\"wp-block-post-excerpt__more-link\"\n\t\t\ttagName=\"a\"\n\t\t\taria-label={ __( '\"Read more\" link text' ) }\n\t\t\tplaceholder={ __( 'Add \"read more\" link text' ) }\n\t\t\tvalue={ moreText }\n\t\t\tonChange={ ( newMoreText ) =>\n\t\t\t\tsetAttributes( { moreText: newMoreText } )\n\t\t\t}\n\t\t\twithoutInteractiveFormatting={ true }\n\t\t/>\n\t);\n\tconst excerptClassName = classnames( 'wp-block-post-excerpt__excerpt', {\n\t\t'is-inline': ! showMoreOnNewLine,\n\t} );\n\tconst excerptContent = isEditable ? (\n\t\t<RichText\n\t\t\tclassName={ excerptClassName }\n\t\t\taria-label={ __( 'Post excerpt text' ) }\n\t\t\tvalue={\n\t\t\t\trawExcerpt ||\n\t\t\t\tstrippedRenderedExcerpt ||\n\t\t\t\t( isSelected ? '' : __( 'No post excerpt found' ) )\n\t\t\t}\n\t\t\tonChange={ setExcerpt }\n\t\t\ttagName=\"p\"\n\t\t/>\n\t) : (\n\t\t<p className={ excerptClassName }>\n\t\t\t{ strippedRenderedExcerpt || __( 'No post excerpt found' ) }\n\t\t</p>\n\t);\n\treturn (\n\t\t<>\n\t\t\t<BlockControls>\n\t\t\t\t<AlignmentToolbar\n\t\t\t\t\tvalue={ textAlign }\n\t\t\t\t\tonChange={ ( newAlign ) =>\n\t\t\t\t\t\tsetAttributes( { textAlign: newAlign } )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t</BlockControls>\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={ __( 'Show link on new line' ) }\n\t\t\t\t\t\tchecked={ showMoreOnNewLine }\n\t\t\t\t\t\tonChange={ ( newShowMoreOnNewLine ) =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tshowMoreOnNewLine: newShowMoreOnNewLine,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t<div { ...blockProps }>\n\t\t\t\t{ excerptContent }\n\t\t\t\t{ ! showMoreOnNewLine && ' ' }\n\t\t\t\t{ showMoreOnNewLine ? (\n\t\t\t\t\t<p className=\"wp-block-post-excerpt__more-text\">\n\t\t\t\t\t\t{ readMoreLink }\n\t\t\t\t\t</p>\n\t\t\t\t) : (\n\t\t\t\t\treadMoreLink\n\t\t\t\t) }\n\t\t\t</div>\n\t\t</>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/post-excerpt/edit.js"],"names":["PostExcerptEditor","attributes","textAlign","moreText","showMoreOnNewLine","setAttributes","isSelected","context","postId","postType","queryId","isDescendentOfQueryLoop","Number","isFinite","userCanEdit","isEditable","rawExcerpt","setExcerpt","rendered","renderedExcerpt","protected","isProtected","blockProps","className","strippedRenderedExcerpt","document","window","DOMParser","parseFromString","body","textContent","innerText","readMoreLink","newMoreText","excerptClassName","excerptContent","newAlign","newShowMoreOnNewLine"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useEntityProp } from '@wordpress/core-data';\nimport { useMemo } from '@wordpress/element';\nimport {\n\tAlignmentToolbar,\n\tBlockControls,\n\tInspectorControls,\n\tRichText,\n\tWarning,\n\tuseBlockProps,\n} from '@wordpress/block-editor';\nimport { PanelBody, ToggleControl } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { useCanEditEntity } from '../utils/hooks';\n\nexport default function PostExcerptEditor( {\n\tattributes: { textAlign, moreText, showMoreOnNewLine },\n\tsetAttributes,\n\tisSelected,\n\tcontext: { postId, postType, queryId },\n} ) {\n\tconst isDescendentOfQueryLoop = Number.isFinite( queryId );\n\tconst userCanEdit = useCanEditEntity( 'postType', postType, postId );\n\tconst isEditable = userCanEdit && ! isDescendentOfQueryLoop;\n\tconst [\n\t\trawExcerpt,\n\t\tsetExcerpt,\n\t\t{ rendered: renderedExcerpt, protected: isProtected } = {},\n\t] = useEntityProp( 'postType', postType, 'excerpt', postId );\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classnames( {\n\t\t\t[ `has-text-align-${ textAlign }` ]: textAlign,\n\t\t} ),\n\t} );\n\t/**\n\t * When excerpt is editable, strip the html tags from\n\t * rendered excerpt. This will be used if the entity's\n\t * excerpt has been produced from the content.\n\t */\n\tconst strippedRenderedExcerpt = useMemo( () => {\n\t\tif ( ! renderedExcerpt ) return '';\n\t\tconst document = new window.DOMParser().parseFromString(\n\t\t\trenderedExcerpt,\n\t\t\t'text/html'\n\t\t);\n\t\treturn document.body.textContent || document.body.innerText || '';\n\t}, [ renderedExcerpt ] );\n\tif ( ! postType || ! postId ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<p>\n\t\t\t\t\t{ __(\n\t\t\t\t\t\t'This is the Post Excerpt block, it will display the excerpt from single posts.'\n\t\t\t\t\t) }\n\t\t\t\t</p>\n\t\t\t\t<p>\n\t\t\t\t\t{ __(\n\t\t\t\t\t\t'If there are any Custom Post Types with support for excerpts, the Post Excerpt block can display the excerpts of those entries as well.'\n\t\t\t\t\t) }\n\t\t\t\t</p>\n\t\t\t</div>\n\t\t);\n\t}\n\tif ( isProtected && ! userCanEdit ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<Warning>\n\t\t\t\t\t{ __(\n\t\t\t\t\t\t'There is no excerpt because this is a protected post.'\n\t\t\t\t\t) }\n\t\t\t\t</Warning>\n\t\t\t</div>\n\t\t);\n\t}\n\tconst readMoreLink = (\n\t\t<RichText\n\t\t\tclassName=\"wp-block-post-excerpt__more-link\"\n\t\t\ttagName=\"a\"\n\t\t\taria-label={ __( 'Read more link text' ) }\n\t\t\tplaceholder={ __( 'Add \"read more\" link text' ) }\n\t\t\tvalue={ moreText }\n\t\t\tonChange={ ( newMoreText ) =>\n\t\t\t\tsetAttributes( { moreText: newMoreText } )\n\t\t\t}\n\t\t\twithoutInteractiveFormatting={ true }\n\t\t/>\n\t);\n\tconst excerptClassName = classnames( 'wp-block-post-excerpt__excerpt', {\n\t\t'is-inline': ! showMoreOnNewLine,\n\t} );\n\tconst excerptContent = isEditable ? (\n\t\t<RichText\n\t\t\tclassName={ excerptClassName }\n\t\t\taria-label={ __( 'Post excerpt text' ) }\n\t\t\tvalue={\n\t\t\t\trawExcerpt ||\n\t\t\t\tstrippedRenderedExcerpt ||\n\t\t\t\t( isSelected ? '' : __( 'No post excerpt found' ) )\n\t\t\t}\n\t\t\tonChange={ setExcerpt }\n\t\t\ttagName=\"p\"\n\t\t/>\n\t) : (\n\t\t<p className={ excerptClassName }>\n\t\t\t{ strippedRenderedExcerpt || __( 'No post excerpt found' ) }\n\t\t</p>\n\t);\n\treturn (\n\t\t<>\n\t\t\t<BlockControls>\n\t\t\t\t<AlignmentToolbar\n\t\t\t\t\tvalue={ textAlign }\n\t\t\t\t\tonChange={ ( newAlign ) =>\n\t\t\t\t\t\tsetAttributes( { textAlign: newAlign } )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t</BlockControls>\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={ __( 'Show link on new line' ) }\n\t\t\t\t\t\tchecked={ showMoreOnNewLine }\n\t\t\t\t\t\tonChange={ ( newShowMoreOnNewLine ) =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tshowMoreOnNewLine: newShowMoreOnNewLine,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t<div { ...blockProps }>\n\t\t\t\t{ excerptContent }\n\t\t\t\t{ ! showMoreOnNewLine && ' ' }\n\t\t\t\t{ showMoreOnNewLine ? (\n\t\t\t\t\t<p className=\"wp-block-post-excerpt__more-text\">\n\t\t\t\t\t\t{ readMoreLink }\n\t\t\t\t\t</p>\n\t\t\t\t) : (\n\t\t\t\t\treadMoreLink\n\t\t\t\t) }\n\t\t\t</div>\n\t\t</>\n\t);\n}\n"]}