@wordpress/block-library 9.27.1-next.46f643fa0.0 → 9.28.1-next.0f6f9d12c.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 (271) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/build/accordion-header/edit.js +118 -0
  3. package/build/accordion-header/edit.js.map +1 -0
  4. package/build/accordion-header/index.js +124 -0
  5. package/build/accordion-header/index.js.map +1 -0
  6. package/build/accordion-header/init.js +12 -0
  7. package/build/accordion-header/init.js.map +1 -0
  8. package/build/accordion-header/save.js +81 -0
  9. package/build/accordion-header/save.js.map +1 -0
  10. package/build/accordion-item/edit.js +129 -0
  11. package/build/accordion-item/edit.js.map +1 -0
  12. package/build/accordion-item/icons.js +30 -0
  13. package/build/accordion-item/icons.js.map +1 -0
  14. package/build/accordion-item/index.js +79 -0
  15. package/build/accordion-item/index.js.map +1 -0
  16. package/build/accordion-item/init.js +12 -0
  17. package/build/accordion-item/init.js.map +1 -0
  18. package/build/accordion-item/save.js +37 -0
  19. package/build/accordion-item/save.js.map +1 -0
  20. package/build/accordion-panel/edit.js +59 -0
  21. package/build/accordion-panel/edit.js.map +1 -0
  22. package/build/accordion-panel/index.js +108 -0
  23. package/build/accordion-panel/index.js.map +1 -0
  24. package/build/accordion-panel/init.js +12 -0
  25. package/build/accordion-panel/init.js.map +1 -0
  26. package/build/accordion-panel/save.js +46 -0
  27. package/build/accordion-panel/save.js.map +1 -0
  28. package/build/accordions/edit.js +123 -0
  29. package/build/accordions/edit.js.map +1 -0
  30. package/build/accordions/index.js +103 -0
  31. package/build/accordions/index.js.map +1 -0
  32. package/build/accordions/init.js +12 -0
  33. package/build/accordions/init.js.map +1 -0
  34. package/build/accordions/save.js +36 -0
  35. package/build/accordions/save.js.map +1 -0
  36. package/build/accordions/view.js +49 -0
  37. package/build/accordions/view.js.map +1 -0
  38. package/build/cover/edit/index.js +1 -1
  39. package/build/cover/edit/index.js.map +1 -1
  40. package/build/cover/edit/inspector-controls.js +1 -1
  41. package/build/cover/edit/inspector-controls.js.map +1 -1
  42. package/build/cover/index.js +2 -1
  43. package/build/cover/index.js.map +1 -1
  44. package/build/file/edit.js +4 -2
  45. package/build/file/edit.js.map +1 -1
  46. package/build/file/edit.native.js +1 -1
  47. package/build/file/edit.native.js.map +1 -1
  48. package/build/file/transforms.js +6 -6
  49. package/build/file/transforms.js.map +1 -1
  50. package/build/file/utils/index.js +5 -0
  51. package/build/file/utils/index.js.map +1 -1
  52. package/build/freeform/edit.js +6 -0
  53. package/build/freeform/edit.js.map +1 -1
  54. package/build/gallery/use-get-media.js +3 -3
  55. package/build/gallery/use-get-media.js.map +1 -1
  56. package/build/gallery/use-get-media.native.js +3 -3
  57. package/build/gallery/use-get-media.native.js.map +1 -1
  58. package/build/image/edit.native.js +2 -2
  59. package/build/image/edit.native.js.map +1 -1
  60. package/build/image/image.js +1 -1
  61. package/build/image/image.js.map +1 -1
  62. package/build/index.js +10 -0
  63. package/build/index.js.map +1 -1
  64. package/build/list-item/edit.js +3 -0
  65. package/build/list-item/edit.js.map +1 -1
  66. package/build/media-text/edit.js +2 -2
  67. package/build/media-text/edit.js.map +1 -1
  68. package/build/media-text/media-container.js +2 -1
  69. package/build/media-text/media-container.js.map +1 -1
  70. package/build/media-text/transforms.js +7 -3
  71. package/build/media-text/transforms.js.map +1 -1
  72. package/build/more/edit.js +13 -28
  73. package/build/more/edit.js.map +1 -1
  74. package/build/post-comments-count/index.js +3 -0
  75. package/build/post-comments-count/index.js.map +1 -1
  76. package/build/post-comments-link/index.js +3 -0
  77. package/build/post-comments-link/index.js.map +1 -1
  78. package/build/post-featured-image/edit.js +2 -2
  79. package/build/post-featured-image/edit.js.map +1 -1
  80. package/build/query-title/edit.js +52 -2
  81. package/build/query-title/edit.js.map +1 -1
  82. package/build/query-title/index.js +1 -0
  83. package/build/query-title/index.js.map +1 -1
  84. package/build/query-title/use-post-type-label.js +42 -0
  85. package/build/query-title/use-post-type-label.js.map +1 -0
  86. package/build/query-title/variations.js +10 -0
  87. package/build/query-title/variations.js.map +1 -1
  88. package/build/site-logo/edit.js +58 -43
  89. package/build/site-logo/edit.js.map +1 -1
  90. package/build/site-title/edit.js +9 -3
  91. package/build/site-title/edit.js.map +1 -1
  92. package/build/social-link/icons/tiktok.js +2 -2
  93. package/build/social-link/icons/tiktok.js.map +1 -1
  94. package/build/utils/poster-image.js +54 -6
  95. package/build/utils/poster-image.js.map +1 -1
  96. package/build-module/accordion-header/edit.js +108 -0
  97. package/build-module/accordion-header/edit.js.map +1 -0
  98. package/build-module/accordion-header/index.js +116 -0
  99. package/build-module/accordion-header/index.js.map +1 -0
  100. package/build-module/accordion-header/init.js +6 -0
  101. package/build-module/accordion-header/init.js.map +1 -0
  102. package/build-module/accordion-header/save.js +71 -0
  103. package/build-module/accordion-header/save.js.map +1 -0
  104. package/build-module/accordion-item/edit.js +120 -0
  105. package/build-module/accordion-item/edit.js.map +1 -0
  106. package/build-module/accordion-item/icons.js +22 -0
  107. package/build-module/accordion-item/icons.js.map +1 -0
  108. package/build-module/accordion-item/index.js +71 -0
  109. package/build-module/accordion-item/index.js.map +1 -0
  110. package/build-module/accordion-item/init.js +6 -0
  111. package/build-module/accordion-item/init.js.map +1 -0
  112. package/build-module/accordion-item/save.js +28 -0
  113. package/build-module/accordion-item/save.js.map +1 -0
  114. package/build-module/accordion-panel/edit.js +50 -0
  115. package/build-module/accordion-panel/edit.js.map +1 -0
  116. package/build-module/accordion-panel/index.js +100 -0
  117. package/build-module/accordion-panel/index.js.map +1 -0
  118. package/build-module/accordion-panel/init.js +6 -0
  119. package/build-module/accordion-panel/init.js.map +1 -0
  120. package/build-module/accordion-panel/save.js +37 -0
  121. package/build-module/accordion-panel/save.js.map +1 -0
  122. package/build-module/accordions/edit.js +116 -0
  123. package/build-module/accordions/edit.js.map +1 -0
  124. package/build-module/accordions/index.js +95 -0
  125. package/build-module/accordions/index.js.map +1 -0
  126. package/build-module/accordions/init.js +6 -0
  127. package/build-module/accordions/init.js.map +1 -0
  128. package/build-module/accordions/save.js +27 -0
  129. package/build-module/accordions/save.js.map +1 -0
  130. package/build-module/accordions/view.js +46 -0
  131. package/build-module/accordions/view.js.map +1 -0
  132. package/build-module/cover/edit/index.js +1 -1
  133. package/build-module/cover/edit/index.js.map +1 -1
  134. package/build-module/cover/edit/inspector-controls.js +1 -1
  135. package/build-module/cover/edit/inspector-controls.js.map +1 -1
  136. package/build-module/cover/index.js +2 -1
  137. package/build-module/cover/index.js.map +1 -1
  138. package/build-module/file/edit.js +4 -2
  139. package/build-module/file/edit.js.map +1 -1
  140. package/build-module/file/edit.native.js +1 -1
  141. package/build-module/file/edit.native.js.map +1 -1
  142. package/build-module/file/transforms.js +6 -6
  143. package/build-module/file/transforms.js.map +1 -1
  144. package/build-module/file/utils/index.js +5 -0
  145. package/build-module/file/utils/index.js.map +1 -1
  146. package/build-module/freeform/edit.js +6 -0
  147. package/build-module/freeform/edit.js.map +1 -1
  148. package/build-module/gallery/use-get-media.js +3 -3
  149. package/build-module/gallery/use-get-media.js.map +1 -1
  150. package/build-module/gallery/use-get-media.native.js +3 -3
  151. package/build-module/gallery/use-get-media.native.js.map +1 -1
  152. package/build-module/image/edit.native.js +2 -2
  153. package/build-module/image/edit.native.js.map +1 -1
  154. package/build-module/image/image.js +1 -1
  155. package/build-module/image/image.js.map +1 -1
  156. package/build-module/index.js +10 -0
  157. package/build-module/index.js.map +1 -1
  158. package/build-module/list-item/edit.js +3 -0
  159. package/build-module/list-item/edit.js.map +1 -1
  160. package/build-module/media-text/edit.js +2 -2
  161. package/build-module/media-text/edit.js.map +1 -1
  162. package/build-module/media-text/media-container.js +2 -1
  163. package/build-module/media-text/media-container.js.map +1 -1
  164. package/build-module/media-text/transforms.js +7 -3
  165. package/build-module/media-text/transforms.js.map +1 -1
  166. package/build-module/more/edit.js +15 -29
  167. package/build-module/more/edit.js.map +1 -1
  168. package/build-module/post-comments-count/index.js +3 -0
  169. package/build-module/post-comments-count/index.js.map +1 -1
  170. package/build-module/post-comments-link/index.js +3 -0
  171. package/build-module/post-comments-link/index.js.map +1 -1
  172. package/build-module/post-featured-image/edit.js +2 -2
  173. package/build-module/post-featured-image/edit.js.map +1 -1
  174. package/build-module/query-title/edit.js +52 -2
  175. package/build-module/query-title/edit.js.map +1 -1
  176. package/build-module/query-title/index.js +1 -0
  177. package/build-module/query-title/index.js.map +1 -1
  178. package/build-module/query-title/use-post-type-label.js +36 -0
  179. package/build-module/query-title/use-post-type-label.js.map +1 -0
  180. package/build-module/query-title/variations.js +10 -0
  181. package/build-module/query-title/variations.js.map +1 -1
  182. package/build-module/site-logo/edit.js +59 -44
  183. package/build-module/site-logo/edit.js.map +1 -1
  184. package/build-module/site-title/edit.js +10 -4
  185. package/build-module/site-title/edit.js.map +1 -1
  186. package/build-module/social-link/icons/tiktok.js +2 -2
  187. package/build-module/social-link/icons/tiktok.js.map +1 -1
  188. package/build-module/utils/poster-image.js +57 -9
  189. package/build-module/utils/poster-image.js.map +1 -1
  190. package/build-style/accordions/style-rtl.css +223 -0
  191. package/build-style/accordions/style.css +223 -0
  192. package/build-style/editor-rtl.css +23 -26
  193. package/build-style/editor.css +23 -26
  194. package/build-style/gallery/style-rtl.css +1 -2
  195. package/build-style/gallery/style.css +1 -2
  196. package/build-style/image/style-rtl.css +1 -2
  197. package/build-style/image/style.css +1 -2
  198. package/build-style/more/editor-rtl.css +3 -11
  199. package/build-style/more/editor.css +3 -11
  200. package/build-style/post-featured-image/editor-rtl.css +1 -2
  201. package/build-style/post-featured-image/editor.css +1 -2
  202. package/build-style/style-rtl.css +90 -4
  203. package/build-style/style.css +90 -4
  204. package/package.json +36 -35
  205. package/src/accordion-header/block.json +93 -0
  206. package/src/accordion-header/edit.js +128 -0
  207. package/src/accordion-header/index.js +24 -0
  208. package/src/accordion-header/init.js +6 -0
  209. package/src/accordion-header/save.js +79 -0
  210. package/src/accordion-item/block.json +45 -0
  211. package/src/accordion-item/edit.js +149 -0
  212. package/src/accordion-item/icons.js +23 -0
  213. package/src/accordion-item/index.js +24 -0
  214. package/src/accordion-item/index.php +73 -0
  215. package/src/accordion-item/init.js +6 -0
  216. package/src/accordion-item/save.js +25 -0
  217. package/src/accordion-panel/block.json +74 -0
  218. package/src/accordion-panel/edit.js +61 -0
  219. package/src/accordion-panel/index.js +24 -0
  220. package/src/accordion-panel/init.js +6 -0
  221. package/src/accordion-panel/save.js +51 -0
  222. package/src/accordions/block.json +69 -0
  223. package/src/accordions/edit.js +133 -0
  224. package/src/accordions/index.js +24 -0
  225. package/src/accordions/index.php +61 -0
  226. package/src/accordions/init.js +6 -0
  227. package/src/accordions/save.js +23 -0
  228. package/src/accordions/style.scss +91 -0
  229. package/src/accordions/view.js +38 -0
  230. package/src/block/index.php +35 -20
  231. package/src/cover/block.json +2 -1
  232. package/src/cover/edit/index.js +8 -3
  233. package/src/cover/edit/inspector-controls.js +6 -1
  234. package/src/file/edit.js +9 -4
  235. package/src/file/edit.native.js +5 -1
  236. package/src/file/index.php +28 -22
  237. package/src/file/transforms.js +6 -6
  238. package/src/file/utils/index.js +5 -0
  239. package/src/form-input/index.php +4 -2
  240. package/src/freeform/edit.js +7 -0
  241. package/src/gallery/use-get-media.js +9 -5
  242. package/src/gallery/use-get-media.native.js +10 -6
  243. package/src/image/edit.native.js +4 -2
  244. package/src/image/image.js +6 -1
  245. package/src/image/index.php +1 -1
  246. package/src/image/test/edit.native.js +16 -10
  247. package/src/index.js +12 -0
  248. package/src/list-item/edit.js +3 -0
  249. package/src/loginout/index.php +4 -2
  250. package/src/media-text/edit.js +16 -6
  251. package/src/media-text/media-container.js +1 -0
  252. package/src/media-text/transforms.js +5 -1
  253. package/src/more/edit.js +27 -33
  254. package/src/more/editor.scss +3 -12
  255. package/src/post-comments-count/block.json +3 -0
  256. package/src/post-comments-link/block.json +3 -0
  257. package/src/post-date/index.php +28 -32
  258. package/src/post-excerpt/index.php +16 -12
  259. package/src/post-featured-image/edit.js +2 -2
  260. package/src/query-title/block.json +1 -0
  261. package/src/query-title/edit.js +58 -1
  262. package/src/query-title/index.php +30 -5
  263. package/src/query-title/use-post-type-label.js +34 -0
  264. package/src/query-title/variations.js +13 -0
  265. package/src/site-logo/edit.js +44 -16
  266. package/src/site-title/edit.js +24 -16
  267. package/src/social-link/icons/tiktok.js +2 -2
  268. package/src/social-link/index.php +1 -1
  269. package/src/style.scss +1 -0
  270. package/src/utils/poster-image.js +62 -17
  271. package/src/utils/poster-image.scss +23 -16
