@wordpress/block-library 7.11.0 → 7.12.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 (261) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/build/archives/edit.js +7 -0
  3. package/build/archives/edit.js.map +1 -1
  4. package/build/archives/index.js +4 -0
  5. package/build/archives/index.js.map +1 -1
  6. package/build/block/edit.js +4 -2
  7. package/build/block/edit.js.map +1 -1
  8. package/build/block/edit.native.js +4 -2
  9. package/build/block/edit.native.js.map +1 -1
  10. package/build/calendar/edit.js +12 -5
  11. package/build/calendar/edit.js.map +1 -1
  12. package/build/columns/edit.native.js +2 -1
  13. package/build/columns/edit.native.js.map +1 -1
  14. package/build/cover/edit/resizable-cover.js +6 -0
  15. package/build/cover/edit/resizable-cover.js.map +1 -1
  16. package/build/group/transforms.js +5 -0
  17. package/build/group/transforms.js.map +1 -1
  18. package/build/index.native.js +17 -4
  19. package/build/index.native.js.map +1 -1
  20. package/build/list/index.js +6 -0
  21. package/build/list/index.js.map +1 -1
  22. package/build/list/v2/edit.js +16 -5
  23. package/build/list/v2/edit.js.map +1 -1
  24. package/build/list/v2/tag-name.js +31 -0
  25. package/build/list/v2/tag-name.js.map +1 -0
  26. package/build/list/v2/tag-name.native.js +32 -0
  27. package/build/list/v2/tag-name.native.js.map +1 -0
  28. package/build/list/v2/transforms.js +1 -11
  29. package/build/list/v2/transforms.js.map +1 -1
  30. package/build/list-item/edit.js +1 -0
  31. package/build/list-item/edit.js.map +1 -1
  32. package/build/list-item/edit.native.js +158 -0
  33. package/build/list-item/edit.native.js.map +1 -0
  34. package/build/list-item/icons.native.js +53 -0
  35. package/build/list-item/icons.native.js.map +1 -0
  36. package/build/list-item/list-style-type.native.js +136 -0
  37. package/build/list-item/list-style-type.native.js.map +1 -0
  38. package/build/media-text/deprecated.js +188 -66
  39. package/build/media-text/deprecated.js.map +1 -1
  40. package/build/media-text/edit.js +2 -1
  41. package/build/media-text/edit.js.map +1 -1
  42. package/build/media-text/media-container.js +1 -1
  43. package/build/media-text/media-container.js.map +1 -1
  44. package/build/navigation/edit/index.js +68 -123
  45. package/build/navigation/edit/index.js.map +1 -1
  46. package/build/navigation/edit/navigation-menu-selector.js +11 -14
  47. package/build/navigation/edit/navigation-menu-selector.js.map +1 -1
  48. package/build/navigation/edit/placeholder/index.js +4 -2
  49. package/build/navigation/edit/placeholder/index.js.map +1 -1
  50. package/build/navigation/edit/responsive-wrapper.js +13 -3
  51. package/build/navigation/edit/responsive-wrapper.js.map +1 -1
  52. package/build/navigation/edit/use-create-navigation-menu.js +5 -1
  53. package/build/navigation/edit/use-create-navigation-menu.js.map +1 -1
  54. package/build/navigation/edit/use-inner-blocks.js +43 -0
  55. package/build/navigation/edit/use-inner-blocks.js.map +1 -0
  56. package/build/navigation/edit/utils.js +28 -0
  57. package/build/navigation/edit/utils.js.map +1 -0
  58. package/build/navigation/use-navigation-menu.js +7 -3
  59. package/build/navigation/use-navigation-menu.js.map +1 -1
  60. package/build/post-author/edit.js +5 -2
  61. package/build/post-author/edit.js.map +1 -1
  62. package/build/post-author-biography/edit.js +7 -1
  63. package/build/post-author-biography/edit.js.map +1 -1
  64. package/build/post-content/edit.js +4 -2
  65. package/build/post-content/edit.js.map +1 -1
  66. package/build/post-featured-image/edit.js +16 -2
  67. package/build/post-featured-image/edit.js.map +1 -1
  68. package/build/post-featured-image/index.js +9 -0
  69. package/build/post-featured-image/index.js.map +1 -1
  70. package/build/query/edit/inspector-controls/index.js +42 -9
  71. package/build/query/edit/inspector-controls/index.js.map +1 -1
  72. package/build/query/edit/inspector-controls/taxonomy-controls.js +21 -14
  73. package/build/query/edit/inspector-controls/taxonomy-controls.js.map +1 -1
  74. package/build/query-title/edit.js +20 -7
  75. package/build/query-title/edit.js.map +1 -1
  76. package/build/query-title/index.js +4 -0
  77. package/build/query-title/index.js.map +1 -1
  78. package/build/query-title/variations.js +10 -0
  79. package/build/query-title/variations.js.map +1 -1
  80. package/build/quote/transforms.js +2 -2
  81. package/build/quote/transforms.js.map +1 -1
  82. package/build/separator/edit.js +1 -1
  83. package/build/separator/edit.js.map +1 -1
  84. package/build/social-links/edit.js +1 -0
  85. package/build/social-links/edit.js.map +1 -1
  86. package/build/template-part/edit/index.js +4 -2
  87. package/build/template-part/edit/index.js.map +1 -1
  88. package/build-module/archives/edit.js +7 -0
  89. package/build-module/archives/edit.js.map +1 -1
  90. package/build-module/archives/index.js +4 -0
  91. package/build-module/archives/index.js.map +1 -1
  92. package/build-module/block/edit.js +5 -3
  93. package/build-module/block/edit.js.map +1 -1
  94. package/build-module/block/edit.native.js +5 -3
  95. package/build-module/block/edit.native.js.map +1 -1
  96. package/build-module/calendar/edit.js +12 -4
  97. package/build-module/calendar/edit.js.map +1 -1
  98. package/build-module/columns/edit.native.js +3 -2
  99. package/build-module/columns/edit.native.js.map +1 -1
  100. package/build-module/cover/edit/resizable-cover.js +6 -0
  101. package/build-module/cover/edit/resizable-cover.js.map +1 -1
  102. package/build-module/group/transforms.js +5 -0
  103. package/build-module/group/transforms.js.map +1 -1
  104. package/build-module/index.native.js +16 -4
  105. package/build-module/index.native.js.map +1 -1
  106. package/build-module/list/index.js +1 -1
  107. package/build-module/list/index.js.map +1 -1
  108. package/build-module/list/v2/edit.js +15 -5
  109. package/build-module/list/v2/edit.js.map +1 -1
  110. package/build-module/list/v2/tag-name.js +21 -0
  111. package/build-module/list/v2/tag-name.js.map +1 -0
  112. package/build-module/list/v2/tag-name.native.js +21 -0
  113. package/build-module/list/v2/tag-name.native.js.map +1 -0
  114. package/build-module/list/v2/transforms.js +1 -10
  115. package/build-module/list/v2/transforms.js.map +1 -1
  116. package/build-module/list-item/edit.js +1 -3
  117. package/build-module/list-item/edit.js.map +1 -1
  118. package/build-module/list-item/edit.native.js +141 -0
  119. package/build-module/list-item/edit.native.js.map +1 -0
  120. package/build-module/list-item/icons.native.js +37 -0
  121. package/build-module/list-item/icons.native.js.map +1 -0
  122. package/build-module/list-item/list-style-type.native.js +124 -0
  123. package/build-module/list-item/list-style-type.native.js.map +1 -0
  124. package/build-module/media-text/deprecated.js +189 -65
  125. package/build-module/media-text/deprecated.js.map +1 -1
  126. package/build-module/media-text/edit.js +2 -1
  127. package/build-module/media-text/edit.js.map +1 -1
  128. package/build-module/media-text/media-container.js +1 -1
  129. package/build-module/media-text/media-container.js.map +1 -1
  130. package/build-module/navigation/edit/index.js +66 -122
  131. package/build-module/navigation/edit/index.js.map +1 -1
  132. package/build-module/navigation/edit/navigation-menu-selector.js +12 -15
  133. package/build-module/navigation/edit/navigation-menu-selector.js.map +1 -1
  134. package/build-module/navigation/edit/placeholder/index.js +4 -2
  135. package/build-module/navigation/edit/placeholder/index.js.map +1 -1
  136. package/build-module/navigation/edit/responsive-wrapper.js +12 -3
  137. package/build-module/navigation/edit/responsive-wrapper.js.map +1 -1
  138. package/build-module/navigation/edit/use-create-navigation-menu.js +5 -1
  139. package/build-module/navigation/edit/use-create-navigation-menu.js.map +1 -1
  140. package/build-module/navigation/edit/use-inner-blocks.js +33 -0
  141. package/build-module/navigation/edit/use-inner-blocks.js.map +1 -0
  142. package/build-module/navigation/edit/utils.js +21 -0
  143. package/build-module/navigation/edit/utils.js.map +1 -0
  144. package/build-module/navigation/use-navigation-menu.js +7 -3
  145. package/build-module/navigation/use-navigation-menu.js.map +1 -1
  146. package/build-module/post-author/edit.js +5 -2
  147. package/build-module/post-author/edit.js.map +1 -1
  148. package/build-module/post-author-biography/edit.js +6 -1
  149. package/build-module/post-author-biography/edit.js.map +1 -1
  150. package/build-module/post-content/edit.js +5 -3
  151. package/build-module/post-content/edit.js.map +1 -1
  152. package/build-module/post-featured-image/edit.js +17 -3
  153. package/build-module/post-featured-image/edit.js.map +1 -1
  154. package/build-module/post-featured-image/index.js +9 -0
  155. package/build-module/post-featured-image/index.js.map +1 -1
  156. package/build-module/query/edit/inspector-controls/index.js +42 -9
  157. package/build-module/query/edit/inspector-controls/index.js.map +1 -1
  158. package/build-module/query/edit/inspector-controls/taxonomy-controls.js +16 -12
  159. package/build-module/query/edit/inspector-controls/taxonomy-controls.js.map +1 -1
  160. package/build-module/query-title/edit.js +20 -8
  161. package/build-module/query-title/edit.js.map +1 -1
  162. package/build-module/query-title/index.js +4 -0
  163. package/build-module/query-title/index.js.map +1 -1
  164. package/build-module/query-title/variations.js +10 -0
  165. package/build-module/query-title/variations.js.map +1 -1
  166. package/build-module/quote/transforms.js +3 -3
  167. package/build-module/quote/transforms.js.map +1 -1
  168. package/build-module/separator/edit.js +1 -1
  169. package/build-module/separator/edit.js.map +1 -1
  170. package/build-module/social-links/edit.js +1 -0
  171. package/build-module/social-links/edit.js.map +1 -1
  172. package/build-module/template-part/edit/index.js +5 -3
  173. package/build-module/template-part/edit/index.js.map +1 -1
  174. package/build-style/editor-rtl.css +10 -0
  175. package/build-style/editor.css +10 -0
  176. package/build-style/latest-posts/editor-rtl.css +3 -0
  177. package/build-style/latest-posts/editor.css +3 -0
  178. package/build-style/navigation/style-rtl.css +17 -19
  179. package/build-style/navigation/style.css +17 -19
  180. package/build-style/query/editor-rtl.css +7 -0
  181. package/build-style/query/editor.css +7 -0
  182. package/build-style/query-pagination/style-rtl.css +6 -0
  183. package/build-style/query-pagination/style.css +6 -0
  184. package/build-style/search/style-rtl.css +2 -0
  185. package/build-style/search/style.css +2 -0
  186. package/build-style/style-rtl.css +26 -19
  187. package/build-style/style.css +26 -19
  188. package/build-style/tag-cloud/style-rtl.css +1 -0
  189. package/build-style/tag-cloud/style.css +1 -0
  190. package/package.json +28 -29
  191. package/src/archives/block.json +4 -0
  192. package/src/archives/edit.js +12 -1
  193. package/src/archives/index.php +5 -3
  194. package/src/audio/test/__snapshots__/edit.native.js.snap +16 -2
  195. package/src/block/edit.js +4 -4
  196. package/src/block/edit.native.js +4 -4
  197. package/src/calendar/edit.js +11 -4
  198. package/src/columns/edit.native.js +4 -2
  199. package/src/cover/edit/resizable-cover.js +6 -0
  200. package/src/cover/index.php +2 -2
  201. package/src/file/test/__snapshots__/edit.native.js.snap +32 -4
  202. package/src/group/transforms.js +7 -0
  203. package/src/home-link/index.php +8 -17
  204. package/src/image/test/edit.native.js +6 -10
  205. package/src/index.native.js +15 -2
  206. package/src/latest-posts/editor.scss +5 -0
  207. package/src/list/index.js +1 -1
  208. package/src/list/test/__snapshots__/edit.native.js.snap +133 -0
  209. package/src/list/test/edit.native.js +511 -7
  210. package/src/list/v2/edit.js +12 -4
  211. package/src/list/v2/tag-name.js +13 -0
  212. package/src/list/v2/tag-name.native.js +12 -0
  213. package/src/list/v2/transforms.js +1 -9
  214. package/src/list-item/edit.js +1 -1
  215. package/src/list-item/edit.native.js +148 -0
  216. package/src/list-item/icons.native.js +34 -0
  217. package/src/list-item/list-style-type.native.js +139 -0
  218. package/src/list-item/style.native.scss +45 -0
  219. package/src/media-text/deprecated.js +561 -415
  220. package/src/media-text/edit.js +1 -0
  221. package/src/media-text/media-container.js +3 -1
  222. package/src/media-text/test/media-container.js +24 -0
  223. package/src/navigation/edit/index.js +83 -164
  224. package/src/navigation/edit/navigation-menu-selector.js +12 -26
  225. package/src/navigation/edit/placeholder/index.js +4 -2
  226. package/src/navigation/edit/responsive-wrapper.js +24 -3
  227. package/src/navigation/edit/use-create-navigation-menu.js +4 -0
  228. package/src/navigation/edit/use-inner-blocks.js +39 -0
  229. package/src/navigation/edit/utils.js +30 -0
  230. package/src/navigation/index.php +6 -0
  231. package/src/navigation/style.scss +12 -22
  232. package/src/navigation/use-navigation-menu.js +9 -5
  233. package/src/navigation-link/index.php +1 -1
  234. package/src/navigation-submenu/index.php +1 -1
  235. package/src/page-list/index.php +4 -4
  236. package/src/post-author/edit.js +6 -3
  237. package/src/post-author-biography/edit.js +4 -1
  238. package/src/post-content/edit.js +4 -4
  239. package/src/post-featured-image/block.json +9 -0
  240. package/src/post-featured-image/edit.js +23 -1
  241. package/src/post-featured-image/index.php +3 -1
  242. package/src/post-title/index.php +2 -1
  243. package/src/preformatted/test/__snapshots__/edit.native.js.snap +16 -2
  244. package/src/query/edit/inspector-controls/index.js +129 -65
  245. package/src/query/edit/inspector-controls/taxonomy-controls.js +17 -10
  246. package/src/query/editor.scss +9 -0
  247. package/src/query-pagination/style.scss +14 -0
  248. package/src/query-title/block.json +4 -0
  249. package/src/query-title/edit.js +33 -6
  250. package/src/query-title/index.php +17 -1
  251. package/src/query-title/variations.js +13 -0
  252. package/src/quote/transforms.js +3 -7
  253. package/src/search/style.scss +2 -0
  254. package/src/search/test/__snapshots__/edit.native.js.snap +56 -7
  255. package/src/separator/edit.js +1 -1
  256. package/src/separator/test/edit.js +5 -3
  257. package/src/site-title/index.php +8 -9
  258. package/src/social-link/index.php +1 -1
  259. package/src/social-links/edit.js +1 -0
  260. package/src/tag-cloud/style.scss +1 -0
  261. package/src/template-part/edit/index.js +4 -4
