@wordpress/block-library 9.20.0 → 9.22.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 (199) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/build/categories/edit.js +3 -3
  3. package/build/categories/edit.js.map +1 -1
  4. package/build/cover/index.js +1 -1
  5. package/build/cover/index.js.map +1 -1
  6. package/build/details/edit.js +1 -5
  7. package/build/details/edit.js.map +1 -1
  8. package/build/details/index.js +1 -1
  9. package/build/details/index.js.map +1 -1
  10. package/build/embed/edit.js +4 -1
  11. package/build/embed/edit.js.map +1 -1
  12. package/build/image/edit.js +3 -2
  13. package/build/image/edit.js.map +1 -1
  14. package/build/image/image.js +13 -8
  15. package/build/image/image.js.map +1 -1
  16. package/build/navigation/edit/index.js +8 -4
  17. package/build/navigation/edit/index.js.map +1 -1
  18. package/build/navigation/view.js +2 -1
  19. package/build/navigation/view.js.map +1 -1
  20. package/build/navigation-link/edit.js +27 -29
  21. package/build/navigation-link/edit.js.map +1 -1
  22. package/build/navigation-link/index.js +0 -3
  23. package/build/navigation-link/index.js.map +1 -1
  24. package/build/navigation-link/transforms.js +0 -2
  25. package/build/navigation-link/transforms.js.map +1 -1
  26. package/build/navigation-link/update-attributes.js +0 -1
  27. package/build/navigation-link/update-attributes.js.map +1 -1
  28. package/build/navigation-submenu/edit.js +1 -24
  29. package/build/navigation-submenu/edit.js.map +1 -1
  30. package/build/navigation-submenu/index.js +0 -3
  31. package/build/navigation-submenu/index.js.map +1 -1
  32. package/build/post-comments-count/index.js +0 -1
  33. package/build/post-comments-count/index.js.map +1 -1
  34. package/build/post-comments-link/index.js +0 -1
  35. package/build/post-comments-link/index.js.map +1 -1
  36. package/build/post-featured-image/edit.js +14 -3
  37. package/build/post-featured-image/edit.js.map +1 -1
  38. package/build/query/edit/inspector-controls/index.js +47 -59
  39. package/build/query/edit/inspector-controls/index.js.map +1 -1
  40. package/build/query/edit/inspector-controls/parent-control.js +2 -2
  41. package/build/query/edit/inspector-controls/parent-control.js.map +1 -1
  42. package/build/query/edit/inspector-controls/taxonomy-controls.js +2 -2
  43. package/build/query/edit/inspector-controls/taxonomy-controls.js.map +1 -1
  44. package/build/query/edit/query-content.js +4 -17
  45. package/build/query/edit/query-content.js.map +1 -1
  46. package/build/query-total/index.js +3 -0
  47. package/build/query-total/index.js.map +1 -1
  48. package/build/quote/index.js +1 -1
  49. package/build/quote/index.js.map +1 -1
  50. package/build/rss/edit.js +21 -1
  51. package/build/rss/edit.js.map +1 -1
  52. package/build/rss/index.js +7 -0
  53. package/build/rss/index.js.map +1 -1
  54. package/build/site-title/edit.js +1 -1
  55. package/build/site-title/edit.js.map +1 -1
  56. package/build/social-links/edit.js +29 -31
  57. package/build/social-links/edit.js.map +1 -1
  58. package/build/table/index.js +3 -3
  59. package/build/table/index.js.map +1 -1
  60. package/build/table/transforms.js +11 -3
  61. package/build/table/transforms.js.map +1 -1
  62. package/build/table-of-contents/edit.js +50 -8
  63. package/build/table-of-contents/edit.js.map +1 -1
  64. package/build/table-of-contents/hooks.js +13 -4
  65. package/build/table-of-contents/hooks.js.map +1 -1
  66. package/build/table-of-contents/index.js +3 -0
  67. package/build/table-of-contents/index.js.map +1 -1
  68. package/build-module/categories/edit.js +3 -3
  69. package/build-module/categories/edit.js.map +1 -1
  70. package/build-module/cover/index.js +1 -1
  71. package/build-module/cover/index.js.map +1 -1
  72. package/build-module/details/edit.js +1 -5
  73. package/build-module/details/edit.js.map +1 -1
  74. package/build-module/details/index.js +1 -1
  75. package/build-module/details/index.js.map +1 -1
  76. package/build-module/embed/edit.js +4 -1
  77. package/build-module/embed/edit.js.map +1 -1
  78. package/build-module/image/edit.js +3 -2
  79. package/build-module/image/edit.js.map +1 -1
  80. package/build-module/image/image.js +14 -9
  81. package/build-module/image/image.js.map +1 -1
  82. package/build-module/navigation/edit/index.js +8 -4
  83. package/build-module/navigation/edit/index.js.map +1 -1
  84. package/build-module/navigation/view.js +2 -1
  85. package/build-module/navigation/view.js.map +1 -1
  86. package/build-module/navigation-link/edit.js +28 -30
  87. package/build-module/navigation-link/edit.js.map +1 -1
  88. package/build-module/navigation-link/index.js +0 -3
  89. package/build-module/navigation-link/index.js.map +1 -1
  90. package/build-module/navigation-link/transforms.js +0 -2
  91. package/build-module/navigation-link/transforms.js.map +1 -1
  92. package/build-module/navigation-link/update-attributes.js +0 -1
  93. package/build-module/navigation-link/update-attributes.js.map +1 -1
  94. package/build-module/navigation-submenu/edit.js +1 -24
  95. package/build-module/navigation-submenu/edit.js.map +1 -1
  96. package/build-module/navigation-submenu/index.js +0 -3
  97. package/build-module/navigation-submenu/index.js.map +1 -1
  98. package/build-module/post-comments-count/index.js +0 -1
  99. package/build-module/post-comments-count/index.js.map +1 -1
  100. package/build-module/post-comments-link/index.js +0 -1
  101. package/build-module/post-comments-link/index.js.map +1 -1
  102. package/build-module/post-featured-image/edit.js +14 -3
  103. package/build-module/post-featured-image/edit.js.map +1 -1
  104. package/build-module/query/edit/inspector-controls/index.js +49 -61
  105. package/build-module/query/edit/inspector-controls/index.js.map +1 -1
  106. package/build-module/query/edit/inspector-controls/parent-control.js +2 -2
  107. package/build-module/query/edit/inspector-controls/parent-control.js.map +1 -1
  108. package/build-module/query/edit/inspector-controls/taxonomy-controls.js +2 -2
  109. package/build-module/query/edit/inspector-controls/taxonomy-controls.js.map +1 -1
  110. package/build-module/query/edit/query-content.js +4 -17
  111. package/build-module/query/edit/query-content.js.map +1 -1
  112. package/build-module/query-total/index.js +3 -0
  113. package/build-module/query-total/index.js.map +1 -1
  114. package/build-module/quote/index.js +1 -1
  115. package/build-module/quote/index.js.map +1 -1
  116. package/build-module/rss/edit.js +22 -2
  117. package/build-module/rss/edit.js.map +1 -1
  118. package/build-module/rss/index.js +7 -0
  119. package/build-module/rss/index.js.map +1 -1
  120. package/build-module/site-title/edit.js +1 -1
  121. package/build-module/site-title/edit.js.map +1 -1
  122. package/build-module/social-links/edit.js +30 -32
  123. package/build-module/social-links/edit.js.map +1 -1
  124. package/build-module/table/index.js +3 -3
  125. package/build-module/table/index.js.map +1 -1
  126. package/build-module/table/transforms.js +11 -3
  127. package/build-module/table/transforms.js.map +1 -1
  128. package/build-module/table-of-contents/edit.js +52 -10
  129. package/build-module/table-of-contents/edit.js.map +1 -1
  130. package/build-module/table-of-contents/hooks.js +13 -4
  131. package/build-module/table-of-contents/hooks.js.map +1 -1
  132. package/build-module/table-of-contents/index.js +3 -0
  133. package/build-module/table-of-contents/index.js.map +1 -1
  134. package/build-style/editor-rtl.css +1 -50
  135. package/build-style/editor.css +1 -50
  136. package/build-style/media-text/style-rtl.css +0 -2
  137. package/build-style/media-text/style.css +0 -2
  138. package/build-style/post-comments-form/style-rtl.css +3 -0
  139. package/build-style/post-comments-form/style.css +3 -0
  140. package/build-style/search/style-rtl.css +1 -0
  141. package/build-style/search/style.css +1 -0
  142. package/build-style/social-links/editor-rtl.css +1 -50
  143. package/build-style/social-links/editor.css +1 -50
  144. package/build-style/style-rtl.css +4 -6
  145. package/build-style/style.css +4 -6
  146. package/build-style/tag-cloud/style-rtl.css +0 -4
  147. package/build-style/tag-cloud/style.css +0 -4
  148. package/package.json +35 -35
  149. package/src/button/index.php +2 -3
  150. package/src/categories/edit.js +3 -3
  151. package/src/cover/index.js +1 -1
  152. package/src/details/edit.js +6 -8
  153. package/src/details/index.js +1 -1
  154. package/src/embed/edit.js +7 -1
  155. package/src/file/index.php +2 -3
  156. package/src/image/edit.js +3 -3
  157. package/src/image/image.js +9 -12
  158. package/src/latest-comments/index.php +1 -1
  159. package/src/latest-posts/index.php +3 -0
  160. package/src/media-text/style.scss +0 -2
  161. package/src/navigation/edit/index.js +4 -0
  162. package/src/navigation/index.php +1 -1
  163. package/src/navigation/view.js +2 -1
  164. package/src/navigation-link/block.json +0 -3
  165. package/src/navigation-link/edit.js +46 -33
  166. package/src/navigation-link/index.php +1 -5
  167. package/src/navigation-link/transforms.js +1 -2
  168. package/src/navigation-link/update-attributes.js +0 -1
  169. package/src/navigation-submenu/block.json +0 -3
  170. package/src/navigation-submenu/edit.js +1 -24
  171. package/src/navigation-submenu/index.php +0 -4
  172. package/src/post-comments-count/block.json +0 -1
  173. package/src/post-comments-count/index.php +4 -0
  174. package/src/post-comments-form/style.scss +5 -0
  175. package/src/post-comments-link/block.json +0 -1
  176. package/src/post-comments-link/index.php +4 -0
  177. package/src/post-featured-image/edit.js +93 -75
  178. package/src/query/edit/inspector-controls/index.js +66 -91
  179. package/src/query/edit/inspector-controls/parent-control.js +2 -2
  180. package/src/query/edit/inspector-controls/taxonomy-controls.js +2 -2
  181. package/src/query/edit/query-content.js +7 -16
  182. package/src/query-total/block.json +3 -0
  183. package/src/query-total/index.php +1 -1
  184. package/src/quote/index.js +1 -1
  185. package/src/rss/block.json +7 -0
  186. package/src/rss/edit.js +21 -0
  187. package/src/rss/index.php +27 -9
  188. package/src/search/index.php +12 -9
  189. package/src/search/style.scss +1 -0
  190. package/src/site-title/edit.js +1 -1
  191. package/src/site-title/index.php +1 -1
  192. package/src/social-links/edit.js +29 -30
  193. package/src/social-links/editor.scss +1 -59
  194. package/src/table/index.js +3 -3
  195. package/src/table/transforms.js +14 -2
  196. package/src/table-of-contents/block.json +3 -0
  197. package/src/table-of-contents/edit.js +45 -4
  198. package/src/table-of-contents/hooks.js +12 -3
  199. package/src/tag-cloud/style.scss +0 -5
