@wordpress/block-library 8.20.1 → 8.21.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 (277) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/README.md +12 -0
  3. package/build/block/index.js +2 -1
  4. package/build/block/index.js.map +1 -1
  5. package/build/code/edit.native.js +8 -2
  6. package/build/code/edit.native.js.map +1 -1
  7. package/build/cover/deprecated.js +110 -1
  8. package/build/cover/deprecated.js.map +1 -1
  9. package/build/cover/edit/index.js +9 -3
  10. package/build/cover/edit/index.js.map +1 -1
  11. package/build/cover/edit/inspector-controls.js +1 -2
  12. package/build/cover/edit/inspector-controls.js.map +1 -1
  13. package/build/cover/index.js +0 -3
  14. package/build/cover/index.js.map +1 -1
  15. package/build/cover/save.js +2 -1
  16. package/build/cover/save.js.map +1 -1
  17. package/build/cover/shared.js +1 -1
  18. package/build/cover/shared.js.map +1 -1
  19. package/build/footnotes/index.js +1 -0
  20. package/build/footnotes/index.js.map +1 -1
  21. package/build/form/edit.js +138 -0
  22. package/build/form/edit.js.map +1 -0
  23. package/build/form/index.js +92 -0
  24. package/build/form/index.js.map +1 -0
  25. package/build/form/init.js +13 -0
  26. package/build/form/init.js.map +1 -0
  27. package/build/form/save.js +28 -0
  28. package/build/form/save.js.map +1 -0
  29. package/build/form/utils.js +24 -0
  30. package/build/form/utils.js.map +1 -0
  31. package/build/form/variations.js +95 -0
  32. package/build/form/variations.js.map +1 -0
  33. package/build/form/view.js +42 -0
  34. package/build/form/view.js.map +1 -0
  35. package/build/form-input/edit.js +124 -0
  36. package/build/form-input/edit.js.map +1 -0
  37. package/build/form-input/index.js +105 -0
  38. package/build/form-input/index.js.map +1 -0
  39. package/build/form-input/init.js +13 -0
  40. package/build/form-input/init.js.map +1 -0
  41. package/build/form-input/save.js +87 -0
  42. package/build/form-input/save.js.map +1 -0
  43. package/build/form-input/variations.js +93 -0
  44. package/build/form-input/variations.js.map +1 -0
  45. package/build/form-submission-notification/edit.js +59 -0
  46. package/build/form-submission-notification/edit.js.map +1 -0
  47. package/build/form-submission-notification/index.js +56 -0
  48. package/build/form-submission-notification/index.js.map +1 -0
  49. package/build/form-submission-notification/init.js +13 -0
  50. package/build/form-submission-notification/init.js.map +1 -0
  51. package/build/form-submission-notification/save.js +33 -0
  52. package/build/form-submission-notification/save.js.map +1 -0
  53. package/build/form-submission-notification/variations.js +63 -0
  54. package/build/form-submission-notification/variations.js.map +1 -0
  55. package/build/form-submit-button/edit.js +32 -0
  56. package/build/form-submit-button/edit.js.map +1 -0
  57. package/build/form-submit-button/index.js +44 -0
  58. package/build/form-submit-button/index.js.map +1 -0
  59. package/build/form-submit-button/init.js +13 -0
  60. package/build/form-submit-button/init.js.map +1 -0
  61. package/build/form-submit-button/save.js +22 -0
  62. package/build/form-submit-button/save.js.map +1 -0
  63. package/build/group/index.js +0 -1
  64. package/build/group/index.js.map +1 -1
  65. package/build/heading/index.js +3 -2
  66. package/build/heading/index.js.map +1 -1
  67. package/build/image/image.js +4 -1
  68. package/build/image/image.js.map +1 -1
  69. package/build/image/view.js +82 -40
  70. package/build/image/view.js.map +1 -1
  71. package/build/index.js +10 -0
  72. package/build/index.js.map +1 -1
  73. package/build/latest-posts/edit.js +6 -2
  74. package/build/latest-posts/edit.js.map +1 -1
  75. package/build/list-item/hooks/use-merge.js +15 -15
  76. package/build/list-item/hooks/use-merge.js.map +1 -1
  77. package/build/lock-unlock.js +1 -1
  78. package/build/lock-unlock.js.map +1 -1
  79. package/build/missing/edit.native.js +14 -62
  80. package/build/missing/edit.native.js.map +1 -1
  81. package/build/navigation/edit/index.js +0 -1
  82. package/build/navigation/edit/index.js.map +1 -1
  83. package/build/navigation/index.js +2 -1
  84. package/build/navigation/index.js.map +1 -1
  85. package/build/navigation/view.js +27 -5
  86. package/build/navigation/view.js.map +1 -1
  87. package/build/page-list-item/edit.js +3 -1
  88. package/build/page-list-item/edit.js.map +1 -1
  89. package/build/paragraph/index.js +7 -0
  90. package/build/paragraph/index.js.map +1 -1
  91. package/build/pattern/index.js +2 -1
  92. package/build/pattern/index.js.map +1 -1
  93. package/build/template-part/index.js +2 -1
  94. package/build/template-part/index.js.map +1 -1
  95. package/build-module/block/index.js +2 -1
  96. package/build-module/block/index.js.map +1 -1
  97. package/build-module/code/edit.native.js +8 -2
  98. package/build-module/code/edit.native.js.map +1 -1
  99. package/build-module/cover/deprecated.js +110 -1
  100. package/build-module/cover/deprecated.js.map +1 -1
  101. package/build-module/cover/edit/index.js +9 -3
  102. package/build-module/cover/edit/index.js.map +1 -1
  103. package/build-module/cover/edit/inspector-controls.js +1 -2
  104. package/build-module/cover/edit/inspector-controls.js.map +1 -1
  105. package/build-module/cover/index.js +0 -3
  106. package/build-module/cover/index.js.map +1 -1
  107. package/build-module/cover/save.js +2 -1
  108. package/build-module/cover/save.js.map +1 -1
  109. package/build-module/cover/shared.js +1 -1
  110. package/build-module/cover/shared.js.map +1 -1
  111. package/build-module/footnotes/index.js +1 -0
  112. package/build-module/footnotes/index.js.map +1 -1
  113. package/build-module/form/edit.js +130 -0
  114. package/build-module/form/edit.js.map +1 -0
  115. package/build-module/form/index.js +82 -0
  116. package/build-module/form/index.js.map +1 -0
  117. package/build-module/form/init.js +6 -0
  118. package/build-module/form/init.js.map +1 -0
  119. package/build-module/form/save.js +20 -0
  120. package/build-module/form/save.js.map +1 -0
  121. package/build-module/form/utils.js +15 -0
  122. package/build-module/form/utils.js.map +1 -0
  123. package/build-module/form/variations.js +86 -0
  124. package/build-module/form/variations.js.map +1 -0
  125. package/build-module/form/view.js +40 -0
  126. package/build-module/form/view.js.map +1 -0
  127. package/build-module/form-input/edit.js +115 -0
  128. package/build-module/form-input/edit.js.map +1 -0
  129. package/build-module/form-input/index.js +95 -0
  130. package/build-module/form-input/index.js.map +1 -0
  131. package/build-module/form-input/init.js +6 -0
  132. package/build-module/form-input/init.js.map +1 -0
  133. package/build-module/form-input/save.js +80 -0
  134. package/build-module/form-input/save.js.map +1 -0
  135. package/build-module/form-input/variations.js +85 -0
  136. package/build-module/form-input/variations.js.map +1 -0
  137. package/build-module/form-submission-notification/edit.js +50 -0
  138. package/build-module/form-submission-notification/edit.js.map +1 -0
  139. package/build-module/form-submission-notification/index.js +47 -0
  140. package/build-module/form-submission-notification/index.js.map +1 -0
  141. package/build-module/form-submission-notification/init.js +6 -0
  142. package/build-module/form-submission-notification/init.js.map +1 -0
  143. package/build-module/form-submission-notification/save.js +25 -0
  144. package/build-module/form-submission-notification/save.js.map +1 -0
  145. package/build-module/form-submission-notification/variations.js +55 -0
  146. package/build-module/form-submission-notification/variations.js.map +1 -0
  147. package/build-module/form-submit-button/edit.js +24 -0
  148. package/build-module/form-submit-button/edit.js.map +1 -0
  149. package/build-module/form-submit-button/index.js +34 -0
  150. package/build-module/form-submit-button/index.js.map +1 -0
  151. package/build-module/form-submit-button/init.js +6 -0
  152. package/build-module/form-submit-button/init.js.map +1 -0
  153. package/build-module/form-submit-button/save.js +14 -0
  154. package/build-module/form-submit-button/save.js.map +1 -0
  155. package/build-module/group/index.js +0 -1
  156. package/build-module/group/index.js.map +1 -1
  157. package/build-module/heading/index.js +3 -2
  158. package/build-module/heading/index.js.map +1 -1
  159. package/build-module/image/image.js +4 -1
  160. package/build-module/image/image.js.map +1 -1
  161. package/build-module/image/view.js +82 -40
  162. package/build-module/image/view.js.map +1 -1
  163. package/build-module/index.js +10 -0
  164. package/build-module/index.js.map +1 -1
  165. package/build-module/latest-posts/edit.js +6 -2
  166. package/build-module/latest-posts/edit.js.map +1 -1
  167. package/build-module/list-item/hooks/use-merge.js +15 -15
  168. package/build-module/list-item/hooks/use-merge.js.map +1 -1
  169. package/build-module/lock-unlock.js +1 -1
  170. package/build-module/lock-unlock.js.map +1 -1
  171. package/build-module/missing/edit.native.js +17 -65
  172. package/build-module/missing/edit.native.js.map +1 -1
  173. package/build-module/navigation/edit/index.js +0 -1
  174. package/build-module/navigation/edit/index.js.map +1 -1
  175. package/build-module/navigation/index.js +2 -1
  176. package/build-module/navigation/index.js.map +1 -1
  177. package/build-module/navigation/view.js +27 -5
  178. package/build-module/navigation/view.js.map +1 -1
  179. package/build-module/page-list-item/edit.js +3 -1
  180. package/build-module/page-list-item/edit.js.map +1 -1
  181. package/build-module/paragraph/index.js +7 -0
  182. package/build-module/paragraph/index.js.map +1 -1
  183. package/build-module/pattern/index.js +2 -1
  184. package/build-module/pattern/index.js.map +1 -1
  185. package/build-module/template-part/index.js +2 -1
  186. package/build-module/template-part/index.js.map +1 -1
  187. package/build-style/editor-rtl.css +50 -0
  188. package/build-style/editor.css +50 -0
  189. package/build-style/form-input/editor-rtl.css +106 -0
  190. package/build-style/form-input/editor.css +106 -0
  191. package/build-style/form-input/style-rtl.css +135 -0
  192. package/build-style/form-input/style.css +135 -0
  193. package/build-style/form-submission-notification/editor-rtl.css +118 -0
  194. package/build-style/form-submission-notification/editor.css +118 -0
  195. package/build-style/form-submit-button/style-rtl.css +91 -0
  196. package/build-style/form-submit-button/style.css +91 -0
  197. package/build-style/image/style-rtl.css +39 -5
  198. package/build-style/image/style.css +39 -5
  199. package/build-style/query/style-rtl.css +0 -10
  200. package/build-style/query/style.css +0 -10
  201. package/build-style/style-rtl.css +87 -5
  202. package/build-style/style.css +87 -5
  203. package/package.json +32 -32
  204. package/src/block/block.json +2 -1
  205. package/src/code/edit.native.js +15 -1
  206. package/src/cover/block.json +0 -3
  207. package/src/cover/deprecated.js +151 -1
  208. package/src/cover/edit/index.js +12 -3
  209. package/src/cover/edit/inspector-controls.js +19 -25
  210. package/src/cover/save.js +2 -1
  211. package/src/cover/shared.js +1 -1
  212. package/src/editor.scss +2 -0
  213. package/src/footnotes/block.json +1 -0
  214. package/src/form/block.json +60 -0
  215. package/src/form/edit.js +179 -0
  216. package/src/form/index.js +20 -0
  217. package/src/form/index.php +214 -0
  218. package/src/form/init.js +6 -0
  219. package/src/form/save.js +20 -0
  220. package/src/form/utils.js +39 -0
  221. package/src/form/variations.js +139 -0
  222. package/src/form/view.js +41 -0
  223. package/src/form-input/block.json +73 -0
  224. package/src/form-input/edit.js +151 -0
  225. package/src/form-input/editor.scss +24 -0
  226. package/src/form-input/index.js +20 -0
  227. package/src/form-input/index.php +45 -0
  228. package/src/form-input/init.js +6 -0
  229. package/src/form-input/save.js +83 -0
  230. package/src/form-input/style.scss +61 -0
  231. package/src/form-input/variations.js +82 -0
  232. package/src/form-submission-notification/block.json +19 -0
  233. package/src/form-submission-notification/edit.js +63 -0
  234. package/src/form-submission-notification/editor.scss +45 -0
  235. package/src/form-submission-notification/index.js +26 -0
  236. package/src/form-submission-notification/index.php +48 -0
  237. package/src/form-submission-notification/init.js +6 -0
  238. package/src/form-submission-notification/save.js +28 -0
  239. package/src/form-submission-notification/variations.js +59 -0
  240. package/src/form-submit-button/block.json +14 -0
  241. package/src/form-submit-button/edit.js +33 -0
  242. package/src/form-submit-button/index.js +18 -0
  243. package/src/form-submit-button/init.js +6 -0
  244. package/src/form-submit-button/save.js +14 -0
  245. package/src/form-submit-button/style.scss +3 -0
  246. package/src/group/block.json +0 -1
  247. package/src/heading/index.js +4 -2
  248. package/src/image/image.js +10 -0
  249. package/src/image/index.php +128 -82
  250. package/src/image/style.scss +49 -5
  251. package/src/image/view.js +100 -52
  252. package/src/index.js +10 -0
  253. package/src/latest-posts/edit.js +11 -2
  254. package/src/latest-posts/index.php +17 -8
  255. package/src/list-item/hooks/use-merge.js +20 -23
  256. package/src/lock-unlock.js +1 -1
  257. package/src/missing/edit.native.js +17 -115
  258. package/src/missing/style.native.scss +0 -67
  259. package/src/missing/test/edit-integration.native.js +135 -49
  260. package/src/missing/test/edit.native.js +0 -41
  261. package/src/navigation/block.json +2 -1
  262. package/src/navigation/edit/index.js +0 -1
  263. package/src/navigation/index.php +28 -8
  264. package/src/navigation/view.js +25 -6
  265. package/src/page-list-item/edit.js +2 -0
  266. package/src/paragraph/index.js +10 -0
  267. package/src/pattern/block.json +2 -1
  268. package/src/pattern/index.php +0 -3
  269. package/src/post-navigation-link/index.php +2 -1
  270. package/src/preformatted/test/edit.native.js +38 -0
  271. package/src/query/index.php +3 -2
  272. package/src/query/style.scss +0 -11
  273. package/src/search/index.php +0 -4
  274. package/src/style.scss +1 -0
  275. package/src/template-part/block.json +2 -1
  276. package/src/template-part/index.php +4 -7
  277. package/src/verse/test/edit.native.js +37 -0
