@wordpress/block-library 8.17.1 → 8.18.1-next.5a1d1283.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 (124) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/build/column/edit.native.js +5 -5
  3. package/build/column/edit.native.js.map +1 -1
  4. package/build/cover/edit/index.js +3 -1
  5. package/build/cover/edit/index.js.map +1 -1
  6. package/build/cover/shared.js +26 -21
  7. package/build/cover/shared.js.map +1 -1
  8. package/build/embed/embed-link-settings.native.js +0 -1
  9. package/build/embed/embed-link-settings.native.js.map +1 -1
  10. package/build/footnotes/edit.js +2 -3
  11. package/build/footnotes/edit.js.map +1 -1
  12. package/build/group/index.js +1 -0
  13. package/build/group/index.js.map +1 -1
  14. package/build/post-content/edit.js +1 -1
  15. package/build/post-content/edit.js.map +1 -1
  16. package/build/post-template/index.js +1 -1
  17. package/build/post-terms/use-post-terms.js +3 -2
  18. package/build/post-terms/use-post-terms.js.map +1 -1
  19. package/build/query/edit/inspector-controls/index.js +28 -3
  20. package/build/query/edit/inspector-controls/index.js.map +1 -1
  21. package/build/query/edit/query-content.js +2 -1
  22. package/build/query/edit/query-content.js.map +1 -1
  23. package/build/query/index.js +9 -2
  24. package/build/query/index.js.map +1 -1
  25. package/build/query/view.js +75 -0
  26. package/build/query/view.js.map +1 -0
  27. package/build/query-pagination-next/index.js +1 -1
  28. package/build/query-pagination-numbers/edit.js +50 -5
  29. package/build/query-pagination-numbers/edit.js.map +1 -1
  30. package/build/query-pagination-numbers/index.js +7 -1
  31. package/build/query-pagination-numbers/index.js.map +1 -1
  32. package/build/query-pagination-previous/index.js +1 -1
  33. package/build/search/edit.js +3 -1
  34. package/build/search/edit.js.map +1 -1
  35. package/build/search/utils.js +2 -4
  36. package/build/search/utils.js.map +1 -1
  37. package/build/social-link/edit.native.js +1 -3
  38. package/build/social-link/edit.native.js.map +1 -1
  39. package/build-module/column/edit.native.js +5 -5
  40. package/build-module/column/edit.native.js.map +1 -1
  41. package/build-module/cover/edit/index.js +3 -1
  42. package/build-module/cover/edit/index.js.map +1 -1
  43. package/build-module/cover/shared.js +26 -21
  44. package/build-module/cover/shared.js.map +1 -1
  45. package/build-module/embed/embed-link-settings.native.js +0 -1
  46. package/build-module/embed/embed-link-settings.native.js.map +1 -1
  47. package/build-module/footnotes/edit.js +2 -3
  48. package/build-module/footnotes/edit.js.map +1 -1
  49. package/build-module/group/index.js +1 -0
  50. package/build-module/group/index.js.map +1 -1
  51. package/build-module/post-content/edit.js +1 -1
  52. package/build-module/post-content/edit.js.map +1 -1
  53. package/build-module/post-template/index.js +1 -1
  54. package/build-module/post-terms/use-post-terms.js +3 -2
  55. package/build-module/post-terms/use-post-terms.js.map +1 -1
  56. package/build-module/query/edit/inspector-controls/index.js +29 -4
  57. package/build-module/query/edit/inspector-controls/index.js.map +1 -1
  58. package/build-module/query/edit/query-content.js +2 -1
  59. package/build-module/query/edit/query-content.js.map +1 -1
  60. package/build-module/query/index.js +9 -2
  61. package/build-module/query/index.js.map +1 -1
  62. package/build-module/query/view.js +72 -0
  63. package/build-module/query/view.js.map +1 -0
  64. package/build-module/query-pagination-next/index.js +1 -1
  65. package/build-module/query-pagination-numbers/edit.js +51 -6
  66. package/build-module/query-pagination-numbers/edit.js.map +1 -1
  67. package/build-module/query-pagination-numbers/index.js +7 -1
  68. package/build-module/query-pagination-numbers/index.js.map +1 -1
  69. package/build-module/query-pagination-previous/index.js +1 -1
  70. package/build-module/search/edit.js +4 -2
  71. package/build-module/search/edit.js.map +1 -1
  72. package/build-module/search/utils.js +0 -1
  73. package/build-module/search/utils.js.map +1 -1
  74. package/build-module/social-link/edit.native.js +1 -3
  75. package/build-module/social-link/edit.native.js.map +1 -1
  76. package/build-style/query/style-rtl.css +140 -0
  77. package/build-style/query/style.css +140 -0
  78. package/build-style/site-logo/style-rtl.css +1 -0
  79. package/build-style/site-logo/style.css +1 -0
  80. package/build-style/style-rtl.css +1 -0
  81. package/build-style/style.css +1 -0
  82. package/package.json +32 -32
  83. package/src/audio/test/__snapshots__/edit.native.js.snap +106 -78
  84. package/src/column/edit.native.js +4 -4
  85. package/src/columns/test/__snapshots__/edit.native.js.snap +14 -0
  86. package/src/columns/test/edit.native.js +47 -17
  87. package/src/cover/edit/index.js +3 -1
  88. package/src/cover/shared.js +25 -20
  89. package/src/cover/test/edit.native.js +1 -5
  90. package/src/embed/embed-link-settings.native.js +0 -1
  91. package/src/embed/test/index.native.js +9 -9
  92. package/src/file/test/__snapshots__/edit.native.js.snap +218 -162
  93. package/src/footnotes/edit.js +3 -1
  94. package/src/group/block.json +1 -0
  95. package/src/image/index.php +5 -0
  96. package/src/post-content/edit.js +2 -2
  97. package/src/post-content/index.php +0 -6
  98. package/src/post-featured-image/index.php +0 -6
  99. package/src/post-navigation-link/index.php +10 -1
  100. package/src/post-template/block.json +2 -1
  101. package/src/post-template/index.php +19 -4
  102. package/src/post-terms/use-post-terms.js +4 -2
  103. package/src/query/block.json +9 -2
  104. package/src/query/edit/inspector-controls/index.js +46 -3
  105. package/src/query/edit/query-content.js +1 -0
  106. package/src/query/index.php +94 -1
  107. package/src/query/style.scss +63 -0
  108. package/src/query/view.js +82 -0
  109. package/src/query-no-results/index.php +1 -5
  110. package/src/query-pagination-next/block.json +7 -1
  111. package/src/query-pagination-next/index.php +20 -3
  112. package/src/query-pagination-numbers/block.json +7 -1
  113. package/src/query-pagination-numbers/edit.js +64 -16
  114. package/src/query-pagination-numbers/index.php +27 -4
  115. package/src/query-pagination-previous/block.json +7 -1
  116. package/src/query-pagination-previous/index.php +19 -2
  117. package/src/search/edit.js +8 -2
  118. package/src/search/test/__snapshots__/edit.native.js.snap +363 -265
  119. package/src/search/utils.js +0 -1
  120. package/src/site-logo/style.scss +1 -0
  121. package/src/social-link/edit.native.js +1 -1
  122. package/src/social-link/editor.native.scss +0 -4
  123. package/src/social-links/test/edit.native.js +30 -0
  124. package/src/social-link/test/index.native.js +0 -132