@@ -1 +1 @@
1
- {"version":3,"names":["_clsx","_interopRequireDefault","require","_blob","_coreData","_data","_components","_blockEditor","_element","_i18n","_icons","_notices","_dimensionControls","_overlayControls","_overlay","_hooks","_lockUnlock","_jsxRuntime","ALLOWED_MEDIA_TYPES","ResolutionTool","unlock","blockEditorPrivateApis","DEFAULT_MEDIA_SIZE_SLUG","FeaturedImageResolutionTool","image","value","onChange","imageSizes","useSelect","select","getSettings","blockEditorStore","length","imageSizeOptions","filter","slug","media_details","sizes","source_url","map","name","label","jsx","defaultValue","options","PostFeaturedImageEdit","clientId","attributes","setAttributes","context","postId","postType","postTypeSlug","queryId","isDescendentOfQueryLoop","Number","isFinite","isLink","aspectRatio","height","width","scale","sizeSlug","rel","linkTarget","useFirstImageFromPost","temporaryURL","setTemporaryURL","useState","storedFeaturedImage","setFeaturedImage","useEntityProp","postContent","featuredImage","useMemo","imageOpener","exec","imageId","groups","attrs","JSON","parse","id","media","postPermalink","getMedia","getPostType","getEditedEntityRecord","coreStore","link","mediaUrl","blockProps","useBlockProps","style","className","clsx","borderProps","useBorderProps","shadowProps","getShadowClassesAndStyles","blockEditingMode","useBlockEditingMode","placeholder","content","Placeholder","withIllustration","children","onSelectImage","url","isBlobURL","onResetImage","undefined","useEffect","createErrorNotice","useDispatch","noticesStore","onUploadError","message","type","dropdownMenuProps","useToolsPanelDropdownMenuProps","controls","jsxs","Fragment","InspectorControls","group","default","__experimentalToolsPanel","__","resetAll","__experimentalToolsPanelItem","labels","singular_name","sprintf","isShownByDefault","hasValue","onDeselect","ToggleControl","__nextHasNoMarginBottom","checked","TextControl","__next40pxDefaultSize","newRel","nextSizeSlug","href","target","imageStyles","objectFit","MediaPlaceholder","onSelect","accept","allowedTypes","onError","mediaLibraryButton","open","Button","icon","upload","variant","showTooltip","tooltipPosition","onClick","src","alt","alt_text","Spinner","BlockControls","MediaReplaceFlow","mediaId","mediaURL","onReset"],"sources":["@wordpress/block-library/src/post-featured-image/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { isBlobURL } from '@wordpress/blob';\nimport { useEntityProp, store as coreStore } from '@wordpress/core-data';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tToggleControl,\n\tPlaceholder,\n\tButton,\n\tSpinner,\n\tTextControl,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport {\n\tInspectorControls,\n\tBlockControls,\n\tMediaPlaceholder,\n\tMediaReplaceFlow,\n\tuseBlockProps,\n\t__experimentalUseBorderProps as useBorderProps,\n\t__experimentalGetShadowClassesAndStyles as getShadowClassesAndStyles,\n\tuseBlockEditingMode,\n\tprivateApis as blockEditorPrivateApis,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { useMemo, useEffect, useState } from '@wordpress/element';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { upload } from '@wordpress/icons';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport DimensionControls from './dimension-controls';\nimport OverlayControls from './overlay-controls';\nimport Overlay from './overlay';\nimport { useToolsPanelDropdownMenuProps } from '../utils/hooks';\nimport { unlock } from '../lock-unlock';\n\nconst ALLOWED_MEDIA_TYPES = [ 'image' ];\nconst { ResolutionTool } = unlock( blockEditorPrivateApis );\nconst DEFAULT_MEDIA_SIZE_SLUG = 'full';\n\nfunction FeaturedImageResolutionTool( { image, value, onChange } ) {\n\tconst { imageSizes } = useSelect( ( select ) => {\n\t\tconst { getSettings } = select( blockEditorStore );\n\t\treturn {\n\t\t\timageSizes: getSettings().imageSizes,\n\t\t};\n\t}, [] );\n\n\tif ( ! imageSizes?.length ) {\n\t\treturn null;\n\t}\n\n\tconst imageSizeOptions = imageSizes\n\t\t.filter(\n\t\t\t( { slug } ) => image?.media_details?.sizes?.[ slug ]?.source_url\n\t\t)\n\t\t.map( ( { name, slug } ) => ( { value: slug, label: name } ) );\n\n\treturn (\n\t\t<ResolutionTool\n\t\t\tvalue={ value }\n\t\t\tdefaultValue={ DEFAULT_MEDIA_SIZE_SLUG }\n\t\t\toptions={ imageSizeOptions }\n\t\t\tonChange={ onChange }\n\t\t/>\n\t);\n}\n\nexport default function PostFeaturedImageEdit( {\n\tclientId,\n\tattributes,\n\tsetAttributes,\n\tcontext: { postId, postType: postTypeSlug, queryId },\n} ) {\n\tconst isDescendentOfQueryLoop = Number.isFinite( queryId );\n\tconst {\n\t\tisLink,\n\t\taspectRatio,\n\t\theight,\n\t\twidth,\n\t\tscale,\n\t\tsizeSlug,\n\t\trel,\n\t\tlinkTarget,\n\t\tuseFirstImageFromPost,\n\t} = attributes;\n\tconst [ temporaryURL, setTemporaryURL ] = useState();\n\n\tconst [ storedFeaturedImage, setFeaturedImage ] = useEntityProp(\n\t\t'postType',\n\t\tpostTypeSlug,\n\t\t'featured_media',\n\t\tpostId\n\t);\n\n\t// Fallback to post content if no featured image is set.\n\t// This is needed for the \"Use first image from post\" option.\n\tconst [ postContent ] = useEntityProp(\n\t\t'postType',\n\t\tpostTypeSlug,\n\t\t'content',\n\t\tpostId\n\t);\n\n\tconst featuredImage = useMemo( () => {\n\t\tif ( storedFeaturedImage ) {\n\t\t\treturn storedFeaturedImage;\n\t\t}\n\n\t\tif ( ! useFirstImageFromPost ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst imageOpener =\n\t\t\t/<!--\\s+wp:(?:core\\/)?image\\s+(?<attrs>{(?:(?:[^}]+|}+(?=})|(?!}\\s+\\/?-->).)*)?}\\s+)?-->/.exec(\n\t\t\t\tpostContent\n\t\t\t);\n\t\tconst imageId =\n\t\t\timageOpener?.groups?.attrs &&\n\t\t\tJSON.parse( imageOpener.groups.attrs )?.id;\n\t\treturn imageId;\n\t}, [ storedFeaturedImage, useFirstImageFromPost, postContent ] );\n\n\tconst { media, postType, postPermalink } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getMedia, getPostType, getEditedEntityRecord } =\n\t\t\t\tselect( coreStore );\n\t\t\treturn {\n\t\t\t\tmedia:\n\t\t\t\t\tfeaturedImage &&\n\t\t\t\t\tgetMedia( featuredImage, {\n\t\t\t\t\t\tcontext: 'view',\n\t\t\t\t\t} ),\n\t\t\t\tpostType: postTypeSlug && getPostType( postTypeSlug ),\n\t\t\t\tpostPermalink: getEditedEntityRecord(\n\t\t\t\t\t'postType',\n\t\t\t\t\tpostTypeSlug,\n\t\t\t\t\tpostId\n\t\t\t\t)?.link,\n\t\t\t};\n\t\t},\n\t\t[ featuredImage, postTypeSlug, postId ]\n\t);\n\n\tconst mediaUrl =\n\t\tmedia?.media_details?.sizes?.[ sizeSlug ]?.source_url ||\n\t\tmedia?.source_url;\n\n\tconst blockProps = useBlockProps( {\n\t\tstyle: { width, height, aspectRatio },\n\t\tclassName: clsx( {\n\t\t\t'is-transient': temporaryURL,\n\t\t} ),\n\t} );\n\tconst borderProps = useBorderProps( attributes );\n\tconst shadowProps = getShadowClassesAndStyles( attributes );\n\tconst blockEditingMode = useBlockEditingMode();\n\n\tconst placeholder = ( content ) => {\n\t\treturn (\n\t\t\t<Placeholder\n\t\t\t\tclassName={ clsx(\n\t\t\t\t\t'block-editor-media-placeholder',\n\t\t\t\t\tborderProps.className\n\t\t\t\t) }\n\t\t\t\twithIllustration\n\t\t\t\tstyle={ {\n\t\t\t\t\theight: !! aspectRatio && '100%',\n\t\t\t\t\twidth: !! aspectRatio && '100%',\n\t\t\t\t\t...borderProps.style,\n\t\t\t\t\t...shadowProps.style,\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t{ content }\n\t\t\t</Placeholder>\n\t\t);\n\t};\n\n\tconst onSelectImage = ( value ) => {\n\t\tif ( value?.id ) {\n\t\t\tsetFeaturedImage( value.id );\n\t\t}\n\n\t\tif ( value?.url && isBlobURL( value.url ) ) {\n\t\t\tsetTemporaryURL( value.url );\n\t\t}\n\t};\n\n\t// On reset image\n\tconst onResetImage = () => {\n\t\tsetAttributes( {\n\t\t\tisLink: false,\n\t\t\tlinkTarget: '_self',\n\t\t\trel: '',\n\t\t\tsizeSlug: undefined,\n\t\t} );\n\t\tsetFeaturedImage( 0 );\n\t};\n\n\t// Reset temporary url when media is available.\n\tuseEffect( () => {\n\t\tif ( mediaUrl && temporaryURL ) {\n\t\t\tsetTemporaryURL();\n\t\t}\n\t}, [ mediaUrl, temporaryURL ] );\n\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\tconst onUploadError = ( message ) => {\n\t\tcreateErrorNotice( message, { type: 'snackbar' } );\n\t\tsetTemporaryURL();\n\t};\n\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\n\tconst controls = blockEditingMode === 'default' && (\n\t\t<>\n\t\t\t<InspectorControls group=\"color\">\n\t\t\t\t<OverlayControls\n\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t/>\n\t\t\t</InspectorControls>\n\t\t\t<InspectorControls group=\"dimensions\">\n\t\t\t\t<DimensionControls\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\tmedia={ media }\n\t\t\t\t/>\n\t\t\t</InspectorControls>\n\t\t\t{ ( featuredImage || isDescendentOfQueryLoop || ! postId ) && (\n\t\t\t\t<InspectorControls>\n\t\t\t\t\t<ToolsPanel\n\t\t\t\t\t\tlabel={ __( 'Settings' ) }\n\t\t\t\t\t\tresetAll={ () => {\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tisLink: false,\n\t\t\t\t\t\t\t\tlinkTarget: '_self',\n\t\t\t\t\t\t\t\trel: '',\n\t\t\t\t\t\t\t\tsizeSlug: DEFAULT_MEDIA_SIZE_SLUG,\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t\t\t\t>\n\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\t\tpostType?.labels.singular_name\n\t\t\t\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t\t\t\t// translators: %s: Name of the post type e.g: \"post\".\n\t\t\t\t\t\t\t\t\t\t\t__( 'Link to %s' ),\n\t\t\t\t\t\t\t\t\t\t\tpostType.labels.singular_name\n\t\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t\t: __( 'Link to post' )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t\thasValue={ () => !! isLink }\n\t\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\tisLink: false,\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\t<ToggleControl\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\t\t\tpostType?.labels.singular_name\n\t\t\t\t\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t\t\t\t\t// translators: %s: Name of the post type e.g: \"post\".\n\t\t\t\t\t\t\t\t\t\t\t\t__( 'Link to %s' ),\n\t\t\t\t\t\t\t\t\t\t\t\tpostType.labels.singular_name\n\t\t\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t\t\t: __( 'Link to post' )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\t\t\tsetAttributes( { isLink: ! isLink } )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tchecked={ isLink }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToolsPanelItem>\n\n\t\t\t\t\t\t{ isLink && (\n\t\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\t\tlabel={ __( 'Open in new tab' ) }\n\t\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t\t\thasValue={ () => '_self' !== linkTarget }\n\t\t\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\tlinkTarget: '_self',\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\t\t<ToggleControl\n\t\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Open in new tab' ) }\n\t\t\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\t\tlinkTarget: value\n\t\t\t\t\t\t\t\t\t\t\t\t? '_blank'\n\t\t\t\t\t\t\t\t\t\t\t\t: '_self',\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\tchecked={ linkTarget === '_blank' }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ isLink && (\n\t\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\t\tlabel={ __( 'Link rel' ) }\n\t\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t\t\thasValue={ () => !! rel }\n\t\t\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\trel: '',\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\t\t<TextControl\n\t\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Link rel' ) }\n\t\t\t\t\t\t\t\t\tvalue={ rel }\n\t\t\t\t\t\t\t\t\tonChange={ ( newRel ) =>\n\t\t\t\t\t\t\t\t\t\tsetAttributes( { rel: newRel } )\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</ToolsPanelItem>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ !! media && (\n\t\t\t\t\t\t\t<FeaturedImageResolutionTool\n\t\t\t\t\t\t\t\timage={ media }\n\t\t\t\t\t\t\t\tvalue={ sizeSlug }\n\t\t\t\t\t\t\t\tonChange={ ( nextSizeSlug ) =>\n\t\t\t\t\t\t\t\t\tsetAttributes( { sizeSlug: nextSizeSlug } )\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</ToolsPanel>\n\t\t\t\t</InspectorControls>\n\t\t\t) }\n\t\t</>\n\t);\n\n\tlet image;\n\n\t/**\n\t * A Post Featured Image block should not have image replacement\n\t * or upload options in the following cases:\n\t * - Is placed in a Query Loop. This is a conscious decision to\n\t * prevent content editing of different posts in Query Loop, and\n\t * this could change in the future.\n\t * - Is in a context where it does not have a postId (for example\n\t * in a template or template part).\n\t */\n\tif ( ! featuredImage && ( isDescendentOfQueryLoop || ! postId ) ) {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{ controls }\n\t\t\t\t<div { ...blockProps }>\n\t\t\t\t\t{ !! isLink ? (\n\t\t\t\t\t\t<a href={ postPermalink } target={ linkTarget }>\n\t\t\t\t\t\t\t{ placeholder() }\n\t\t\t\t\t\t</a>\n\t\t\t\t\t) : (\n\t\t\t\t\t\tplaceholder()\n\t\t\t\t\t) }\n\t\t\t\t\t<Overlay\n\t\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t</>\n\t\t);\n\t}\n\n\tconst label = __( 'Add a featured image' );\n\tconst imageStyles = {\n\t\t...borderProps.style,\n\t\t...shadowProps.style,\n\t\theight: aspectRatio ? '100%' : height,\n\t\twidth: !! aspectRatio && '100%',\n\t\tobjectFit: !! ( height || aspectRatio ) && scale,\n\t};\n\n\t/**\n\t * When the post featured image block is placed in a context where:\n\t * - It has a postId (for example in a single post)\n\t * - It is not inside a query loop\n\t * - It has no image assigned yet\n\t * Then display the placeholder with the image upload option.\n\t */\n\tif ( ! featuredImage && ! temporaryURL ) {\n\t\timage = (\n\t\t\t<MediaPlaceholder\n\t\t\t\tonSelect={ onSelectImage }\n\t\t\t\taccept=\"image/*\"\n\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\tonError={ onUploadError }\n\t\t\t\tplaceholder={ placeholder }\n\t\t\t\tmediaLibraryButton={ ( { open } ) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\ticon={ upload }\n\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\tlabel={ label }\n\t\t\t\t\t\t\tshowTooltip\n\t\t\t\t\t\t\ttooltipPosition=\"top center\"\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\topen();\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/>\n\t\t);\n\t} else {\n\t\t// We have a Featured image so show a Placeholder if is loading.\n\t\timage =\n\t\t\t! media && ! temporaryURL ? (\n\t\t\t\tplaceholder()\n\t\t\t) : (\n\t\t\t\t<>\n\t\t\t\t\t<img\n\t\t\t\t\t\tclassName={ borderProps.className }\n\t\t\t\t\t\tsrc={ temporaryURL || mediaUrl }\n\t\t\t\t\t\talt={\n\t\t\t\t\t\t\tmedia && media?.alt_text\n\t\t\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t\t\t// translators: %s: The image's alt text.\n\t\t\t\t\t\t\t\t\t\t__( 'Featured image: %s' ),\n\t\t\t\t\t\t\t\t\t\tmedia.alt_text\n\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t: __( 'Featured image' )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tstyle={ imageStyles }\n\t\t\t\t\t/>\n\t\t\t\t\t{ temporaryURL && <Spinner /> }\n\t\t\t\t</>\n\t\t\t);\n\t}\n\n\t/**\n\t * When the post featured image block:\n\t * - Has an image assigned\n\t * - Is not inside a query loop\n\t * Then display the image and the image replacement option.\n\t */\n\treturn (\n\t\t<>\n\t\t\t{ ! temporaryURL && controls }\n\t\t\t{ !! media && ! isDescendentOfQueryLoop && (\n\t\t\t\t<BlockControls group=\"other\">\n\t\t\t\t\t<MediaReplaceFlow\n\t\t\t\t\t\tmediaId={ featuredImage }\n\t\t\t\t\t\tmediaURL={ mediaUrl }\n\t\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\t\taccept=\"image/*\"\n\t\t\t\t\t\tonSelect={ onSelectImage }\n\t\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t\t\tonReset={ onResetImage }\n\t\t\t\t\t/>\n\t\t\t\t</BlockControls>\n\t\t\t) }\n\t\t\t<figure { ...blockProps }>\n\t\t\t\t{ /* If the featured image is linked, wrap in an <a /> tag to trigger any inherited link element styles */ }\n\t\t\t\t{ !! isLink ? (\n\t\t\t\t\t<a href={ postPermalink } target={ linkTarget }>\n\t\t\t\t\t\t{ image }\n\t\t\t\t\t</a>\n\t\t\t\t) : (\n\t\t\t\t\timage\n\t\t\t\t) }\n\t\t\t\t<Overlay\n\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t/>\n\t\t\t</figure>\n\t\t</>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_clsx","_interopRequireDefault","require","_blob","_coreData","_data","_components","_blockEditor","_element","_i18n","_icons","_notices","_dimensionControls","_overlayControls","_overlay","_hooks","_lockUnlock","_jsxRuntime","ALLOWED_MEDIA_TYPES","ResolutionTool","unlock","blockEditorPrivateApis","DEFAULT_MEDIA_SIZE_SLUG","FeaturedImageResolutionTool","image","value","onChange","imageSizes","useSelect","select","getSettings","blockEditorStore","length","imageSizeOptions","filter","slug","media_details","sizes","source_url","map","name","label","jsx","defaultValue","options","PostFeaturedImageEdit","clientId","attributes","setAttributes","context","postId","postType","postTypeSlug","queryId","isDescendentOfQueryLoop","Number","isFinite","isLink","aspectRatio","height","width","scale","sizeSlug","rel","linkTarget","useFirstImageFromPost","temporaryURL","setTemporaryURL","useState","storedFeaturedImage","setFeaturedImage","useEntityProp","postContent","featuredImage","useMemo","imageOpener","exec","imageId","groups","attrs","JSON","parse","id","media","postPermalink","getEntityRecord","getPostType","getEditedEntityRecord","coreStore","link","mediaUrl","blockProps","useBlockProps","style","className","clsx","borderProps","useBorderProps","shadowProps","getShadowClassesAndStyles","blockEditingMode","useBlockEditingMode","placeholder","content","Placeholder","withIllustration","children","onSelectImage","url","isBlobURL","onResetImage","undefined","useEffect","createErrorNotice","useDispatch","noticesStore","onUploadError","message","type","dropdownMenuProps","useToolsPanelDropdownMenuProps","controls","jsxs","Fragment","InspectorControls","group","default","__experimentalToolsPanel","__","resetAll","__experimentalToolsPanelItem","labels","singular_name","sprintf","isShownByDefault","hasValue","onDeselect","ToggleControl","__nextHasNoMarginBottom","checked","TextControl","__next40pxDefaultSize","newRel","nextSizeSlug","href","target","imageStyles","objectFit","MediaPlaceholder","onSelect","accept","allowedTypes","onError","mediaLibraryButton","open","Button","icon","upload","variant","showTooltip","tooltipPosition","onClick","src","alt","alt_text","Spinner","BlockControls","MediaReplaceFlow","mediaId","mediaURL","onReset"],"sources":["@wordpress/block-library/src/post-featured-image/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { isBlobURL } from '@wordpress/blob';\nimport { useEntityProp, store as coreStore } from '@wordpress/core-data';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tToggleControl,\n\tPlaceholder,\n\tButton,\n\tSpinner,\n\tTextControl,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport {\n\tInspectorControls,\n\tBlockControls,\n\tMediaPlaceholder,\n\tMediaReplaceFlow,\n\tuseBlockProps,\n\t__experimentalUseBorderProps as useBorderProps,\n\t__experimentalGetShadowClassesAndStyles as getShadowClassesAndStyles,\n\tuseBlockEditingMode,\n\tprivateApis as blockEditorPrivateApis,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { useMemo, useEffect, useState } from '@wordpress/element';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { upload } from '@wordpress/icons';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport DimensionControls from './dimension-controls';\nimport OverlayControls from './overlay-controls';\nimport Overlay from './overlay';\nimport { useToolsPanelDropdownMenuProps } from '../utils/hooks';\nimport { unlock } from '../lock-unlock';\n\nconst ALLOWED_MEDIA_TYPES = [ 'image' ];\nconst { ResolutionTool } = unlock( blockEditorPrivateApis );\nconst DEFAULT_MEDIA_SIZE_SLUG = 'full';\n\nfunction FeaturedImageResolutionTool( { image, value, onChange } ) {\n\tconst { imageSizes } = useSelect( ( select ) => {\n\t\tconst { getSettings } = select( blockEditorStore );\n\t\treturn {\n\t\t\timageSizes: getSettings().imageSizes,\n\t\t};\n\t}, [] );\n\n\tif ( ! imageSizes?.length ) {\n\t\treturn null;\n\t}\n\n\tconst imageSizeOptions = imageSizes\n\t\t.filter(\n\t\t\t( { slug } ) => image?.media_details?.sizes?.[ slug ]?.source_url\n\t\t)\n\t\t.map( ( { name, slug } ) => ( { value: slug, label: name } ) );\n\n\treturn (\n\t\t<ResolutionTool\n\t\t\tvalue={ value }\n\t\t\tdefaultValue={ DEFAULT_MEDIA_SIZE_SLUG }\n\t\t\toptions={ imageSizeOptions }\n\t\t\tonChange={ onChange }\n\t\t/>\n\t);\n}\n\nexport default function PostFeaturedImageEdit( {\n\tclientId,\n\tattributes,\n\tsetAttributes,\n\tcontext: { postId, postType: postTypeSlug, queryId },\n} ) {\n\tconst isDescendentOfQueryLoop = Number.isFinite( queryId );\n\tconst {\n\t\tisLink,\n\t\taspectRatio,\n\t\theight,\n\t\twidth,\n\t\tscale,\n\t\tsizeSlug,\n\t\trel,\n\t\tlinkTarget,\n\t\tuseFirstImageFromPost,\n\t} = attributes;\n\tconst [ temporaryURL, setTemporaryURL ] = useState();\n\n\tconst [ storedFeaturedImage, setFeaturedImage ] = useEntityProp(\n\t\t'postType',\n\t\tpostTypeSlug,\n\t\t'featured_media',\n\t\tpostId\n\t);\n\n\t// Fallback to post content if no featured image is set.\n\t// This is needed for the \"Use first image from post\" option.\n\tconst [ postContent ] = useEntityProp(\n\t\t'postType',\n\t\tpostTypeSlug,\n\t\t'content',\n\t\tpostId\n\t);\n\n\tconst featuredImage = useMemo( () => {\n\t\tif ( storedFeaturedImage ) {\n\t\t\treturn storedFeaturedImage;\n\t\t}\n\n\t\tif ( ! useFirstImageFromPost ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst imageOpener =\n\t\t\t/<!--\\s+wp:(?:core\\/)?image\\s+(?<attrs>{(?:(?:[^}]+|}+(?=})|(?!}\\s+\\/?-->).)*)?}\\s+)?-->/.exec(\n\t\t\t\tpostContent\n\t\t\t);\n\t\tconst imageId =\n\t\t\timageOpener?.groups?.attrs &&\n\t\t\tJSON.parse( imageOpener.groups.attrs )?.id;\n\t\treturn imageId;\n\t}, [ storedFeaturedImage, useFirstImageFromPost, postContent ] );\n\n\tconst { media, postType, postPermalink } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEntityRecord, getPostType, getEditedEntityRecord } =\n\t\t\t\tselect( coreStore );\n\t\t\treturn {\n\t\t\t\tmedia:\n\t\t\t\t\tfeaturedImage &&\n\t\t\t\t\tgetEntityRecord( 'postType', 'attachment', featuredImage, {\n\t\t\t\t\t\tcontext: 'view',\n\t\t\t\t\t} ),\n\t\t\t\tpostType: postTypeSlug && getPostType( postTypeSlug ),\n\t\t\t\tpostPermalink: getEditedEntityRecord(\n\t\t\t\t\t'postType',\n\t\t\t\t\tpostTypeSlug,\n\t\t\t\t\tpostId\n\t\t\t\t)?.link,\n\t\t\t};\n\t\t},\n\t\t[ featuredImage, postTypeSlug, postId ]\n\t);\n\n\tconst mediaUrl =\n\t\tmedia?.media_details?.sizes?.[ sizeSlug ]?.source_url ||\n\t\tmedia?.source_url;\n\n\tconst blockProps = useBlockProps( {\n\t\tstyle: { width, height, aspectRatio },\n\t\tclassName: clsx( {\n\t\t\t'is-transient': temporaryURL,\n\t\t} ),\n\t} );\n\tconst borderProps = useBorderProps( attributes );\n\tconst shadowProps = getShadowClassesAndStyles( attributes );\n\tconst blockEditingMode = useBlockEditingMode();\n\n\tconst placeholder = ( content ) => {\n\t\treturn (\n\t\t\t<Placeholder\n\t\t\t\tclassName={ clsx(\n\t\t\t\t\t'block-editor-media-placeholder',\n\t\t\t\t\tborderProps.className\n\t\t\t\t) }\n\t\t\t\twithIllustration\n\t\t\t\tstyle={ {\n\t\t\t\t\theight: !! aspectRatio && '100%',\n\t\t\t\t\twidth: !! aspectRatio && '100%',\n\t\t\t\t\t...borderProps.style,\n\t\t\t\t\t...shadowProps.style,\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t{ content }\n\t\t\t</Placeholder>\n\t\t);\n\t};\n\n\tconst onSelectImage = ( value ) => {\n\t\tif ( value?.id ) {\n\t\t\tsetFeaturedImage( value.id );\n\t\t}\n\n\t\tif ( value?.url && isBlobURL( value.url ) ) {\n\t\t\tsetTemporaryURL( value.url );\n\t\t}\n\t};\n\n\t// On reset image\n\tconst onResetImage = () => {\n\t\tsetAttributes( {\n\t\t\tisLink: false,\n\t\t\tlinkTarget: '_self',\n\t\t\trel: '',\n\t\t\tsizeSlug: undefined,\n\t\t} );\n\t\tsetFeaturedImage( 0 );\n\t};\n\n\t// Reset temporary url when media is available.\n\tuseEffect( () => {\n\t\tif ( mediaUrl && temporaryURL ) {\n\t\t\tsetTemporaryURL();\n\t\t}\n\t}, [ mediaUrl, temporaryURL ] );\n\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\tconst onUploadError = ( message ) => {\n\t\tcreateErrorNotice( message, { type: 'snackbar' } );\n\t\tsetTemporaryURL();\n\t};\n\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\n\tconst controls = blockEditingMode === 'default' && (\n\t\t<>\n\t\t\t<InspectorControls group=\"color\">\n\t\t\t\t<OverlayControls\n\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t/>\n\t\t\t</InspectorControls>\n\t\t\t<InspectorControls group=\"dimensions\">\n\t\t\t\t<DimensionControls\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\tmedia={ media }\n\t\t\t\t/>\n\t\t\t</InspectorControls>\n\t\t\t{ ( featuredImage || isDescendentOfQueryLoop || ! postId ) && (\n\t\t\t\t<InspectorControls>\n\t\t\t\t\t<ToolsPanel\n\t\t\t\t\t\tlabel={ __( 'Settings' ) }\n\t\t\t\t\t\tresetAll={ () => {\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tisLink: false,\n\t\t\t\t\t\t\t\tlinkTarget: '_self',\n\t\t\t\t\t\t\t\trel: '',\n\t\t\t\t\t\t\t\tsizeSlug: DEFAULT_MEDIA_SIZE_SLUG,\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t\t\t\t>\n\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\t\tpostType?.labels.singular_name\n\t\t\t\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t\t\t\t// translators: %s: Name of the post type e.g: \"post\".\n\t\t\t\t\t\t\t\t\t\t\t__( 'Link to %s' ),\n\t\t\t\t\t\t\t\t\t\t\tpostType.labels.singular_name\n\t\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t\t: __( 'Link to post' )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t\thasValue={ () => !! isLink }\n\t\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\tisLink: false,\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\t<ToggleControl\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\t\t\tpostType?.labels.singular_name\n\t\t\t\t\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t\t\t\t\t// translators: %s: Name of the post type e.g: \"post\".\n\t\t\t\t\t\t\t\t\t\t\t\t__( 'Link to %s' ),\n\t\t\t\t\t\t\t\t\t\t\t\tpostType.labels.singular_name\n\t\t\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t\t\t: __( 'Link to post' )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\t\t\tsetAttributes( { isLink: ! isLink } )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tchecked={ isLink }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToolsPanelItem>\n\n\t\t\t\t\t\t{ isLink && (\n\t\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\t\tlabel={ __( 'Open in new tab' ) }\n\t\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t\t\thasValue={ () => '_self' !== linkTarget }\n\t\t\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\tlinkTarget: '_self',\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\t\t<ToggleControl\n\t\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Open in new tab' ) }\n\t\t\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\t\tlinkTarget: value\n\t\t\t\t\t\t\t\t\t\t\t\t? '_blank'\n\t\t\t\t\t\t\t\t\t\t\t\t: '_self',\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\tchecked={ linkTarget === '_blank' }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ isLink && (\n\t\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\t\tlabel={ __( 'Link rel' ) }\n\t\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t\t\thasValue={ () => !! rel }\n\t\t\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\trel: '',\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\t\t<TextControl\n\t\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Link rel' ) }\n\t\t\t\t\t\t\t\t\tvalue={ rel }\n\t\t\t\t\t\t\t\t\tonChange={ ( newRel ) =>\n\t\t\t\t\t\t\t\t\t\tsetAttributes( { rel: newRel } )\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</ToolsPanelItem>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ !! media && (\n\t\t\t\t\t\t\t<FeaturedImageResolutionTool\n\t\t\t\t\t\t\t\timage={ media }\n\t\t\t\t\t\t\t\tvalue={ sizeSlug }\n\t\t\t\t\t\t\t\tonChange={ ( nextSizeSlug ) =>\n\t\t\t\t\t\t\t\t\tsetAttributes( { sizeSlug: nextSizeSlug } )\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</ToolsPanel>\n\t\t\t\t</InspectorControls>\n\t\t\t) }\n\t\t</>\n\t);\n\n\tlet image;\n\n\t/**\n\t * A Post Featured Image block should not have image replacement\n\t * or upload options in the following cases:\n\t * - Is placed in a Query Loop. This is a conscious decision to\n\t * prevent content editing of different posts in Query Loop, and\n\t * this could change in the future.\n\t * - Is in a context where it does not have a postId (for example\n\t * in a template or template part).\n\t */\n\tif ( ! featuredImage && ( isDescendentOfQueryLoop || ! postId ) ) {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{ controls }\n\t\t\t\t<div { ...blockProps }>\n\t\t\t\t\t{ !! isLink ? (\n\t\t\t\t\t\t<a href={ postPermalink } target={ linkTarget }>\n\t\t\t\t\t\t\t{ placeholder() }\n\t\t\t\t\t\t</a>\n\t\t\t\t\t) : (\n\t\t\t\t\t\tplaceholder()\n\t\t\t\t\t) }\n\t\t\t\t\t<Overlay\n\t\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t</>\n\t\t);\n\t}\n\n\tconst label = __( 'Add a featured image' );\n\tconst imageStyles = {\n\t\t...borderProps.style,\n\t\t...shadowProps.style,\n\t\theight: aspectRatio ? '100%' : height,\n\t\twidth: !! aspectRatio && '100%',\n\t\tobjectFit: !! ( height || aspectRatio ) && scale,\n\t};\n\n\t/**\n\t * When the post featured image block is placed in a context where:\n\t * - It has a postId (for example in a single post)\n\t * - It is not inside a query loop\n\t * - It has no image assigned yet\n\t * Then display the placeholder with the image upload option.\n\t */\n\tif ( ! featuredImage && ! temporaryURL ) {\n\t\timage = (\n\t\t\t<MediaPlaceholder\n\t\t\t\tonSelect={ onSelectImage }\n\t\t\t\taccept=\"image/*\"\n\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\tonError={ onUploadError }\n\t\t\t\tplaceholder={ placeholder }\n\t\t\t\tmediaLibraryButton={ ( { open } ) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\ticon={ upload }\n\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\tlabel={ label }\n\t\t\t\t\t\t\tshowTooltip\n\t\t\t\t\t\t\ttooltipPosition=\"top center\"\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\topen();\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/>\n\t\t);\n\t} else {\n\t\t// We have a Featured image so show a Placeholder if is loading.\n\t\timage =\n\t\t\t! media && ! temporaryURL ? (\n\t\t\t\tplaceholder()\n\t\t\t) : (\n\t\t\t\t<>\n\t\t\t\t\t<img\n\t\t\t\t\t\tclassName={ borderProps.className }\n\t\t\t\t\t\tsrc={ temporaryURL || mediaUrl }\n\t\t\t\t\t\talt={\n\t\t\t\t\t\t\tmedia && media?.alt_text\n\t\t\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t\t\t// translators: %s: The image's alt text.\n\t\t\t\t\t\t\t\t\t\t__( 'Featured image: %s' ),\n\t\t\t\t\t\t\t\t\t\tmedia.alt_text\n\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t: __( 'Featured image' )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tstyle={ imageStyles }\n\t\t\t\t\t/>\n\t\t\t\t\t{ temporaryURL && <Spinner /> }\n\t\t\t\t</>\n\t\t\t);\n\t}\n\n\t/**\n\t * When the post featured image block:\n\t * - Has an image assigned\n\t * - Is not inside a query loop\n\t * Then display the image and the image replacement option.\n\t */\n\treturn (\n\t\t<>\n\t\t\t{ ! temporaryURL && controls }\n\t\t\t{ !! media && ! isDescendentOfQueryLoop && (\n\t\t\t\t<BlockControls group=\"other\">\n\t\t\t\t\t<MediaReplaceFlow\n\t\t\t\t\t\tmediaId={ featuredImage }\n\t\t\t\t\t\tmediaURL={ mediaUrl }\n\t\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\t\taccept=\"image/*\"\n\t\t\t\t\t\tonSelect={ onSelectImage }\n\t\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t\t\tonReset={ onResetImage }\n\t\t\t\t\t/>\n\t\t\t\t</BlockControls>\n\t\t\t) }\n\t\t\t<figure { ...blockProps }>\n\t\t\t\t{ /* If the featured image is linked, wrap in an <a /> tag to trigger any inherited link element styles */ }\n\t\t\t\t{ !! isLink ? (\n\t\t\t\t\t<a href={ postPermalink } target={ linkTarget }>\n\t\t\t\t\t\t{ image }\n\t\t\t\t\t</a>\n\t\t\t\t) : (\n\t\t\t\t\timage\n\t\t\t\t) }\n\t\t\t\t<Overlay\n\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t/>\n\t\t\t</figure>\n\t\t</>\n\t);\n}\n"],"mappings":";;;;;;;AAGA,IAAAA,KAAA,GAAAC,sBAAA,CAAAC,OAAA;AAKA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,SAAA,GAAAF,OAAA;AACA,IAAAG,KAAA,GAAAH,OAAA;AACA,IAAAI,WAAA,GAAAJ,OAAA;AASA,IAAAK,YAAA,GAAAL,OAAA;AAYA,IAAAM,QAAA,GAAAN,OAAA;AACA,IAAAO,KAAA,GAAAP,OAAA;AACA,IAAAQ,MAAA,GAAAR,OAAA;AACA,IAAAS,QAAA,GAAAT,OAAA;AAKA,IAAAU,kBAAA,GAAAX,sBAAA,CAAAC,OAAA;AACA,IAAAW,gBAAA,GAAAZ,sBAAA,CAAAC,OAAA;AACA,IAAAY,QAAA,GAAAb,sBAAA,CAAAC,OAAA;AACA,IAAAa,MAAA,GAAAb,OAAA;AACA,IAAAc,WAAA,GAAAd,OAAA;AAAwC,IAAAe,WAAA,GAAAf,OAAA;AA5CxC;AACA;AACA;;AAGA;AACA;AACA;;AA8BA;AACA;AACA;;AAOA,MAAMgB,mBAAmB,GAAG,CAAE,OAAO,CAAE;AACvC,MAAM;EAAEC;AAAe,CAAC,GAAG,IAAAC,kBAAM,EAAEC,wBAAuB,CAAC;AAC3D,MAAMC,uBAAuB,GAAG,MAAM;AAEtC,SAASC,2BAA2BA,CAAE;EAAEC,KAAK;EAAEC,KAAK;EAAEC;AAAS,CAAC,EAAG;EAClE,MAAM;IAAEC;EAAW,CAAC,GAAG,IAAAC,eAAS,EAAIC,MAAM,IAAM;IAC/C,MAAM;MAAEC;IAAY,CAAC,GAAGD,MAAM,CAAEE,kBAAiB,CAAC;IAClD,OAAO;MACNJ,UAAU,EAAEG,WAAW,CAAC,CAAC,CAACH;IAC3B,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;EAEP,IAAK,CAAEA,UAAU,EAAEK,MAAM,EAAG;IAC3B,OAAO,IAAI;EACZ;EAEA,MAAMC,gBAAgB,GAAGN,UAAU,CACjCO,MAAM,CACN,CAAE;IAAEC;EAAK,CAAC,KAAMX,KAAK,EAAEY,aAAa,EAAEC,KAAK,GAAIF,IAAI,CAAE,EAAEG,UACxD,CAAC,CACAC,GAAG,CAAE,CAAE;IAAEC,IAAI;IAAEL;EAAK,CAAC,MAAQ;IAAEV,KAAK,EAAEU,IAAI;IAAEM,KAAK,EAAED;EAAK,CAAC,CAAG,CAAC;EAE/D,oBACC,IAAAvB,WAAA,CAAAyB,GAAA,EAACvB,cAAc;IACdM,KAAK,EAAGA,KAAO;IACfkB,YAAY,EAAGrB,uBAAyB;IACxCsB,OAAO,EAAGX,gBAAkB;IAC5BP,QAAQ,EAAGA;EAAU,CACrB,CAAC;AAEJ;AAEe,SAASmB,qBAAqBA,CAAE;EAC9CC,QAAQ;EACRC,UAAU;EACVC,aAAa;EACbC,OAAO,EAAE;IAAEC,MAAM;IAAEC,QAAQ,EAAEC,YAAY;IAAEC;EAAQ;AACpD,CAAC,EAAG;EACH,MAAMC,uBAAuB,GAAGC,MAAM,CAACC,QAAQ,CAAEH,OAAQ,CAAC;EAC1D,MAAM;IACLI,MAAM;IACNC,WAAW;IACXC,MAAM;IACNC,KAAK;IACLC,KAAK;IACLC,QAAQ;IACRC,GAAG;IACHC,UAAU;IACVC;EACD,CAAC,GAAGlB,UAAU;EACd,MAAM,CAAEmB,YAAY,EAAEC,eAAe,CAAE,GAAG,IAAAC,iBAAQ,EAAC,CAAC;EAEpD,MAAM,CAAEC,mBAAmB,EAAEC,gBAAgB,CAAE,GAAG,IAAAC,uBAAa,EAC9D,UAAU,EACVnB,YAAY,EACZ,gBAAgB,EAChBF,MACD,CAAC;;EAED;EACA;EACA,MAAM,CAAEsB,WAAW,CAAE,GAAG,IAAAD,uBAAa,EACpC,UAAU,EACVnB,YAAY,EACZ,SAAS,EACTF,MACD,CAAC;EAED,MAAMuB,aAAa,GAAG,IAAAC,gBAAO,EAAE,MAAM;IACpC,IAAKL,mBAAmB,EAAG;MAC1B,OAAOA,mBAAmB;IAC3B;IAEA,IAAK,CAAEJ,qBAAqB,EAAG;MAC9B;IACD;IAEA,MAAMU,WAAW,GAChB,yFAAyF,CAACC,IAAI,CAC7FJ,WACD,CAAC;IACF,MAAMK,OAAO,GACZF,WAAW,EAAEG,MAAM,EAAEC,KAAK,IAC1BC,IAAI,CAACC,KAAK,CAAEN,WAAW,CAACG,MAAM,CAACC,KAAM,CAAC,EAAEG,EAAE;IAC3C,OAAOL,OAAO;EACf,CAAC,EAAE,CAAER,mBAAmB,EAAEJ,qBAAqB,EAAEO,WAAW,CAAG,CAAC;EAEhE,MAAM;IAAEW,KAAK;IAAEhC,QAAQ;IAAEiC;EAAc,CAAC,GAAG,IAAAxD,eAAS,EACjDC,MAAM,IAAM;IACb,MAAM;MAAEwD,eAAe;MAAEC,WAAW;MAAEC;IAAsB,CAAC,GAC5D1D,MAAM,CAAE2D,eAAU,CAAC;IACpB,OAAO;MACNL,KAAK,EACJV,aAAa,IACbY,eAAe,CAAE,UAAU,EAAE,YAAY,EAAEZ,aAAa,EAAE;QACzDxB,OAAO,EAAE;MACV,CAAE,CAAC;MACJE,QAAQ,EAAEC,YAAY,IAAIkC,WAAW,CAAElC,YAAa,CAAC;MACrDgC,aAAa,EAAEG,qBAAqB,CACnC,UAAU,EACVnC,YAAY,EACZF,MACD,CAAC,EAAEuC;IACJ,CAAC;EACF,CAAC,EACD,CAAEhB,aAAa,EAAErB,YAAY,EAAEF,MAAM,CACtC,CAAC;EAED,MAAMwC,QAAQ,GACbP,KAAK,EAAE/C,aAAa,EAAEC,KAAK,GAAIyB,QAAQ,CAAE,EAAExB,UAAU,IACrD6C,KAAK,EAAE7C,UAAU;EAElB,MAAMqD,UAAU,GAAG,IAAAC,0BAAa,EAAE;IACjCC,KAAK,EAAE;MAAEjC,KAAK;MAAED,MAAM;MAAED;IAAY,CAAC;IACrCoC,SAAS,EAAE,IAAAC,aAAI,EAAE;MAChB,cAAc,EAAE7B;IACjB,CAAE;EACH,CAAE,CAAC;EACH,MAAM8B,WAAW,GAAG,IAAAC,yCAAc,EAAElD,UAAW,CAAC;EAChD,MAAMmD,WAAW,GAAG,IAAAC,oDAAyB,EAAEpD,UAAW,CAAC;EAC3D,MAAMqD,gBAAgB,GAAG,IAAAC,gCAAmB,EAAC,CAAC;EAE9C,MAAMC,WAAW,GAAKC,OAAO,IAAM;IAClC,oBACC,IAAAtF,WAAA,CAAAyB,GAAA,EAACpC,WAAA,CAAAkG,WAAW;MACXV,SAAS,EAAG,IAAAC,aAAI,EACf,gCAAgC,EAChCC,WAAW,CAACF,SACb,CAAG;MACHW,gBAAgB;MAChBZ,KAAK,EAAG;QACPlC,MAAM,EAAE,CAAC,CAAED,WAAW,IAAI,MAAM;QAChCE,KAAK,EAAE,CAAC,CAAEF,WAAW,IAAI,MAAM;QAC/B,GAAGsC,WAAW,CAACH,KAAK;QACpB,GAAGK,WAAW,CAACL;MAChB,CAAG;MAAAa,QAAA,EAEDH;IAAO,CACG,CAAC;EAEhB,CAAC;EAED,MAAMI,aAAa,GAAKlF,KAAK,IAAM;IAClC,IAAKA,KAAK,EAAEyD,EAAE,EAAG;MAChBZ,gBAAgB,CAAE7C,KAAK,CAACyD,EAAG,CAAC;IAC7B;IAEA,IAAKzD,KAAK,EAAEmF,GAAG,IAAI,IAAAC,eAAS,EAAEpF,KAAK,CAACmF,GAAI,CAAC,EAAG;MAC3CzC,eAAe,CAAE1C,KAAK,CAACmF,GAAI,CAAC;IAC7B;EACD,CAAC;;EAED;EACA,MAAME,YAAY,GAAGA,CAAA,KAAM;IAC1B9D,aAAa,CAAE;MACdS,MAAM,EAAE,KAAK;MACbO,UAAU,EAAE,OAAO;MACnBD,GAAG,EAAE,EAAE;MACPD,QAAQ,EAAEiD;IACX,CAAE,CAAC;IACHzC,gBAAgB,CAAE,CAAE,CAAC;EACtB,CAAC;;EAED;EACA,IAAA0C,kBAAS,EAAE,MAAM;IAChB,IAAKtB,QAAQ,IAAIxB,YAAY,EAAG;MAC/BC,eAAe,CAAC,CAAC;IAClB;EACD,CAAC,EAAE,CAAEuB,QAAQ,EAAExB,YAAY,CAAG,CAAC;EAE/B,MAAM;IAAE+C;EAAkB,CAAC,GAAG,IAAAC,iBAAW,EAAEC,cAAa,CAAC;EACzD,MAAMC,aAAa,GAAKC,OAAO,IAAM;IACpCJ,iBAAiB,CAAEI,OAAO,EAAE;MAAEC,IAAI,EAAE;IAAW,CAAE,CAAC;IAClDnD,eAAe,CAAC,CAAC;EAClB,CAAC;EAED,MAAMoD,iBAAiB,GAAG,IAAAC,qCAA8B,EAAC,CAAC;EAE1D,MAAMC,QAAQ,GAAGrB,gBAAgB,KAAK,SAAS,iBAC9C,IAAAnF,WAAA,CAAAyG,IAAA,EAAAzG,WAAA,CAAA0G,QAAA;IAAAjB,QAAA,gBACC,IAAAzF,WAAA,CAAAyB,GAAA,EAACnC,YAAA,CAAAqH,iBAAiB;MAACC,KAAK,EAAC,OAAO;MAAAnB,QAAA,eAC/B,IAAAzF,WAAA,CAAAyB,GAAA,EAAC7B,gBAAA,CAAAiH,OAAe;QACf/E,UAAU,EAAGA,UAAY;QACzBC,aAAa,EAAGA,aAAe;QAC/BF,QAAQ,EAAGA;MAAU,CACrB;IAAC,CACgB,CAAC,eACpB,IAAA7B,WAAA,CAAAyB,GAAA,EAACnC,YAAA,CAAAqH,iBAAiB;MAACC,KAAK,EAAC,YAAY;MAAAnB,QAAA,eACpC,IAAAzF,WAAA,CAAAyB,GAAA,EAAC9B,kBAAA,CAAAkH,OAAiB;QACjBhF,QAAQ,EAAGA,QAAU;QACrBC,UAAU,EAAGA,UAAY;QACzBC,aAAa,EAAGA,aAAe;QAC/BmC,KAAK,EAAGA;MAAO,CACf;IAAC,CACgB,CAAC,EAClB,CAAEV,aAAa,IAAInB,uBAAuB,IAAI,CAAEJ,MAAM,kBACvD,IAAAjC,WAAA,CAAAyB,GAAA,EAACnC,YAAA,CAAAqH,iBAAiB;MAAAlB,QAAA,eACjB,IAAAzF,WAAA,CAAAyG,IAAA,EAACpH,WAAA,CAAAyH,wBAAU;QACVtF,KAAK,EAAG,IAAAuF,QAAE,EAAE,UAAW,CAAG;QAC1BC,QAAQ,EAAGA,CAAA,KAAM;UAChBjF,aAAa,CAAE;YACdS,MAAM,EAAE,KAAK;YACbO,UAAU,EAAE,OAAO;YACnBD,GAAG,EAAE,EAAE;YACPD,QAAQ,EAAExC;UACX,CAAE,CAAC;QACJ,CAAG;QACHiG,iBAAiB,EAAGA,iBAAmB;QAAAb,QAAA,gBAEvC,IAAAzF,WAAA,CAAAyB,GAAA,EAACpC,WAAA,CAAA4H,4BAAc;UACdzF,KAAK,EACJU,QAAQ,EAAEgF,MAAM,CAACC,aAAa,GAC3B,IAAAC,aAAO;UACP;UACA,IAAAL,QAAE,EAAE,YAAa,CAAC,EAClB7E,QAAQ,CAACgF,MAAM,CAACC,aAChB,CAAC,GACD,IAAAJ,QAAE,EAAE,cAAe,CACtB;UACDM,gBAAgB;UAChBC,QAAQ,EAAGA,CAAA,KAAM,CAAC,CAAE9E,MAAQ;UAC5B+E,UAAU,EAAGA,CAAA,KACZxF,aAAa,CAAE;YACdS,MAAM,EAAE;UACT,CAAE,CACF;UAAAiD,QAAA,eAED,IAAAzF,WAAA,CAAAyB,GAAA,EAACpC,WAAA,CAAAmI,aAAa;YACbC,uBAAuB;YACvBjG,KAAK,EACJU,QAAQ,EAAEgF,MAAM,CAACC,aAAa,GAC3B,IAAAC,aAAO;YACP;YACA,IAAAL,QAAE,EAAE,YAAa,CAAC,EAClB7E,QAAQ,CAACgF,MAAM,CAACC,aAChB,CAAC,GACD,IAAAJ,QAAE,EAAE,cAAe,CACtB;YACDtG,QAAQ,EAAGA,CAAA,KACVsB,aAAa,CAAE;cAAES,MAAM,EAAE,CAAEA;YAAO,CAAE,CACpC;YACDkF,OAAO,EAAGlF;UAAQ,CAClB;QAAC,CACa,CAAC,EAEfA,MAAM,iBACP,IAAAxC,WAAA,CAAAyB,GAAA,EAACpC,WAAA,CAAA4H,4BAAc;UACdzF,KAAK,EAAG,IAAAuF,QAAE,EAAE,iBAAkB,CAAG;UACjCM,gBAAgB;UAChBC,QAAQ,EAAGA,CAAA,KAAM,OAAO,KAAKvE,UAAY;UACzCwE,UAAU,EAAGA,CAAA,KACZxF,aAAa,CAAE;YACdgB,UAAU,EAAE;UACb,CAAE,CACF;UAAA0C,QAAA,eAED,IAAAzF,WAAA,CAAAyB,GAAA,EAACpC,WAAA,CAAAmI,aAAa;YACbC,uBAAuB;YACvBjG,KAAK,EAAG,IAAAuF,QAAE,EAAE,iBAAkB,CAAG;YACjCtG,QAAQ,EAAKD,KAAK,IACjBuB,aAAa,CAAE;cACdgB,UAAU,EAAEvC,KAAK,GACd,QAAQ,GACR;YACJ,CAAE,CACF;YACDkH,OAAO,EAAG3E,UAAU,KAAK;UAAU,CACnC;QAAC,CACa,CAChB,EACCP,MAAM,iBACP,IAAAxC,WAAA,CAAAyB,GAAA,EAACpC,WAAA,CAAA4H,4BAAc;UACdzF,KAAK,EAAG,IAAAuF,QAAE,EAAE,UAAW,CAAG;UAC1BM,gBAAgB;UAChBC,QAAQ,EAAGA,CAAA,KAAM,CAAC,CAAExE,GAAK;UACzByE,UAAU,EAAGA,CAAA,KACZxF,aAAa,CAAE;YACde,GAAG,EAAE;UACN,CAAE,CACF;UAAA2C,QAAA,eAED,IAAAzF,WAAA,CAAAyB,GAAA,EAACpC,WAAA,CAAAsI,WAAW;YACXC,qBAAqB;YACrBH,uBAAuB;YACvBjG,KAAK,EAAG,IAAAuF,QAAE,EAAE,UAAW,CAAG;YAC1BvG,KAAK,EAAGsC,GAAK;YACbrC,QAAQ,EAAKoH,MAAM,IAClB9F,aAAa,CAAE;cAAEe,GAAG,EAAE+E;YAAO,CAAE;UAC/B,CACD;QAAC,CACa,CAChB,EACC,CAAC,CAAE3D,KAAK,iBACT,IAAAlE,WAAA,CAAAyB,GAAA,EAACnB,2BAA2B;UAC3BC,KAAK,EAAG2D,KAAO;UACf1D,KAAK,EAAGqC,QAAU;UAClBpC,QAAQ,EAAKqH,YAAY,IACxB/F,aAAa,CAAE;YAAEc,QAAQ,EAAEiF;UAAa,CAAE;QAC1C,CACD,CACD;MAAA,CACU;IAAC,CACK,CACnB;EAAA,CACA,CACF;EAED,IAAIvH,KAAK;;EAET;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACC,IAAK,CAAEiD,aAAa,KAAMnB,uBAAuB,IAAI,CAAEJ,MAAM,CAAE,EAAG;IACjE,oBACC,IAAAjC,WAAA,CAAAyG,IAAA,EAAAzG,WAAA,CAAA0G,QAAA;MAAAjB,QAAA,GACGe,QAAQ,eACV,IAAAxG,WAAA,CAAAyG,IAAA;QAAA,GAAU/B,UAAU;QAAAe,QAAA,GACjB,CAAC,CAAEjD,MAAM,gBACV,IAAAxC,WAAA,CAAAyB,GAAA;UAAGsG,IAAI,EAAG5D,aAAe;UAAC6D,MAAM,EAAGjF,UAAY;UAAA0C,QAAA,EAC5CJ,WAAW,CAAC;QAAC,CACb,CAAC,GAEJA,WAAW,CAAC,CACZ,eACD,IAAArF,WAAA,CAAAyB,GAAA,EAAC5B,QAAA,CAAAgH,OAAO;UACP/E,UAAU,EAAGA,UAAY;UACzBC,aAAa,EAAGA,aAAe;UAC/BF,QAAQ,EAAGA;QAAU,CACrB,CAAC;MAAA,CACE,CAAC;IAAA,CACL,CAAC;EAEL;EAEA,MAAML,KAAK,GAAG,IAAAuF,QAAE,EAAE,sBAAuB,CAAC;EAC1C,MAAMkB,WAAW,GAAG;IACnB,GAAGlD,WAAW,CAACH,KAAK;IACpB,GAAGK,WAAW,CAACL,KAAK;IACpBlC,MAAM,EAAED,WAAW,GAAG,MAAM,GAAGC,MAAM;IACrCC,KAAK,EAAE,CAAC,CAAEF,WAAW,IAAI,MAAM;IAC/ByF,SAAS,EAAE,CAAC,EAAIxF,MAAM,IAAID,WAAW,CAAE,IAAIG;EAC5C,CAAC;;EAED;AACD;AACA;AACA;AACA;AACA;AACA;EACC,IAAK,CAAEY,aAAa,IAAI,CAAEP,YAAY,EAAG;IACxC1C,KAAK,gBACJ,IAAAP,WAAA,CAAAyB,GAAA,EAACnC,YAAA,CAAA6I,gBAAgB;MAChBC,QAAQ,EAAG1C,aAAe;MAC1B2C,MAAM,EAAC,SAAS;MAChBC,YAAY,EAAGrI,mBAAqB;MACpCsI,OAAO,EAAGpC,aAAe;MACzBd,WAAW,EAAGA,WAAa;MAC3BmD,kBAAkB,EAAGA,CAAE;QAAEC;MAAK,CAAC,KAAM;QACpC,oBACC,IAAAzI,WAAA,CAAAyB,GAAA,EAACpC,WAAA,CAAAqJ,MAAM;UACNd,qBAAqB;UACrBe,IAAI,EAAGC,aAAQ;UACfC,OAAO,EAAC,SAAS;UACjBrH,KAAK,EAAGA,KAAO;UACfsH,WAAW;UACXC,eAAe,EAAC,YAAY;UAC5BC,OAAO,EAAGA,CAAA,KAAM;YACfP,IAAI,CAAC,CAAC;UACP;QAAG,CACH,CAAC;MAEJ;IAAG,CACH,CACD;EACF,CAAC,MAAM;IACN;IACAlI,KAAK,GACJ,CAAE2D,KAAK,IAAI,CAAEjB,YAAY,GACxBoC,WAAW,CAAC,CAAC,gBAEb,IAAArF,WAAA,CAAAyG,IAAA,EAAAzG,WAAA,CAAA0G,QAAA;MAAAjB,QAAA,gBACC,IAAAzF,WAAA,CAAAyB,GAAA;QACCoD,SAAS,EAAGE,WAAW,CAACF,SAAW;QACnCoE,GAAG,EAAGhG,YAAY,IAAIwB,QAAU;QAChCyE,GAAG,EACFhF,KAAK,IAAIA,KAAK,EAAEiF,QAAQ,GACrB,IAAA/B,aAAO;QACP;QACA,IAAAL,QAAE,EAAE,oBAAqB,CAAC,EAC1B7C,KAAK,CAACiF,QACN,CAAC,GACD,IAAApC,QAAE,EAAE,gBAAiB,CACxB;QACDnC,KAAK,EAAGqD;MAAa,CACrB,CAAC,EACAhF,YAAY,iBAAI,IAAAjD,WAAA,CAAAyB,GAAA,EAACpC,WAAA,CAAA+J,OAAO,IAAE,CAAC;IAAA,CAC5B,CACF;EACH;;EAEA;AACD;AACA;AACA;AACA;AACA;EACC,oBACC,IAAApJ,WAAA,CAAAyG,IAAA,EAAAzG,WAAA,CAAA0G,QAAA;IAAAjB,QAAA,GACG,CAAExC,YAAY,IAAIuD,QAAQ,EAC1B,CAAC,CAAEtC,KAAK,IAAI,CAAE7B,uBAAuB,iBACtC,IAAArC,WAAA,CAAAyB,GAAA,EAACnC,YAAA,CAAA+J,aAAa;MAACzC,KAAK,EAAC,OAAO;MAAAnB,QAAA,eAC3B,IAAAzF,WAAA,CAAAyB,GAAA,EAACnC,YAAA,CAAAgK,gBAAgB;QAChBC,OAAO,EAAG/F,aAAe;QACzBgG,QAAQ,EAAG/E,QAAU;QACrB6D,YAAY,EAAGrI,mBAAqB;QACpCoI,MAAM,EAAC,SAAS;QAChBD,QAAQ,EAAG1C,aAAe;QAC1B6C,OAAO,EAAGpC,aAAe;QACzBsD,OAAO,EAAG5D;MAAc,CACxB;IAAC,CACY,CACf,eACD,IAAA7F,WAAA,CAAAyG,IAAA;MAAA,GAAa/B,UAAU;MAAAe,QAAA,GAEpB,CAAC,CAAEjD,MAAM,gBACV,IAAAxC,WAAA,CAAAyB,GAAA;QAAGsG,IAAI,EAAG5D,aAAe;QAAC6D,MAAM,EAAGjF,UAAY;QAAA0C,QAAA,EAC5ClF;MAAK,CACL,CAAC,GAEJA,KACA,eACD,IAAAP,WAAA,CAAAyB,GAAA,EAAC5B,QAAA,CAAAgH,OAAO;QACP/E,UAAU,EAAGA,UAAY;QACzBC,aAAa,EAAGA,aAAe;QAC/BF,QAAQ,EAAGA;MAAU,CACrB,CAAC;IAAA,CACK,CAAC;EAAA,CACR,CAAC;AAEL","ignoreList":[]}
@@ -10,6 +10,7 @@ var _blockEditor = require("@wordpress/block-editor");
10
10
  var _components = require("@wordpress/components");