@@ -1 +1 @@
1
- {"version":3,"names":["classnames","BaseControl","PanelBody","Placeholder","QueryControls","RadioControl","RangeControl","Spinner","ToggleControl","ToolbarGroup","__","sprintf","dateI18n","format","getSettings","InspectorControls","BlockAlignmentToolbar","BlockControls","__experimentalImageSizeControl","ImageSizeControl","useBlockProps","store","blockEditorStore","useSelect","useDispatch","pin","list","grid","coreStore","noticeStore","useInstanceId","createInterpolateElement","MIN_EXCERPT_LENGTH","MAX_EXCERPT_LENGTH","MAX_POSTS_COLUMNS","CATEGORIES_LIST_QUERY","per_page","context","USERS_LIST_QUERY","has_published_posts","getFeaturedImageDetails","post","size","_image$media_details$","image","_embedded","url","media_details","sizes","source_url","alt","alt_text","LatestPostsEdit","attributes","setAttributes","_categoriesList$reduc","instanceId","postsToShow","order","orderBy","categories","selectedAuthor","displayFeaturedImage","displayPostContentRadio","displayPostContent","displayPostDate","displayAuthor","postLayout","columns","excerptLength","featuredImageAlign","featuredImageSizeSlug","featuredImageSizeWidth","featuredImageSizeHeight","addLinkToFeaturedImage","imageSizes","latestPosts","defaultImageWidth","defaultImageHeight","categoriesList","authorList","select","_settings$imageDimens","_settings$imageDimens2","getEntityRecords","getUsers","settings","catIds","length","map","cat","id","latestPostsQuery","Object","fromEntries","entries","author","orderby","_embed","filter","value","imageDimensions","width","height","createWarningNotice","removeNotice","noticeId","showRedirectionPreventedNotice","event","preventDefault","type","imageSizeOptions","slug","name","label","categorySuggestions","reduce","accumulator","category","selectCategories","tokens","hasNoSuggestion","some","token","allCategories","includes","hasPosts","inspectorControls","createElement","title","checked","onChange","selected","options","__nextHasNoMarginBottom","__next40pxDefaultSize","min","max","Fragment","newAttrs","hasOwnProperty","imageWidth","imageHeight","imageSizeHelp","onChangeImage","undefined","className","VisualLabel","controls","isCollapsed","numberOfItems","onOrderChange","onOrderByChange","onNumberOfItemsChange","onCategoryChange","selectedCategories","onAuthorChange","Number","selectedAuthorId","Math","required","blockProps","icon","Array","isArray","displayPosts","slice","layoutControls","onClick","isActive","dateFormat","formats","date","titleTrimmed","rendered","trim","excerpt","currentAuthor","find","excerptElement","document","innerHTML","textContent","innerText","imageSourceUrl","featuredImageAlt","imageClasses","renderFeaturedImage","featuredImage","src","style","maxWidth","maxHeight","needsReadMore","split","raw","postExcerpt","join","a","href","link","rel","key","dangerouslySetInnerHTML","__html","date_gmt","dateTime","content"],"sources":["@wordpress/block-library/src/latest-posts/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tBaseControl,\n\tPanelBody,\n\tPlaceholder,\n\tQueryControls,\n\tRadioControl,\n\tRangeControl,\n\tSpinner,\n\tToggleControl,\n\tToolbarGroup,\n} from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { dateI18n, format, getSettings } from '@wordpress/date';\nimport {\n\tInspectorControls,\n\tBlockAlignmentToolbar,\n\tBlockControls,\n\t__experimentalImageSizeControl as ImageSizeControl,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { pin, list, grid } from '@wordpress/icons';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { store as noticeStore } from '@wordpress/notices';\nimport { useInstanceId } from '@wordpress/compose';\nimport { createInterpolateElement } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport {\n\tMIN_EXCERPT_LENGTH,\n\tMAX_EXCERPT_LENGTH,\n\tMAX_POSTS_COLUMNS,\n} from './constants';\n\n/**\n * Module Constants\n */\nconst CATEGORIES_LIST_QUERY = {\n\tper_page: -1,\n\tcontext: 'view',\n};\nconst USERS_LIST_QUERY = {\n\tper_page: -1,\n\thas_published_posts: [ 'post' ],\n\tcontext: 'view',\n};\n\nfunction getFeaturedImageDetails( post, size ) {\n\tconst image = post._embedded?.[ 'wp:featuredmedia' ]?.[ '0' ];\n\n\treturn {\n\t\turl:\n\t\t\timage?.media_details?.sizes?.[ size ]?.source_url ??\n\t\t\timage?.source_url,\n\t\talt: image?.alt_text,\n\t};\n}\n\nexport default function LatestPostsEdit( { attributes, setAttributes } ) {\n\tconst instanceId = useInstanceId( LatestPostsEdit );\n\tconst {\n\t\tpostsToShow,\n\t\torder,\n\t\torderBy,\n\t\tcategories,\n\t\tselectedAuthor,\n\t\tdisplayFeaturedImage,\n\t\tdisplayPostContentRadio,\n\t\tdisplayPostContent,\n\t\tdisplayPostDate,\n\t\tdisplayAuthor,\n\t\tpostLayout,\n\t\tcolumns,\n\t\texcerptLength,\n\t\tfeaturedImageAlign,\n\t\tfeaturedImageSizeSlug,\n\t\tfeaturedImageSizeWidth,\n\t\tfeaturedImageSizeHeight,\n\t\taddLinkToFeaturedImage,\n\t} = attributes;\n\tconst {\n\t\timageSizes,\n\t\tlatestPosts,\n\t\tdefaultImageWidth,\n\t\tdefaultImageHeight,\n\t\tcategoriesList,\n\t\tauthorList,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEntityRecords, getUsers } = select( coreStore );\n\t\t\tconst settings = select( blockEditorStore ).getSettings();\n\t\t\tconst catIds =\n\t\t\t\tcategories && categories.length > 0\n\t\t\t\t\t? categories.map( ( cat ) => cat.id )\n\t\t\t\t\t: [];\n\t\t\tconst latestPostsQuery = Object.fromEntries(\n\t\t\t\tObject.entries( {\n\t\t\t\t\tcategories: catIds,\n\t\t\t\t\tauthor: selectedAuthor,\n\t\t\t\t\torder,\n\t\t\t\t\torderby: orderBy,\n\t\t\t\t\tper_page: postsToShow,\n\t\t\t\t\t_embed: 'wp:featuredmedia',\n\t\t\t\t} ).filter( ( [ , value ] ) => typeof value !== 'undefined' )\n\t\t\t);\n\n\t\t\treturn {\n\t\t\t\tdefaultImageWidth:\n\t\t\t\t\tsettings.imageDimensions?.[ featuredImageSizeSlug ]\n\t\t\t\t\t\t?.width ?? 0,\n\t\t\t\tdefaultImageHeight:\n\t\t\t\t\tsettings.imageDimensions?.[ featuredImageSizeSlug ]\n\t\t\t\t\t\t?.height ?? 0,\n\t\t\t\timageSizes: settings.imageSizes,\n\t\t\t\tlatestPosts: getEntityRecords(\n\t\t\t\t\t'postType',\n\t\t\t\t\t'post',\n\t\t\t\t\tlatestPostsQuery\n\t\t\t\t),\n\t\t\t\tcategoriesList: getEntityRecords(\n\t\t\t\t\t'taxonomy',\n\t\t\t\t\t'category',\n\t\t\t\t\tCATEGORIES_LIST_QUERY\n\t\t\t\t),\n\t\t\t\tauthorList: getUsers( USERS_LIST_QUERY ),\n\t\t\t};\n\t\t},\n\t\t[\n\t\t\tfeaturedImageSizeSlug,\n\t\t\tpostsToShow,\n\t\t\torder,\n\t\t\torderBy,\n\t\t\tcategories,\n\t\t\tselectedAuthor,\n\t\t]\n\t);\n\n\t// If a user clicks to a link prevent redirection and show a warning.\n\tconst { createWarningNotice, removeNotice } = useDispatch( noticeStore );\n\tlet noticeId;\n\tconst showRedirectionPreventedNotice = ( event ) => {\n\t\tevent.preventDefault();\n\t\t// Remove previous warning if any, to show one at a time per block.\n\t\tremoveNotice( noticeId );\n\t\tnoticeId = `block-library/core/latest-posts/redirection-prevented/${ instanceId }`;\n\t\tcreateWarningNotice( __( 'Links are disabled in the editor.' ), {\n\t\t\tid: noticeId,\n\t\t\ttype: 'snackbar',\n\t\t} );\n\t};\n\n\tconst imageSizeOptions = imageSizes\n\t\t.filter( ( { slug } ) => slug !== 'full' )\n\t\t.map( ( { name, slug } ) => ( {\n\t\t\tvalue: slug,\n\t\t\tlabel: name,\n\t\t} ) );\n\tconst categorySuggestions =\n\t\tcategoriesList?.reduce(\n\t\t\t( accumulator, category ) => ( {\n\t\t\t\t...accumulator,\n\t\t\t\t[ category.name ]: category,\n\t\t\t} ),\n\t\t\t{}\n\t\t) ?? {};\n\tconst selectCategories = ( tokens ) => {\n\t\tconst hasNoSuggestion = tokens.some(\n\t\t\t( token ) =>\n\t\t\t\ttypeof token === 'string' && ! categorySuggestions[ token ]\n\t\t);\n\t\tif ( hasNoSuggestion ) {\n\t\t\treturn;\n\t\t}\n\t\t// Categories that are already will be objects, while new additions will be strings (the name).\n\t\t// allCategories nomalizes the array so that they are all objects.\n\t\tconst allCategories = tokens.map( ( token ) => {\n\t\t\treturn typeof token === 'string'\n\t\t\t\t? categorySuggestions[ token ]\n\t\t\t\t: token;\n\t\t} );\n\t\t// We do nothing if the category is not selected\n\t\t// from suggestions.\n\t\tif ( allCategories.includes( null ) ) {\n\t\t\treturn false;\n\t\t}\n\t\tsetAttributes( { categories: allCategories } );\n\t};\n\n\tconst hasPosts = !! latestPosts?.length;\n\tconst inspectorControls = (\n\t\t<InspectorControls>\n\t\t\t<PanelBody title={ __( 'Post content' ) }>\n\t\t\t\t<ToggleControl\n\t\t\t\t\tlabel={ __( 'Post content' ) }\n\t\t\t\t\tchecked={ displayPostContent }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { displayPostContent: value } )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t\t{ displayPostContent && (\n\t\t\t\t\t<RadioControl\n\t\t\t\t\t\tlabel={ __( 'Show:' ) }\n\t\t\t\t\t\tselected={ displayPostContentRadio }\n\t\t\t\t\t\toptions={ [\n\t\t\t\t\t\t\t{ label: __( 'Excerpt' ), value: 'excerpt' },\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tlabel: __( 'Full post' ),\n\t\t\t\t\t\t\t\tvalue: 'full_post',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t] }\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tdisplayPostContentRadio: value,\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) }\n\t\t\t\t{ displayPostContent &&\n\t\t\t\t\tdisplayPostContentRadio === 'excerpt' && (\n\t\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tlabel={ __( 'Max number of words' ) }\n\t\t\t\t\t\t\tvalue={ excerptLength }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( { excerptLength: value } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tmin={ MIN_EXCERPT_LENGTH }\n\t\t\t\t\t\t\tmax={ MAX_EXCERPT_LENGTH }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t</PanelBody>\n\n\t\t\t<PanelBody title={ __( 'Post meta' ) }>\n\t\t\t\t<ToggleControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tlabel={ __( 'Display author name' ) }\n\t\t\t\t\tchecked={ displayAuthor }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { displayAuthor: value } )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t\t<ToggleControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tlabel={ __( 'Display post date' ) }\n\t\t\t\t\tchecked={ displayPostDate }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { displayPostDate: value } )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t</PanelBody>\n\n\t\t\t<PanelBody title={ __( 'Featured image' ) }>\n\t\t\t\t<ToggleControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tlabel={ __( 'Display featured image' ) }\n\t\t\t\t\tchecked={ displayFeaturedImage }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { displayFeaturedImage: value } )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t\t{ displayFeaturedImage && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<ImageSizeControl\n\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\tconst newAttrs = {};\n\t\t\t\t\t\t\t\tif ( value.hasOwnProperty( 'width' ) ) {\n\t\t\t\t\t\t\t\t\tnewAttrs.featuredImageSizeWidth =\n\t\t\t\t\t\t\t\t\t\tvalue.width;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tif ( value.hasOwnProperty( 'height' ) ) {\n\t\t\t\t\t\t\t\t\tnewAttrs.featuredImageSizeHeight =\n\t\t\t\t\t\t\t\t\t\tvalue.height;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tsetAttributes( newAttrs );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tslug={ featuredImageSizeSlug }\n\t\t\t\t\t\t\twidth={ featuredImageSizeWidth }\n\t\t\t\t\t\t\theight={ featuredImageSizeHeight }\n\t\t\t\t\t\t\timageWidth={ defaultImageWidth }\n\t\t\t\t\t\t\timageHeight={ defaultImageHeight }\n\t\t\t\t\t\t\timageSizeOptions={ imageSizeOptions }\n\t\t\t\t\t\t\timageSizeHelp={ __(\n\t\t\t\t\t\t\t\t'Select the size of the source image.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tonChangeImage={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\tfeaturedImageSizeSlug: value,\n\t\t\t\t\t\t\t\t\tfeaturedImageSizeWidth: undefined,\n\t\t\t\t\t\t\t\t\tfeaturedImageSizeHeight: undefined,\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\t\t\t\t\t\t<BaseControl className=\"editor-latest-posts-image-alignment-control\">\n\t\t\t\t\t\t\t<BaseControl.VisualLabel>\n\t\t\t\t\t\t\t\t{ __( 'Image alignment' ) }\n\t\t\t\t\t\t\t</BaseControl.VisualLabel>\n\t\t\t\t\t\t\t<BlockAlignmentToolbar\n\t\t\t\t\t\t\t\tvalue={ featuredImageAlign }\n\t\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\tfeaturedImageAlign: value,\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\tcontrols={ [ 'left', 'center', 'right' ] }\n\t\t\t\t\t\t\t\tisCollapsed={ false }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</BaseControl>\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Add link to featured image' ) }\n\t\t\t\t\t\t\tchecked={ addLinkToFeaturedImage }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\taddLinkToFeaturedImage: value,\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\t\t\t\t\t</>\n\t\t\t\t) }\n\t\t\t</PanelBody>\n\n\t\t\t<PanelBody title={ __( 'Sorting and filtering' ) }>\n\t\t\t\t<QueryControls\n\t\t\t\t\t{ ...{ order, orderBy } }\n\t\t\t\t\tnumberOfItems={ postsToShow }\n\t\t\t\t\tonOrderChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { order: value } )\n\t\t\t\t\t}\n\t\t\t\t\tonOrderByChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { orderBy: value } )\n\t\t\t\t\t}\n\t\t\t\t\tonNumberOfItemsChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { postsToShow: value } )\n\t\t\t\t\t}\n\t\t\t\t\tcategorySuggestions={ categorySuggestions }\n\t\t\t\t\tonCategoryChange={ selectCategories }\n\t\t\t\t\tselectedCategories={ categories }\n\t\t\t\t\tonAuthorChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\tselectedAuthor:\n\t\t\t\t\t\t\t\t'' !== value ? Number( value ) : undefined,\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t\tauthorList={ authorList ?? [] }\n\t\t\t\t\tselectedAuthorId={ selectedAuthor }\n\t\t\t\t/>\n\n\t\t\t\t{ postLayout === 'grid' && (\n\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tlabel={ __( 'Columns' ) }\n\t\t\t\t\t\tvalue={ columns }\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( { columns: value } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tmin={ 2 }\n\t\t\t\t\t\tmax={\n\t\t\t\t\t\t\t! hasPosts\n\t\t\t\t\t\t\t\t? MAX_POSTS_COLUMNS\n\t\t\t\t\t\t\t\t: Math.min(\n\t\t\t\t\t\t\t\t\t\tMAX_POSTS_COLUMNS,\n\t\t\t\t\t\t\t\t\t\tlatestPosts.length\n\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t}\n\t\t\t\t\t\trequired\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</PanelBody>\n\t\t</InspectorControls>\n\t);\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classnames( {\n\t\t\t'wp-block-latest-posts__list': true,\n\t\t\t'is-grid': postLayout === 'grid',\n\t\t\t'has-dates': displayPostDate,\n\t\t\t'has-author': displayAuthor,\n\t\t\t[ `columns-${ columns }` ]: postLayout === 'grid',\n\t\t} ),\n\t} );\n\n\tif ( ! hasPosts ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t{ inspectorControls }\n\t\t\t\t<Placeholder icon={ pin } label={ __( 'Latest Posts' ) }>\n\t\t\t\t\t{ ! Array.isArray( latestPosts ) ? (\n\t\t\t\t\t\t<Spinner />\n\t\t\t\t\t) : (\n\t\t\t\t\t\t__( 'No posts found.' )\n\t\t\t\t\t) }\n\t\t\t\t</Placeholder>\n\t\t\t</div>\n\t\t);\n\t}\n\n\t// Removing posts from display should be instant.\n\tconst displayPosts =\n\t\tlatestPosts.length > postsToShow\n\t\t\t? latestPosts.slice( 0, postsToShow )\n\t\t\t: latestPosts;\n\n\tconst layoutControls = [\n\t\t{\n\t\t\ticon: list,\n\t\t\ttitle: __( 'List view' ),\n\t\t\tonClick: () => setAttributes( { postLayout: 'list' } ),\n\t\t\tisActive: postLayout === 'list',\n\t\t},\n\t\t{\n\t\t\ticon: grid,\n\t\t\ttitle: __( 'Grid view' ),\n\t\t\tonClick: () => setAttributes( { postLayout: 'grid' } ),\n\t\t\tisActive: postLayout === 'grid',\n\t\t},\n\t];\n\n\tconst dateFormat = getSettings().formats.date;\n\n\treturn (\n\t\t<div>\n\t\t\t{ inspectorControls }\n\t\t\t<BlockControls>\n\t\t\t\t<ToolbarGroup controls={ layoutControls } />\n\t\t\t</BlockControls>\n\t\t\t<ul { ...blockProps }>\n\t\t\t\t{ displayPosts.map( ( post ) => {\n\t\t\t\t\tconst titleTrimmed = post.title.rendered.trim();\n\t\t\t\t\tlet excerpt = post.excerpt.rendered;\n\t\t\t\t\tconst currentAuthor = authorList?.find(\n\t\t\t\t\t\t( author ) => author.id === post.author\n\t\t\t\t\t);\n\n\t\t\t\t\tconst excerptElement = document.createElement( 'div' );\n\t\t\t\t\texcerptElement.innerHTML = excerpt;\n\n\t\t\t\t\texcerpt =\n\t\t\t\t\t\texcerptElement.textContent ||\n\t\t\t\t\t\texcerptElement.innerText ||\n\t\t\t\t\t\t'';\n\n\t\t\t\t\tconst { url: imageSourceUrl, alt: featuredImageAlt } =\n\t\t\t\t\t\tgetFeaturedImageDetails( post, featuredImageSizeSlug );\n\t\t\t\t\tconst imageClasses = classnames( {\n\t\t\t\t\t\t'wp-block-latest-posts__featured-image': true,\n\t\t\t\t\t\t[ `align${ featuredImageAlign }` ]:\n\t\t\t\t\t\t\t!! featuredImageAlign,\n\t\t\t\t\t} );\n\t\t\t\t\tconst renderFeaturedImage =\n\t\t\t\t\t\tdisplayFeaturedImage && imageSourceUrl;\n\t\t\t\t\tconst featuredImage = renderFeaturedImage && (\n\t\t\t\t\t\t<img\n\t\t\t\t\t\t\tsrc={ imageSourceUrl }\n\t\t\t\t\t\t\talt={ featuredImageAlt }\n\t\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\t\tmaxWidth: featuredImageSizeWidth,\n\t\t\t\t\t\t\t\tmaxHeight: featuredImageSizeHeight,\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\tconst needsReadMore =\n\t\t\t\t\t\texcerptLength < excerpt.trim().split( ' ' ).length &&\n\t\t\t\t\t\tpost.excerpt.raw === '';\n\n\t\t\t\t\tconst postExcerpt = needsReadMore ? (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t{ excerpt\n\t\t\t\t\t\t\t\t.trim()\n\t\t\t\t\t\t\t\t.split( ' ', excerptLength )\n\t\t\t\t\t\t\t\t.join( ' ' ) }\n\t\t\t\t\t\t\t{ createInterpolateElement(\n\t\t\t\t\t\t\t\t/* translators: excerpt truncation character, default … */\n\t\t\t\t\t\t\t\t__( ' … <a>Read more</a>' ),\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\ta: (\n\t\t\t\t\t\t\t\t\t\t// eslint-disable-next-line jsx-a11y/anchor-has-content\n\t\t\t\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\t\t\t\thref={ post.link }\n\t\t\t\t\t\t\t\t\t\t\trel=\"noopener noreferrer\"\n\t\t\t\t\t\t\t\t\t\t\tonClick={\n\t\t\t\t\t\t\t\t\t\t\t\tshowRedirectionPreventedNotice\n\t\t\t\t\t\t\t\t\t\t\t}\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}\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\t\texcerpt\n\t\t\t\t\t);\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<li key={ post.id }>\n\t\t\t\t\t\t\t{ renderFeaturedImage && (\n\t\t\t\t\t\t\t\t<div className={ imageClasses }>\n\t\t\t\t\t\t\t\t\t{ addLinkToFeaturedImage ? (\n\t\t\t\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"wp-block-latest-posts__post-title\"\n\t\t\t\t\t\t\t\t\t\t\thref={ post.link }\n\t\t\t\t\t\t\t\t\t\t\trel=\"noreferrer noopener\"\n\t\t\t\t\t\t\t\t\t\t\tonClick={\n\t\t\t\t\t\t\t\t\t\t\t\tshowRedirectionPreventedNotice\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ featuredImage }\n\t\t\t\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\tfeaturedImage\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\thref={ post.link }\n\t\t\t\t\t\t\t\trel=\"noreferrer noopener\"\n\t\t\t\t\t\t\t\tdangerouslySetInnerHTML={\n\t\t\t\t\t\t\t\t\t!! titleTrimmed\n\t\t\t\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\t\t\t\t__html: titleTrimmed,\n\t\t\t\t\t\t\t\t\t\t }\n\t\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tonClick={ showRedirectionPreventedNotice }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ ! titleTrimmed ? __( '(no title)' ) : null }\n\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t{ displayAuthor && currentAuthor && (\n\t\t\t\t\t\t\t\t<div className=\"wp-block-latest-posts__post-author\">\n\t\t\t\t\t\t\t\t\t{ sprintf(\n\t\t\t\t\t\t\t\t\t\t/* translators: byline. %s: current author. */\n\t\t\t\t\t\t\t\t\t\t__( 'by %s' ),\n\t\t\t\t\t\t\t\t\t\tcurrentAuthor.name\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t{ displayPostDate && post.date_gmt && (\n\t\t\t\t\t\t\t\t<time\n\t\t\t\t\t\t\t\t\tdateTime={ format( 'c', post.date_gmt ) }\n\t\t\t\t\t\t\t\t\tclassName=\"wp-block-latest-posts__post-date\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ dateI18n( dateFormat, post.date_gmt ) }\n\t\t\t\t\t\t\t\t</time>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t{ displayPostContent &&\n\t\t\t\t\t\t\t\tdisplayPostContentRadio === 'excerpt' && (\n\t\t\t\t\t\t\t\t\t<div className=\"wp-block-latest-posts__post-excerpt\">\n\t\t\t\t\t\t\t\t\t\t{ postExcerpt }\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t{ displayPostContent &&\n\t\t\t\t\t\t\t\tdisplayPostContentRadio === 'full_post' && (\n\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\tclassName=\"wp-block-latest-posts__post-full-content\"\n\t\t\t\t\t\t\t\t\t\tdangerouslySetInnerHTML={ {\n\t\t\t\t\t\t\t\t\t\t\t__html: post.content.raw.trim(),\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) }\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</div>\n\t);\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["classnames","BaseControl","PanelBody","Placeholder","QueryControls","RadioControl","RangeControl","Spinner","ToggleControl","ToolbarGroup","__","sprintf","dateI18n","format","getSettings","InspectorControls","BlockAlignmentToolbar","BlockControls","__experimentalImageSizeControl","ImageSizeControl","useBlockProps","store","blockEditorStore","useSelect","useDispatch","pin","list","grid","coreStore","noticeStore","useInstanceId","createInterpolateElement","MIN_EXCERPT_LENGTH","MAX_EXCERPT_LENGTH","MAX_POSTS_COLUMNS","CATEGORIES_LIST_QUERY","per_page","context","USERS_LIST_QUERY","has_published_posts","getFeaturedImageDetails","post","size","_image$media_details$","image","_embedded","url","media_details","sizes","source_url","alt","alt_text","LatestPostsEdit","attributes","setAttributes","_categoriesList$reduc","instanceId","postsToShow","order","orderBy","categories","selectedAuthor","displayFeaturedImage","displayPostContentRadio","displayPostContent","displayPostDate","displayAuthor","postLayout","columns","excerptLength","featuredImageAlign","featuredImageSizeSlug","featuredImageSizeWidth","featuredImageSizeHeight","addLinkToFeaturedImage","imageSizes","latestPosts","defaultImageWidth","defaultImageHeight","categoriesList","authorList","select","_settings$imageDimens","_settings$imageDimens2","getEntityRecords","getUsers","settings","catIds","length","map","cat","id","latestPostsQuery","Object","fromEntries","entries","author","orderby","_embed","filter","value","imageDimensions","width","height","createWarningNotice","removeNotice","noticeId","showRedirectionPreventedNotice","event","preventDefault","type","imageSizeOptions","slug","name","label","categorySuggestions","reduce","accumulator","category","selectCategories","tokens","hasNoSuggestion","some","token","allCategories","includes","hasPosts","inspectorControls","createElement","title","checked","onChange","selected","options","__nextHasNoMarginBottom","__next40pxDefaultSize","min","max","Fragment","newAttrs","hasOwnProperty","imageWidth","imageHeight","imageSizeHelp","onChangeImage","undefined","className","VisualLabel","controls","isCollapsed","numberOfItems","onOrderChange","onOrderByChange","onNumberOfItemsChange","onCategoryChange","selectedCategories","onAuthorChange","Number","selectedAuthorId","Math","required","blockProps","icon","Array","isArray","displayPosts","slice","layoutControls","onClick","isActive","dateFormat","formats","date","titleTrimmed","rendered","trim","excerpt","currentAuthor","find","excerptElement","document","innerHTML","textContent","innerText","imageSourceUrl","featuredImageAlt","imageClasses","renderFeaturedImage","featuredImage","src","style","maxWidth","maxHeight","needsReadMore","split","raw","postExcerpt","join","a","href","link","rel","span","key","dangerouslySetInnerHTML","__html","date_gmt","dateTime","content"],"sources":["@wordpress/block-library/src/latest-posts/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tBaseControl,\n\tPanelBody,\n\tPlaceholder,\n\tQueryControls,\n\tRadioControl,\n\tRangeControl,\n\tSpinner,\n\tToggleControl,\n\tToolbarGroup,\n} from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { dateI18n, format, getSettings } from '@wordpress/date';\nimport {\n\tInspectorControls,\n\tBlockAlignmentToolbar,\n\tBlockControls,\n\t__experimentalImageSizeControl as ImageSizeControl,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { pin, list, grid } from '@wordpress/icons';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { store as noticeStore } from '@wordpress/notices';\nimport { useInstanceId } from '@wordpress/compose';\nimport { createInterpolateElement } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport {\n\tMIN_EXCERPT_LENGTH,\n\tMAX_EXCERPT_LENGTH,\n\tMAX_POSTS_COLUMNS,\n} from './constants';\n\n/**\n * Module Constants\n */\nconst CATEGORIES_LIST_QUERY = {\n\tper_page: -1,\n\tcontext: 'view',\n};\nconst USERS_LIST_QUERY = {\n\tper_page: -1,\n\thas_published_posts: [ 'post' ],\n\tcontext: 'view',\n};\n\nfunction getFeaturedImageDetails( post, size ) {\n\tconst image = post._embedded?.[ 'wp:featuredmedia' ]?.[ '0' ];\n\n\treturn {\n\t\turl:\n\t\t\timage?.media_details?.sizes?.[ size ]?.source_url ??\n\t\t\timage?.source_url,\n\t\talt: image?.alt_text,\n\t};\n}\n\nexport default function LatestPostsEdit( { attributes, setAttributes } ) {\n\tconst instanceId = useInstanceId( LatestPostsEdit );\n\tconst {\n\t\tpostsToShow,\n\t\torder,\n\t\torderBy,\n\t\tcategories,\n\t\tselectedAuthor,\n\t\tdisplayFeaturedImage,\n\t\tdisplayPostContentRadio,\n\t\tdisplayPostContent,\n\t\tdisplayPostDate,\n\t\tdisplayAuthor,\n\t\tpostLayout,\n\t\tcolumns,\n\t\texcerptLength,\n\t\tfeaturedImageAlign,\n\t\tfeaturedImageSizeSlug,\n\t\tfeaturedImageSizeWidth,\n\t\tfeaturedImageSizeHeight,\n\t\taddLinkToFeaturedImage,\n\t} = attributes;\n\tconst {\n\t\timageSizes,\n\t\tlatestPosts,\n\t\tdefaultImageWidth,\n\t\tdefaultImageHeight,\n\t\tcategoriesList,\n\t\tauthorList,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEntityRecords, getUsers } = select( coreStore );\n\t\t\tconst settings = select( blockEditorStore ).getSettings();\n\t\t\tconst catIds =\n\t\t\t\tcategories && categories.length > 0\n\t\t\t\t\t? categories.map( ( cat ) => cat.id )\n\t\t\t\t\t: [];\n\t\t\tconst latestPostsQuery = Object.fromEntries(\n\t\t\t\tObject.entries( {\n\t\t\t\t\tcategories: catIds,\n\t\t\t\t\tauthor: selectedAuthor,\n\t\t\t\t\torder,\n\t\t\t\t\torderby: orderBy,\n\t\t\t\t\tper_page: postsToShow,\n\t\t\t\t\t_embed: 'wp:featuredmedia',\n\t\t\t\t} ).filter( ( [ , value ] ) => typeof value !== 'undefined' )\n\t\t\t);\n\n\t\t\treturn {\n\t\t\t\tdefaultImageWidth:\n\t\t\t\t\tsettings.imageDimensions?.[ featuredImageSizeSlug ]\n\t\t\t\t\t\t?.width ?? 0,\n\t\t\t\tdefaultImageHeight:\n\t\t\t\t\tsettings.imageDimensions?.[ featuredImageSizeSlug ]\n\t\t\t\t\t\t?.height ?? 0,\n\t\t\t\timageSizes: settings.imageSizes,\n\t\t\t\tlatestPosts: getEntityRecords(\n\t\t\t\t\t'postType',\n\t\t\t\t\t'post',\n\t\t\t\t\tlatestPostsQuery\n\t\t\t\t),\n\t\t\t\tcategoriesList: getEntityRecords(\n\t\t\t\t\t'taxonomy',\n\t\t\t\t\t'category',\n\t\t\t\t\tCATEGORIES_LIST_QUERY\n\t\t\t\t),\n\t\t\t\tauthorList: getUsers( USERS_LIST_QUERY ),\n\t\t\t};\n\t\t},\n\t\t[\n\t\t\tfeaturedImageSizeSlug,\n\t\t\tpostsToShow,\n\t\t\torder,\n\t\t\torderBy,\n\t\t\tcategories,\n\t\t\tselectedAuthor,\n\t\t]\n\t);\n\n\t// If a user clicks to a link prevent redirection and show a warning.\n\tconst { createWarningNotice, removeNotice } = useDispatch( noticeStore );\n\tlet noticeId;\n\tconst showRedirectionPreventedNotice = ( event ) => {\n\t\tevent.preventDefault();\n\t\t// Remove previous warning if any, to show one at a time per block.\n\t\tremoveNotice( noticeId );\n\t\tnoticeId = `block-library/core/latest-posts/redirection-prevented/${ instanceId }`;\n\t\tcreateWarningNotice( __( 'Links are disabled in the editor.' ), {\n\t\t\tid: noticeId,\n\t\t\ttype: 'snackbar',\n\t\t} );\n\t};\n\n\tconst imageSizeOptions = imageSizes\n\t\t.filter( ( { slug } ) => slug !== 'full' )\n\t\t.map( ( { name, slug } ) => ( {\n\t\t\tvalue: slug,\n\t\t\tlabel: name,\n\t\t} ) );\n\tconst categorySuggestions =\n\t\tcategoriesList?.reduce(\n\t\t\t( accumulator, category ) => ( {\n\t\t\t\t...accumulator,\n\t\t\t\t[ category.name ]: category,\n\t\t\t} ),\n\t\t\t{}\n\t\t) ?? {};\n\tconst selectCategories = ( tokens ) => {\n\t\tconst hasNoSuggestion = tokens.some(\n\t\t\t( token ) =>\n\t\t\t\ttypeof token === 'string' && ! categorySuggestions[ token ]\n\t\t);\n\t\tif ( hasNoSuggestion ) {\n\t\t\treturn;\n\t\t}\n\t\t// Categories that are already will be objects, while new additions will be strings (the name).\n\t\t// allCategories nomalizes the array so that they are all objects.\n\t\tconst allCategories = tokens.map( ( token ) => {\n\t\t\treturn typeof token === 'string'\n\t\t\t\t? categorySuggestions[ token ]\n\t\t\t\t: token;\n\t\t} );\n\t\t// We do nothing if the category is not selected\n\t\t// from suggestions.\n\t\tif ( allCategories.includes( null ) ) {\n\t\t\treturn false;\n\t\t}\n\t\tsetAttributes( { categories: allCategories } );\n\t};\n\n\tconst hasPosts = !! latestPosts?.length;\n\tconst inspectorControls = (\n\t\t<InspectorControls>\n\t\t\t<PanelBody title={ __( 'Post content' ) }>\n\t\t\t\t<ToggleControl\n\t\t\t\t\tlabel={ __( 'Post content' ) }\n\t\t\t\t\tchecked={ displayPostContent }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { displayPostContent: value } )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t\t{ displayPostContent && (\n\t\t\t\t\t<RadioControl\n\t\t\t\t\t\tlabel={ __( 'Show:' ) }\n\t\t\t\t\t\tselected={ displayPostContentRadio }\n\t\t\t\t\t\toptions={ [\n\t\t\t\t\t\t\t{ label: __( 'Excerpt' ), value: 'excerpt' },\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tlabel: __( 'Full post' ),\n\t\t\t\t\t\t\t\tvalue: 'full_post',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t] }\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tdisplayPostContentRadio: value,\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) }\n\t\t\t\t{ displayPostContent &&\n\t\t\t\t\tdisplayPostContentRadio === 'excerpt' && (\n\t\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tlabel={ __( 'Max number of words' ) }\n\t\t\t\t\t\t\tvalue={ excerptLength }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( { excerptLength: value } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tmin={ MIN_EXCERPT_LENGTH }\n\t\t\t\t\t\t\tmax={ MAX_EXCERPT_LENGTH }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t</PanelBody>\n\n\t\t\t<PanelBody title={ __( 'Post meta' ) }>\n\t\t\t\t<ToggleControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tlabel={ __( 'Display author name' ) }\n\t\t\t\t\tchecked={ displayAuthor }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { displayAuthor: value } )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t\t<ToggleControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tlabel={ __( 'Display post date' ) }\n\t\t\t\t\tchecked={ displayPostDate }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { displayPostDate: value } )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t</PanelBody>\n\n\t\t\t<PanelBody title={ __( 'Featured image' ) }>\n\t\t\t\t<ToggleControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tlabel={ __( 'Display featured image' ) }\n\t\t\t\t\tchecked={ displayFeaturedImage }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { displayFeaturedImage: value } )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t\t{ displayFeaturedImage && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<ImageSizeControl\n\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\tconst newAttrs = {};\n\t\t\t\t\t\t\t\tif ( value.hasOwnProperty( 'width' ) ) {\n\t\t\t\t\t\t\t\t\tnewAttrs.featuredImageSizeWidth =\n\t\t\t\t\t\t\t\t\t\tvalue.width;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tif ( value.hasOwnProperty( 'height' ) ) {\n\t\t\t\t\t\t\t\t\tnewAttrs.featuredImageSizeHeight =\n\t\t\t\t\t\t\t\t\t\tvalue.height;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tsetAttributes( newAttrs );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tslug={ featuredImageSizeSlug }\n\t\t\t\t\t\t\twidth={ featuredImageSizeWidth }\n\t\t\t\t\t\t\theight={ featuredImageSizeHeight }\n\t\t\t\t\t\t\timageWidth={ defaultImageWidth }\n\t\t\t\t\t\t\timageHeight={ defaultImageHeight }\n\t\t\t\t\t\t\timageSizeOptions={ imageSizeOptions }\n\t\t\t\t\t\t\timageSizeHelp={ __(\n\t\t\t\t\t\t\t\t'Select the size of the source image.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tonChangeImage={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\tfeaturedImageSizeSlug: value,\n\t\t\t\t\t\t\t\t\tfeaturedImageSizeWidth: undefined,\n\t\t\t\t\t\t\t\t\tfeaturedImageSizeHeight: undefined,\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\t\t\t\t\t\t<BaseControl className=\"editor-latest-posts-image-alignment-control\">\n\t\t\t\t\t\t\t<BaseControl.VisualLabel>\n\t\t\t\t\t\t\t\t{ __( 'Image alignment' ) }\n\t\t\t\t\t\t\t</BaseControl.VisualLabel>\n\t\t\t\t\t\t\t<BlockAlignmentToolbar\n\t\t\t\t\t\t\t\tvalue={ featuredImageAlign }\n\t\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\tfeaturedImageAlign: value,\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\tcontrols={ [ 'left', 'center', 'right' ] }\n\t\t\t\t\t\t\t\tisCollapsed={ false }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</BaseControl>\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Add link to featured image' ) }\n\t\t\t\t\t\t\tchecked={ addLinkToFeaturedImage }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\taddLinkToFeaturedImage: value,\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\t\t\t\t\t</>\n\t\t\t\t) }\n\t\t\t</PanelBody>\n\n\t\t\t<PanelBody title={ __( 'Sorting and filtering' ) }>\n\t\t\t\t<QueryControls\n\t\t\t\t\t{ ...{ order, orderBy } }\n\t\t\t\t\tnumberOfItems={ postsToShow }\n\t\t\t\t\tonOrderChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { order: value } )\n\t\t\t\t\t}\n\t\t\t\t\tonOrderByChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { orderBy: value } )\n\t\t\t\t\t}\n\t\t\t\t\tonNumberOfItemsChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { postsToShow: value } )\n\t\t\t\t\t}\n\t\t\t\t\tcategorySuggestions={ categorySuggestions }\n\t\t\t\t\tonCategoryChange={ selectCategories }\n\t\t\t\t\tselectedCategories={ categories }\n\t\t\t\t\tonAuthorChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\tselectedAuthor:\n\t\t\t\t\t\t\t\t'' !== value ? Number( value ) : undefined,\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t\tauthorList={ authorList ?? [] }\n\t\t\t\t\tselectedAuthorId={ selectedAuthor }\n\t\t\t\t/>\n\n\t\t\t\t{ postLayout === 'grid' && (\n\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tlabel={ __( 'Columns' ) }\n\t\t\t\t\t\tvalue={ columns }\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( { columns: value } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tmin={ 2 }\n\t\t\t\t\t\tmax={\n\t\t\t\t\t\t\t! hasPosts\n\t\t\t\t\t\t\t\t? MAX_POSTS_COLUMNS\n\t\t\t\t\t\t\t\t: Math.min(\n\t\t\t\t\t\t\t\t\t\tMAX_POSTS_COLUMNS,\n\t\t\t\t\t\t\t\t\t\tlatestPosts.length\n\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t}\n\t\t\t\t\t\trequired\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</PanelBody>\n\t\t</InspectorControls>\n\t);\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classnames( {\n\t\t\t'wp-block-latest-posts__list': true,\n\t\t\t'is-grid': postLayout === 'grid',\n\t\t\t'has-dates': displayPostDate,\n\t\t\t'has-author': displayAuthor,\n\t\t\t[ `columns-${ columns }` ]: postLayout === 'grid',\n\t\t} ),\n\t} );\n\n\tif ( ! hasPosts ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t{ inspectorControls }\n\t\t\t\t<Placeholder icon={ pin } label={ __( 'Latest Posts' ) }>\n\t\t\t\t\t{ ! Array.isArray( latestPosts ) ? (\n\t\t\t\t\t\t<Spinner />\n\t\t\t\t\t) : (\n\t\t\t\t\t\t__( 'No posts found.' )\n\t\t\t\t\t) }\n\t\t\t\t</Placeholder>\n\t\t\t</div>\n\t\t);\n\t}\n\n\t// Removing posts from display should be instant.\n\tconst displayPosts =\n\t\tlatestPosts.length > postsToShow\n\t\t\t? latestPosts.slice( 0, postsToShow )\n\t\t\t: latestPosts;\n\n\tconst layoutControls = [\n\t\t{\n\t\t\ticon: list,\n\t\t\ttitle: __( 'List view' ),\n\t\t\tonClick: () => setAttributes( { postLayout: 'list' } ),\n\t\t\tisActive: postLayout === 'list',\n\t\t},\n\t\t{\n\t\t\ticon: grid,\n\t\t\ttitle: __( 'Grid view' ),\n\t\t\tonClick: () => setAttributes( { postLayout: 'grid' } ),\n\t\t\tisActive: postLayout === 'grid',\n\t\t},\n\t];\n\n\tconst dateFormat = getSettings().formats.date;\n\n\treturn (\n\t\t<div>\n\t\t\t{ inspectorControls }\n\t\t\t<BlockControls>\n\t\t\t\t<ToolbarGroup controls={ layoutControls } />\n\t\t\t</BlockControls>\n\t\t\t<ul { ...blockProps }>\n\t\t\t\t{ displayPosts.map( ( post ) => {\n\t\t\t\t\tconst titleTrimmed = post.title.rendered.trim();\n\t\t\t\t\tlet excerpt = post.excerpt.rendered;\n\t\t\t\t\tconst currentAuthor = authorList?.find(\n\t\t\t\t\t\t( author ) => author.id === post.author\n\t\t\t\t\t);\n\n\t\t\t\t\tconst excerptElement = document.createElement( 'div' );\n\t\t\t\t\texcerptElement.innerHTML = excerpt;\n\n\t\t\t\t\texcerpt =\n\t\t\t\t\t\texcerptElement.textContent ||\n\t\t\t\t\t\texcerptElement.innerText ||\n\t\t\t\t\t\t'';\n\n\t\t\t\t\tconst { url: imageSourceUrl, alt: featuredImageAlt } =\n\t\t\t\t\t\tgetFeaturedImageDetails( post, featuredImageSizeSlug );\n\t\t\t\t\tconst imageClasses = classnames( {\n\t\t\t\t\t\t'wp-block-latest-posts__featured-image': true,\n\t\t\t\t\t\t[ `align${ featuredImageAlign }` ]:\n\t\t\t\t\t\t\t!! featuredImageAlign,\n\t\t\t\t\t} );\n\t\t\t\t\tconst renderFeaturedImage =\n\t\t\t\t\t\tdisplayFeaturedImage && imageSourceUrl;\n\t\t\t\t\tconst featuredImage = renderFeaturedImage && (\n\t\t\t\t\t\t<img\n\t\t\t\t\t\t\tsrc={ imageSourceUrl }\n\t\t\t\t\t\t\talt={ featuredImageAlt }\n\t\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\t\tmaxWidth: featuredImageSizeWidth,\n\t\t\t\t\t\t\t\tmaxHeight: featuredImageSizeHeight,\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\tconst needsReadMore =\n\t\t\t\t\t\texcerptLength < excerpt.trim().split( ' ' ).length &&\n\t\t\t\t\t\tpost.excerpt.raw === '';\n\n\t\t\t\t\tconst postExcerpt = needsReadMore ? (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t{ excerpt\n\t\t\t\t\t\t\t\t.trim()\n\t\t\t\t\t\t\t\t.split( ' ', excerptLength )\n\t\t\t\t\t\t\t\t.join( ' ' ) }\n\t\t\t\t\t\t\t{ createInterpolateElement(\n\t\t\t\t\t\t\t\tsprintf(\n\t\t\t\t\t\t\t\t\t/* translators: 1: Hidden accessibility text: Post title */\n\t\t\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t\t\t'… <a>Read more<span>: %1$s</span></a>'\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\ttitleTrimmed || __( '(no title)' )\n\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\t\ta: (\n\t\t\t\t\t\t\t\t\t\t// eslint-disable-next-line jsx-a11y/anchor-has-content\n\t\t\t\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"wp-block-latest-posts__read-more\"\n\t\t\t\t\t\t\t\t\t\t\thref={ post.link }\n\t\t\t\t\t\t\t\t\t\t\trel=\"noopener noreferrer\"\n\t\t\t\t\t\t\t\t\t\t\tonClick={\n\t\t\t\t\t\t\t\t\t\t\t\tshowRedirectionPreventedNotice\n\t\t\t\t\t\t\t\t\t\t\t}\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\tspan: (\n\t\t\t\t\t\t\t\t\t\t<span className=\"screen-reader-text\" />\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) }\n\t\t\t\t\t\t</>\n\t\t\t\t\t) : (\n\t\t\t\t\t\texcerpt\n\t\t\t\t\t);\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<li key={ post.id }>\n\t\t\t\t\t\t\t{ renderFeaturedImage && (\n\t\t\t\t\t\t\t\t<div className={ imageClasses }>\n\t\t\t\t\t\t\t\t\t{ addLinkToFeaturedImage ? (\n\t\t\t\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"wp-block-latest-posts__post-title\"\n\t\t\t\t\t\t\t\t\t\t\thref={ post.link }\n\t\t\t\t\t\t\t\t\t\t\trel=\"noreferrer noopener\"\n\t\t\t\t\t\t\t\t\t\t\tonClick={\n\t\t\t\t\t\t\t\t\t\t\t\tshowRedirectionPreventedNotice\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ featuredImage }\n\t\t\t\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\tfeaturedImage\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\thref={ post.link }\n\t\t\t\t\t\t\t\trel=\"noreferrer noopener\"\n\t\t\t\t\t\t\t\tdangerouslySetInnerHTML={\n\t\t\t\t\t\t\t\t\t!! titleTrimmed\n\t\t\t\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\t\t\t\t__html: titleTrimmed,\n\t\t\t\t\t\t\t\t\t\t }\n\t\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tonClick={ showRedirectionPreventedNotice }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ ! titleTrimmed ? __( '(no title)' ) : null }\n\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t{ displayAuthor && currentAuthor && (\n\t\t\t\t\t\t\t\t<div className=\"wp-block-latest-posts__post-author\">\n\t\t\t\t\t\t\t\t\t{ sprintf(\n\t\t\t\t\t\t\t\t\t\t/* translators: byline. %s: current author. */\n\t\t\t\t\t\t\t\t\t\t__( 'by %s' ),\n\t\t\t\t\t\t\t\t\t\tcurrentAuthor.name\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t{ displayPostDate && post.date_gmt && (\n\t\t\t\t\t\t\t\t<time\n\t\t\t\t\t\t\t\t\tdateTime={ format( 'c', post.date_gmt ) }\n\t\t\t\t\t\t\t\t\tclassName=\"wp-block-latest-posts__post-date\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ dateI18n( dateFormat, post.date_gmt ) }\n\t\t\t\t\t\t\t\t</time>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t{ displayPostContent &&\n\t\t\t\t\t\t\t\tdisplayPostContentRadio === 'excerpt' && (\n\t\t\t\t\t\t\t\t\t<div className=\"wp-block-latest-posts__post-excerpt\">\n\t\t\t\t\t\t\t\t\t\t{ postExcerpt }\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t{ displayPostContent &&\n\t\t\t\t\t\t\t\tdisplayPostContentRadio === 'full_post' && (\n\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\tclassName=\"wp-block-latest-posts__post-full-content\"\n\t\t\t\t\t\t\t\t\t\tdangerouslySetInnerHTML={ {\n\t\t\t\t\t\t\t\t\t\t\t__html: post.content.raw.trim(),\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) }\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</div>\n\t);\n}\n"],"mappings":"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"}
@@ -72,6 +72,19 @@ export default function useMerge(clientId, onMerge) {
72
72
  return getBlockOrder(order[0])[0];
73
73
  }
74
74
  return forward => {
75
+ function mergeWithNested(clientIdA, clientIdB) {
76
+ registry.batch(() => {
77
+ // When merging a sub list item with a higher next list item, we
78
+ // also need to move any nested list items. Check if there's a
79
+ // listed list, and append its nested list items to the current
80
+ // list.
81
+ const [nestedListClientId] = getBlockOrder(clientIdB);
82
+ if (nestedListClientId) {
83
+ moveBlocksToPosition(getBlockOrder(nestedListClientId), nestedListClientId, getBlockRootClientId(clientIdA));
84
+ }
85
+ mergeBlocks(clientIdA, clientIdB);
86
+ });
87
+ }
75
88
  if (forward) {
76
89
  const nextBlockClientId = getNextId(clientId);
77
90
  if (!nextBlockClientId) {
@@ -81,10 +94,7 @@ export default function useMerge(clientId, onMerge) {
81
94
  if (getParentListItemId(nextBlockClientId)) {
82
95
  outdentListItem(nextBlockClientId);
83
96
  } else {
84
- registry.batch(() => {
85
- moveBlocksToPosition(getBlockOrder(nextBlockClientId), nextBlockClientId, getPreviousBlockClientId(nextBlockClientId));
86
- mergeBlocks(clientId, nextBlockClientId);
87
- });
97
+ mergeWithNested(clientId, nextBlockClientId);
88
98
  }
89
99
  } else {
90
100
  // Merging is only done from the top level. For lowel levels, the
@@ -94,17 +104,7 @@ export default function useMerge(clientId, onMerge) {
94
104
  outdentListItem(clientId);
95
105
  } else if (previousBlockClientId) {
96
106
  const trailingId = getTrailingId(previousBlockClientId);
97
- registry.batch(() => {
98
- // When merging a list item with a previous trailing list
99
- // item, we also need to move any nested list items. First,
100
- // check if there's a listed list. If there's a nested list,
101
- // append its nested list items to the trailing list.
102
- const [nestedListClientId] = getBlockOrder(clientId);
103
- if (nestedListClientId) {
104
- moveBlocksToPosition(getBlockOrder(nestedListClientId), nestedListClientId, getBlockRootClientId(trailingId));
105
- }
106
- mergeBlocks(trailingId, clientId);
107
- });
107
+ mergeWithNested(trailingId, clientId);
108
108
  } else {
109
109
  onMerge(forward);
110
110
  }
@@ -1 +1 @@
1
- {"version":3,"names":["useRegistry","useDispatch","useSelect","store","blockEditorStore","useOutdentListItem","useMerge","clientId","onMerge","registry","getPreviousBlockClientId","getNextBlockClientId","getBlockOrder","getBlockRootClientId","getBlockName","mergeBlocks","moveBlocksToPosition","outdentListItem","getTrailingId","id","order","length","getParentListItemId","listId","parentListItemId","_getNextId","next","getNextId","forward","nextBlockClientId","batch","previousBlockClientId","trailingId","nestedListClientId"],"sources":["@wordpress/block-library/src/list-item/hooks/use-merge.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useRegistry, useDispatch, useSelect } from '@wordpress/data';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport useOutdentListItem from './use-outdent-list-item';\n\nexport default function useMerge( clientId, onMerge ) {\n\tconst registry = useRegistry();\n\tconst {\n\t\tgetPreviousBlockClientId,\n\t\tgetNextBlockClientId,\n\t\tgetBlockOrder,\n\t\tgetBlockRootClientId,\n\t\tgetBlockName,\n\t} = useSelect( blockEditorStore );\n\tconst { mergeBlocks, moveBlocksToPosition } =\n\t\tuseDispatch( blockEditorStore );\n\tconst [ , outdentListItem ] = useOutdentListItem( clientId );\n\n\tfunction getTrailingId( id ) {\n\t\tconst order = getBlockOrder( id );\n\n\t\tif ( ! order.length ) {\n\t\t\treturn id;\n\t\t}\n\n\t\treturn getTrailingId( order[ order.length - 1 ] );\n\t}\n\n\tfunction getParentListItemId( id ) {\n\t\tconst listId = getBlockRootClientId( id );\n\t\tconst parentListItemId = getBlockRootClientId( listId );\n\t\tif ( ! parentListItemId ) return;\n\t\tif ( getBlockName( parentListItemId ) !== 'core/list-item' ) return;\n\t\treturn parentListItemId;\n\t}\n\n\t/**\n\t * Return the next list item with respect to the given list item. If none,\n\t * return the next list item of the parent list item if it exists.\n\t *\n\t * @param {string} id A list item client ID.\n\t * @return {string?} The client ID of the next list item.\n\t */\n\tfunction _getNextId( id ) {\n\t\tconst next = getNextBlockClientId( id );\n\t\tif ( next ) return next;\n\t\tconst parentListItemId = getParentListItemId( id );\n\t\tif ( ! parentListItemId ) return;\n\t\treturn _getNextId( parentListItemId );\n\t}\n\n\t/**\n\t * Given a client ID, return the client ID of the list item on the next\n\t * line, regardless of indentation level.\n\t *\n\t * @param {string} id The client ID of the current list item.\n\t * @return {string?} The client ID of the next list item.\n\t */\n\tfunction getNextId( id ) {\n\t\tconst order = getBlockOrder( id );\n\n\t\t// If the list item does not have a nested list, return the next list\n\t\t// item.\n\t\tif ( ! order.length ) {\n\t\t\treturn _getNextId( id );\n\t\t}\n\n\t\t// Get the first list item in the nested list.\n\t\treturn getBlockOrder( order[ 0 ] )[ 0 ];\n\t}\n\n\treturn ( forward ) => {\n\t\tif ( forward ) {\n\t\t\tconst nextBlockClientId = getNextId( clientId );\n\n\t\t\tif ( ! nextBlockClientId ) {\n\t\t\t\tonMerge( forward );\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ( getParentListItemId( nextBlockClientId ) ) {\n\t\t\t\toutdentListItem( nextBlockClientId );\n\t\t\t} else {\n\t\t\t\tregistry.batch( () => {\n\t\t\t\t\tmoveBlocksToPosition(\n\t\t\t\t\t\tgetBlockOrder( nextBlockClientId ),\n\t\t\t\t\t\tnextBlockClientId,\n\t\t\t\t\t\tgetPreviousBlockClientId( nextBlockClientId )\n\t\t\t\t\t);\n\t\t\t\t\tmergeBlocks( clientId, nextBlockClientId );\n\t\t\t\t} );\n\t\t\t}\n\t\t} else {\n\t\t\t// Merging is only done from the top level. For lowel levels, the\n\t\t\t// list item is outdented instead.\n\t\t\tconst previousBlockClientId = getPreviousBlockClientId( clientId );\n\t\t\tif ( getParentListItemId( clientId ) ) {\n\t\t\t\toutdentListItem( clientId );\n\t\t\t} else if ( previousBlockClientId ) {\n\t\t\t\tconst trailingId = getTrailingId( previousBlockClientId );\n\t\t\t\tregistry.batch( () => {\n\t\t\t\t\t// When merging a list item with a previous trailing list\n\t\t\t\t\t// item, we also need to move any nested list items. First,\n\t\t\t\t\t// check if there's a listed list. If there's a nested list,\n\t\t\t\t\t// append its nested list items to the trailing list.\n\t\t\t\t\tconst [ nestedListClientId ] = getBlockOrder( clientId );\n\t\t\t\t\tif ( nestedListClientId ) {\n\t\t\t\t\t\tmoveBlocksToPosition(\n\t\t\t\t\t\t\tgetBlockOrder( nestedListClientId ),\n\t\t\t\t\t\t\tnestedListClientId,\n\t\t\t\t\t\t\tgetBlockRootClientId( trailingId )\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\tmergeBlocks( trailingId, clientId );\n\t\t\t\t} );\n\t\t\t} else {\n\t\t\t\tonMerge( forward );\n\t\t\t}\n\t\t}\n\t};\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["useRegistry","useDispatch","useSelect","store","blockEditorStore","useOutdentListItem","useMerge","clientId","onMerge","registry","getPreviousBlockClientId","getNextBlockClientId","getBlockOrder","getBlockRootClientId","getBlockName","mergeBlocks","moveBlocksToPosition","outdentListItem","getTrailingId","id","order","length","getParentListItemId","listId","parentListItemId","_getNextId","next","getNextId","forward","mergeWithNested","clientIdA","clientIdB","batch","nestedListClientId","nextBlockClientId","previousBlockClientId","trailingId"],"sources":["@wordpress/block-library/src/list-item/hooks/use-merge.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useRegistry, useDispatch, useSelect } from '@wordpress/data';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport useOutdentListItem from './use-outdent-list-item';\n\nexport default function useMerge( clientId, onMerge ) {\n\tconst registry = useRegistry();\n\tconst {\n\t\tgetPreviousBlockClientId,\n\t\tgetNextBlockClientId,\n\t\tgetBlockOrder,\n\t\tgetBlockRootClientId,\n\t\tgetBlockName,\n\t} = useSelect( blockEditorStore );\n\tconst { mergeBlocks, moveBlocksToPosition } =\n\t\tuseDispatch( blockEditorStore );\n\tconst [ , outdentListItem ] = useOutdentListItem( clientId );\n\n\tfunction getTrailingId( id ) {\n\t\tconst order = getBlockOrder( id );\n\n\t\tif ( ! order.length ) {\n\t\t\treturn id;\n\t\t}\n\n\t\treturn getTrailingId( order[ order.length - 1 ] );\n\t}\n\n\tfunction getParentListItemId( id ) {\n\t\tconst listId = getBlockRootClientId( id );\n\t\tconst parentListItemId = getBlockRootClientId( listId );\n\t\tif ( ! parentListItemId ) return;\n\t\tif ( getBlockName( parentListItemId ) !== 'core/list-item' ) return;\n\t\treturn parentListItemId;\n\t}\n\n\t/**\n\t * Return the next list item with respect to the given list item. If none,\n\t * return the next list item of the parent list item if it exists.\n\t *\n\t * @param {string} id A list item client ID.\n\t * @return {string?} The client ID of the next list item.\n\t */\n\tfunction _getNextId( id ) {\n\t\tconst next = getNextBlockClientId( id );\n\t\tif ( next ) return next;\n\t\tconst parentListItemId = getParentListItemId( id );\n\t\tif ( ! parentListItemId ) return;\n\t\treturn _getNextId( parentListItemId );\n\t}\n\n\t/**\n\t * Given a client ID, return the client ID of the list item on the next\n\t * line, regardless of indentation level.\n\t *\n\t * @param {string} id The client ID of the current list item.\n\t * @return {string?} The client ID of the next list item.\n\t */\n\tfunction getNextId( id ) {\n\t\tconst order = getBlockOrder( id );\n\n\t\t// If the list item does not have a nested list, return the next list\n\t\t// item.\n\t\tif ( ! order.length ) {\n\t\t\treturn _getNextId( id );\n\t\t}\n\n\t\t// Get the first list item in the nested list.\n\t\treturn getBlockOrder( order[ 0 ] )[ 0 ];\n\t}\n\n\treturn ( forward ) => {\n\t\tfunction mergeWithNested( clientIdA, clientIdB ) {\n\t\t\tregistry.batch( () => {\n\t\t\t\t// When merging a sub list item with a higher next list item, we\n\t\t\t\t// also need to move any nested list items. Check if there's a\n\t\t\t\t// listed list, and append its nested list items to the current\n\t\t\t\t// list.\n\t\t\t\tconst [ nestedListClientId ] = getBlockOrder( clientIdB );\n\t\t\t\tif ( nestedListClientId ) {\n\t\t\t\t\tmoveBlocksToPosition(\n\t\t\t\t\t\tgetBlockOrder( nestedListClientId ),\n\t\t\t\t\t\tnestedListClientId,\n\t\t\t\t\t\tgetBlockRootClientId( clientIdA )\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tmergeBlocks( clientIdA, clientIdB );\n\t\t\t} );\n\t\t}\n\n\t\tif ( forward ) {\n\t\t\tconst nextBlockClientId = getNextId( clientId );\n\n\t\t\tif ( ! nextBlockClientId ) {\n\t\t\t\tonMerge( forward );\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ( getParentListItemId( nextBlockClientId ) ) {\n\t\t\t\toutdentListItem( nextBlockClientId );\n\t\t\t} else {\n\t\t\t\tmergeWithNested( clientId, nextBlockClientId );\n\t\t\t}\n\t\t} else {\n\t\t\t// Merging is only done from the top level. For lowel levels, the\n\t\t\t// list item is outdented instead.\n\t\t\tconst previousBlockClientId = getPreviousBlockClientId( clientId );\n\t\t\tif ( getParentListItemId( clientId ) ) {\n\t\t\t\toutdentListItem( clientId );\n\t\t\t} else if ( previousBlockClientId ) {\n\t\t\t\tconst trailingId = getTrailingId( previousBlockClientId );\n\t\t\t\tmergeWithNested( trailingId, clientId );\n\t\t\t} else {\n\t\t\t\tonMerge( forward );\n\t\t\t}\n\t\t}\n\t};\n}\n"],"mappings":"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"}
@@ -5,5 +5,5 @@ import { __dangerousOptInToUnstableAPIsOnlyForCoreModules } from '@wordpress/pri
5
5
  export const {
6
6
  lock,
7
7
  unlock
8
- } = __dangerousOptInToUnstableAPIsOnlyForCoreModules('I know using unstable features means my plugin or theme will inevitably break on the next WordPress release.', '@wordpress/block-library');
8
+ } = __dangerousOptInToUnstableAPIsOnlyForCoreModules('I know using unstable features means my theme or plugin will inevitably break in the next version of WordPress.', '@wordpress/block-library');
9
9
  //# sourceMappingURL=lock-unlock.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["__dangerousOptInToUnstableAPIsOnlyForCoreModules","lock","unlock"],"sources":["@wordpress/block-library/src/lock-unlock.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __dangerousOptInToUnstableAPIsOnlyForCoreModules } from '@wordpress/private-apis';\n\nexport const { lock, unlock } =\n\t__dangerousOptInToUnstableAPIsOnlyForCoreModules(\n\t\t'I know using unstable features means my plugin or theme will inevitably break on the next WordPress release.',\n\t\t'@wordpress/block-library'\n\t);\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,gDAAgD,QAAQ,yBAAyB;AAE1F,OAAO,MAAM;EAAEC,IAAI;EAAEC;AAAO,CAAC,GAC5BF,gDAAgD,CAC/C,8GAA8G,EAC9G,0BACD,CAAC"}
1
+ {"version":3,"names":["__dangerousOptInToUnstableAPIsOnlyForCoreModules","lock","unlock"],"sources":["@wordpress/block-library/src/lock-unlock.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __dangerousOptInToUnstableAPIsOnlyForCoreModules } from '@wordpress/private-apis';\n\nexport const { lock, unlock } =\n\t__dangerousOptInToUnstableAPIsOnlyForCoreModules(\n\t\t'I know using unstable features means my theme or plugin will inevitably break in the next version of WordPress.',\n\t\t'@wordpress/block-library'\n\t);\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,gDAAgD,QAAQ,yBAAyB;AAE1F,OAAO,MAAM;EAAEC,IAAI;EAAEC;AAAO,CAAC,GAC5BF,gDAAgD,CAC/C,iHAAiH,EACjH,0BACD,CAAC"}
@@ -1,4 +1,4 @@
1
- import { createElement, Fragment } from "react";
1
+ import { createElement } from "react";
2
2
  /**
3
3
  * External dependencies
4
4
  */
@@ -7,8 +7,7 @@ import { View, Text, TouchableWithoutFeedback, TouchableOpacity } from 'react-na
7
7
  /**
8
8
  * WordPress dependencies
9
9
  */
10
- import { requestUnsupportedBlockFallback, sendActionButtonPressedAction, actionButtons } from '@wordpress/react-native-bridge';
11
- import { BottomSheet, Icon, TextControl } from '@wordpress/components';
10
+ import { Icon } from '@wordpress/components';
12
11
  import { compose, withPreferredColorScheme } from '@wordpress/compose';
13
12
  import { coreBlocks } from '@wordpress/block-library';
14
13
  import { normalizeIconObject } from '@wordpress/blocks';
@@ -17,7 +16,7 @@ import { __, _x, sprintf } from '@wordpress/i18n';
17
16
  import { help, plugins } from '@wordpress/icons';
18
17
  import { withSelect, withDispatch } from '@wordpress/data';
19
18
  import { applyFilters } from '@wordpress/hooks';
20
- import { store as blockEditorStore } from '@wordpress/block-editor';
19
+ import { UnsupportedBlockDetails, store as blockEditorStore } from '@wordpress/block-editor';
21
20
 
22
21
  /**
23
22
  * Internal dependencies
@@ -100,70 +99,23 @@ export class UnsupportedBlockEdit extends Component {
100
99
  }
101
100
  renderSheet(blockTitle, blockName) {
102
101
  const {
103
- getStylesFromColorScheme,
104
- attributes,
105
- clientId,
106
- isUnsupportedBlockEditorSupported,
107
- canEnableUnsupportedBlockEditor,
108
- isEditableInUnsupportedBlockEditor
102
+ clientId
109
103
  } = this.props;
110
- const infoTextStyle = getStylesFromColorScheme(styles.infoText, styles.infoTextDark);
111
- const infoTitleStyle = getStylesFromColorScheme(styles.infoTitle, styles.infoTitleDark);
112
- const infoDescriptionStyle = getStylesFromColorScheme(styles.infoDescription, styles.infoDescriptionDark);
113
- const infoSheetIconStyle = getStylesFromColorScheme(styles.infoSheetIcon, styles.infoSheetIconDark);
114
-
104
+ const {
105
+ showHelp
106
+ } = this.state;
115
107
  /* translators: Missing block alert title. %s: The localized block name */
116
108
  const titleFormat = __("'%s' is not fully-supported");
117
- const infoTitle = sprintf(titleFormat, blockTitle);
118
- const missingBlockDetail = applyFilters('native.missing_block_detail', __('We are working hard to add more blocks with each release.'), blockName);
119
- const missingBlockActionButton = applyFilters('native.missing_block_action_button', __('Edit using web editor'));
120
- const actionButtonStyle = getStylesFromColorScheme(styles.actionButton, styles.actionButtonDark);
121
- return createElement(BottomSheet, {
122
- isVisible: this.state.showHelp,
123
- hideHeader: true,
124
- onClose: this.closeSheet,
125
- onModalHide: () => {
126
- if (this.state.sendFallbackMessage) {
127
- // On iOS, onModalHide is called when the controller is still part of the hierarchy.
128
- // A small delay will ensure that the controller has already been removed.
129
- this.timeout = setTimeout(() => {
130
- // For the Classic block, the content is kept in the `content` attribute.
131
- const content = blockName === 'core/freeform' ? attributes.content : attributes.originalContent;
132
- requestUnsupportedBlockFallback(content, clientId, blockName, blockTitle);
133
- }, 100);
134
- this.setState({
135
- sendFallbackMessage: false
136
- });
137
- } else if (this.state.sendButtonPressMessage) {
138
- this.timeout = setTimeout(() => {
139
- sendActionButtonPressedAction(actionButtons.missingBlockAlertActionButton);
140
- }, 100);
141
- this.setState({
142
- sendButtonPressMessage: false
143
- });
144
- }
145
- }
146
- }, createElement(View, {
147
- style: styles.infoContainer
148
- }, createElement(Icon, {
149
- icon: help,
150
- color: infoSheetIconStyle.color,
151
- size: styles.infoSheetIcon.size
152
- }), createElement(Text, {
153
- style: [infoTextStyle, infoTitleStyle]
154
- }, infoTitle), isEditableInUnsupportedBlockEditor && missingBlockDetail && createElement(Text, {
155
- style: [infoTextStyle, infoDescriptionStyle]
156
- }, missingBlockDetail)), (isUnsupportedBlockEditorSupported || canEnableUnsupportedBlockEditor) && isEditableInUnsupportedBlockEditor && createElement(Fragment, null, createElement(TextControl, {
157
- label: missingBlockActionButton,
158
- separatorType: "topFullWidth",
159
- onPress: this.requestFallback,
160
- labelStyle: actionButtonStyle
161
- }), createElement(TextControl, {
162
- label: __('Dismiss'),
163
- separatorType: "topFullWidth",
164
- onPress: this.toggleSheet,
165
- labelStyle: actionButtonStyle
166
- })));
109
+ const title = sprintf(titleFormat, blockTitle);
110
+ const description = applyFilters('native.missing_block_detail', __('We are working hard to add more blocks with each release.'), blockName);
111
+ return createElement(UnsupportedBlockDetails, {
112
+ clientId: clientId,
113
+ showSheet: showHelp,
114
+ onCloseSheet: this.closeSheet,
115
+ customBlockTitle: blockTitle,
116
+ title: title,
117
+ description: description
118
+ });
167
119
  }
168
120
  render() {
169
121
  const {
@@ -1 +1 @@
1
- {"version":3,"names":["View","Text","TouchableWithoutFeedback","TouchableOpacity","requestUnsupportedBlockFallback","sendActionButtonPressedAction","actionButtons","BottomSheet","Icon","TextControl","compose","withPreferredColorScheme","coreBlocks","normalizeIconObject","Component","__","_x","sprintf","help","plugins","withSelect","withDispatch","applyFilters","store","blockEditorStore","styles","UBE_INCOMPATIBLE_BLOCKS","I18N_BLOCK_SCHEMA_TITLE","UnsupportedBlockEdit","constructor","props","state","showHelp","toggleSheet","bind","closeSheet","requestFallback","onHelpButtonPressed","setState","componentWillUnmount","timeout","clearTimeout","getTitle","originalName","attributes","blockType","title","metadata","textdomain","renderHelpIcon","infoIconStyle","getStylesFromColorScheme","infoIcon","infoIconDark","createElement","onPress","style","helpIconContainer","accessibilityLabel","accessibilityRole","accessibilityHint","className","label","icon","fill","color","isSelected","selectBlock","canEnableUnsupportedBlockEditor","isUnsupportedBlockEditorSupported","sendButtonPressMessage","sendFallbackMessage","renderSheet","blockTitle","blockName","clientId","isEditableInUnsupportedBlockEditor","infoTextStyle","infoText","infoTextDark","infoTitleStyle","infoTitle","infoTitleDark","infoDescriptionStyle","infoDescription","infoDescriptionDark","infoSheetIconStyle","infoSheetIcon","infoSheetIconDark","titleFormat","missingBlockDetail","missingBlockActionButton","actionButtonStyle","actionButton","actionButtonDark","isVisible","hideHeader","onClose","onModalHide","setTimeout","content","originalContent","missingBlockAlertActionButton","infoContainer","size","Fragment","separatorType","labelStyle","render","preferredColorScheme","titleStyle","unsupportedBlockMessage","unsupportedBlockMessageDark","subTitleStyle","unsupportedBlockSubtitle","unsupportedBlockSubtitleDark","subtitle","settings","iconStyle","unsupportedBlockIcon","unsupportedBlockIconDark","iconClassName","disabled","unsupportedBlock","unsupportedBlockDark","unsupportedBlockHeader","src","select","capabilities","getSettings","unsupportedBlockEditor","includes","dispatch","ownProps"],"sources":["@wordpress/block-library/src/missing/edit.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport {\n\tView,\n\tText,\n\tTouchableWithoutFeedback,\n\tTouchableOpacity,\n} from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport {\n\trequestUnsupportedBlockFallback,\n\tsendActionButtonPressedAction,\n\tactionButtons,\n} from '@wordpress/react-native-bridge';\nimport { BottomSheet, Icon, TextControl } from '@wordpress/components';\nimport { compose, withPreferredColorScheme } from '@wordpress/compose';\nimport { coreBlocks } from '@wordpress/block-library';\nimport { normalizeIconObject } from '@wordpress/blocks';\nimport { Component } from '@wordpress/element';\nimport { __, _x, sprintf } from '@wordpress/i18n';\nimport { help, plugins } from '@wordpress/icons';\nimport { withSelect, withDispatch } from '@wordpress/data';\nimport { applyFilters } from '@wordpress/hooks';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport styles from './style.scss';\n\n// Blocks that can't be edited through the Unsupported block editor identified by their name.\nconst UBE_INCOMPATIBLE_BLOCKS = [ 'core/block' ];\nconst I18N_BLOCK_SCHEMA_TITLE = 'block title';\n\nexport class UnsupportedBlockEdit extends Component {\n\tconstructor( props ) {\n\t\tsuper( props );\n\t\tthis.state = { showHelp: false };\n\t\tthis.toggleSheet = this.toggleSheet.bind( this );\n\t\tthis.closeSheet = this.closeSheet.bind( this );\n\t\tthis.requestFallback = this.requestFallback.bind( this );\n\t\tthis.onHelpButtonPressed = this.onHelpButtonPressed.bind( this );\n\t}\n\n\ttoggleSheet() {\n\t\tthis.setState( {\n\t\t\tshowHelp: ! this.state.showHelp,\n\t\t} );\n\t}\n\n\tcloseSheet() {\n\t\tthis.setState( {\n\t\t\tshowHelp: false,\n\t\t} );\n\t}\n\n\tcomponentWillUnmount() {\n\t\tif ( this.timeout ) {\n\t\t\tclearTimeout( this.timeout );\n\t\t}\n\t}\n\n\tgetTitle() {\n\t\tconst { originalName } = this.props.attributes;\n\t\tconst blockType = coreBlocks[ originalName ];\n\t\tconst title = blockType?.metadata.title;\n\t\tconst textdomain = blockType?.metadata.textdomain;\n\n\t\treturn title && textdomain\n\t\t\t? // eslint-disable-next-line @wordpress/i18n-no-variables, @wordpress/i18n-text-domain\n\t\t\t _x( title, I18N_BLOCK_SCHEMA_TITLE, textdomain )\n\t\t\t: originalName;\n\t}\n\n\trenderHelpIcon() {\n\t\tconst infoIconStyle = this.props.getStylesFromColorScheme(\n\t\t\tstyles.infoIcon,\n\t\t\tstyles.infoIconDark\n\t\t);\n\n\t\treturn (\n\t\t\t<TouchableOpacity\n\t\t\t\tonPress={ this.onHelpButtonPressed }\n\t\t\t\tstyle={ styles.helpIconContainer }\n\t\t\t\taccessibilityLabel={ __( 'Help button' ) }\n\t\t\t\taccessibilityRole={ 'button' }\n\t\t\t\taccessibilityHint={ __( 'Tap here to show help' ) }\n\t\t\t>\n\t\t\t\t<Icon\n\t\t\t\t\tclassName=\"unsupported-icon-help\"\n\t\t\t\t\tlabel={ __( 'Help icon' ) }\n\t\t\t\t\ticon={ help }\n\t\t\t\t\tfill={ infoIconStyle.color }\n\t\t\t\t/>\n\t\t\t</TouchableOpacity>\n\t\t);\n\t}\n\n\tonHelpButtonPressed() {\n\t\tif ( ! this.props.isSelected ) {\n\t\t\tthis.props.selectBlock();\n\t\t}\n\t\tthis.toggleSheet();\n\t}\n\n\trequestFallback() {\n\t\tif (\n\t\t\tthis.props.canEnableUnsupportedBlockEditor &&\n\t\t\tthis.props.isUnsupportedBlockEditorSupported === false\n\t\t) {\n\t\t\tthis.toggleSheet();\n\t\t\tthis.setState( { sendButtonPressMessage: true } );\n\t\t} else {\n\t\t\tthis.toggleSheet();\n\t\t\tthis.setState( { sendFallbackMessage: true } );\n\t\t}\n\t}\n\n\trenderSheet( blockTitle, blockName ) {\n\t\tconst {\n\t\t\tgetStylesFromColorScheme,\n\t\t\tattributes,\n\t\t\tclientId,\n\t\t\tisUnsupportedBlockEditorSupported,\n\t\t\tcanEnableUnsupportedBlockEditor,\n\t\t\tisEditableInUnsupportedBlockEditor,\n\t\t} = this.props;\n\t\tconst infoTextStyle = getStylesFromColorScheme(\n\t\t\tstyles.infoText,\n\t\t\tstyles.infoTextDark\n\t\t);\n\t\tconst infoTitleStyle = getStylesFromColorScheme(\n\t\t\tstyles.infoTitle,\n\t\t\tstyles.infoTitleDark\n\t\t);\n\t\tconst infoDescriptionStyle = getStylesFromColorScheme(\n\t\t\tstyles.infoDescription,\n\t\t\tstyles.infoDescriptionDark\n\t\t);\n\t\tconst infoSheetIconStyle = getStylesFromColorScheme(\n\t\t\tstyles.infoSheetIcon,\n\t\t\tstyles.infoSheetIconDark\n\t\t);\n\n\t\t/* translators: Missing block alert title. %s: The localized block name */\n\t\tconst titleFormat = __( \"'%s' is not fully-supported\" );\n\t\tconst infoTitle = sprintf( titleFormat, blockTitle );\n\t\tconst missingBlockDetail = applyFilters(\n\t\t\t'native.missing_block_detail',\n\t\t\t__( 'We are working hard to add more blocks with each release.' ),\n\t\t\tblockName\n\t\t);\n\t\tconst missingBlockActionButton = applyFilters(\n\t\t\t'native.missing_block_action_button',\n\t\t\t__( 'Edit using web editor' )\n\t\t);\n\n\t\tconst actionButtonStyle = getStylesFromColorScheme(\n\t\t\tstyles.actionButton,\n\t\t\tstyles.actionButtonDark\n\t\t);\n\n\t\treturn (\n\t\t\t<BottomSheet\n\t\t\t\tisVisible={ this.state.showHelp }\n\t\t\t\thideHeader\n\t\t\t\tonClose={ this.closeSheet }\n\t\t\t\tonModalHide={ () => {\n\t\t\t\t\tif ( this.state.sendFallbackMessage ) {\n\t\t\t\t\t\t// On iOS, onModalHide is called when the controller is still part of the hierarchy.\n\t\t\t\t\t\t// A small delay will ensure that the controller has already been removed.\n\t\t\t\t\t\tthis.timeout = setTimeout( () => {\n\t\t\t\t\t\t\t// For the Classic block, the content is kept in the `content` attribute.\n\t\t\t\t\t\t\tconst content =\n\t\t\t\t\t\t\t\tblockName === 'core/freeform'\n\t\t\t\t\t\t\t\t\t? attributes.content\n\t\t\t\t\t\t\t\t\t: attributes.originalContent;\n\t\t\t\t\t\t\trequestUnsupportedBlockFallback(\n\t\t\t\t\t\t\t\tcontent,\n\t\t\t\t\t\t\t\tclientId,\n\t\t\t\t\t\t\t\tblockName,\n\t\t\t\t\t\t\t\tblockTitle\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}, 100 );\n\t\t\t\t\t\tthis.setState( { sendFallbackMessage: false } );\n\t\t\t\t\t} else if ( this.state.sendButtonPressMessage ) {\n\t\t\t\t\t\tthis.timeout = setTimeout( () => {\n\t\t\t\t\t\t\tsendActionButtonPressedAction(\n\t\t\t\t\t\t\t\tactionButtons.missingBlockAlertActionButton\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}, 100 );\n\t\t\t\t\t\tthis.setState( { sendButtonPressMessage: false } );\n\t\t\t\t\t}\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t<View style={ styles.infoContainer }>\n\t\t\t\t\t<Icon\n\t\t\t\t\t\ticon={ help }\n\t\t\t\t\t\tcolor={ infoSheetIconStyle.color }\n\t\t\t\t\t\tsize={ styles.infoSheetIcon.size }\n\t\t\t\t\t/>\n\t\t\t\t\t<Text style={ [ infoTextStyle, infoTitleStyle ] }>\n\t\t\t\t\t\t{ infoTitle }\n\t\t\t\t\t</Text>\n\t\t\t\t\t{ isEditableInUnsupportedBlockEditor &&\n\t\t\t\t\t\tmissingBlockDetail && (\n\t\t\t\t\t\t\t<Text\n\t\t\t\t\t\t\t\tstyle={ [\n\t\t\t\t\t\t\t\t\tinfoTextStyle,\n\t\t\t\t\t\t\t\t\tinfoDescriptionStyle,\n\t\t\t\t\t\t\t\t] }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ missingBlockDetail }\n\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t) }\n\t\t\t\t</View>\n\t\t\t\t{ ( isUnsupportedBlockEditorSupported ||\n\t\t\t\t\tcanEnableUnsupportedBlockEditor ) &&\n\t\t\t\t\tisEditableInUnsupportedBlockEditor && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<TextControl\n\t\t\t\t\t\t\t\tlabel={ missingBlockActionButton }\n\t\t\t\t\t\t\t\tseparatorType=\"topFullWidth\"\n\t\t\t\t\t\t\t\tonPress={ this.requestFallback }\n\t\t\t\t\t\t\t\tlabelStyle={ actionButtonStyle }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<TextControl\n\t\t\t\t\t\t\t\tlabel={ __( 'Dismiss' ) }\n\t\t\t\t\t\t\t\tseparatorType=\"topFullWidth\"\n\t\t\t\t\t\t\t\tonPress={ this.toggleSheet }\n\t\t\t\t\t\t\t\tlabelStyle={ actionButtonStyle }\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</BottomSheet>\n\t\t);\n\t}\n\n\trender() {\n\t\tconst { originalName } = this.props.attributes;\n\t\tconst { getStylesFromColorScheme, preferredColorScheme } = this.props;\n\t\tconst blockType = coreBlocks[ originalName ];\n\n\t\tconst title = this.getTitle();\n\t\tconst titleStyle = getStylesFromColorScheme(\n\t\t\tstyles.unsupportedBlockMessage,\n\t\t\tstyles.unsupportedBlockMessageDark\n\t\t);\n\n\t\tconst subTitleStyle = getStylesFromColorScheme(\n\t\t\tstyles.unsupportedBlockSubtitle,\n\t\t\tstyles.unsupportedBlockSubtitleDark\n\t\t);\n\n\t\tconst subtitle = (\n\t\t\t<Text style={ subTitleStyle }>{ __( 'Unsupported' ) }</Text>\n\t\t);\n\n\t\tconst icon = blockType\n\t\t\t? normalizeIconObject( blockType.settings.icon )\n\t\t\t: plugins;\n\t\tconst iconStyle = getStylesFromColorScheme(\n\t\t\tstyles.unsupportedBlockIcon,\n\t\t\tstyles.unsupportedBlockIconDark\n\t\t);\n\t\tconst iconClassName = 'unsupported-icon' + '-' + preferredColorScheme;\n\t\treturn (\n\t\t\t<TouchableWithoutFeedback\n\t\t\t\tdisabled={ ! this.props.isSelected }\n\t\t\t\taccessibilityLabel={ __( 'Help button' ) }\n\t\t\t\taccessibilityRole={ 'button' }\n\t\t\t\taccessibilityHint={ __( 'Tap here to show help' ) }\n\t\t\t\tonPress={ this.toggleSheet }\n\t\t\t>\n\t\t\t\t<View\n\t\t\t\t\tstyle={ getStylesFromColorScheme(\n\t\t\t\t\t\tstyles.unsupportedBlock,\n\t\t\t\t\t\tstyles.unsupportedBlockDark\n\t\t\t\t\t) }\n\t\t\t\t>\n\t\t\t\t\t{ this.renderHelpIcon() }\n\t\t\t\t\t<View style={ styles.unsupportedBlockHeader }>\n\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\tclassName={ iconClassName }\n\t\t\t\t\t\t\ticon={ icon && icon.src ? icon.src : icon }\n\t\t\t\t\t\t\tfill={ iconStyle.color }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<Text style={ titleStyle }>{ title }</Text>\n\t\t\t\t\t</View>\n\t\t\t\t\t{ subtitle }\n\t\t\t\t\t{ this.renderSheet( title, originalName ) }\n\t\t\t\t</View>\n\t\t\t</TouchableWithoutFeedback>\n\t\t);\n\t}\n}\n\nexport default compose( [\n\twithSelect( ( select, { attributes } ) => {\n\t\tconst { capabilities } = select( blockEditorStore ).getSettings();\n\t\treturn {\n\t\t\tisUnsupportedBlockEditorSupported:\n\t\t\t\tcapabilities?.unsupportedBlockEditor === true,\n\t\t\tcanEnableUnsupportedBlockEditor:\n\t\t\t\tcapabilities?.canEnableUnsupportedBlockEditor === true,\n\t\t\tisEditableInUnsupportedBlockEditor:\n\t\t\t\t! UBE_INCOMPATIBLE_BLOCKS.includes( attributes.originalName ),\n\t\t};\n\t} ),\n\twithDispatch( ( dispatch, ownProps ) => {\n\t\tconst { selectBlock } = dispatch( blockEditorStore );\n\t\treturn {\n\t\t\tselectBlock() {\n\t\t\t\tselectBlock( ownProps.clientId );\n\t\t\t},\n\t\t};\n\t} ),\n\twithPreferredColorScheme,\n] )( UnsupportedBlockEdit );\n"],"mappings":"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"}
1
+ {"version":3,"names":["View","Text","TouchableWithoutFeedback","TouchableOpacity","Icon","compose","withPreferredColorScheme","coreBlocks","normalizeIconObject","Component","__","_x","sprintf","help","plugins","withSelect","withDispatch","applyFilters","UnsupportedBlockDetails","store","blockEditorStore","styles","UBE_INCOMPATIBLE_BLOCKS","I18N_BLOCK_SCHEMA_TITLE","UnsupportedBlockEdit","constructor","props","state","showHelp","toggleSheet","bind","closeSheet","requestFallback","onHelpButtonPressed","setState","componentWillUnmount","timeout","clearTimeout","getTitle","originalName","attributes","blockType","title","metadata","textdomain","renderHelpIcon","infoIconStyle","getStylesFromColorScheme","infoIcon","infoIconDark","createElement","onPress","style","helpIconContainer","accessibilityLabel","accessibilityRole","accessibilityHint","className","label","icon","fill","color","isSelected","selectBlock","canEnableUnsupportedBlockEditor","isUnsupportedBlockEditorSupported","sendButtonPressMessage","sendFallbackMessage","renderSheet","blockTitle","blockName","clientId","titleFormat","description","showSheet","onCloseSheet","customBlockTitle","render","preferredColorScheme","titleStyle","unsupportedBlockMessage","unsupportedBlockMessageDark","subTitleStyle","unsupportedBlockSubtitle","unsupportedBlockSubtitleDark","subtitle","settings","iconStyle","unsupportedBlockIcon","unsupportedBlockIconDark","iconClassName","disabled","unsupportedBlock","unsupportedBlockDark","unsupportedBlockHeader","src","select","capabilities","getSettings","unsupportedBlockEditor","isEditableInUnsupportedBlockEditor","includes","dispatch","ownProps"],"sources":["@wordpress/block-library/src/missing/edit.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport {\n\tView,\n\tText,\n\tTouchableWithoutFeedback,\n\tTouchableOpacity,\n} from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { Icon } from '@wordpress/components';\nimport { compose, withPreferredColorScheme } from '@wordpress/compose';\nimport { coreBlocks } from '@wordpress/block-library';\nimport { normalizeIconObject } from '@wordpress/blocks';\nimport { Component } from '@wordpress/element';\nimport { __, _x, sprintf } from '@wordpress/i18n';\nimport { help, plugins } from '@wordpress/icons';\nimport { withSelect, withDispatch } from '@wordpress/data';\nimport { applyFilters } from '@wordpress/hooks';\nimport {\n\tUnsupportedBlockDetails,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport styles from './style.scss';\n\n// Blocks that can't be edited through the Unsupported block editor identified by their name.\nconst UBE_INCOMPATIBLE_BLOCKS = [ 'core/block' ];\nconst I18N_BLOCK_SCHEMA_TITLE = 'block title';\n\nexport class UnsupportedBlockEdit extends Component {\n\tconstructor( props ) {\n\t\tsuper( props );\n\t\tthis.state = { showHelp: false };\n\t\tthis.toggleSheet = this.toggleSheet.bind( this );\n\t\tthis.closeSheet = this.closeSheet.bind( this );\n\t\tthis.requestFallback = this.requestFallback.bind( this );\n\t\tthis.onHelpButtonPressed = this.onHelpButtonPressed.bind( this );\n\t}\n\n\ttoggleSheet() {\n\t\tthis.setState( {\n\t\t\tshowHelp: ! this.state.showHelp,\n\t\t} );\n\t}\n\n\tcloseSheet() {\n\t\tthis.setState( {\n\t\t\tshowHelp: false,\n\t\t} );\n\t}\n\n\tcomponentWillUnmount() {\n\t\tif ( this.timeout ) {\n\t\t\tclearTimeout( this.timeout );\n\t\t}\n\t}\n\n\tgetTitle() {\n\t\tconst { originalName } = this.props.attributes;\n\t\tconst blockType = coreBlocks[ originalName ];\n\t\tconst title = blockType?.metadata.title;\n\t\tconst textdomain = blockType?.metadata.textdomain;\n\n\t\treturn title && textdomain\n\t\t\t? // eslint-disable-next-line @wordpress/i18n-no-variables, @wordpress/i18n-text-domain\n\t\t\t _x( title, I18N_BLOCK_SCHEMA_TITLE, textdomain )\n\t\t\t: originalName;\n\t}\n\n\trenderHelpIcon() {\n\t\tconst infoIconStyle = this.props.getStylesFromColorScheme(\n\t\t\tstyles.infoIcon,\n\t\t\tstyles.infoIconDark\n\t\t);\n\n\t\treturn (\n\t\t\t<TouchableOpacity\n\t\t\t\tonPress={ this.onHelpButtonPressed }\n\t\t\t\tstyle={ styles.helpIconContainer }\n\t\t\t\taccessibilityLabel={ __( 'Help button' ) }\n\t\t\t\taccessibilityRole={ 'button' }\n\t\t\t\taccessibilityHint={ __( 'Tap here to show help' ) }\n\t\t\t>\n\t\t\t\t<Icon\n\t\t\t\t\tclassName=\"unsupported-icon-help\"\n\t\t\t\t\tlabel={ __( 'Help icon' ) }\n\t\t\t\t\ticon={ help }\n\t\t\t\t\tfill={ infoIconStyle.color }\n\t\t\t\t/>\n\t\t\t</TouchableOpacity>\n\t\t);\n\t}\n\n\tonHelpButtonPressed() {\n\t\tif ( ! this.props.isSelected ) {\n\t\t\tthis.props.selectBlock();\n\t\t}\n\t\tthis.toggleSheet();\n\t}\n\n\trequestFallback() {\n\t\tif (\n\t\t\tthis.props.canEnableUnsupportedBlockEditor &&\n\t\t\tthis.props.isUnsupportedBlockEditorSupported === false\n\t\t) {\n\t\t\tthis.toggleSheet();\n\t\t\tthis.setState( { sendButtonPressMessage: true } );\n\t\t} else {\n\t\t\tthis.toggleSheet();\n\t\t\tthis.setState( { sendFallbackMessage: true } );\n\t\t}\n\t}\n\n\trenderSheet( blockTitle, blockName ) {\n\t\tconst { clientId } = this.props;\n\t\tconst { showHelp } = this.state;\n\t\t/* translators: Missing block alert title. %s: The localized block name */\n\t\tconst titleFormat = __( \"'%s' is not fully-supported\" );\n\t\tconst title = sprintf( titleFormat, blockTitle );\n\t\tconst description = applyFilters(\n\t\t\t'native.missing_block_detail',\n\t\t\t__( 'We are working hard to add more blocks with each release.' ),\n\t\t\tblockName\n\t\t);\n\n\t\treturn (\n\t\t\t<UnsupportedBlockDetails\n\t\t\t\tclientId={ clientId }\n\t\t\t\tshowSheet={ showHelp }\n\t\t\t\tonCloseSheet={ this.closeSheet }\n\t\t\t\tcustomBlockTitle={ blockTitle }\n\t\t\t\ttitle={ title }\n\t\t\t\tdescription={ description }\n\t\t\t/>\n\t\t);\n\t}\n\n\trender() {\n\t\tconst { originalName } = this.props.attributes;\n\t\tconst { getStylesFromColorScheme, preferredColorScheme } = this.props;\n\t\tconst blockType = coreBlocks[ originalName ];\n\n\t\tconst title = this.getTitle();\n\t\tconst titleStyle = getStylesFromColorScheme(\n\t\t\tstyles.unsupportedBlockMessage,\n\t\t\tstyles.unsupportedBlockMessageDark\n\t\t);\n\n\t\tconst subTitleStyle = getStylesFromColorScheme(\n\t\t\tstyles.unsupportedBlockSubtitle,\n\t\t\tstyles.unsupportedBlockSubtitleDark\n\t\t);\n\n\t\tconst subtitle = (\n\t\t\t<Text style={ subTitleStyle }>{ __( 'Unsupported' ) }</Text>\n\t\t);\n\n\t\tconst icon = blockType\n\t\t\t? normalizeIconObject( blockType.settings.icon )\n\t\t\t: plugins;\n\t\tconst iconStyle = getStylesFromColorScheme(\n\t\t\tstyles.unsupportedBlockIcon,\n\t\t\tstyles.unsupportedBlockIconDark\n\t\t);\n\t\tconst iconClassName = 'unsupported-icon' + '-' + preferredColorScheme;\n\t\treturn (\n\t\t\t<TouchableWithoutFeedback\n\t\t\t\tdisabled={ ! this.props.isSelected }\n\t\t\t\taccessibilityLabel={ __( 'Help button' ) }\n\t\t\t\taccessibilityRole={ 'button' }\n\t\t\t\taccessibilityHint={ __( 'Tap here to show help' ) }\n\t\t\t\tonPress={ this.toggleSheet }\n\t\t\t>\n\t\t\t\t<View\n\t\t\t\t\tstyle={ getStylesFromColorScheme(\n\t\t\t\t\t\tstyles.unsupportedBlock,\n\t\t\t\t\t\tstyles.unsupportedBlockDark\n\t\t\t\t\t) }\n\t\t\t\t>\n\t\t\t\t\t{ this.renderHelpIcon() }\n\t\t\t\t\t<View style={ styles.unsupportedBlockHeader }>\n\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\tclassName={ iconClassName }\n\t\t\t\t\t\t\ticon={ icon && icon.src ? icon.src : icon }\n\t\t\t\t\t\t\tfill={ iconStyle.color }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<Text style={ titleStyle }>{ title }</Text>\n\t\t\t\t\t</View>\n\t\t\t\t\t{ subtitle }\n\t\t\t\t\t{ this.renderSheet( title, originalName ) }\n\t\t\t\t</View>\n\t\t\t</TouchableWithoutFeedback>\n\t\t);\n\t}\n}\n\nexport default compose( [\n\twithSelect( ( select, { attributes } ) => {\n\t\tconst { capabilities } = select( blockEditorStore ).getSettings();\n\t\treturn {\n\t\t\tisUnsupportedBlockEditorSupported:\n\t\t\t\tcapabilities?.unsupportedBlockEditor === true,\n\t\t\tcanEnableUnsupportedBlockEditor:\n\t\t\t\tcapabilities?.canEnableUnsupportedBlockEditor === true,\n\t\t\tisEditableInUnsupportedBlockEditor:\n\t\t\t\t! UBE_INCOMPATIBLE_BLOCKS.includes( attributes.originalName ),\n\t\t};\n\t} ),\n\twithDispatch( ( dispatch, ownProps ) => {\n\t\tconst { selectBlock } = dispatch( blockEditorStore );\n\t\treturn {\n\t\t\tselectBlock() {\n\t\t\t\tselectBlock( ownProps.clientId );\n\t\t\t},\n\t\t};\n\t} ),\n\twithPreferredColorScheme,\n] )( UnsupportedBlockEdit );\n"],"mappings":"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"}
@@ -554,7 +554,6 @@ function Navigation({
554
554
  }), createElement(ResponsiveWrapper, {
555
555
  id: clientId,
556
556
  onToggle: setResponsiveMenuVisibility,
557
- label: __('Menu'),
558
557
  hasIcon: hasIcon,
559
558
  icon: icon,
560
559
  isOpen: isResponsiveMenuOpen,