@@ -1 +1 @@
1
- {"version":3,"names":["FastAverageColor","colord","getBlobTypeByURL","isBlobURL","applyFilters","POSITION_CLASSNAMES","center","IMAGE_BACKGROUND_TYPE","VIDEO_BACKGROUND_TYPE","COVER_MIN_HEIGHT","COVER_MAX_HEIGHT","COVER_DEFAULT_HEIGHT","DEFAULT_FOCAL_POINT","x","y","ALLOWED_MEDIA_TYPES","mediaPosition","Math","round","dimRatioToClass","ratio","undefined","attributesFromMedia","setAttributes","dimRatio","media","isDark","url","id","type","mediaType","media_type","alt","backgroundType","focalPoint","hasParallax","isContentPositionCenter","contentPosition","getPositionClassName","compositeSourceOver","source","dest","r","a","g","b","retrieveFastAverageColor","fastAverageColor","getCoverIsDark","overlayColor","overlay","alpha","toRgb","imgCrossOrigin","value","getColorAsync","defaultColor","silent","process","env","NODE_ENV","crossOrigin","composite","background"],"sources":["@wordpress/block-library/src/cover/shared.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { FastAverageColor } from 'fast-average-color';\nimport { colord } from 'colord';\n\n/**\n * WordPress dependencies\n */\nimport { getBlobTypeByURL, isBlobURL } from '@wordpress/blob';\nimport { applyFilters } from '@wordpress/hooks';\n\nconst POSITION_CLASSNAMES = {\n\t'top left': 'is-position-top-left',\n\t'top center': 'is-position-top-center',\n\t'top right': 'is-position-top-right',\n\t'center left': 'is-position-center-left',\n\t'center center': 'is-position-center-center',\n\tcenter: 'is-position-center-center',\n\t'center right': 'is-position-center-right',\n\t'bottom left': 'is-position-bottom-left',\n\t'bottom center': 'is-position-bottom-center',\n\t'bottom right': 'is-position-bottom-right',\n};\n\nexport const IMAGE_BACKGROUND_TYPE = 'image';\nexport const VIDEO_BACKGROUND_TYPE = 'video';\nexport const COVER_MIN_HEIGHT = 50;\nexport const COVER_MAX_HEIGHT = 1000;\nexport const COVER_DEFAULT_HEIGHT = 300;\nexport const DEFAULT_FOCAL_POINT = { x: 0.5, y: 0.5 };\nexport const ALLOWED_MEDIA_TYPES = [ 'image', 'video' ];\n\nexport function mediaPosition( { x, y } = DEFAULT_FOCAL_POINT ) {\n\treturn `${ Math.round( x * 100 ) }% ${ Math.round( y * 100 ) }%`;\n}\n\nexport function dimRatioToClass( ratio ) {\n\treturn ratio === 50 || ! ratio === undefined\n\t\t? null\n\t\t: 'has-background-dim-' + 10 * Math.round( ratio / 10 );\n}\n\nexport function attributesFromMedia( setAttributes, dimRatio ) {\n\treturn ( media, isDark ) => {\n\t\tif ( ! media || ! media.url ) {\n\t\t\tsetAttributes( { url: undefined, id: undefined, isDark } );\n\t\t\treturn;\n\t\t}\n\n\t\tif ( isBlobURL( media.url ) ) {\n\t\t\tmedia.type = getBlobTypeByURL( media.url );\n\t\t}\n\n\t\tlet mediaType;\n\t\t// For media selections originated from a file upload.\n\t\tif ( media.media_type ) {\n\t\t\tif ( media.media_type === IMAGE_BACKGROUND_TYPE ) {\n\t\t\t\tmediaType = IMAGE_BACKGROUND_TYPE;\n\t\t\t} else {\n\t\t\t\t// only images and videos are accepted so if the media_type is not an image we can assume it is a video.\n\t\t\t\t// Videos contain the media type of 'file' in the object returned from the rest api.\n\t\t\t\tmediaType = VIDEO_BACKGROUND_TYPE;\n\t\t\t}\n\t\t} else {\n\t\t\t// For media selections originated from existing files in the media library.\n\t\t\tif (\n\t\t\t\tmedia.type !== IMAGE_BACKGROUND_TYPE &&\n\t\t\t\tmedia.type !== VIDEO_BACKGROUND_TYPE\n\t\t\t) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tmediaType = media.type;\n\t\t}\n\n\t\tsetAttributes( {\n\t\t\tisDark,\n\t\t\tdimRatio: dimRatio === 100 ? 50 : dimRatio,\n\t\t\turl: media.url,\n\t\t\tid: media.id,\n\t\t\talt: media?.alt,\n\t\t\tbackgroundType: mediaType,\n\t\t\tfocalPoint: undefined,\n\t\t\t...( mediaType === VIDEO_BACKGROUND_TYPE\n\t\t\t\t? { hasParallax: undefined }\n\t\t\t\t: {} ),\n\t\t} );\n\t};\n}\n\n/**\n * Checks of the contentPosition is the center (default) position.\n *\n * @param {string} contentPosition The current content position.\n * @return {boolean} Whether the contentPosition is center.\n */\nexport function isContentPositionCenter( contentPosition ) {\n\treturn (\n\t\t! contentPosition ||\n\t\tcontentPosition === 'center center' ||\n\t\tcontentPosition === 'center'\n\t);\n}\n\n/**\n * Retrieves the className for the current contentPosition.\n * The default position (center) will not have a className.\n *\n * @param {string} contentPosition The current content position.\n * @return {string} The className assigned to the contentPosition.\n */\nexport function getPositionClassName( contentPosition ) {\n\t/*\n\t * Only render a className if the contentPosition is not center (the default).\n\t */\n\tif ( isContentPositionCenter( contentPosition ) ) return '';\n\n\treturn POSITION_CLASSNAMES[ contentPosition ];\n}\n\n/**\n * Performs a Porter Duff composite source over operation on two rgba colors.\n *\n * @see https://www.w3.org/TR/compositing-1/#porterduffcompositingoperators_srcover\n *\n * @param {import('colord').RgbaColor} source Source color.\n * @param {import('colord').RgbaColor} dest Destination color.\n * @return {import('colord').RgbaColor} Composite color.\n */\nfunction compositeSourceOver( source, dest ) {\n\treturn {\n\t\tr: source.r * source.a + dest.r * dest.a * ( 1 - source.a ),\n\t\tg: source.g * source.a + dest.g * dest.a * ( 1 - source.a ),\n\t\tb: source.b * source.a + dest.b * dest.a * ( 1 - source.a ),\n\t\ta: source.a + dest.a * ( 1 - source.a ),\n\t};\n}\n\nfunction retrieveFastAverageColor() {\n\tif ( ! retrieveFastAverageColor.fastAverageColor ) {\n\t\tretrieveFastAverageColor.fastAverageColor = new FastAverageColor();\n\t}\n\treturn retrieveFastAverageColor.fastAverageColor;\n}\n\n/**\n * This method evaluates if the cover block's background is dark or not and this boolean\n * can then be applied to the relevant attribute to help ensure that text is visible by default.\n * This needs to be recalculated in all of the following Cover block scenarios:\n * - When an overlay image is added, changed or removed\n * - When the featured image is selected as the overlay image, or removed from the overlay\n * - When the overlay color is changed\n * - When the overlay color is removed\n * - When the dimRatio is changed\n *\n * See the comments below for more details about which aspects take priority when\n * calculating the relative darkness of the Cover.\n *\n * @param {string} url\n * @param {number} dimRatio\n * @param {string} overlayColor\n * @return {Promise<boolean>} True if cover should be considered to be dark.\n */\nexport async function getCoverIsDark( url, dimRatio = 50, overlayColor ) {\n\tconst overlay = colord( overlayColor )\n\t\t.alpha( dimRatio / 100 )\n\t\t.toRgb();\n\n\tif ( url ) {\n\t\tconst imgCrossOrigin = applyFilters(\n\t\t\t'media.crossOrigin',\n\t\t\tundefined,\n\t\t\turl\n\t\t);\n\t\tconst {\n\t\t\tvalue: [ r, g, b, a ],\n\t\t} = await retrieveFastAverageColor().getColorAsync( url, {\n\t\t\t// Previously the default color was white, but that changed\n\t\t\t// in v6.0.0 so it has to be manually set now.\n\t\t\tdefaultColor: [ 255, 255, 255, 255 ],\n\t\t\t// Errors that come up don't reject the promise, so error\n\t\t\t// logging has to be silenced with this option.\n\t\t\tsilent: process.env.NODE_ENV === 'production',\n\t\t\tcrossOrigin: imgCrossOrigin,\n\t\t} );\n\t\t// FAC uses 0-255 for alpha, but colord expects 0-1.\n\t\tconst media = { r, g, b, a: a / 255 };\n\t\tconst composite = compositeSourceOver( overlay, media );\n\t\treturn colord( composite ).isDark();\n\t}\n\n\t// Assume a white background because it isn't easy to get the actual\n\t// parent background color.\n\tconst background = { r: 255, g: 255, b: 255, a: 1 };\n\tconst composite = compositeSourceOver( overlay, background );\n\treturn colord( composite ).isDark();\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["FastAverageColor","colord","getBlobTypeByURL","isBlobURL","applyFilters","POSITION_CLASSNAMES","center","IMAGE_BACKGROUND_TYPE","VIDEO_BACKGROUND_TYPE","COVER_MIN_HEIGHT","COVER_MAX_HEIGHT","COVER_DEFAULT_HEIGHT","DEFAULT_FOCAL_POINT","x","y","ALLOWED_MEDIA_TYPES","mediaPosition","Math","round","dimRatioToClass","ratio","undefined","attributesFromMedia","setAttributes","dimRatio","media","isDark","url","id","type","mediaType","media_type","alt","backgroundType","focalPoint","hasParallax","isContentPositionCenter","contentPosition","getPositionClassName","compositeSourceOver","source","dest","r","a","g","b","retrieveFastAverageColor","fastAverageColor","getCoverIsDark","overlayColor","overlay","alpha","toRgb","imgCrossOrigin","value","getColorAsync","defaultColor","silent","process","env","NODE_ENV","crossOrigin","composite","error","background"],"sources":["@wordpress/block-library/src/cover/shared.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { FastAverageColor } from 'fast-average-color';\nimport { colord } from 'colord';\n\n/**\n * WordPress dependencies\n */\nimport { getBlobTypeByURL, isBlobURL } from '@wordpress/blob';\nimport { applyFilters } from '@wordpress/hooks';\n\nconst POSITION_CLASSNAMES = {\n\t'top left': 'is-position-top-left',\n\t'top center': 'is-position-top-center',\n\t'top right': 'is-position-top-right',\n\t'center left': 'is-position-center-left',\n\t'center center': 'is-position-center-center',\n\tcenter: 'is-position-center-center',\n\t'center right': 'is-position-center-right',\n\t'bottom left': 'is-position-bottom-left',\n\t'bottom center': 'is-position-bottom-center',\n\t'bottom right': 'is-position-bottom-right',\n};\n\nexport const IMAGE_BACKGROUND_TYPE = 'image';\nexport const VIDEO_BACKGROUND_TYPE = 'video';\nexport const COVER_MIN_HEIGHT = 50;\nexport const COVER_MAX_HEIGHT = 1000;\nexport const COVER_DEFAULT_HEIGHT = 300;\nexport const DEFAULT_FOCAL_POINT = { x: 0.5, y: 0.5 };\nexport const ALLOWED_MEDIA_TYPES = [ 'image', 'video' ];\n\nexport function mediaPosition( { x, y } = DEFAULT_FOCAL_POINT ) {\n\treturn `${ Math.round( x * 100 ) }% ${ Math.round( y * 100 ) }%`;\n}\n\nexport function dimRatioToClass( ratio ) {\n\treturn ratio === 50 || ! ratio === undefined\n\t\t? null\n\t\t: 'has-background-dim-' + 10 * Math.round( ratio / 10 );\n}\n\nexport function attributesFromMedia( setAttributes, dimRatio ) {\n\treturn ( media, isDark ) => {\n\t\tif ( ! media || ! media.url ) {\n\t\t\tsetAttributes( { url: undefined, id: undefined, isDark } );\n\t\t\treturn;\n\t\t}\n\n\t\tif ( isBlobURL( media.url ) ) {\n\t\t\tmedia.type = getBlobTypeByURL( media.url );\n\t\t}\n\n\t\tlet mediaType;\n\t\t// For media selections originated from a file upload.\n\t\tif ( media.media_type ) {\n\t\t\tif ( media.media_type === IMAGE_BACKGROUND_TYPE ) {\n\t\t\t\tmediaType = IMAGE_BACKGROUND_TYPE;\n\t\t\t} else {\n\t\t\t\t// only images and videos are accepted so if the media_type is not an image we can assume it is a video.\n\t\t\t\t// Videos contain the media type of 'file' in the object returned from the rest api.\n\t\t\t\tmediaType = VIDEO_BACKGROUND_TYPE;\n\t\t\t}\n\t\t} else {\n\t\t\t// For media selections originated from existing files in the media library.\n\t\t\tif (\n\t\t\t\tmedia.type !== IMAGE_BACKGROUND_TYPE &&\n\t\t\t\tmedia.type !== VIDEO_BACKGROUND_TYPE\n\t\t\t) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tmediaType = media.type;\n\t\t}\n\n\t\tsetAttributes( {\n\t\t\tisDark,\n\t\t\tdimRatio: dimRatio === 100 ? 50 : dimRatio,\n\t\t\turl: media.url,\n\t\t\tid: media.id,\n\t\t\talt: media?.alt,\n\t\t\tbackgroundType: mediaType,\n\t\t\tfocalPoint: undefined,\n\t\t\t...( mediaType === VIDEO_BACKGROUND_TYPE\n\t\t\t\t? { hasParallax: undefined }\n\t\t\t\t: {} ),\n\t\t} );\n\t};\n}\n\n/**\n * Checks of the contentPosition is the center (default) position.\n *\n * @param {string} contentPosition The current content position.\n * @return {boolean} Whether the contentPosition is center.\n */\nexport function isContentPositionCenter( contentPosition ) {\n\treturn (\n\t\t! contentPosition ||\n\t\tcontentPosition === 'center center' ||\n\t\tcontentPosition === 'center'\n\t);\n}\n\n/**\n * Retrieves the className for the current contentPosition.\n * The default position (center) will not have a className.\n *\n * @param {string} contentPosition The current content position.\n * @return {string} The className assigned to the contentPosition.\n */\nexport function getPositionClassName( contentPosition ) {\n\t/*\n\t * Only render a className if the contentPosition is not center (the default).\n\t */\n\tif ( isContentPositionCenter( contentPosition ) ) return '';\n\n\treturn POSITION_CLASSNAMES[ contentPosition ];\n}\n\n/**\n * Performs a Porter Duff composite source over operation on two rgba colors.\n *\n * @see https://www.w3.org/TR/compositing-1/#porterduffcompositingoperators_srcover\n *\n * @param {import('colord').RgbaColor} source Source color.\n * @param {import('colord').RgbaColor} dest Destination color.\n * @return {import('colord').RgbaColor} Composite color.\n */\nfunction compositeSourceOver( source, dest ) {\n\treturn {\n\t\tr: source.r * source.a + dest.r * dest.a * ( 1 - source.a ),\n\t\tg: source.g * source.a + dest.g * dest.a * ( 1 - source.a ),\n\t\tb: source.b * source.a + dest.b * dest.a * ( 1 - source.a ),\n\t\ta: source.a + dest.a * ( 1 - source.a ),\n\t};\n}\n\nfunction retrieveFastAverageColor() {\n\tif ( ! retrieveFastAverageColor.fastAverageColor ) {\n\t\tretrieveFastAverageColor.fastAverageColor = new FastAverageColor();\n\t}\n\treturn retrieveFastAverageColor.fastAverageColor;\n}\n\n/**\n * This method evaluates if the cover block's background is dark or not and this boolean\n * can then be applied to the relevant attribute to help ensure that text is visible by default.\n * This needs to be recalculated in all of the following Cover block scenarios:\n * - When an overlay image is added, changed or removed\n * - When the featured image is selected as the overlay image, or removed from the overlay\n * - When the overlay color is changed\n * - When the overlay color is removed\n * - When the dimRatio is changed\n *\n * See the comments below for more details about which aspects take priority when\n * calculating the relative darkness of the Cover.\n *\n * @param {string} url\n * @param {number} dimRatio\n * @param {string} overlayColor\n * @return {Promise<boolean>} True if cover should be considered to be dark.\n */\nexport async function getCoverIsDark( url, dimRatio = 50, overlayColor ) {\n\tconst overlay = colord( overlayColor )\n\t\t.alpha( dimRatio / 100 )\n\t\t.toRgb();\n\n\tif ( url ) {\n\t\ttry {\n\t\t\tconst imgCrossOrigin = applyFilters(\n\t\t\t\t'media.crossOrigin',\n\t\t\t\tundefined,\n\t\t\t\turl\n\t\t\t);\n\t\t\tconst {\n\t\t\t\tvalue: [ r, g, b, a ],\n\t\t\t} = await retrieveFastAverageColor().getColorAsync( url, {\n\t\t\t\t// Previously the default color was white, but that changed\n\t\t\t\t// in v6.0.0 so it has to be manually set now.\n\t\t\t\tdefaultColor: [ 255, 255, 255, 255 ],\n\t\t\t\t// Errors that come up don't reject the promise, so error\n\t\t\t\t// logging has to be silenced with this option.\n\t\t\t\tsilent: process.env.NODE_ENV === 'production',\n\t\t\t\tcrossOrigin: imgCrossOrigin,\n\t\t\t} );\n\t\t\t// FAC uses 0-255 for alpha, but colord expects 0-1.\n\t\t\tconst media = { r, g, b, a: a / 255 };\n\t\t\tconst composite = compositeSourceOver( overlay, media );\n\t\t\treturn colord( composite ).isDark();\n\t\t} catch ( error ) {\n\t\t\t// If there's an error, just assume the image is dark.\n\t\t\treturn true;\n\t\t}\n\t}\n\n\t// Assume a white background because it isn't easy to get the actual\n\t// parent background color.\n\tconst background = { r: 255, g: 255, b: 255, a: 1 };\n\tconst composite = compositeSourceOver( overlay, background );\n\treturn colord( composite ).isDark();\n}\n"],"mappings":"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"}
@@ -76,7 +76,6 @@ const EmbedLinkSettings = ({
76
76
  onDismiss: onDismiss,
77
77
  setAttributes: onSetAttributes,
78
78
  options: linkSettingsOptions,
79
- testID: "embed-edit-url-modal",
80
79
  withBottomSheet: withBottomSheet,
81
80
  showIcon: true
82
81
  });
@@ -1 +1 @@
1
- {"version":3,"names":["__","sprintf","LinkSettingsNavigation","FooterMessageLink","isURL","useDispatch","store","noticesStore","useCallback","useEffect","useRef","useState","EmbedLinkSettings","autoFocus","value","label","isVisible","onClose","onSubmit","withBottomSheet","url","inputURL","setInputURL","createErrorNotice","linkSettingsOptions","placeholder","autoFill","footer","createElement","href","separatorType","onDismiss","current","performOnCloseOperations","onSetAttributes","attributes","setAttributes","options","testID","showIcon"],"sources":["@wordpress/block-library/src/embed/embed-link-settings.native.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport {\n\tLinkSettingsNavigation,\n\tFooterMessageLink,\n} from '@wordpress/components';\nimport { isURL } from '@wordpress/url';\nimport { useDispatch } from '@wordpress/data';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { useCallback, useEffect, useRef, useState } from '@wordpress/element';\n\nconst EmbedLinkSettings = ( {\n\tautoFocus,\n\tvalue,\n\tlabel,\n\tisVisible,\n\tonClose,\n\tonSubmit,\n\twithBottomSheet,\n} ) => {\n\tconst url = useRef( value );\n\tconst [ inputURL, setInputURL ] = useState( value );\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\n\tconst linkSettingsOptions = {\n\t\turl: {\n\t\t\tlabel: sprintf(\n\t\t\t\t// translators: %s: embed block variant's label e.g: \"Twitter\".\n\t\t\t\t__( '%s link' ),\n\t\t\t\tlabel\n\t\t\t),\n\t\t\tplaceholder: __( 'Add link' ),\n\t\t\tautoFocus,\n\t\t\tautoFill: true,\n\t\t},\n\t\tfooter: {\n\t\t\tlabel: (\n\t\t\t\t<FooterMessageLink\n\t\t\t\t\thref={ __(\n\t\t\t\t\t\t'https://wordpress.org/documentation/article/embeds/'\n\t\t\t\t\t) }\n\t\t\t\t\tvalue={ __( 'Learn more about embeds' ) }\n\t\t\t\t/>\n\t\t\t),\n\t\t\tseparatorType: 'topFullWidth',\n\t\t},\n\t};\n\n\tconst onDismiss = useCallback( () => {\n\t\tif ( ! isURL( url.current ) && url.current !== '' ) {\n\t\t\tcreateErrorNotice( __( 'Invalid URL. Please enter a valid URL.' ) );\n\t\t\t// If the URL was already defined, we submit it to stop showing the embed placeholder.\n\t\t\tonSubmit( value );\n\t\t\treturn;\n\t\t}\n\t\tonSubmit( url.current );\n\t}, [ onSubmit, value ] );\n\n\tuseEffect( () => {\n\t\turl.current = value;\n\t\tsetInputURL( value );\n\t}, [ value ] );\n\n\t/**\n\t * If the Embed Bottom Sheet component does not utilize a bottom sheet then the onDismiss action is not\n\t * called. Here we are wiring the onDismiss to the onClose callback that gets triggered when input is submitted.\n\t */\n\tconst performOnCloseOperations = useCallback( () => {\n\t\tif ( onClose ) {\n\t\t\tonClose();\n\t\t}\n\n\t\tif ( ! withBottomSheet ) {\n\t\t\tonDismiss();\n\t\t}\n\t}, [ onClose ] );\n\n\tconst onSetAttributes = useCallback( ( attributes ) => {\n\t\turl.current = attributes.url;\n\t\tsetInputURL( attributes.url );\n\t}, [] );\n\n\treturn (\n\t\t<LinkSettingsNavigation\n\t\t\tisVisible={ isVisible }\n\t\t\turl={ inputURL }\n\t\t\tonClose={ performOnCloseOperations }\n\t\t\tonDismiss={ onDismiss }\n\t\t\tsetAttributes={ onSetAttributes }\n\t\t\toptions={ linkSettingsOptions }\n\t\t\ttestID=\"embed-edit-url-modal\"\n\t\t\twithBottomSheet={ withBottomSheet }\n\t\t\tshowIcon\n\t\t/>\n\t);\n};\n\nexport default EmbedLinkSettings;\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,EAAE,EAAEC,OAAO,QAAQ,iBAAiB;AAC7C,SACCC,sBAAsB,EACtBC,iBAAiB,QACX,uBAAuB;AAC9B,SAASC,KAAK,QAAQ,gBAAgB;AACtC,SAASC,WAAW,QAAQ,iBAAiB;AAC7C,SAASC,KAAK,IAAIC,YAAY,QAAQ,oBAAoB;AAC1D,SAASC,WAAW,EAAEC,SAAS,EAAEC,MAAM,EAAEC,QAAQ,QAAQ,oBAAoB;AAE7E,MAAMC,iBAAiB,GAAGA,CAAE;EAC3BC,SAAS;EACTC,KAAK;EACLC,KAAK;EACLC,SAAS;EACTC,OAAO;EACPC,QAAQ;EACRC;AACD,CAAC,KAAM;EACN,MAAMC,GAAG,GAAGV,MAAM,CAAEI,KAAM,CAAC;EAC3B,MAAM,CAAEO,QAAQ,EAAEC,WAAW,CAAE,GAAGX,QAAQ,CAAEG,KAAM,CAAC;EACnD,MAAM;IAAES;EAAkB,CAAC,GAAGlB,WAAW,CAAEE,YAAa,CAAC;EAEzD,MAAMiB,mBAAmB,GAAG;IAC3BJ,GAAG,EAAE;MACJL,KAAK,EAAEd,OAAO;MACb;MACAD,EAAE,CAAE,SAAU,CAAC,EACfe,KACD,CAAC;MACDU,WAAW,EAAEzB,EAAE,CAAE,UAAW,CAAC;MAC7Ba,SAAS;MACTa,QAAQ,EAAE;IACX,CAAC;IACDC,MAAM,EAAE;MACPZ,KAAK,EACJa,aAAA,CAACzB,iBAAiB;QACjB0B,IAAI,EAAG7B,EAAE,CACR,qDACD,CAAG;QACHc,KAAK,EAAGd,EAAE,CAAE,yBAA0B;MAAG,CACzC,CACD;MACD8B,aAAa,EAAE;IAChB;EACD,CAAC;EAED,MAAMC,SAAS,GAAGvB,WAAW,CAAE,MAAM;IACpC,IAAK,CAAEJ,KAAK,CAAEgB,GAAG,CAACY,OAAQ,CAAC,IAAIZ,GAAG,CAACY,OAAO,KAAK,EAAE,EAAG;MACnDT,iBAAiB,CAAEvB,EAAE,CAAE,wCAAyC,CAAE,CAAC;MACnE;MACAkB,QAAQ,CAAEJ,KAAM,CAAC;MACjB;IACD;IACAI,QAAQ,CAAEE,GAAG,CAACY,OAAQ,CAAC;EACxB,CAAC,EAAE,CAAEd,QAAQ,EAAEJ,KAAK,CAAG,CAAC;EAExBL,SAAS,CAAE,MAAM;IAChBW,GAAG,CAACY,OAAO,GAAGlB,KAAK;IACnBQ,WAAW,CAAER,KAAM,CAAC;EACrB,CAAC,EAAE,CAAEA,KAAK,CAAG,CAAC;;EAEd;AACD;AACA;AACA;EACC,MAAMmB,wBAAwB,GAAGzB,WAAW,CAAE,MAAM;IACnD,IAAKS,OAAO,EAAG;MACdA,OAAO,CAAC,CAAC;IACV;IAEA,IAAK,CAAEE,eAAe,EAAG;MACxBY,SAAS,CAAC,CAAC;IACZ;EACD,CAAC,EAAE,CAAEd,OAAO,CAAG,CAAC;EAEhB,MAAMiB,eAAe,GAAG1B,WAAW,CAAI2B,UAAU,IAAM;IACtDf,GAAG,CAACY,OAAO,GAAGG,UAAU,CAACf,GAAG;IAC5BE,WAAW,CAAEa,UAAU,CAACf,GAAI,CAAC;EAC9B,CAAC,EAAE,EAAG,CAAC;EAEP,OACCQ,aAAA,CAAC1B,sBAAsB;IACtBc,SAAS,EAAGA,SAAW;IACvBI,GAAG,EAAGC,QAAU;IAChBJ,OAAO,EAAGgB,wBAA0B;IACpCF,SAAS,EAAGA,SAAW;IACvBK,aAAa,EAAGF,eAAiB;IACjCG,OAAO,EAAGb,mBAAqB;IAC/Bc,MAAM,EAAC,sBAAsB;IAC7BnB,eAAe,EAAGA,eAAiB;IACnCoB,QAAQ;EAAA,CACR,CAAC;AAEJ,CAAC;AAED,eAAe3B,iBAAiB"}
1
+ {"version":3,"names":["__","sprintf","LinkSettingsNavigation","FooterMessageLink","isURL","useDispatch","store","noticesStore","useCallback","useEffect","useRef","useState","EmbedLinkSettings","autoFocus","value","label","isVisible","onClose","onSubmit","withBottomSheet","url","inputURL","setInputURL","createErrorNotice","linkSettingsOptions","placeholder","autoFill","footer","createElement","href","separatorType","onDismiss","current","performOnCloseOperations","onSetAttributes","attributes","setAttributes","options","showIcon"],"sources":["@wordpress/block-library/src/embed/embed-link-settings.native.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport {\n\tLinkSettingsNavigation,\n\tFooterMessageLink,\n} from '@wordpress/components';\nimport { isURL } from '@wordpress/url';\nimport { useDispatch } from '@wordpress/data';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { useCallback, useEffect, useRef, useState } from '@wordpress/element';\n\nconst EmbedLinkSettings = ( {\n\tautoFocus,\n\tvalue,\n\tlabel,\n\tisVisible,\n\tonClose,\n\tonSubmit,\n\twithBottomSheet,\n} ) => {\n\tconst url = useRef( value );\n\tconst [ inputURL, setInputURL ] = useState( value );\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\n\tconst linkSettingsOptions = {\n\t\turl: {\n\t\t\tlabel: sprintf(\n\t\t\t\t// translators: %s: embed block variant's label e.g: \"Twitter\".\n\t\t\t\t__( '%s link' ),\n\t\t\t\tlabel\n\t\t\t),\n\t\t\tplaceholder: __( 'Add link' ),\n\t\t\tautoFocus,\n\t\t\tautoFill: true,\n\t\t},\n\t\tfooter: {\n\t\t\tlabel: (\n\t\t\t\t<FooterMessageLink\n\t\t\t\t\thref={ __(\n\t\t\t\t\t\t'https://wordpress.org/documentation/article/embeds/'\n\t\t\t\t\t) }\n\t\t\t\t\tvalue={ __( 'Learn more about embeds' ) }\n\t\t\t\t/>\n\t\t\t),\n\t\t\tseparatorType: 'topFullWidth',\n\t\t},\n\t};\n\n\tconst onDismiss = useCallback( () => {\n\t\tif ( ! isURL( url.current ) && url.current !== '' ) {\n\t\t\tcreateErrorNotice( __( 'Invalid URL. Please enter a valid URL.' ) );\n\t\t\t// If the URL was already defined, we submit it to stop showing the embed placeholder.\n\t\t\tonSubmit( value );\n\t\t\treturn;\n\t\t}\n\t\tonSubmit( url.current );\n\t}, [ onSubmit, value ] );\n\n\tuseEffect( () => {\n\t\turl.current = value;\n\t\tsetInputURL( value );\n\t}, [ value ] );\n\n\t/**\n\t * If the Embed Bottom Sheet component does not utilize a bottom sheet then the onDismiss action is not\n\t * called. Here we are wiring the onDismiss to the onClose callback that gets triggered when input is submitted.\n\t */\n\tconst performOnCloseOperations = useCallback( () => {\n\t\tif ( onClose ) {\n\t\t\tonClose();\n\t\t}\n\n\t\tif ( ! withBottomSheet ) {\n\t\t\tonDismiss();\n\t\t}\n\t}, [ onClose ] );\n\n\tconst onSetAttributes = useCallback( ( attributes ) => {\n\t\turl.current = attributes.url;\n\t\tsetInputURL( attributes.url );\n\t}, [] );\n\n\treturn (\n\t\t<LinkSettingsNavigation\n\t\t\tisVisible={ isVisible }\n\t\t\turl={ inputURL }\n\t\t\tonClose={ performOnCloseOperations }\n\t\t\tonDismiss={ onDismiss }\n\t\t\tsetAttributes={ onSetAttributes }\n\t\t\toptions={ linkSettingsOptions }\n\t\t\twithBottomSheet={ withBottomSheet }\n\t\t\tshowIcon\n\t\t/>\n\t);\n};\n\nexport default EmbedLinkSettings;\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,EAAE,EAAEC,OAAO,QAAQ,iBAAiB;AAC7C,SACCC,sBAAsB,EACtBC,iBAAiB,QACX,uBAAuB;AAC9B,SAASC,KAAK,QAAQ,gBAAgB;AACtC,SAASC,WAAW,QAAQ,iBAAiB;AAC7C,SAASC,KAAK,IAAIC,YAAY,QAAQ,oBAAoB;AAC1D,SAASC,WAAW,EAAEC,SAAS,EAAEC,MAAM,EAAEC,QAAQ,QAAQ,oBAAoB;AAE7E,MAAMC,iBAAiB,GAAGA,CAAE;EAC3BC,SAAS;EACTC,KAAK;EACLC,KAAK;EACLC,SAAS;EACTC,OAAO;EACPC,QAAQ;EACRC;AACD,CAAC,KAAM;EACN,MAAMC,GAAG,GAAGV,MAAM,CAAEI,KAAM,CAAC;EAC3B,MAAM,CAAEO,QAAQ,EAAEC,WAAW,CAAE,GAAGX,QAAQ,CAAEG,KAAM,CAAC;EACnD,MAAM;IAAES;EAAkB,CAAC,GAAGlB,WAAW,CAAEE,YAAa,CAAC;EAEzD,MAAMiB,mBAAmB,GAAG;IAC3BJ,GAAG,EAAE;MACJL,KAAK,EAAEd,OAAO;MACb;MACAD,EAAE,CAAE,SAAU,CAAC,EACfe,KACD,CAAC;MACDU,WAAW,EAAEzB,EAAE,CAAE,UAAW,CAAC;MAC7Ba,SAAS;MACTa,QAAQ,EAAE;IACX,CAAC;IACDC,MAAM,EAAE;MACPZ,KAAK,EACJa,aAAA,CAACzB,iBAAiB;QACjB0B,IAAI,EAAG7B,EAAE,CACR,qDACD,CAAG;QACHc,KAAK,EAAGd,EAAE,CAAE,yBAA0B;MAAG,CACzC,CACD;MACD8B,aAAa,EAAE;IAChB;EACD,CAAC;EAED,MAAMC,SAAS,GAAGvB,WAAW,CAAE,MAAM;IACpC,IAAK,CAAEJ,KAAK,CAAEgB,GAAG,CAACY,OAAQ,CAAC,IAAIZ,GAAG,CAACY,OAAO,KAAK,EAAE,EAAG;MACnDT,iBAAiB,CAAEvB,EAAE,CAAE,wCAAyC,CAAE,CAAC;MACnE;MACAkB,QAAQ,CAAEJ,KAAM,CAAC;MACjB;IACD;IACAI,QAAQ,CAAEE,GAAG,CAACY,OAAQ,CAAC;EACxB,CAAC,EAAE,CAAEd,QAAQ,EAAEJ,KAAK,CAAG,CAAC;EAExBL,SAAS,CAAE,MAAM;IAChBW,GAAG,CAACY,OAAO,GAAGlB,KAAK;IACnBQ,WAAW,CAAER,KAAM,CAAC;EACrB,CAAC,EAAE,CAAEA,KAAK,CAAG,CAAC;;EAEd;AACD;AACA;AACA;EACC,MAAMmB,wBAAwB,GAAGzB,WAAW,CAAE,MAAM;IACnD,IAAKS,OAAO,EAAG;MACdA,OAAO,CAAC,CAAC;IACV;IAEA,IAAK,CAAEE,eAAe,EAAG;MACxBY,SAAS,CAAC,CAAC;IACZ;EACD,CAAC,EAAE,CAAEd,OAAO,CAAG,CAAC;EAEhB,MAAMiB,eAAe,GAAG1B,WAAW,CAAI2B,UAAU,IAAM;IACtDf,GAAG,CAACY,OAAO,GAAGG,UAAU,CAACf,GAAG;IAC5BE,WAAW,CAAEa,UAAU,CAACf,GAAI,CAAC;EAC9B,CAAC,EAAE,EAAG,CAAC;EAEP,OACCQ,aAAA,CAAC1B,sBAAsB;IACtBc,SAAS,EAAGA,SAAW;IACvBI,GAAG,EAAGC,QAAU;IAChBJ,OAAO,EAAGgB,wBAA0B;IACpCF,SAAS,EAAGA,SAAW;IACvBK,aAAa,EAAGF,eAAiB;IACjCG,OAAO,EAAGb,mBAAqB;IAC/BL,eAAe,EAAGA,eAAiB;IACnCmB,QAAQ;EAAA,CACR,CAAC;AAEJ,CAAC;AAED,eAAe1B,iBAAiB"}
@@ -23,11 +23,10 @@ export default function FootnotesEdit({
23
23
  icon: createElement(BlockIcon, {
24
24
  icon: icon
25
25
  }),
26
- label: __('Footnotes')
27
- // To do: add instructions. We can't add new string in RC.
26
+ label: __('Footnotes'),
27
+ instructions: __('Footnotes are not supported here. Add this block to post or page content.')
28
28
  }));
29
29
  }
30
-
31
30
  if (!footnotes.length) {
32
31
  return createElement("div", {
33
32
  ...blockProps
@@ -1 +1 @@
1
- {"version":3,"names":["BlockIcon","RichText","useBlockProps","useEntityProp","__","Placeholder","formatListNumbered","icon","FootnotesEdit","context","postType","postId","meta","updateMeta","footnotes","JSON","parse","blockProps","createElement","label","length","instructions","map","id","content","key","tagName","value","identifier","onFocus","event","target","textContent","trim","scrollIntoView","onChange","nextFootnote","stringify","footnote","href"],"sources":["@wordpress/block-library/src/footnotes/edit.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { BlockIcon, RichText, useBlockProps } from '@wordpress/block-editor';\nimport { useEntityProp } from '@wordpress/core-data';\nimport { __ } from '@wordpress/i18n';\nimport { Placeholder } from '@wordpress/components';\nimport { formatListNumbered as icon } from '@wordpress/icons';\n\nexport default function FootnotesEdit( { context: { postType, postId } } ) {\n\tconst [ meta, updateMeta ] = useEntityProp(\n\t\t'postType',\n\t\tpostType,\n\t\t'meta',\n\t\tpostId\n\t);\n\tconst footnotes = meta?.footnotes ? JSON.parse( meta.footnotes ) : [];\n\tconst blockProps = useBlockProps();\n\n\tif ( postType !== 'post' && postType !== 'page' ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<Placeholder\n\t\t\t\t\ticon={ <BlockIcon icon={ icon } /> }\n\t\t\t\t\tlabel={ __( 'Footnotes' ) }\n\t\t\t\t\t// To do: add instructions. We can't add new string in RC.\n\t\t\t\t/>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tif ( ! footnotes.length ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<Placeholder\n\t\t\t\t\ticon={ <BlockIcon icon={ icon } /> }\n\t\t\t\t\tlabel={ __( 'Footnotes' ) }\n\t\t\t\t\tinstructions={ __(\n\t\t\t\t\t\t'Footnotes found in blocks within this document will be displayed here.'\n\t\t\t\t\t) }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t);\n\t}\n\n\treturn (\n\t\t<ol { ...blockProps }>\n\t\t\t{ footnotes.map( ( { id, content } ) => (\n\t\t\t\t<li key={ id }>\n\t\t\t\t\t<RichText\n\t\t\t\t\t\tid={ id }\n\t\t\t\t\t\ttagName=\"span\"\n\t\t\t\t\t\tvalue={ content }\n\t\t\t\t\t\tidentifier={ id }\n\t\t\t\t\t\t// To do: figure out why the browser is not scrolling\n\t\t\t\t\t\t// into view when it receives focus.\n\t\t\t\t\t\tonFocus={ ( event ) => {\n\t\t\t\t\t\t\tif ( ! event.target.textContent.trim() ) {\n\t\t\t\t\t\t\t\tevent.target.scrollIntoView();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tonChange={ ( nextFootnote ) => {\n\t\t\t\t\t\t\tupdateMeta( {\n\t\t\t\t\t\t\t\t...meta,\n\t\t\t\t\t\t\t\tfootnotes: JSON.stringify(\n\t\t\t\t\t\t\t\t\tfootnotes.map( ( footnote ) => {\n\t\t\t\t\t\t\t\t\t\treturn footnote.id === id\n\t\t\t\t\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\t\t\t\t\tcontent: nextFootnote,\n\t\t\t\t\t\t\t\t\t\t\t\t\tid,\n\t\t\t\t\t\t\t\t\t\t\t }\n\t\t\t\t\t\t\t\t\t\t\t: footnote;\n\t\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>{ ' ' }\n\t\t\t\t\t<a href={ `#${ id }-link` }>↩︎</a>\n\t\t\t\t</li>\n\t\t\t) ) }\n\t\t</ol>\n\t);\n}\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,SAAS,EAAEC,QAAQ,EAAEC,aAAa,QAAQ,yBAAyB;AAC5E,SAASC,aAAa,QAAQ,sBAAsB;AACpD,SAASC,EAAE,QAAQ,iBAAiB;AACpC,SAASC,WAAW,QAAQ,uBAAuB;AACnD,SAASC,kBAAkB,IAAIC,IAAI,QAAQ,kBAAkB;AAE7D,eAAe,SAASC,aAAaA,CAAE;EAAEC,OAAO,EAAE;IAAEC,QAAQ;IAAEC;EAAO;AAAE,CAAC,EAAG;EAC1E,MAAM,CAAEC,IAAI,EAAEC,UAAU,CAAE,GAAGV,aAAa,CACzC,UAAU,EACVO,QAAQ,EACR,MAAM,EACNC,MACD,CAAC;EACD,MAAMG,SAAS,GAAGF,IAAI,EAAEE,SAAS,GAAGC,IAAI,CAACC,KAAK,CAAEJ,IAAI,CAACE,SAAU,CAAC,GAAG,EAAE;EACrE,MAAMG,UAAU,GAAGf,aAAa,CAAC,CAAC;EAElC,IAAKQ,QAAQ,KAAK,MAAM,IAAIA,QAAQ,KAAK,MAAM,EAAG;IACjD,OACCQ,aAAA;MAAA,GAAUD;IAAU,GACnBC,aAAA,CAACb,WAAW;MACXE,IAAI,EAAGW,aAAA,CAAClB,SAAS;QAACO,IAAI,EAAGA;MAAM,CAAE,CAAG;MACpCY,KAAK,EAAGf,EAAE,CAAE,WAAY;MACxB;IAAA,CACA,CACG,CAAC;EAER;;EAEA,IAAK,CAAEU,SAAS,CAACM,MAAM,EAAG;IACzB,OACCF,aAAA;MAAA,GAAUD;IAAU,GACnBC,aAAA,CAACb,WAAW;MACXE,IAAI,EAAGW,aAAA,CAAClB,SAAS;QAACO,IAAI,EAAGA;MAAM,CAAE,CAAG;MACpCY,KAAK,EAAGf,EAAE,CAAE,WAAY,CAAG;MAC3BiB,YAAY,EAAGjB,EAAE,CAChB,wEACD;IAAG,CACH,CACG,CAAC;EAER;EAEA,OACCc,aAAA;IAAA,GAASD;EAAU,GAChBH,SAAS,CAACQ,GAAG,CAAE,CAAE;IAAEC,EAAE;IAAEC;EAAQ,CAAC,KACjCN,aAAA;IAAIO,GAAG,EAAGF;EAAI,GACbL,aAAA,CAACjB,QAAQ;IACRsB,EAAE,EAAGA,EAAI;IACTG,OAAO,EAAC,MAAM;IACdC,KAAK,EAAGH,OAAS;IACjBI,UAAU,EAAGL;IACb;IACA;IAAA;IACAM,OAAO,EAAKC,KAAK,IAAM;MACtB,IAAK,CAAEA,KAAK,CAACC,MAAM,CAACC,WAAW,CAACC,IAAI,CAAC,CAAC,EAAG;QACxCH,KAAK,CAACC,MAAM,CAACG,cAAc,CAAC,CAAC;MAC9B;IACD,CAAG;IACHC,QAAQ,EAAKC,YAAY,IAAM;MAC9BvB,UAAU,CAAE;QACX,GAAGD,IAAI;QACPE,SAAS,EAAEC,IAAI,CAACsB,SAAS,CACxBvB,SAAS,CAACQ,GAAG,CAAIgB,QAAQ,IAAM;UAC9B,OAAOA,QAAQ,CAACf,EAAE,KAAKA,EAAE,GACtB;YACAC,OAAO,EAAEY,YAAY;YACrBb;UACA,CAAC,GACDe,QAAQ;QACZ,CAAE,CACH;MACD,CAAE,CAAC;IACJ;EAAG,CACH,CAAC,EAAE,GAAG,EACPpB,aAAA;IAAGqB,IAAI,EAAI,IAAIhB,EAAI;EAAQ,GAAC,cAAK,CAC9B,CACH,CACC,CAAC;AAEP"}
1
+ {"version":3,"names":["BlockIcon","RichText","useBlockProps","useEntityProp","__","Placeholder","formatListNumbered","icon","FootnotesEdit","context","postType","postId","meta","updateMeta","footnotes","JSON","parse","blockProps","createElement","label","instructions","length","map","id","content","key","tagName","value","identifier","onFocus","event","target","textContent","trim","scrollIntoView","onChange","nextFootnote","stringify","footnote","href"],"sources":["@wordpress/block-library/src/footnotes/edit.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { BlockIcon, RichText, useBlockProps } from '@wordpress/block-editor';\nimport { useEntityProp } from '@wordpress/core-data';\nimport { __ } from '@wordpress/i18n';\nimport { Placeholder } from '@wordpress/components';\nimport { formatListNumbered as icon } from '@wordpress/icons';\n\nexport default function FootnotesEdit( { context: { postType, postId } } ) {\n\tconst [ meta, updateMeta ] = useEntityProp(\n\t\t'postType',\n\t\tpostType,\n\t\t'meta',\n\t\tpostId\n\t);\n\tconst footnotes = meta?.footnotes ? JSON.parse( meta.footnotes ) : [];\n\tconst blockProps = useBlockProps();\n\n\tif ( postType !== 'post' && postType !== 'page' ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<Placeholder\n\t\t\t\t\ticon={ <BlockIcon icon={ icon } /> }\n\t\t\t\t\tlabel={ __( 'Footnotes' ) }\n\t\t\t\t\tinstructions={ __(\n\t\t\t\t\t\t'Footnotes are not supported here. Add this block to post or page content.'\n\t\t\t\t\t) }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tif ( ! footnotes.length ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<Placeholder\n\t\t\t\t\ticon={ <BlockIcon icon={ icon } /> }\n\t\t\t\t\tlabel={ __( 'Footnotes' ) }\n\t\t\t\t\tinstructions={ __(\n\t\t\t\t\t\t'Footnotes found in blocks within this document will be displayed here.'\n\t\t\t\t\t) }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t);\n\t}\n\n\treturn (\n\t\t<ol { ...blockProps }>\n\t\t\t{ footnotes.map( ( { id, content } ) => (\n\t\t\t\t<li key={ id }>\n\t\t\t\t\t<RichText\n\t\t\t\t\t\tid={ id }\n\t\t\t\t\t\ttagName=\"span\"\n\t\t\t\t\t\tvalue={ content }\n\t\t\t\t\t\tidentifier={ id }\n\t\t\t\t\t\t// To do: figure out why the browser is not scrolling\n\t\t\t\t\t\t// into view when it receives focus.\n\t\t\t\t\t\tonFocus={ ( event ) => {\n\t\t\t\t\t\t\tif ( ! event.target.textContent.trim() ) {\n\t\t\t\t\t\t\t\tevent.target.scrollIntoView();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tonChange={ ( nextFootnote ) => {\n\t\t\t\t\t\t\tupdateMeta( {\n\t\t\t\t\t\t\t\t...meta,\n\t\t\t\t\t\t\t\tfootnotes: JSON.stringify(\n\t\t\t\t\t\t\t\t\tfootnotes.map( ( footnote ) => {\n\t\t\t\t\t\t\t\t\t\treturn footnote.id === id\n\t\t\t\t\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\t\t\t\t\tcontent: nextFootnote,\n\t\t\t\t\t\t\t\t\t\t\t\t\tid,\n\t\t\t\t\t\t\t\t\t\t\t }\n\t\t\t\t\t\t\t\t\t\t\t: footnote;\n\t\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>{ ' ' }\n\t\t\t\t\t<a href={ `#${ id }-link` }>↩︎</a>\n\t\t\t\t</li>\n\t\t\t) ) }\n\t\t</ol>\n\t);\n}\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,SAAS,EAAEC,QAAQ,EAAEC,aAAa,QAAQ,yBAAyB;AAC5E,SAASC,aAAa,QAAQ,sBAAsB;AACpD,SAASC,EAAE,QAAQ,iBAAiB;AACpC,SAASC,WAAW,QAAQ,uBAAuB;AACnD,SAASC,kBAAkB,IAAIC,IAAI,QAAQ,kBAAkB;AAE7D,eAAe,SAASC,aAAaA,CAAE;EAAEC,OAAO,EAAE;IAAEC,QAAQ;IAAEC;EAAO;AAAE,CAAC,EAAG;EAC1E,MAAM,CAAEC,IAAI,EAAEC,UAAU,CAAE,GAAGV,aAAa,CACzC,UAAU,EACVO,QAAQ,EACR,MAAM,EACNC,MACD,CAAC;EACD,MAAMG,SAAS,GAAGF,IAAI,EAAEE,SAAS,GAAGC,IAAI,CAACC,KAAK,CAAEJ,IAAI,CAACE,SAAU,CAAC,GAAG,EAAE;EACrE,MAAMG,UAAU,GAAGf,aAAa,CAAC,CAAC;EAElC,IAAKQ,QAAQ,KAAK,MAAM,IAAIA,QAAQ,KAAK,MAAM,EAAG;IACjD,OACCQ,aAAA;MAAA,GAAUD;IAAU,GACnBC,aAAA,CAACb,WAAW;MACXE,IAAI,EAAGW,aAAA,CAAClB,SAAS;QAACO,IAAI,EAAGA;MAAM,CAAE,CAAG;MACpCY,KAAK,EAAGf,EAAE,CAAE,WAAY,CAAG;MAC3BgB,YAAY,EAAGhB,EAAE,CAChB,2EACD;IAAG,CACH,CACG,CAAC;EAER;EAEA,IAAK,CAAEU,SAAS,CAACO,MAAM,EAAG;IACzB,OACCH,aAAA;MAAA,GAAUD;IAAU,GACnBC,aAAA,CAACb,WAAW;MACXE,IAAI,EAAGW,aAAA,CAAClB,SAAS;QAACO,IAAI,EAAGA;MAAM,CAAE,CAAG;MACpCY,KAAK,EAAGf,EAAE,CAAE,WAAY,CAAG;MAC3BgB,YAAY,EAAGhB,EAAE,CAChB,wEACD;IAAG,CACH,CACG,CAAC;EAER;EAEA,OACCc,aAAA;IAAA,GAASD;EAAU,GAChBH,SAAS,CAACQ,GAAG,CAAE,CAAE;IAAEC,EAAE;IAAEC;EAAQ,CAAC,KACjCN,aAAA;IAAIO,GAAG,EAAGF;EAAI,GACbL,aAAA,CAACjB,QAAQ;IACRsB,EAAE,EAAGA,EAAI;IACTG,OAAO,EAAC,MAAM;IACdC,KAAK,EAAGH,OAAS;IACjBI,UAAU,EAAGL;IACb;IACA;IAAA;IACAM,OAAO,EAAKC,KAAK,IAAM;MACtB,IAAK,CAAEA,KAAK,CAACC,MAAM,CAACC,WAAW,CAACC,IAAI,CAAC,CAAC,EAAG;QACxCH,KAAK,CAACC,MAAM,CAACG,cAAc,CAAC,CAAC;MAC9B;IACD,CAAG;IACHC,QAAQ,EAAKC,YAAY,IAAM;MAC9BvB,UAAU,CAAE;QACX,GAAGD,IAAI;QACPE,SAAS,EAAEC,IAAI,CAACsB,SAAS,CACxBvB,SAAS,CAACQ,GAAG,CAAIgB,QAAQ,IAAM;UAC9B,OAAOA,QAAQ,CAACf,EAAE,KAAKA,EAAE,GACtB;YACAC,OAAO,EAAEY,YAAY;YACrBb;UACA,CAAC,GACDe,QAAQ;QACZ,CAAE,CACH;MACD,CAAE,CAAC;IACJ;EAAG,CACH,CAAC,EAAE,GAAG,EACPpB,aAAA;IAAGqB,IAAI,EAAI,IAAIhB,EAAI;EAAQ,GAAC,cAAK,CAC9B,CACH,CACC,CAAC;AAEP"}
@@ -43,6 +43,7 @@ const metadata = {
43
43
  color: {
44
44
  gradients: true,
45
45
  heading: true,
46
+ button: true,
46
47
  link: true,
47
48
  __experimentalDefaultControls: {
48
49
  background: true,
@@ -1 +1 @@
1
- {"version":3,"names":["__","group","icon","initBlock","deprecated","edit","metadata","$schema","apiVersion","name","title","category","description","keywords","textdomain","attributes","tagName","type","templateLock","allowedBlocks","supports","__experimentalOnEnter","__experimentalOnMerge","__experimentalSettings","align","anchor","ariaLabel","html","color","gradients","heading","link","__experimentalDefaultControls","background","text","spacing","margin","padding","blockGap","dimensions","minHeight","__experimentalBorder","radius","style","width","position","sticky","typography","fontSize","lineHeight","__experimentalFontFamily","__experimentalFontWeight","__experimentalFontStyle","__experimentalTextTransform","__experimentalTextDecoration","__experimentalLetterSpacing","layout","allowSizingOnChildren","editorStyle","save","transforms","variations","settings","example","innerBlocks","customTextColor","content","init"],"sources":["@wordpress/block-library/src/group/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { group 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';\nimport variations from './variations';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\texample: {\n\t\tattributes: {\n\t\t\tstyle: {\n\t\t\t\tcolor: {\n\t\t\t\t\ttext: '#000000',\n\t\t\t\t\tbackground: '#ffffff',\n\t\t\t\t},\n\t\t\t},\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\tcustomTextColor: '#cf2e2e',\n\t\t\t\t\tfontSize: 'large',\n\t\t\t\t\tcontent: __( 'One.' ),\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'core/paragraph',\n\t\t\t\tattributes: {\n\t\t\t\t\tcustomTextColor: '#ff6900',\n\t\t\t\t\tfontSize: 'large',\n\t\t\t\t\tcontent: __( 'Two.' ),\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'core/paragraph',\n\t\t\t\tattributes: {\n\t\t\t\t\tcustomTextColor: '#fcb900',\n\t\t\t\t\tfontSize: 'large',\n\t\t\t\t\tcontent: __( 'Three.' ),\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'core/paragraph',\n\t\t\t\tattributes: {\n\t\t\t\t\tcustomTextColor: '#00d084',\n\t\t\t\t\tfontSize: 'large',\n\t\t\t\t\tcontent: __( 'Four.' ),\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'core/paragraph',\n\t\t\t\tattributes: {\n\t\t\t\t\tcustomTextColor: '#0693e3',\n\t\t\t\t\tfontSize: 'large',\n\t\t\t\t\tcontent: __( 'Five.' ),\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'core/paragraph',\n\t\t\t\tattributes: {\n\t\t\t\t\tcustomTextColor: '#9b51e0',\n\t\t\t\t\tfontSize: 'large',\n\t\t\t\t\tcontent: __( 'Six.' ),\n\t\t\t\t},\n\t\t\t},\n\t\t],\n\t},\n\ttransforms,\n\tedit,\n\tsave,\n\tdeprecated,\n\tvariations,\n};\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,EAAE,QAAQ,iBAAiB;AACpC,SAASC,KAAK,IAAIC,IAAI,QAAQ,kBAAkB;;AAEhD;AACA;AACA;AACA,OAAOC,SAAS,MAAM,qBAAqB;AAC3C,OAAOC,UAAU,MAAM,cAAc;AACrC,OAAOC,IAAI,MAAM,QAAQ;AAAC,MAAAC,QAAA;EAAAC,OAAA;EAAAC,UAAA;EAAAC,IAAA;EAAAC,KAAA;EAAAC,QAAA;EAAAC,WAAA;EAAAC,QAAA;EAAAC,UAAA;EAAAC,UAAA;IAAAC,OAAA;MAAAC,IAAA;MAAA;IAAA;IAAAC,YAAA;MAAAD,IAAA;MAAA;IAAA;IAAAE,aAAA;MAAAF,IAAA;IAAA;EAAA;EAAAG,QAAA;IAAAC,qBAAA;IAAAC,qBAAA;IAAAC,sBAAA;IAAAC,KAAA;IAAAC,MAAA;IAAAC,SAAA;IAAAC,IAAA;IAAAC,KAAA;MAAAC,SAAA;MAAAC,OAAA;MAAAC,IAAA;MAAAC,6BAAA;QAAAC,UAAA;QAAAC,IAAA;MAAA;IAAA;IAAAC,OAAA;MAAAC,MAAA;MAAAC,OAAA;MAAAC,QAAA;MAAAN,6BAAA;QAAAK,OAAA;QAAAC,QAAA;MAAA;IAAA;IAAAC,UAAA;MAAAC,SAAA;IAAA;IAAAC,oBAAA;MAAAb,KAAA;MAAAc,MAAA;MAAAC,KAAA;MAAAC,KAAA;MAAAZ,6BAAA;QAAAJ,KAAA;QAAAc,MAAA;QAAAC,KAAA;QAAAC,KAAA;MAAA;IAAA;IAAAC,QAAA;MAAAC,MAAA;IAAA;IAAAC,UAAA;MAAAC,QAAA;MAAAC,UAAA;MAAAC,wBAAA;MAAAC,wBAAA;MAAAC,uBAAA;MAAAC,2BAAA;MAAAC,4BAAA;MAAAC,2BAAA;MAAAvB,6BAAA;QAAAgB,QAAA;MAAA;IAAA;IAAAQ,MAAA;MAAAC,qBAAA;IAAA;EAAA;EAAAC,WAAA;EAAAf,KAAA;AAAA;AAE1B,OAAOgB,IAAI,MAAM,QAAQ;AACzB,OAAOC,UAAU,MAAM,cAAc;AACrC,OAAOC,UAAU,MAAM,cAAc;AAErC,MAAM;EAAEpD;AAAK,CAAC,GAAGH,QAAQ;AAEzB,SAASA,QAAQ,EAAEG,IAAI;AAEvB,OAAO,MAAMqD,QAAQ,GAAG;EACvB5D,IAAI;EACJ6D,OAAO,EAAE;IACRhD,UAAU,EAAE;MACX4B,KAAK,EAAE;QACNf,KAAK,EAAE;UACNM,IAAI,EAAE,SAAS;UACfD,UAAU,EAAE;QACb;MACD;IACD,CAAC;IACD+B,WAAW,EAAE,CACZ;MACCvD,IAAI,EAAE,gBAAgB;MACtBM,UAAU,EAAE;QACXkD,eAAe,EAAE,SAAS;QAC1BjB,QAAQ,EAAE,OAAO;QACjBkB,OAAO,EAAElE,EAAE,CAAE,MAAO;MACrB;IACD,CAAC,EACD;MACCS,IAAI,EAAE,gBAAgB;MACtBM,UAAU,EAAE;QACXkD,eAAe,EAAE,SAAS;QAC1BjB,QAAQ,EAAE,OAAO;QACjBkB,OAAO,EAAElE,EAAE,CAAE,MAAO;MACrB;IACD,CAAC,EACD;MACCS,IAAI,EAAE,gBAAgB;MACtBM,UAAU,EAAE;QACXkD,eAAe,EAAE,SAAS;QAC1BjB,QAAQ,EAAE,OAAO;QACjBkB,OAAO,EAAElE,EAAE,CAAE,QAAS;MACvB;IACD,CAAC,EACD;MACCS,IAAI,EAAE,gBAAgB;MACtBM,UAAU,EAAE;QACXkD,eAAe,EAAE,SAAS;QAC1BjB,QAAQ,EAAE,OAAO;QACjBkB,OAAO,EAAElE,EAAE,CAAE,OAAQ;MACtB;IACD,CAAC,EACD;MACCS,IAAI,EAAE,gBAAgB;MACtBM,UAAU,EAAE;QACXkD,eAAe,EAAE,SAAS;QAC1BjB,QAAQ,EAAE,OAAO;QACjBkB,OAAO,EAAElE,EAAE,CAAE,OAAQ;MACtB;IACD,CAAC,EACD;MACCS,IAAI,EAAE,gBAAgB;MACtBM,UAAU,EAAE;QACXkD,eAAe,EAAE,SAAS;QAC1BjB,QAAQ,EAAE,OAAO;QACjBkB,OAAO,EAAElE,EAAE,CAAE,MAAO;MACrB;IACD,CAAC;EAEH,CAAC;EACD4D,UAAU;EACVvD,IAAI;EACJsD,IAAI;EACJvD,UAAU;EACVyD;AACD,CAAC;AAED,OAAO,MAAMM,IAAI,GAAGA,CAAA,KAAMhE,SAAS,CAAE;EAAEM,IAAI;EAAEH,QAAQ;EAAEwD;AAAS,CAAE,CAAC"}
1
+ {"version":3,"names":["__","group","icon","initBlock","deprecated","edit","metadata","$schema","apiVersion","name","title","category","description","keywords","textdomain","attributes","tagName","type","templateLock","allowedBlocks","supports","__experimentalOnEnter","__experimentalOnMerge","__experimentalSettings","align","anchor","ariaLabel","html","color","gradients","heading","button","link","__experimentalDefaultControls","background","text","spacing","margin","padding","blockGap","dimensions","minHeight","__experimentalBorder","radius","style","width","position","sticky","typography","fontSize","lineHeight","__experimentalFontFamily","__experimentalFontWeight","__experimentalFontStyle","__experimentalTextTransform","__experimentalTextDecoration","__experimentalLetterSpacing","layout","allowSizingOnChildren","editorStyle","save","transforms","variations","settings","example","innerBlocks","customTextColor","content","init"],"sources":["@wordpress/block-library/src/group/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { group 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';\nimport variations from './variations';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\texample: {\n\t\tattributes: {\n\t\t\tstyle: {\n\t\t\t\tcolor: {\n\t\t\t\t\ttext: '#000000',\n\t\t\t\t\tbackground: '#ffffff',\n\t\t\t\t},\n\t\t\t},\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\tcustomTextColor: '#cf2e2e',\n\t\t\t\t\tfontSize: 'large',\n\t\t\t\t\tcontent: __( 'One.' ),\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'core/paragraph',\n\t\t\t\tattributes: {\n\t\t\t\t\tcustomTextColor: '#ff6900',\n\t\t\t\t\tfontSize: 'large',\n\t\t\t\t\tcontent: __( 'Two.' ),\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'core/paragraph',\n\t\t\t\tattributes: {\n\t\t\t\t\tcustomTextColor: '#fcb900',\n\t\t\t\t\tfontSize: 'large',\n\t\t\t\t\tcontent: __( 'Three.' ),\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'core/paragraph',\n\t\t\t\tattributes: {\n\t\t\t\t\tcustomTextColor: '#00d084',\n\t\t\t\t\tfontSize: 'large',\n\t\t\t\t\tcontent: __( 'Four.' ),\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'core/paragraph',\n\t\t\t\tattributes: {\n\t\t\t\t\tcustomTextColor: '#0693e3',\n\t\t\t\t\tfontSize: 'large',\n\t\t\t\t\tcontent: __( 'Five.' ),\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'core/paragraph',\n\t\t\t\tattributes: {\n\t\t\t\t\tcustomTextColor: '#9b51e0',\n\t\t\t\t\tfontSize: 'large',\n\t\t\t\t\tcontent: __( 'Six.' ),\n\t\t\t\t},\n\t\t\t},\n\t\t],\n\t},\n\ttransforms,\n\tedit,\n\tsave,\n\tdeprecated,\n\tvariations,\n};\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"],"mappings":"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"}
@@ -83,7 +83,7 @@ function Placeholder({
83
83
  });
84
84
  return createElement("div", {
85
85
  ...blockProps
86
- }, createElement("p", null, __('This is the Post Content block, it will display all the blocks in any single post or page.')), createElement("p", null, __('That might be a simple arrangement like consecutive paragraphs in a blog post, or a more elaborate composition that includes image galleries, videos, tables, columns, and any other block types.')), createElement("p", null, __('If there are any Custom Post Types registered at your site, the Post Content block can display the contents of those entries as well.')));
86
+ }, createElement("p", null, __('This is the Content block, it will display all the blocks in any single post or page.')), createElement("p", null, __('That might be a simple arrangement like consecutive paragraphs in a blog post, or a more elaborate composition that includes image galleries, videos, tables, columns, and any other block types.')), createElement("p", null, __('If there are any Custom Post Types registered at your site, the Content block can display the contents of those entries as well.')));
87
87
  }
88
88
  function RecursionError() {
89
89
  const blockProps = useBlockProps();
@@ -1 +1 @@
1
- {"version":3,"names":["__","useBlockProps","useInnerBlocksProps","__experimentalRecursionProvider","RecursionProvider","__experimentalUseHasRecursion","useHasRecursion","Warning","useEntityProp","useEntityBlockEditor","store","coreStore","useSelect","useCanEditEntity","ReadOnlyContent","userCanEdit","postType","postId","content","blockProps","protected","createElement","dangerouslySetInnerHTML","__html","rendered","EditableContent","context","blocks","onInput","onChange","id","entityRecord","select","getEntityRecord","hasInnerBlocks","raw","length","initialInnerBlocks","props","className","value","template","undefined","Content","queryId","isDescendentOfQueryLoop","Number","isFinite","isEditable","Placeholder","layoutClassNames","RecursionError","PostContentEdit","attributes","__unstableLayoutClassNames","contextPostId","contextPostType","layout","hasAlreadyRendered","uniqueId"],"sources":["@wordpress/block-library/src/post-content/edit.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\tuseBlockProps,\n\tuseInnerBlocksProps,\n\t__experimentalRecursionProvider as RecursionProvider,\n\t__experimentalUseHasRecursion as useHasRecursion,\n\tWarning,\n} from '@wordpress/block-editor';\nimport {\n\tuseEntityProp,\n\tuseEntityBlockEditor,\n\tstore as coreStore,\n} from '@wordpress/core-data';\nimport { useSelect } from '@wordpress/data';\n/**\n * Internal dependencies\n */\nimport { useCanEditEntity } from '../utils/hooks';\n\nfunction ReadOnlyContent( { userCanEdit, postType, postId } ) {\n\tconst [ , , content ] = useEntityProp(\n\t\t'postType',\n\t\tpostType,\n\t\t'content',\n\t\tpostId\n\t);\n\tconst blockProps = useBlockProps();\n\treturn content?.protected && ! userCanEdit ? (\n\t\t<div { ...blockProps }>\n\t\t\t<Warning>{ __( 'This content is password protected.' ) }</Warning>\n\t\t</div>\n\t) : (\n\t\t<div\n\t\t\t{ ...blockProps }\n\t\t\tdangerouslySetInnerHTML={ { __html: content?.rendered } }\n\t\t></div>\n\t);\n}\n\nfunction EditableContent( { context = {} } ) {\n\tconst { postType, postId } = context;\n\n\tconst [ blocks, onInput, onChange ] = useEntityBlockEditor(\n\t\t'postType',\n\t\tpostType,\n\t\t{ id: postId }\n\t);\n\n\tconst entityRecord = useSelect(\n\t\t( select ) => {\n\t\t\treturn select( coreStore ).getEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\tpostType,\n\t\t\t\tpostId\n\t\t\t);\n\t\t},\n\t\t[ postType, postId ]\n\t);\n\n\tconst hasInnerBlocks = !! entityRecord?.content?.raw || blocks?.length;\n\n\tconst initialInnerBlocks = [ [ 'core/paragraph' ] ];\n\n\tconst props = useInnerBlocksProps(\n\t\tuseBlockProps( { className: 'entry-content' } ),\n\t\t{\n\t\t\tvalue: blocks,\n\t\t\tonInput,\n\t\t\tonChange,\n\t\t\ttemplate: ! hasInnerBlocks ? initialInnerBlocks : undefined,\n\t\t}\n\t);\n\treturn <div { ...props } />;\n}\n\nfunction Content( props ) {\n\tconst { context: { queryId, postType, postId } = {} } = props;\n\tconst userCanEdit = useCanEditEntity( 'postType', postType, postId );\n\tif ( userCanEdit === undefined ) {\n\t\treturn null;\n\t}\n\n\tconst isDescendentOfQueryLoop = Number.isFinite( queryId );\n\tconst isEditable = userCanEdit && ! isDescendentOfQueryLoop;\n\n\treturn isEditable ? (\n\t\t<EditableContent { ...props } />\n\t) : (\n\t\t<ReadOnlyContent\n\t\t\tuserCanEdit={ userCanEdit }\n\t\t\tpostType={ postType }\n\t\t\tpostId={ postId }\n\t\t/>\n\t);\n}\n\nfunction Placeholder( { layoutClassNames } ) {\n\tconst blockProps = useBlockProps( { className: layoutClassNames } );\n\treturn (\n\t\t<div { ...blockProps }>\n\t\t\t<p>\n\t\t\t\t{ __(\n\t\t\t\t\t'This is the Post Content block, it will display all the blocks in any single post or page.'\n\t\t\t\t) }\n\t\t\t</p>\n\t\t\t<p>\n\t\t\t\t{ __(\n\t\t\t\t\t'That might be a simple arrangement like consecutive paragraphs in a blog post, or a more elaborate composition that includes image galleries, videos, tables, columns, and any other block types.'\n\t\t\t\t) }\n\t\t\t</p>\n\t\t\t<p>\n\t\t\t\t{ __(\n\t\t\t\t\t'If there are any Custom Post Types registered at your site, the Post Content block can display the contents of those entries as well.'\n\t\t\t\t) }\n\t\t\t</p>\n\t\t</div>\n\t);\n}\n\nfunction RecursionError() {\n\tconst blockProps = useBlockProps();\n\treturn (\n\t\t<div { ...blockProps }>\n\t\t\t<Warning>\n\t\t\t\t{ __( 'Block cannot be rendered inside itself.' ) }\n\t\t\t</Warning>\n\t\t</div>\n\t);\n}\n\nexport default function PostContentEdit( {\n\tcontext,\n\tattributes,\n\t__unstableLayoutClassNames: layoutClassNames,\n} ) {\n\tconst { postId: contextPostId, postType: contextPostType } = context;\n\tconst { layout = {} } = attributes;\n\tconst hasAlreadyRendered = useHasRecursion( contextPostId );\n\n\tif ( contextPostId && contextPostType && hasAlreadyRendered ) {\n\t\treturn <RecursionError />;\n\t}\n\n\treturn (\n\t\t<RecursionProvider uniqueId={ contextPostId }>\n\t\t\t{ contextPostId && contextPostType ? (\n\t\t\t\t<Content context={ context } layout={ layout } />\n\t\t\t) : (\n\t\t\t\t<Placeholder layoutClassNames={ layoutClassNames } />\n\t\t\t) }\n\t\t</RecursionProvider>\n\t);\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["__","useBlockProps","useInnerBlocksProps","__experimentalRecursionProvider","RecursionProvider","__experimentalUseHasRecursion","useHasRecursion","Warning","useEntityProp","useEntityBlockEditor","store","coreStore","useSelect","useCanEditEntity","ReadOnlyContent","userCanEdit","postType","postId","content","blockProps","protected","createElement","dangerouslySetInnerHTML","__html","rendered","EditableContent","context","blocks","onInput","onChange","id","entityRecord","select","getEntityRecord","hasInnerBlocks","raw","length","initialInnerBlocks","props","className","value","template","undefined","Content","queryId","isDescendentOfQueryLoop","Number","isFinite","isEditable","Placeholder","layoutClassNames","RecursionError","PostContentEdit","attributes","__unstableLayoutClassNames","contextPostId","contextPostType","layout","hasAlreadyRendered","uniqueId"],"sources":["@wordpress/block-library/src/post-content/edit.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\tuseBlockProps,\n\tuseInnerBlocksProps,\n\t__experimentalRecursionProvider as RecursionProvider,\n\t__experimentalUseHasRecursion as useHasRecursion,\n\tWarning,\n} from '@wordpress/block-editor';\nimport {\n\tuseEntityProp,\n\tuseEntityBlockEditor,\n\tstore as coreStore,\n} from '@wordpress/core-data';\nimport { useSelect } from '@wordpress/data';\n/**\n * Internal dependencies\n */\nimport { useCanEditEntity } from '../utils/hooks';\n\nfunction ReadOnlyContent( { userCanEdit, postType, postId } ) {\n\tconst [ , , content ] = useEntityProp(\n\t\t'postType',\n\t\tpostType,\n\t\t'content',\n\t\tpostId\n\t);\n\tconst blockProps = useBlockProps();\n\treturn content?.protected && ! userCanEdit ? (\n\t\t<div { ...blockProps }>\n\t\t\t<Warning>{ __( 'This content is password protected.' ) }</Warning>\n\t\t</div>\n\t) : (\n\t\t<div\n\t\t\t{ ...blockProps }\n\t\t\tdangerouslySetInnerHTML={ { __html: content?.rendered } }\n\t\t></div>\n\t);\n}\n\nfunction EditableContent( { context = {} } ) {\n\tconst { postType, postId } = context;\n\n\tconst [ blocks, onInput, onChange ] = useEntityBlockEditor(\n\t\t'postType',\n\t\tpostType,\n\t\t{ id: postId }\n\t);\n\n\tconst entityRecord = useSelect(\n\t\t( select ) => {\n\t\t\treturn select( coreStore ).getEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\tpostType,\n\t\t\t\tpostId\n\t\t\t);\n\t\t},\n\t\t[ postType, postId ]\n\t);\n\n\tconst hasInnerBlocks = !! entityRecord?.content?.raw || blocks?.length;\n\n\tconst initialInnerBlocks = [ [ 'core/paragraph' ] ];\n\n\tconst props = useInnerBlocksProps(\n\t\tuseBlockProps( { className: 'entry-content' } ),\n\t\t{\n\t\t\tvalue: blocks,\n\t\t\tonInput,\n\t\t\tonChange,\n\t\t\ttemplate: ! hasInnerBlocks ? initialInnerBlocks : undefined,\n\t\t}\n\t);\n\treturn <div { ...props } />;\n}\n\nfunction Content( props ) {\n\tconst { context: { queryId, postType, postId } = {} } = props;\n\tconst userCanEdit = useCanEditEntity( 'postType', postType, postId );\n\tif ( userCanEdit === undefined ) {\n\t\treturn null;\n\t}\n\n\tconst isDescendentOfQueryLoop = Number.isFinite( queryId );\n\tconst isEditable = userCanEdit && ! isDescendentOfQueryLoop;\n\n\treturn isEditable ? (\n\t\t<EditableContent { ...props } />\n\t) : (\n\t\t<ReadOnlyContent\n\t\t\tuserCanEdit={ userCanEdit }\n\t\t\tpostType={ postType }\n\t\t\tpostId={ postId }\n\t\t/>\n\t);\n}\n\nfunction Placeholder( { layoutClassNames } ) {\n\tconst blockProps = useBlockProps( { className: layoutClassNames } );\n\treturn (\n\t\t<div { ...blockProps }>\n\t\t\t<p>\n\t\t\t\t{ __(\n\t\t\t\t\t'This is the Content block, it will display all the blocks in any single post or page.'\n\t\t\t\t) }\n\t\t\t</p>\n\t\t\t<p>\n\t\t\t\t{ __(\n\t\t\t\t\t'That might be a simple arrangement like consecutive paragraphs in a blog post, or a more elaborate composition that includes image galleries, videos, tables, columns, and any other block types.'\n\t\t\t\t) }\n\t\t\t</p>\n\t\t\t<p>\n\t\t\t\t{ __(\n\t\t\t\t\t'If there are any Custom Post Types registered at your site, the Content block can display the contents of those entries as well.'\n\t\t\t\t) }\n\t\t\t</p>\n\t\t</div>\n\t);\n}\n\nfunction RecursionError() {\n\tconst blockProps = useBlockProps();\n\treturn (\n\t\t<div { ...blockProps }>\n\t\t\t<Warning>\n\t\t\t\t{ __( 'Block cannot be rendered inside itself.' ) }\n\t\t\t</Warning>\n\t\t</div>\n\t);\n}\n\nexport default function PostContentEdit( {\n\tcontext,\n\tattributes,\n\t__unstableLayoutClassNames: layoutClassNames,\n} ) {\n\tconst { postId: contextPostId, postType: contextPostType } = context;\n\tconst { layout = {} } = attributes;\n\tconst hasAlreadyRendered = useHasRecursion( contextPostId );\n\n\tif ( contextPostId && contextPostType && hasAlreadyRendered ) {\n\t\treturn <RecursionError />;\n\t}\n\n\treturn (\n\t\t<RecursionProvider uniqueId={ contextPostId }>\n\t\t\t{ contextPostId && contextPostType ? (\n\t\t\t\t<Content context={ context } layout={ layout } />\n\t\t\t) : (\n\t\t\t\t<Placeholder layoutClassNames={ layoutClassNames } />\n\t\t\t) }\n\t\t</RecursionProvider>\n\t);\n}\n"],"mappings":"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"}
@@ -16,7 +16,7 @@ const metadata = {
16
16
  parent: ["core/query"],
17
17
  description: "Contains the block elements used to render a post, like the title, date, featured image, content or excerpt, and more.",
18
18
  textdomain: "default",
19
- usesContext: ["queryId", "query", "queryContext", "displayLayout", "templateSlug", "previewPostType"],
19
+ usesContext: ["queryId", "query", "queryContext", "displayLayout", "templateSlug", "previewPostType", "enhancedPagination"],
20
20
  supports: {
21
21
  reusable: false,
22
22
  html: false,
@@ -3,6 +3,7 @@
3
3
  */
4
4
  import { store as coreStore } from '@wordpress/core-data';
5
5
  import { useSelect } from '@wordpress/data';
6
+ const EMPTY_ARRAY = [];
6
7
  export default function usePostTerms({
7
8
  postId,
8
9
  term
@@ -14,8 +15,8 @@ export default function usePostTerms({
14
15
  const visible = term?.visibility?.publicly_queryable;
15
16
  if (!visible) {
16
17
  return {
17
- postTerms: [],
18
- _isLoading: false,
18
+ postTerms: EMPTY_ARRAY,
19
+ isLoading: false,
19
20
  hasPostTerms: false
20
21
  };
21
22
  }
@@ -1 +1 @@
1
- {"version":3,"names":["store","coreStore","useSelect","usePostTerms","postId","term","slug","select","visible","visibility","publicly_queryable","postTerms","_isLoading","hasPostTerms","getEntityRecords","isResolving","taxonomyArgs","post","per_page","context","terms","isLoading","length"],"sources":["@wordpress/block-library/src/post-terms/use-post-terms.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useSelect } from '@wordpress/data';\n\nexport default function usePostTerms( { postId, term } ) {\n\tconst { slug } = term;\n\n\treturn useSelect(\n\t\t( select ) => {\n\t\t\tconst visible = term?.visibility?.publicly_queryable;\n\t\t\tif ( ! visible ) {\n\t\t\t\treturn {\n\t\t\t\t\tpostTerms: [],\n\t\t\t\t\t_isLoading: false,\n\t\t\t\t\thasPostTerms: false,\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tconst { getEntityRecords, isResolving } = select( coreStore );\n\t\t\tconst taxonomyArgs = [\n\t\t\t\t'taxonomy',\n\t\t\t\tslug,\n\t\t\t\t{\n\t\t\t\t\tpost: postId,\n\t\t\t\t\tper_page: -1,\n\t\t\t\t\tcontext: 'view',\n\t\t\t\t},\n\t\t\t];\n\t\t\tconst terms = getEntityRecords( ...taxonomyArgs );\n\n\t\t\treturn {\n\t\t\t\tpostTerms: terms,\n\t\t\t\tisLoading: isResolving( 'getEntityRecords', taxonomyArgs ),\n\t\t\t\thasPostTerms: !! terms?.length,\n\t\t\t};\n\t\t},\n\t\t[ postId, term?.visibility?.publicly_queryable, slug ]\n\t);\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,KAAK,IAAIC,SAAS,QAAQ,sBAAsB;AACzD,SAASC,SAAS,QAAQ,iBAAiB;AAE3C,eAAe,SAASC,YAAYA,CAAE;EAAEC,MAAM;EAAEC;AAAK,CAAC,EAAG;EACxD,MAAM;IAAEC;EAAK,CAAC,GAAGD,IAAI;EAErB,OAAOH,SAAS,CACbK,MAAM,IAAM;IACb,MAAMC,OAAO,GAAGH,IAAI,EAAEI,UAAU,EAAEC,kBAAkB;IACpD,IAAK,CAAEF,OAAO,EAAG;MAChB,OAAO;QACNG,SAAS,EAAE,EAAE;QACbC,UAAU,EAAE,KAAK;QACjBC,YAAY,EAAE;MACf,CAAC;IACF;IAEA,MAAM;MAAEC,gBAAgB;MAAEC;IAAY,CAAC,GAAGR,MAAM,CAAEN,SAAU,CAAC;IAC7D,MAAMe,YAAY,GAAG,CACpB,UAAU,EACVV,IAAI,EACJ;MACCW,IAAI,EAAEb,MAAM;MACZc,QAAQ,EAAE,CAAC,CAAC;MACZC,OAAO,EAAE;IACV,CAAC,CACD;IACD,MAAMC,KAAK,GAAGN,gBAAgB,CAAE,GAAGE,YAAa,CAAC;IAEjD,OAAO;MACNL,SAAS,EAAES,KAAK;MAChBC,SAAS,EAAEN,WAAW,CAAE,kBAAkB,EAAEC,YAAa,CAAC;MAC1DH,YAAY,EAAE,CAAC,CAAEO,KAAK,EAAEE;IACzB,CAAC;EACF,CAAC,EACD,CAAElB,MAAM,EAAEC,IAAI,EAAEI,UAAU,EAAEC,kBAAkB,EAAEJ,IAAI,CACrD,CAAC;AACF"}
1
+ {"version":3,"names":["store","coreStore","useSelect","EMPTY_ARRAY","usePostTerms","postId","term","slug","select","visible","visibility","publicly_queryable","postTerms","isLoading","hasPostTerms","getEntityRecords","isResolving","taxonomyArgs","post","per_page","context","terms","length"],"sources":["@wordpress/block-library/src/post-terms/use-post-terms.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useSelect } from '@wordpress/data';\n\nconst EMPTY_ARRAY = [];\n\nexport default function usePostTerms( { postId, term } ) {\n\tconst { slug } = term;\n\n\treturn useSelect(\n\t\t( select ) => {\n\t\t\tconst visible = term?.visibility?.publicly_queryable;\n\t\t\tif ( ! visible ) {\n\t\t\t\treturn {\n\t\t\t\t\tpostTerms: EMPTY_ARRAY,\n\t\t\t\t\tisLoading: false,\n\t\t\t\t\thasPostTerms: false,\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tconst { getEntityRecords, isResolving } = select( coreStore );\n\t\t\tconst taxonomyArgs = [\n\t\t\t\t'taxonomy',\n\t\t\t\tslug,\n\t\t\t\t{\n\t\t\t\t\tpost: postId,\n\t\t\t\t\tper_page: -1,\n\t\t\t\t\tcontext: 'view',\n\t\t\t\t},\n\t\t\t];\n\t\t\tconst terms = getEntityRecords( ...taxonomyArgs );\n\n\t\t\treturn {\n\t\t\t\tpostTerms: terms,\n\t\t\t\tisLoading: isResolving( 'getEntityRecords', taxonomyArgs ),\n\t\t\t\thasPostTerms: !! terms?.length,\n\t\t\t};\n\t\t},\n\t\t[ postId, term?.visibility?.publicly_queryable, slug ]\n\t);\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,KAAK,IAAIC,SAAS,QAAQ,sBAAsB;AACzD,SAASC,SAAS,QAAQ,iBAAiB;AAE3C,MAAMC,WAAW,GAAG,EAAE;AAEtB,eAAe,SAASC,YAAYA,CAAE;EAAEC,MAAM;EAAEC;AAAK,CAAC,EAAG;EACxD,MAAM;IAAEC;EAAK,CAAC,GAAGD,IAAI;EAErB,OAAOJ,SAAS,CACbM,MAAM,IAAM;IACb,MAAMC,OAAO,GAAGH,IAAI,EAAEI,UAAU,EAAEC,kBAAkB;IACpD,IAAK,CAAEF,OAAO,EAAG;MAChB,OAAO;QACNG,SAAS,EAAET,WAAW;QACtBU,SAAS,EAAE,KAAK;QAChBC,YAAY,EAAE;MACf,CAAC;IACF;IAEA,MAAM;MAAEC,gBAAgB;MAAEC;IAAY,CAAC,GAAGR,MAAM,CAAEP,SAAU,CAAC;IAC7D,MAAMgB,YAAY,GAAG,CACpB,UAAU,EACVV,IAAI,EACJ;MACCW,IAAI,EAAEb,MAAM;MACZc,QAAQ,EAAE,CAAC,CAAC;MACZC,OAAO,EAAE;IACV,CAAC,CACD;IACD,MAAMC,KAAK,GAAGN,gBAAgB,CAAE,GAAGE,YAAa,CAAC;IAEjD,OAAO;MACNL,SAAS,EAAES,KAAK;MAChBR,SAAS,EAAEG,WAAW,CAAE,kBAAkB,EAAEC,YAAa,CAAC;MAC1DH,YAAY,EAAE,CAAC,CAAEO,KAAK,EAAEC;IACzB,CAAC;EACF,CAAC,EACD,CAAEjB,MAAM,EAAEC,IAAI,EAAEI,UAAU,EAAEC,kBAAkB,EAAEJ,IAAI,CACrD,CAAC;AACF"}
@@ -6,7 +6,8 @@ import { PanelBody, TextControl, SelectControl, RangeControl, ToggleControl, Not
6
6
  import { __ } from '@wordpress/i18n';
7
7
  import { InspectorControls, privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';
8
8
  import { debounce } from '@wordpress/compose';
9
- import { useEffect, useState, useCallback } from '@wordpress/element';
9
+ import { useEffect, useState, useCallback, useRef } from '@wordpress/element';
10
+ import { speak } from '@wordpress/a11y';
10
11
 
11
12
  /**
12
13
  * Internal dependencies
@@ -26,11 +27,13 @@ export default function QueryInspectorControls(props) {
26
27
  const {
27
28
  attributes,
28
29
  setQuery,
29
- setDisplayLayout
30
+ setDisplayLayout,
31
+ setAttributes
30
32
  } = props;
31
33
  const {
32
34
  query,
33
- displayLayout
35
+ displayLayout,
36
+ enhancedPagination
34
37
  } = attributes;
35
38
  const {
36
39
  order,
@@ -96,6 +99,14 @@ export default function QueryInspectorControls(props) {
96
99
  const showAuthorControl = isControlAllowed(allowedControls, 'author');
97
100
  const showSearchControl = isControlAllowed(allowedControls, 'search');
98
101
  const showParentControl = isControlAllowed(allowedControls, 'parents') && isPostTypeHierarchical;
102
+ const enhancedPaginationNotice = __('Enhanced Pagination might cause interactive blocks within the Post Template to stop working. Disable it if you experience any issues.');
103
+ const isFirstRender = useRef(true); // Don't speak on first render.
104
+ useEffect(() => {
105
+ if (!isFirstRender.current && enhancedPagination) {
106
+ speak(enhancedPaginationNotice);
107
+ }
108
+ isFirstRender.current = false;
109
+ }, [enhancedPagination, enhancedPaginationNotice]);
99
110
  const showFiltersPanel = showTaxControl || showAuthorControl || showSearchControl || showParentControl;
100
111
  return createElement(Fragment, null, createElement(BlockInfo, null, createElement(CreateNewPostLink, {
101
112
  ...props
@@ -186,6 +197,20 @@ export default function QueryInspectorControls(props) {
186
197
  parents: parents,
187
198
  postType: postType,
188
199
  onChange: setQuery
189
- })))));
200
+ })))), createElement(InspectorControls, null, createElement(PanelBody, {
201
+ title: __('User Experience'),
202
+ initialOpen: false
203
+ }, createElement(ToggleControl, {
204
+ label: __('Enhanced pagination'),
205
+ help: __("Don't refresh the page when paginating to another page."),
206
+ checked: !!enhancedPagination,
207
+ onChange: value => setAttributes({
208
+ enhancedPagination: !!value
209
+ })
210
+ }), enhancedPagination && createElement("div", null, createElement(Notice, {
211
+ spokenMessage: null,
212
+ status: "warning",
213
+ isDismissible: false
214
+ }, enhancedPaginationNotice)))));
190
215
  }
191
216
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["PanelBody","TextControl","SelectControl","RangeControl","ToggleControl","Notice","__experimentalToolsPanel","ToolsPanel","__experimentalToolsPanelItem","ToolsPanelItem","__","InspectorControls","privateApis","blockEditorPrivateApis","debounce","useEffect","useState","useCallback","OrderControl","AuthorControl","ParentControl","TaxonomyControls","StickyControl","CreateNewPostLink","unlock","usePostTypes","useIsPostTypeHierarchical","useAllowedControls","isControlAllowed","useTaxonomies","BlockInfo","QueryInspectorControls","props","attributes","setQuery","setDisplayLayout","query","displayLayout","order","orderBy","author","authorIds","postType","sticky","inherit","taxQuery","parents","allowedControls","showSticky","setShowSticky","postTypesTaxonomiesMap","postTypesSelectOptions","taxonomies","isPostTypeHierarchical","onPostTypeChange","newValue","updateQuery","supportedTaxonomies","updatedTaxQuery","Object","entries","reduce","accumulator","taxonomySlug","terms","includes","keys","length","undefined","querySearch","setQuerySearch","search","onChangeDebounced","cancel","showInheritControl","showPostTypeControl","showColumnsControl","showOrderControl","showStickyControl","showSettingsPanel","showTaxControl","showAuthorControl","showSearchControl","showParentControl","showFiltersPanel","createElement","Fragment","title","__nextHasNoMarginBottom","label","help","checked","onChange","value","options","columns","min","max","Math","status","isDismissible","className","resetAll","hasValue","values","some","onDeselect"],"sources":["@wordpress/block-library/src/query/edit/inspector-controls/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tPanelBody,\n\tTextControl,\n\tSelectControl,\n\tRangeControl,\n\tToggleControl,\n\tNotice,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tInspectorControls,\n\tprivateApis as blockEditorPrivateApis,\n} from '@wordpress/block-editor';\nimport { debounce } from '@wordpress/compose';\nimport { useEffect, useState, useCallback } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport OrderControl from './order-control';\nimport AuthorControl from './author-control';\nimport ParentControl from './parent-control';\nimport { TaxonomyControls } from './taxonomy-controls';\nimport StickyControl from './sticky-control';\nimport CreateNewPostLink from './create-new-post-link';\nimport { unlock } from '../../../lock-unlock';\nimport {\n\tusePostTypes,\n\tuseIsPostTypeHierarchical,\n\tuseAllowedControls,\n\tisControlAllowed,\n\tuseTaxonomies,\n} from '../../utils';\n\nconst { BlockInfo } = unlock( blockEditorPrivateApis );\n\nexport default function QueryInspectorControls( props ) {\n\tconst { attributes, setQuery, setDisplayLayout } = props;\n\tconst { query, displayLayout } = attributes;\n\tconst {\n\t\torder,\n\t\torderBy,\n\t\tauthor: authorIds,\n\t\tpostType,\n\t\tsticky,\n\t\tinherit,\n\t\ttaxQuery,\n\t\tparents,\n\t} = query;\n\tconst allowedControls = useAllowedControls( attributes );\n\tconst [ showSticky, setShowSticky ] = useState( postType === 'post' );\n\tconst { postTypesTaxonomiesMap, postTypesSelectOptions } = usePostTypes();\n\tconst taxonomies = useTaxonomies( postType );\n\tconst isPostTypeHierarchical = useIsPostTypeHierarchical( postType );\n\tuseEffect( () => {\n\t\tsetShowSticky( postType === 'post' );\n\t}, [ postType ] );\n\tconst onPostTypeChange = ( newValue ) => {\n\t\tconst updateQuery = { postType: newValue };\n\t\t// We need to dynamically update the `taxQuery` property,\n\t\t// by removing any not supported taxonomy from the query.\n\t\tconst supportedTaxonomies = postTypesTaxonomiesMap[ newValue ];\n\t\tconst updatedTaxQuery = Object.entries( taxQuery || {} ).reduce(\n\t\t\t( accumulator, [ taxonomySlug, terms ] ) => {\n\t\t\t\tif ( supportedTaxonomies.includes( taxonomySlug ) ) {\n\t\t\t\t\taccumulator[ taxonomySlug ] = terms;\n\t\t\t\t}\n\t\t\t\treturn accumulator;\n\t\t\t},\n\t\t\t{}\n\t\t);\n\t\tupdateQuery.taxQuery = !! Object.keys( updatedTaxQuery ).length\n\t\t\t? updatedTaxQuery\n\t\t\t: undefined;\n\n\t\tif ( newValue !== 'post' ) {\n\t\t\tupdateQuery.sticky = '';\n\t\t}\n\t\t// We need to reset `parents` because they are tied to each post type.\n\t\tupdateQuery.parents = [];\n\t\tsetQuery( updateQuery );\n\t};\n\tconst [ querySearch, setQuerySearch ] = useState( query.search );\n\tconst onChangeDebounced = useCallback(\n\t\tdebounce( () => {\n\t\t\tif ( query.search !== querySearch ) {\n\t\t\t\tsetQuery( { search: querySearch } );\n\t\t\t}\n\t\t}, 250 ),\n\t\t[ querySearch, query.search ]\n\t);\n\tuseEffect( () => {\n\t\tonChangeDebounced();\n\t\treturn onChangeDebounced.cancel;\n\t}, [ querySearch, onChangeDebounced ] );\n\tconst showInheritControl = isControlAllowed( allowedControls, 'inherit' );\n\tconst showPostTypeControl =\n\t\t! inherit && isControlAllowed( allowedControls, 'postType' );\n\tconst showColumnsControl = false;\n\tconst showOrderControl =\n\t\t! inherit && isControlAllowed( allowedControls, 'order' );\n\tconst showStickyControl =\n\t\t! inherit &&\n\t\tshowSticky &&\n\t\tisControlAllowed( allowedControls, 'sticky' );\n\tconst showSettingsPanel =\n\t\tshowInheritControl ||\n\t\tshowPostTypeControl ||\n\t\tshowColumnsControl ||\n\t\tshowOrderControl ||\n\t\tshowStickyControl;\n\tconst showTaxControl =\n\t\t!! taxonomies?.length &&\n\t\tisControlAllowed( allowedControls, 'taxQuery' );\n\tconst showAuthorControl = isControlAllowed( allowedControls, 'author' );\n\tconst showSearchControl = isControlAllowed( allowedControls, 'search' );\n\tconst showParentControl =\n\t\tisControlAllowed( allowedControls, 'parents' ) &&\n\t\tisPostTypeHierarchical;\n\n\tconst showFiltersPanel =\n\t\tshowTaxControl ||\n\t\tshowAuthorControl ||\n\t\tshowSearchControl ||\n\t\tshowParentControl;\n\n\treturn (\n\t\t<>\n\t\t\t<BlockInfo>\n\t\t\t\t<CreateNewPostLink { ...props } />\n\t\t\t</BlockInfo>\n\t\t\t{ showSettingsPanel && (\n\t\t\t\t<InspectorControls>\n\t\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t\t{ showInheritControl && (\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={ __( 'Inherit query from template' ) }\n\t\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t\t'Toggle to use the global query context that is set with the current template, such as an archive or search. Disable to customize the settings independently.'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\tchecked={ !! inherit }\n\t\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\t\tsetQuery( { inherit: !! value } )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ showPostTypeControl && (\n\t\t\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\toptions={ postTypesSelectOptions }\n\t\t\t\t\t\t\t\tvalue={ postType }\n\t\t\t\t\t\t\t\tlabel={ __( 'Post type' ) }\n\t\t\t\t\t\t\t\tonChange={ onPostTypeChange }\n\t\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t\t'WordPress contains different types of content and they are divided into collections called “Post types”. By default there are a few different ones such as blog posts and pages, but plugins could add more.'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ showColumnsControl && (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Columns' ) }\n\t\t\t\t\t\t\t\t\tvalue={ displayLayout.columns }\n\t\t\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\t\t\tsetDisplayLayout( {\n\t\t\t\t\t\t\t\t\t\t\tcolumns: value,\n\t\t\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tmin={ 2 }\n\t\t\t\t\t\t\t\t\tmax={ Math.max( 6, displayLayout.columns ) }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t{ displayLayout.columns > 6 && (\n\t\t\t\t\t\t\t\t\t<Notice\n\t\t\t\t\t\t\t\t\t\tstatus=\"warning\"\n\t\t\t\t\t\t\t\t\t\tisDismissible={ false }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t\t\t'This column count exceeds the recommended amount and may cause visual breakage.'\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t</Notice>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ showOrderControl && (\n\t\t\t\t\t\t\t<OrderControl\n\t\t\t\t\t\t\t\t{ ...{ order, orderBy } }\n\t\t\t\t\t\t\t\tonChange={ setQuery }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ showStickyControl && (\n\t\t\t\t\t\t\t<StickyControl\n\t\t\t\t\t\t\t\tvalue={ sticky }\n\t\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\t\tsetQuery( { sticky: value } )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</PanelBody>\n\t\t\t\t</InspectorControls>\n\t\t\t) }\n\t\t\t{ ! inherit && showFiltersPanel && (\n\t\t\t\t<InspectorControls>\n\t\t\t\t\t<ToolsPanel\n\t\t\t\t\t\tclassName=\"block-library-query-toolspanel__filters\"\n\t\t\t\t\t\tlabel={ __( 'Filters' ) }\n\t\t\t\t\t\tresetAll={ () => {\n\t\t\t\t\t\t\tsetQuery( {\n\t\t\t\t\t\t\t\tauthor: '',\n\t\t\t\t\t\t\t\tparents: [],\n\t\t\t\t\t\t\t\tsearch: '',\n\t\t\t\t\t\t\t\ttaxQuery: null,\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\tsetQuerySearch( '' );\n\t\t\t\t\t\t} }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ showTaxControl && (\n\t\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\t\tlabel={ __( 'Taxonomies' ) }\n\t\t\t\t\t\t\t\thasValue={ () =>\n\t\t\t\t\t\t\t\t\tObject.values( taxQuery || {} ).some(\n\t\t\t\t\t\t\t\t\t\t( terms ) => !! terms.length\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\t\t\tsetQuery( { taxQuery: null } )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<TaxonomyControls\n\t\t\t\t\t\t\t\t\tonChange={ setQuery }\n\t\t\t\t\t\t\t\t\tquery={ query }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ showAuthorControl && (\n\t\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\t\thasValue={ () => !! authorIds }\n\t\t\t\t\t\t\t\tlabel={ __( 'Authors' ) }\n\t\t\t\t\t\t\t\tonDeselect={ () => setQuery( { author: '' } ) }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<AuthorControl\n\t\t\t\t\t\t\t\t\tvalue={ authorIds }\n\t\t\t\t\t\t\t\t\tonChange={ setQuery }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ showSearchControl && (\n\t\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\t\thasValue={ () => !! querySearch }\n\t\t\t\t\t\t\t\tlabel={ __( 'Keyword' ) }\n\t\t\t\t\t\t\t\tonDeselect={ () => setQuerySearch( '' ) }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<TextControl\n\t\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Keyword' ) }\n\t\t\t\t\t\t\t\t\tvalue={ querySearch }\n\t\t\t\t\t\t\t\t\tonChange={ setQuerySearch }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ showParentControl && (\n\t\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\t\thasValue={ () => !! parents?.length }\n\t\t\t\t\t\t\t\tlabel={ __( 'Parents' ) }\n\t\t\t\t\t\t\t\tonDeselect={ () => setQuery( { parents: [] } ) }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<ParentControl\n\t\t\t\t\t\t\t\t\tparents={ parents }\n\t\t\t\t\t\t\t\t\tpostType={ postType }\n\t\t\t\t\t\t\t\t\tonChange={ setQuery }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</ToolsPanel>\n\t\t\t\t</InspectorControls>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["PanelBody","TextControl","SelectControl","RangeControl","ToggleControl","Notice","__experimentalToolsPanel","ToolsPanel","__experimentalToolsPanelItem","ToolsPanelItem","__","InspectorControls","privateApis","blockEditorPrivateApis","debounce","useEffect","useState","useCallback","useRef","speak","OrderControl","AuthorControl","ParentControl","TaxonomyControls","StickyControl","CreateNewPostLink","unlock","usePostTypes","useIsPostTypeHierarchical","useAllowedControls","isControlAllowed","useTaxonomies","BlockInfo","QueryInspectorControls","props","attributes","setQuery","setDisplayLayout","setAttributes","query","displayLayout","enhancedPagination","order","orderBy","author","authorIds","postType","sticky","inherit","taxQuery","parents","allowedControls","showSticky","setShowSticky","postTypesTaxonomiesMap","postTypesSelectOptions","taxonomies","isPostTypeHierarchical","onPostTypeChange","newValue","updateQuery","supportedTaxonomies","updatedTaxQuery","Object","entries","reduce","accumulator","taxonomySlug","terms","includes","keys","length","undefined","querySearch","setQuerySearch","search","onChangeDebounced","cancel","showInheritControl","showPostTypeControl","showColumnsControl","showOrderControl","showStickyControl","showSettingsPanel","showTaxControl","showAuthorControl","showSearchControl","showParentControl","enhancedPaginationNotice","isFirstRender","current","showFiltersPanel","createElement","Fragment","title","__nextHasNoMarginBottom","label","help","checked","onChange","value","options","columns","min","max","Math","status","isDismissible","className","resetAll","hasValue","values","some","onDeselect","initialOpen","spokenMessage"],"sources":["@wordpress/block-library/src/query/edit/inspector-controls/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tPanelBody,\n\tTextControl,\n\tSelectControl,\n\tRangeControl,\n\tToggleControl,\n\tNotice,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tInspectorControls,\n\tprivateApis as blockEditorPrivateApis,\n} from '@wordpress/block-editor';\nimport { debounce } from '@wordpress/compose';\nimport { useEffect, useState, useCallback, useRef } from '@wordpress/element';\nimport { speak } from '@wordpress/a11y';\n\n/**\n * Internal dependencies\n */\nimport OrderControl from './order-control';\nimport AuthorControl from './author-control';\nimport ParentControl from './parent-control';\nimport { TaxonomyControls } from './taxonomy-controls';\nimport StickyControl from './sticky-control';\nimport CreateNewPostLink from './create-new-post-link';\nimport { unlock } from '../../../lock-unlock';\nimport {\n\tusePostTypes,\n\tuseIsPostTypeHierarchical,\n\tuseAllowedControls,\n\tisControlAllowed,\n\tuseTaxonomies,\n} from '../../utils';\n\nconst { BlockInfo } = unlock( blockEditorPrivateApis );\n\nexport default function QueryInspectorControls( props ) {\n\tconst { attributes, setQuery, setDisplayLayout, setAttributes } = props;\n\tconst { query, displayLayout, enhancedPagination } = attributes;\n\tconst {\n\t\torder,\n\t\torderBy,\n\t\tauthor: authorIds,\n\t\tpostType,\n\t\tsticky,\n\t\tinherit,\n\t\ttaxQuery,\n\t\tparents,\n\t} = query;\n\tconst allowedControls = useAllowedControls( attributes );\n\tconst [ showSticky, setShowSticky ] = useState( postType === 'post' );\n\tconst { postTypesTaxonomiesMap, postTypesSelectOptions } = usePostTypes();\n\tconst taxonomies = useTaxonomies( postType );\n\tconst isPostTypeHierarchical = useIsPostTypeHierarchical( postType );\n\tuseEffect( () => {\n\t\tsetShowSticky( postType === 'post' );\n\t}, [ postType ] );\n\tconst onPostTypeChange = ( newValue ) => {\n\t\tconst updateQuery = { postType: newValue };\n\t\t// We need to dynamically update the `taxQuery` property,\n\t\t// by removing any not supported taxonomy from the query.\n\t\tconst supportedTaxonomies = postTypesTaxonomiesMap[ newValue ];\n\t\tconst updatedTaxQuery = Object.entries( taxQuery || {} ).reduce(\n\t\t\t( accumulator, [ taxonomySlug, terms ] ) => {\n\t\t\t\tif ( supportedTaxonomies.includes( taxonomySlug ) ) {\n\t\t\t\t\taccumulator[ taxonomySlug ] = terms;\n\t\t\t\t}\n\t\t\t\treturn accumulator;\n\t\t\t},\n\t\t\t{}\n\t\t);\n\t\tupdateQuery.taxQuery = !! Object.keys( updatedTaxQuery ).length\n\t\t\t? updatedTaxQuery\n\t\t\t: undefined;\n\n\t\tif ( newValue !== 'post' ) {\n\t\t\tupdateQuery.sticky = '';\n\t\t}\n\t\t// We need to reset `parents` because they are tied to each post type.\n\t\tupdateQuery.parents = [];\n\t\tsetQuery( updateQuery );\n\t};\n\tconst [ querySearch, setQuerySearch ] = useState( query.search );\n\tconst onChangeDebounced = useCallback(\n\t\tdebounce( () => {\n\t\t\tif ( query.search !== querySearch ) {\n\t\t\t\tsetQuery( { search: querySearch } );\n\t\t\t}\n\t\t}, 250 ),\n\t\t[ querySearch, query.search ]\n\t);\n\tuseEffect( () => {\n\t\tonChangeDebounced();\n\t\treturn onChangeDebounced.cancel;\n\t}, [ querySearch, onChangeDebounced ] );\n\tconst showInheritControl = isControlAllowed( allowedControls, 'inherit' );\n\tconst showPostTypeControl =\n\t\t! inherit && isControlAllowed( allowedControls, 'postType' );\n\tconst showColumnsControl = false;\n\tconst showOrderControl =\n\t\t! inherit && isControlAllowed( allowedControls, 'order' );\n\tconst showStickyControl =\n\t\t! inherit &&\n\t\tshowSticky &&\n\t\tisControlAllowed( allowedControls, 'sticky' );\n\tconst showSettingsPanel =\n\t\tshowInheritControl ||\n\t\tshowPostTypeControl ||\n\t\tshowColumnsControl ||\n\t\tshowOrderControl ||\n\t\tshowStickyControl;\n\tconst showTaxControl =\n\t\t!! taxonomies?.length &&\n\t\tisControlAllowed( allowedControls, 'taxQuery' );\n\tconst showAuthorControl = isControlAllowed( allowedControls, 'author' );\n\tconst showSearchControl = isControlAllowed( allowedControls, 'search' );\n\tconst showParentControl =\n\t\tisControlAllowed( allowedControls, 'parents' ) &&\n\t\tisPostTypeHierarchical;\n\n\tconst enhancedPaginationNotice = __(\n\t\t'Enhanced Pagination might cause interactive blocks within the Post Template to stop working. Disable it if you experience any issues.'\n\t);\n\n\tconst isFirstRender = useRef( true ); // Don't speak on first render.\n\tuseEffect( () => {\n\t\tif ( ! isFirstRender.current && enhancedPagination ) {\n\t\t\tspeak( enhancedPaginationNotice );\n\t\t}\n\t\tisFirstRender.current = false;\n\t}, [ enhancedPagination, enhancedPaginationNotice ] );\n\n\tconst showFiltersPanel =\n\t\tshowTaxControl ||\n\t\tshowAuthorControl ||\n\t\tshowSearchControl ||\n\t\tshowParentControl;\n\n\treturn (\n\t\t<>\n\t\t\t<BlockInfo>\n\t\t\t\t<CreateNewPostLink { ...props } />\n\t\t\t</BlockInfo>\n\t\t\t{ showSettingsPanel && (\n\t\t\t\t<InspectorControls>\n\t\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t\t{ showInheritControl && (\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={ __( 'Inherit query from template' ) }\n\t\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t\t'Toggle to use the global query context that is set with the current template, such as an archive or search. Disable to customize the settings independently.'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\tchecked={ !! inherit }\n\t\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\t\tsetQuery( { inherit: !! value } )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ showPostTypeControl && (\n\t\t\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\toptions={ postTypesSelectOptions }\n\t\t\t\t\t\t\t\tvalue={ postType }\n\t\t\t\t\t\t\t\tlabel={ __( 'Post type' ) }\n\t\t\t\t\t\t\t\tonChange={ onPostTypeChange }\n\t\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t\t'WordPress contains different types of content and they are divided into collections called “Post types”. By default there are a few different ones such as blog posts and pages, but plugins could add more.'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ showColumnsControl && (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Columns' ) }\n\t\t\t\t\t\t\t\t\tvalue={ displayLayout.columns }\n\t\t\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\t\t\tsetDisplayLayout( {\n\t\t\t\t\t\t\t\t\t\t\tcolumns: value,\n\t\t\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tmin={ 2 }\n\t\t\t\t\t\t\t\t\tmax={ Math.max( 6, displayLayout.columns ) }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t{ displayLayout.columns > 6 && (\n\t\t\t\t\t\t\t\t\t<Notice\n\t\t\t\t\t\t\t\t\t\tstatus=\"warning\"\n\t\t\t\t\t\t\t\t\t\tisDismissible={ false }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t\t\t'This column count exceeds the recommended amount and may cause visual breakage.'\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t</Notice>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ showOrderControl && (\n\t\t\t\t\t\t\t<OrderControl\n\t\t\t\t\t\t\t\t{ ...{ order, orderBy } }\n\t\t\t\t\t\t\t\tonChange={ setQuery }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ showStickyControl && (\n\t\t\t\t\t\t\t<StickyControl\n\t\t\t\t\t\t\t\tvalue={ sticky }\n\t\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\t\tsetQuery( { sticky: value } )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</PanelBody>\n\t\t\t\t</InspectorControls>\n\t\t\t) }\n\t\t\t{ ! inherit && showFiltersPanel && (\n\t\t\t\t<InspectorControls>\n\t\t\t\t\t<ToolsPanel\n\t\t\t\t\t\tclassName=\"block-library-query-toolspanel__filters\"\n\t\t\t\t\t\tlabel={ __( 'Filters' ) }\n\t\t\t\t\t\tresetAll={ () => {\n\t\t\t\t\t\t\tsetQuery( {\n\t\t\t\t\t\t\t\tauthor: '',\n\t\t\t\t\t\t\t\tparents: [],\n\t\t\t\t\t\t\t\tsearch: '',\n\t\t\t\t\t\t\t\ttaxQuery: null,\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\tsetQuerySearch( '' );\n\t\t\t\t\t\t} }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ showTaxControl && (\n\t\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\t\tlabel={ __( 'Taxonomies' ) }\n\t\t\t\t\t\t\t\thasValue={ () =>\n\t\t\t\t\t\t\t\t\tObject.values( taxQuery || {} ).some(\n\t\t\t\t\t\t\t\t\t\t( terms ) => !! terms.length\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\t\t\tsetQuery( { taxQuery: null } )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<TaxonomyControls\n\t\t\t\t\t\t\t\t\tonChange={ setQuery }\n\t\t\t\t\t\t\t\t\tquery={ query }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ showAuthorControl && (\n\t\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\t\thasValue={ () => !! authorIds }\n\t\t\t\t\t\t\t\tlabel={ __( 'Authors' ) }\n\t\t\t\t\t\t\t\tonDeselect={ () => setQuery( { author: '' } ) }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<AuthorControl\n\t\t\t\t\t\t\t\t\tvalue={ authorIds }\n\t\t\t\t\t\t\t\t\tonChange={ setQuery }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ showSearchControl && (\n\t\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\t\thasValue={ () => !! querySearch }\n\t\t\t\t\t\t\t\tlabel={ __( 'Keyword' ) }\n\t\t\t\t\t\t\t\tonDeselect={ () => setQuerySearch( '' ) }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<TextControl\n\t\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Keyword' ) }\n\t\t\t\t\t\t\t\t\tvalue={ querySearch }\n\t\t\t\t\t\t\t\t\tonChange={ setQuerySearch }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ showParentControl && (\n\t\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\t\thasValue={ () => !! parents?.length }\n\t\t\t\t\t\t\t\tlabel={ __( 'Parents' ) }\n\t\t\t\t\t\t\t\tonDeselect={ () => setQuery( { parents: [] } ) }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<ParentControl\n\t\t\t\t\t\t\t\t\tparents={ parents }\n\t\t\t\t\t\t\t\t\tpostType={ postType }\n\t\t\t\t\t\t\t\t\tonChange={ setQuery }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</ToolsPanel>\n\t\t\t\t</InspectorControls>\n\t\t\t) }\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody\n\t\t\t\t\ttitle={ __( 'User Experience' ) }\n\t\t\t\t\tinitialOpen={ false }\n\t\t\t\t>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={ __( 'Enhanced pagination' ) }\n\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\"Don't refresh the page when paginating to another page.\"\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tchecked={ !! enhancedPagination }\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tenhancedPagination: !! value,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t\t{ enhancedPagination && (\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t<Notice\n\t\t\t\t\t\t\t\tspokenMessage={ null }\n\t\t\t\t\t\t\t\tstatus=\"warning\"\n\t\t\t\t\t\t\t\tisDismissible={ false }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ enhancedPaginationNotice }\n\t\t\t\t\t\t\t</Notice>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) }\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t</>\n\t);\n}\n"],"mappings":"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"}
@@ -109,7 +109,8 @@ export default function QueryContent({
109
109
  return createElement(Fragment, null, createElement(QueryInspectorControls, {
110
110
  attributes: attributes,
111
111
  setQuery: updateQuery,
112
- setDisplayLayout: updateDisplayLayout
112
+ setDisplayLayout: updateDisplayLayout,
113
+ setAttributes: setAttributes
113
114
  }), createElement(BlockControls, null, createElement(QueryToolbar, {
114
115
  name: name,
115
116
  clientId: clientId,
@@ -1 +1 @@
1
- {"version":3,"names":["useSelect","useDispatch","useInstanceId","useEffect","BlockControls","InspectorControls","useBlockProps","store","blockEditorStore","useInnerBlocksProps","SelectControl","__","coreStore","QueryToolbar","QueryInspectorControls","DEFAULTS_POSTS_PER_PAGE","TEMPLATE","QueryContent","attributes","setAttributes","openPatternSelectionModal","name","clientId","queryId","query","displayLayout","tagName","TagName","inherit","__unstableMarkNextChangeAsNotPersistent","instanceId","blockProps","innerBlocksProps","template","postsPerPage","select","getSettings","getEntityRecord","canUser","settingPerPage","posts_per_page","newQuery","perPage","Object","keys","length","updateQuery","Number","isFinite","updateDisplayLayout","newDisplayLayout","htmlElementMessages","main","section","aside","createElement","Fragment","setQuery","setDisplayLayout","group","__nextHasNoMarginBottom","label","options","value","onChange","help"],"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 } 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 QueryToolbar from './query-toolbar';\nimport QueryInspectorControls from './inspector-controls';\n\nconst DEFAULTS_POSTS_PER_PAGE = 3;\n\nconst TEMPLATE = [ [ 'core/post-template' ] ];\nexport default function QueryContent( {\n\tattributes,\n\tsetAttributes,\n\topenPatternSelectionModal,\n\tname,\n\tclientId,\n} ) {\n\tconst {\n\t\tqueryId,\n\t\tquery,\n\t\tdisplayLayout,\n\t\ttagName: TagName = 'div',\n\t\tquery: { inherit } = {},\n\t} = attributes;\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, canUser } = select( coreStore );\n\t\tconst settingPerPage = canUser( 'read', 'settings' )\n\t\t\t? +getEntityRecord( 'root', 'site' )?.posts_per_page\n\t\t\t: +getSettings().postsPerPage;\n\t\treturn {\n\t\t\tpostsPerPage: settingPerPage || DEFAULTS_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\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\tif ( !! Object.keys( newQuery ).length ) {\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tupdateQuery( newQuery );\n\t\t}\n\t}, [ query.perPage, postsPerPage, inherit ] );\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}, [ queryId, instanceId ] );\n\tconst updateQuery = ( newQuery ) =>\n\t\tsetAttributes( { query: { ...query, ...newQuery } } );\n\tconst updateDisplayLayout = ( newDisplayLayout ) =>\n\t\tsetAttributes( {\n\t\t\tdisplayLayout: { ...displayLayout, ...newDisplayLayout },\n\t\t} );\n\tconst htmlElementMessages = {\n\t\tmain: __(\n\t\t\t'The <main> element should be used for the primary content of your document only. '\n\t\t),\n\t\tsection: __(\n\t\t\t\"The <section> element should represent a standalone portion of the document that can't be better represented by another element.\"\n\t\t),\n\t\taside: __(\n\t\t\t\"The <aside> element should represent a portion of a document whose content is only indirectly related to the document's main content.\"\n\t\t),\n\t};\n\treturn (\n\t\t<>\n\t\t\t<QueryInspectorControls\n\t\t\t\tattributes={ attributes }\n\t\t\t\tsetQuery={ updateQuery }\n\t\t\t\tsetDisplayLayout={ updateDisplayLayout }\n\t\t\t/>\n\t\t\t<BlockControls>\n\t\t\t\t<QueryToolbar\n\t\t\t\t\tname={ name }\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\tsetQuery={ updateQuery }\n\t\t\t\t\topenPatternSelectionModal={ openPatternSelectionModal }\n\t\t\t\t/>\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\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</InspectorControls>\n\t\t\t<TagName { ...innerBlocksProps } />\n\t\t</>\n\t);\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["useSelect","useDispatch","useInstanceId","useEffect","BlockControls","InspectorControls","useBlockProps","store","blockEditorStore","useInnerBlocksProps","SelectControl","__","coreStore","QueryToolbar","QueryInspectorControls","DEFAULTS_POSTS_PER_PAGE","TEMPLATE","QueryContent","attributes","setAttributes","openPatternSelectionModal","name","clientId","queryId","query","displayLayout","tagName","TagName","inherit","__unstableMarkNextChangeAsNotPersistent","instanceId","blockProps","innerBlocksProps","template","postsPerPage","select","getSettings","getEntityRecord","canUser","settingPerPage","posts_per_page","newQuery","perPage","Object","keys","length","updateQuery","Number","isFinite","updateDisplayLayout","newDisplayLayout","htmlElementMessages","main","section","aside","createElement","Fragment","setQuery","setDisplayLayout","group","__nextHasNoMarginBottom","label","options","value","onChange","help"],"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 } 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 QueryToolbar from './query-toolbar';\nimport QueryInspectorControls from './inspector-controls';\n\nconst DEFAULTS_POSTS_PER_PAGE = 3;\n\nconst TEMPLATE = [ [ 'core/post-template' ] ];\nexport default function QueryContent( {\n\tattributes,\n\tsetAttributes,\n\topenPatternSelectionModal,\n\tname,\n\tclientId,\n} ) {\n\tconst {\n\t\tqueryId,\n\t\tquery,\n\t\tdisplayLayout,\n\t\ttagName: TagName = 'div',\n\t\tquery: { inherit } = {},\n\t} = attributes;\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, canUser } = select( coreStore );\n\t\tconst settingPerPage = canUser( 'read', 'settings' )\n\t\t\t? +getEntityRecord( 'root', 'site' )?.posts_per_page\n\t\t\t: +getSettings().postsPerPage;\n\t\treturn {\n\t\t\tpostsPerPage: settingPerPage || DEFAULTS_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\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\tif ( !! Object.keys( newQuery ).length ) {\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tupdateQuery( newQuery );\n\t\t}\n\t}, [ query.perPage, postsPerPage, inherit ] );\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}, [ queryId, instanceId ] );\n\tconst updateQuery = ( newQuery ) =>\n\t\tsetAttributes( { query: { ...query, ...newQuery } } );\n\tconst updateDisplayLayout = ( newDisplayLayout ) =>\n\t\tsetAttributes( {\n\t\t\tdisplayLayout: { ...displayLayout, ...newDisplayLayout },\n\t\t} );\n\tconst htmlElementMessages = {\n\t\tmain: __(\n\t\t\t'The <main> element should be used for the primary content of your document only. '\n\t\t),\n\t\tsection: __(\n\t\t\t\"The <section> element should represent a standalone portion of the document that can't be better represented by another element.\"\n\t\t),\n\t\taside: __(\n\t\t\t\"The <aside> element should represent a portion of a document whose content is only indirectly related to the document's main content.\"\n\t\t),\n\t};\n\treturn (\n\t\t<>\n\t\t\t<QueryInspectorControls\n\t\t\t\tattributes={ attributes }\n\t\t\t\tsetQuery={ updateQuery }\n\t\t\t\tsetDisplayLayout={ updateDisplayLayout }\n\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t/>\n\t\t\t<BlockControls>\n\t\t\t\t<QueryToolbar\n\t\t\t\t\tname={ name }\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\tsetQuery={ updateQuery }\n\t\t\t\t\topenPatternSelectionModal={ openPatternSelectionModal }\n\t\t\t\t/>\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\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</InspectorControls>\n\t\t\t<TagName { ...innerBlocksProps } />\n\t\t</>\n\t);\n}\n"],"mappings":"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"}
@@ -43,19 +43,26 @@ const metadata = {
43
43
  },
44
44
  namespace: {
45
45
  type: "string"
46
+ },
47
+ enhancedPagination: {
48
+ type: "boolean",
49
+ "default": false
46
50
  }
47
51
  },
48
52
  providesContext: {
49
53
  queryId: "queryId",
50
54
  query: "query",
51
- displayLayout: "displayLayout"
55
+ displayLayout: "displayLayout",
56
+ enhancedPagination: "enhancedPagination"
52
57
  },
53
58
  supports: {
54
59
  align: ["wide", "full"],
55
60
  html: false,
56
61
  layout: true
57
62
  },
58
- editorStyle: "wp-block-query-editor"
63
+ editorStyle: "wp-block-query-editor",
64
+ style: "wp-block-query",
65
+ viewScript: "file:./view.min.js"
59
66
  };
60
67
  import edit from './edit';
61
68
  import save from './save';
@@ -1 +1 @@
1
- {"version":3,"names":["loop","icon","initBlock","metadata","$schema","apiVersion","name","title","category","description","textdomain","attributes","queryId","type","query","perPage","pages","offset","postType","order","orderBy","author","search","exclude","sticky","inherit","taxQuery","parents","tagName","namespace","providesContext","displayLayout","supports","align","html","layout","editorStyle","edit","save","variations","deprecated","settings","init"],"sources":["@wordpress/block-library/src/query/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { loop as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport metadata from './block.json';\nimport edit from './edit';\nimport save from './save';\nimport variations from './variations';\nimport deprecated from './deprecated';\n\nconst { name } = metadata;\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\tedit,\n\tsave,\n\tvariations,\n\tdeprecated,\n};\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,IAAI,IAAIC,IAAI,QAAQ,kBAAkB;;AAE/C;AACA;AACA;AACA,OAAOC,SAAS,MAAM,qBAAqB;AAAC,MAAAC,QAAA;EAAAC,OAAA;EAAAC,UAAA;EAAAC,IAAA;EAAAC,KAAA;EAAAC,QAAA;EAAAC,WAAA;EAAAC,UAAA;EAAAC,UAAA;IAAAC,OAAA;MAAAC,IAAA;IAAA;IAAAC,KAAA;MAAAD,IAAA;MAAA;QAAAE,OAAA;QAAAC,KAAA;QAAAC,MAAA;QAAAC,QAAA;QAAAC,KAAA;QAAAC,OAAA;QAAAC,MAAA;QAAAC,MAAA;QAAAC,OAAA;QAAAC,MAAA;QAAAC,OAAA;QAAAC,QAAA;QAAAC,OAAA;MAAA;IAAA;IAAAC,OAAA;MAAAf,IAAA;MAAA;IAAA;IAAAgB,SAAA;MAAAhB,IAAA;IAAA;EAAA;EAAAiB,eAAA;IAAAlB,OAAA;IAAAE,KAAA;IAAAiB,aAAA;EAAA;EAAAC,QAAA;IAAAC,KAAA;IAAAC,IAAA;IAAAC,MAAA;EAAA;EAAAC,WAAA;AAAA;AAE5C,OAAOC,IAAI,MAAM,QAAQ;AACzB,OAAOC,IAAI,MAAM,QAAQ;AACzB,OAAOC,UAAU,MAAM,cAAc;AACrC,OAAOC,UAAU,MAAM,cAAc;AAErC,MAAM;EAAElC;AAAK,CAAC,GAAGH,QAAQ;AACzB,SAASA,QAAQ,EAAEG,IAAI;AAEvB,OAAO,MAAMmC,QAAQ,GAAG;EACvBxC,IAAI;EACJoC,IAAI;EACJC,IAAI;EACJC,UAAU;EACVC;AACD,CAAC;AAED,OAAO,MAAME,IAAI,GAAGA,CAAA,KAAMxC,SAAS,CAAE;EAAEI,IAAI;EAAEH,QAAQ;EAAEsC;AAAS,CAAE,CAAC"}
1
+ {"version":3,"names":["loop","icon","initBlock","metadata","$schema","apiVersion","name","title","category","description","textdomain","attributes","queryId","type","query","perPage","pages","offset","postType","order","orderBy","author","search","exclude","sticky","inherit","taxQuery","parents","tagName","namespace","enhancedPagination","providesContext","displayLayout","supports","align","html","layout","editorStyle","style","viewScript","edit","save","variations","deprecated","settings","init"],"sources":["@wordpress/block-library/src/query/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { loop as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport metadata from './block.json';\nimport edit from './edit';\nimport save from './save';\nimport variations from './variations';\nimport deprecated from './deprecated';\n\nconst { name } = metadata;\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\tedit,\n\tsave,\n\tvariations,\n\tdeprecated,\n};\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,IAAI,IAAIC,IAAI,QAAQ,kBAAkB;;AAE/C;AACA;AACA;AACA,OAAOC,SAAS,MAAM,qBAAqB;AAAC,MAAAC,QAAA;EAAAC,OAAA;EAAAC,UAAA;EAAAC,IAAA;EAAAC,KAAA;EAAAC,QAAA;EAAAC,WAAA;EAAAC,UAAA;EAAAC,UAAA;IAAAC,OAAA;MAAAC,IAAA;IAAA;IAAAC,KAAA;MAAAD,IAAA;MAAA;QAAAE,OAAA;QAAAC,KAAA;QAAAC,MAAA;QAAAC,QAAA;QAAAC,KAAA;QAAAC,OAAA;QAAAC,MAAA;QAAAC,MAAA;QAAAC,OAAA;QAAAC,MAAA;QAAAC,OAAA;QAAAC,QAAA;QAAAC,OAAA;MAAA;IAAA;IAAAC,OAAA;MAAAf,IAAA;MAAA;IAAA;IAAAgB,SAAA;MAAAhB,IAAA;IAAA;IAAAiB,kBAAA;MAAAjB,IAAA;MAAA;IAAA;EAAA;EAAAkB,eAAA;IAAAnB,OAAA;IAAAE,KAAA;IAAAkB,aAAA;IAAAF,kBAAA;EAAA;EAAAG,QAAA;IAAAC,KAAA;IAAAC,IAAA;IAAAC,MAAA;EAAA;EAAAC,WAAA;EAAAC,KAAA;EAAAC,UAAA;AAAA;AAE5C,OAAOC,IAAI,MAAM,QAAQ;AACzB,OAAOC,IAAI,MAAM,QAAQ;AACzB,OAAOC,UAAU,MAAM,cAAc;AACrC,OAAOC,UAAU,MAAM,cAAc;AAErC,MAAM;EAAErC;AAAK,CAAC,GAAGH,QAAQ;AACzB,SAASA,QAAQ,EAAEG,IAAI;AAEvB,OAAO,MAAMsC,QAAQ,GAAG;EACvB3C,IAAI;EACJuC,IAAI;EACJC,IAAI;EACJC,UAAU;EACVC;AACD,CAAC;AAED,OAAO,MAAME,IAAI,GAAGA,CAAA,KAAM3C,SAAS,CAAE;EAAEI,IAAI;EAAEH,QAAQ;EAAEyC;AAAS,CAAE,CAAC"}