11
11
  var _i18n = require("@wordpress/i18n");
12
12
  var _useArchiveLabel = require("./use-archive-label");
13
+ var _usePostTypeLabel = require("./use-post-type-label");
13
14
  var _hooks = require("../utils/hooks");
14
15
  var _jsxRuntime = require("react/jsx-runtime");
15
16
  /**
@@ -24,7 +25,7 @@ var _jsxRuntime = require("react/jsx-runtime");
24
25
  * Internal dependencies
25
26
  */
26
27
 
27
- const SUPPORTED_TYPES = ['archive', 'search'];
28
+ const SUPPORTED_TYPES = ['archive', 'search', 'post-type'];
28
29
  function QueryTitleEdit({
29
30
  attributes: {
30
31
  type,
@@ -34,12 +35,18 @@ function QueryTitleEdit({
34
35
  showPrefix,
35
36
  showSearchTerm
36
37
  },
37
- setAttributes
38
+ setAttributes,
39
+ context: {
40
+ query
41
+ }
38
42
  }) {
39
43
  const {
40
44
  archiveTypeLabel,
41
45
  archiveNameLabel
42
46
  } = (0, _useArchiveLabel.useArchiveLabel)();
47
+ const {
48
+ postTypeLabel
49
+ } = (0, _usePostTypeLabel.usePostTypeLabel)(query?.postType);
43
50
  const dropdownMenuProps = (0, _hooks.useToolsPanelDropdownMenuProps)();
44
51
  const TagName = `h${level}`;
45
52
  const blockProps = (0, _blockEditor.useBlockProps)({
@@ -139,6 +146,49 @@ function QueryTitleEdit({
139
146
  })]
140
147
  });
141
148
  }
149
+ if (type === 'post-type') {
150
+ let title;
151
+ if (postTypeLabel) {
152
+ if (showPrefix) {
153
+ title = (0, _i18n.sprintf)(/* translators: %s: Singular post type name of the queried object */
154
+ (0, _i18n.__)('Post Type: "%s"'), postTypeLabel);
155
+ } else {
156
+ title = postTypeLabel;
157
+ }
158
+ } else {
159
+ title = showPrefix ? (0, _i18n.__)('Post Type: Name') : (0, _i18n.__)('Name');
160
+ }
161
+ titleElement = /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
162
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_blockEditor.InspectorControls, {
163
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.__experimentalToolsPanel, {
164
+ label: (0, _i18n.__)('Settings'),
165
+ resetAll: () => setAttributes({
166
+ showPrefix: true
167
+ }),
168
+ dropdownMenuProps: dropdownMenuProps,
169
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.__experimentalToolsPanelItem, {
170
+ hasValue: () => !showPrefix,
171
+ label: (0, _i18n.__)('Show post type label'),
172
+ onDeselect: () => setAttributes({
173
+ showPrefix: true
174
+ }),
175
+ isShownByDefault: true,
176
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.ToggleControl, {
177
+ __nextHasNoMarginBottom: true,
178
+ label: (0, _i18n.__)('Show post type label'),
179
+ onChange: () => setAttributes({
180
+ showPrefix: !showPrefix
181
+ }),
182
+ checked: showPrefix
183
+ })
184
+ })
185
+ })
186
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(TagName, {
187
+ ...blockProps,
188
+ children: title
189
+ })]
190
+ });
191
+ }
142
192
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
143
193
  children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_blockEditor.BlockControls, {
144
194
  group: "block",
@@ -1 +1 @@
1
- {"version":3,"names":["_clsx","_interopRequireDefault","require","_blockEditor","_components","_i18n","_useArchiveLabel","_hooks","_jsxRuntime","SUPPORTED_TYPES","QueryTitleEdit","attributes","type","level","levelOptions","textAlign","showPrefix","showSearchTerm","setAttributes","archiveTypeLabel","archiveNameLabel","useArchiveLabel","dropdownMenuProps","useToolsPanelDropdownMenuProps","TagName","blockProps","useBlockProps","className","clsx","includes","jsx","children","Warning","__","titleElement","title","sprintf","_x","jsxs","Fragment","InspectorControls","__experimentalToolsPanel","label","resetAll","__experimentalToolsPanelItem","hasValue","onDeselect","isShownByDefault","ToggleControl","__nextHasNoMarginBottom","onChange","checked","BlockControls","group","HeadingLevelDropdown","value","options","newLevel","AlignmentControl","nextAlign"],"sources":["@wordpress/block-library/src/query-title/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tAlignmentControl,\n\tBlockControls,\n\tInspectorControls,\n\tuseBlockProps,\n\tWarning,\n\tHeadingLevelDropdown,\n} from '@wordpress/block-editor';\nimport {\n\tToggleControl,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport { __, _x, sprintf } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { useArchiveLabel } from './use-archive-label';\nimport { useToolsPanelDropdownMenuProps } from '../utils/hooks';\n\nconst SUPPORTED_TYPES = [ 'archive', 'search' ];\n\nexport default function QueryTitleEdit( {\n\tattributes: {\n\t\ttype,\n\t\tlevel,\n\t\tlevelOptions,\n\t\ttextAlign,\n\t\tshowPrefix,\n\t\tshowSearchTerm,\n\t},\n\tsetAttributes,\n} ) {\n\tconst { archiveTypeLabel, archiveNameLabel } = useArchiveLabel();\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\n\tconst TagName = `h${ level }`;\n\tconst blockProps = useBlockProps( {\n\t\tclassName: clsx( 'wp-block-query-title__placeholder', {\n\t\t\t[ `has-text-align-${ textAlign }` ]: textAlign,\n\t\t} ),\n\t} );\n\n\tif ( ! SUPPORTED_TYPES.includes( type ) ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<Warning>{ __( 'Provided type is not supported.' ) }</Warning>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tlet titleElement;\n\tif ( type === 'archive' ) {\n\t\tlet title;\n\t\tif ( archiveTypeLabel ) {\n\t\t\tif ( showPrefix ) {\n\t\t\t\tif ( archiveNameLabel ) {\n\t\t\t\t\ttitle = sprintf(\n\t\t\t\t\t\t/* translators: 1: Archive type title e.g: \"Category\", 2: Label of the archive e.g: \"Shoes\" */\n\t\t\t\t\t\t_x( '%1$s: %2$s', 'archive label' ),\n\t\t\t\t\t\tarchiveTypeLabel,\n\t\t\t\t\t\tarchiveNameLabel\n\t\t\t\t\t);\n\t\t\t\t} else {\n\t\t\t\t\ttitle = sprintf(\n\t\t\t\t\t\t/* translators: %s: Archive type title e.g: \"Category\", \"Tag\"... */\n\t\t\t\t\t\t__( '%s: Name' ),\n\t\t\t\t\t\tarchiveTypeLabel\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t} else if ( archiveNameLabel ) {\n\t\t\t\ttitle = archiveNameLabel;\n\t\t\t} else {\n\t\t\t\ttitle = sprintf(\n\t\t\t\t\t/* translators: %s: Archive type title e.g: \"Category\", \"Tag\"... */\n\t\t\t\t\t__( '%s name' ),\n\t\t\t\t\tarchiveTypeLabel\n\t\t\t\t);\n\t\t\t}\n\t\t} else {\n\t\t\ttitle = showPrefix\n\t\t\t\t? __( 'Archive type: Name' )\n\t\t\t\t: __( 'Archive title' );\n\t\t}\n\n\t\ttitleElement = (\n\t\t\t<>\n\t\t\t\t<InspectorControls>\n\t\t\t\t\t<ToolsPanel\n\t\t\t\t\t\tlabel={ __( 'Settings' ) }\n\t\t\t\t\t\tresetAll={ () =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tshowPrefix: true,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t\t\t\t>\n\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\thasValue={ () => ! showPrefix }\n\t\t\t\t\t\t\tlabel={ __( 'Show archive type in title' ) }\n\t\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( { showPrefix: true } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\tlabel={ __( 'Show archive type in title' ) }\n\t\t\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\tshowPrefix: ! showPrefix,\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\tchecked={ showPrefix }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t</ToolsPanel>\n\t\t\t\t</InspectorControls>\n\t\t\t\t<TagName { ...blockProps }>{ title }</TagName>\n\t\t\t</>\n\t\t);\n\t}\n\n\tif ( type === 'search' ) {\n\t\ttitleElement = (\n\t\t\t<>\n\t\t\t\t<InspectorControls>\n\t\t\t\t\t<ToolsPanel\n\t\t\t\t\t\tlabel={ __( 'Settings' ) }\n\t\t\t\t\t\tresetAll={ () =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tshowSearchTerm: true,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t\t\t\t>\n\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\thasValue={ () => ! showSearchTerm }\n\t\t\t\t\t\t\tlabel={ __( 'Show search term in title' ) }\n\t\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( { showSearchTerm: true } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\tlabel={ __( 'Show search term in title' ) }\n\t\t\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\tshowSearchTerm: ! showSearchTerm,\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\tchecked={ showSearchTerm }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t</ToolsPanel>\n\t\t\t\t</InspectorControls>\n\n\t\t\t\t<TagName { ...blockProps }>\n\t\t\t\t\t{ showSearchTerm\n\t\t\t\t\t\t? __( 'Search results for: “search term”' )\n\t\t\t\t\t\t: __( 'Search results' ) }\n\t\t\t\t</TagName>\n\t\t\t</>\n\t\t);\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<BlockControls group=\"block\">\n\t\t\t\t<HeadingLevelDropdown\n\t\t\t\t\tvalue={ level }\n\t\t\t\t\toptions={ levelOptions }\n\t\t\t\t\tonChange={ ( newLevel ) =>\n\t\t\t\t\t\tsetAttributes( { level: newLevel } )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t\t<AlignmentControl\n\t\t\t\t\tvalue={ textAlign }\n\t\t\t\t\tonChange={ ( nextAlign ) => {\n\t\t\t\t\t\tsetAttributes( { textAlign: nextAlign } );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t</BlockControls>\n\t\t\t{ titleElement }\n\t\t</>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_clsx","_interopRequireDefault","require","_blockEditor","_components","_i18n","_useArchiveLabel","_usePostTypeLabel","_hooks","_jsxRuntime","SUPPORTED_TYPES","QueryTitleEdit","attributes","type","level","levelOptions","textAlign","showPrefix","showSearchTerm","setAttributes","context","query","archiveTypeLabel","archiveNameLabel","useArchiveLabel","postTypeLabel","usePostTypeLabel","postType","dropdownMenuProps","useToolsPanelDropdownMenuProps","TagName","blockProps","useBlockProps","className","clsx","includes","jsx","children","Warning","__","titleElement","title","sprintf","_x","jsxs","Fragment","InspectorControls","__experimentalToolsPanel","label","resetAll","__experimentalToolsPanelItem","hasValue","onDeselect","isShownByDefault","ToggleControl","__nextHasNoMarginBottom","onChange","checked","BlockControls","group","HeadingLevelDropdown","value","options","newLevel","AlignmentControl","nextAlign"],"sources":["@wordpress/block-library/src/query-title/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tAlignmentControl,\n\tBlockControls,\n\tInspectorControls,\n\tuseBlockProps,\n\tWarning,\n\tHeadingLevelDropdown,\n} from '@wordpress/block-editor';\nimport {\n\tToggleControl,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport { __, _x, sprintf } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { useArchiveLabel } from './use-archive-label';\nimport { usePostTypeLabel } from './use-post-type-label';\nimport { useToolsPanelDropdownMenuProps } from '../utils/hooks';\n\nconst SUPPORTED_TYPES = [ 'archive', 'search', 'post-type' ];\n\nexport default function QueryTitleEdit( {\n\tattributes: {\n\t\ttype,\n\t\tlevel,\n\t\tlevelOptions,\n\t\ttextAlign,\n\t\tshowPrefix,\n\t\tshowSearchTerm,\n\t},\n\tsetAttributes,\n\tcontext: { query },\n} ) {\n\tconst { archiveTypeLabel, archiveNameLabel } = useArchiveLabel();\n\tconst { postTypeLabel } = usePostTypeLabel( query?.postType );\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\n\tconst TagName = `h${ level }`;\n\tconst blockProps = useBlockProps( {\n\t\tclassName: clsx( 'wp-block-query-title__placeholder', {\n\t\t\t[ `has-text-align-${ textAlign }` ]: textAlign,\n\t\t} ),\n\t} );\n\n\tif ( ! SUPPORTED_TYPES.includes( type ) ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<Warning>{ __( 'Provided type is not supported.' ) }</Warning>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tlet titleElement;\n\tif ( type === 'archive' ) {\n\t\tlet title;\n\t\tif ( archiveTypeLabel ) {\n\t\t\tif ( showPrefix ) {\n\t\t\t\tif ( archiveNameLabel ) {\n\t\t\t\t\ttitle = sprintf(\n\t\t\t\t\t\t/* translators: 1: Archive type title e.g: \"Category\", 2: Label of the archive e.g: \"Shoes\" */\n\t\t\t\t\t\t_x( '%1$s: %2$s', 'archive label' ),\n\t\t\t\t\t\tarchiveTypeLabel,\n\t\t\t\t\t\tarchiveNameLabel\n\t\t\t\t\t);\n\t\t\t\t} else {\n\t\t\t\t\ttitle = sprintf(\n\t\t\t\t\t\t/* translators: %s: Archive type title e.g: \"Category\", \"Tag\"... */\n\t\t\t\t\t\t__( '%s: Name' ),\n\t\t\t\t\t\tarchiveTypeLabel\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t} else if ( archiveNameLabel ) {\n\t\t\t\ttitle = archiveNameLabel;\n\t\t\t} else {\n\t\t\t\ttitle = sprintf(\n\t\t\t\t\t/* translators: %s: Archive type title e.g: \"Category\", \"Tag\"... */\n\t\t\t\t\t__( '%s name' ),\n\t\t\t\t\tarchiveTypeLabel\n\t\t\t\t);\n\t\t\t}\n\t\t} else {\n\t\t\ttitle = showPrefix\n\t\t\t\t? __( 'Archive type: Name' )\n\t\t\t\t: __( 'Archive title' );\n\t\t}\n\n\t\ttitleElement = (\n\t\t\t<>\n\t\t\t\t<InspectorControls>\n\t\t\t\t\t<ToolsPanel\n\t\t\t\t\t\tlabel={ __( 'Settings' ) }\n\t\t\t\t\t\tresetAll={ () =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tshowPrefix: true,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t\t\t\t>\n\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\thasValue={ () => ! showPrefix }\n\t\t\t\t\t\t\tlabel={ __( 'Show archive type in title' ) }\n\t\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( { showPrefix: true } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\tlabel={ __( 'Show archive type in title' ) }\n\t\t\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\tshowPrefix: ! showPrefix,\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\tchecked={ showPrefix }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t</ToolsPanel>\n\t\t\t\t</InspectorControls>\n\t\t\t\t<TagName { ...blockProps }>{ title }</TagName>\n\t\t\t</>\n\t\t);\n\t}\n\n\tif ( type === 'search' ) {\n\t\ttitleElement = (\n\t\t\t<>\n\t\t\t\t<InspectorControls>\n\t\t\t\t\t<ToolsPanel\n\t\t\t\t\t\tlabel={ __( 'Settings' ) }\n\t\t\t\t\t\tresetAll={ () =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tshowSearchTerm: true,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t\t\t\t>\n\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\thasValue={ () => ! showSearchTerm }\n\t\t\t\t\t\t\tlabel={ __( 'Show search term in title' ) }\n\t\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( { showSearchTerm: true } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\tlabel={ __( 'Show search term in title' ) }\n\t\t\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\tshowSearchTerm: ! showSearchTerm,\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\tchecked={ showSearchTerm }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t</ToolsPanel>\n\t\t\t\t</InspectorControls>\n\n\t\t\t\t<TagName { ...blockProps }>\n\t\t\t\t\t{ showSearchTerm\n\t\t\t\t\t\t? __( 'Search results for: “search term”' )\n\t\t\t\t\t\t: __( 'Search results' ) }\n\t\t\t\t</TagName>\n\t\t\t</>\n\t\t);\n\t}\n\n\tif ( type === 'post-type' ) {\n\t\tlet title;\n\t\tif ( postTypeLabel ) {\n\t\t\tif ( showPrefix ) {\n\t\t\t\ttitle = sprintf(\n\t\t\t\t\t/* translators: %s: Singular post type name of the queried object */\n\t\t\t\t\t__( 'Post Type: \"%s\"' ),\n\t\t\t\t\tpostTypeLabel\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\ttitle = postTypeLabel;\n\t\t\t}\n\t\t} else {\n\t\t\ttitle = showPrefix ? __( 'Post Type: Name' ) : __( 'Name' );\n\t\t}\n\n\t\ttitleElement = (\n\t\t\t<>\n\t\t\t\t<InspectorControls>\n\t\t\t\t\t<ToolsPanel\n\t\t\t\t\t\tlabel={ __( 'Settings' ) }\n\t\t\t\t\t\tresetAll={ () =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tshowPrefix: true,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t\t\t\t>\n\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\thasValue={ () => ! showPrefix }\n\t\t\t\t\t\t\tlabel={ __( 'Show post type label' ) }\n\t\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( { showPrefix: true } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\tlabel={ __( 'Show post type label' ) }\n\t\t\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\tshowPrefix: ! showPrefix,\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\tchecked={ showPrefix }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t</ToolsPanel>\n\t\t\t\t</InspectorControls>\n\t\t\t\t<TagName { ...blockProps }>{ title }</TagName>\n\t\t\t</>\n\t\t);\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<BlockControls group=\"block\">\n\t\t\t\t<HeadingLevelDropdown\n\t\t\t\t\tvalue={ level }\n\t\t\t\t\toptions={ levelOptions }\n\t\t\t\t\tonChange={ ( newLevel ) =>\n\t\t\t\t\t\tsetAttributes( { level: newLevel } )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t\t<AlignmentControl\n\t\t\t\t\tvalue={ textAlign }\n\t\t\t\t\tonChange={ ( nextAlign ) => {\n\t\t\t\t\t\tsetAttributes( { textAlign: nextAlign } );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t</BlockControls>\n\t\t\t{ titleElement }\n\t\t</>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
@@ -52,6 +52,7 @@ const metadata = exports.metadata = {
52
52
  type: "search"
53
53
  }
54
54
  },
55
+ usesContext: ["query"],
55
56
  supports: {
56
57
  align: ["wide", "full"],
57
58
  html: false,
@@ -1 +1 @@
1
- {"version":3,"names":["_icons","require","_initBlock","_interopRequireDefault","_edit","_variations","_deprecated","metadata","exports","$schema","apiVersion","name","title","category","description","textdomain","attributes","type","textAlign","level","levelOptions","showPrefix","showSearchTerm","example","supports","align","html","color","gradients","__experimentalDefaultControls","background","text","spacing","margin","padding","typography","fontSize","lineHeight","__experimentalFontFamily","__experimentalFontStyle","__experimentalFontWeight","__experimentalLetterSpacing","__experimentalTextTransform","__experimentalTextDecoration","interactivity","clientNavigation","__experimentalBorder","radius","width","style","settings","icon","edit","variations","deprecated","init","initBlock"],"sources":["@wordpress/block-library/src/query-title/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { title as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport metadata from './block.json';\nimport edit from './edit';\nimport variations from './variations';\nimport deprecated from './deprecated';\n\nconst { name } = metadata;\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\tedit,\n\tvariations,\n\tdeprecated,\n};\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"],"mappings":";;;;;;;AAGA,IAAAA,MAAA,GAAAC,OAAA;AAKA,IAAAC,UAAA,GAAAC,sBAAA,CAAAF,OAAA;AAEA,IAAAG,KAAA,GAAAD,sBAAA,CAAAF,OAAA;AACA,IAAAI,WAAA,GAAAF,sBAAA,CAAAF,OAAA;AACA,IAAAK,WAAA,GAAAH,sBAAA,CAAAF,OAAA;AAZA;AACA;AACA;AAGA;AACA;AACA;AAFA,MAAAM,QAAA,GAAAC,OAAA,CAAAD,QAAA;EAAAE,OAAA;EAAAC,UAAA;EAAAC,IAAA;EAAAC,KAAA;EAAAC,QAAA;EAAAC,WAAA;EAAAC,UAAA;EAAAC,UAAA;IAAAC,IAAA;MAAAA,IAAA;IAAA;IAAAC,SAAA;MAAAD,IAAA;IAAA;IAAAE,KAAA;MAAAF,IAAA;MAAA;IAAA;IAAAG,YAAA;MAAAH,IAAA;IAAA;IAAAI,UAAA;MAAAJ,IAAA;MAAA;IAAA;IAAAK,cAAA;MAAAL,IAAA;MAAA;IAAA;EAAA;EAAAM,OAAA;IAAAP,UAAA;MAAAC,IAAA;IAAA;EAAA;EAAAO,QAAA;IAAAC,KAAA;IAAAC,IAAA;IAAAC,KAAA;MAAAC,SAAA;MAAAC,6BAAA;QAAAC,UAAA;QAAAC,IAAA;MAAA;IAAA;IAAAC,OAAA;MAAAC,MAAA;MAAAC,OAAA;IAAA;IAAAC,UAAA;MAAAC,QAAA;MAAAC,UAAA;MAAAC,wBAAA;MAAAC,uBAAA;MAAAC,wBAAA;MAAAC,2BAAA;MAAAC,2BAAA;MAAAC,4BAAA;MAAAd,6BAAA;QAAAO,QAAA;MAAA;IAAA;IAAAQ,aAAA;MAAAC,gBAAA;IAAA;IAAAC,oBAAA;MAAAC,MAAA;MAAApB,KAAA;MAAAqB,KAAA;MAAAC,KAAA;MAAApB,6BAAA;QAAAkB,MAAA;QAAApB,KAAA;QAAAqB,KAAA;QAAAC,KAAA;MAAA;IAAA;EAAA;EAAAA,KAAA;AAAA;AASA,MAAM;EAAEtC;AAAK,CAAC,GAAGJ,QAAQ;AAACC,OAAA,CAAAG,IAAA,GAAAA,IAAA;AAGnB,MAAMuC,QAAQ,GAAA1C,OAAA,CAAA0C,QAAA,GAAG;EACvBC,IAAI,EAAJA,YAAI;EACJC,IAAI,EAAJA,aAAI;EACJC,UAAU,EAAVA,mBAAU;EACVC,UAAU,EAAVA;AACD,CAAC;AAEM,MAAMC,IAAI,GAAGA,CAAA,KAAM,IAAAC,kBAAS,EAAE;EAAE7C,IAAI;EAAEJ,QAAQ;EAAE2C;AAAS,CAAE,CAAC;AAAC1C,OAAA,CAAA+C,IAAA,GAAAA,IAAA","ignoreList":[]}
1
+ {"version":3,"names":["_icons","require","_initBlock","_interopRequireDefault","_edit","_variations","_deprecated","metadata","exports","$schema","apiVersion","name","title","category","description","textdomain","attributes","type","textAlign","level","levelOptions","showPrefix","showSearchTerm","example","usesContext","supports","align","html","color","gradients","__experimentalDefaultControls","background","text","spacing","margin","padding","typography","fontSize","lineHeight","__experimentalFontFamily","__experimentalFontStyle","__experimentalFontWeight","__experimentalLetterSpacing","__experimentalTextTransform","__experimentalTextDecoration","interactivity","clientNavigation","__experimentalBorder","radius","width","style","settings","icon","edit","variations","deprecated","init","initBlock"],"sources":["@wordpress/block-library/src/query-title/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { title as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport metadata from './block.json';\nimport edit from './edit';\nimport variations from './variations';\nimport deprecated from './deprecated';\n\nconst { name } = metadata;\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\tedit,\n\tvariations,\n\tdeprecated,\n};\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"],"mappings":";;;;;;;AAGA,IAAAA,MAAA,GAAAC,OAAA;AAKA,IAAAC,UAAA,GAAAC,sBAAA,CAAAF,OAAA;AAEA,IAAAG,KAAA,GAAAD,sBAAA,CAAAF,OAAA;AACA,IAAAI,WAAA,GAAAF,sBAAA,CAAAF,OAAA;AACA,IAAAK,WAAA,GAAAH,sBAAA,CAAAF,OAAA;AAZA;AACA;AACA;AAGA;AACA;AACA;AAFA,MAAAM,QAAA,GAAAC,OAAA,CAAAD,QAAA;EAAAE,OAAA;EAAAC,UAAA;EAAAC,IAAA;EAAAC,KAAA;EAAAC,QAAA;EAAAC,WAAA;EAAAC,UAAA;EAAAC,UAAA;IAAAC,IAAA;MAAAA,IAAA;IAAA;IAAAC,SAAA;MAAAD,IAAA;IAAA;IAAAE,KAAA;MAAAF,IAAA;MAAA;IAAA;IAAAG,YAAA;MAAAH,IAAA;IAAA;IAAAI,UAAA;MAAAJ,IAAA;MAAA;IAAA;IAAAK,cAAA;MAAAL,IAAA;MAAA;IAAA;EAAA;EAAAM,OAAA;IAAAP,UAAA;MAAAC,IAAA;IAAA;EAAA;EAAAO,WAAA;EAAAC,QAAA;IAAAC,KAAA;IAAAC,IAAA;IAAAC,KAAA;MAAAC,SAAA;MAAAC,6BAAA;QAAAC,UAAA;QAAAC,IAAA;MAAA;IAAA;IAAAC,OAAA;MAAAC,MAAA;MAAAC,OAAA;IAAA;IAAAC,UAAA;MAAAC,QAAA;MAAAC,UAAA;MAAAC,wBAAA;MAAAC,uBAAA;MAAAC,wBAAA;MAAAC,2BAAA;MAAAC,2BAAA;MAAAC,4BAAA;MAAAd,6BAAA;QAAAO,QAAA;MAAA;IAAA;IAAAQ,aAAA;MAAAC,gBAAA;IAAA;IAAAC,oBAAA;MAAAC,MAAA;MAAApB,KAAA;MAAAqB,KAAA;MAAAC,KAAA;MAAApB,6BAAA;QAAAkB,MAAA;QAAApB,KAAA;QAAAqB,KAAA;QAAAC,KAAA;MAAA;IAAA;EAAA;EAAAA,KAAA;AAAA;AASA,MAAM;EAAEvC;AAAK,CAAC,GAAGJ,QAAQ;AAACC,OAAA,CAAAG,IAAA,GAAAA,IAAA;AAGnB,MAAMwC,QAAQ,GAAA3C,OAAA,CAAA2C,QAAA,GAAG;EACvBC,IAAI,EAAJA,YAAI;EACJC,IAAI,EAAJA,aAAI;EACJC,UAAU,EAAVA,mBAAU;EACVC,UAAU,EAAVA;AACD,CAAC;AAEM,MAAMC,IAAI,GAAGA,CAAA,KAAM,IAAAC,kBAAS,EAAE;EAAE9C,IAAI;EAAEJ,QAAQ;EAAE4C;AAAS,CAAE,CAAC;AAAC3C,OAAA,CAAAgD,IAAA,GAAAA,IAAA","ignoreList":[]}
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.usePostTypeLabel = usePostTypeLabel;
7
+ var _coreData = require("@wordpress/core-data");
8
+ var _data = require("@wordpress/data");
9
+ /**
10
+ * WordPress dependencies
11
+ */
12
+
13
+ /**
14
+ * Hook to fetch the singular label for the current post type.
15
+ *
16
+ * @param {string} contextPostType Context provided post type.
17
+ */
18
+ function usePostTypeLabel(contextPostType) {
19
+ const currentPostType = (0, _data.useSelect)(select => {
20
+ // Access core/editor by string to avoid @wordpress/editor dependency.
21
+ // eslint-disable-next-line @wordpress/data-no-store-string-literals
22
+ const {
23
+ getCurrentPostType
24
+ } = select('core/editor');
25
+ return getCurrentPostType();
26
+ }, []);
27
+
28
+ // Fetch the post type label from the core data store
29
+ return (0, _data.useSelect)(select => {
30
+ const {
31
+ getPostType
32
+ } = select(_coreData.store);
33
+ const postTypeSlug = contextPostType || currentPostType;
34
+ const postType = getPostType(postTypeSlug);
35
+
36
+ // Return the singular name of the post type
37
+ return {
38
+ postTypeLabel: postType ? postType.labels.singular_name : ''
39
+ };
40
+ }, [contextPostType, currentPostType]);
41
+ }
42
+ //# sourceMappingURL=use-post-type-label.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_coreData","require","_data","usePostTypeLabel","contextPostType","currentPostType","useSelect","select","getCurrentPostType","getPostType","coreStore","postTypeSlug","postType","postTypeLabel","labels","singular_name"],"sources":["@wordpress/block-library/src/query-title/use-post-type-label.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Hook to fetch the singular label for the current post type.\n *\n * @param {string} contextPostType Context provided post type.\n */\nexport function usePostTypeLabel( contextPostType ) {\n\tconst currentPostType = useSelect( ( select ) => {\n\t\t// Access core/editor by string to avoid @wordpress/editor dependency.\n\t\t// eslint-disable-next-line @wordpress/data-no-store-string-literals\n\t\tconst { getCurrentPostType } = select( 'core/editor' );\n\t\treturn getCurrentPostType();\n\t}, [] );\n\n\t// Fetch the post type label from the core data store\n\treturn useSelect(\n\t\t( select ) => {\n\t\t\tconst { getPostType } = select( coreStore );\n\t\t\tconst postTypeSlug = contextPostType || currentPostType;\n\t\t\tconst postType = getPostType( postTypeSlug );\n\n\t\t\t// Return the singular name of the post type\n\t\t\treturn {\n\t\t\t\tpostTypeLabel: postType ? postType.labels.singular_name : '',\n\t\t\t};\n\t\t},\n\t\t[ contextPostType, currentPostType ]\n\t);\n}\n"],"mappings":";;;;;;AAGA,IAAAA,SAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AAJA;AACA;AACA;;AAIA;AACA;AACA;AACA;AACA;AACO,SAASE,gBAAgBA,CAAEC,eAAe,EAAG;EACnD,MAAMC,eAAe,GAAG,IAAAC,eAAS,EAAIC,MAAM,IAAM;IAChD;IACA;IACA,MAAM;MAAEC;IAAmB,CAAC,GAAGD,MAAM,CAAE,aAAc,CAAC;IACtD,OAAOC,kBAAkB,CAAC,CAAC;EAC5B,CAAC,EAAE,EAAG,CAAC;;EAEP;EACA,OAAO,IAAAF,eAAS,EACbC,MAAM,IAAM;IACb,MAAM;MAAEE;IAAY,CAAC,GAAGF,MAAM,CAAEG,eAAU,CAAC;IAC3C,MAAMC,YAAY,GAAGP,eAAe,IAAIC,eAAe;IACvD,MAAMO,QAAQ,GAAGH,WAAW,CAAEE,YAAa,CAAC;;IAE5C;IACA,OAAO;MACNE,aAAa,EAAED,QAAQ,GAAGA,QAAQ,CAACE,MAAM,CAACC,aAAa,GAAG;IAC3D,CAAC;EACF,CAAC,EACD,CAAEX,eAAe,EAAEC,eAAe,CACnC,CAAC;AACF","ignoreList":[]}
@@ -30,6 +30,16 @@ const variations = [{
30
30
  type: 'search'
31
31
  },
32
32
  scope: ['inserter']
33
+ }, {
34
+ isDefault: false,
35
+ name: 'post-type-label',
36
+ title: (0, _i18n.__)('Post Type Label'),
37
+ description: (0, _i18n.__)('Display the post type label based on the queried object.'),
38
+ icon: _icons.title,
39
+ attributes: {
40
+ type: 'post-type'
41
+ },
42
+ scope: ['inserter']
33
43
  }];
34
44
 
35
45
  /**
@@ -1 +1 @@
1
- {"version":3,"names":["_i18n","require","_icons","variations","isDefault","name","title","__","description","icon","attributes","type","scope","forEach","variation","isActive","blockAttributes","variationAttributes","_default","exports","default"],"sources":["@wordpress/block-library/src/query-title/variations.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { title } from '@wordpress/icons';\nconst variations = [\n\t{\n\t\tisDefault: true,\n\t\tname: 'archive-title',\n\t\ttitle: __( 'Archive Title' ),\n\t\tdescription: __(\n\t\t\t'Display the archive title based on the queried object.'\n\t\t),\n\t\ticon: title,\n\t\tattributes: {\n\t\t\ttype: 'archive',\n\t\t},\n\t\tscope: [ 'inserter' ],\n\t},\n\t{\n\t\tisDefault: false,\n\t\tname: 'search-title',\n\t\ttitle: __( 'Search Results Title' ),\n\t\tdescription: __(\n\t\t\t'Display the search results title based on the queried object.'\n\t\t),\n\t\ticon: title,\n\t\tattributes: {\n\t\t\ttype: 'search',\n\t\t},\n\t\tscope: [ 'inserter' ],\n\t},\n];\n\n/**\n * Add `isActive` function to all `query-title` variations, if not defined.\n * `isActive` function is used to find a variation match from a created\n * Block by providing its attributes.\n */\nvariations.forEach( ( variation ) => {\n\tif ( variation.isActive ) {\n\t\treturn;\n\t}\n\tvariation.isActive = ( blockAttributes, variationAttributes ) =>\n\t\tblockAttributes.type === variationAttributes.type;\n} );\n\nexport default variations;\n"],"mappings":";;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AAJA;AACA;AACA;;AAGA,MAAME,UAAU,GAAG,CAClB;EACCC,SAAS,EAAE,IAAI;EACfC,IAAI,EAAE,eAAe;EACrBC,KAAK,EAAE,IAAAC,QAAE,EAAE,eAAgB,CAAC;EAC5BC,WAAW,EAAE,IAAAD,QAAE,EACd,wDACD,CAAC;EACDE,IAAI,EAAEH,YAAK;EACXI,UAAU,EAAE;IACXC,IAAI,EAAE;EACP,CAAC;EACDC,KAAK,EAAE,CAAE,UAAU;AACpB,CAAC,EACD;EACCR,SAAS,EAAE,KAAK;EAChBC,IAAI,EAAE,cAAc;EACpBC,KAAK,EAAE,IAAAC,QAAE,EAAE,sBAAuB,CAAC;EACnCC,WAAW,EAAE,IAAAD,QAAE,EACd,+DACD,CAAC;EACDE,IAAI,EAAEH,YAAK;EACXI,UAAU,EAAE;IACXC,IAAI,EAAE;EACP,CAAC;EACDC,KAAK,EAAE,CAAE,UAAU;AACpB,CAAC,CACD;;AAED;AACA;AACA;AACA;AACA;AACAT,UAAU,CAACU,OAAO,CAAIC,SAAS,IAAM;EACpC,IAAKA,SAAS,CAACC,QAAQ,EAAG;IACzB;EACD;EACAD,SAAS,CAACC,QAAQ,GAAG,CAAEC,eAAe,EAAEC,mBAAmB,KAC1DD,eAAe,CAACL,IAAI,KAAKM,mBAAmB,CAACN,IAAI;AACnD,CAAE,CAAC;AAAC,IAAAO,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEWjB,UAAU","ignoreList":[]}
1
+ {"version":3,"names":["_i18n","require","_icons","variations","isDefault","name","title","__","description","icon","attributes","type","scope","forEach","variation","isActive","blockAttributes","variationAttributes","_default","exports","default"],"sources":["@wordpress/block-library/src/query-title/variations.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { title } from '@wordpress/icons';\nconst variations = [\n\t{\n\t\tisDefault: true,\n\t\tname: 'archive-title',\n\t\ttitle: __( 'Archive Title' ),\n\t\tdescription: __(\n\t\t\t'Display the archive title based on the queried object.'\n\t\t),\n\t\ticon: title,\n\t\tattributes: {\n\t\t\ttype: 'archive',\n\t\t},\n\t\tscope: [ 'inserter' ],\n\t},\n\t{\n\t\tisDefault: false,\n\t\tname: 'search-title',\n\t\ttitle: __( 'Search Results Title' ),\n\t\tdescription: __(\n\t\t\t'Display the search results title based on the queried object.'\n\t\t),\n\t\ticon: title,\n\t\tattributes: {\n\t\t\ttype: 'search',\n\t\t},\n\t\tscope: [ 'inserter' ],\n\t},\n\t{\n\t\tisDefault: false,\n\t\tname: 'post-type-label',\n\t\ttitle: __( 'Post Type Label' ),\n\t\tdescription: __(\n\t\t\t'Display the post type label based on the queried object.'\n\t\t),\n\t\ticon: title,\n\t\tattributes: {\n\t\t\ttype: 'post-type',\n\t\t},\n\t\tscope: [ 'inserter' ],\n\t},\n];\n\n/**\n * Add `isActive` function to all `query-title` variations, if not defined.\n * `isActive` function is used to find a variation match from a created\n * Block by providing its attributes.\n */\nvariations.forEach( ( variation ) => {\n\tif ( variation.isActive ) {\n\t\treturn;\n\t}\n\tvariation.isActive = ( blockAttributes, variationAttributes ) =>\n\t\tblockAttributes.type === variationAttributes.type;\n} );\n\nexport default variations;\n"],"mappings":";;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AAJA;AACA;AACA;;AAGA,MAAME,UAAU,GAAG,CAClB;EACCC,SAAS,EAAE,IAAI;EACfC,IAAI,EAAE,eAAe;EACrBC,KAAK,EAAE,IAAAC,QAAE,EAAE,eAAgB,CAAC;EAC5BC,WAAW,EAAE,IAAAD,QAAE,EACd,wDACD,CAAC;EACDE,IAAI,EAAEH,YAAK;EACXI,UAAU,EAAE;IACXC,IAAI,EAAE;EACP,CAAC;EACDC,KAAK,EAAE,CAAE,UAAU;AACpB,CAAC,EACD;EACCR,SAAS,EAAE,KAAK;EAChBC,IAAI,EAAE,cAAc;EACpBC,KAAK,EAAE,IAAAC,QAAE,EAAE,sBAAuB,CAAC;EACnCC,WAAW,EAAE,IAAAD,QAAE,EACd,+DACD,CAAC;EACDE,IAAI,EAAEH,YAAK;EACXI,UAAU,EAAE;IACXC,IAAI,EAAE;EACP,CAAC;EACDC,KAAK,EAAE,CAAE,UAAU;AACpB,CAAC,EACD;EACCR,SAAS,EAAE,KAAK;EAChBC,IAAI,EAAE,iBAAiB;EACvBC,KAAK,EAAE,IAAAC,QAAE,EAAE,iBAAkB,CAAC;EAC9BC,WAAW,EAAE,IAAAD,QAAE,EACd,0DACD,CAAC;EACDE,IAAI,EAAEH,YAAK;EACXI,UAAU,EAAE;IACXC,IAAI,EAAE;EACP,CAAC;EACDC,KAAK,EAAE,CAAE,UAAU;AACpB,CAAC,CACD;;AAED;AACA;AACA;AACA;AACA;AACAT,UAAU,CAACU,OAAO,CAAIC,SAAS,IAAM;EACpC,IAAKA,SAAS,CAACC,QAAQ,EAAG;IACzB;EACD;EACAD,SAAS,CAACC,QAAQ,GAAG,CAAEC,eAAe,EAAEC,mBAAmB,KAC1DD,eAAe,CAACL,IAAI,KAAKM,mBAAmB,CAACN,IAAI;AACnD,CAAE,CAAC;AAAC,IAAAO,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEWjB,UAAU","ignoreList":[]}
@@ -65,6 +65,12 @@ const SiteLogo = ({
65
65
  toggleSelection
66
66
  } = (0, _data.useDispatch)(_blockEditor.store);
67
67
  const dropdownMenuProps = (0, _hooks.useToolsPanelDropdownMenuProps)();
68
+
69
+ // Check if we're in contentOnly mode
70
+ const blockEditingMode = (0, _blockEditor.useBlockEditingMode)();
71
+ const isNavigationMode = (0, _data.useSelect)(select => select(_blockEditor.store).isNavigationMode(), []);
72
+ const isContentOnlyMode = blockEditingMode === 'contentOnly';
73
+ const isContentOnlyWriteMode = isNavigationMode && isContentOnlyMode;
68
74
  const {
69
75
  imageEditing,
70
76
  maxWidth,
@@ -189,46 +195,55 @@ const SiteLogo = ({
189
195
  /* eslint-enable no-lonely-if */
190
196
 
191
197
  const canEditImage = logoId && naturalWidth && naturalHeight && imageEditing;
192
- const imgEdit = canEditImage && isEditingImage ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_blockEditor.__experimentalImageEditor, {
193
- id: logoId,
194
- url: logoUrl,
195
- width: currentWidth,
196
- height: currentHeight,
197
- naturalHeight: naturalHeight,
198
- naturalWidth: naturalWidth,
199
- onSaveImage: imageAttributes => {
200
- setLogo(imageAttributes.id);
201
- },
202
- onFinishEditing: () => {
203
- setIsEditingImage(false);
204
- }
205
- }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.ResizableBox, {
206
- size: {
198
+
199
+ // Hide crop and dimensions editing in write mode
200
+ const shouldShowCropAndDimensions = !isContentOnlyWriteMode;
201
+ let imgEdit;
202
+ if (canEditImage && isEditingImage) {
203
+ imgEdit = /*#__PURE__*/(0, _jsxRuntime.jsx)(_blockEditor.__experimentalImageEditor, {
204
+ id: logoId,
205
+ url: logoUrl,
207
206
  width: currentWidth,
208
- height: currentHeight
209
- },
210
- showHandle: isSelected,
211
- minWidth: minWidth,
212
- maxWidth: maxWidthBuffer,
213
- minHeight: minHeight,
214
- maxHeight: maxWidthBuffer / ratio,
215
- lockAspectRatio: true,
216
- enable: {
217
- top: false,
218
- right: showRightHandle,
219
- bottom: true,
220
- left: showLeftHandle
221
- },
222
- onResizeStart: onResizeStart,
223
- onResizeStop: (event, direction, elt, delta) => {
224
- onResizeStop();
225
- setAttributes({
226
- width: parseInt(currentWidth + delta.width, 10),
227
- height: parseInt(currentHeight + delta.height, 10)
228
- });
229
- },
230
- children: imgWrapper
231
- });
207
+ height: currentHeight,
208
+ naturalHeight: naturalHeight,
209
+ naturalWidth: naturalWidth,
210
+ onSaveImage: imageAttributes => {
211
+ setLogo(imageAttributes.id);
212
+ },
213
+ onFinishEditing: () => {
214
+ setIsEditingImage(false);
215
+ }
216
+ });
217
+ } else {
218
+ // Always render ResizableBox but disable resize functionality in contentOnly mode
219
+ imgEdit = /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.ResizableBox, {
220
+ size: {
221
+ width: currentWidth,
222
+ height: currentHeight
223
+ },
224
+ showHandle: isSelected && shouldShowCropAndDimensions,
225
+ minWidth: minWidth,
226
+ maxWidth: maxWidthBuffer,
227
+ minHeight: minHeight,
228
+ maxHeight: maxWidthBuffer / ratio,
229
+ lockAspectRatio: true,
230
+ enable: {
231
+ top: false,
232
+ right: showRightHandle,
233
+ bottom: true,
234
+ left: showLeftHandle
235
+ },
236
+ onResizeStart: onResizeStart,
237
+ onResizeStop: (event, direction, elt, delta) => {
238
+ onResizeStop();
239
+ setAttributes({
240
+ width: parseInt(currentWidth + delta.width, 10),
241
+ height: parseInt(currentHeight + delta.height, 10)
242
+ });
243
+ },
244
+ children: imgWrapper
245
+ });
246
+ }
232
247
 
233
248
  // Support the previous location for the Site Icon settings. To be removed
234
249
  // when the required WP core version for Gutenberg is >= 6.5.0.
@@ -323,9 +338,9 @@ const SiteLogo = ({
323
338
  })
324
339
  })]
325
340
  })