@@ -1 +1 @@
1
- {"version":3,"names":["_i18n","require","_components","_data","_coreData","_element","_compose","_utils","_jsxRuntime","EMPTY_ARRAY","BASE_QUERY","order","_fields","context","ParentControl","parents","postType","onChange","search","setSearch","useState","value","setValue","suggestions","setSuggestions","debouncedSearch","useDebounce","searchResults","searchHasResolved","useSelect","select","getEntityRecords","hasFinishedResolution","coreStore","selectorArgs","orderby","exclude","per_page","currentParents","length","include","useEffect","currentParentsInfo","getEntitiesInfo","mapToIHasNameAndId","sanitizedValue","reduce","accumulator","id","entity","mapById","push","name","entitiesInfo","useMemo","names","getIdByValue","entitiesMappedByName","onParentChange","newValue","ids","Array","from","mapByName","add","Set","jsx","FormTokenField","__next40pxDefaultSize","label","__","onInputChange","__experimentalShowHowTo","__nextHasNoMarginBottom","_default","exports","default"],"sources":["@wordpress/block-library/src/query/edit/inspector-controls/parent-control.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { FormTokenField } from '@wordpress/components';\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useState, useEffect, useMemo } from '@wordpress/element';\nimport { useDebounce } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport { getEntitiesInfo, mapToIHasNameAndId } from '../../utils';\n\nconst EMPTY_ARRAY = [];\nconst BASE_QUERY = {\n\torder: 'asc',\n\t_fields: 'id,title',\n\tcontext: 'view',\n};\n\nfunction ParentControl( { parents, postType, onChange } ) {\n\tconst [ search, setSearch ] = useState( '' );\n\tconst [ value, setValue ] = useState( EMPTY_ARRAY );\n\tconst [ suggestions, setSuggestions ] = useState( EMPTY_ARRAY );\n\tconst debouncedSearch = useDebounce( setSearch, 250 );\n\tconst { searchResults, searchHasResolved } = useSelect(\n\t\t( select ) => {\n\t\t\tif ( ! search ) {\n\t\t\t\treturn { searchResults: EMPTY_ARRAY, searchHasResolved: true };\n\t\t\t}\n\t\t\tconst { getEntityRecords, hasFinishedResolution } =\n\t\t\t\tselect( coreStore );\n\t\t\tconst selectorArgs = [\n\t\t\t\t'postType',\n\t\t\t\tpostType,\n\t\t\t\t{\n\t\t\t\t\t...BASE_QUERY,\n\t\t\t\t\tsearch,\n\t\t\t\t\torderby: 'relevance',\n\t\t\t\t\texclude: parents,\n\t\t\t\t\tper_page: 20,\n\t\t\t\t},\n\t\t\t];\n\t\t\treturn {\n\t\t\t\tsearchResults: getEntityRecords( ...selectorArgs ),\n\t\t\t\tsearchHasResolved: hasFinishedResolution(\n\t\t\t\t\t'getEntityRecords',\n\t\t\t\t\tselectorArgs\n\t\t\t\t),\n\t\t\t};\n\t\t},\n\t\t[ search, parents ]\n\t);\n\tconst currentParents = useSelect(\n\t\t( select ) => {\n\t\t\tif ( ! parents?.length ) {\n\t\t\t\treturn EMPTY_ARRAY;\n\t\t\t}\n\t\t\tconst { getEntityRecords } = select( coreStore );\n\t\t\treturn getEntityRecords( 'postType', postType, {\n\t\t\t\t...BASE_QUERY,\n\t\t\t\tinclude: parents,\n\t\t\t\tper_page: parents.length,\n\t\t\t} );\n\t\t},\n\t\t[ parents ]\n\t);\n\t// Update the `value` state only after the selectors are resolved\n\t// to avoid emptying the input when we're changing parents.\n\tuseEffect( () => {\n\t\tif ( ! parents?.length ) {\n\t\t\tsetValue( EMPTY_ARRAY );\n\t\t}\n\t\tif ( ! currentParents?.length ) {\n\t\t\treturn;\n\t\t}\n\t\tconst currentParentsInfo = getEntitiesInfo(\n\t\t\tmapToIHasNameAndId( currentParents, 'title.rendered' )\n\t\t);\n\t\t// Returns only the existing entity ids. This prevents the component\n\t\t// from crashing in the editor, when non existing ids are provided.\n\t\tconst sanitizedValue = parents.reduce( ( accumulator, id ) => {\n\t\t\tconst entity = currentParentsInfo.mapById[ id ];\n\t\t\tif ( entity ) {\n\t\t\t\taccumulator.push( {\n\t\t\t\t\tid,\n\t\t\t\t\tvalue: entity.name,\n\t\t\t\t} );\n\t\t\t}\n\t\t\treturn accumulator;\n\t\t}, [] );\n\t\tsetValue( sanitizedValue );\n\t}, [ parents, currentParents ] );\n\n\tconst entitiesInfo = useMemo( () => {\n\t\tif ( ! searchResults?.length ) {\n\t\t\treturn EMPTY_ARRAY;\n\t\t}\n\t\treturn getEntitiesInfo(\n\t\t\tmapToIHasNameAndId( searchResults, 'title.rendered' )\n\t\t);\n\t}, [ searchResults ] );\n\t// Update suggestions only when the query has resolved.\n\tuseEffect( () => {\n\t\tif ( ! searchHasResolved ) {\n\t\t\treturn;\n\t\t}\n\t\tsetSuggestions( entitiesInfo.names );\n\t}, [ entitiesInfo.names, searchHasResolved ] );\n\n\tconst getIdByValue = ( entitiesMappedByName, entity ) => {\n\t\tconst id = entity?.id || entitiesMappedByName?.[ entity ]?.id;\n\t\tif ( id ) {\n\t\t\treturn id;\n\t\t}\n\t};\n\tconst onParentChange = ( newValue ) => {\n\t\tconst ids = Array.from(\n\t\t\tnewValue.reduce( ( accumulator, entity ) => {\n\t\t\t\t// Verify that new values point to existing entities.\n\t\t\t\tconst id = getIdByValue( entitiesInfo.mapByName, entity );\n\t\t\t\tif ( id ) {\n\t\t\t\t\taccumulator.add( id );\n\t\t\t\t}\n\t\t\t\treturn accumulator;\n\t\t\t}, new Set() )\n\t\t);\n\t\tsetSuggestions( EMPTY_ARRAY );\n\t\tonChange( { parents: ids } );\n\t};\n\treturn (\n\t\t<FormTokenField\n\t\t\t__next40pxDefaultSize\n\t\t\tlabel={ __( 'Parents' ) }\n\t\t\tvalue={ value }\n\t\t\tonInputChange={ debouncedSearch }\n\t\t\tsuggestions={ suggestions }\n\t\t\tonChange={ onParentChange }\n\t\t\t__experimentalShowHowTo={ false }\n\t\t\t__nextHasNoMarginBottom\n\t\t/>\n\t);\n}\n\nexport default ParentControl;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_i18n","require","_components","_data","_coreData","_element","_compose","_utils","_jsxRuntime","EMPTY_ARRAY","BASE_QUERY","order","_fields","context","ParentControl","parents","postType","onChange","search","setSearch","useState","value","setValue","suggestions","setSuggestions","debouncedSearch","useDebounce","searchResults","searchHasResolved","useSelect","select","getEntityRecords","hasFinishedResolution","coreStore","selectorArgs","orderby","exclude","per_page","currentParents","length","include","useEffect","currentParentsInfo","getEntitiesInfo","mapToIHasNameAndId","sanitizedValue","reduce","accumulator","id","entity","mapById","push","name","entitiesInfo","useMemo","names","getIdByValue","entitiesMappedByName","onParentChange","newValue","ids","Array","from","mapByName","add","Set","jsx","FormTokenField","__next40pxDefaultSize","label","__","onInputChange","__experimentalShowHowTo","__nextHasNoMarginBottom","_default","exports","default"],"sources":["@wordpress/block-library/src/query/edit/inspector-controls/parent-control.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { FormTokenField } from '@wordpress/components';\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useState, useEffect, useMemo } from '@wordpress/element';\nimport { useDebounce } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport { getEntitiesInfo, mapToIHasNameAndId } from '../../utils';\n\nconst EMPTY_ARRAY = [];\nconst BASE_QUERY = {\n\torder: 'asc',\n\t_fields: 'id,title',\n\tcontext: 'view',\n};\n\nfunction ParentControl( { parents, postType, onChange } ) {\n\tconst [ search, setSearch ] = useState( '' );\n\tconst [ value, setValue ] = useState( EMPTY_ARRAY );\n\tconst [ suggestions, setSuggestions ] = useState( EMPTY_ARRAY );\n\tconst debouncedSearch = useDebounce( setSearch, 250 );\n\tconst { searchResults, searchHasResolved } = useSelect(\n\t\t( select ) => {\n\t\t\tif ( ! search ) {\n\t\t\t\treturn { searchResults: EMPTY_ARRAY, searchHasResolved: true };\n\t\t\t}\n\t\t\tconst { getEntityRecords, hasFinishedResolution } =\n\t\t\t\tselect( coreStore );\n\t\t\tconst selectorArgs = [\n\t\t\t\t'postType',\n\t\t\t\tpostType,\n\t\t\t\t{\n\t\t\t\t\t...BASE_QUERY,\n\t\t\t\t\tsearch,\n\t\t\t\t\torderby: 'relevance',\n\t\t\t\t\texclude: parents,\n\t\t\t\t\tper_page: 20,\n\t\t\t\t},\n\t\t\t];\n\t\t\treturn {\n\t\t\t\tsearchResults: getEntityRecords( ...selectorArgs ),\n\t\t\t\tsearchHasResolved: hasFinishedResolution(\n\t\t\t\t\t'getEntityRecords',\n\t\t\t\t\tselectorArgs\n\t\t\t\t),\n\t\t\t};\n\t\t},\n\t\t[ search, postType, parents ]\n\t);\n\tconst currentParents = useSelect(\n\t\t( select ) => {\n\t\t\tif ( ! parents?.length ) {\n\t\t\t\treturn EMPTY_ARRAY;\n\t\t\t}\n\t\t\tconst { getEntityRecords } = select( coreStore );\n\t\t\treturn getEntityRecords( 'postType', postType, {\n\t\t\t\t...BASE_QUERY,\n\t\t\t\tinclude: parents,\n\t\t\t\tper_page: parents.length,\n\t\t\t} );\n\t\t},\n\t\t[ parents, postType ]\n\t);\n\t// Update the `value` state only after the selectors are resolved\n\t// to avoid emptying the input when we're changing parents.\n\tuseEffect( () => {\n\t\tif ( ! parents?.length ) {\n\t\t\tsetValue( EMPTY_ARRAY );\n\t\t}\n\t\tif ( ! currentParents?.length ) {\n\t\t\treturn;\n\t\t}\n\t\tconst currentParentsInfo = getEntitiesInfo(\n\t\t\tmapToIHasNameAndId( currentParents, 'title.rendered' )\n\t\t);\n\t\t// Returns only the existing entity ids. This prevents the component\n\t\t// from crashing in the editor, when non existing ids are provided.\n\t\tconst sanitizedValue = parents.reduce( ( accumulator, id ) => {\n\t\t\tconst entity = currentParentsInfo.mapById[ id ];\n\t\t\tif ( entity ) {\n\t\t\t\taccumulator.push( {\n\t\t\t\t\tid,\n\t\t\t\t\tvalue: entity.name,\n\t\t\t\t} );\n\t\t\t}\n\t\t\treturn accumulator;\n\t\t}, [] );\n\t\tsetValue( sanitizedValue );\n\t}, [ parents, currentParents ] );\n\n\tconst entitiesInfo = useMemo( () => {\n\t\tif ( ! searchResults?.length ) {\n\t\t\treturn EMPTY_ARRAY;\n\t\t}\n\t\treturn getEntitiesInfo(\n\t\t\tmapToIHasNameAndId( searchResults, 'title.rendered' )\n\t\t);\n\t}, [ searchResults ] );\n\t// Update suggestions only when the query has resolved.\n\tuseEffect( () => {\n\t\tif ( ! searchHasResolved ) {\n\t\t\treturn;\n\t\t}\n\t\tsetSuggestions( entitiesInfo.names );\n\t}, [ entitiesInfo.names, searchHasResolved ] );\n\n\tconst getIdByValue = ( entitiesMappedByName, entity ) => {\n\t\tconst id = entity?.id || entitiesMappedByName?.[ entity ]?.id;\n\t\tif ( id ) {\n\t\t\treturn id;\n\t\t}\n\t};\n\tconst onParentChange = ( newValue ) => {\n\t\tconst ids = Array.from(\n\t\t\tnewValue.reduce( ( accumulator, entity ) => {\n\t\t\t\t// Verify that new values point to existing entities.\n\t\t\t\tconst id = getIdByValue( entitiesInfo.mapByName, entity );\n\t\t\t\tif ( id ) {\n\t\t\t\t\taccumulator.add( id );\n\t\t\t\t}\n\t\t\t\treturn accumulator;\n\t\t\t}, new Set() )\n\t\t);\n\t\tsetSuggestions( EMPTY_ARRAY );\n\t\tonChange( { parents: ids } );\n\t};\n\treturn (\n\t\t<FormTokenField\n\t\t\t__next40pxDefaultSize\n\t\t\tlabel={ __( 'Parents' ) }\n\t\t\tvalue={ value }\n\t\t\tonInputChange={ debouncedSearch }\n\t\t\tsuggestions={ suggestions }\n\t\t\tonChange={ onParentChange }\n\t\t\t__experimentalShowHowTo={ false }\n\t\t\t__nextHasNoMarginBottom\n\t\t/>\n\t);\n}\n\nexport default ParentControl;\n"],"mappings":"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","ignoreList":[]}
@@ -121,7 +121,7 @@ function TaxonomyItem({
121
121
  searchResults: getEntityRecords(...selectorArgs),
122
122
  searchHasResolved: hasFinishedResolution('getEntityRecords', selectorArgs)
123
123
  };
124
- }, [search, termIds]);
124
+ }, [search, taxonomy.slug, termIds]);
125
125
  // `existingTerms` are the ones fetched from the API and their type is `{ id: number; name: string }`.
126
126
  // They are used to extract the terms' names to populate the `FormTokenField` properly
127
127
  // and to sanitize the provided `termIds`, by setting only the ones that exist.
@@ -137,7 +137,7 @@ function TaxonomyItem({
137
137
  include: termIds,
138
138
  per_page: termIds.length
139
139
  });
140
- }, [termIds]);
140
+ }, [taxonomy.slug, termIds]);
141
141
  // Update the `value` state only after the selectors are resolved
142
142
  // to avoid emptying the input when we're changing terms.