@@ -5,7 +5,7 @@ import { createElement, Fragment } from "@wordpress/element";
5
5
  */
6
6
  import { useEntityProp, store as coreStore } from '@wordpress/core-data';
7
7
  import { useSelect, useDispatch } from '@wordpress/data';
8
- import { MenuItem, ToggleControl, PanelBody, Placeholder, Button } from '@wordpress/components';
8
+ import { MenuItem, ToggleControl, PanelBody, Placeholder, Button, TextControl } from '@wordpress/components';
9
9
  import { InspectorControls, BlockControls, MediaPlaceholder, MediaReplaceFlow, useBlockProps, store as blockEditorStore } from '@wordpress/block-editor';
10
10
  import { __, sprintf } from '@wordpress/i18n';
11
11
  import { upload } from '@wordpress/icons';
@@ -47,7 +47,9 @@ function PostFeaturedImageDisplay(_ref) {
47
47
  height,
48
48
  width,
49
49
  scale,
50
- sizeSlug
50
+ sizeSlug,
51
+ rel,
52
+ linkTarget
51
53
  } = attributes;
52
54
  const [featuredImage, setFeaturedImage] = useEntityProp('postType', postTypeSlug, 'featured_media', postId);
53
55
  const {
@@ -121,7 +123,19 @@ function PostFeaturedImageDisplay(_ref) {
121
123
  isLink: !isLink
122
124
  }),
123
125
  checked: isLink
124
- }))));
126
+ }), isLink && createElement(Fragment, null, createElement(ToggleControl, {
127
+ label: __('Open in new tab'),
128
+ onChange: value => setAttributes({
129
+ linkTarget: value ? '_blank' : '_self'
130
+ }),
131
+ checked: linkTarget === '_blank'
132
+ }), createElement(TextControl, {
133
+ label: __('Link rel'),
134
+ value: rel,
135
+ onChange: newRel => setAttributes({
136
+ rel: newRel
137
+ })
138
+ })))));
125
139
  let image;
126
140
 
127
141
  if (!featuredImage && isDescendentOfQueryLoop) {
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/post-featured-image/edit.js"],"names":["useEntityProp","store","coreStore","useSelect","useDispatch","MenuItem","ToggleControl","PanelBody","Placeholder","Button","InspectorControls","BlockControls","MediaPlaceholder","MediaReplaceFlow","useBlockProps","blockEditorStore","__","sprintf","upload","noticesStore","DimensionControls","ALLOWED_MEDIA_TYPES","placeholder","content","getMediaSourceUrlBySizeSlug","media","slug","media_details","sizes","source_url","PostFeaturedImageDisplay","clientId","attributes","setAttributes","context","postId","postType","postTypeSlug","queryId","isDescendentOfQueryLoop","Number","isFinite","isLink","height","width","scale","sizeSlug","featuredImage","setFeaturedImage","select","getMedia","getPostType","mediaUrl","imageSizes","getSettings","imageSizeOptions","filter","map","name","value","label","blockProps","style","onSelectImage","id","createErrorNotice","onUploadError","message","type","controls","labels","singular_name","toLowerCase","image","open","alt_text","objectFit","PostFeaturedImageEdit","props"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useEntityProp, store as coreStore } from '@wordpress/core-data';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tMenuItem,\n\tToggleControl,\n\tPanelBody,\n\tPlaceholder,\n\tButton,\n} from '@wordpress/components';\nimport {\n\tInspectorControls,\n\tBlockControls,\n\tMediaPlaceholder,\n\tMediaReplaceFlow,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\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';\n\nconst ALLOWED_MEDIA_TYPES = [ 'image' ];\n\nconst placeholder = ( content ) => {\n\treturn (\n\t\t<Placeholder\n\t\t\tclassName=\"block-editor-media-placeholder\"\n\t\t\twithIllustration={ true }\n\t\t>\n\t\t\t{ content }\n\t\t</Placeholder>\n\t);\n};\n\nfunction getMediaSourceUrlBySizeSlug( media, slug ) {\n\treturn (\n\t\tmedia?.media_details?.sizes?.[ slug ]?.source_url || media?.source_url\n\t);\n}\n\nfunction PostFeaturedImageDisplay( {\n\tclientId,\n\tattributes,\n\tsetAttributes,\n\tcontext: { postId, postType: postTypeSlug, queryId },\n} ) {\n\tconst isDescendentOfQueryLoop = Number.isFinite( queryId );\n\tconst { isLink, height, width, scale, sizeSlug } = attributes;\n\tconst [ featuredImage, setFeaturedImage ] = useEntityProp(\n\t\t'postType',\n\t\tpostTypeSlug,\n\t\t'featured_media',\n\t\tpostId\n\t);\n\n\tconst { media, postType } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getMedia, getPostType } = select( 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};\n\t\t},\n\t\t[ featuredImage, postTypeSlug ]\n\t);\n\tconst mediaUrl = getMediaSourceUrlBySizeSlug( media, sizeSlug );\n\n\tconst imageSizes = useSelect(\n\t\t( select ) => select( blockEditorStore ).getSettings().imageSizes,\n\t\t[]\n\t);\n\tconst imageSizeOptions = imageSizes\n\t\t.filter( ( { slug } ) => {\n\t\t\treturn media?.media_details?.sizes?.[ slug ]?.source_url;\n\t\t} )\n\t\t.map( ( { name, slug } ) => ( {\n\t\t\tvalue: slug,\n\t\t\tlabel: name,\n\t\t} ) );\n\n\tconst blockProps = useBlockProps( {\n\t\tstyle: { width, height },\n\t} );\n\n\tconst onSelectImage = ( value ) => {\n\t\tif ( value?.id ) {\n\t\t\tsetFeaturedImage( value.id );\n\t\t}\n\t};\n\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\tconst onUploadError = ( message ) => {\n\t\tcreateErrorNotice( message, { type: 'snackbar' } );\n\t};\n\n\tconst controls = (\n\t\t<>\n\t\t\t<DimensionControls\n\t\t\t\tclientId={ clientId }\n\t\t\t\tattributes={ attributes }\n\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\timageSizeOptions={ imageSizeOptions }\n\t\t\t/>\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Link settings' ) }>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\tpostType?.labels.singular_name\n\t\t\t\t\t\t\t\t? sprintf(\n\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__( 'Link to %s' ),\n\t\t\t\t\t\t\t\t\t\tpostType.labels.singular_name.toLowerCase()\n\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t: __( 'Link to post' )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonChange={ () => setAttributes( { isLink: ! isLink } ) }\n\t\t\t\t\t\tchecked={ isLink }\n\t\t\t\t\t/>\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t</>\n\t);\n\tlet image;\n\tif ( ! featuredImage && isDescendentOfQueryLoop ) {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{ controls }\n\t\t\t\t<div { ...blockProps }>{ placeholder() }</div>\n\t\t\t</>\n\t\t);\n\t}\n\n\tconst label = __( 'Add a featured image' );\n\n\tif ( ! featuredImage ) {\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\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 = ! media ? (\n\t\t\tplaceholder()\n\t\t) : (\n\t\t\t<img\n\t\t\t\tsrc={ mediaUrl }\n\t\t\t\talt={\n\t\t\t\t\tmedia.alt_text\n\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t// translators: %s: The image's alt text.\n\t\t\t\t\t\t\t\t__( 'Featured image: %s' ),\n\t\t\t\t\t\t\t\tmedia.alt_text\n\t\t\t\t\t\t )\n\t\t\t\t\t\t: __( 'Featured image' )\n\t\t\t\t}\n\t\t\t\tstyle={ { height, objectFit: height && scale } }\n\t\t\t/>\n\t\t);\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t{ 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>\n\t\t\t\t\t\t<MenuItem onClick={ () => setFeaturedImage( 0 ) }>\n\t\t\t\t\t\t\t{ __( 'Reset' ) }\n\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t</MediaReplaceFlow>\n\t\t\t\t</BlockControls>\n\t\t\t) }\n\t\t\t<figure { ...blockProps }>{ image }</figure>\n\t\t</>\n\t);\n}\n\nexport default function PostFeaturedImageEdit( props ) {\n\tconst blockProps = useBlockProps();\n\tif ( ! props.context?.postId ) {\n\t\treturn <div { ...blockProps }>{ placeholder() }</div>;\n\t}\n\treturn <PostFeaturedImageDisplay { ...props } />;\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/post-featured-image/edit.js"],"names":["useEntityProp","store","coreStore","useSelect","useDispatch","MenuItem","ToggleControl","PanelBody","Placeholder","Button","TextControl","InspectorControls","BlockControls","MediaPlaceholder","MediaReplaceFlow","useBlockProps","blockEditorStore","__","sprintf","upload","noticesStore","DimensionControls","ALLOWED_MEDIA_TYPES","placeholder","content","getMediaSourceUrlBySizeSlug","media","slug","media_details","sizes","source_url","PostFeaturedImageDisplay","clientId","attributes","setAttributes","context","postId","postType","postTypeSlug","queryId","isDescendentOfQueryLoop","Number","isFinite","isLink","height","width","scale","sizeSlug","rel","linkTarget","featuredImage","setFeaturedImage","select","getMedia","getPostType","mediaUrl","imageSizes","getSettings","imageSizeOptions","filter","map","name","value","label","blockProps","style","onSelectImage","id","createErrorNotice","onUploadError","message","type","controls","labels","singular_name","toLowerCase","newRel","image","open","alt_text","objectFit","PostFeaturedImageEdit","props"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useEntityProp, store as coreStore } from '@wordpress/core-data';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tMenuItem,\n\tToggleControl,\n\tPanelBody,\n\tPlaceholder,\n\tButton,\n\tTextControl,\n} from '@wordpress/components';\nimport {\n\tInspectorControls,\n\tBlockControls,\n\tMediaPlaceholder,\n\tMediaReplaceFlow,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\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';\n\nconst ALLOWED_MEDIA_TYPES = [ 'image' ];\n\nconst placeholder = ( content ) => {\n\treturn (\n\t\t<Placeholder\n\t\t\tclassName=\"block-editor-media-placeholder\"\n\t\t\twithIllustration={ true }\n\t\t>\n\t\t\t{ content }\n\t\t</Placeholder>\n\t);\n};\n\nfunction getMediaSourceUrlBySizeSlug( media, slug ) {\n\treturn (\n\t\tmedia?.media_details?.sizes?.[ slug ]?.source_url || media?.source_url\n\t);\n}\n\nfunction PostFeaturedImageDisplay( {\n\tclientId,\n\tattributes,\n\tsetAttributes,\n\tcontext: { postId, postType: postTypeSlug, queryId },\n} ) {\n\tconst isDescendentOfQueryLoop = Number.isFinite( queryId );\n\tconst { isLink, height, width, scale, sizeSlug, rel, linkTarget } =\n\t\tattributes;\n\tconst [ featuredImage, setFeaturedImage ] = useEntityProp(\n\t\t'postType',\n\t\tpostTypeSlug,\n\t\t'featured_media',\n\t\tpostId\n\t);\n\n\tconst { media, postType } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getMedia, getPostType } = select( 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};\n\t\t},\n\t\t[ featuredImage, postTypeSlug ]\n\t);\n\tconst mediaUrl = getMediaSourceUrlBySizeSlug( media, sizeSlug );\n\n\tconst imageSizes = useSelect(\n\t\t( select ) => select( blockEditorStore ).getSettings().imageSizes,\n\t\t[]\n\t);\n\tconst imageSizeOptions = imageSizes\n\t\t.filter( ( { slug } ) => {\n\t\t\treturn media?.media_details?.sizes?.[ slug ]?.source_url;\n\t\t} )\n\t\t.map( ( { name, slug } ) => ( {\n\t\t\tvalue: slug,\n\t\t\tlabel: name,\n\t\t} ) );\n\n\tconst blockProps = useBlockProps( {\n\t\tstyle: { width, height },\n\t} );\n\n\tconst onSelectImage = ( value ) => {\n\t\tif ( value?.id ) {\n\t\t\tsetFeaturedImage( value.id );\n\t\t}\n\t};\n\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\tconst onUploadError = ( message ) => {\n\t\tcreateErrorNotice( message, { type: 'snackbar' } );\n\t};\n\n\tconst controls = (\n\t\t<>\n\t\t\t<DimensionControls\n\t\t\t\tclientId={ clientId }\n\t\t\t\tattributes={ attributes }\n\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\timageSizeOptions={ imageSizeOptions }\n\t\t\t/>\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Link settings' ) }>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\tpostType?.labels.singular_name\n\t\t\t\t\t\t\t\t? sprintf(\n\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__( 'Link to %s' ),\n\t\t\t\t\t\t\t\t\t\tpostType.labels.singular_name.toLowerCase()\n\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t: __( 'Link to post' )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonChange={ () => setAttributes( { isLink: ! isLink } ) }\n\t\t\t\t\t\tchecked={ isLink }\n\t\t\t\t\t/>\n\t\t\t\t\t{ isLink && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\tlabel={ __( 'Open in new tab' ) }\n\t\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\tlinkTarget: value ? '_blank' : '_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\tchecked={ linkTarget === '_blank' }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<TextControl\n\t\t\t\t\t\t\t\tlabel={ __( 'Link rel' ) }\n\t\t\t\t\t\t\t\tvalue={ rel }\n\t\t\t\t\t\t\t\tonChange={ ( newRel ) =>\n\t\t\t\t\t\t\t\t\tsetAttributes( { rel: newRel } )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</>\n\t\t\t\t\t) }\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t</>\n\t);\n\tlet image;\n\tif ( ! featuredImage && isDescendentOfQueryLoop ) {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{ controls }\n\t\t\t\t<div { ...blockProps }>{ placeholder() }</div>\n\t\t\t</>\n\t\t);\n\t}\n\n\tconst label = __( 'Add a featured image' );\n\n\tif ( ! featuredImage ) {\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\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 = ! media ? (\n\t\t\tplaceholder()\n\t\t) : (\n\t\t\t<img\n\t\t\t\tsrc={ mediaUrl }\n\t\t\t\talt={\n\t\t\t\t\tmedia.alt_text\n\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t// translators: %s: The image's alt text.\n\t\t\t\t\t\t\t\t__( 'Featured image: %s' ),\n\t\t\t\t\t\t\t\tmedia.alt_text\n\t\t\t\t\t\t )\n\t\t\t\t\t\t: __( 'Featured image' )\n\t\t\t\t}\n\t\t\t\tstyle={ { height, objectFit: height && scale } }\n\t\t\t/>\n\t\t);\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t{ 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>\n\t\t\t\t\t\t<MenuItem onClick={ () => setFeaturedImage( 0 ) }>\n\t\t\t\t\t\t\t{ __( 'Reset' ) }\n\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t</MediaReplaceFlow>\n\t\t\t\t</BlockControls>\n\t\t\t) }\n\t\t\t<figure { ...blockProps }>{ image }</figure>\n\t\t</>\n\t);\n}\n\nexport default function PostFeaturedImageEdit( props ) {\n\tconst blockProps = useBlockProps();\n\tif ( ! props.context?.postId ) {\n\t\treturn <div { ...blockProps }>{ placeholder() }</div>;\n\t}\n\treturn <PostFeaturedImageDisplay { ...props } />;\n}\n"]}
@@ -31,6 +31,15 @@ const metadata = {
31
31
  },