326
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_blockEditor.BlockControls, {
341
+ }), canEditImage && !isEditingImage && shouldShowCropAndDimensions && /*#__PURE__*/(0, _jsxRuntime.jsx)(_blockEditor.BlockControls, {
327
342
  group: "block",
328
- children: canEditImage && !isEditingImage && /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.ToolbarButton, {
343
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.ToolbarButton, {
329
344
  onClick: () => setIsEditingImage(true),
330
345
  icon: _icons.crop,
331
346
  label: (0, _i18n.__)('Crop')
@@ -409,10 +424,10 @@ function LogoEdit({
409
424
  const siteData = getEntityRecord('root', '__unstableBase');
410
425
  const _siteLogoId = _canUserEdit ? siteSettings?.site_logo : siteData?.site_logo;
411
426
  const _siteIconId = siteSettings?.site_icon;
412
- const mediaItem = _siteLogoId && select(_coreData.store).getMedia(_siteLogoId, {
427
+ const mediaItem = _siteLogoId && select(_coreData.store).getEntityRecord('postType', 'attachment', _siteLogoId, {
413
428
  context: 'view'
414
429
  });
415
- const _isRequestingMediaItem = !!_siteLogoId && !select(_coreData.store).hasFinishedResolution('getMedia', [_siteLogoId, {
430
+ const _isRequestingMediaItem = !!_siteLogoId && !select(_coreData.store).hasFinishedResolution('getEntityRecord', ['postType', 'attachment', _siteLogoId, {
416
431
  context: 'view'
417
432
  }]);
418
433
  return {