143
143
  (0, _element.useEffect)(() => {
@@ -1 +1 @@
1
- {"version":3,"names":["_components","require","_data","_coreData","_element","_compose","_htmlEntities","_utils","_jsxRuntime","EMPTY_ARRAY","BASE_QUERY","order","_fields","context","getTermIdByTermValue","terms","termValue","termId","id","find","term","name","termValueLower","toLocaleLowerCase","TaxonomyControls","onChange","query","postType","taxQuery","taxonomies","useTaxonomies","length","jsx","__experimentalVStack","spacing","children","map","taxonomy","termIds","slug","handleChange","newTermIds","TaxonomyItem","search","setSearch","useState","value","setValue","suggestions","setSuggestions","debouncedSearch","useDebounce","searchResults","searchHasResolved","useSelect","select","getEntityRecords","hasFinishedResolution","coreStore","selectorArgs","orderby","exclude","per_page","existingTerms","include","useEffect","sanitizedValue","reduce","accumulator","entity","push","result","onTermsChange","newTermValues","Set","add","Array","from","className","FormTokenField","label","onInputChange","displayTransform","decodeEntities","__experimentalShowHowTo","__nextHasNoMarginBottom","__next40pxDefaultSize"],"sources":["@wordpress/block-library/src/query/edit/inspector-controls/taxonomy-controls.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tFormTokenField,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useState, useEffect } from '@wordpress/element';\nimport { useDebounce } from '@wordpress/compose';\nimport { decodeEntities } from '@wordpress/html-entities';\n\n/**\n * Internal dependencies\n */\nimport { useTaxonomies } from '../../utils';\n\nconst EMPTY_ARRAY = [];\nconst BASE_QUERY = {\n\torder: 'asc',\n\t_fields: 'id,name',\n\tcontext: 'view',\n};\n\n// Helper function to get the term id based on user input in terms `FormTokenField`.\nconst getTermIdByTermValue = ( terms, termValue ) => {\n\t// First we check for exact match by `term.id` or case sensitive `term.name` match.\n\tconst termId =\n\t\ttermValue?.id || terms?.find( ( term ) => term.name === termValue )?.id;\n\tif ( termId ) {\n\t\treturn termId;\n\t}\n\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\treturn terms?.find(\n\t\t( term ) => term.name.toLocaleLowerCase() === termValueLower\n\t)?.id;\n};\n\nexport function TaxonomyControls( { onChange, query } ) {\n\tconst { postType, taxQuery } = query;\n\n\tconst taxonomies = useTaxonomies( postType );\n\tif ( ! taxonomies || taxonomies.length === 0 ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<VStack spacing={ 4 }>\n\t\t\t{ taxonomies.map( ( taxonomy ) => {\n\t\t\t\tconst termIds = taxQuery?.[ taxonomy.slug ] || [];\n\t\t\t\tconst handleChange = ( newTermIds ) =>\n\t\t\t\t\tonChange( {\n\t\t\t\t\t\ttaxQuery: {\n\t\t\t\t\t\t\t...taxQuery,\n\t\t\t\t\t\t\t[ taxonomy.slug ]: newTermIds,\n\t\t\t\t\t\t},\n\t\t\t\t\t} );\n\n\t\t\t\treturn (\n\t\t\t\t\t<TaxonomyItem\n\t\t\t\t\t\tkey={ taxonomy.slug }\n\t\t\t\t\t\ttaxonomy={ taxonomy }\n\t\t\t\t\t\ttermIds={ termIds }\n\t\t\t\t\t\tonChange={ handleChange }\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</VStack>\n\t);\n}\n\n/**\n * Renders a `FormTokenField` for a given taxonomy.\n *\n * @param {Object} props The props for the component.\n * @param {Object} props.taxonomy The taxonomy object.\n * @param {number[]} props.termIds An array with the block's term ids for the given taxonomy.\n * @param {Function} props.onChange Callback `onChange` function.\n * @return {JSX.Element} The rendered component.\n */\nfunction TaxonomyItem( { taxonomy, termIds, onChange } ) {\n\tconst [ search, setSearch ] = useState( '' );\n\tconst [ value, setValue ] = useState( EMPTY_ARRAY );\n\tconst [ suggestions, setSuggestions ] = useState( EMPTY_ARRAY );\n\tconst debouncedSearch = useDebounce( setSearch, 250 );\n\tconst { searchResults, searchHasResolved } = useSelect(\n\t\t( select ) => {\n\t\t\tif ( ! search ) {\n\t\t\t\treturn { searchResults: EMPTY_ARRAY, searchHasResolved: true };\n\t\t\t}\n\t\t\tconst { getEntityRecords, hasFinishedResolution } =\n\t\t\t\tselect( coreStore );\n\t\t\tconst selectorArgs = [\n\t\t\t\t'taxonomy',\n\t\t\t\ttaxonomy.slug,\n\t\t\t\t{\n\t\t\t\t\t...BASE_QUERY,\n\t\t\t\t\tsearch,\n\t\t\t\t\torderby: 'name',\n\t\t\t\t\texclude: termIds,\n\t\t\t\t\tper_page: 20,\n\t\t\t\t},\n\t\t\t];\n\t\t\treturn {\n\t\t\t\tsearchResults: getEntityRecords( ...selectorArgs ),\n\t\t\t\tsearchHasResolved: hasFinishedResolution(\n\t\t\t\t\t'getEntityRecords',\n\t\t\t\t\tselectorArgs\n\t\t\t\t),\n\t\t\t};\n\t\t},\n\t\t[ search, termIds ]\n\t);\n\t// `existingTerms` are the ones fetched from the API and their type is `{ id: number; name: string }`.\n\t// They are used to extract the terms' names to populate the `FormTokenField` properly\n\t// and to sanitize the provided `termIds`, by setting only the ones that exist.\n\tconst existingTerms = useSelect(\n\t\t( select ) => {\n\t\t\tif ( ! termIds?.length ) {\n\t\t\t\treturn EMPTY_ARRAY;\n\t\t\t}\n\t\t\tconst { getEntityRecords } = select( coreStore );\n\t\t\treturn getEntityRecords( 'taxonomy', taxonomy.slug, {\n\t\t\t\t...BASE_QUERY,\n\t\t\t\tinclude: termIds,\n\t\t\t\tper_page: termIds.length,\n\t\t\t} );\n\t\t},\n\t\t[ termIds ]\n\t);\n\t// Update the `value` state only after the selectors are resolved\n\t// to avoid emptying the input when we're changing terms.\n\tuseEffect( () => {\n\t\tif ( ! termIds?.length ) {\n\t\t\tsetValue( EMPTY_ARRAY );\n\t\t}\n\t\tif ( ! existingTerms?.length ) {\n\t\t\treturn;\n\t\t}\n\t\t// Returns only the existing entity ids. This prevents the component\n\t\t// from crashing in the editor, when non existing ids are provided.\n\t\tconst sanitizedValue = termIds.reduce( ( accumulator, id ) => {\n\t\t\tconst entity = existingTerms.find( ( term ) => term.id === id );\n\t\t\tif ( entity ) {\n\t\t\t\taccumulator.push( {\n\t\t\t\t\tid,\n\t\t\t\t\tvalue: entity.name,\n\t\t\t\t} );\n\t\t\t}\n\t\t\treturn accumulator;\n\t\t}, [] );\n\t\tsetValue( sanitizedValue );\n\t}, [ termIds, existingTerms ] );\n\t// Update suggestions only when the query has resolved.\n\tuseEffect( () => {\n\t\tif ( ! searchHasResolved ) {\n\t\t\treturn;\n\t\t}\n\t\tsetSuggestions( searchResults.map( ( result ) => result.name ) );\n\t}, [ searchResults, searchHasResolved ] );\n\tconst onTermsChange = ( newTermValues ) => {\n\t\tconst newTermIds = new Set();\n\t\tfor ( const termValue of newTermValues ) {\n\t\t\tconst termId = getTermIdByTermValue( searchResults, termValue );\n\t\t\tif ( termId ) {\n\t\t\t\tnewTermIds.add( termId );\n\t\t\t}\n\t\t}\n\t\tsetSuggestions( EMPTY_ARRAY );\n\t\tonChange( Array.from( newTermIds ) );\n\t};\n\treturn (\n\t\t<div className=\"block-library-query-inspector__taxonomy-control\">\n\t\t\t<FormTokenField\n\t\t\t\tlabel={ taxonomy.name }\n\t\t\t\tvalue={ value }\n\t\t\t\tonInputChange={ debouncedSearch }\n\t\t\t\tsuggestions={ suggestions }\n\t\t\t\tdisplayTransform={ decodeEntities }\n\t\t\t\tonChange={ onTermsChange }\n\t\t\t\t__experimentalShowHowTo={ false }\n\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t__next40pxDefaultSize\n\t\t\t/>\n\t\t</div>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_components","require","_data","_coreData","_element","_compose","_htmlEntities","_utils","_jsxRuntime","EMPTY_ARRAY","BASE_QUERY","order","_fields","context","getTermIdByTermValue","terms","termValue","termId","id","find","term","name","termValueLower","toLocaleLowerCase","TaxonomyControls","onChange","query","postType","taxQuery","taxonomies","useTaxonomies","length","jsx","__experimentalVStack","spacing","children","map","taxonomy","termIds","slug","handleChange","newTermIds","TaxonomyItem","search","setSearch","useState","value","setValue","suggestions","setSuggestions","debouncedSearch","useDebounce","searchResults","searchHasResolved","useSelect","select","getEntityRecords","hasFinishedResolution","coreStore","selectorArgs","orderby","exclude","per_page","existingTerms","include","useEffect","sanitizedValue","reduce","accumulator","entity","push","result","onTermsChange","newTermValues","Set","add","Array","from","className","FormTokenField","label","onInputChange","displayTransform","decodeEntities","__experimentalShowHowTo","__nextHasNoMarginBottom","__next40pxDefaultSize"],"sources":["@wordpress/block-library/src/query/edit/inspector-controls/taxonomy-controls.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tFormTokenField,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useState, useEffect } from '@wordpress/element';\nimport { useDebounce } from '@wordpress/compose';\nimport { decodeEntities } from '@wordpress/html-entities';\n\n/**\n * Internal dependencies\n */\nimport { useTaxonomies } from '../../utils';\n\nconst EMPTY_ARRAY = [];\nconst BASE_QUERY = {\n\torder: 'asc',\n\t_fields: 'id,name',\n\tcontext: 'view',\n};\n\n// Helper function to get the term id based on user input in terms `FormTokenField`.\nconst getTermIdByTermValue = ( terms, termValue ) => {\n\t// First we check for exact match by `term.id` or case sensitive `term.name` match.\n\tconst termId =\n\t\ttermValue?.id || terms?.find( ( term ) => term.name === termValue )?.id;\n\tif ( termId ) {\n\t\treturn termId;\n\t}\n\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\treturn terms?.find(\n\t\t( term ) => term.name.toLocaleLowerCase() === termValueLower\n\t)?.id;\n};\n\nexport function TaxonomyControls( { onChange, query } ) {\n\tconst { postType, taxQuery } = query;\n\n\tconst taxonomies = useTaxonomies( postType );\n\tif ( ! taxonomies || taxonomies.length === 0 ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<VStack spacing={ 4 }>\n\t\t\t{ taxonomies.map( ( taxonomy ) => {\n\t\t\t\tconst termIds = taxQuery?.[ taxonomy.slug ] || [];\n\t\t\t\tconst handleChange = ( newTermIds ) =>\n\t\t\t\t\tonChange( {\n\t\t\t\t\t\ttaxQuery: {\n\t\t\t\t\t\t\t...taxQuery,\n\t\t\t\t\t\t\t[ taxonomy.slug ]: newTermIds,\n\t\t\t\t\t\t},\n\t\t\t\t\t} );\n\n\t\t\t\treturn (\n\t\t\t\t\t<TaxonomyItem\n\t\t\t\t\t\tkey={ taxonomy.slug }\n\t\t\t\t\t\ttaxonomy={ taxonomy }\n\t\t\t\t\t\ttermIds={ termIds }\n\t\t\t\t\t\tonChange={ handleChange }\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</VStack>\n\t);\n}\n\n/**\n * Renders a `FormTokenField` for a given taxonomy.\n *\n * @param {Object} props The props for the component.\n * @param {Object} props.taxonomy The taxonomy object.\n * @param {number[]} props.termIds An array with the block's term ids for the given taxonomy.\n * @param {Function} props.onChange Callback `onChange` function.\n * @return {JSX.Element} The rendered component.\n */\nfunction TaxonomyItem( { taxonomy, termIds, onChange } ) {\n\tconst [ search, setSearch ] = useState( '' );\n\tconst [ value, setValue ] = useState( EMPTY_ARRAY );\n\tconst [ suggestions, setSuggestions ] = useState( EMPTY_ARRAY );\n\tconst debouncedSearch = useDebounce( setSearch, 250 );\n\tconst { searchResults, searchHasResolved } = useSelect(\n\t\t( select ) => {\n\t\t\tif ( ! search ) {\n\t\t\t\treturn { searchResults: EMPTY_ARRAY, searchHasResolved: true };\n\t\t\t}\n\t\t\tconst { getEntityRecords, hasFinishedResolution } =\n\t\t\t\tselect( coreStore );\n\t\t\tconst selectorArgs = [\n\t\t\t\t'taxonomy',\n\t\t\t\ttaxonomy.slug,\n\t\t\t\t{\n\t\t\t\t\t...BASE_QUERY,\n\t\t\t\t\tsearch,\n\t\t\t\t\torderby: 'name',\n\t\t\t\t\texclude: termIds,\n\t\t\t\t\tper_page: 20,\n\t\t\t\t},\n\t\t\t];\n\t\t\treturn {\n\t\t\t\tsearchResults: getEntityRecords( ...selectorArgs ),\n\t\t\t\tsearchHasResolved: hasFinishedResolution(\n\t\t\t\t\t'getEntityRecords',\n\t\t\t\t\tselectorArgs\n\t\t\t\t),\n\t\t\t};\n\t\t},\n\t\t[ search, taxonomy.slug, termIds ]\n\t);\n\t// `existingTerms` are the ones fetched from the API and their type is `{ id: number; name: string }`.\n\t// They are used to extract the terms' names to populate the `FormTokenField` properly\n\t// and to sanitize the provided `termIds`, by setting only the ones that exist.\n\tconst existingTerms = useSelect(\n\t\t( select ) => {\n\t\t\tif ( ! termIds?.length ) {\n\t\t\t\treturn EMPTY_ARRAY;\n\t\t\t}\n\t\t\tconst { getEntityRecords } = select( coreStore );\n\t\t\treturn getEntityRecords( 'taxonomy', taxonomy.slug, {\n\t\t\t\t...BASE_QUERY,\n\t\t\t\tinclude: termIds,\n\t\t\t\tper_page: termIds.length,\n\t\t\t} );\n\t\t},\n\t\t[ taxonomy.slug, termIds ]\n\t);\n\t// Update the `value` state only after the selectors are resolved\n\t// to avoid emptying the input when we're changing terms.\n\tuseEffect( () => {\n\t\tif ( ! termIds?.length ) {\n\t\t\tsetValue( EMPTY_ARRAY );\n\t\t}\n\t\tif ( ! existingTerms?.length ) {\n\t\t\treturn;\n\t\t}\n\t\t// Returns only the existing entity ids. This prevents the component\n\t\t// from crashing in the editor, when non existing ids are provided.\n\t\tconst sanitizedValue = termIds.reduce( ( accumulator, id ) => {\n\t\t\tconst entity = existingTerms.find( ( term ) => term.id === id );\n\t\t\tif ( entity ) {\n\t\t\t\taccumulator.push( {\n\t\t\t\t\tid,\n\t\t\t\t\tvalue: entity.name,\n\t\t\t\t} );\n\t\t\t}\n\t\t\treturn accumulator;\n\t\t}, [] );\n\t\tsetValue( sanitizedValue );\n\t}, [ termIds, existingTerms ] );\n\t// Update suggestions only when the query has resolved.\n\tuseEffect( () => {\n\t\tif ( ! searchHasResolved ) {\n\t\t\treturn;\n\t\t}\n\t\tsetSuggestions( searchResults.map( ( result ) => result.name ) );\n\t}, [ searchResults, searchHasResolved ] );\n\tconst onTermsChange = ( newTermValues ) => {\n\t\tconst newTermIds = new Set();\n\t\tfor ( const termValue of newTermValues ) {\n\t\t\tconst termId = getTermIdByTermValue( searchResults, termValue );\n\t\t\tif ( termId ) {\n\t\t\t\tnewTermIds.add( termId );\n\t\t\t}\n\t\t}\n\t\tsetSuggestions( EMPTY_ARRAY );\n\t\tonChange( Array.from( newTermIds ) );\n\t};\n\treturn (\n\t\t<div className=\"block-library-query-inspector__taxonomy-control\">\n\t\t\t<FormTokenField\n\t\t\t\tlabel={ taxonomy.name }\n\t\t\t\tvalue={ value }\n\t\t\t\tonInputChange={ debouncedSearch }\n\t\t\t\tsuggestions={ suggestions }\n\t\t\t\tdisplayTransform={ decodeEntities }\n\t\t\t\tonChange={ onTermsChange }\n\t\t\t\t__experimentalShowHowTo={ false }\n\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t__next40pxDefaultSize\n\t\t\t/>\n\t\t</div>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
@@ -39,7 +39,6 @@ function QueryContent({
39
39
  const {
40
40
  queryId,
41
41
  query,
42
- displayLayout,
43
42
  enhancedPagination,
44
43
  tagName: TagName = 'div',
45
44
  query: {
@@ -93,12 +92,12 @@ function QueryContent({
93
92
  // Changes in query property (which is an object) need to be in the same callback,
94
93
  // because updates are batched after the render and changes in different query properties
95
94
  // would cause to override previous wanted changes.
96
- const updateQuery = (0, _element.useCallback)(newQuery => setAttributes({
95
+ const updateQuery = (0, _element.useCallback)(newQuery => setAttributes(prevAttributes => ({
97
96
  query: {
98
- ...query,
97
+ ...prevAttributes.query,
99
98
  ...newQuery
100
99
  }
101
- }), [query, setAttributes]);
100
+ })), [setAttributes]);
102
101
  (0, _element.useEffect)(() => {
103
102
  const newQuery = {};
104
103
  // When we inherit from global query always need to set the `perPage`
@@ -108,16 +107,11 @@ function QueryContent({
108
107
  } else if (!query.perPage && postsPerPage) {
109
108
  newQuery.perPage = postsPerPage;
110
109
  }
111
- // We need to reset the `inherit` value if in a singular template, as queries
112
- // are not inherited when in singular content (e.g. post, page, 404, blank).
113
- if (isSingular && query.inherit) {
114
- newQuery.inherit = false;
115
- }
116
110
  if (!!Object.keys(newQuery).length) {
117
111
  __unstableMarkNextChangeAsNotPersistent();
118
112
  updateQuery(newQuery);
119
113
  }
120
- }, [query.perPage, query.inherit, postsPerPage, inherit, isSingular, __unstableMarkNextChangeAsNotPersistent, updateQuery]);
114
+ }, [query.perPage, inherit, postsPerPage, __unstableMarkNextChangeAsNotPersistent, updateQuery]);
121
115
  // We need this for multi-query block pagination.
122
116
  // Query parameters for each block are scoped to their ID.
123
117
  (0, _element.useEffect)(() => {
@@ -128,12 +122,6 @@ function QueryContent({
128
122
  });
129
123
  }
130
124
  }, [queryId, instanceId, __unstableMarkNextChangeAsNotPersistent, setAttributes]);
131
- const updateDisplayLayout = newDisplayLayout => setAttributes({
132
- displayLayout: {
133
- ...displayLayout,
134
- ...newDisplayLayout
135
- }
136
- });
137
125
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
138
126
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_enhancedPaginationModal.default, {
139
127
  attributes: attributes,
@@ -144,7 +132,6 @@ function QueryContent({
144
132
  name: name,
145
133
  attributes: attributes,
146
134
  setQuery: updateQuery,
147
- setDisplayLayout: updateDisplayLayout,
148
135
  setAttributes: setAttributes,
149
136
  clientId: clientId,
150
137
  isSingular: isSingular
@@ -1 +1 @@
1
- {"version":3,"names":["_data","require","_compose","_element","_blockEditor","_components","_i18n","_coreData","_enhancedPaginationControl","_interopRequireDefault","_inspectorControls","_enhancedPaginationModal","_utils","_queryToolbar","_messages","_jsxRuntime","DEFAULTS_POSTS_PER_PAGE","TEMPLATE","QueryContent","attributes","setAttributes","clientId","context","name","queryId","query","displayLayout","enhancedPagination","tagName","TagName","inherit","templateSlug","isSingular","getQueryContextFromTemplate","__unstableMarkNextChangeAsNotPersistent","useDispatch","blockEditorStore","instanceId","useInstanceId","blockProps","useBlockProps","innerBlocksProps","useInnerBlocksProps","template","postsPerPage","useSelect","select","getSettings","getEntityRecord","getEntityRecordEdits","canUser","coreStore","settingPerPage","kind","posts_per_page","editedSettingPerPage","updateQuery","useCallback","newQuery","useEffect","perPage","Object","keys","length","Number","isFinite","updateDisplayLayout","newDisplayLayout","jsxs","Fragment","children","jsx","default","InspectorControls","setQuery","setDisplayLayout","BlockControls","group","SelectControl","__nextHasNoMarginBottom","__next40pxDefaultSize","label","__","options","value","onChange","help","htmlElementMessages"],"sources":["@wordpress/block-library/src/query/edit/query-content.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useInstanceId } from '@wordpress/compose';\nimport { useEffect, useCallback } from '@wordpress/element';\nimport {\n\tBlockControls,\n\tInspectorControls,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n\tuseInnerBlocksProps,\n} from '@wordpress/block-editor';\nimport { SelectControl } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport EnhancedPaginationControl from './inspector-controls/enhanced-pagination-control';\nimport QueryInspectorControls from './inspector-controls';\nimport EnhancedPaginationModal from './enhanced-pagination-modal';\nimport { getQueryContextFromTemplate } from '../utils';\nimport QueryToolbar from './query-toolbar';\nimport { htmlElementMessages } from '../../utils/messages';\n\nconst DEFAULTS_POSTS_PER_PAGE = 3;\n\nconst TEMPLATE = [ [ 'core/post-template' ] ];\nexport default function QueryContent( {\n\tattributes,\n\tsetAttributes,\n\tclientId,\n\tcontext,\n\tname,\n} ) {\n\tconst {\n\t\tqueryId,\n\t\tquery,\n\t\tdisplayLayout,\n\t\tenhancedPagination,\n\t\ttagName: TagName = 'div',\n\t\tquery: { inherit } = {},\n\t} = attributes;\n\tconst { templateSlug } = context;\n\tconst { isSingular } = getQueryContextFromTemplate( templateSlug );\n\tconst { __unstableMarkNextChangeAsNotPersistent } =\n\t\tuseDispatch( blockEditorStore );\n\tconst instanceId = useInstanceId( QueryContent );\n\tconst blockProps = useBlockProps();\n\tconst innerBlocksProps = useInnerBlocksProps( blockProps, {\n\t\ttemplate: TEMPLATE,\n\t} );\n\tconst { postsPerPage } = useSelect( ( select ) => {\n\t\tconst { getSettings } = select( blockEditorStore );\n\t\tconst { getEntityRecord, getEntityRecordEdits, canUser } =\n\t\t\tselect( coreStore );\n\t\tconst settingPerPage = canUser( 'read', {\n\t\t\tkind: 'root',\n\t\t\tname: 'site',\n\t\t} )\n\t\t\t? +getEntityRecord( 'root', 'site' )?.posts_per_page\n\t\t\t: +getSettings().postsPerPage;\n\n\t\t// Gets changes made via the template area posts per page setting. These won't be saved\n\t\t// until the page is saved, but we should reflect this setting within the query loops\n\t\t// that inherit it.\n\t\tconst editedSettingPerPage = +getEntityRecordEdits( 'root', 'site' )\n\t\t\t?.posts_per_page;\n\n\t\treturn {\n\t\t\tpostsPerPage:\n\t\t\t\teditedSettingPerPage ||\n\t\t\t\tsettingPerPage ||\n\t\t\t\tDEFAULTS_POSTS_PER_PAGE,\n\t\t};\n\t}, [] );\n\t// There are some effects running where some initialization logic is\n\t// happening and setting some values to some attributes (ex. queryId).\n\t// These updates can cause an `undo trap` where undoing will result in\n\t// resetting again, so we need to mark these changes as not persistent\n\t// with `__unstableMarkNextChangeAsNotPersistent`.\n\n\t// Changes in query property (which is an object) need to be in the same callback,\n\t// because updates are batched after the render and changes in different query properties\n\t// would cause to override previous wanted changes.\n\tconst updateQuery = useCallback(\n\t\t( newQuery ) => setAttributes( { query: { ...query, ...newQuery } } ),\n\t\t[ query, setAttributes ]\n\t);\n\tuseEffect( () => {\n\t\tconst newQuery = {};\n\t\t// When we inherit from global query always need to set the `perPage`\n\t\t// based on the reading settings.\n\t\tif ( inherit && query.perPage !== postsPerPage ) {\n\t\t\tnewQuery.perPage = postsPerPage;\n\t\t} else if ( ! query.perPage && postsPerPage ) {\n\t\t\tnewQuery.perPage = postsPerPage;\n\t\t}\n\t\t// We need to reset the `inherit` value if in a singular template, as queries\n\t\t// are not inherited when in singular content (e.g. post, page, 404, blank).\n\t\tif ( isSingular && query.inherit ) {\n\t\t\tnewQuery.inherit = false;\n\t\t}\n\t\tif ( !! Object.keys( newQuery ).length ) {\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tupdateQuery( newQuery );\n\t\t}\n\t}, [\n\t\tquery.perPage,\n\t\tquery.inherit,\n\t\tpostsPerPage,\n\t\tinherit,\n\t\tisSingular,\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t\tupdateQuery,\n\t] );\n\t// We need this for multi-query block pagination.\n\t// Query parameters for each block are scoped to their ID.\n\tuseEffect( () => {\n\t\tif ( ! Number.isFinite( queryId ) ) {\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tsetAttributes( { queryId: instanceId } );\n\t\t}\n\t}, [\n\t\tqueryId,\n\t\tinstanceId,\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t\tsetAttributes,\n\t] );\n\tconst updateDisplayLayout = ( newDisplayLayout ) =>\n\t\tsetAttributes( {\n\t\t\tdisplayLayout: { ...displayLayout, ...newDisplayLayout },\n\t\t} );\n\n\treturn (\n\t\t<>\n\t\t\t<EnhancedPaginationModal\n\t\t\t\tattributes={ attributes }\n\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\tclientId={ clientId }\n\t\t\t/>\n\t\t\t<InspectorControls>\n\t\t\t\t<QueryInspectorControls\n\t\t\t\t\tname={ name }\n\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\tsetQuery={ updateQuery }\n\t\t\t\t\tsetDisplayLayout={ updateDisplayLayout }\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tisSingular={ isSingular }\n\t\t\t\t/>\n\t\t\t</InspectorControls>\n\t\t\t<BlockControls>\n\t\t\t\t<QueryToolbar attributes={ attributes } clientId={ clientId } />\n\t\t\t</BlockControls>\n\t\t\t<InspectorControls group=\"advanced\">\n\t\t\t\t<SelectControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\tlabel={ __( 'HTML element' ) }\n\t\t\t\t\toptions={ [\n\t\t\t\t\t\t{ label: __( 'Default (<div>)' ), value: 'div' },\n\t\t\t\t\t\t{ label: '<main>', value: 'main' },\n\t\t\t\t\t\t{ label: '<section>', value: 'section' },\n\t\t\t\t\t\t{ label: '<aside>', value: 'aside' },\n\t\t\t\t\t] }\n\t\t\t\t\tvalue={ TagName }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { tagName: value } )\n\t\t\t\t\t}\n\t\t\t\t\thelp={ htmlElementMessages[ TagName ] }\n\t\t\t\t/>\n\t\t\t\t<EnhancedPaginationControl\n\t\t\t\t\tenhancedPagination={ enhancedPagination }\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t/>\n\t\t\t</InspectorControls>\n\t\t\t<TagName { ...innerBlocksProps } />\n\t\t</>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_data","require","_compose","_element","_blockEditor","_components","_i18n","_coreData","_enhancedPaginationControl","_interopRequireDefault","_inspectorControls","_enhancedPaginationModal","_utils","_queryToolbar","_messages","_jsxRuntime","DEFAULTS_POSTS_PER_PAGE","TEMPLATE","QueryContent","attributes","setAttributes","clientId","context","name","queryId","query","enhancedPagination","tagName","TagName","inherit","templateSlug","isSingular","getQueryContextFromTemplate","__unstableMarkNextChangeAsNotPersistent","useDispatch","blockEditorStore","instanceId","useInstanceId","blockProps","useBlockProps","innerBlocksProps","useInnerBlocksProps","template","postsPerPage","useSelect","select","getSettings","getEntityRecord","getEntityRecordEdits","canUser","coreStore","settingPerPage","kind","posts_per_page","editedSettingPerPage","updateQuery","useCallback","newQuery","prevAttributes","useEffect","perPage","Object","keys","length","Number","isFinite","jsxs","Fragment","children","jsx","default","InspectorControls","setQuery","BlockControls","group","SelectControl","__nextHasNoMarginBottom","__next40pxDefaultSize","label","__","options","value","onChange","help","htmlElementMessages"],"sources":["@wordpress/block-library/src/query/edit/query-content.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useInstanceId } from '@wordpress/compose';\nimport { useEffect, useCallback } from '@wordpress/element';\nimport {\n\tBlockControls,\n\tInspectorControls,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n\tuseInnerBlocksProps,\n} from '@wordpress/block-editor';\nimport { SelectControl } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport EnhancedPaginationControl from './inspector-controls/enhanced-pagination-control';\nimport QueryInspectorControls from './inspector-controls';\nimport EnhancedPaginationModal from './enhanced-pagination-modal';\nimport { getQueryContextFromTemplate } from '../utils';\nimport QueryToolbar from './query-toolbar';\nimport { htmlElementMessages } from '../../utils/messages';\n\nconst DEFAULTS_POSTS_PER_PAGE = 3;\n\nconst TEMPLATE = [ [ 'core/post-template' ] ];\nexport default function QueryContent( {\n\tattributes,\n\tsetAttributes,\n\tclientId,\n\tcontext,\n\tname,\n} ) {\n\tconst {\n\t\tqueryId,\n\t\tquery,\n\t\tenhancedPagination,\n\t\ttagName: TagName = 'div',\n\t\tquery: { inherit } = {},\n\t} = attributes;\n\tconst { templateSlug } = context;\n\tconst { isSingular } = getQueryContextFromTemplate( templateSlug );\n\tconst { __unstableMarkNextChangeAsNotPersistent } =\n\t\tuseDispatch( blockEditorStore );\n\tconst instanceId = useInstanceId( QueryContent );\n\tconst blockProps = useBlockProps();\n\tconst innerBlocksProps = useInnerBlocksProps( blockProps, {\n\t\ttemplate: TEMPLATE,\n\t} );\n\tconst { postsPerPage } = useSelect( ( select ) => {\n\t\tconst { getSettings } = select( blockEditorStore );\n\t\tconst { getEntityRecord, getEntityRecordEdits, canUser } =\n\t\t\tselect( coreStore );\n\t\tconst settingPerPage = canUser( 'read', {\n\t\t\tkind: 'root',\n\t\t\tname: 'site',\n\t\t} )\n\t\t\t? +getEntityRecord( 'root', 'site' )?.posts_per_page\n\t\t\t: +getSettings().postsPerPage;\n\n\t\t// Gets changes made via the template area posts per page setting. These won't be saved\n\t\t// until the page is saved, but we should reflect this setting within the query loops\n\t\t// that inherit it.\n\t\tconst editedSettingPerPage = +getEntityRecordEdits( 'root', 'site' )\n\t\t\t?.posts_per_page;\n\n\t\treturn {\n\t\t\tpostsPerPage:\n\t\t\t\teditedSettingPerPage ||\n\t\t\t\tsettingPerPage ||\n\t\t\t\tDEFAULTS_POSTS_PER_PAGE,\n\t\t};\n\t}, [] );\n\t// There are some effects running where some initialization logic is\n\t// happening and setting some values to some attributes (ex. queryId).\n\t// These updates can cause an `undo trap` where undoing will result in\n\t// resetting again, so we need to mark these changes as not persistent\n\t// with `__unstableMarkNextChangeAsNotPersistent`.\n\n\t// Changes in query property (which is an object) need to be in the same callback,\n\t// because updates are batched after the render and changes in different query properties\n\t// would cause to override previous wanted changes.\n\tconst updateQuery = useCallback(\n\t\t( newQuery ) =>\n\t\t\tsetAttributes( ( prevAttributes ) => ( {\n\t\t\t\tquery: { ...prevAttributes.query, ...newQuery },\n\t\t\t} ) ),\n\t\t[ setAttributes ]\n\t);\n\tuseEffect( () => {\n\t\tconst newQuery = {};\n\t\t// When we inherit from global query always need to set the `perPage`\n\t\t// based on the reading settings.\n\t\tif ( inherit && query.perPage !== postsPerPage ) {\n\t\t\tnewQuery.perPage = postsPerPage;\n\t\t} else if ( ! query.perPage && postsPerPage ) {\n\t\t\tnewQuery.perPage = postsPerPage;\n\t\t}\n\n\t\tif ( !! Object.keys( newQuery ).length ) {\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tupdateQuery( newQuery );\n\t\t}\n\t}, [\n\t\tquery.perPage,\n\t\tinherit,\n\t\tpostsPerPage,\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t\tupdateQuery,\n\t] );\n\t// We need this for multi-query block pagination.\n\t// Query parameters for each block are scoped to their ID.\n\tuseEffect( () => {\n\t\tif ( ! Number.isFinite( queryId ) ) {\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tsetAttributes( { queryId: instanceId } );\n\t\t}\n\t}, [\n\t\tqueryId,\n\t\tinstanceId,\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t\tsetAttributes,\n\t] );\n\n\treturn (\n\t\t<>\n\t\t\t<EnhancedPaginationModal\n\t\t\t\tattributes={ attributes }\n\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\tclientId={ clientId }\n\t\t\t/>\n\t\t\t<InspectorControls>\n\t\t\t\t<QueryInspectorControls\n\t\t\t\t\tname={ name }\n\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\tsetQuery={ updateQuery }\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tisSingular={ isSingular }\n\t\t\t\t/>\n\t\t\t</InspectorControls>\n\t\t\t<BlockControls>\n\t\t\t\t<QueryToolbar attributes={ attributes } clientId={ clientId } />\n\t\t\t</BlockControls>\n\t\t\t<InspectorControls group=\"advanced\">\n\t\t\t\t<SelectControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\tlabel={ __( 'HTML element' ) }\n\t\t\t\t\toptions={ [\n\t\t\t\t\t\t{ label: __( 'Default (<div>)' ), value: 'div' },\n\t\t\t\t\t\t{ label: '<main>', value: 'main' },\n\t\t\t\t\t\t{ label: '<section>', value: 'section' },\n\t\t\t\t\t\t{ label: '<aside>', value: 'aside' },\n\t\t\t\t\t] }\n\t\t\t\t\tvalue={ TagName }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { tagName: value } )\n\t\t\t\t\t}\n\t\t\t\t\thelp={ htmlElementMessages[ TagName ] }\n\t\t\t\t/>\n\t\t\t\t<EnhancedPaginationControl\n\t\t\t\t\tenhancedPagination={ enhancedPagination }\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t/>\n\t\t\t</InspectorControls>\n\t\t\t<TagName { ...innerBlocksProps } />\n\t\t</>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
@@ -65,6 +65,9 @@ const metadata = exports.metadata = {
65
65
  width: true,
66
66
  style: true
67
67
  }
68
+ },
69
+ interactivity: {
70
+ clientNavigation: true
68
71
  }
69
72
  },
70
73
  style: "wp-block-query-total"
@@ -1 +1 @@
1
- {"version":3,"names":["_edit","_interopRequireDefault","require","_initBlock","_icons","metadata","exports","$schema","apiVersion","name","title","category","ancestor","description","textdomain","attributes","displayType","type","usesContext","supports","align","html","spacing","margin","padding","color","gradients","__experimentalDefaultControls","background","text","typography","fontSize","lineHeight","__experimentalFontFamily","__experimentalFontWeight","__experimentalFontStyle","__experimentalTextTransform","__experimentalTextDecoration","__experimentalLetterSpacing","__experimentalBorder","radius","width","style","settings","icon","queryTotal","edit","init","initBlock"],"sources":["@wordpress/block-library/src/query-total/index.js"],"sourcesContent":["/**\n * Internal dependencies\n */\nimport metadata from './block.json';\nimport edit from './edit';\nimport initBlock from '../utils/init-block';\nimport { queryTotal } from './icons';\n\n/* Block settings */\nconst { name } = metadata;\nexport { metadata, name };\n\nexport const settings = {\n\ticon: queryTotal,\n\tedit,\n};\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"],"mappings":";;;;;;;AAIA,IAAAA,KAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,UAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,MAAA,GAAAF,OAAA;AANA;AACA;AACA;AAFA,MAAAG,QAAA,GAAAC,OAAA,CAAAD,QAAA;EAAAE,OAAA;EAAAC,UAAA;EAAAC,IAAA;EAAAC,KAAA;EAAAC,QAAA;EAAAC,QAAA;EAAAC,WAAA;EAAAC,UAAA;EAAAC,UAAA;IAAAC,WAAA;MAAAC,IAAA;MAAA;IAAA;EAAA;EAAAC,WAAA;EAAAC,QAAA;IAAAC,KAAA;IAAAC,IAAA;IAAAC,OAAA;MAAAC,MAAA;MAAAC,OAAA;IAAA;IAAAC,KAAA;MAAAC,SAAA;MAAAC,6BAAA;QAAAC,UAAA;QAAAC,IAAA;MAAA;IAAA;IAAAC,UAAA;MAAAC,QAAA;MAAAC,UAAA;MAAAC,wBAAA;MAAAC,wBAAA;MAAAC,uBAAA;MAAAC,2BAAA;MAAAC,4BAAA;MAAAC,2BAAA;MAAAX,6BAAA;QAAAI,QAAA;MAAA;IAAA;IAAAQ,oBAAA;MAAAC,MAAA;MAAAf,KAAA;MAAAgB,KAAA;MAAAC,KAAA;MAAAf,6BAAA;QAAAa,MAAA;QAAAf,KAAA;QAAAgB,KAAA;QAAAC,KAAA;MAAA;IAAA;EAAA;EAAAA,KAAA;AAAA;AAQA;AACA,MAAM;EAAEjC;AAAK,CAAC,GAAGJ,QAAQ;AAACC,OAAA,CAAAG,IAAA,GAAAA,IAAA;AAGnB,MAAMkC,QAAQ,GAAArC,OAAA,CAAAqC,QAAA,GAAG;EACvBC,IAAI,EAAEC,iBAAU;EAChBC,IAAI,EAAJA;AACD,CAAC;AAEM,MAAMC,IAAI,GAAGA,CAAA,KAAM,IAAAC,kBAAS,EAAE;EAAEvC,IAAI;EAAEJ,QAAQ;EAAEsC;AAAS,CAAE,CAAC;AAACrC,OAAA,CAAAyC,IAAA,GAAAA,IAAA","ignoreList":[]}
1
+ {"version":3,"names":["_edit","_interopRequireDefault","require","_initBlock","_icons","metadata","exports","$schema","apiVersion","name","title","category","ancestor","description","textdomain","attributes","displayType","type","usesContext","supports","align","html","spacing","margin","padding","color","gradients","__experimentalDefaultControls","background","text","typography","fontSize","lineHeight","__experimentalFontFamily","__experimentalFontWeight","__experimentalFontStyle","__experimentalTextTransform","__experimentalTextDecoration","__experimentalLetterSpacing","__experimentalBorder","radius","width","style","interactivity","clientNavigation","settings","icon","queryTotal","edit","init","initBlock"],"sources":["@wordpress/block-library/src/query-total/index.js"],"sourcesContent":["/**\n * Internal dependencies\n */\nimport metadata from './block.json';\nimport edit from './edit';\nimport initBlock from '../utils/init-block';\nimport { queryTotal } from './icons';\n\n/* Block settings */\nconst { name } = metadata;\nexport { metadata, name };\n\nexport const settings = {\n\ticon: queryTotal,\n\tedit,\n};\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"],"mappings":";;;;;;;AAIA,IAAAA,KAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,UAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,MAAA,GAAAF,OAAA;AANA;AACA;AACA;AAFA,MAAAG,QAAA,GAAAC,OAAA,CAAAD,QAAA;EAAAE,OAAA;EAAAC,UAAA;EAAAC,IAAA;EAAAC,KAAA;EAAAC,QAAA;EAAAC,QAAA;EAAAC,WAAA;EAAAC,UAAA;EAAAC,UAAA;IAAAC,WAAA;MAAAC,IAAA;MAAA;IAAA;EAAA;EAAAC,WAAA;EAAAC,QAAA;IAAAC,KAAA;IAAAC,IAAA;IAAAC,OAAA;MAAAC,MAAA;MAAAC,OAAA;IAAA;IAAAC,KAAA;MAAAC,SAAA;MAAAC,6BAAA;QAAAC,UAAA;QAAAC,IAAA;MAAA;IAAA;IAAAC,UAAA;MAAAC,QAAA;MAAAC,UAAA;MAAAC,wBAAA;MAAAC,wBAAA;MAAAC,uBAAA;MAAAC,2BAAA;MAAAC,4BAAA;MAAAC,2BAAA;MAAAX,6BAAA;QAAAI,QAAA;MAAA;IAAA;IAAAQ,oBAAA;MAAAC,MAAA;MAAAf,KAAA;MAAAgB,KAAA;MAAAC,KAAA;MAAAf,6BAAA;QAAAa,MAAA;QAAAf,KAAA;QAAAgB,KAAA;QAAAC,KAAA;MAAA;IAAA;IAAAC,aAAA;MAAAC,gBAAA;IAAA;EAAA;EAAAF,KAAA;AAAA;AAQA;AACA,MAAM;EAAEjC;AAAK,CAAC,GAAGJ,QAAQ;AAACC,OAAA,CAAAG,IAAA,GAAAA,IAAA;AAGnB,MAAMoC,QAAQ,GAAAvC,OAAA,CAAAuC,QAAA,GAAG;EACvBC,IAAI,EAAEC,iBAAU;EAChBC,IAAI,EAAJA;AACD,CAAC;AAEM,MAAMC,IAAI,GAAGA,CAAA,KAAM,IAAAC,kBAAS,EAAE;EAAEzC,IAAI;EAAEJ,QAAQ;EAAEwC;AAAS,CAAE,CAAC;AAACvC,OAAA,CAAA2C,IAAA,GAAAA,IAAA","ignoreList":[]}
@@ -130,7 +130,7 @@ const settings = exports.settings = {
130
130
  icon: _icons.quote,
131
131
  example: {
132
132
  attributes: {
133
- citation: 'Julio Cortázar'
133
+ citation: (0, _i18n.__)('Julio Cortázar')
134
134
  },
135
135
  innerBlocks: [{
136
136
  name: 'core/paragraph',
@@ -1 +1 @@
1
- {"version":3,"names":["_i18n","require","_icons","_initBlock","_interopRequireDefault","_deprecated","_edit","_save","_transforms","metadata","exports","$schema","apiVersion","name","title","category","description","keywords","textdomain","attributes","value","type","source","selector","multiline","role","citation","textAlign","supports","anchor","align","html","background","backgroundImage","backgroundSize","__experimentalDefaultControls","__experimentalBorder","color","radius","style","width","dimensions","minHeight","__experimentalOnEnter","__experimentalOnMerge","typography","fontSize","lineHeight","__experimentalFontFamily","__experimentalFontWeight","__experimentalFontStyle","__experimentalTextTransform","__experimentalTextDecoration","__experimentalLetterSpacing","gradients","heading","link","text","layout","allowEditing","spacing","blockGap","padding","margin","interactivity","clientNavigation","styles","label","isDefault","editorStyle","settings","icon","example","innerBlocks","content","__","transforms","edit","save","deprecated","init","initBlock"],"sources":["@wordpress/block-library/src/quote/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { quote as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport deprecated from './deprecated';\nimport edit from './edit';\nimport metadata from './block.json';\nimport save from './save';\nimport transforms from './transforms';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\texample: {\n\t\tattributes: {\n\t\t\tcitation: 'Julio Cortázar',\n\t\t},\n\t\tinnerBlocks: [\n\t\t\t{\n\t\t\t\tname: 'core/paragraph',\n\t\t\t\tattributes: {\n\t\t\t\t\tcontent: __( 'In quoting others, we cite ourselves.' ),\n\t\t\t\t},\n\t\t\t},\n\t\t],\n\t},\n\ttransforms,\n\tedit,\n\tsave,\n\tdeprecated,\n};\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"],"mappings":";;;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AAKA,IAAAE,UAAA,GAAAC,sBAAA,CAAAH,OAAA;AACA,IAAAI,WAAA,GAAAD,sBAAA,CAAAH,OAAA;AACA,IAAAK,KAAA,GAAAF,sBAAA,CAAAH,OAAA;AAEA,IAAAM,KAAA,GAAAH,sBAAA,CAAAH,OAAA;AACA,IAAAO,WAAA,GAAAJ,sBAAA,CAAAH,OAAA;AAdA;AACA;AACA;AAIA;AACA;AACA;AAFA,MAAAQ,QAAA,GAAAC,OAAA,CAAAD,QAAA;EAAAE,OAAA;EAAAC,UAAA;EAAAC,IAAA;EAAAC,KAAA;EAAAC,QAAA;EAAAC,WAAA;EAAAC,QAAA;EAAAC,UAAA;EAAAC,UAAA;IAAAC,KAAA;MAAAC,IAAA;MAAAC,MAAA;MAAAC,QAAA;MAAAC,SAAA;MAAA;MAAAC,IAAA;IAAA;IAAAC,QAAA;MAAAL,IAAA;MAAAC,MAAA;MAAAC,QAAA;MAAAE,IAAA;IAAA;IAAAE,SAAA;MAAAN,IAAA;IAAA;EAAA;EAAAO,QAAA;IAAAC,MAAA;IAAAC,KAAA;IAAAC,IAAA;IAAAC,UAAA;MAAAC,eAAA;MAAAC,cAAA;MAAAC,6BAAA;QAAAF,eAAA;MAAA;IAAA;IAAAG,oBAAA;MAAAC,KAAA;MAAAC,MAAA;MAAAC,KAAA;MAAAC,KAAA;MAAAL,6BAAA;QAAAE,KAAA;QAAAC,MAAA;QAAAC,KAAA;QAAAC,KAAA;MAAA;IAAA;IAAAC,UAAA;MAAAC,SAAA;MAAAP,6BAAA;QAAAO,SAAA;MAAA;IAAA;IAAAC,qBAAA;IAAAC,qBAAA;IAAAC,UAAA;MAAAC,QAAA;MAAAC,UAAA;MAAAC,wBAAA;MAAAC,wBAAA;MAAAC,uBAAA;MAAAC,2BAAA;MAAAC,4BAAA;MAAAC,2BAAA;MAAAlB,6BAAA;QAAAW,QAAA;MAAA;IAAA;IAAAT,KAAA;MAAAiB,SAAA;MAAAC,OAAA;MAAAC,IAAA;MAAArB,6BAAA;QAAAH,UAAA;QAAAyB,IAAA;MAAA;IAAA;IAAAC,MAAA;MAAAC,YAAA;IAAA;IAAAC,OAAA;MAAAC,QAAA;MAAAC,OAAA;MAAAC,MAAA;IAAA;IAAAC,aAAA;MAAAC,gBAAA;IAAA;EAAA;EAAAC,MAAA;IAAArD,IAAA;IAAAsD,KAAA;IAAAC,SAAA;EAAA;IAAAvD,IAAA;IAAAsD,KAAA;EAAA;EAAAE,WAAA;EAAA9B,KAAA;AAAA;AAUA,MAAM;EAAE1B;AAAK,CAAC,GAAGJ,QAAQ;AAACC,OAAA,CAAAG,IAAA,GAAAA,IAAA;AAInB,MAAMyD,QAAQ,GAAA5D,OAAA,CAAA4D,QAAA,GAAG;EACvBC,IAAI,EAAJA,YAAI;EACJC,OAAO,EAAE;IACRrD,UAAU,EAAE;MACXO,QAAQ,EAAE;IACX,CAAC;IACD+C,WAAW,EAAE,CACZ;MACC5D,IAAI,EAAE,gBAAgB;MACtBM,UAAU,EAAE;QACXuD,OAAO,EAAE,IAAAC,QAAE,EAAE,uCAAwC;MACtD;IACD,CAAC;EAEH,CAAC;EACDC,UAAU,EAAVA,mBAAU;EACVC,IAAI,EAAJA,aAAI;EACJC,IAAI,EAAJA,aAAI;EACJC,UAAU,EAAVA;AACD,CAAC;AAEM,MAAMC,IAAI,GAAGA,CAAA,KAAM,IAAAC,kBAAS,EAAE;EAAEpE,IAAI;EAAEJ,QAAQ;EAAE6D;AAAS,CAAE,CAAC;AAAC5D,OAAA,CAAAsE,IAAA,GAAAA,IAAA","ignoreList":[]}
1
+ {"version":3,"names":["_i18n","require","_icons","_initBlock","_interopRequireDefault","_deprecated","_edit","_save","_transforms","metadata","exports","$schema","apiVersion","name","title","category","description","keywords","textdomain","attributes","value","type","source","selector","multiline","role","citation","textAlign","supports","anchor","align","html","background","backgroundImage","backgroundSize","__experimentalDefaultControls","__experimentalBorder","color","radius","style","width","dimensions","minHeight","__experimentalOnEnter","__experimentalOnMerge","typography","fontSize","lineHeight","__experimentalFontFamily","__experimentalFontWeight","__experimentalFontStyle","__experimentalTextTransform","__experimentalTextDecoration","__experimentalLetterSpacing","gradients","heading","link","text","layout","allowEditing","spacing","blockGap","padding","margin","interactivity","clientNavigation","styles","label","isDefault","editorStyle","settings","icon","example","__","innerBlocks","content","transforms","edit","save","deprecated","init","initBlock"],"sources":["@wordpress/block-library/src/quote/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { quote as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport deprecated from './deprecated';\nimport edit from './edit';\nimport metadata from './block.json';\nimport save from './save';\nimport transforms from './transforms';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\texample: {\n\t\tattributes: {\n\t\t\tcitation: __( 'Julio Cortázar' ),\n\t\t},\n\t\tinnerBlocks: [\n\t\t\t{\n\t\t\t\tname: 'core/paragraph',\n\t\t\t\tattributes: {\n\t\t\t\t\tcontent: __( 'In quoting others, we cite ourselves.' ),\n\t\t\t\t},\n\t\t\t},\n\t\t],\n\t},\n\ttransforms,\n\tedit,\n\tsave,\n\tdeprecated,\n};\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"],"mappings":";;;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AAKA,IAAAE,UAAA,GAAAC,sBAAA,CAAAH,OAAA;AACA,IAAAI,WAAA,GAAAD,sBAAA,CAAAH,OAAA;AACA,IAAAK,KAAA,GAAAF,sBAAA,CAAAH,OAAA;AAEA,IAAAM,KAAA,GAAAH,sBAAA,CAAAH,OAAA;AACA,IAAAO,WAAA,GAAAJ,sBAAA,CAAAH,OAAA;AAdA;AACA;AACA;AAIA;AACA;AACA;AAFA,MAAAQ,QAAA,GAAAC,OAAA,CAAAD,QAAA;EAAAE,OAAA;EAAAC,UAAA;EAAAC,IAAA;EAAAC,KAAA;EAAAC,QAAA;EAAAC,WAAA;EAAAC,QAAA;EAAAC,UAAA;EAAAC,UAAA;IAAAC,KAAA;MAAAC,IAAA;MAAAC,MAAA;MAAAC,QAAA;MAAAC,SAAA;MAAA;MAAAC,IAAA;IAAA;IAAAC,QAAA;MAAAL,IAAA;MAAAC,MAAA;MAAAC,QAAA;MAAAE,IAAA;IAAA;IAAAE,SAAA;MAAAN,IAAA;IAAA;EAAA;EAAAO,QAAA;IAAAC,MAAA;IAAAC,KAAA;IAAAC,IAAA;IAAAC,UAAA;MAAAC,eAAA;MAAAC,cAAA;MAAAC,6BAAA;QAAAF,eAAA;MAAA;IAAA;IAAAG,oBAAA;MAAAC,KAAA;MAAAC,MAAA;MAAAC,KAAA;MAAAC,KAAA;MAAAL,6BAAA;QAAAE,KAAA;QAAAC,MAAA;QAAAC,KAAA;QAAAC,KAAA;MAAA;IAAA;IAAAC,UAAA;MAAAC,SAAA;MAAAP,6BAAA;QAAAO,SAAA;MAAA;IAAA;IAAAC,qBAAA;IAAAC,qBAAA;IAAAC,UAAA;MAAAC,QAAA;MAAAC,UAAA;MAAAC,wBAAA;MAAAC,wBAAA;MAAAC,uBAAA;MAAAC,2BAAA;MAAAC,4BAAA;MAAAC,2BAAA;MAAAlB,6BAAA;QAAAW,QAAA;MAAA;IAAA;IAAAT,KAAA;MAAAiB,SAAA;MAAAC,OAAA;MAAAC,IAAA;MAAArB,6BAAA;QAAAH,UAAA;QAAAyB,IAAA;MAAA;IAAA;IAAAC,MAAA;MAAAC,YAAA;IAAA;IAAAC,OAAA;MAAAC,QAAA;MAAAC,OAAA;MAAAC,MAAA;IAAA;IAAAC,aAAA;MAAAC,gBAAA;IAAA;EAAA;EAAAC,MAAA;IAAArD,IAAA;IAAAsD,KAAA;IAAAC,SAAA;EAAA;IAAAvD,IAAA;IAAAsD,KAAA;EAAA;EAAAE,WAAA;EAAA9B,KAAA;AAAA;AAUA,MAAM;EAAE1B;AAAK,CAAC,GAAGJ,QAAQ;AAACC,OAAA,CAAAG,IAAA,GAAAA,IAAA;AAInB,MAAMyD,QAAQ,GAAA5D,OAAA,CAAA4D,QAAA,GAAG;EACvBC,IAAI,EAAJA,YAAI;EACJC,OAAO,EAAE;IACRrD,UAAU,EAAE;MACXO,QAAQ,EAAE,IAAA+C,QAAE,EAAE,gBAAiB;IAChC,CAAC;IACDC,WAAW,EAAE,CACZ;MACC7D,IAAI,EAAE,gBAAgB;MACtBM,UAAU,EAAE;QACXwD,OAAO,EAAE,IAAAF,QAAE,EAAE,uCAAwC;MACtD;IACD,CAAC;EAEH,CAAC;EACDG,UAAU,EAAVA,mBAAU;EACVC,IAAI,EAAJA,aAAI;EACJC,IAAI,EAAJA,aAAI;EACJC,UAAU,EAAVA;AACD,CAAC;AAEM,MAAMC,IAAI,GAAGA,CAAA,KAAM,IAAAC,kBAAS,EAAE;EAAEpE,IAAI;EAAEJ,QAAQ;EAAE6D;AAAS,CAAE,CAAC;AAAC5D,OAAA,CAAAsE,IAAA,GAAAA,IAAA","ignoreList":[]}
package/build/rss/edit.js CHANGED
@@ -32,7 +32,9 @@ function RSSEdit({
32
32
  displayExcerpt,
33
33
  excerptLength,
34
34
  feedURL,
35
- itemsToShow
35
+ itemsToShow,
36
+ openInNewTab,
37
+ rel
36
38
  } = attributes;
37
39
  function toggleAttribute(propName) {
38
40
  return () => {
@@ -173,8 +175,26 @@ function RSSEdit({
173
175
  min: 2,
174
176
  max: 6,
175
177
  required: true
178
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.ToggleControl, {
179
+ __nextHasNoMarginBottom: true,
180
+ label: (0, _i18n.__)('Open links in new tab'),
181
+ checked: openInNewTab,
182
+ onChange: value => setAttributes({
183
+ openInNewTab: value
184
+ })
176
185
  })]
177
186
  })
187
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_blockEditor.InspectorControls, {
188
+ group: "advanced",
189
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.TextControl, {
190
+ __next40pxDefaultSize: true,
191
+ __nextHasNoMarginBottom: true,
192
+ label: (0, _i18n.__)('Link rel'),
193
+ value: rel || '',
194
+ onChange: value => setAttributes({
195
+ rel: value
196
+ })
197
+ })
178
198
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
179
199
  ...blockProps,
180
200
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Disabled, {
@@ -1 +1 @@
1
- {"version":3,"names":["_blockEditor","require","_components","_element","_icons","_i18n","_url","_serverSideRender","_interopRequireDefault","_jsxRuntime","DEFAULT_MIN_ITEMS","DEFAULT_MAX_ITEMS","RSSEdit","attributes","setAttributes","isEditing","setIsEditing","useState","feedURL","blockLayout","columns","displayAuthor","displayDate","displayExcerpt","excerptLength","itemsToShow","toggleAttribute","propName","value","onSubmitURL","event","preventDefault","prependHTTP","blockProps","useBlockProps","label","__","jsx","children","Placeholder","icon","rss","instructions","jsxs","onSubmit","className","__experimentalInputControl","__next40pxDefaultSize","type","hideLabelFromVision","placeholder","onChange","Button","variant","toolbarControls","edit","title","onClick","list","_x","isActive","grid","serverSideAttributes","style","border","undefined","spacing","Fragment","BlockControls","ToolbarGroup","controls","InspectorControls","PanelBody","RangeControl","__nextHasNoMarginBottom","min","max","required","ToggleControl","checked","Disabled","default","block"],"sources":["@wordpress/block-library/src/rss/edit.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tBlockControls,\n\tInspectorControls,\n\tuseBlockProps,\n} from '@wordpress/block-editor';\nimport {\n\tButton,\n\tDisabled,\n\tPanelBody,\n\tPlaceholder,\n\tRangeControl,\n\tToggleControl,\n\tToolbarGroup,\n\t__experimentalInputControl as InputControl,\n} from '@wordpress/components';\nimport { useState } from '@wordpress/element';\nimport { grid, list, edit, rss } from '@wordpress/icons';\nimport { __, _x } from '@wordpress/i18n';\nimport { prependHTTP } from '@wordpress/url';\nimport ServerSideRender from '@wordpress/server-side-render';\n\nconst DEFAULT_MIN_ITEMS = 1;\nconst DEFAULT_MAX_ITEMS = 20;\n\nexport default function RSSEdit( { attributes, setAttributes } ) {\n\tconst [ isEditing, setIsEditing ] = useState( ! attributes.feedURL );\n\n\tconst {\n\t\tblockLayout,\n\t\tcolumns,\n\t\tdisplayAuthor,\n\t\tdisplayDate,\n\t\tdisplayExcerpt,\n\t\texcerptLength,\n\t\tfeedURL,\n\t\titemsToShow,\n\t} = attributes;\n\n\tfunction toggleAttribute( propName ) {\n\t\treturn () => {\n\t\t\tconst value = attributes[ propName ];\n\n\t\t\tsetAttributes( { [ propName ]: ! value } );\n\t\t};\n\t}\n\n\tfunction onSubmitURL( event ) {\n\t\tevent.preventDefault();\n\n\t\tif ( feedURL ) {\n\t\t\tsetAttributes( { feedURL: prependHTTP( feedURL ) } );\n\t\t\tsetIsEditing( false );\n\t\t}\n\t}\n\n\tconst blockProps = useBlockProps();\n\n\tconst label = __( 'RSS URL' );\n\n\tif ( isEditing ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<Placeholder\n\t\t\t\t\ticon={ rss }\n\t\t\t\t\tlabel={ label }\n\t\t\t\t\tinstructions={ __(\n\t\t\t\t\t\t'Display entries from any RSS or Atom feed.'\n\t\t\t\t\t) }\n\t\t\t\t>\n\t\t\t\t\t<form\n\t\t\t\t\t\tonSubmit={ onSubmitURL }\n\t\t\t\t\t\tclassName=\"wp-block-rss__placeholder-form\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<InputControl\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tlabel={ label }\n\t\t\t\t\t\t\ttype=\"url\"\n\t\t\t\t\t\t\thideLabelFromVision\n\t\t\t\t\t\t\tplaceholder={ __( 'Enter URL here…' ) }\n\t\t\t\t\t\t\tvalue={ feedURL }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( { feedURL: value } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tclassName=\"wp-block-rss__placeholder-input\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\ttype=\"submit\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Apply' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</form>\n\t\t\t\t</Placeholder>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tconst toolbarControls = [\n\t\t{\n\t\t\ticon: edit,\n\t\t\ttitle: __( 'Edit RSS URL' ),\n\t\t\tonClick: () => setIsEditing( true ),\n\t\t},\n\t\t{\n\t\t\ticon: list,\n\t\t\ttitle: _x( 'List view', 'RSS block display setting' ),\n\t\t\tonClick: () => setAttributes( { blockLayout: 'list' } ),\n\t\t\tisActive: blockLayout === 'list',\n\t\t},\n\t\t{\n\t\t\ticon: grid,\n\t\t\ttitle: _x( 'Grid view', 'RSS block display setting' ),\n\t\t\tonClick: () => setAttributes( { blockLayout: 'grid' } ),\n\t\t\tisActive: blockLayout === 'grid',\n\t\t},\n\t];\n\n\t/*\n\t * This function merges the existing attributes with additional style properties.\n\t * The `border` and `spacing` properties are set to `undefined` to ensure that\n\t * these styles are reset and not applied on the server side.\n\t */\n\tconst serverSideAttributes = {\n\t\t...attributes,\n\t\tstyle: {\n\t\t\t...attributes?.style,\n\t\t\tborder: undefined,\n\t\t\tspacing: undefined,\n\t\t},\n\t};\n\treturn (\n\t\t<>\n\t\t\t<BlockControls>\n\t\t\t\t<ToolbarGroup controls={ toolbarControls } />\n\t\t\t</BlockControls>\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tlabel={ __( 'Number of items' ) }\n\t\t\t\t\t\tvalue={ itemsToShow }\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( { itemsToShow: value } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tmin={ DEFAULT_MIN_ITEMS }\n\t\t\t\t\t\tmax={ DEFAULT_MAX_ITEMS }\n\t\t\t\t\t\trequired\n\t\t\t\t\t/>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Display author' ) }\n\t\t\t\t\t\tchecked={ displayAuthor }\n\t\t\t\t\t\tonChange={ toggleAttribute( 'displayAuthor' ) }\n\t\t\t\t\t/>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Display date' ) }\n\t\t\t\t\t\tchecked={ displayDate }\n\t\t\t\t\t\tonChange={ toggleAttribute( 'displayDate' ) }\n\t\t\t\t\t/>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Display excerpt' ) }\n\t\t\t\t\t\tchecked={ displayExcerpt }\n\t\t\t\t\t\tonChange={ toggleAttribute( 'displayExcerpt' ) }\n\t\t\t\t\t/>\n\t\t\t\t\t{ displayExcerpt && (\n\t\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tlabel={ __( 'Max number of words in excerpt' ) }\n\t\t\t\t\t\t\tvalue={ excerptLength }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( { excerptLength: value } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tmin={ 10 }\n\t\t\t\t\t\t\tmax={ 100 }\n\t\t\t\t\t\t\trequired\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ blockLayout === 'grid' && (\n\t\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tlabel={ __( 'Columns' ) }\n\t\t\t\t\t\t\tvalue={ columns }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( { 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={ 6 }\n\t\t\t\t\t\t\trequired\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<Disabled>\n\t\t\t\t\t<ServerSideRender\n\t\t\t\t\t\tblock=\"core/rss\"\n\t\t\t\t\t\tattributes={ serverSideAttributes }\n\t\t\t\t\t/>\n\t\t\t\t</Disabled>\n\t\t\t</div>\n\t\t</>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_blockEditor","require","_components","_element","_icons","_i18n","_url","_serverSideRender","_interopRequireDefault","_jsxRuntime","DEFAULT_MIN_ITEMS","DEFAULT_MAX_ITEMS","RSSEdit","attributes","setAttributes","isEditing","setIsEditing","useState","feedURL","blockLayout","columns","displayAuthor","displayDate","displayExcerpt","excerptLength","itemsToShow","openInNewTab","rel","toggleAttribute","propName","value","onSubmitURL","event","preventDefault","prependHTTP","blockProps","useBlockProps","label","__","jsx","children","Placeholder","icon","rss","instructions","jsxs","onSubmit","className","__experimentalInputControl","__next40pxDefaultSize","type","hideLabelFromVision","placeholder","onChange","Button","variant","toolbarControls","edit","title","onClick","list","_x","isActive","grid","serverSideAttributes","style","border","undefined","spacing","Fragment","BlockControls","ToolbarGroup","controls","InspectorControls","PanelBody","RangeControl","__nextHasNoMarginBottom","min","max","required","ToggleControl","checked","group","TextControl","Disabled","default","block"],"sources":["@wordpress/block-library/src/rss/edit.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tBlockControls,\n\tInspectorControls,\n\tuseBlockProps,\n} from '@wordpress/block-editor';\nimport {\n\tButton,\n\tDisabled,\n\tPanelBody,\n\tPlaceholder,\n\tRangeControl,\n\tToggleControl,\n\tToolbarGroup,\n\tTextControl,\n\t__experimentalInputControl as InputControl,\n} from '@wordpress/components';\nimport { useState } from '@wordpress/element';\nimport { grid, list, edit, rss } from '@wordpress/icons';\nimport { __, _x } from '@wordpress/i18n';\nimport { prependHTTP } from '@wordpress/url';\nimport ServerSideRender from '@wordpress/server-side-render';\n\nconst DEFAULT_MIN_ITEMS = 1;\nconst DEFAULT_MAX_ITEMS = 20;\n\nexport default function RSSEdit( { attributes, setAttributes } ) {\n\tconst [ isEditing, setIsEditing ] = useState( ! attributes.feedURL );\n\n\tconst {\n\t\tblockLayout,\n\t\tcolumns,\n\t\tdisplayAuthor,\n\t\tdisplayDate,\n\t\tdisplayExcerpt,\n\t\texcerptLength,\n\t\tfeedURL,\n\t\titemsToShow,\n\t\topenInNewTab,\n\t\trel,\n\t} = attributes;\n\n\tfunction toggleAttribute( propName ) {\n\t\treturn () => {\n\t\t\tconst value = attributes[ propName ];\n\n\t\t\tsetAttributes( { [ propName ]: ! value } );\n\t\t};\n\t}\n\n\tfunction onSubmitURL( event ) {\n\t\tevent.preventDefault();\n\n\t\tif ( feedURL ) {\n\t\t\tsetAttributes( { feedURL: prependHTTP( feedURL ) } );\n\t\t\tsetIsEditing( false );\n\t\t}\n\t}\n\n\tconst blockProps = useBlockProps();\n\n\tconst label = __( 'RSS URL' );\n\n\tif ( isEditing ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<Placeholder\n\t\t\t\t\ticon={ rss }\n\t\t\t\t\tlabel={ label }\n\t\t\t\t\tinstructions={ __(\n\t\t\t\t\t\t'Display entries from any RSS or Atom feed.'\n\t\t\t\t\t) }\n\t\t\t\t>\n\t\t\t\t\t<form\n\t\t\t\t\t\tonSubmit={ onSubmitURL }\n\t\t\t\t\t\tclassName=\"wp-block-rss__placeholder-form\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<InputControl\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tlabel={ label }\n\t\t\t\t\t\t\ttype=\"url\"\n\t\t\t\t\t\t\thideLabelFromVision\n\t\t\t\t\t\t\tplaceholder={ __( 'Enter URL here…' ) }\n\t\t\t\t\t\t\tvalue={ feedURL }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( { feedURL: value } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tclassName=\"wp-block-rss__placeholder-input\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\ttype=\"submit\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Apply' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</form>\n\t\t\t\t</Placeholder>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tconst toolbarControls = [\n\t\t{\n\t\t\ticon: edit,\n\t\t\ttitle: __( 'Edit RSS URL' ),\n\t\t\tonClick: () => setIsEditing( true ),\n\t\t},\n\t\t{\n\t\t\ticon: list,\n\t\t\ttitle: _x( 'List view', 'RSS block display setting' ),\n\t\t\tonClick: () => setAttributes( { blockLayout: 'list' } ),\n\t\t\tisActive: blockLayout === 'list',\n\t\t},\n\t\t{\n\t\t\ticon: grid,\n\t\t\ttitle: _x( 'Grid view', 'RSS block display setting' ),\n\t\t\tonClick: () => setAttributes( { blockLayout: 'grid' } ),\n\t\t\tisActive: blockLayout === 'grid',\n\t\t},\n\t];\n\n\t/*\n\t * This function merges the existing attributes with additional style properties.\n\t * The `border` and `spacing` properties are set to `undefined` to ensure that\n\t * these styles are reset and not applied on the server side.\n\t */\n\tconst serverSideAttributes = {\n\t\t...attributes,\n\t\tstyle: {\n\t\t\t...attributes?.style,\n\t\t\tborder: undefined,\n\t\t\tspacing: undefined,\n\t\t},\n\t};\n\treturn (\n\t\t<>\n\t\t\t<BlockControls>\n\t\t\t\t<ToolbarGroup controls={ toolbarControls } />\n\t\t\t</BlockControls>\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tlabel={ __( 'Number of items' ) }\n\t\t\t\t\t\tvalue={ itemsToShow }\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( { itemsToShow: value } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tmin={ DEFAULT_MIN_ITEMS }\n\t\t\t\t\t\tmax={ DEFAULT_MAX_ITEMS }\n\t\t\t\t\t\trequired\n\t\t\t\t\t/>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Display author' ) }\n\t\t\t\t\t\tchecked={ displayAuthor }\n\t\t\t\t\t\tonChange={ toggleAttribute( 'displayAuthor' ) }\n\t\t\t\t\t/>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Display date' ) }\n\t\t\t\t\t\tchecked={ displayDate }\n\t\t\t\t\t\tonChange={ toggleAttribute( 'displayDate' ) }\n\t\t\t\t\t/>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Display excerpt' ) }\n\t\t\t\t\t\tchecked={ displayExcerpt }\n\t\t\t\t\t\tonChange={ toggleAttribute( 'displayExcerpt' ) }\n\t\t\t\t\t/>\n\t\t\t\t\t{ displayExcerpt && (\n\t\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tlabel={ __( 'Max number of words in excerpt' ) }\n\t\t\t\t\t\t\tvalue={ excerptLength }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( { excerptLength: value } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tmin={ 10 }\n\t\t\t\t\t\t\tmax={ 100 }\n\t\t\t\t\t\t\trequired\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ blockLayout === 'grid' && (\n\t\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tlabel={ __( 'Columns' ) }\n\t\t\t\t\t\t\tvalue={ columns }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( { 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={ 6 }\n\t\t\t\t\t\t\trequired\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Open links in new tab' ) }\n\t\t\t\t\t\tchecked={ openInNewTab }\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( { openInNewTab: value } )\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<InspectorControls group=\"advanced\">\n\t\t\t\t<TextControl\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tlabel={ __( 'Link rel' ) }\n\t\t\t\t\tvalue={ rel || '' }\n\t\t\t\t\tonChange={ ( value ) => setAttributes( { rel: value } ) }\n\t\t\t\t/>\n\t\t\t</InspectorControls>\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<Disabled>\n\t\t\t\t\t<ServerSideRender\n\t\t\t\t\t\tblock=\"core/rss\"\n\t\t\t\t\t\tattributes={ serverSideAttributes }\n\t\t\t\t\t/>\n\t\t\t\t</Disabled>\n\t\t\t</div>\n\t\t</>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
@@ -55,6 +55,13 @@ const metadata = exports.metadata = {
55
55
  excerptLength: {
56
56
  type: "number",
57
57
  "default": 55
58
+ },
59
+ openInNewTab: {
60
+ type: "boolean",
61
+ "default": false
62
+ },
63
+ rel: {
64
+ type: "string"
58
65
  }
59
66
  },
60
67
  supports: {
@@ -1 +1 @@
1
- {"version":3,"names":["_icons","require","_initBlock","_interopRequireDefault","_edit","metadata","exports","$schema","apiVersion","name","title","category","description","keywords","textdomain","attributes","columns","type","blockLayout","feedURL","itemsToShow","displayExcerpt","displayAuthor","displayDate","excerptLength","supports","align","html","interactivity","clientNavigation","__experimentalBorder","radius","color","width","style","spacing","margin","padding","__experimentalDefaultControls","background","text","gradients","link","editorStyle","settings","icon","example","edit","init","initBlock"],"sources":["@wordpress/block-library/src/rss/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { rss as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport metadata from './block.json';\nimport edit from './edit';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\texample: {\n\t\tattributes: {\n\t\t\tfeedURL: 'https://wordpress.org',\n\t\t},\n\t},\n\tedit,\n};\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"],"mappings":";;;;;;;AAGA,IAAAA,MAAA,GAAAC,OAAA;AAKA,IAAAC,UAAA,GAAAC,sBAAA,CAAAF,OAAA;AAEA,IAAAG,KAAA,GAAAD,sBAAA,CAAAF,OAAA;AAVA;AACA;AACA;AAGA;AACA;AACA;AAFA,MAAAI,QAAA,GAAAC,OAAA,CAAAD,QAAA;EAAAE,OAAA;EAAAC,UAAA;EAAAC,IAAA;EAAAC,KAAA;EAAAC,QAAA;EAAAC,WAAA;EAAAC,QAAA;EAAAC,UAAA;EAAAC,UAAA;IAAAC,OAAA;MAAAC,IAAA;MAAA;IAAA;IAAAC,WAAA;MAAAD,IAAA;MAAA;IAAA;IAAAE,OAAA;MAAAF,IAAA;MAAA;IAAA;IAAAG,WAAA;MAAAH,IAAA;MAAA;IAAA;IAAAI,cAAA;MAAAJ,IAAA;MAAA;IAAA;IAAAK,aAAA;MAAAL,IAAA;MAAA;IAAA;IAAAM,WAAA;MAAAN,IAAA;MAAA;IAAA;IAAAO,aAAA;MAAAP,IAAA;MAAA;IAAA;EAAA;EAAAQ,QAAA;IAAAC,KAAA;IAAAC,IAAA;IAAAC,aAAA;MAAAC,gBAAA;IAAA;IAAAC,oBAAA;MAAAC,MAAA;MAAAC,KAAA;MAAAC,KAAA;MAAAC,KAAA;IAAA;IAAAC,OAAA;MAAAC,MAAA;MAAAC,OAAA;MAAAC,6BAAA;QAAAD,OAAA;QAAAD,MAAA;MAAA;IAAA;IAAAJ,KAAA;MAAAO,UAAA;MAAAC,IAAA;MAAAC,SAAA;MAAAC,IAAA;IAAA;EAAA;EAAAC,WAAA;EAAAT,KAAA;AAAA;AAOA,MAAM;EAAEzB;AAAK,CAAC,GAAGJ,QAAQ;AAACC,OAAA,CAAAG,IAAA,GAAAA,IAAA;AAInB,MAAMmC,QAAQ,GAAAtC,OAAA,CAAAsC,QAAA,GAAG;EACvBC,IAAI,EAAJA,UAAI;EACJC,OAAO,EAAE;IACR/B,UAAU,EAAE;MACXI,OAAO,EAAE;IACV;EACD,CAAC;EACD4B,IAAI,EAAJA;AACD,CAAC;AAEM,MAAMC,IAAI,GAAGA,CAAA,KAAM,IAAAC,kBAAS,EAAE;EAAExC,IAAI;EAAEJ,QAAQ;EAAEuC;AAAS,CAAE,CAAC;AAACtC,OAAA,CAAA0C,IAAA,GAAAA,IAAA","ignoreList":[]}
1
+ {"version":3,"names":["_icons","require","_initBlock","_interopRequireDefault","_edit","metadata","exports","$schema","apiVersion","name","title","category","description","keywords","textdomain","attributes","columns","type","blockLayout","feedURL","itemsToShow","displayExcerpt","displayAuthor","displayDate","excerptLength","openInNewTab","rel","supports","align","html","interactivity","clientNavigation","__experimentalBorder","radius","color","width","style","spacing","margin","padding","__experimentalDefaultControls","background","text","gradients","link","editorStyle","settings","icon","example","edit","init","initBlock"],"sources":["@wordpress/block-library/src/rss/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { rss as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport metadata from './block.json';\nimport edit from './edit';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\texample: {\n\t\tattributes: {\n\t\t\tfeedURL: 'https://wordpress.org',\n\t\t},\n\t},\n\tedit,\n};\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"],"mappings":";;;;;;;AAGA,IAAAA,MAAA,GAAAC,OAAA;AAKA,IAAAC,UAAA,GAAAC,sBAAA,CAAAF,OAAA;AAEA,IAAAG,KAAA,GAAAD,sBAAA,CAAAF,OAAA;AAVA;AACA;AACA;AAGA;AACA;AACA;AAFA,MAAAI,QAAA,GAAAC,OAAA,CAAAD,QAAA;EAAAE,OAAA;EAAAC,UAAA;EAAAC,IAAA;EAAAC,KAAA;EAAAC,QAAA;EAAAC,WAAA;EAAAC,QAAA;EAAAC,UAAA;EAAAC,UAAA;IAAAC,OAAA;MAAAC,IAAA;MAAA;IAAA;IAAAC,WAAA;MAAAD,IAAA;MAAA;IAAA;IAAAE,OAAA;MAAAF,IAAA;MAAA;IAAA;IAAAG,WAAA;MAAAH,IAAA;MAAA;IAAA;IAAAI,cAAA;MAAAJ,IAAA;MAAA;IAAA;IAAAK,aAAA;MAAAL,IAAA;MAAA;IAAA;IAAAM,WAAA;MAAAN,IAAA;MAAA;IAAA;IAAAO,aAAA;MAAAP,IAAA;MAAA;IAAA;IAAAQ,YAAA;MAAAR,IAAA;MAAA;IAAA;IAAAS,GAAA;MAAAT,IAAA;IAAA;EAAA;EAAAU,QAAA;IAAAC,KAAA;IAAAC,IAAA;IAAAC,aAAA;MAAAC,gBAAA;IAAA;IAAAC,oBAAA;MAAAC,MAAA;MAAAC,KAAA;MAAAC,KAAA;MAAAC,KAAA;IAAA;IAAAC,OAAA;MAAAC,MAAA;MAAAC,OAAA;MAAAC,6BAAA;QAAAD,OAAA;QAAAD,MAAA;MAAA;IAAA;IAAAJ,KAAA;MAAAO,UAAA;MAAAC,IAAA;MAAAC,SAAA;MAAAC,IAAA;IAAA;EAAA;EAAAC,WAAA;EAAAT,KAAA;AAAA;AAOA,MAAM;EAAE3B;AAAK,CAAC,GAAGJ,QAAQ;AAACC,OAAA,CAAAG,IAAA,GAAAA,IAAA;AAInB,MAAMqC,QAAQ,GAAAxC,OAAA,CAAAwC,QAAA,GAAG;EACvBC,IAAI,EAAJA,UAAI;EACJC,OAAO,EAAE;IACRjC,UAAU,EAAE;MACXI,OAAO,EAAE;IACV;EACD,CAAC;EACD8B,IAAI,EAAJA;AACD,CAAC;AAEM,MAAMC,IAAI,GAAGA,CAAA,KAAM,IAAAC,kBAAS,EAAE;EAAE1C,IAAI;EAAEJ,QAAQ;EAAEyC;AAAS,CAAE,CAAC;AAACxC,OAAA,CAAA4C,IAAA,GAAAA,IAAA","ignoreList":[]}
@@ -65,7 +65,7 @@ function SiteTitleEdit({
65
65
  const dropdownMenuProps = (0, _hooks.useToolsPanelDropdownMenuProps)();
66
66
  function setTitle(newTitle) {
67
67
  editEntityRecord('root', 'site', undefined, {
68
- title: newTitle
68
+ title: newTitle.trim()
69
69
  });
70
70
  }
71
71
  const TagName = level === 0 ? 'p' : `h${level}`;
@@ -1 +1 @@
1
- {"version":3,"names":["_clsx","_interopRequireDefault","require","_data","_coreData","_i18n","_blockEditor","_components","_blocks","_htmlEntities","_hooks","_jsxRuntime","SiteTitleEdit","attributes","setAttributes","insertBlocksAfter","level","levelOptions","textAlign","isLink","linkTarget","canUserEdit","title","useSelect","select","canUser","getEntityRecord","getEditedEntityRecord","coreStore","canEdit","kind","name","settings","readOnlySettings","editEntityRecord","useDispatch","dropdownMenuProps","useToolsPanelDropdownMenuProps","setTitle","newTitle","undefined","TagName","blockProps","useBlockProps","className","clsx","siteTitleContent","jsx","children","RichText","tagName","href","__","placeholder","value","onChange","allowedFormats","disableLineBreaks","__unstableOnSplitAtEnd","createBlock","getDefaultBlockName","onClick","event","preventDefault","decodeEntities","jsxs","Fragment","BlockControls","group","HeadingLevelDropdown","options","newLevel","AlignmentControl","nextAlign","InspectorControls","__experimentalToolsPanel","label","resetAll","__experimentalToolsPanelItem","hasValue","onDeselect","isShownByDefault","ToggleControl","__nextHasNoMarginBottom","checked"],"sources":["@wordpress/block-library/src/site-title/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tRichText,\n\tAlignmentControl,\n\tInspectorControls,\n\tBlockControls,\n\tuseBlockProps,\n\tHeadingLevelDropdown,\n} from '@wordpress/block-editor';\nimport {\n\tToggleControl,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport { createBlock, getDefaultBlockName } from '@wordpress/blocks';\nimport { decodeEntities } from '@wordpress/html-entities';\n\n/**\n * Internal dependencies\n */\nimport { useToolsPanelDropdownMenuProps } from '../utils/hooks';\n\nexport default function SiteTitleEdit( {\n\tattributes,\n\tsetAttributes,\n\tinsertBlocksAfter,\n} ) {\n\tconst { level, levelOptions, textAlign, isLink, linkTarget } = attributes;\n\tconst { canUserEdit, title } = useSelect( ( select ) => {\n\t\tconst { canUser, getEntityRecord, getEditedEntityRecord } =\n\t\t\tselect( coreStore );\n\t\tconst canEdit = canUser( 'update', {\n\t\t\tkind: 'root',\n\t\t\tname: 'site',\n\t\t} );\n\t\tconst settings = canEdit ? getEditedEntityRecord( 'root', 'site' ) : {};\n\t\tconst readOnlySettings = getEntityRecord( 'root', '__unstableBase' );\n\n\t\treturn {\n\t\t\tcanUserEdit: canEdit,\n\t\t\ttitle: canEdit ? settings?.title : readOnlySettings?.name,\n\t\t};\n\t}, [] );\n\tconst { editEntityRecord } = useDispatch( coreStore );\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\n\tfunction setTitle( newTitle ) {\n\t\teditEntityRecord( 'root', 'site', undefined, {\n\t\t\ttitle: newTitle,\n\t\t} );\n\t}\n\n\tconst TagName = level === 0 ? 'p' : `h${ level }`;\n\tconst blockProps = useBlockProps( {\n\t\tclassName: clsx( {\n\t\t\t[ `has-text-align-${ textAlign }` ]: textAlign,\n\t\t\t'wp-block-site-title__placeholder': ! canUserEdit && ! title,\n\t\t} ),\n\t} );\n\tconst siteTitleContent = canUserEdit ? (\n\t\t<TagName { ...blockProps }>\n\t\t\t<RichText\n\t\t\t\ttagName={ isLink ? 'a' : 'span' }\n\t\t\t\thref={ isLink ? '#site-title-pseudo-link' : undefined }\n\t\t\t\taria-label={ __( 'Site title text' ) }\n\t\t\t\tplaceholder={ __( 'Write site title…' ) }\n\t\t\t\tvalue={ title }\n\t\t\t\tonChange={ setTitle }\n\t\t\t\tallowedFormats={ [] }\n\t\t\t\tdisableLineBreaks\n\t\t\t\t__unstableOnSplitAtEnd={ () =>\n\t\t\t\t\tinsertBlocksAfter( createBlock( getDefaultBlockName() ) )\n\t\t\t\t}\n\t\t\t/>\n\t\t</TagName>\n\t) : (\n\t\t<TagName { ...blockProps }>\n\t\t\t{ isLink ? (\n\t\t\t\t<a\n\t\t\t\t\thref=\"#site-title-pseudo-link\"\n\t\t\t\t\tonClick={ ( event ) => event.preventDefault() }\n\t\t\t\t>\n\t\t\t\t\t{ decodeEntities( title ) ||\n\t\t\t\t\t\t__( 'Site Title placeholder' ) }\n\t\t\t\t</a>\n\t\t\t) : (\n\t\t\t\t<span>\n\t\t\t\t\t{ decodeEntities( title ) ||\n\t\t\t\t\t\t__( 'Site Title placeholder' ) }\n\t\t\t\t</span>\n\t\t\t) }\n\t\t</TagName>\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\tvalue={ level }\n\t\t\t\t\toptions={ levelOptions }\n\t\t\t\t\tonChange={ ( newLevel ) =>\n\t\t\t\t\t\tsetAttributes( { level: newLevel } )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t\t<AlignmentControl\n\t\t\t\t\tvalue={ textAlign }\n\t\t\t\t\tonChange={ ( nextAlign ) => {\n\t\t\t\t\t\tsetAttributes( { textAlign: nextAlign } );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t</BlockControls>\n\t\t\t<InspectorControls>\n\t\t\t\t<ToolsPanel\n\t\t\t\t\tlabel={ __( 'Settings' ) }\n\t\t\t\t\tresetAll={ () => {\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\tisLink: true,\n\t\t\t\t\t\t\tlinkTarget: '_self',\n\t\t\t\t\t\t} );\n\t\t\t\t\t} }\n\t\t\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t\t\t>\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\thasValue={ () => ! isLink }\n\t\t\t\t\t\tlabel={ __( 'Make title link to home' ) }\n\t\t\t\t\t\tonDeselect={ () => setAttributes( { isLink: true } ) }\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t>\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Make title link to home' ) }\n\t\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( { isLink: ! isLink } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tchecked={ isLink }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t{ isLink && (\n\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\thasValue={ () => linkTarget !== '_self' }\n\t\t\t\t\t\t\tlabel={ __( 'Open in new tab' ) }\n\t\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( { linkTarget: '_self' } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\tlabel={ __( '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</ToolsPanelItem>\n\t\t\t\t\t) }\n\t\t\t\t</ToolsPanel>\n\t\t\t</InspectorControls>\n\t\t\t{ siteTitleContent }\n\t\t</>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_clsx","_interopRequireDefault","require","_data","_coreData","_i18n","_blockEditor","_components","_blocks","_htmlEntities","_hooks","_jsxRuntime","SiteTitleEdit","attributes","setAttributes","insertBlocksAfter","level","levelOptions","textAlign","isLink","linkTarget","canUserEdit","title","useSelect","select","canUser","getEntityRecord","getEditedEntityRecord","coreStore","canEdit","kind","name","settings","readOnlySettings","editEntityRecord","useDispatch","dropdownMenuProps","useToolsPanelDropdownMenuProps","setTitle","newTitle","undefined","trim","TagName","blockProps","useBlockProps","className","clsx","siteTitleContent","jsx","children","RichText","tagName","href","__","placeholder","value","onChange","allowedFormats","disableLineBreaks","__unstableOnSplitAtEnd","createBlock","getDefaultBlockName","onClick","event","preventDefault","decodeEntities","jsxs","Fragment","BlockControls","group","HeadingLevelDropdown","options","newLevel","AlignmentControl","nextAlign","InspectorControls","__experimentalToolsPanel","label","resetAll","__experimentalToolsPanelItem","hasValue","onDeselect","isShownByDefault","ToggleControl","__nextHasNoMarginBottom","checked"],"sources":["@wordpress/block-library/src/site-title/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tRichText,\n\tAlignmentControl,\n\tInspectorControls,\n\tBlockControls,\n\tuseBlockProps,\n\tHeadingLevelDropdown,\n} from '@wordpress/block-editor';\nimport {\n\tToggleControl,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport { createBlock, getDefaultBlockName } from '@wordpress/blocks';\nimport { decodeEntities } from '@wordpress/html-entities';\n\n/**\n * Internal dependencies\n */\nimport { useToolsPanelDropdownMenuProps } from '../utils/hooks';\n\nexport default function SiteTitleEdit( {\n\tattributes,\n\tsetAttributes,\n\tinsertBlocksAfter,\n} ) {\n\tconst { level, levelOptions, textAlign, isLink, linkTarget } = attributes;\n\tconst { canUserEdit, title } = useSelect( ( select ) => {\n\t\tconst { canUser, getEntityRecord, getEditedEntityRecord } =\n\t\t\tselect( coreStore );\n\t\tconst canEdit = canUser( 'update', {\n\t\t\tkind: 'root',\n\t\t\tname: 'site',\n\t\t} );\n\t\tconst settings = canEdit ? getEditedEntityRecord( 'root', 'site' ) : {};\n\t\tconst readOnlySettings = getEntityRecord( 'root', '__unstableBase' );\n\n\t\treturn {\n\t\t\tcanUserEdit: canEdit,\n\t\t\ttitle: canEdit ? settings?.title : readOnlySettings?.name,\n\t\t};\n\t}, [] );\n\tconst { editEntityRecord } = useDispatch( coreStore );\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\n\tfunction setTitle( newTitle ) {\n\t\teditEntityRecord( 'root', 'site', undefined, {\n\t\t\ttitle: newTitle.trim(),\n\t\t} );\n\t}\n\n\tconst TagName = level === 0 ? 'p' : `h${ level }`;\n\tconst blockProps = useBlockProps( {\n\t\tclassName: clsx( {\n\t\t\t[ `has-text-align-${ textAlign }` ]: textAlign,\n\t\t\t'wp-block-site-title__placeholder': ! canUserEdit && ! title,\n\t\t} ),\n\t} );\n\tconst siteTitleContent = canUserEdit ? (\n\t\t<TagName { ...blockProps }>\n\t\t\t<RichText\n\t\t\t\ttagName={ isLink ? 'a' : 'span' }\n\t\t\t\thref={ isLink ? '#site-title-pseudo-link' : undefined }\n\t\t\t\taria-label={ __( 'Site title text' ) }\n\t\t\t\tplaceholder={ __( 'Write site title…' ) }\n\t\t\t\tvalue={ title }\n\t\t\t\tonChange={ setTitle }\n\t\t\t\tallowedFormats={ [] }\n\t\t\t\tdisableLineBreaks\n\t\t\t\t__unstableOnSplitAtEnd={ () =>\n\t\t\t\t\tinsertBlocksAfter( createBlock( getDefaultBlockName() ) )\n\t\t\t\t}\n\t\t\t/>\n\t\t</TagName>\n\t) : (\n\t\t<TagName { ...blockProps }>\n\t\t\t{ isLink ? (\n\t\t\t\t<a\n\t\t\t\t\thref=\"#site-title-pseudo-link\"\n\t\t\t\t\tonClick={ ( event ) => event.preventDefault() }\n\t\t\t\t>\n\t\t\t\t\t{ decodeEntities( title ) ||\n\t\t\t\t\t\t__( 'Site Title placeholder' ) }\n\t\t\t\t</a>\n\t\t\t) : (\n\t\t\t\t<span>\n\t\t\t\t\t{ decodeEntities( title ) ||\n\t\t\t\t\t\t__( 'Site Title placeholder' ) }\n\t\t\t\t</span>\n\t\t\t) }\n\t\t</TagName>\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\tvalue={ level }\n\t\t\t\t\toptions={ levelOptions }\n\t\t\t\t\tonChange={ ( newLevel ) =>\n\t\t\t\t\t\tsetAttributes( { level: newLevel } )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t\t<AlignmentControl\n\t\t\t\t\tvalue={ textAlign }\n\t\t\t\t\tonChange={ ( nextAlign ) => {\n\t\t\t\t\t\tsetAttributes( { textAlign: nextAlign } );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t</BlockControls>\n\t\t\t<InspectorControls>\n\t\t\t\t<ToolsPanel\n\t\t\t\t\tlabel={ __( 'Settings' ) }\n\t\t\t\t\tresetAll={ () => {\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\tisLink: true,\n\t\t\t\t\t\t\tlinkTarget: '_self',\n\t\t\t\t\t\t} );\n\t\t\t\t\t} }\n\t\t\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t\t\t>\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\thasValue={ () => ! isLink }\n\t\t\t\t\t\tlabel={ __( 'Make title link to home' ) }\n\t\t\t\t\t\tonDeselect={ () => setAttributes( { isLink: true } ) }\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t>\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Make title link to home' ) }\n\t\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( { isLink: ! isLink } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tchecked={ isLink }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t{ isLink && (\n\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\thasValue={ () => linkTarget !== '_self' }\n\t\t\t\t\t\t\tlabel={ __( 'Open in new tab' ) }\n\t\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( { linkTarget: '_self' } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\tlabel={ __( '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</ToolsPanelItem>\n\t\t\t\t\t) }\n\t\t\t\t</ToolsPanel>\n\t\t\t</InspectorControls>\n\t\t\t{ siteTitleContent }\n\t\t</>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}