32
32
  sizeSlug: {
33
33
  type: "string"
34
+ },
35
+ rel: {
36
+ type: "string",
37
+ attribute: "rel",
38
+ "default": ""
39
+ },
40
+ linkTarget: {
41
+ type: "string",
42
+ "default": "_self"
34
43
  }
35
44
  },
36
45
  usesContext: ["postId", "postType", "queryId"],
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/post-featured-image/index.js"],"names":["postFeaturedImage","icon","edit","name","metadata","settings"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,iBAAiB,IAAIC,IAA9B,QAA0C,kBAA1C;AAEA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,OAAOC,IAAP,MAAiB,QAAjB;AAEA,MAAM;AAAEC,EAAAA;AAAF,IAAWC,QAAjB;AACA,SAASA,QAAT,EAAmBD,IAAnB;AAEA,OAAO,MAAME,QAAQ,GAAG;AACvBJ,EAAAA,IADuB;AAEvBC,EAAAA;AAFuB,CAAjB","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { postFeaturedImage as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport metadata from './block.json';\nimport edit from './edit';\n\nconst { name } = metadata;\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\tedit,\n};\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/post-featured-image/index.js"],"names":["postFeaturedImage","icon","edit","name","metadata","settings"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,iBAAiB,IAAIC,IAA9B,QAA0C,kBAA1C;AAEA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,OAAOC,IAAP,MAAiB,QAAjB;AAEA,MAAM;AAAEC,EAAAA;AAAF,IAAWC,QAAjB;AACA,SAASA,QAAT,EAAmBD,IAAnB;AAEA,OAAO,MAAME,QAAQ,GAAG;AACvBJ,EAAAA,IADuB;AAEvBC,EAAAA;AAFuB,CAAjB","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { postFeaturedImage as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport metadata from './block.json';\nimport edit from './edit';\n\nconst { name } = metadata;\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\tedit,\n};\n"]}
@@ -8,7 +8,7 @@ import { debounce } from 'lodash';
8
8
  * WordPress dependencies
9
9
  */
10
10
 
11
- import { PanelBody, TextControl, SelectControl, RangeControl, ToggleControl, Notice } from '@wordpress/components';
11
+ import { PanelBody, TextControl, SelectControl, RangeControl, ToggleControl, Notice, __experimentalToolsPanel as ToolsPanel, __experimentalToolsPanelItem as ToolsPanelItem } from '@wordpress/components';
12
12
  import { __ } from '@wordpress/i18n';
13
13
  import { InspectorControls } from '@wordpress/block-editor';
14
14
  import { useEffect, useState, useCallback } from '@wordpress/element';
@@ -21,7 +21,7 @@ import { store as coreStore } from '@wordpress/core-data';
21
21
  import OrderControl from './order-control';
22
22
  import AuthorControl from './author-control';
23
23
  import ParentControl from './parent-control';
24
- import TaxonomyControls from './taxonomy-controls';
24
+ import { TaxonomyControls, useTaxonomiesInfo } from './taxonomy-controls';
25
25
  import StickyControl from './sticky-control';
26
26
  import { usePostTypes } from '../../utils';
27
27
 
@@ -56,6 +56,7 @@ export default function QueryInspectorControls(_ref) {
56
56
  postTypesTaxonomiesMap,
57
57
  postTypesSelectOptions
58
58
  } = usePostTypes();
59
+ const taxonomiesInfo = useTaxonomiesInfo(postType);
59
60
  const isPostTypeHierarchical = useIsPostTypeHierarchical(postType);
60
61
  useEffect(() => {
61
62
  setShowSticky(postType === 'post');
@@ -100,7 +101,7 @@ export default function QueryInspectorControls(_ref) {
100
101
  onChangeDebounced();
101
102
  return onChangeDebounced.cancel;
102
103
  }, [querySearch, onChangeDebounced]);
103
- return createElement(InspectorControls, null, createElement(PanelBody, {
104
+ return createElement(Fragment, null, createElement(InspectorControls, null, createElement(PanelBody, {
104
105
  title: __('Settings')
105
106
  }, createElement(ToggleControl, {
106
107
  label: __('Inherit query from template'),
@@ -135,22 +136,54 @@ export default function QueryInspectorControls(_ref) {
135
136
  onChange: value => setQuery({
136
137
  sticky: value
137
138
  })
138
- })), !inherit && createElement(PanelBody, {
139
- title: __('Filters')
139
+ }))), !inherit && createElement(InspectorControls, null, createElement(ToolsPanel, {
140
+ className: "block-library-query-toolspanel__filters",
141
+ label: __('Filters'),
142
+ resetAll: () => {
143
+ setQuery({
144
+ author: '',
145
+ parents: [],
146
+ search: '',
147
+ taxQuery: null
148
+ });
149
+ setQuerySearch('');
150
+ }
151
+ }, !!(taxonomiesInfo !== null && taxonomiesInfo !== void 0 && taxonomiesInfo.length) && createElement(ToolsPanelItem, {
152
+ label: __('Taxonomies'),
153
+ hasValue: () => Object.values(taxQuery || {}).some(terms => !!terms.length),
154
+ onDeselect: () => setQuery({
155
+ taxQuery: null
156
+ })
140
157
  }, createElement(TaxonomyControls, {
141
158
  onChange: setQuery,
142
159
  query: query
143
- }), createElement(AuthorControl, {
160
+ })), createElement(ToolsPanelItem, {
161
+ hasValue: () => !!authorIds,
162
+ label: __('Authors'),
163
+ onDeselect: () => setQuery({
164
+ author: ''
165
+ })
166
+ }, createElement(AuthorControl, {
144
167
  value: authorIds,
145
168
  onChange: setQuery
146
- }), createElement(TextControl, {
169
+ })), createElement(ToolsPanelItem, {
170
+ hasValue: () => !!querySearch,
171
+ label: __('Keyword'),
172
+ onDeselect: () => setQuerySearch('')
173
+ }, createElement(TextControl, {
147
174
  label: __('Keyword'),
148
175
  value: querySearch,
149
176
  onChange: setQuerySearch
150
- }), isPostTypeHierarchical && createElement(ParentControl, {
177
+ })), isPostTypeHierarchical && createElement(ToolsPanelItem, {
178
+ hasValue: () => !!(parents !== null && parents !== void 0 && parents.length),
179
+ label: __('Parents'),
180
+ onDeselect: () => setQuery({
181
+ parents: []
182
+ })
183
+ }, createElement(ParentControl, {
151
184
  parents: parents,
152
185
  postType: postType,
153
186
  onChange: setQuery
154
- })));
187
+ })))));
155
188
  }
156
189
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/query/edit/inspector-controls/index.js"],"names":["debounce","PanelBody","TextControl","SelectControl","RangeControl","ToggleControl","Notice","__","InspectorControls","useEffect","useState","useCallback","useSelect","store","coreStore","OrderControl","AuthorControl","ParentControl","TaxonomyControls","StickyControl","usePostTypes","useIsPostTypeHierarchical","postType","select","type","getPostType","viewable","hierarchical","QueryInspectorControls","attributes","query","displayLayout","setQuery","setDisplayLayout","order","orderBy","author","authorIds","sticky","inherit","taxQuery","parents","showSticky","setShowSticky","postTypesTaxonomiesMap","postTypesSelectOptions","isPostTypeHierarchical","onPostTypeChange","newValue","updateQuery","supportedTaxonomies","updatedTaxQuery","Object","entries","reduce","accumulator","taxonomySlug","terms","includes","keys","length","undefined","querySearch","setQuerySearch","search","onChangeDebounced","cancel","value","columns","Math","max"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { debounce } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tPanelBody,\n\tTextControl,\n\tSelectControl,\n\tRangeControl,\n\tToggleControl,\n\tNotice,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { InspectorControls } from '@wordpress/block-editor';\nimport { useEffect, useState, useCallback } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport OrderControl from './order-control';\nimport AuthorControl from './author-control';\nimport ParentControl from './parent-control';\nimport TaxonomyControls from './taxonomy-controls';\nimport StickyControl from './sticky-control';\nimport { usePostTypes } from '../../utils';\n\nfunction useIsPostTypeHierarchical( postType ) {\n\treturn useSelect(\n\t\t( select ) => {\n\t\t\tconst type = select( coreStore ).getPostType( postType );\n\t\t\treturn type?.viewable && type?.hierarchical;\n\t\t},\n\t\t[ postType ]\n\t);\n}\n\nexport default function QueryInspectorControls( {\n\tattributes: { query, displayLayout },\n\tsetQuery,\n\tsetDisplayLayout,\n} ) {\n\tconst {\n\t\torder,\n\t\torderBy,\n\t\tauthor: authorIds,\n\t\tpostType,\n\t\tsticky,\n\t\tinherit,\n\t\ttaxQuery,\n\t\tparents,\n\t} = query;\n\tconst [ showSticky, setShowSticky ] = useState( postType === 'post' );\n\tconst { postTypesTaxonomiesMap, postTypesSelectOptions } = usePostTypes();\n\tconst isPostTypeHierarchical = useIsPostTypeHierarchical( postType );\n\tuseEffect( () => {\n\t\tsetShowSticky( postType === 'post' );\n\t}, [ postType ] );\n\tconst onPostTypeChange = ( newValue ) => {\n\t\tconst updateQuery = { postType: newValue };\n\t\t// We need to dynamically update the `taxQuery` property,\n\t\t// by removing any not supported taxonomy from the query.\n\t\tconst supportedTaxonomies = postTypesTaxonomiesMap[ newValue ];\n\t\tconst updatedTaxQuery = Object.entries( taxQuery || {} ).reduce(\n\t\t\t( accumulator, [ taxonomySlug, terms ] ) => {\n\t\t\t\tif ( supportedTaxonomies.includes( taxonomySlug ) ) {\n\t\t\t\t\taccumulator[ taxonomySlug ] = terms;\n\t\t\t\t}\n\t\t\t\treturn accumulator;\n\t\t\t},\n\t\t\t{}\n\t\t);\n\t\tupdateQuery.taxQuery = !! Object.keys( updatedTaxQuery ).length\n\t\t\t? updatedTaxQuery\n\t\t\t: undefined;\n\n\t\tif ( newValue !== 'post' ) {\n\t\t\tupdateQuery.sticky = '';\n\t\t}\n\t\t// We need to reset `parents` because they are tied to each post type.\n\t\tupdateQuery.parents = [];\n\t\tsetQuery( updateQuery );\n\t};\n\tconst [ querySearch, setQuerySearch ] = useState( query.search );\n\tconst onChangeDebounced = useCallback(\n\t\tdebounce( () => {\n\t\t\tif ( query.search !== querySearch ) {\n\t\t\t\tsetQuery( { search: querySearch } );\n\t\t\t}\n\t\t}, 250 ),\n\t\t[ querySearch, query.search ]\n\t);\n\tuseEffect( () => {\n\t\tonChangeDebounced();\n\t\treturn onChangeDebounced.cancel;\n\t}, [ querySearch, onChangeDebounced ] );\n\treturn (\n\t\t<InspectorControls>\n\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t<ToggleControl\n\t\t\t\t\tlabel={ __( 'Inherit query from template' ) }\n\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t'Toggle to use the global query context that is set with the current template, such as an archive or search. Disable to customize the settings independently.'\n\t\t\t\t\t) }\n\t\t\t\t\tchecked={ !! inherit }\n\t\t\t\t\tonChange={ ( value ) => setQuery( { inherit: !! value } ) }\n\t\t\t\t/>\n\t\t\t\t{ ! inherit && (\n\t\t\t\t\t<SelectControl\n\t\t\t\t\t\toptions={ postTypesSelectOptions }\n\t\t\t\t\t\tvalue={ postType }\n\t\t\t\t\t\tlabel={ __( 'Post type' ) }\n\t\t\t\t\t\tonChange={ onPostTypeChange }\n\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t'WordPress contains different types of content and they are divided into collections called \"Post types\". By default there are a few different ones such as blog posts and pages, but plugins could add more.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ displayLayout?.type === 'flex' && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t\tlabel={ __( 'Columns' ) }\n\t\t\t\t\t\t\tvalue={ displayLayout.columns }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetDisplayLayout( { columns: value } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tmin={ 2 }\n\t\t\t\t\t\t\tmax={ Math.max( 6, displayLayout.columns ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t{ displayLayout.columns > 6 && (\n\t\t\t\t\t\t\t<Notice status=\"warning\" isDismissible={ false }>\n\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t'This column count exceeds the recommended amount and may cause visual breakage.'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</Notice>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</>\n\t\t\t\t) }\n\t\t\t\t{ ! inherit && (\n\t\t\t\t\t<OrderControl\n\t\t\t\t\t\t{ ...{ order, orderBy } }\n\t\t\t\t\t\tonChange={ setQuery }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ ! inherit && showSticky && (\n\t\t\t\t\t<StickyControl\n\t\t\t\t\t\tvalue={ sticky }\n\t\t\t\t\t\tonChange={ ( value ) => setQuery( { sticky: value } ) }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</PanelBody>\n\t\t\t{ ! inherit && (\n\t\t\t\t<PanelBody title={ __( 'Filters' ) }>\n\t\t\t\t\t<TaxonomyControls onChange={ setQuery } query={ query } />\n\t\t\t\t\t<AuthorControl value={ authorIds } onChange={ setQuery } />\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\tlabel={ __( 'Keyword' ) }\n\t\t\t\t\t\tvalue={ querySearch }\n\t\t\t\t\t\tonChange={ setQuerySearch }\n\t\t\t\t\t/>\n\t\t\t\t\t{ isPostTypeHierarchical && (\n\t\t\t\t\t\t<ParentControl\n\t\t\t\t\t\t\tparents={ parents }\n\t\t\t\t\t\t\tpostType={ postType }\n\t\t\t\t\t\t\tonChange={ setQuery }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</PanelBody>\n\t\t\t) }\n\t\t</InspectorControls>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/query/edit/inspector-controls/index.js"],"names":["debounce","PanelBody","TextControl","SelectControl","RangeControl","ToggleControl","Notice","__experimentalToolsPanel","ToolsPanel","__experimentalToolsPanelItem","ToolsPanelItem","__","InspectorControls","useEffect","useState","useCallback","useSelect","store","coreStore","OrderControl","AuthorControl","ParentControl","TaxonomyControls","useTaxonomiesInfo","StickyControl","usePostTypes","useIsPostTypeHierarchical","postType","select","type","getPostType","viewable","hierarchical","QueryInspectorControls","attributes","query","displayLayout","setQuery","setDisplayLayout","order","orderBy","author","authorIds","sticky","inherit","taxQuery","parents","showSticky","setShowSticky","postTypesTaxonomiesMap","postTypesSelectOptions","taxonomiesInfo","isPostTypeHierarchical","onPostTypeChange","newValue","updateQuery","supportedTaxonomies","updatedTaxQuery","Object","entries","reduce","accumulator","taxonomySlug","terms","includes","keys","length","undefined","querySearch","setQuerySearch","search","onChangeDebounced","cancel","value","columns","Math","max","values","some"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { debounce } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tPanelBody,\n\tTextControl,\n\tSelectControl,\n\tRangeControl,\n\tToggleControl,\n\tNotice,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { InspectorControls } from '@wordpress/block-editor';\nimport { useEffect, useState, useCallback } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport OrderControl from './order-control';\nimport AuthorControl from './author-control';\nimport ParentControl from './parent-control';\nimport { TaxonomyControls, useTaxonomiesInfo } from './taxonomy-controls';\nimport StickyControl from './sticky-control';\nimport { usePostTypes } from '../../utils';\n\nfunction useIsPostTypeHierarchical( postType ) {\n\treturn useSelect(\n\t\t( select ) => {\n\t\t\tconst type = select( coreStore ).getPostType( postType );\n\t\t\treturn type?.viewable && type?.hierarchical;\n\t\t},\n\t\t[ postType ]\n\t);\n}\n\nexport default function QueryInspectorControls( {\n\tattributes: { query, displayLayout },\n\tsetQuery,\n\tsetDisplayLayout,\n} ) {\n\tconst {\n\t\torder,\n\t\torderBy,\n\t\tauthor: authorIds,\n\t\tpostType,\n\t\tsticky,\n\t\tinherit,\n\t\ttaxQuery,\n\t\tparents,\n\t} = query;\n\tconst [ showSticky, setShowSticky ] = useState( postType === 'post' );\n\tconst { postTypesTaxonomiesMap, postTypesSelectOptions } = usePostTypes();\n\tconst taxonomiesInfo = useTaxonomiesInfo( postType );\n\tconst isPostTypeHierarchical = useIsPostTypeHierarchical( postType );\n\tuseEffect( () => {\n\t\tsetShowSticky( postType === 'post' );\n\t}, [ postType ] );\n\tconst onPostTypeChange = ( newValue ) => {\n\t\tconst updateQuery = { postType: newValue };\n\t\t// We need to dynamically update the `taxQuery` property,\n\t\t// by removing any not supported taxonomy from the query.\n\t\tconst supportedTaxonomies = postTypesTaxonomiesMap[ newValue ];\n\t\tconst updatedTaxQuery = Object.entries( taxQuery || {} ).reduce(\n\t\t\t( accumulator, [ taxonomySlug, terms ] ) => {\n\t\t\t\tif ( supportedTaxonomies.includes( taxonomySlug ) ) {\n\t\t\t\t\taccumulator[ taxonomySlug ] = terms;\n\t\t\t\t}\n\t\t\t\treturn accumulator;\n\t\t\t},\n\t\t\t{}\n\t\t);\n\t\tupdateQuery.taxQuery = !! Object.keys( updatedTaxQuery ).length\n\t\t\t? updatedTaxQuery\n\t\t\t: undefined;\n\n\t\tif ( newValue !== 'post' ) {\n\t\t\tupdateQuery.sticky = '';\n\t\t}\n\t\t// We need to reset `parents` because they are tied to each post type.\n\t\tupdateQuery.parents = [];\n\t\tsetQuery( updateQuery );\n\t};\n\tconst [ querySearch, setQuerySearch ] = useState( query.search );\n\tconst onChangeDebounced = useCallback(\n\t\tdebounce( () => {\n\t\t\tif ( query.search !== querySearch ) {\n\t\t\t\tsetQuery( { search: querySearch } );\n\t\t\t}\n\t\t}, 250 ),\n\t\t[ querySearch, query.search ]\n\t);\n\tuseEffect( () => {\n\t\tonChangeDebounced();\n\t\treturn onChangeDebounced.cancel;\n\t}, [ querySearch, onChangeDebounced ] );\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={ __( 'Inherit query from template' ) }\n\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t'Toggle to use the global query context that is set with the current template, such as an archive or search. Disable to customize the settings independently.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tchecked={ !! inherit }\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetQuery( { inherit: !! value } )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t\t{ ! inherit && (\n\t\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t\toptions={ postTypesSelectOptions }\n\t\t\t\t\t\t\tvalue={ postType }\n\t\t\t\t\t\t\tlabel={ __( 'Post type' ) }\n\t\t\t\t\t\t\tonChange={ onPostTypeChange }\n\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t'WordPress contains different types of content and they are divided into collections called \"Post types\". By default there are a few different ones such as blog posts and pages, but plugins could add more.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ displayLayout?.type === 'flex' && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t\t\tlabel={ __( 'Columns' ) }\n\t\t\t\t\t\t\t\tvalue={ displayLayout.columns }\n\t\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\t\tsetDisplayLayout( { columns: value } )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tmin={ 2 }\n\t\t\t\t\t\t\t\tmax={ Math.max( 6, displayLayout.columns ) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t{ displayLayout.columns > 6 && (\n\t\t\t\t\t\t\t\t<Notice\n\t\t\t\t\t\t\t\t\tstatus=\"warning\"\n\t\t\t\t\t\t\t\t\tisDismissible={ false }\n\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\t\t'This column count exceeds the recommended amount and may cause visual breakage.'\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</Notice>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</>\n\t\t\t\t\t) }\n\t\t\t\t\t{ ! inherit && (\n\t\t\t\t\t\t<OrderControl\n\t\t\t\t\t\t\t{ ...{ order, orderBy } }\n\t\t\t\t\t\t\tonChange={ setQuery }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ ! inherit && showSticky && (\n\t\t\t\t\t\t<StickyControl\n\t\t\t\t\t\t\tvalue={ sticky }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetQuery( { sticky: value } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t{ ! inherit && (\n\t\t\t\t<InspectorControls>\n\t\t\t\t\t<ToolsPanel\n\t\t\t\t\t\tclassName=\"block-library-query-toolspanel__filters\"\n\t\t\t\t\t\tlabel={ __( 'Filters' ) }\n\t\t\t\t\t\tresetAll={ () => {\n\t\t\t\t\t\t\tsetQuery( {\n\t\t\t\t\t\t\t\tauthor: '',\n\t\t\t\t\t\t\t\tparents: [],\n\t\t\t\t\t\t\t\tsearch: '',\n\t\t\t\t\t\t\t\ttaxQuery: null,\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\tsetQuerySearch( '' );\n\t\t\t\t\t\t} }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ !! taxonomiesInfo?.length && (\n\t\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\t\tlabel={ __( 'Taxonomies' ) }\n\t\t\t\t\t\t\t\thasValue={ () =>\n\t\t\t\t\t\t\t\t\tObject.values( taxQuery || {} ).some(\n\t\t\t\t\t\t\t\t\t\t( terms ) => !! terms.length\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\tonDeselect={ () =>\n\t\t\t\t\t\t\t\t\tsetQuery( { taxQuery: null } )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<TaxonomyControls\n\t\t\t\t\t\t\t\t\tonChange={ setQuery }\n\t\t\t\t\t\t\t\t\tquery={ query }\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<ToolsPanelItem\n\t\t\t\t\t\t\thasValue={ () => !! authorIds }\n\t\t\t\t\t\t\tlabel={ __( 'Authors' ) }\n\t\t\t\t\t\t\tonDeselect={ () => setQuery( { author: '' } ) }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<AuthorControl\n\t\t\t\t\t\t\t\tvalue={ authorIds }\n\t\t\t\t\t\t\t\tonChange={ setQuery }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\thasValue={ () => !! querySearch }\n\t\t\t\t\t\t\tlabel={ __( 'Keyword' ) }\n\t\t\t\t\t\t\tonDeselect={ () => setQuerySearch( '' ) }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<TextControl\n\t\t\t\t\t\t\t\tlabel={ __( 'Keyword' ) }\n\t\t\t\t\t\t\t\tvalue={ querySearch }\n\t\t\t\t\t\t\t\tonChange={ setQuerySearch }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t\t{ isPostTypeHierarchical && (\n\t\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\t\thasValue={ () => !! parents?.length }\n\t\t\t\t\t\t\t\tlabel={ __( 'Parents' ) }\n\t\t\t\t\t\t\t\tonDeselect={ () => setQuery( { parents: [] } ) }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<ParentControl\n\t\t\t\t\t\t\t\t\tparents={ parents }\n\t\t\t\t\t\t\t\t\tpostType={ postType }\n\t\t\t\t\t\t\t\t\tonChange={ setQuery }\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</ToolsPanel>\n\t\t\t\t</InspectorControls>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"]}
@@ -38,12 +38,8 @@ const getTermIdByTermValue = (termsMappedByName, termValue) => {
38
38
  }
39
39
  };
40
40
 
41
- function TaxonomyControls(_ref) {
42
- let {
43
- onChange,
44
- query
45
- } = _ref;
46
- const taxonomies = useTaxonomies(query.postType);
41
+ export const useTaxonomiesInfo = postType => {
42
+ const taxonomies = useTaxonomies(postType);
47
43
  const taxonomiesInfo = useSelect(select => {
48
44
  const {
49
45
  getEntityRecords
@@ -52,11 +48,11 @@ function TaxonomyControls(_ref) {
52
48
  per_page: MAX_FETCHED_TERMS
53
49
  };
54
50
 
55
- const _taxonomiesInfo = taxonomies === null || taxonomies === void 0 ? void 0 : taxonomies.map(_ref2 => {
51
+ const _taxonomiesInfo = taxonomies === null || taxonomies === void 0 ? void 0 : taxonomies.map(_ref => {
56
52
  let {
57
53
  slug,
58
54
  name
59
- } = _ref2;
55
+ } = _ref;
60
56
 
61
57
  const _terms = getEntityRecords('taxonomy', slug, termsQuery);
62
58
 
@@ -69,6 +65,14 @@ function TaxonomyControls(_ref) {
69
65
 
70
66
  return _taxonomiesInfo;
71
67
  }, [taxonomies]);
68
+ return taxonomiesInfo;
69
+ };
70
+ export function TaxonomyControls(_ref2) {
71
+ let {
72
+ onChange,
73
+ query
74
+ } = _ref2;
75
+ const taxonomiesInfo = useTaxonomiesInfo(query.postType);
72
76
 
73
77
  const onTermsChange = taxonomySlug => newTermValues => {
74
78
  const taxonomyInfo = taxonomiesInfo.find(_ref3 => {
@@ -131,15 +135,15 @@ function TaxonomyControls(_ref) {
131
135
  return null;
132
136
  }
133
137
 
134
- return createElement(FormTokenField, {
138
+ return createElement("div", {
135
139
  key: slug,
140
+ className: "block-library-query-inspector__taxonomy-control"
141
+ }, createElement(FormTokenField, {
136
142
  label: name,
137
143
  value: getExistingTaxQueryValue(slug),
138
144
  suggestions: terms.names,
139
145
  onChange: onTermsChange(slug)
140
- });
146
+ }));
141
147
  }));
142
148
  }
143
-
144
- export default TaxonomyControls;
145
149
  //# sourceMappingURL=taxonomy-controls.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/query/edit/inspector-controls/taxonomy-controls.js"],"names":["FormTokenField","useSelect","store","coreStore","getEntitiesInfo","useTaxonomies","MAX_FETCHED_TERMS","getTermIdByTermValue","termsMappedByName","termValue","termId","id","termValueLower","toLocaleLowerCase","term","TaxonomyControls","onChange","query","taxonomies","postType","taxonomiesInfo","select","getEntityRecords","termsQuery","per_page","_taxonomiesInfo","map","slug","name","_terms","terms","onTermsChange","taxonomySlug","newTermValues","taxonomyInfo","find","termIds","Array","from","reduce","accumulator","mapByName","add","Set","newTaxQuery","taxQuery","getExistingTaxQueryValue","mapById","push","value","length","names"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { FormTokenField } from '@wordpress/components';\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport { getEntitiesInfo, useTaxonomies } from '../../utils';\nimport { MAX_FETCHED_TERMS } from '../../constants';\n\n// Helper function to get the term id based on user input in terms `FormTokenField`.\nconst getTermIdByTermValue = ( termsMappedByName, termValue ) => {\n\t// First we check for exact match by `term.id` or case sensitive `term.name` match.\n\tconst termId = termValue?.id || termsMappedByName[ termValue ]?.id;\n\tif ( termId ) return termId;\n\t/**\n\t * Here we make an extra check for entered terms in a non case sensitive way,\n\t * to match user expectations, due to `FormTokenField` behaviour that shows\n\t * suggestions which are case insensitive.\n\t *\n\t * Although WP tries to discourage users to add terms with the same name (case insensitive),\n\t * it's still possible if you manually change the name, as long as the terms have different slugs.\n\t * In this edge case we always apply the first match from the terms list.\n\t */\n\tconst termValueLower = termValue.toLocaleLowerCase();\n\tfor ( const term in termsMappedByName ) {\n\t\tif ( term.toLocaleLowerCase() === termValueLower ) {\n\t\t\treturn termsMappedByName[ term ].id;\n\t\t}\n\t}\n};\n\nfunction TaxonomyControls( { onChange, query } ) {\n\tconst taxonomies = useTaxonomies( query.postType );\n\tconst taxonomiesInfo = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEntityRecords } = select( coreStore );\n\t\t\tconst termsQuery = { per_page: MAX_FETCHED_TERMS };\n\t\t\tconst _taxonomiesInfo = taxonomies?.map( ( { slug, name } ) => {\n\t\t\t\tconst _terms = getEntityRecords( 'taxonomy', slug, termsQuery );\n\t\t\t\treturn {\n\t\t\t\t\tslug,\n\t\t\t\t\tname,\n\t\t\t\t\tterms: getEntitiesInfo( _terms ),\n\t\t\t\t};\n\t\t\t} );\n\t\t\treturn _taxonomiesInfo;\n\t\t},\n\t\t[ taxonomies ]\n\t);\n\tconst onTermsChange = ( taxonomySlug ) => ( newTermValues ) => {\n\t\tconst taxonomyInfo = taxonomiesInfo.find(\n\t\t\t( { slug } ) => slug === taxonomySlug\n\t\t);\n\t\tif ( ! taxonomyInfo ) return;\n\t\tconst termIds = Array.from(\n\t\t\tnewTermValues.reduce( ( accumulator, termValue ) => {\n\t\t\t\tconst termId = getTermIdByTermValue(\n\t\t\t\t\ttaxonomyInfo.terms.mapByName,\n\t\t\t\t\ttermValue\n\t\t\t\t);\n\t\t\t\tif ( termId ) accumulator.add( termId );\n\t\t\t\treturn accumulator;\n\t\t\t}, new Set() )\n\t\t);\n\t\tconst newTaxQuery = {\n\t\t\t...query.taxQuery,\n\t\t\t[ taxonomySlug ]: termIds,\n\t\t};\n\t\tonChange( { taxQuery: newTaxQuery } );\n\t};\n\t// Returns only the existing term ids in proper format to be\n\t// used in `FormTokenField`. This prevents the component from\n\t// crashing in the editor, when non existing term ids were provided.\n\tconst getExistingTaxQueryValue = ( taxonomySlug ) => {\n\t\tconst taxonomyInfo = taxonomiesInfo.find(\n\t\t\t( { slug } ) => slug === taxonomySlug\n\t\t);\n\t\tif ( ! taxonomyInfo ) return [];\n\t\treturn ( query.taxQuery?.[ taxonomySlug ] || [] ).reduce(\n\t\t\t( accumulator, termId ) => {\n\t\t\t\tconst term = taxonomyInfo.terms.mapById[ termId ];\n\t\t\t\tif ( term ) {\n\t\t\t\t\taccumulator.push( {\n\t\t\t\t\t\tid: termId,\n\t\t\t\t\t\tvalue: term.name,\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t\treturn accumulator;\n\t\t\t},\n\t\t\t[]\n\t\t);\n\t};\n\treturn (\n\t\t<>\n\t\t\t{ !! taxonomiesInfo?.length &&\n\t\t\t\ttaxonomiesInfo.map( ( { slug, name, terms } ) => {\n\t\t\t\t\tif ( ! terms?.names?.length ) {\n\t\t\t\t\t\treturn null;\n\t\t\t\t\t}\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<FormTokenField\n\t\t\t\t\t\t\tkey={ slug }\n\t\t\t\t\t\t\tlabel={ name }\n\t\t\t\t\t\t\tvalue={ getExistingTaxQueryValue( slug ) }\n\t\t\t\t\t\t\tsuggestions={ terms.names }\n\t\t\t\t\t\t\tonChange={ onTermsChange( slug ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\t\t\t\t} ) }\n\t\t</>\n\t);\n}\n\nexport default TaxonomyControls;\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/query/edit/inspector-controls/taxonomy-controls.js"],"names":["FormTokenField","useSelect","store","coreStore","getEntitiesInfo","useTaxonomies","MAX_FETCHED_TERMS","getTermIdByTermValue","termsMappedByName","termValue","termId","id","termValueLower","toLocaleLowerCase","term","useTaxonomiesInfo","postType","taxonomies","taxonomiesInfo","select","getEntityRecords","termsQuery","per_page","_taxonomiesInfo","map","slug","name","_terms","terms","TaxonomyControls","onChange","query","onTermsChange","taxonomySlug","newTermValues","taxonomyInfo","find","termIds","Array","from","reduce","accumulator","mapByName","add","Set","newTaxQuery","taxQuery","getExistingTaxQueryValue","mapById","push","value","length","names"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { FormTokenField } from '@wordpress/components';\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport { getEntitiesInfo, useTaxonomies } from '../../utils';\nimport { MAX_FETCHED_TERMS } from '../../constants';\n\n// Helper function to get the term id based on user input in terms `FormTokenField`.\nconst getTermIdByTermValue = ( termsMappedByName, termValue ) => {\n\t// First we check for exact match by `term.id` or case sensitive `term.name` match.\n\tconst termId = termValue?.id || termsMappedByName[ termValue ]?.id;\n\tif ( termId ) return termId;\n\t/**\n\t * Here we make an extra check for entered terms in a non case sensitive way,\n\t * to match user expectations, due to `FormTokenField` behaviour that shows\n\t * suggestions which are case insensitive.\n\t *\n\t * Although WP tries to discourage users to add terms with the same name (case insensitive),\n\t * it's still possible if you manually change the name, as long as the terms have different slugs.\n\t * In this edge case we always apply the first match from the terms list.\n\t */\n\tconst termValueLower = termValue.toLocaleLowerCase();\n\tfor ( const term in termsMappedByName ) {\n\t\tif ( term.toLocaleLowerCase() === termValueLower ) {\n\t\t\treturn termsMappedByName[ term ].id;\n\t\t}\n\t}\n};\n\nexport const useTaxonomiesInfo = ( postType ) => {\n\tconst taxonomies = useTaxonomies( postType );\n\tconst taxonomiesInfo = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEntityRecords } = select( coreStore );\n\t\t\tconst termsQuery = { per_page: MAX_FETCHED_TERMS };\n\t\t\tconst _taxonomiesInfo = taxonomies?.map( ( { slug, name } ) => {\n\t\t\t\tconst _terms = getEntityRecords( 'taxonomy', slug, termsQuery );\n\t\t\t\treturn {\n\t\t\t\t\tslug,\n\t\t\t\t\tname,\n\t\t\t\t\tterms: getEntitiesInfo( _terms ),\n\t\t\t\t};\n\t\t\t} );\n\t\t\treturn _taxonomiesInfo;\n\t\t},\n\t\t[ taxonomies ]\n\t);\n\treturn taxonomiesInfo;\n};\n\nexport function TaxonomyControls( { onChange, query } ) {\n\tconst taxonomiesInfo = useTaxonomiesInfo( query.postType );\n\tconst onTermsChange = ( taxonomySlug ) => ( newTermValues ) => {\n\t\tconst taxonomyInfo = taxonomiesInfo.find(\n\t\t\t( { slug } ) => slug === taxonomySlug\n\t\t);\n\t\tif ( ! taxonomyInfo ) return;\n\t\tconst termIds = Array.from(\n\t\t\tnewTermValues.reduce( ( accumulator, termValue ) => {\n\t\t\t\tconst termId = getTermIdByTermValue(\n\t\t\t\t\ttaxonomyInfo.terms.mapByName,\n\t\t\t\t\ttermValue\n\t\t\t\t);\n\t\t\t\tif ( termId ) accumulator.add( termId );\n\t\t\t\treturn accumulator;\n\t\t\t}, new Set() )\n\t\t);\n\t\tconst newTaxQuery = {\n\t\t\t...query.taxQuery,\n\t\t\t[ taxonomySlug ]: termIds,\n\t\t};\n\t\tonChange( { taxQuery: newTaxQuery } );\n\t};\n\t// Returns only the existing term ids in proper format to be\n\t// used in `FormTokenField`. This prevents the component from\n\t// crashing in the editor, when non existing term ids were provided.\n\tconst getExistingTaxQueryValue = ( taxonomySlug ) => {\n\t\tconst taxonomyInfo = taxonomiesInfo.find(\n\t\t\t( { slug } ) => slug === taxonomySlug\n\t\t);\n\t\tif ( ! taxonomyInfo ) return [];\n\t\treturn ( query.taxQuery?.[ taxonomySlug ] || [] ).reduce(\n\t\t\t( accumulator, termId ) => {\n\t\t\t\tconst term = taxonomyInfo.terms.mapById[ termId ];\n\t\t\t\tif ( term ) {\n\t\t\t\t\taccumulator.push( {\n\t\t\t\t\t\tid: termId,\n\t\t\t\t\t\tvalue: term.name,\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t\treturn accumulator;\n\t\t\t},\n\t\t\t[]\n\t\t);\n\t};\n\treturn (\n\t\t<>\n\t\t\t{ !! taxonomiesInfo?.length &&\n\t\t\t\ttaxonomiesInfo.map( ( { slug, name, terms } ) => {\n\t\t\t\t\tif ( ! terms?.names?.length ) {\n\t\t\t\t\t\treturn null;\n\t\t\t\t\t}\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tkey={ slug }\n\t\t\t\t\t\t\tclassName=\"block-library-query-inspector__taxonomy-control\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<FormTokenField\n\t\t\t\t\t\t\t\tlabel={ name }\n\t\t\t\t\t\t\t\tvalue={ getExistingTaxQueryValue( slug ) }\n\t\t\t\t\t\t\t\tsuggestions={ terms.names }\n\t\t\t\t\t\t\t\tonChange={ onTermsChange( slug ) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t);\n\t\t\t\t} ) }\n\t\t</>\n\t);\n}\n"]}
@@ -8,31 +8,31 @@ import classnames from 'classnames';
8
8
  * WordPress dependencies
9
9
  */
10
10
 
11
- import { AlignmentControl, BlockControls, useBlockProps, Warning } from '@wordpress/block-editor';
11
+ import { AlignmentControl, BlockControls, InspectorControls, useBlockProps, Warning } from '@wordpress/block-editor';
12
+ import { ToggleControl, PanelBody } from '@wordpress/components';
12
13
  import { __ } from '@wordpress/i18n';
13
14
  /**
14
15
  * Internal dependencies
15
16
  */
16
17
 
17
18
  import HeadingLevelDropdown from '../heading/heading-level-dropdown';
18
- const SUPPORTED_TYPES = ['archive'];
19
+ const SUPPORTED_TYPES = ['archive', 'search'];
19
20
  export default function QueryTitleEdit(_ref) {
20
21
  let {
21
22
  attributes: {
22
23
  type,
23
24
  level,
24
- textAlign
25
+ textAlign,
26
+ showSearchTerm
25
27
  },
26
28
  setAttributes
27
29
  } = _ref;
28
30
  const TagName = `h${level}`;
29
31
  const blockProps = useBlockProps({
30
- className: classnames({
31
- [`has-text-align-${textAlign}`]: textAlign,
32
- 'wp-block-query-title__placeholder': type === 'archive'
32
+ className: classnames('wp-block-query-title__placeholder', {
33
+ [`has-text-align-${textAlign}`]: textAlign
33
34
  })
34
- }); // The plan is to augment this block with more
35
- // block variations like `Search Title`.
35
+ });
36
36
 
37
37
  if (!SUPPORTED_TYPES.includes(type)) {
38
38
  return createElement("div", blockProps, createElement(Warning, null, __('Provided type is not supported.')));
@@ -44,6 +44,18 @@ export default function QueryTitleEdit(_ref) {
44
44
  titleElement = createElement(TagName, blockProps, __('Archive title'));
45
45
  }
46
46
 
47
+ if (type === 'search') {
48
+ titleElement = createElement(Fragment, null, createElement(InspectorControls, null, createElement(PanelBody, {
49
+ title: __('Settings')
50
+ }, createElement(ToggleControl, {
51
+ label: __('Show search term in title'),
52
+ onChange: () => setAttributes({
53
+ showSearchTerm: !showSearchTerm
54
+ }),
55
+ checked: showSearchTerm
56
+ }))), createElement(TagName, blockProps, showSearchTerm ? __('Search results for: "search term"') : __('Search results')));
57
+ }
58
+
47
59
  return createElement(Fragment, null, createElement(BlockControls, {
48
60
  group: "block"
49
61
  }, createElement(HeadingLevelDropdown, {
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/query-title/edit.js"],"names":["classnames","AlignmentControl","BlockControls","useBlockProps","Warning","__","HeadingLevelDropdown","SUPPORTED_TYPES","QueryTitleEdit","attributes","type","level","textAlign","setAttributes","TagName","blockProps","className","includes","titleElement","newLevel","nextAlign"],"mappings":";;AAAA;AACA;AACA;AACA,OAAOA,UAAP,MAAuB,YAAvB;AAEA;AACA;AACA;;AACA,SACCC,gBADD,EAECC,aAFD,EAGCC,aAHD,EAICC,OAJD,QAKO,yBALP;AAMA,SAASC,EAAT,QAAmB,iBAAnB;AAEA;AACA;AACA;;AACA,OAAOC,oBAAP,MAAiC,mCAAjC;AAEA,MAAMC,eAAe,GAAG,CAAE,SAAF,CAAxB;AAEA,eAAe,SAASC,cAAT,OAGX;AAAA,MAHoC;AACvCC,IAAAA,UAAU,EAAE;AAAEC,MAAAA,IAAF;AAAQC,MAAAA,KAAR;AAAeC,MAAAA;AAAf,KAD2B;AAEvCC,IAAAA;AAFuC,GAGpC;AACH,QAAMC,OAAO,GAAI,IAAIH,KAAO,EAA5B;AACA,QAAMI,UAAU,GAAGZ,aAAa,CAAE;AACjCa,IAAAA,SAAS,EAAEhB,UAAU,CAAE;AACtB,OAAG,kBAAkBY,SAAW,EAAhC,GAAqCA,SADf;AAEtB,2CAAqCF,IAAI,KAAK;AAFxB,KAAF;AADY,GAAF,CAAhC,CAFG,CAQH;AACA;;AACA,MAAK,CAAEH,eAAe,CAACU,QAAhB,CAA0BP,IAA1B,CAAP,EAA0C;AACzC,WACC,qBAAUK,UAAV,EACC,cAAC,OAAD,QAAWV,EAAE,CAAE,iCAAF,CAAb,CADD,CADD;AAKA;;AAED,MAAIa,YAAJ;;AACA,MAAKR,IAAI,KAAK,SAAd,EAA0B;AACzBQ,IAAAA,YAAY,GACX,cAAC,OAAD,EAAcH,UAAd,EAA6BV,EAAE,CAAE,eAAF,CAA/B,CADD;AAGA;;AACD,SACC,8BACC,cAAC,aAAD;AAAe,IAAA,KAAK,EAAC;AAArB,KACC,cAAC,oBAAD;AACC,IAAA,aAAa,EAAGM,KADjB;AAEC,IAAA,QAAQ,EAAKQ,QAAF,IACVN,aAAa,CAAE;AAAEF,MAAAA,KAAK,EAAEQ;AAAT,KAAF;AAHf,IADD,EAOC,cAAC,gBAAD;AACC,IAAA,KAAK,EAAGP,SADT;AAEC,IAAA,QAAQ,EAAKQ,SAAF,IAAiB;AAC3BP,MAAAA,aAAa,CAAE;AAAED,QAAAA,SAAS,EAAEQ;AAAb,OAAF,CAAb;AACA;AAJF,IAPD,CADD,EAeGF,YAfH,CADD;AAmBA","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tAlignmentControl,\n\tBlockControls,\n\tuseBlockProps,\n\tWarning,\n} from '@wordpress/block-editor';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport HeadingLevelDropdown from '../heading/heading-level-dropdown';\n\nconst SUPPORTED_TYPES = [ 'archive' ];\n\nexport default function QueryTitleEdit( {\n\tattributes: { type, level, textAlign },\n\tsetAttributes,\n} ) {\n\tconst TagName = `h${ level }`;\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classnames( {\n\t\t\t[ `has-text-align-${ textAlign }` ]: textAlign,\n\t\t\t'wp-block-query-title__placeholder': type === 'archive',\n\t\t} ),\n\t} );\n\t// The plan is to augment this block with more\n\t// block variations like `Search Title`.\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\ttitleElement = (\n\t\t\t<TagName { ...blockProps }>{ __( 'Archive title' ) }</TagName>\n\t\t);\n\t}\n\treturn (\n\t\t<>\n\t\t\t<BlockControls group=\"block\">\n\t\t\t\t<HeadingLevelDropdown\n\t\t\t\t\tselectedLevel={ level }\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"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/query-title/edit.js"],"names":["classnames","AlignmentControl","BlockControls","InspectorControls","useBlockProps","Warning","ToggleControl","PanelBody","__","HeadingLevelDropdown","SUPPORTED_TYPES","QueryTitleEdit","attributes","type","level","textAlign","showSearchTerm","setAttributes","TagName","blockProps","className","includes","titleElement","newLevel","nextAlign"],"mappings":";;AAAA;AACA;AACA;AACA,OAAOA,UAAP,MAAuB,YAAvB;AAEA;AACA;AACA;;AACA,SACCC,gBADD,EAECC,aAFD,EAGCC,iBAHD,EAICC,aAJD,EAKCC,OALD,QAMO,yBANP;AAOA,SAASC,aAAT,EAAwBC,SAAxB,QAAyC,uBAAzC;AACA,SAASC,EAAT,QAAmB,iBAAnB;AAEA;AACA;AACA;;AACA,OAAOC,oBAAP,MAAiC,mCAAjC;AAEA,MAAMC,eAAe,GAAG,CAAE,SAAF,EAAa,QAAb,CAAxB;AAEA,eAAe,SAASC,cAAT,OAGX;AAAA,MAHoC;AACvCC,IAAAA,UAAU,EAAE;AAAEC,MAAAA,IAAF;AAAQC,MAAAA,KAAR;AAAeC,MAAAA,SAAf;AAA0BC,MAAAA;AAA1B,KAD2B;AAEvCC,IAAAA;AAFuC,GAGpC;AACH,QAAMC,OAAO,GAAI,IAAIJ,KAAO,EAA5B;AACA,QAAMK,UAAU,GAAGf,aAAa,CAAE;AACjCgB,IAAAA,SAAS,EAAEpB,UAAU,CAAE,mCAAF,EAAuC;AAC3D,OAAG,kBAAkBe,SAAW,EAAhC,GAAqCA;AADsB,KAAvC;AADY,GAAF,CAAhC;;AAMA,MAAK,CAAEL,eAAe,CAACW,QAAhB,CAA0BR,IAA1B,CAAP,EAA0C;AACzC,WACC,qBAAUM,UAAV,EACC,cAAC,OAAD,QAAWX,EAAE,CAAE,iCAAF,CAAb,CADD,CADD;AAKA;;AAED,MAAIc,YAAJ;;AACA,MAAKT,IAAI,KAAK,SAAd,EAA0B;AACzBS,IAAAA,YAAY,GACX,cAAC,OAAD,EAAcH,UAAd,EAA6BX,EAAE,CAAE,eAAF,CAA/B,CADD;AAGA;;AAED,MAAKK,IAAI,KAAK,QAAd,EAAyB;AACxBS,IAAAA,YAAY,GACX,8BACC,cAAC,iBAAD,QACC,cAAC,SAAD;AAAW,MAAA,KAAK,EAAGd,EAAE,CAAE,UAAF;AAArB,OACC,cAAC,aAAD;AACC,MAAA,KAAK,EAAGA,EAAE,CAAE,2BAAF,CADX;AAEC,MAAA,QAAQ,EAAG,MACVS,aAAa,CAAE;AACdD,QAAAA,cAAc,EAAE,CAAEA;AADJ,OAAF,CAHf;AAOC,MAAA,OAAO,EAAGA;AAPX,MADD,CADD,CADD,EAeC,cAAC,OAAD,EAAcG,UAAd,EACGH,cAAc,GACbR,EAAE,CAAE,mCAAF,CADW,GAEbA,EAAE,CAAE,gBAAF,CAHN,CAfD,CADD;AAuBA;;AAED,SACC,8BACC,cAAC,aAAD;AAAe,IAAA,KAAK,EAAC;AAArB,KACC,cAAC,oBAAD;AACC,IAAA,aAAa,EAAGM,KADjB;AAEC,IAAA,QAAQ,EAAKS,QAAF,IACVN,aAAa,CAAE;AAAEH,MAAAA,KAAK,EAAES;AAAT,KAAF;AAHf,IADD,EAOC,cAAC,gBAAD;AACC,IAAA,KAAK,EAAGR,SADT;AAEC,IAAA,QAAQ,EAAKS,SAAF,IAAiB;AAC3BP,MAAAA,aAAa,CAAE;AAAEF,QAAAA,SAAS,EAAES;AAAb,OAAF,CAAb;AACA;AAJF,IAPD,CADD,EAeGF,YAfH,CADD;AAmBA","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tAlignmentControl,\n\tBlockControls,\n\tInspectorControls,\n\tuseBlockProps,\n\tWarning,\n} from '@wordpress/block-editor';\nimport { ToggleControl, PanelBody } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport HeadingLevelDropdown from '../heading/heading-level-dropdown';\n\nconst SUPPORTED_TYPES = [ 'archive', 'search' ];\n\nexport default function QueryTitleEdit( {\n\tattributes: { type, level, textAlign, showSearchTerm },\n\tsetAttributes,\n} ) {\n\tconst TagName = `h${ level }`;\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classnames( '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\ttitleElement = (\n\t\t\t<TagName { ...blockProps }>{ __( 'Archive title' ) }</TagName>\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<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\tlabel={ __( 'Show search term in title' ) }\n\t\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\tshowSearchTerm: ! showSearchTerm,\n\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tchecked={ showSearchTerm }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</PanelBody>\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\tselectedLevel={ level }\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"]}
@@ -19,6 +19,10 @@ const metadata = {
19
19
  level: {
20
20
  type: "number",
21
21
  "default": 1
22
+ },
23
+ showSearchTerm: {
24
+ type: "boolean",
25
+ "default": true
22
26
  }
23
27
  },
24
28
  supports: {
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/query-title/index.js"],"names":["edit","variations","deprecated","title","icon","name","metadata","settings"],"mappings":"AAAA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,OAAOA,IAAP,MAAiB,QAAjB;AACA,OAAOC,UAAP,MAAuB,cAAvB;AACA,OAAOC,UAAP,MAAuB,cAAvB;AAEA;AACA;AACA;;AACA,SAASC,KAAK,IAAIC,IAAlB,QAA8B,kBAA9B;AAEA,MAAM;AAAEC,EAAAA;AAAF,IAAWC,QAAjB;AACA,SAASA,QAAT,EAAmBD,IAAnB;AAEA,OAAO,MAAME,QAAQ,GAAG;AACvBH,EAAAA,IADuB;AAEvBJ,EAAAA,IAFuB;AAGvBC,EAAAA,UAHuB;AAIvBC,EAAAA;AAJuB,CAAjB","sourcesContent":["/**\n * Internal dependencies\n */\nimport metadata from './block.json';\nimport edit from './edit';\nimport variations from './variations';\nimport deprecated from './deprecated';\n\n/**\n * WordPress dependencies\n */\nimport { title as icon } from '@wordpress/icons';\n\nconst { name } = metadata;\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\tedit,\n\tvariations,\n\tdeprecated,\n};\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/query-title/index.js"],"names":["edit","variations","deprecated","title","icon","name","metadata","settings"],"mappings":"AAAA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,OAAOA,IAAP,MAAiB,QAAjB;AACA,OAAOC,UAAP,MAAuB,cAAvB;AACA,OAAOC,UAAP,MAAuB,cAAvB;AAEA;AACA;AACA;;AACA,SAASC,KAAK,IAAIC,IAAlB,QAA8B,kBAA9B;AAEA,MAAM;AAAEC,EAAAA;AAAF,IAAWC,QAAjB;AACA,SAASA,QAAT,EAAmBD,IAAnB;AAEA,OAAO,MAAME,QAAQ,GAAG;AACvBH,EAAAA,IADuB;AAEvBJ,EAAAA,IAFuB;AAGvBC,EAAAA,UAHuB;AAIvBC,EAAAA;AAJuB,CAAjB","sourcesContent":["/**\n * Internal dependencies\n */\nimport metadata from './block.json';\nimport edit from './edit';\nimport variations from './variations';\nimport deprecated from './deprecated';\n\n/**\n * WordPress dependencies\n */\nimport { title as icon } from '@wordpress/icons';\n\nconst { name } = metadata;\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\tedit,\n\tvariations,\n\tdeprecated,\n};\n"]}
@@ -13,6 +13,16 @@ const variations = [{
13
13
  type: 'archive'
14
14
  },
15
15
  scope: ['inserter']
16
+ }, {
17
+ isDefault: false,
18
+ name: 'search-title',
19
+ title: __('Search Results Title'),
20
+ description: __('Display the search results title based on the queried object.'),
21
+ icon: title,
22
+ attributes: {
23
+ type: 'search'
24
+ },
25
+ scope: ['inserter']
16
26
  }];
17
27
  /**
18
28
  * Add `isActive` function to all `query-title` variations, if not defined.
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/query-title/variations.js"],"names":["__","title","variations","isDefault","name","description","icon","attributes","type","scope","forEach","variation","isActive","blockAttributes","variationAttributes"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,EAAT,QAAmB,iBAAnB;AACA,SAASC,KAAT,QAAsB,kBAAtB;AACA,MAAMC,UAAU,GAAG,CAClB;AACCC,EAAAA,SAAS,EAAE,IADZ;AAECC,EAAAA,IAAI,EAAE,eAFP;AAGCH,EAAAA,KAAK,EAAED,EAAE,CAAE,eAAF,CAHV;AAICK,EAAAA,WAAW,EAAEL,EAAE,CACd,wDADc,CAJhB;AAOCM,EAAAA,IAAI,EAAEL,KAPP;AAQCM,EAAAA,UAAU,EAAE;AACXC,IAAAA,IAAI,EAAE;AADK,GARb;AAWCC,EAAAA,KAAK,EAAE,CAAE,UAAF;AAXR,CADkB,CAAnB;AAgBA;AACA;AACA;AACA;AACA;;AACAP,UAAU,CAACQ,OAAX,CAAsBC,SAAF,IAAiB;AACpC,MAAKA,SAAS,CAACC,QAAf,EAA0B;;AAC1BD,EAAAA,SAAS,CAACC,QAAV,GAAqB,CAAEC,eAAF,EAAmBC,mBAAnB,KACpBD,eAAe,CAACL,IAAhB,KAAyBM,mBAAmB,CAACN,IAD9C;AAEA,CAJD;AAMA,eAAeN,UAAf","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];\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 ) return;\n\tvariation.isActive = ( blockAttributes, variationAttributes ) =>\n\t\tblockAttributes.type === variationAttributes.type;\n} );\n\nexport default variations;\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/query-title/variations.js"],"names":["__","title","variations","isDefault","name","description","icon","attributes","type","scope","forEach","variation","isActive","blockAttributes","variationAttributes"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,EAAT,QAAmB,iBAAnB;AACA,SAASC,KAAT,QAAsB,kBAAtB;AACA,MAAMC,UAAU,GAAG,CAClB;AACCC,EAAAA,SAAS,EAAE,IADZ;AAECC,EAAAA,IAAI,EAAE,eAFP;AAGCH,EAAAA,KAAK,EAAED,EAAE,CAAE,eAAF,CAHV;AAICK,EAAAA,WAAW,EAAEL,EAAE,CACd,wDADc,CAJhB;AAOCM,EAAAA,IAAI,EAAEL,KAPP;AAQCM,EAAAA,UAAU,EAAE;AACXC,IAAAA,IAAI,EAAE;AADK,GARb;AAWCC,EAAAA,KAAK,EAAE,CAAE,UAAF;AAXR,CADkB,EAclB;AACCN,EAAAA,SAAS,EAAE,KADZ;AAECC,EAAAA,IAAI,EAAE,cAFP;AAGCH,EAAAA,KAAK,EAAED,EAAE,CAAE,sBAAF,CAHV;AAICK,EAAAA,WAAW,EAAEL,EAAE,CACd,+DADc,CAJhB;AAOCM,EAAAA,IAAI,EAAEL,KAPP;AAQCM,EAAAA,UAAU,EAAE;AACXC,IAAAA,IAAI,EAAE;AADK,GARb;AAWCC,EAAAA,KAAK,EAAE,CAAE,UAAF;AAXR,CAdkB,CAAnB;AA6BA;AACA;AACA;AACA;AACA;;AACAP,UAAU,CAACQ,OAAX,CAAsBC,SAAF,IAAiB;AACpC,MAAKA,SAAS,CAACC,QAAf,EAA0B;;AAC1BD,EAAAA,SAAS,CAACC,QAAV,GAAqB,CAAEC,eAAF,EAAmBC,mBAAnB,KACpBD,eAAe,CAACL,IAAhB,KAAyBM,mBAAmB,CAACN,IAD9C;AAEA,CAJD;AAMA,eAAeN,UAAf","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 ) return;\n\tvariation.isActive = ( blockAttributes, variationAttributes ) =>\n\t\tblockAttributes.type === variationAttributes.type;\n} );\n\nexport default variations;\n"]}
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * WordPress dependencies
3
3
  */
4
- import { createBlock, parseWithAttributeSchema, rawHandler } from '@wordpress/blocks';
4
+ import { createBlock, parseWithAttributeSchema } from '@wordpress/blocks';
5
5
  const transforms = {
6
6
  from: [{
7
7
  type: 'block',
@@ -63,13 +63,13 @@ const transforms = {
63
63
  }
64
64
  }),
65
65
  selector: 'blockquote',
66
- transform: node => {
66
+ transform: (node, handler) => {
67
67
  return createBlock('core/quote', // Don't try to parse any `cite` out of this content.
68
68
  // * There may be more than one cite.
69
69
  // * There may be more attribution text than just the cite.
70
70
  // * If the cite is nested in the quoted text, it's wrong to
71
71
  // remove it.
72
- {}, rawHandler({
72
+ {}, handler({
73
73
  HTML: node.innerHTML,
74
74
  mode: 'BLOCKS'
75
75
  }));
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/quote/transforms.js"],"names":["createBlock","parseWithAttributeSchema","rawHandler","transforms","from","type","blocks","transform","value","citation","anchor","fontSize","style","source","selector","query","content","map","innerBlocks","prefix","schema","blockquote","children","node","HTML","innerHTML","mode","isMultiBlock","isMatch","some","name","__experimentalConvert","block","attributes","to","every","join"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tcreateBlock,\n\tparseWithAttributeSchema,\n\trawHandler,\n} from '@wordpress/blocks';\n\nconst transforms = {\n\tfrom: [\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: [ 'core/pullquote' ],\n\t\t\ttransform: ( { value, citation, anchor, fontSize, style } ) => {\n\t\t\t\treturn createBlock(\n\t\t\t\t\t'core/quote',\n\t\t\t\t\t{\n\t\t\t\t\t\tcitation,\n\t\t\t\t\t\tanchor,\n\t\t\t\t\t\tfontSize,\n\t\t\t\t\t\tstyle,\n\t\t\t\t\t},\n\t\t\t\t\tparseWithAttributeSchema( value, {\n\t\t\t\t\t\ttype: 'array',\n\t\t\t\t\t\tsource: 'query',\n\t\t\t\t\t\tselector: 'p',\n\t\t\t\t\t\tquery: {\n\t\t\t\t\t\t\tcontent: {\n\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\tsource: 'html',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t} ).map( ( { content } ) =>\n\t\t\t\t\t\tcreateBlock( 'core/paragraph', { content } )\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: [ 'core/group' ],\n\t\t\ttransform: ( { anchor }, innerBlocks ) =>\n\t\t\t\tcreateBlock( 'core/quote', { anchor }, innerBlocks ),\n\t\t},\n\t\t{\n\t\t\ttype: 'prefix',\n\t\t\tprefix: '>',\n\t\t\ttransform: ( content ) =>\n\t\t\t\tcreateBlock( 'core/quote', {}, [\n\t\t\t\t\tcreateBlock( 'core/paragraph', { content } ),\n\t\t\t\t] ),\n\t\t},\n\t\t{\n\t\t\ttype: 'raw',\n\t\t\tschema: () => ( {\n\t\t\t\tblockquote: {\n\t\t\t\t\tchildren: '*',\n\t\t\t\t},\n\t\t\t} ),\n\t\t\tselector: 'blockquote',\n\t\t\ttransform: ( node ) => {\n\t\t\t\treturn createBlock(\n\t\t\t\t\t'core/quote',\n\t\t\t\t\t// Don't try to parse any `cite` out of this content.\n\t\t\t\t\t// * There may be more than one cite.\n\t\t\t\t\t// * There may be more attribution text than just the cite.\n\t\t\t\t\t// * If the cite is nested in the quoted text, it's wrong to\n\t\t\t\t\t// remove it.\n\t\t\t\t\t{},\n\t\t\t\t\trawHandler( {\n\t\t\t\t\t\tHTML: node.innerHTML,\n\t\t\t\t\t\tmode: 'BLOCKS',\n\t\t\t\t\t} )\n\t\t\t\t);\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tisMultiBlock: true,\n\t\t\tblocks: [ '*' ],\n\t\t\tisMatch: ( {}, blocks ) => {\n\t\t\t\treturn ! blocks.some( ( { name } ) => name === 'core/quote' );\n\t\t\t},\n\t\t\t__experimentalConvert: ( blocks ) =>\n\t\t\t\tcreateBlock(\n\t\t\t\t\t'core/quote',\n\t\t\t\t\t{},\n\t\t\t\t\tblocks.map( ( block ) =>\n\t\t\t\t\t\tcreateBlock(\n\t\t\t\t\t\t\tblock.name,\n\t\t\t\t\t\t\tblock.attributes,\n\t\t\t\t\t\t\tblock.innerBlocks\n\t\t\t\t\t\t)\n\t\t\t\t\t)\n\t\t\t\t),\n\t\t},\n\t],\n\tto: [\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: [ 'core/pullquote' ],\n\t\t\tisMatch: ( {}, block ) => {\n\t\t\t\treturn block.innerBlocks.every(\n\t\t\t\t\t( { name } ) => name === 'core/paragraph'\n\t\t\t\t);\n\t\t\t},\n\t\t\ttransform: (\n\t\t\t\t{ citation, anchor, fontSize, style },\n\t\t\t\tinnerBlocks\n\t\t\t) => {\n\t\t\t\tconst value = innerBlocks\n\t\t\t\t\t.map(\n\t\t\t\t\t\t( { attributes } ) => `<p>${ attributes.content }</p>`\n\t\t\t\t\t)\n\t\t\t\t\t.join( '' );\n\t\t\t\treturn createBlock( 'core/pullquote', {\n\t\t\t\t\tvalue,\n\t\t\t\t\tcitation,\n\t\t\t\t\tanchor,\n\t\t\t\t\tfontSize,\n\t\t\t\t\tstyle,\n\t\t\t\t} );\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: [ 'core/group' ],\n\t\t\ttransform: ( { citation, anchor }, innerBlocks ) =>\n\t\t\t\tcreateBlock(\n\t\t\t\t\t'core/group',\n\t\t\t\t\t{ anchor },\n\t\t\t\t\tcitation\n\t\t\t\t\t\t? [\n\t\t\t\t\t\t\t\t...innerBlocks,\n\t\t\t\t\t\t\t\tcreateBlock( 'core/paragraph', {\n\t\t\t\t\t\t\t\t\tcontent: citation,\n\t\t\t\t\t\t\t\t} ),\n\t\t\t\t\t\t ]\n\t\t\t\t\t\t: innerBlocks\n\t\t\t\t),\n\t\t},\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: [ '*' ],\n\t\t\ttransform: ( { citation }, innerBlocks ) =>\n\t\t\t\tcitation\n\t\t\t\t\t? [\n\t\t\t\t\t\t\t...innerBlocks,\n\t\t\t\t\t\t\tcreateBlock( 'core/paragraph', {\n\t\t\t\t\t\t\t\tcontent: citation,\n\t\t\t\t\t\t\t} ),\n\t\t\t\t\t ]\n\t\t\t\t\t: innerBlocks,\n\t\t},\n\t],\n};\n\nexport default transforms;\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/quote/transforms.js"],"names":["createBlock","parseWithAttributeSchema","transforms","from","type","blocks","transform","value","citation","anchor","fontSize","style","source","selector","query","content","map","innerBlocks","prefix","schema","blockquote","children","node","handler","HTML","innerHTML","mode","isMultiBlock","isMatch","some","name","__experimentalConvert","block","attributes","to","every","join"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { createBlock, parseWithAttributeSchema } from '@wordpress/blocks';\n\nconst transforms = {\n\tfrom: [\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: [ 'core/pullquote' ],\n\t\t\ttransform: ( { value, citation, anchor, fontSize, style } ) => {\n\t\t\t\treturn createBlock(\n\t\t\t\t\t'core/quote',\n\t\t\t\t\t{\n\t\t\t\t\t\tcitation,\n\t\t\t\t\t\tanchor,\n\t\t\t\t\t\tfontSize,\n\t\t\t\t\t\tstyle,\n\t\t\t\t\t},\n\t\t\t\t\tparseWithAttributeSchema( value, {\n\t\t\t\t\t\ttype: 'array',\n\t\t\t\t\t\tsource: 'query',\n\t\t\t\t\t\tselector: 'p',\n\t\t\t\t\t\tquery: {\n\t\t\t\t\t\t\tcontent: {\n\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\tsource: 'html',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t} ).map( ( { content } ) =>\n\t\t\t\t\t\tcreateBlock( 'core/paragraph', { content } )\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: [ 'core/group' ],\n\t\t\ttransform: ( { anchor }, innerBlocks ) =>\n\t\t\t\tcreateBlock( 'core/quote', { anchor }, innerBlocks ),\n\t\t},\n\t\t{\n\t\t\ttype: 'prefix',\n\t\t\tprefix: '>',\n\t\t\ttransform: ( content ) =>\n\t\t\t\tcreateBlock( 'core/quote', {}, [\n\t\t\t\t\tcreateBlock( 'core/paragraph', { content } ),\n\t\t\t\t] ),\n\t\t},\n\t\t{\n\t\t\ttype: 'raw',\n\t\t\tschema: () => ( {\n\t\t\t\tblockquote: {\n\t\t\t\t\tchildren: '*',\n\t\t\t\t},\n\t\t\t} ),\n\t\t\tselector: 'blockquote',\n\t\t\ttransform: ( node, handler ) => {\n\t\t\t\treturn createBlock(\n\t\t\t\t\t'core/quote',\n\t\t\t\t\t// Don't try to parse any `cite` out of this content.\n\t\t\t\t\t// * There may be more than one cite.\n\t\t\t\t\t// * There may be more attribution text than just the cite.\n\t\t\t\t\t// * If the cite is nested in the quoted text, it's wrong to\n\t\t\t\t\t// remove it.\n\t\t\t\t\t{},\n\t\t\t\t\thandler( {\n\t\t\t\t\t\tHTML: node.innerHTML,\n\t\t\t\t\t\tmode: 'BLOCKS',\n\t\t\t\t\t} )\n\t\t\t\t);\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tisMultiBlock: true,\n\t\t\tblocks: [ '*' ],\n\t\t\tisMatch: ( {}, blocks ) => {\n\t\t\t\treturn ! blocks.some( ( { name } ) => name === 'core/quote' );\n\t\t\t},\n\t\t\t__experimentalConvert: ( blocks ) =>\n\t\t\t\tcreateBlock(\n\t\t\t\t\t'core/quote',\n\t\t\t\t\t{},\n\t\t\t\t\tblocks.map( ( block ) =>\n\t\t\t\t\t\tcreateBlock(\n\t\t\t\t\t\t\tblock.name,\n\t\t\t\t\t\t\tblock.attributes,\n\t\t\t\t\t\t\tblock.innerBlocks\n\t\t\t\t\t\t)\n\t\t\t\t\t)\n\t\t\t\t),\n\t\t},\n\t],\n\tto: [\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: [ 'core/pullquote' ],\n\t\t\tisMatch: ( {}, block ) => {\n\t\t\t\treturn block.innerBlocks.every(\n\t\t\t\t\t( { name } ) => name === 'core/paragraph'\n\t\t\t\t);\n\t\t\t},\n\t\t\ttransform: (\n\t\t\t\t{ citation, anchor, fontSize, style },\n\t\t\t\tinnerBlocks\n\t\t\t) => {\n\t\t\t\tconst value = innerBlocks\n\t\t\t\t\t.map(\n\t\t\t\t\t\t( { attributes } ) => `<p>${ attributes.content }</p>`\n\t\t\t\t\t)\n\t\t\t\t\t.join( '' );\n\t\t\t\treturn createBlock( 'core/pullquote', {\n\t\t\t\t\tvalue,\n\t\t\t\t\tcitation,\n\t\t\t\t\tanchor,\n\t\t\t\t\tfontSize,\n\t\t\t\t\tstyle,\n\t\t\t\t} );\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: [ 'core/group' ],\n\t\t\ttransform: ( { citation, anchor }, innerBlocks ) =>\n\t\t\t\tcreateBlock(\n\t\t\t\t\t'core/group',\n\t\t\t\t\t{ anchor },\n\t\t\t\t\tcitation\n\t\t\t\t\t\t? [\n\t\t\t\t\t\t\t\t...innerBlocks,\n\t\t\t\t\t\t\t\tcreateBlock( 'core/paragraph', {\n\t\t\t\t\t\t\t\t\tcontent: citation,\n\t\t\t\t\t\t\t\t} ),\n\t\t\t\t\t\t ]\n\t\t\t\t\t\t: innerBlocks\n\t\t\t\t),\n\t\t},\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: [ '*' ],\n\t\t\ttransform: ( { citation }, innerBlocks ) =>\n\t\t\t\tcitation\n\t\t\t\t\t? [\n\t\t\t\t\t\t\t...innerBlocks,\n\t\t\t\t\t\t\tcreateBlock( 'core/paragraph', {\n\t\t\t\t\t\t\t\tcontent: citation,\n\t\t\t\t\t\t\t} ),\n\t\t\t\t\t ]\n\t\t\t\t\t: innerBlocks,\n\t\t},\n\t],\n};\n\nexport default transforms;\n"]}