@wordpress/block-library 10.4.0 → 10.5.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 (239) hide show
  1. package/CHANGELOG.md +36 -0
  2. package/build/accordion/view.cjs +2 -5
  3. package/build/accordion/view.cjs.map +2 -2
  4. package/build/accordion-heading/block.json +1 -0
  5. package/build/audio/edit.cjs.map +2 -2
  6. package/build/avatar/edit.cjs.map +2 -2
  7. package/build/block/block.json +2 -1
  8. package/build/column/edit.cjs +1 -1
  9. package/build/column/edit.cjs.map +2 -2
  10. package/build/columns/edit.cjs.map +2 -2
  11. package/build/columns/transforms.cjs +161 -2
  12. package/build/columns/transforms.cjs.map +2 -2
  13. package/build/cover/edit/block-controls.cjs +1 -1
  14. package/build/cover/edit/block-controls.cjs.map +2 -2
  15. package/build/cover/edit/index.cjs +1 -1
  16. package/build/cover/edit/index.cjs.map +2 -2
  17. package/build/cover/edit/inspector-controls.cjs.map +3 -3
  18. package/build/embed/embed-placeholder.cjs.map +2 -2
  19. package/build/gallery/transforms.cjs +8 -0
  20. package/build/gallery/transforms.cjs.map +2 -2
  21. package/build/group/block.json +1 -1
  22. package/build/heading/transforms.cjs +36 -0
  23. package/build/heading/transforms.cjs.map +2 -2
  24. package/build/heading/variations.cjs +13 -1
  25. package/build/heading/variations.cjs.map +2 -2
  26. package/build/home-link/edit.cjs.map +3 -3
  27. package/build/icon/edit.cjs +7 -1
  28. package/build/icon/edit.cjs.map +2 -2
  29. package/build/image/image.cjs +1 -1
  30. package/build/image/image.cjs.map +3 -3
  31. package/build/list/block.json +1 -0
  32. package/build/math/edit.cjs +4 -5
  33. package/build/math/edit.cjs.map +3 -3
  34. package/build/media-text/edit.cjs.map +3 -3
  35. package/build/more/block.json +1 -1
  36. package/build/navigation-link/shared/controls.cjs.map +3 -3
  37. package/build/playlist/block.json +0 -1
  38. package/build/playlist/edit.cjs +46 -22
  39. package/build/playlist/edit.cjs.map +2 -2
  40. package/build/playlist-track/block.json +16 -8
  41. package/build/playlist-track/edit.cjs +74 -67
  42. package/build/playlist-track/edit.cjs.map +3 -3
  43. package/build/post-template/edit.cjs +5 -1
  44. package/build/post-template/edit.cjs.map +2 -2
  45. package/build/post-title/edit.cjs +3 -8
  46. package/build/post-title/edit.cjs.map +2 -2
  47. package/build/private-apis.cjs +0 -12
  48. package/build/private-apis.cjs.map +3 -3
  49. package/build/query/block.json +3 -0
  50. package/build/query-no-results/block.json +16 -1
  51. package/build/rss/edit.cjs.map +2 -2
  52. package/build/site-logo/edit.cjs +1 -1
  53. package/build/site-logo/edit.cjs.map +2 -2
  54. package/build/site-title/edit.cjs +2 -6
  55. package/build/site-title/edit.cjs.map +2 -2
  56. package/build/table-of-contents/block.json +2 -1
  57. package/build/table-of-contents/deprecated.cjs +165 -0
  58. package/build/table-of-contents/deprecated.cjs.map +7 -0
  59. package/build/table-of-contents/index.cjs +2 -2
  60. package/build/table-of-contents/index.cjs.map +3 -3
  61. package/build/tabs/view.cjs +32 -2
  62. package/build/tabs/view.cjs.map +2 -2
  63. package/build/term-template/edit.cjs +5 -1
  64. package/build/term-template/edit.cjs.map +2 -2
  65. package/build-module/accordion/view.mjs +2 -5
  66. package/build-module/accordion/view.mjs.map +2 -2
  67. package/build-module/accordion-heading/block.json +1 -0
  68. package/build-module/audio/edit.mjs.map +2 -2
  69. package/build-module/avatar/edit.mjs.map +2 -2
  70. package/build-module/block/block.json +2 -1
  71. package/build-module/column/edit.mjs +1 -1
  72. package/build-module/column/edit.mjs.map +2 -2
  73. package/build-module/columns/edit.mjs.map +2 -2
  74. package/build-module/columns/transforms.mjs +164 -3
  75. package/build-module/columns/transforms.mjs.map +2 -2
  76. package/build-module/cover/edit/block-controls.mjs +1 -1
  77. package/build-module/cover/edit/block-controls.mjs.map +2 -2
  78. package/build-module/cover/edit/index.mjs +1 -1
  79. package/build-module/cover/edit/index.mjs.map +2 -2
  80. package/build-module/cover/edit/inspector-controls.mjs +2 -2
  81. package/build-module/cover/edit/inspector-controls.mjs.map +2 -2
  82. package/build-module/embed/embed-placeholder.mjs +2 -2
  83. package/build-module/embed/embed-placeholder.mjs.map +1 -1
  84. package/build-module/gallery/transforms.mjs +8 -0
  85. package/build-module/gallery/transforms.mjs.map +2 -2
  86. package/build-module/group/block.json +1 -1
  87. package/build-module/heading/transforms.mjs +36 -0
  88. package/build-module/heading/transforms.mjs.map +2 -2
  89. package/build-module/heading/variations.mjs +13 -1
  90. package/build-module/heading/variations.mjs.map +2 -2
  91. package/build-module/home-link/edit.mjs +2 -2
  92. package/build-module/home-link/edit.mjs.map +2 -2
  93. package/build-module/icon/edit.mjs +7 -1
  94. package/build-module/icon/edit.mjs.map +2 -2
  95. package/build-module/image/image.mjs +4 -4
  96. package/build-module/image/image.mjs.map +2 -2
  97. package/build-module/list/block.json +1 -0
  98. package/build-module/math/edit.mjs +4 -8
  99. package/build-module/math/edit.mjs.map +2 -2
  100. package/build-module/media-text/edit.mjs +2 -2
  101. package/build-module/media-text/edit.mjs.map +2 -2
  102. package/build-module/more/block.json +1 -1
  103. package/build-module/navigation-link/shared/controls.mjs +2 -2
  104. package/build-module/navigation-link/shared/controls.mjs.map +2 -2
  105. package/build-module/playlist/block.json +0 -1
  106. package/build-module/playlist/edit.mjs +46 -22
  107. package/build-module/playlist/edit.mjs.map +2 -2
  108. package/build-module/playlist-track/block.json +16 -8
  109. package/build-module/playlist-track/edit.mjs +76 -69
  110. package/build-module/playlist-track/edit.mjs.map +2 -2
  111. package/build-module/post-template/edit.mjs +5 -1
  112. package/build-module/post-template/edit.mjs.map +2 -2
  113. package/build-module/post-title/edit.mjs +3 -8
  114. package/build-module/post-title/edit.mjs.map +2 -2
  115. package/build-module/private-apis.mjs +0 -2
  116. package/build-module/private-apis.mjs.map +2 -2
  117. package/build-module/query/block.json +3 -0
  118. package/build-module/query-no-results/block.json +16 -1
  119. package/build-module/rss/edit.mjs +2 -2
  120. package/build-module/rss/edit.mjs.map +1 -1
  121. package/build-module/site-logo/edit.mjs +1 -1
  122. package/build-module/site-logo/edit.mjs.map +2 -2
  123. package/build-module/site-title/edit.mjs +2 -6
  124. package/build-module/site-title/edit.mjs.map +2 -2
  125. package/build-module/table-of-contents/block.json +2 -1
  126. package/build-module/table-of-contents/deprecated.mjs +144 -0
  127. package/build-module/table-of-contents/deprecated.mjs.map +7 -0
  128. package/build-module/table-of-contents/index.mjs +2 -2
  129. package/build-module/table-of-contents/index.mjs.map +2 -2
  130. package/build-module/tabs/view.mjs +32 -2
  131. package/build-module/tabs/view.mjs.map +2 -2
  132. package/build-module/term-template/edit.mjs +5 -1
  133. package/build-module/term-template/edit.mjs.map +2 -2
  134. package/build-style/categories/style-rtl.css +2 -1
  135. package/build-style/categories/style.css +2 -1
  136. package/build-style/comments/editor-rtl.css +8 -10
  137. package/build-style/comments/editor.css +8 -10
  138. package/build-style/comments/style-rtl.css +8 -7
  139. package/build-style/comments/style.css +8 -7
  140. package/build-style/editor-rtl.css +8 -10
  141. package/build-style/editor.css +8 -10
  142. package/build-style/form-input/style-rtl.css +7 -7
  143. package/build-style/form-input/style.css +7 -7
  144. package/build-style/post-comments-form/style-rtl.css +7 -6
  145. package/build-style/post-comments-form/style.css +7 -6
  146. package/build-style/query-no-results/style-rtl.css +3 -0
  147. package/build-style/query-no-results/style.css +3 -0
  148. package/build-style/search/style-rtl.css +1 -1
  149. package/build-style/search/style.css +1 -1
  150. package/build-style/search/theme-rtl.css +1 -1
  151. package/build-style/search/theme.css +1 -1
  152. package/build-style/style-rtl.css +34 -23
  153. package/build-style/style.css +34 -23
  154. package/build-style/tab-panel/style-rtl.css +5 -1
  155. package/build-style/tab-panel/style.css +5 -1
  156. package/build-style/theme-rtl.css +1 -1
  157. package/build-style/theme.css +1 -1
  158. package/package.json +43 -43
  159. package/src/accordion/view.js +2 -5
  160. package/src/accordion-heading/README.md +1 -0
  161. package/src/accordion-heading/block.json +1 -0
  162. package/src/audio/edit.js +13 -0
  163. package/src/avatar/edit.js +78 -0
  164. package/src/block/README.md +1 -0
  165. package/src/block/block.json +2 -1
  166. package/src/categories/style.scss +4 -4
  167. package/src/column/edit.js +15 -1
  168. package/src/columns/edit.js +18 -0
  169. package/src/columns/test/transforms.js +517 -1
  170. package/src/columns/transforms.js +207 -2
  171. package/src/comments/style.scss +7 -10
  172. package/src/cover/edit/block-controls.js +1 -1
  173. package/src/cover/edit/index.js +1 -1
  174. package/src/cover/edit/inspector-controls.js +2 -2
  175. package/src/embed/embed-placeholder.js +2 -2
  176. package/src/form-input/style.scss +2 -2
  177. package/src/gallery/test/edit.js +57 -0
  178. package/src/gallery/test/transforms.js +57 -0
  179. package/src/gallery/transforms.js +8 -0
  180. package/src/group/README.md +1 -1
  181. package/src/group/block.json +1 -1
  182. package/src/heading/transforms.js +36 -0
  183. package/src/heading/variations.js +12 -0
  184. package/src/home-link/edit.js +2 -2
  185. package/src/icon/edit.js +9 -1
  186. package/src/image/image.js +4 -4
  187. package/src/list/README.md +1 -0
  188. package/src/list/block.json +1 -0
  189. package/src/math/edit.js +4 -9
  190. package/src/media-text/edit.js +2 -2
  191. package/src/more/README.md +1 -1
  192. package/src/more/block.json +1 -1
  193. package/src/navigation/index.php +8 -2
  194. package/src/navigation-link/shared/controls.js +2 -2
  195. package/src/playlist/block.json +0 -1
  196. package/src/playlist/edit.js +54 -21
  197. package/src/playlist/test/edit-component.js +78 -27
  198. package/src/playlist-track/README.md +8 -8
  199. package/src/playlist-track/block.json +16 -8
  200. package/src/playlist-track/edit.js +56 -27
  201. package/src/playlist-track/test/edit.js +145 -41
  202. package/src/post-comments-form/style.scss +7 -9
  203. package/src/post-template/edit.js +10 -1
  204. package/src/post-title/edit.js +2 -9
  205. package/src/private-apis.js +0 -2
  206. package/src/query/README.md +2 -0
  207. package/src/query/block.json +3 -0
  208. package/src/query-no-results/README.md +3 -0
  209. package/src/query-no-results/block.json +16 -1
  210. package/src/query-no-results/style.scss +5 -0
  211. package/src/rss/edit.js +2 -2
  212. package/src/search/style.scss +1 -1
  213. package/src/search/theme.scss +2 -4
  214. package/src/site-logo/edit.js +1 -1
  215. package/src/site-title/edit.js +1 -10
  216. package/src/social-link/index.php +6 -13
  217. package/src/style.scss +1 -0
  218. package/src/tab-panel/index.php +14 -5
  219. package/src/tab-panel/style.scss +7 -1
  220. package/src/table-of-contents/README.md +6 -6
  221. package/src/table-of-contents/block.json +2 -1
  222. package/src/table-of-contents/deprecated.js +173 -0
  223. package/src/table-of-contents/index.js +2 -2
  224. package/src/table-of-contents/index.php +16 -3
  225. package/src/tabs/index.php +5 -5
  226. package/src/tabs/view.js +32 -2
  227. package/src/term-description/index.php +1 -1
  228. package/src/term-template/edit.js +10 -1
  229. package/src/utils/test/waveform-player-dependency.js +0 -74
  230. package/build/block-keyboard-shortcuts/index.cjs +0 -131
  231. package/build/block-keyboard-shortcuts/index.cjs.map +0 -7
  232. package/build/table-of-contents/save.cjs +0 -55
  233. package/build/table-of-contents/save.cjs.map +0 -7
  234. package/build-module/block-keyboard-shortcuts/index.mjs +0 -113
  235. package/build-module/block-keyboard-shortcuts/index.mjs.map +0 -7
  236. package/build-module/table-of-contents/save.mjs +0 -24
  237. package/build-module/table-of-contents/save.mjs.map +0 -7
  238. package/src/block-keyboard-shortcuts/index.js +0 -135
  239. package/src/table-of-contents/save.js +0 -22
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/playlist-track/edit.js"],
4
- "sourcesContent": ["import { isBlobURL } from '@wordpress/blob';\nimport { useContext, useEffect, useRef, useState } from '@wordpress/element';\nimport {\n\tMediaPlaceholder,\n\tMediaReplaceFlow,\n\tMediaUpload,\n\tMediaUploadCheck,\n\tBlockIcon,\n\tuseBlockProps,\n\tBlockControls,\n\tInspectorControls,\n\tPlainText,\n} from '@wordpress/block-editor';\nimport {\n\tButton,\n\tPanelBody,\n\tTextControl,\n\tTextareaControl,\n\tBaseControl,\n\tSpinner,\n} from '@wordpress/components';\nimport { Link } from '@wordpress/ui';\nimport { useDispatch } from '@wordpress/data';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { __ } from '@wordpress/i18n';\nimport { audio as icon } from '@wordpress/icons';\nimport { __unstableStripHTML as stripHTML } from '@wordpress/dom';\nimport { PlaylistContext } from '../playlist/context';\nimport { getTrackAttributes, getTrackImageAttributes } from '../playlist/utils';\nimport { useUploadMediaFromBlobURL } from '../utils/hooks';\n\nconst ALLOWED_MEDIA_TYPES = [ 'audio' ];\nconst TRACK_IMAGE_ALLOWED_MEDIA_TYPES = [ 'image' ];\n\nconst PlaylistTrackEdit = ( {\n\tattributes,\n\tsetAttributes,\n\tcontext,\n\tclientId,\n\tisSelected,\n} ) => {\n\tconst { id, src, album, artist, image, imageAlt, length, title } =\n\t\tattributes;\n\tconst [ temporaryURL, setTemporaryURL ] = useState( attributes.blob );\n\tconst showArtists = context?.showArtists;\n\tconst showImages = context?.showImages ?? true;\n\tconst imageButton = useRef();\n\tconst blockProps = useBlockProps();\n\tconst { currentTrackClientId, setCurrentTrackClientId } =\n\t\tuseContext( PlaylistContext );\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\tfunction onUploadError( message ) {\n\t\tcreateErrorNotice( message, { type: 'snackbar' } );\n\t}\n\tconst hasTrackSource = !! src || !! temporaryURL;\n\n\tuseEffect( () => {\n\t\tif (\n\t\t\tisSelected &&\n\t\t\thasTrackSource &&\n\t\t\tcurrentTrackClientId !== clientId\n\t\t) {\n\t\t\tsetCurrentTrackClientId( clientId );\n\t\t}\n\t}, [\n\t\tisSelected,\n\t\thasTrackSource,\n\t\tclientId,\n\t\tcurrentTrackClientId,\n\t\tsetCurrentTrackClientId,\n\t] );\n\n\tuseUploadMediaFromBlobURL( {\n\t\turl: temporaryURL,\n\t\tallowedTypes: ALLOWED_MEDIA_TYPES,\n\t\tonChange: onSelectTrack,\n\t\tonError: onUploadError,\n\t} );\n\n\tfunction onSelectTrack( media ) {\n\t\tconst mediaUrl = media?.url ?? media?.source_url;\n\n\t\tif ( ! media || ! mediaUrl ) {\n\t\t\t// In this case there was an error and we should continue in the editing state\n\t\t\t// previous attributes should be removed because they may be temporary blob urls.\n\t\t\tsetAttributes( {\n\t\t\t\tblob: undefined,\n\t\t\t\tid: undefined,\n\t\t\t\tartist: undefined,\n\t\t\t\talbum: undefined,\n\t\t\t\timage: undefined,\n\t\t\t\timageAlt: undefined,\n\t\t\t\tlength: undefined,\n\t\t\t\ttitle: undefined,\n\t\t\t\turl: undefined,\n\t\t\t} );\n\t\t\tsetTemporaryURL();\n\t\t\treturn;\n\t\t}\n\n\t\tif ( isBlobURL( mediaUrl ) ) {\n\t\t\tsetTemporaryURL( mediaUrl );\n\t\t\treturn;\n\t\t}\n\n\t\tsetAttributes( {\n\t\t\tblob: undefined,\n\t\t\t...getTrackAttributes( media ),\n\t\t} );\n\t\tsetTemporaryURL();\n\t}\n\n\tfunction onSelectTrackImage( trackImage ) {\n\t\tsetAttributes( getTrackImageAttributes( trackImage ) );\n\t}\n\n\tfunction onRemoveTrackImage() {\n\t\tsetAttributes( { image: undefined, imageAlt: undefined } );\n\n\t\t// Move focus back to the Media Upload button.\n\t\timageButton.current.focus();\n\t}\n\n\tif ( ! hasTrackSource ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<MediaPlaceholder\n\t\t\t\t\ticon={ <BlockIcon icon={ icon } /> }\n\t\t\t\t\tlabels={ {\n\t\t\t\t\t\ttitle: __( 'Track' ),\n\t\t\t\t\t\tinstructions: __(\n\t\t\t\t\t\t\t'Upload an audio file or pick one from your media library.'\n\t\t\t\t\t\t),\n\t\t\t\t\t} }\n\t\t\t\t\tonSelect={ onSelectTrack }\n\t\t\t\t\taccept=\"audio/*\"\n\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\tvalue={ attributes }\n\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t);\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<BlockControls group=\"other\">\n\t\t\t\t<MediaReplaceFlow\n\t\t\t\t\tname={ __( 'Replace' ) }\n\t\t\t\t\tonSelect={ onSelectTrack }\n\t\t\t\t\taccept=\"audio/*\"\n\t\t\t\t\tmediaId={ id }\n\t\t\t\t\tmediaURL={ src }\n\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t\tvariant=\"toolbar\"\n\t\t\t\t/>\n\t\t\t</BlockControls>\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\tlabel={ __( 'Artist' ) }\n\t\t\t\t\t\tvalue={ artist ? stripHTML( artist ) : '' }\n\t\t\t\t\t\tonChange={ ( artistValue ) => {\n\t\t\t\t\t\t\tsetAttributes( { artist: artistValue } );\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\tlabel={ __( 'Album' ) }\n\t\t\t\t\t\tvalue={ album ? stripHTML( album ) : '' }\n\t\t\t\t\t\tonChange={ ( albumValue ) => {\n\t\t\t\t\t\t\tsetAttributes( { album: albumValue } );\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\tlabel={ __( 'Title' ) }\n\t\t\t\t\t\tvalue={ title ? stripHTML( title ) : '' }\n\t\t\t\t\t\tonChange={ ( titleValue ) => {\n\t\t\t\t\t\t\tsetAttributes( { title: titleValue } );\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t\t<MediaUploadCheck>\n\t\t\t\t\t\t<BaseControl>\n\t\t\t\t\t\t\t<BaseControl.VisualLabel>\n\t\t\t\t\t\t\t\t{ __( 'Track image' ) }\n\t\t\t\t\t\t\t</BaseControl.VisualLabel>\n\t\t\t\t\t\t\t<div className=\"editor-video-poster-control\">\n\t\t\t\t\t\t\t\t{ !! image && (\n\t\t\t\t\t\t\t\t\t<img\n\t\t\t\t\t\t\t\t\t\tsrc={ image }\n\t\t\t\t\t\t\t\t\t\talt={ __(\n\t\t\t\t\t\t\t\t\t\t\t'Preview of the track image'\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t<MediaUpload\n\t\t\t\t\t\t\t\t\ttitle={ __( 'Select image' ) }\n\t\t\t\t\t\t\t\t\tonSelect={ onSelectTrackImage }\n\t\t\t\t\t\t\t\t\tallowedTypes={\n\t\t\t\t\t\t\t\t\t\tTRACK_IMAGE_ALLOWED_MEDIA_TYPES\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\trender={ ( { open } ) => (\n\t\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\t\t\t\t\tonClick={ open }\n\t\t\t\t\t\t\t\t\t\t\tref={ imageButton }\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ ! image\n\t\t\t\t\t\t\t\t\t\t\t\t? __( 'Select' )\n\t\t\t\t\t\t\t\t\t\t\t\t: __( 'Replace' ) }\n\t\t\t\t\t\t\t\t\t\t</Button>\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\t{ !! image && (\n\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\t\t\tonClick={ onRemoveTrackImage }\n\t\t\t\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ __( 'Remove' ) }\n\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</BaseControl>\n\t\t\t\t\t</MediaUploadCheck>\n\t\t\t\t\t{ !! image && (\n\t\t\t\t\t\t<TextareaControl\n\t\t\t\t\t\t\tlabel={ __( 'Alternative text' ) }\n\t\t\t\t\t\t\tvalue={ imageAlt || '' }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( { imageAlt: value } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\thelp={\n\t\t\t\t\t\t\t\t<Link\n\t\t\t\t\t\t\t\t\topenInNewTab\n\t\t\t\t\t\t\t\t\thref={\n\t\t\t\t\t\t\t\t\t\t// translators: Localized tutorial, if one exists. W3C Web Accessibility Initiative link has list of existing translations.\n\t\t\t\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t\t\t\t'https://www.w3.org/WAI/tutorials/images/decision-tree/'\n\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t\t'Describe the purpose of the image.'\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</Link>\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t<li { ...blockProps }>\n\t\t\t\t{ !! temporaryURL && <Spinner /> }\n\t\t\t\t<button\n\t\t\t\t\tclassName=\"wp-block-playlist-track__button\"\n\t\t\t\t\tonClick={ () => setCurrentTrackClientId( clientId ) }\n\t\t\t\t\taria-current={\n\t\t\t\t\t\tcurrentTrackClientId === clientId ? 'true' : 'false'\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t{ showImages && !! image && (\n\t\t\t\t\t\t<img\n\t\t\t\t\t\t\tclassName=\"wp-block-playlist-track__image\"\n\t\t\t\t\t\t\tsrc={ image }\n\t\t\t\t\t\t\talt={ imageAlt || '' }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t<span className=\"wp-block-playlist-track__content\">\n\t\t\t\t\t\t<PlainText\n\t\t\t\t\t\t\ttagName=\"span\"\n\t\t\t\t\t\t\tclassName=\"wp-block-playlist-track__title\"\n\t\t\t\t\t\t\tvalue={ title }\n\t\t\t\t\t\t\tplaceholder={ __( 'Add title' ) }\n\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\tsetAttributes( { title: value } );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t__experimentalVersion={ 2 }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t{ showArtists && (\n\t\t\t\t\t\t\t<PlainText\n\t\t\t\t\t\t\t\ttagName=\"span\"\n\t\t\t\t\t\t\t\tclassName=\"wp-block-playlist-track__artist\"\n\t\t\t\t\t\t\t\tvalue={ artist }\n\t\t\t\t\t\t\t\tplaceholder={ __( 'Add artist' ) }\n\t\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\t\tsetAttributes( { artist: value } )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t__experimentalVersion={ 2 }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</span>\n\t\t\t\t\t<span className=\"wp-block-playlist-track__length\">\n\t\t\t\t\t\t{ length && (\n\t\t\t\t\t\t\t<span className=\"screen-reader-text\">\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t/* translators: Visually hidden label for the track duration (screen reader text). */\n\t\t\t\t\t\t\t\t\t__( 'Duration:' )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ length }\n\t\t\t\t\t</span>\n\t\t\t\t\t<span className=\"screen-reader-text\">{ __( 'Play' ) }</span>\n\t\t\t\t</button>\n\t\t\t</li>\n\t\t</>\n\t);\n};\n\nexport default PlaylistTrackEdit;\n"],
5
- "mappings": "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",
6
- "names": ["noticesStore", "icon", "stripHTML"]
4
+ "sourcesContent": ["import { isBlobURL } from '@wordpress/blob';\nimport { useContext, useEffect, useRef, useState } from '@wordpress/element';\nimport {\n\tMediaPlaceholder,\n\tMediaReplaceFlow,\n\tMediaUpload,\n\tMediaUploadCheck,\n\tBlockIcon,\n\tuseBlockProps,\n\tBlockControls,\n\tInspectorControls,\n\tPlainText,\n} from '@wordpress/block-editor';\nimport {\n\tButton,\n\tPanelBody,\n\tTextControl,\n\tTextareaControl as WCTextareaControl,\n\tBaseControl,\n\tSpinner,\n} from '@wordpress/components';\nimport { Link } from '@wordpress/ui';\nimport { useDispatch } from '@wordpress/data';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { __ } from '@wordpress/i18n';\nimport { audio as icon } from '@wordpress/icons';\nimport { __unstableStripHTML as stripHTML } from '@wordpress/dom';\nimport { PlaylistContext } from '../playlist/context';\nimport { getTrackAttributes, getTrackImageAttributes } from '../playlist/utils';\nimport { useUploadMediaFromBlobURL } from '../utils/hooks';\n\nconst ALLOWED_MEDIA_TYPES = [ 'audio' ];\nconst TRACK_IMAGE_ALLOWED_MEDIA_TYPES = [ 'image' ];\n\nconst PlaylistTrackEdit = ( {\n\tattributes,\n\tsetAttributes,\n\tcontext,\n\tclientId,\n\tisSelected,\n} ) => {\n\tconst { id, src, album, artist, image, imageAlt, length, title } =\n\t\tattributes;\n\tconst [ temporaryURL, setTemporaryURL ] = useState( attributes.blob );\n\tconst showArtists = context?.showArtists;\n\tconst showImages = context?.showImages ?? true;\n\tconst imageButton = useRef();\n\tconst blockProps = useBlockProps();\n\tconst { currentTrackClientId, setCurrentTrackClientId, removeTrack } =\n\t\tuseContext( PlaylistContext );\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\n\t/**\n\t * Handle audio upload errors.\n\t *\n\t * @param {string} message Error message to show.\n\t * @param {Object} [options]\n\t * @param {boolean} [options.removeTrackOnError] Remove the track as well. Useful for drag/drop where a track is optimistically created before upload finishes.\n\t */\n\tfunction onUploadError( message, { removeTrackOnError = false } = {} ) {\n\t\tcreateErrorNotice( message, { type: 'snackbar' } );\n\n\t\tif ( removeTrackOnError ) {\n\t\t\tremoveTrack( clientId );\n\t\t\treturn;\n\t\t}\n\n\t\t// Set temporaryURL back to default state\n\t\tsetTemporaryURL();\n\t}\n\tconst hasTrackSource = !! src || !! temporaryURL;\n\n\tuseEffect( () => {\n\t\tif (\n\t\t\tisSelected &&\n\t\t\thasTrackSource &&\n\t\t\tcurrentTrackClientId !== clientId\n\t\t) {\n\t\t\tsetCurrentTrackClientId( clientId );\n\t\t}\n\t}, [\n\t\tisSelected,\n\t\thasTrackSource,\n\t\tclientId,\n\t\tcurrentTrackClientId,\n\t\tsetCurrentTrackClientId,\n\t] );\n\n\t// Handles drag/drop uploads\n\tuseUploadMediaFromBlobURL( {\n\t\turl: temporaryURL,\n\t\tallowedTypes: ALLOWED_MEDIA_TYPES,\n\t\tonChange: onSelectTrack,\n\t\tonError: ( message ) => {\n\t\t\tonUploadError( message, { removeTrackOnError: true } );\n\t\t},\n\t} );\n\n\tfunction onSelectTrack( media ) {\n\t\tconst mediaUrl = media?.url ?? media?.source_url;\n\n\t\tif ( ! media || ! mediaUrl ) {\n\t\t\t// In this case there was an error and we should continue in the editing state\n\t\t\t// previous attributes should be removed because they may be temporary blob urls.\n\t\t\tsetAttributes( {\n\t\t\t\tblob: undefined,\n\t\t\t\tid: undefined,\n\t\t\t\tartist: undefined,\n\t\t\t\talbum: undefined,\n\t\t\t\timage: undefined,\n\t\t\t\timageAlt: undefined,\n\t\t\t\tlength: undefined,\n\t\t\t\ttitle: undefined,\n\t\t\t\turl: undefined,\n\t\t\t} );\n\t\t\tsetTemporaryURL();\n\t\t\treturn;\n\t\t}\n\n\t\tif ( isBlobURL( mediaUrl ) ) {\n\t\t\tsetTemporaryURL( mediaUrl );\n\t\t\treturn;\n\t\t}\n\n\t\tsetAttributes( {\n\t\t\tblob: undefined,\n\t\t\t...getTrackAttributes( media ),\n\t\t} );\n\t\tsetTemporaryURL();\n\t}\n\n\tfunction onSelectTrackImage( trackImage ) {\n\t\tsetAttributes( getTrackImageAttributes( trackImage ) );\n\t}\n\n\tfunction onRemoveTrackImage() {\n\t\tsetAttributes( { image: undefined, imageAlt: undefined } );\n\n\t\t// Move focus back to the Media Upload button.\n\t\timageButton.current.focus();\n\t}\n\n\tif ( ! hasTrackSource ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<MediaPlaceholder\n\t\t\t\t\ticon={ <BlockIcon icon={ icon } /> }\n\t\t\t\t\tlabels={ {\n\t\t\t\t\t\ttitle: __( 'Track' ),\n\t\t\t\t\t\tinstructions: __(\n\t\t\t\t\t\t\t'Upload an audio file or pick one from your media library.'\n\t\t\t\t\t\t),\n\t\t\t\t\t} }\n\t\t\t\t\tonSelect={ onSelectTrack }\n\t\t\t\t\taccept=\"audio/*\"\n\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\tvalue={ attributes }\n\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t);\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t{ /* Only show if this is a single selection (not multiselect) */ }\n\t\t\t{ isSelected && (\n\t\t\t\t<BlockControls group=\"other\">\n\t\t\t\t\t<MediaReplaceFlow\n\t\t\t\t\t\tname={ __( 'Replace' ) }\n\t\t\t\t\t\tonSelect={ onSelectTrack }\n\t\t\t\t\t\taccept=\"audio/*\"\n\t\t\t\t\t\tmediaId={ id }\n\t\t\t\t\t\tmediaURL={ src }\n\t\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t\t\tvariant=\"toolbar\"\n\t\t\t\t\t/>\n\t\t\t\t</BlockControls>\n\t\t\t) }\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t{ /* Only show if this is a single selection (not multiselect) */ }\n\t\t\t\t\t{ isSelected && (\n\t\t\t\t\t\t<TextControl\n\t\t\t\t\t\t\tlabel={ __( 'Title' ) }\n\t\t\t\t\t\t\tvalue={ title ? stripHTML( title ) : '' }\n\t\t\t\t\t\t\tonChange={ ( titleValue ) => {\n\t\t\t\t\t\t\t\tsetAttributes( { title: titleValue } );\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<TextControl\n\t\t\t\t\t\tlabel={ __( 'Artist' ) }\n\t\t\t\t\t\tvalue={ artist ? stripHTML( artist ) : '' }\n\t\t\t\t\t\tonChange={ ( artistValue ) => {\n\t\t\t\t\t\t\tsetAttributes( { artist: artistValue } );\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\tlabel={ __( 'Album' ) }\n\t\t\t\t\t\tvalue={ album ? stripHTML( album ) : '' }\n\t\t\t\t\t\tonChange={ ( albumValue ) => {\n\t\t\t\t\t\t\tsetAttributes( { album: albumValue } );\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t\t<MediaUploadCheck>\n\t\t\t\t\t\t<BaseControl>\n\t\t\t\t\t\t\t<BaseControl.VisualLabel>\n\t\t\t\t\t\t\t\t{ __( 'Track image' ) }\n\t\t\t\t\t\t\t</BaseControl.VisualLabel>\n\t\t\t\t\t\t\t<div className=\"editor-video-poster-control\">\n\t\t\t\t\t\t\t\t{ !! image && (\n\t\t\t\t\t\t\t\t\t<img\n\t\t\t\t\t\t\t\t\t\tsrc={ image }\n\t\t\t\t\t\t\t\t\t\talt={ __(\n\t\t\t\t\t\t\t\t\t\t\t'Preview of the track image'\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t<MediaUpload\n\t\t\t\t\t\t\t\t\ttitle={ __( 'Select image' ) }\n\t\t\t\t\t\t\t\t\tonSelect={ onSelectTrackImage }\n\t\t\t\t\t\t\t\t\tallowedTypes={\n\t\t\t\t\t\t\t\t\t\tTRACK_IMAGE_ALLOWED_MEDIA_TYPES\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\trender={ ( { open } ) => (\n\t\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\t\t\t\t\tonClick={ open }\n\t\t\t\t\t\t\t\t\t\t\tref={ imageButton }\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ ! image\n\t\t\t\t\t\t\t\t\t\t\t\t? __( 'Select' )\n\t\t\t\t\t\t\t\t\t\t\t\t: __( 'Replace' ) }\n\t\t\t\t\t\t\t\t\t\t</Button>\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\t{ !! image && (\n\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\t\t\tonClick={ onRemoveTrackImage }\n\t\t\t\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ __( 'Remove' ) }\n\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</BaseControl>\n\t\t\t\t\t</MediaUploadCheck>\n\t\t\t\t\t{ !! image && (\n\t\t\t\t\t\t<WCTextareaControl\n\t\t\t\t\t\t\tlabel={ __( 'Alternative text' ) }\n\t\t\t\t\t\t\tvalue={ imageAlt || '' }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( { imageAlt: value } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\thelp={\n\t\t\t\t\t\t\t\t<Link\n\t\t\t\t\t\t\t\t\topenInNewTab\n\t\t\t\t\t\t\t\t\thref={\n\t\t\t\t\t\t\t\t\t\t// translators: Localized tutorial, if one exists. W3C Web Accessibility Initiative link has list of existing translations.\n\t\t\t\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t\t\t\t'https://www.w3.org/WAI/tutorials/images/decision-tree/'\n\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t\t'Describe the purpose of the image.'\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</Link>\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t<li { ...blockProps }>\n\t\t\t\t<button\n\t\t\t\t\tclassName=\"wp-block-playlist-track__button\"\n\t\t\t\t\tonClick={ () => setCurrentTrackClientId( clientId ) }\n\t\t\t\t\taria-current={\n\t\t\t\t\t\tcurrentTrackClientId === clientId ? 'true' : 'false'\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t{ showImages && !! image && (\n\t\t\t\t\t\t<img\n\t\t\t\t\t\t\tclassName=\"wp-block-playlist-track__image\"\n\t\t\t\t\t\t\tsrc={ image }\n\t\t\t\t\t\t\talt={ imageAlt || '' }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t<span className=\"wp-block-playlist-track__content\">\n\t\t\t\t\t\t<PlainText\n\t\t\t\t\t\t\ttagName=\"span\"\n\t\t\t\t\t\t\tclassName=\"wp-block-playlist-track__title\"\n\t\t\t\t\t\t\tvalue={ title }\n\t\t\t\t\t\t\taria-label={ __( 'Track title' ) }\n\t\t\t\t\t\t\tplaceholder={ __( 'Track title' ) }\n\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\tsetAttributes( { title: value } );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t__experimentalVersion={ 2 }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t{ showArtists && (\n\t\t\t\t\t\t\t<PlainText\n\t\t\t\t\t\t\t\ttagName=\"span\"\n\t\t\t\t\t\t\t\tclassName=\"wp-block-playlist-track__artist\"\n\t\t\t\t\t\t\t\tvalue={ artist }\n\t\t\t\t\t\t\t\taria-label={ __( 'Track artist' ) }\n\t\t\t\t\t\t\t\tplaceholder={ __( 'Track artist' ) }\n\t\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\t\tsetAttributes( { artist: value } )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t__experimentalVersion={ 2 }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</span>\n\t\t\t\t\t<span className=\"wp-block-playlist-track__length\">\n\t\t\t\t\t\t{ length && (\n\t\t\t\t\t\t\t<span className=\"screen-reader-text\">\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t/* translators: Visually hidden label for the track duration (screen reader text). */\n\t\t\t\t\t\t\t\t\t__( 'Duration:' )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ length }\n\t\t\t\t\t\t{ !! temporaryURL && (\n\t\t\t\t\t\t\t<Spinner className=\"wp-block-playlist-track__spinner\" />\n\t\t\t\t\t\t) }\n\t\t\t\t\t</span>\n\t\t\t\t\t<span className=\"screen-reader-text\">{ __( 'Play' ) }</span>\n\t\t\t\t</button>\n\t\t\t</li>\n\t\t</>\n\t);\n};\n\nexport default PlaylistTrackEdit;\n"],
5
+ "mappings": "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",
6
+ "names": ["noticesStore", "icon", "stripHTML", "WCTextareaControl"]
7
7
  }
@@ -42,10 +42,14 @@ var import_components = require("@wordpress/components");
42
42
  var import_core_data = require("@wordpress/core-data");
43
43
  var import_icons = require("@wordpress/icons");
44
44
  var import_jsx_runtime = require("react/jsx-runtime");
45
+ var INNER_BLOCKS_LAYOUT = { type: "default" };
45
46
  function PostTemplateInnerBlocks({ classList }) {
46
47
  const innerBlocksProps = (0, import_block_editor.useInnerBlocksProps)(
47
48
  { className: (0, import_clsx.default)("wp-block-post", classList) },
48
- { __unstableDisableLayoutClassNames: true }
49
+ {
50
+ __unstableDisableLayoutClassNames: true,
51
+ layout: INNER_BLOCKS_LAYOUT
52
+ }
49
53
  );
50
54
  return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("li", { ...innerBlocksProps });
51
55
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/post-template/edit.js"],
4
- "sourcesContent": ["import clsx from 'clsx';\nimport { memo, useMemo, useState } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\nimport { __, _x } from '@wordpress/i18n';\nimport {\n\tBlockControls,\n\tBlockContextProvider,\n\t__experimentalUseBlockPreview as useBlockPreview,\n\tuseBlockProps,\n\tuseInnerBlocksProps,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { Spinner, ToolbarGroup } from '@wordpress/components';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { list, grid } from '@wordpress/icons';\n\nfunction PostTemplateInnerBlocks( { classList } ) {\n\tconst innerBlocksProps = useInnerBlocksProps(\n\t\t{ className: clsx( 'wp-block-post', classList ) },\n\t\t{ __unstableDisableLayoutClassNames: true }\n\t);\n\treturn <li { ...innerBlocksProps } />;\n}\n\nfunction PostTemplateBlockPreview( {\n\tblocks,\n\tblockContextId,\n\tclassList,\n\tisHidden,\n\tsetActiveBlockContextId,\n} ) {\n\tconst blockPreviewProps = useBlockPreview( {\n\t\tblocks,\n\t\tprops: {\n\t\t\tclassName: clsx( 'wp-block-post', classList ),\n\t\t},\n\t} );\n\n\tconst handleOnClick = () => {\n\t\tsetActiveBlockContextId( blockContextId );\n\t};\n\n\tconst style = {\n\t\tdisplay: isHidden ? 'none' : undefined,\n\t};\n\n\treturn (\n\t\t<li\n\t\t\t{ ...blockPreviewProps }\n\t\t\ttabIndex={ 0 }\n\t\t\t// eslint-disable-next-line jsx-a11y/no-noninteractive-element-to-interactive-role\n\t\t\trole=\"button\"\n\t\t\tonClick={ handleOnClick }\n\t\t\tonKeyPress={ handleOnClick }\n\t\t\tstyle={ style }\n\t\t/>\n\t);\n}\n\nconst MemoizedPostTemplateBlockPreview = memo( PostTemplateBlockPreview );\n\nexport default function PostTemplateEdit( {\n\tsetAttributes,\n\tclientId,\n\tcontext: {\n\t\tquery: {\n\t\t\tperPage,\n\t\t\toffset = 0,\n\t\t\tpostType,\n\t\t\torder,\n\t\t\torderBy,\n\t\t\tauthor,\n\t\t\tsearch,\n\t\t\texclude,\n\t\t\tsticky,\n\t\t\tinherit,\n\t\t\ttaxQuery,\n\t\t\tparents,\n\t\t\tpages,\n\t\t\tformat,\n\t\t\texcludeCurrent,\n\t\t\t// We gather extra query args to pass to the REST API call.\n\t\t\t// This way extenders of Query Loop can add their own query args,\n\t\t\t// and have accurate previews in the editor.\n\t\t\t// Noting though that these args should either be supported by the\n\t\t\t// REST API or be handled by custom REST filters like `rest_{$this->post_type}_query`.\n\t\t\t...restQueryArgs\n\t\t} = {},\n\t\ttemplateSlug,\n\t\tpreviewPostType,\n\t\tpostId,\n\t},\n\tattributes: { layout },\n\t__unstableLayoutClassNames,\n} ) {\n\tconst {\n\t\ttype: layoutType,\n\t\tcolumnCount = 3,\n\t\tminimumColumnWidth,\n\t} = layout || {};\n\tconst [ activeBlockContextId, setActiveBlockContextId ] = useState();\n\tconst { posts, blocks } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEntityRecords, getTaxonomies } = select( coreStore );\n\t\t\tconst { getBlocks } = select( blockEditorStore );\n\t\t\tconst templateCategory =\n\t\t\t\tinherit &&\n\t\t\t\ttemplateSlug?.startsWith( 'category-' ) &&\n\t\t\t\tgetEntityRecords( 'taxonomy', 'category', {\n\t\t\t\t\tcontext: 'view',\n\t\t\t\t\tper_page: 1,\n\t\t\t\t\t_fields: [ 'id' ],\n\t\t\t\t\tslug: templateSlug.replace( 'category-', '' ),\n\t\t\t\t} );\n\t\t\tconst templateTag =\n\t\t\t\tinherit &&\n\t\t\t\ttemplateSlug?.startsWith( 'tag-' ) &&\n\t\t\t\tgetEntityRecords( 'taxonomy', 'post_tag', {\n\t\t\t\t\tcontext: 'view',\n\t\t\t\t\tper_page: 1,\n\t\t\t\t\t_fields: [ 'id' ],\n\t\t\t\t\tslug: templateSlug.replace( 'tag-', '' ),\n\t\t\t\t} );\n\t\t\tconst query = {\n\t\t\t\toffset: offset || 0,\n\t\t\t\torder,\n\t\t\t\torderby: orderBy,\n\t\t\t};\n\t\t\t// There is no need to build the taxQuery if we inherit.\n\t\t\tif ( taxQuery && ! inherit ) {\n\t\t\t\tconst taxonomies = getTaxonomies( {\n\t\t\t\t\ttype: postType,\n\t\t\t\t\tper_page: -1,\n\t\t\t\t\tcontext: 'view',\n\t\t\t\t} );\n\t\t\t\t// Build REST API parameters from taxonomy terms, e.g.\n\t\t\t\t// `category`, `tags_exclude`.\n\t\t\t\tconst buildTaxQuery = ( terms, suffix = '' ) => {\n\t\t\t\t\treturn Object.entries( terms || {} ).reduce(\n\t\t\t\t\t\t( accumulator, [ taxonomySlug, termIds ] ) => {\n\t\t\t\t\t\t\tconst taxonomy = taxonomies?.find(\n\t\t\t\t\t\t\t\t( { slug } ) => slug === taxonomySlug\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tif ( taxonomy?.rest_base && termIds?.length ) {\n\t\t\t\t\t\t\t\taccumulator[ taxonomy.rest_base + suffix ] =\n\t\t\t\t\t\t\t\t\ttermIds;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\treturn accumulator;\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{}\n\t\t\t\t\t);\n\t\t\t\t};\n\t\t\t\tconst builtTaxQuery = buildTaxQuery( taxQuery.include );\n\t\t\t\tif ( taxQuery.exclude ) {\n\t\t\t\t\tObject.assign(\n\t\t\t\t\t\tbuiltTaxQuery,\n\t\t\t\t\t\tbuildTaxQuery( taxQuery.exclude, '_exclude' )\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\tif ( !! Object.keys( builtTaxQuery ).length ) {\n\t\t\t\t\tObject.assign( query, builtTaxQuery );\n\t\t\t\t}\n\t\t\t}\n\t\t\tif ( perPage ) {\n\t\t\t\tquery.per_page = perPage;\n\t\t\t}\n\t\t\tif ( author ) {\n\t\t\t\tquery.author = author;\n\t\t\t}\n\t\t\tif ( search ) {\n\t\t\t\tquery.search = search;\n\t\t\t}\n\t\t\tif ( exclude?.length ) {\n\t\t\t\tquery.exclude = exclude;\n\t\t\t}\n\t\t\tif ( parents?.length ) {\n\t\t\t\tquery.parent = parents;\n\t\t\t}\n\t\t\tif ( format?.length ) {\n\t\t\t\tquery.format = format;\n\t\t\t}\n\t\t\tif ( excludeCurrent && postId ) {\n\t\t\t\tif ( query.exclude ) {\n\t\t\t\t\tquery.exclude = [ ...query.exclude, postId ];\n\t\t\t\t} else {\n\t\t\t\t\tquery.exclude = [ postId ];\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t/*\n\t\t\t * Handle cases where sticky is set to `exclude` or `only`.\n\t\t\t * Which works as a `post__in/post__not_in` query for sticky posts.\n\t\t\t */\n\t\t\tif ( [ 'exclude', 'only' ].includes( sticky ) ) {\n\t\t\t\tquery.sticky = sticky === 'only';\n\t\t\t}\n\n\t\t\t// Empty string represents the default behavior of including sticky posts.\n\t\t\tif ( [ '', 'ignore' ].includes( sticky ) ) {\n\t\t\t\t// Remove any leftover sticky query parameter.\n\t\t\t\tdelete query.sticky;\n\t\t\t\tquery.ignore_sticky = sticky === 'ignore';\n\t\t\t}\n\n\t\t\t// If `inherit` is truthy, adjust conditionally the query to create a better preview.\n\t\t\tlet currentPostType = postType;\n\t\t\tif ( inherit ) {\n\t\t\t\t// Change the post-type if needed.\n\t\t\t\tif ( templateSlug?.startsWith( 'archive-' ) ) {\n\t\t\t\t\tquery.postType = templateSlug.replace( 'archive-', '' );\n\t\t\t\t\tcurrentPostType = query.postType;\n\t\t\t\t} else if ( templateCategory ) {\n\t\t\t\t\tquery.categories = templateCategory[ 0 ]?.id;\n\t\t\t\t} else if ( templateTag ) {\n\t\t\t\t\tquery.tags = templateTag[ 0 ]?.id;\n\t\t\t\t} else if (\n\t\t\t\t\ttemplateSlug?.startsWith( 'taxonomy-post_format' )\n\t\t\t\t) {\n\t\t\t\t\t// Get the post format slug from the template slug by removing the prefix.\n\t\t\t\t\tquery.format = templateSlug.replace(\n\t\t\t\t\t\t'taxonomy-post_format-post-format-',\n\t\t\t\t\t\t''\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\t\t\t// When we preview Query Loop blocks we should prefer the current\n\t\t\t// block's postType, which is passed through block context.\n\t\t\tconst usedPostType = previewPostType || currentPostType;\n\t\t\treturn {\n\t\t\t\tposts: getEntityRecords( 'postType', usedPostType, {\n\t\t\t\t\t...query,\n\t\t\t\t\t...restQueryArgs,\n\t\t\t\t} ),\n\t\t\t\tblocks: getBlocks( clientId ),\n\t\t\t};\n\t\t},\n\t\t[\n\t\t\tperPage,\n\t\t\toffset,\n\t\t\torder,\n\t\t\torderBy,\n\t\t\tclientId,\n\t\t\tauthor,\n\t\t\tsearch,\n\t\t\tpostType,\n\t\t\texclude,\n\t\t\tsticky,\n\t\t\tinherit,\n\t\t\ttemplateSlug,\n\t\t\ttaxQuery,\n\t\t\tparents,\n\t\t\tformat,\n\t\t\trestQueryArgs,\n\t\t\tpreviewPostType,\n\t\t]\n\t);\n\tconst blockContexts = useMemo(\n\t\t() =>\n\t\t\tposts?.map( ( post ) => ( {\n\t\t\t\tpostType: post.type,\n\t\t\t\tpostId: post.id,\n\t\t\t\tclassList: post.class_list ?? '',\n\t\t\t} ) ),\n\t\t[ posts ]\n\t);\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: clsx( __unstableLayoutClassNames, {\n\t\t\t[ `columns-${ columnCount }` ]:\n\t\t\t\tlayoutType === 'grid' && columnCount, // Ensure column count is flagged via classname for backwards compatibility.\n\t\t\t'has-native-responsive-grid':\n\t\t\t\tlayoutType === 'grid' && columnCount && minimumColumnWidth, // Flag native responsive grid when minimum column width is provided.\n\t\t} ),\n\t} );\n\n\tif ( ! posts ) {\n\t\treturn (\n\t\t\t<p { ...blockProps }>\n\t\t\t\t<Spinner />\n\t\t\t</p>\n\t\t);\n\t}\n\n\tif ( ! posts.length ) {\n\t\treturn <p { ...blockProps }> { __( 'No results found.' ) }</p>;\n\t}\n\n\tconst setDisplayLayout = ( newDisplayLayout ) =>\n\t\tsetAttributes( {\n\t\t\tlayout: { ...layout, ...newDisplayLayout },\n\t\t} );\n\n\tconst displayLayoutControls = [\n\t\t{\n\t\t\ticon: list,\n\t\t\ttitle: _x( 'List view', 'Post template block display setting' ),\n\t\t\tonClick: () => setDisplayLayout( { type: 'default' } ),\n\t\t\tisActive: layoutType === 'default' || layoutType === 'constrained',\n\t\t},\n\t\t{\n\t\t\ticon: grid,\n\t\t\ttitle: _x( 'Grid view', 'Post template block display setting' ),\n\t\t\tonClick: () =>\n\t\t\t\tsetDisplayLayout( {\n\t\t\t\t\ttype: 'grid',\n\t\t\t\t\tcolumnCount,\n\t\t\t\t} ),\n\t\t\tisActive: layoutType === 'grid',\n\t\t},\n\t];\n\n\t// To avoid flicker when switching active block contexts, a preview is rendered\n\t// for each block context, but the preview for the active block context is hidden.\n\t// This ensures that when it is displayed again, the cached rendering of the\n\t// block preview is used, instead of having to re-render the preview from scratch.\n\treturn (\n\t\t<>\n\t\t\t<BlockControls>\n\t\t\t\t<ToolbarGroup controls={ displayLayoutControls } />\n\t\t\t</BlockControls>\n\n\t\t\t<ul { ...blockProps }>\n\t\t\t\t{ blockContexts &&\n\t\t\t\t\tblockContexts.map( ( blockContext ) => (\n\t\t\t\t\t\t<BlockContextProvider\n\t\t\t\t\t\t\tkey={ blockContext.postId }\n\t\t\t\t\t\t\tvalue={ blockContext }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ blockContext.postId ===\n\t\t\t\t\t\t\t( activeBlockContextId ||\n\t\t\t\t\t\t\t\tblockContexts[ 0 ]?.postId ) ? (\n\t\t\t\t\t\t\t\t<PostTemplateInnerBlocks\n\t\t\t\t\t\t\t\t\tclassList={ blockContext.classList }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) : null }\n\t\t\t\t\t\t\t<MemoizedPostTemplateBlockPreview\n\t\t\t\t\t\t\t\tblocks={ blocks }\n\t\t\t\t\t\t\t\tblockContextId={ blockContext.postId }\n\t\t\t\t\t\t\t\tclassList={ blockContext.classList }\n\t\t\t\t\t\t\t\tsetActiveBlockContextId={\n\t\t\t\t\t\t\t\t\tsetActiveBlockContextId\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tisHidden={\n\t\t\t\t\t\t\t\t\tblockContext.postId ===\n\t\t\t\t\t\t\t\t\t( activeBlockContextId ||\n\t\t\t\t\t\t\t\t\t\tblockContexts[ 0 ]?.postId )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</BlockContextProvider>\n\t\t\t\t\t) ) }\n\t\t\t</ul>\n\t\t</>\n\t);\n}\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import clsx from 'clsx';\nimport { memo, useMemo, useState } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\nimport { __, _x } from '@wordpress/i18n';\nimport {\n\tBlockControls,\n\tBlockContextProvider,\n\t__experimentalUseBlockPreview as useBlockPreview,\n\tuseBlockProps,\n\tuseInnerBlocksProps,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { Spinner, ToolbarGroup } from '@wordpress/components';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { list, grid } from '@wordpress/icons';\n\n// The Post Template's layout attribute arranges the post items, not the\n// blocks of the template, which always stack vertically inside each post\n// item. Override the inherited layout so inner block UI (movers, inserters,\n// grid controls) doesn't follow the post items' grid.\nconst INNER_BLOCKS_LAYOUT = { type: 'default' };\n\nfunction PostTemplateInnerBlocks( { classList } ) {\n\tconst innerBlocksProps = useInnerBlocksProps(\n\t\t{ className: clsx( 'wp-block-post', classList ) },\n\t\t{\n\t\t\t__unstableDisableLayoutClassNames: true,\n\t\t\tlayout: INNER_BLOCKS_LAYOUT,\n\t\t}\n\t);\n\treturn <li { ...innerBlocksProps } />;\n}\n\nfunction PostTemplateBlockPreview( {\n\tblocks,\n\tblockContextId,\n\tclassList,\n\tisHidden,\n\tsetActiveBlockContextId,\n} ) {\n\tconst blockPreviewProps = useBlockPreview( {\n\t\tblocks,\n\t\tprops: {\n\t\t\tclassName: clsx( 'wp-block-post', classList ),\n\t\t},\n\t} );\n\n\tconst handleOnClick = () => {\n\t\tsetActiveBlockContextId( blockContextId );\n\t};\n\n\tconst style = {\n\t\tdisplay: isHidden ? 'none' : undefined,\n\t};\n\n\treturn (\n\t\t<li\n\t\t\t{ ...blockPreviewProps }\n\t\t\ttabIndex={ 0 }\n\t\t\t// eslint-disable-next-line jsx-a11y/no-noninteractive-element-to-interactive-role\n\t\t\trole=\"button\"\n\t\t\tonClick={ handleOnClick }\n\t\t\tonKeyPress={ handleOnClick }\n\t\t\tstyle={ style }\n\t\t/>\n\t);\n}\n\nconst MemoizedPostTemplateBlockPreview = memo( PostTemplateBlockPreview );\n\nexport default function PostTemplateEdit( {\n\tsetAttributes,\n\tclientId,\n\tcontext: {\n\t\tquery: {\n\t\t\tperPage,\n\t\t\toffset = 0,\n\t\t\tpostType,\n\t\t\torder,\n\t\t\torderBy,\n\t\t\tauthor,\n\t\t\tsearch,\n\t\t\texclude,\n\t\t\tsticky,\n\t\t\tinherit,\n\t\t\ttaxQuery,\n\t\t\tparents,\n\t\t\tpages,\n\t\t\tformat,\n\t\t\texcludeCurrent,\n\t\t\t// We gather extra query args to pass to the REST API call.\n\t\t\t// This way extenders of Query Loop can add their own query args,\n\t\t\t// and have accurate previews in the editor.\n\t\t\t// Noting though that these args should either be supported by the\n\t\t\t// REST API or be handled by custom REST filters like `rest_{$this->post_type}_query`.\n\t\t\t...restQueryArgs\n\t\t} = {},\n\t\ttemplateSlug,\n\t\tpreviewPostType,\n\t\tpostId,\n\t},\n\tattributes: { layout },\n\t__unstableLayoutClassNames,\n} ) {\n\tconst {\n\t\ttype: layoutType,\n\t\tcolumnCount = 3,\n\t\tminimumColumnWidth,\n\t} = layout || {};\n\tconst [ activeBlockContextId, setActiveBlockContextId ] = useState();\n\tconst { posts, blocks } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEntityRecords, getTaxonomies } = select( coreStore );\n\t\t\tconst { getBlocks } = select( blockEditorStore );\n\t\t\tconst templateCategory =\n\t\t\t\tinherit &&\n\t\t\t\ttemplateSlug?.startsWith( 'category-' ) &&\n\t\t\t\tgetEntityRecords( 'taxonomy', 'category', {\n\t\t\t\t\tcontext: 'view',\n\t\t\t\t\tper_page: 1,\n\t\t\t\t\t_fields: [ 'id' ],\n\t\t\t\t\tslug: templateSlug.replace( 'category-', '' ),\n\t\t\t\t} );\n\t\t\tconst templateTag =\n\t\t\t\tinherit &&\n\t\t\t\ttemplateSlug?.startsWith( 'tag-' ) &&\n\t\t\t\tgetEntityRecords( 'taxonomy', 'post_tag', {\n\t\t\t\t\tcontext: 'view',\n\t\t\t\t\tper_page: 1,\n\t\t\t\t\t_fields: [ 'id' ],\n\t\t\t\t\tslug: templateSlug.replace( 'tag-', '' ),\n\t\t\t\t} );\n\t\t\tconst query = {\n\t\t\t\toffset: offset || 0,\n\t\t\t\torder,\n\t\t\t\torderby: orderBy,\n\t\t\t};\n\t\t\t// There is no need to build the taxQuery if we inherit.\n\t\t\tif ( taxQuery && ! inherit ) {\n\t\t\t\tconst taxonomies = getTaxonomies( {\n\t\t\t\t\ttype: postType,\n\t\t\t\t\tper_page: -1,\n\t\t\t\t\tcontext: 'view',\n\t\t\t\t} );\n\t\t\t\t// Build REST API parameters from taxonomy terms, e.g.\n\t\t\t\t// `category`, `tags_exclude`.\n\t\t\t\tconst buildTaxQuery = ( terms, suffix = '' ) => {\n\t\t\t\t\treturn Object.entries( terms || {} ).reduce(\n\t\t\t\t\t\t( accumulator, [ taxonomySlug, termIds ] ) => {\n\t\t\t\t\t\t\tconst taxonomy = taxonomies?.find(\n\t\t\t\t\t\t\t\t( { slug } ) => slug === taxonomySlug\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tif ( taxonomy?.rest_base && termIds?.length ) {\n\t\t\t\t\t\t\t\taccumulator[ taxonomy.rest_base + suffix ] =\n\t\t\t\t\t\t\t\t\ttermIds;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\treturn accumulator;\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{}\n\t\t\t\t\t);\n\t\t\t\t};\n\t\t\t\tconst builtTaxQuery = buildTaxQuery( taxQuery.include );\n\t\t\t\tif ( taxQuery.exclude ) {\n\t\t\t\t\tObject.assign(\n\t\t\t\t\t\tbuiltTaxQuery,\n\t\t\t\t\t\tbuildTaxQuery( taxQuery.exclude, '_exclude' )\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\tif ( !! Object.keys( builtTaxQuery ).length ) {\n\t\t\t\t\tObject.assign( query, builtTaxQuery );\n\t\t\t\t}\n\t\t\t}\n\t\t\tif ( perPage ) {\n\t\t\t\tquery.per_page = perPage;\n\t\t\t}\n\t\t\tif ( author ) {\n\t\t\t\tquery.author = author;\n\t\t\t}\n\t\t\tif ( search ) {\n\t\t\t\tquery.search = search;\n\t\t\t}\n\t\t\tif ( exclude?.length ) {\n\t\t\t\tquery.exclude = exclude;\n\t\t\t}\n\t\t\tif ( parents?.length ) {\n\t\t\t\tquery.parent = parents;\n\t\t\t}\n\t\t\tif ( format?.length ) {\n\t\t\t\tquery.format = format;\n\t\t\t}\n\t\t\tif ( excludeCurrent && postId ) {\n\t\t\t\tif ( query.exclude ) {\n\t\t\t\t\tquery.exclude = [ ...query.exclude, postId ];\n\t\t\t\t} else {\n\t\t\t\t\tquery.exclude = [ postId ];\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t/*\n\t\t\t * Handle cases where sticky is set to `exclude` or `only`.\n\t\t\t * Which works as a `post__in/post__not_in` query for sticky posts.\n\t\t\t */\n\t\t\tif ( [ 'exclude', 'only' ].includes( sticky ) ) {\n\t\t\t\tquery.sticky = sticky === 'only';\n\t\t\t}\n\n\t\t\t// Empty string represents the default behavior of including sticky posts.\n\t\t\tif ( [ '', 'ignore' ].includes( sticky ) ) {\n\t\t\t\t// Remove any leftover sticky query parameter.\n\t\t\t\tdelete query.sticky;\n\t\t\t\tquery.ignore_sticky = sticky === 'ignore';\n\t\t\t}\n\n\t\t\t// If `inherit` is truthy, adjust conditionally the query to create a better preview.\n\t\t\tlet currentPostType = postType;\n\t\t\tif ( inherit ) {\n\t\t\t\t// Change the post-type if needed.\n\t\t\t\tif ( templateSlug?.startsWith( 'archive-' ) ) {\n\t\t\t\t\tquery.postType = templateSlug.replace( 'archive-', '' );\n\t\t\t\t\tcurrentPostType = query.postType;\n\t\t\t\t} else if ( templateCategory ) {\n\t\t\t\t\tquery.categories = templateCategory[ 0 ]?.id;\n\t\t\t\t} else if ( templateTag ) {\n\t\t\t\t\tquery.tags = templateTag[ 0 ]?.id;\n\t\t\t\t} else if (\n\t\t\t\t\ttemplateSlug?.startsWith( 'taxonomy-post_format' )\n\t\t\t\t) {\n\t\t\t\t\t// Get the post format slug from the template slug by removing the prefix.\n\t\t\t\t\tquery.format = templateSlug.replace(\n\t\t\t\t\t\t'taxonomy-post_format-post-format-',\n\t\t\t\t\t\t''\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\t\t\t// When we preview Query Loop blocks we should prefer the current\n\t\t\t// block's postType, which is passed through block context.\n\t\t\tconst usedPostType = previewPostType || currentPostType;\n\t\t\treturn {\n\t\t\t\tposts: getEntityRecords( 'postType', usedPostType, {\n\t\t\t\t\t...query,\n\t\t\t\t\t...restQueryArgs,\n\t\t\t\t} ),\n\t\t\t\tblocks: getBlocks( clientId ),\n\t\t\t};\n\t\t},\n\t\t[\n\t\t\tperPage,\n\t\t\toffset,\n\t\t\torder,\n\t\t\torderBy,\n\t\t\tclientId,\n\t\t\tauthor,\n\t\t\tsearch,\n\t\t\tpostType,\n\t\t\texclude,\n\t\t\tsticky,\n\t\t\tinherit,\n\t\t\ttemplateSlug,\n\t\t\ttaxQuery,\n\t\t\tparents,\n\t\t\tformat,\n\t\t\trestQueryArgs,\n\t\t\tpreviewPostType,\n\t\t]\n\t);\n\tconst blockContexts = useMemo(\n\t\t() =>\n\t\t\tposts?.map( ( post ) => ( {\n\t\t\t\tpostType: post.type,\n\t\t\t\tpostId: post.id,\n\t\t\t\tclassList: post.class_list ?? '',\n\t\t\t} ) ),\n\t\t[ posts ]\n\t);\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: clsx( __unstableLayoutClassNames, {\n\t\t\t[ `columns-${ columnCount }` ]:\n\t\t\t\tlayoutType === 'grid' && columnCount, // Ensure column count is flagged via classname for backwards compatibility.\n\t\t\t'has-native-responsive-grid':\n\t\t\t\tlayoutType === 'grid' && columnCount && minimumColumnWidth, // Flag native responsive grid when minimum column width is provided.\n\t\t} ),\n\t} );\n\n\tif ( ! posts ) {\n\t\treturn (\n\t\t\t<p { ...blockProps }>\n\t\t\t\t<Spinner />\n\t\t\t</p>\n\t\t);\n\t}\n\n\tif ( ! posts.length ) {\n\t\treturn <p { ...blockProps }> { __( 'No results found.' ) }</p>;\n\t}\n\n\tconst setDisplayLayout = ( newDisplayLayout ) =>\n\t\tsetAttributes( {\n\t\t\tlayout: { ...layout, ...newDisplayLayout },\n\t\t} );\n\n\tconst displayLayoutControls = [\n\t\t{\n\t\t\ticon: list,\n\t\t\ttitle: _x( 'List view', 'Post template block display setting' ),\n\t\t\tonClick: () => setDisplayLayout( { type: 'default' } ),\n\t\t\tisActive: layoutType === 'default' || layoutType === 'constrained',\n\t\t},\n\t\t{\n\t\t\ticon: grid,\n\t\t\ttitle: _x( 'Grid view', 'Post template block display setting' ),\n\t\t\tonClick: () =>\n\t\t\t\tsetDisplayLayout( {\n\t\t\t\t\ttype: 'grid',\n\t\t\t\t\tcolumnCount,\n\t\t\t\t} ),\n\t\t\tisActive: layoutType === 'grid',\n\t\t},\n\t];\n\n\t// To avoid flicker when switching active block contexts, a preview is rendered\n\t// for each block context, but the preview for the active block context is hidden.\n\t// This ensures that when it is displayed again, the cached rendering of the\n\t// block preview is used, instead of having to re-render the preview from scratch.\n\treturn (\n\t\t<>\n\t\t\t<BlockControls>\n\t\t\t\t<ToolbarGroup controls={ displayLayoutControls } />\n\t\t\t</BlockControls>\n\n\t\t\t<ul { ...blockProps }>\n\t\t\t\t{ blockContexts &&\n\t\t\t\t\tblockContexts.map( ( blockContext ) => (\n\t\t\t\t\t\t<BlockContextProvider\n\t\t\t\t\t\t\tkey={ blockContext.postId }\n\t\t\t\t\t\t\tvalue={ blockContext }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ blockContext.postId ===\n\t\t\t\t\t\t\t( activeBlockContextId ||\n\t\t\t\t\t\t\t\tblockContexts[ 0 ]?.postId ) ? (\n\t\t\t\t\t\t\t\t<PostTemplateInnerBlocks\n\t\t\t\t\t\t\t\t\tclassList={ blockContext.classList }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) : null }\n\t\t\t\t\t\t\t<MemoizedPostTemplateBlockPreview\n\t\t\t\t\t\t\t\tblocks={ blocks }\n\t\t\t\t\t\t\t\tblockContextId={ blockContext.postId }\n\t\t\t\t\t\t\t\tclassList={ blockContext.classList }\n\t\t\t\t\t\t\t\tsetActiveBlockContextId={\n\t\t\t\t\t\t\t\t\tsetActiveBlockContextId\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tisHidden={\n\t\t\t\t\t\t\t\t\tblockContext.postId ===\n\t\t\t\t\t\t\t\t\t( activeBlockContextId ||\n\t\t\t\t\t\t\t\t\t\tblockContexts[ 0 ]?.postId )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</BlockContextProvider>\n\t\t\t\t\t) ) }\n\t\t\t</ul>\n\t\t</>\n\t);\n}\n"],
5
+ "mappings": "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",
6
6
  "names": ["clsx", "useBlockPreview", "coreStore", "blockEditorStore"]
7
7
  }
@@ -26,7 +26,6 @@ module.exports = __toCommonJS(edit_exports);
26
26
  var import_block_editor = require("@wordpress/block-editor");
27
27
  var import_components = require("@wordpress/components");
28
28
  var import_i18n = require("@wordpress/i18n");
29
- var import_blocks = require("@wordpress/blocks");
30
29
  var import_core_data = require("@wordpress/core-data");
31
30
  var import_data = require("@wordpress/data");
32
31
  var import_element = require("@wordpress/element");
@@ -35,8 +34,7 @@ var import_jsx_runtime = require("react/jsx-runtime");
35
34
  function PostTitleEdit({
36
35
  attributes: { level, levelOptions, isLink, rel, linkTarget, placeholder },
37
36
  setAttributes,
38
- context: { postType, postId, queryId },
39
- insertBlocksAfter
37
+ context: { postType, postId, queryId }
40
38
  }) {
41
39
  const TagName = level === 0 ? "p" : `h${level}`;
42
40
  const isDescendentOfQueryLoop = Number.isFinite(queryId);
@@ -60,9 +58,6 @@ function PostTitleEdit({
60
58
  postId
61
59
  );
62
60
  const [link] = (0, import_core_data.useEntityProp)("postType", postType, "link", postId);
63
- const onSplitAtEnd = insertBlocksAfter ? () => {
64
- insertBlocksAfter((0, import_blocks.createBlock)((0, import_blocks.getDefaultBlockName)()));
65
- } : void 0;
66
61
  const blockProps = (0, import_block_editor.useBlockProps)();
67
62
  const blockEditingMode = (0, import_block_editor.useBlockEditingMode)();
68
63
  const dropdownMenuProps = (0, import_hooks.useToolsPanelDropdownMenuProps)();
@@ -76,7 +71,7 @@ function PostTitleEdit({
76
71
  value: rawTitle,
77
72
  onChange: setTitle,
78
73
  __experimentalVersion: 2,
79
- __unstableOnSplitAtEnd: onSplitAtEnd,
74
+ disableLineBreaks: true,
80
75
  ...blockProps
81
76
  }
82
77
  ) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
@@ -101,7 +96,7 @@ function PostTitleEdit({
101
96
  value: rawTitle,
102
97
  onChange: setTitle,
103
98
  __experimentalVersion: 2,
104
- __unstableOnSplitAtEnd: onSplitAtEnd
99
+ disableLineBreaks: true
105
100
  }
106
101
  ) }) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(TagName, { ...blockProps, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
107
102
  "a",
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/post-title/edit.js"],
4
- "sourcesContent": ["import {\n\tBlockControls,\n\tInspectorControls,\n\tuseBlockProps,\n\tPlainText,\n\tHeadingLevelDropdown,\n\tuseBlockEditingMode,\n} from '@wordpress/block-editor';\nimport {\n\tToggleControl,\n\tTextControl,\n\tExternalLink,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { createBlock, getDefaultBlockName } from '@wordpress/blocks';\nimport { useEntityProp, store as coreStore } from '@wordpress/core-data';\nimport { useSelect } from '@wordpress/data';\nimport { createInterpolateElement } from '@wordpress/element';\nimport { useToolsPanelDropdownMenuProps } from '../utils/hooks';\n\nexport default function PostTitleEdit( {\n\tattributes: { level, levelOptions, isLink, rel, linkTarget, placeholder },\n\tsetAttributes,\n\tcontext: { postType, postId, queryId },\n\tinsertBlocksAfter,\n} ) {\n\tconst TagName = level === 0 ? 'p' : `h${ level }`;\n\tconst isDescendentOfQueryLoop = Number.isFinite( queryId );\n\tconst userCanEdit = useSelect(\n\t\t( select ) => {\n\t\t\t/**\n\t\t\t * useCanEditEntity may trigger an OPTIONS request to the REST API\n\t\t\t * via the canUser resolver. However, when the Post Title is a\n\t\t\t * descendant of a Query Loop block, the title cannot be edited. In\n\t\t\t * order to avoid these unnecessary requests, we call the hook\n\t\t\t * without the proper data, resulting in returning early without\n\t\t\t * making them.\n\t\t\t */\n\t\t\tif ( isDescendentOfQueryLoop ) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\treturn select( coreStore ).canUser( 'update', {\n\t\t\t\tkind: 'postType',\n\t\t\t\tname: postType,\n\t\t\t\tid: postId,\n\t\t\t} );\n\t\t},\n\t\t[ isDescendentOfQueryLoop, postType, postId ]\n\t);\n\tconst [ rawTitle = '', setTitle, fullTitle ] = useEntityProp(\n\t\t'postType',\n\t\tpostType,\n\t\t'title',\n\t\tpostId\n\t);\n\tconst [ link ] = useEntityProp( 'postType', postType, 'link', postId );\n\tconst onSplitAtEnd = insertBlocksAfter\n\t\t? () => {\n\t\t\t\tinsertBlocksAfter( createBlock( getDefaultBlockName() ) );\n\t\t }\n\t\t: undefined;\n\tconst blockProps = useBlockProps();\n\tconst blockEditingMode = useBlockEditingMode();\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\n\tlet titleElement = (\n\t\t<TagName { ...blockProps }>{ placeholder || __( 'Title' ) }</TagName>\n\t);\n\n\tif ( postType && postId ) {\n\t\ttitleElement = userCanEdit ? (\n\t\t\t<PlainText\n\t\t\t\ttagName={ TagName }\n\t\t\t\tplaceholder={ __( '(no title)' ) }\n\t\t\t\tvalue={ rawTitle }\n\t\t\t\tonChange={ setTitle }\n\t\t\t\t__experimentalVersion={ 2 }\n\t\t\t\t__unstableOnSplitAtEnd={ onSplitAtEnd }\n\t\t\t\t{ ...blockProps }\n\t\t\t/>\n\t\t) : (\n\t\t\t<TagName\n\t\t\t\t{ ...blockProps }\n\t\t\t\tdangerouslySetInnerHTML={ {\n\t\t\t\t\t__html: fullTitle?.rendered || __( '(no title)' ),\n\t\t\t\t} }\n\t\t\t/>\n\t\t);\n\t}\n\n\tif ( isLink && postType && postId ) {\n\t\ttitleElement = userCanEdit ? (\n\t\t\t<TagName { ...blockProps }>\n\t\t\t\t<PlainText\n\t\t\t\t\ttagName=\"a\"\n\t\t\t\t\thref={ link }\n\t\t\t\t\ttarget={ linkTarget }\n\t\t\t\t\trel={ rel }\n\t\t\t\t\tplaceholder={\n\t\t\t\t\t\t! rawTitle.length ? __( '(no title)' ) : null\n\t\t\t\t\t}\n\t\t\t\t\tvalue={ rawTitle }\n\t\t\t\t\tonChange={ setTitle }\n\t\t\t\t\t__experimentalVersion={ 2 }\n\t\t\t\t\t__unstableOnSplitAtEnd={ onSplitAtEnd }\n\t\t\t\t/>\n\t\t\t</TagName>\n\t\t) : (\n\t\t\t<TagName { ...blockProps }>\n\t\t\t\t<a\n\t\t\t\t\thref={ link }\n\t\t\t\t\ttarget={ linkTarget }\n\t\t\t\t\trel={ rel }\n\t\t\t\t\tonClick={ ( event ) => event.preventDefault() }\n\t\t\t\t\tdangerouslySetInnerHTML={ {\n\t\t\t\t\t\t__html: fullTitle?.rendered || __( '(no title)' ),\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t</TagName>\n\t\t);\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t{ blockEditingMode === 'default' && (\n\t\t\t\t<>\n\t\t\t\t\t<BlockControls group=\"block\">\n\t\t\t\t\t\t<HeadingLevelDropdown\n\t\t\t\t\t\t\tvalue={ level }\n\t\t\t\t\t\t\toptions={ levelOptions }\n\t\t\t\t\t\t\tonChange={ ( newLevel ) =>\n\t\t\t\t\t\t\t\tsetAttributes( { level: newLevel } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</BlockControls>\n\t\t\t\t\t<InspectorControls>\n\t\t\t\t\t\t<ToolsPanel\n\t\t\t\t\t\t\tlabel={ __( 'Settings' ) }\n\t\t\t\t\t\t\tresetAll={ () => {\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\trel: '',\n\t\t\t\t\t\t\t\t\tlinkTarget: '_self',\n\t\t\t\t\t\t\t\t\tisLink: false,\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\t\tlabel={ __( 'Make title a link' ) }\n\t\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t\t\thasValue={ () => isLink }\n\t\t\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\t\t\tsetAttributes( { isLink: false } )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Make title a link' ) }\n\t\t\t\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\t\t\t\tsetAttributes( { isLink: ! isLink } )\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tchecked={ isLink }\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\t{ isLink && (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\t\t\t\tlabel={ __( 'Open in new tab' ) }\n\t\t\t\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t\t\t\t\thasValue={ () =>\n\t\t\t\t\t\t\t\t\t\t\tlinkTarget === '_blank'\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\t\t\tlinkTarget: '_self',\n\t\t\t\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t\t\t\tlabel={ __( 'Open in new tab' ) }\n\t\t\t\t\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\t\t\t\tlinkTarget: value\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t? '_blank'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t: '_self',\n\t\t\t\t\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tchecked={ linkTarget === '_blank' }\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\t\t\t\tlabel={ __( 'Link relation' ) }\n\t\t\t\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t\t\t\t\thasValue={ () => !! rel }\n\t\t\t\t\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\t\t\t\t\tsetAttributes( { rel: '' } )\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\t\t<TextControl\n\t\t\t\t\t\t\t\t\t\t\tlabel={ __( 'Link relation' ) }\n\t\t\t\t\t\t\t\t\t\t\thelp={ createInterpolateElement(\n\t\t\t\t\t\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t\t\t\t\t\t'The <a>Link Relation</a> attribute defines the relationship between a linked resource and the current document.'\n\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\ta: (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<ExternalLink href=\"https://developer.mozilla.org/docs/Web/HTML/Attributes/rel\" />\n\t\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\tvalue={ rel }\n\t\t\t\t\t\t\t\t\t\t\tonChange={ ( newRel ) =>\n\t\t\t\t\t\t\t\t\t\t\t\tsetAttributes( { rel: newRel } )\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</ToolsPanel>\n\t\t\t\t\t</InspectorControls>\n\t\t\t\t</>\n\t\t\t) }\n\t\t\t{ titleElement }\n\t\t</>\n\t);\n}\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import {\n\tBlockControls,\n\tInspectorControls,\n\tuseBlockProps,\n\tPlainText,\n\tHeadingLevelDropdown,\n\tuseBlockEditingMode,\n} from '@wordpress/block-editor';\nimport {\n\tToggleControl,\n\tTextControl,\n\tExternalLink,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useEntityProp, store as coreStore } from '@wordpress/core-data';\nimport { useSelect } from '@wordpress/data';\nimport { createInterpolateElement } from '@wordpress/element';\nimport { useToolsPanelDropdownMenuProps } from '../utils/hooks';\n\nexport default function PostTitleEdit( {\n\tattributes: { level, levelOptions, isLink, rel, linkTarget, placeholder },\n\tsetAttributes,\n\tcontext: { postType, postId, queryId },\n} ) {\n\tconst TagName = level === 0 ? 'p' : `h${ level }`;\n\tconst isDescendentOfQueryLoop = Number.isFinite( queryId );\n\tconst userCanEdit = useSelect(\n\t\t( select ) => {\n\t\t\t/**\n\t\t\t * useCanEditEntity may trigger an OPTIONS request to the REST API\n\t\t\t * via the canUser resolver. However, when the Post Title is a\n\t\t\t * descendant of a Query Loop block, the title cannot be edited. In\n\t\t\t * order to avoid these unnecessary requests, we call the hook\n\t\t\t * without the proper data, resulting in returning early without\n\t\t\t * making them.\n\t\t\t */\n\t\t\tif ( isDescendentOfQueryLoop ) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\treturn select( coreStore ).canUser( 'update', {\n\t\t\t\tkind: 'postType',\n\t\t\t\tname: postType,\n\t\t\t\tid: postId,\n\t\t\t} );\n\t\t},\n\t\t[ isDescendentOfQueryLoop, postType, postId ]\n\t);\n\tconst [ rawTitle = '', setTitle, fullTitle ] = useEntityProp(\n\t\t'postType',\n\t\tpostType,\n\t\t'title',\n\t\tpostId\n\t);\n\tconst [ link ] = useEntityProp( 'postType', postType, 'link', postId );\n\tconst blockProps = useBlockProps();\n\tconst blockEditingMode = useBlockEditingMode();\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\n\tlet titleElement = (\n\t\t<TagName { ...blockProps }>{ placeholder || __( 'Title' ) }</TagName>\n\t);\n\n\tif ( postType && postId ) {\n\t\ttitleElement = userCanEdit ? (\n\t\t\t<PlainText\n\t\t\t\ttagName={ TagName }\n\t\t\t\tplaceholder={ __( '(no title)' ) }\n\t\t\t\tvalue={ rawTitle }\n\t\t\t\tonChange={ setTitle }\n\t\t\t\t__experimentalVersion={ 2 }\n\t\t\t\tdisableLineBreaks\n\t\t\t\t{ ...blockProps }\n\t\t\t/>\n\t\t) : (\n\t\t\t<TagName\n\t\t\t\t{ ...blockProps }\n\t\t\t\tdangerouslySetInnerHTML={ {\n\t\t\t\t\t__html: fullTitle?.rendered || __( '(no title)' ),\n\t\t\t\t} }\n\t\t\t/>\n\t\t);\n\t}\n\n\tif ( isLink && postType && postId ) {\n\t\ttitleElement = userCanEdit ? (\n\t\t\t<TagName { ...blockProps }>\n\t\t\t\t<PlainText\n\t\t\t\t\ttagName=\"a\"\n\t\t\t\t\thref={ link }\n\t\t\t\t\ttarget={ linkTarget }\n\t\t\t\t\trel={ rel }\n\t\t\t\t\tplaceholder={\n\t\t\t\t\t\t! rawTitle.length ? __( '(no title)' ) : null\n\t\t\t\t\t}\n\t\t\t\t\tvalue={ rawTitle }\n\t\t\t\t\tonChange={ setTitle }\n\t\t\t\t\t__experimentalVersion={ 2 }\n\t\t\t\t\tdisableLineBreaks\n\t\t\t\t/>\n\t\t\t</TagName>\n\t\t) : (\n\t\t\t<TagName { ...blockProps }>\n\t\t\t\t<a\n\t\t\t\t\thref={ link }\n\t\t\t\t\ttarget={ linkTarget }\n\t\t\t\t\trel={ rel }\n\t\t\t\t\tonClick={ ( event ) => event.preventDefault() }\n\t\t\t\t\tdangerouslySetInnerHTML={ {\n\t\t\t\t\t\t__html: fullTitle?.rendered || __( '(no title)' ),\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t</TagName>\n\t\t);\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t{ blockEditingMode === 'default' && (\n\t\t\t\t<>\n\t\t\t\t\t<BlockControls group=\"block\">\n\t\t\t\t\t\t<HeadingLevelDropdown\n\t\t\t\t\t\t\tvalue={ level }\n\t\t\t\t\t\t\toptions={ levelOptions }\n\t\t\t\t\t\t\tonChange={ ( newLevel ) =>\n\t\t\t\t\t\t\t\tsetAttributes( { level: newLevel } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</BlockControls>\n\t\t\t\t\t<InspectorControls>\n\t\t\t\t\t\t<ToolsPanel\n\t\t\t\t\t\t\tlabel={ __( 'Settings' ) }\n\t\t\t\t\t\t\tresetAll={ () => {\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\trel: '',\n\t\t\t\t\t\t\t\t\tlinkTarget: '_self',\n\t\t\t\t\t\t\t\t\tisLink: false,\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\t\tlabel={ __( 'Make title a link' ) }\n\t\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t\t\thasValue={ () => isLink }\n\t\t\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\t\t\tsetAttributes( { isLink: false } )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Make title a link' ) }\n\t\t\t\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\t\t\t\tsetAttributes( { isLink: ! isLink } )\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tchecked={ isLink }\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\t{ isLink && (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\t\t\t\tlabel={ __( 'Open in new tab' ) }\n\t\t\t\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t\t\t\t\thasValue={ () =>\n\t\t\t\t\t\t\t\t\t\t\tlinkTarget === '_blank'\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\t\t\tlinkTarget: '_self',\n\t\t\t\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t\t\t\tlabel={ __( 'Open in new tab' ) }\n\t\t\t\t\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\t\t\t\tlinkTarget: value\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t? '_blank'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t: '_self',\n\t\t\t\t\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tchecked={ linkTarget === '_blank' }\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\t\t\t\tlabel={ __( 'Link relation' ) }\n\t\t\t\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t\t\t\t\thasValue={ () => !! rel }\n\t\t\t\t\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\t\t\t\t\tsetAttributes( { rel: '' } )\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\t\t<TextControl\n\t\t\t\t\t\t\t\t\t\t\tlabel={ __( 'Link relation' ) }\n\t\t\t\t\t\t\t\t\t\t\thelp={ createInterpolateElement(\n\t\t\t\t\t\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t\t\t\t\t\t'The <a>Link Relation</a> attribute defines the relationship between a linked resource and the current document.'\n\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\ta: (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<ExternalLink href=\"https://developer.mozilla.org/docs/Web/HTML/Attributes/rel\" />\n\t\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\tvalue={ rel }\n\t\t\t\t\t\t\t\t\t\t\tonChange={ ( newRel ) =>\n\t\t\t\t\t\t\t\t\t\t\t\tsetAttributes( { rel: newRel } )\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</ToolsPanel>\n\t\t\t\t\t</InspectorControls>\n\t\t\t\t</>\n\t\t\t) }\n\t\t\t{ titleElement }\n\t\t</>\n\t);\n}\n"],
5
+ "mappings": "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",
6
6
  "names": ["coreStore", "ToolsPanel", "ToolsPanelItem"]
7
7
  }
@@ -1,9 +1,7 @@
1
1
  "use strict";
2
- var __create = Object.create;
3
2
  var __defProp = Object.defineProperty;
4
3
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
4
  var __getOwnPropNames = Object.getOwnPropertyNames;
6
- var __getProtoOf = Object.getPrototypeOf;
7
5
  var __hasOwnProp = Object.prototype.hasOwnProperty;
8
6
  var __export = (target, all) => {
9
7
  for (var name in all)
@@ -17,14 +15,6 @@ var __copyProps = (to, from, except, desc) => {
17
15
  }
18
16
  return to;
19
17
  };
20
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
- // If the importer is in node compatibility mode or this is not an ESM
22
- // file that has been converted to a CommonJS file using a Babel-
23
- // compatible transform (i.e. "__esModule" has not been set), then set
24
- // "default" to the CommonJS "module.exports" for node compatibility.
25
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
- mod
27
- ));
28
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
19
 
30
20
  // packages/block-library/src/private-apis.js
@@ -33,13 +23,11 @@ __export(private_apis_exports, {
33
23
  privateApis: () => privateApis
34
24
  });
35
25
  module.exports = __toCommonJS(private_apis_exports);
36
- var import_block_keyboard_shortcuts = __toESM(require("./block-keyboard-shortcuts/index.cjs"));
37
26
  var import_constants = require("./navigation/constants.cjs");
38
27
  var import_navigation_link_ui = require("./navigation/edit/navigation-link-ui.cjs");
39
28
  var import_lock_unlock = require("./lock-unlock.cjs");
40
29
  var privateApis = {};
41
30
  (0, import_lock_unlock.lock)(privateApis, {
42
- BlockKeyboardShortcuts: import_block_keyboard_shortcuts.default,
43
31
  NAVIGATION_OVERLAY_TEMPLATE_PART_AREA: import_constants.NAVIGATION_OVERLAY_TEMPLATE_PART_AREA,
44
32
  NavigationLinkUI: import_navigation_link_ui.NavigationLinkUI
45
33
  });
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../src/private-apis.js"],
4
- "sourcesContent": ["import { default as BlockKeyboardShortcuts } from './block-keyboard-shortcuts';\nimport { NAVIGATION_OVERLAY_TEMPLATE_PART_AREA } from './navigation/constants';\nimport { NavigationLinkUI } from './navigation/edit/navigation-link-ui';\nimport { lock } from './lock-unlock';\n\n/**\n * @private\n */\nexport const privateApis = {};\nlock( privateApis, {\n\tBlockKeyboardShortcuts,\n\tNAVIGATION_OVERLAY_TEMPLATE_PART_AREA,\n\tNavigationLinkUI,\n} );\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,sCAAkD;AAClD,uBAAsD;AACtD,gCAAiC;AACjC,yBAAqB;AAKd,IAAM,cAAc,CAAC;AAAA,IAC5B,yBAAM,aAAa;AAAA,EAClB,wDAAAA;AAAA,EACA;AAAA,EACA;AACD,CAAE;",
6
- "names": ["BlockKeyboardShortcuts"]
4
+ "sourcesContent": ["import { NAVIGATION_OVERLAY_TEMPLATE_PART_AREA } from './navigation/constants';\nimport { NavigationLinkUI } from './navigation/edit/navigation-link-ui';\nimport { lock } from './lock-unlock';\n\n/**\n * @private\n */\nexport const privateApis = {};\nlock( privateApis, {\n\tNAVIGATION_OVERLAY_TEMPLATE_PART_AREA,\n\tNavigationLinkUI,\n} );\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAAsD;AACtD,gCAAiC;AACjC,yBAAqB;AAKd,IAAM,cAAc,CAAC;AAAA,IAC5B,yBAAM,aAAa;AAAA,EAClB;AAAA,EACA;AACD,CAAE;",
6
+ "names": []
7
7
  }
@@ -55,6 +55,9 @@
55
55
  "align": [ "wide", "full" ],
56
56
  "html": false,
57
57
  "layout": true,
58
+ "spacing": {
59
+ "blockGap": true
60
+ },
58
61
  "interactivity": true
59
62
  },
60
63
  "editorStyle": "wp-block-query-editor"
@@ -17,6 +17,14 @@
17
17
  "gradients": true,
18
18
  "link": true
19
19
  },
20
+ "spacing": {
21
+ "padding": true,
22
+ "margin": true,
23
+ "__experimentalDefaultControls": {
24
+ "margin": false,
25
+ "padding": false
26
+ }
27
+ },
20
28
  "typography": {
21
29
  "fontSize": true,
22
30
  "lineHeight": true,
@@ -32,6 +40,13 @@
32
40
  },
33
41
  "interactivity": {
34
42
  "clientNavigation": true
43
+ },
44
+ "__experimentalBorder": {
45
+ "radius": true,
46
+ "color": true,
47
+ "width": true,
48
+ "style": true
35
49
  }
36
- }
50
+ },
51
+ "style": "wp-block-query-no-results"
37
52
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/rss/edit.js"],
4
- "sourcesContent": ["import {\n\tBlockControls,\n\tInspectorControls,\n\tuseBlockProps,\n} from '@wordpress/block-editor';\nimport {\n\tButton,\n\tPlaceholder,\n\tRangeControl,\n\tSpinner,\n\tToggleControl,\n\tToolbarGroup,\n\tTextControl,\n\tExternalLink,\n\t__experimentalInputControl as InputControl,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport { createInterpolateElement, useState } from '@wordpress/element';\nimport { grid, list, pencil, rss } from '@wordpress/icons';\nimport { __, _x, sprintf } from '@wordpress/i18n';\nimport { prependHTTPS } from '@wordpress/url';\nimport { useServerSideRender } from '@wordpress/server-side-render';\nimport { useDisabled } from '@wordpress/compose';\nimport { useToolsPanelDropdownMenuProps } from '../utils/hooks';\nimport HtmlRenderer from '../utils/html-renderer';\n\nconst DEFAULT_MIN_ITEMS = 1;\nconst DEFAULT_MAX_ITEMS = 20;\n\nexport default function RSSEdit( { attributes, setAttributes, name } ) {\n\tconst [ isEditing, setIsEditing ] = useState( ! attributes.feedURL );\n\n\tconst {\n\t\tblockLayout,\n\t\tcolumns,\n\t\tdisplayAuthor,\n\t\tdisplayDate,\n\t\tdisplayExcerpt,\n\t\texcerptLength,\n\t\tfeedURL,\n\t\titemsToShow,\n\t\topenInNewTab,\n\t\trel,\n\t} = attributes;\n\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\n\tfunction toggleAttribute( propName ) {\n\t\treturn () => {\n\t\t\tconst value = attributes[ propName ];\n\n\t\t\tsetAttributes( { [ propName ]: ! value } );\n\t\t};\n\t}\n\n\tfunction onSubmitURL( event ) {\n\t\tevent.preventDefault();\n\n\t\tif ( feedURL ) {\n\t\t\tsetAttributes( { feedURL: prependHTTPS( feedURL ) } );\n\t\t\tsetIsEditing( false );\n\t\t}\n\t}\n\n\tconst { content, status, error } = useServerSideRender( {\n\t\tattributes,\n\t\tskipBlockSupportAttributes: true,\n\t\tblock: name,\n\t} );\n\n\tconst disabledRef = useDisabled();\n\tconst blockProps = useBlockProps( { ref: isEditing ? null : disabledRef } );\n\n\tconst label = __( 'RSS URL' );\n\n\tif ( isEditing ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<Placeholder\n\t\t\t\t\ticon={ rss }\n\t\t\t\t\tlabel={ label }\n\t\t\t\t\tinstructions={ __(\n\t\t\t\t\t\t'Display entries from any RSS or Atom feed.'\n\t\t\t\t\t) }\n\t\t\t\t>\n\t\t\t\t\t<form\n\t\t\t\t\t\tonSubmit={ onSubmitURL }\n\t\t\t\t\t\tclassName=\"wp-block-rss__placeholder-form\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<InputControl\n\t\t\t\t\t\t\tlabel={ label }\n\t\t\t\t\t\t\ttype=\"url\"\n\t\t\t\t\t\t\thideLabelFromVision\n\t\t\t\t\t\t\tplaceholder={ __( 'Enter URL here…' ) }\n\t\t\t\t\t\t\tvalue={ feedURL }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( { feedURL: value } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tclassName=\"wp-block-rss__placeholder-input\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\ttype=\"submit\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Apply' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</form>\n\t\t\t\t</Placeholder>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tconst toolbarControls = [\n\t\t{\n\t\t\ticon: pencil,\n\t\t\ttitle: __( 'Edit RSS URL' ),\n\t\t\tonClick: () => setIsEditing( true ),\n\t\t},\n\t\t{\n\t\t\ticon: list,\n\t\t\ttitle: _x( 'List view', 'RSS block display setting' ),\n\t\t\tonClick: () => setAttributes( { blockLayout: 'list' } ),\n\t\t\tisActive: blockLayout === 'list',\n\t\t},\n\t\t{\n\t\t\ticon: grid,\n\t\t\ttitle: _x( 'Grid view', 'RSS block display setting' ),\n\t\t\tonClick: () => setAttributes( { blockLayout: 'grid' } ),\n\t\t\tisActive: blockLayout === 'grid',\n\t\t},\n\t];\n\n\treturn (\n\t\t<>\n\t\t\t<BlockControls>\n\t\t\t\t<ToolbarGroup controls={ toolbarControls } />\n\t\t\t</BlockControls>\n\t\t\t<InspectorControls>\n\t\t\t\t<ToolsPanel\n\t\t\t\t\tlabel={ __( 'Settings' ) }\n\t\t\t\t\tresetAll={ () => {\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\titemsToShow: 5,\n\t\t\t\t\t\t\tdisplayAuthor: false,\n\t\t\t\t\t\t\tdisplayDate: false,\n\t\t\t\t\t\t\tdisplayExcerpt: false,\n\t\t\t\t\t\t\texcerptLength: 55,\n\t\t\t\t\t\t\tcolumns: 2,\n\t\t\t\t\t\t\topenInNewTab: false,\n\t\t\t\t\t\t} );\n\t\t\t\t\t} }\n\t\t\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t\t\t>\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\tlabel={ __( 'Number of items' ) }\n\t\t\t\t\t\thasValue={ () => itemsToShow !== 5 }\n\t\t\t\t\t\tonDeselect={ () => setAttributes( { itemsToShow: 5 } ) }\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t>\n\t\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t\tlabel={ __( 'Number of items' ) }\n\t\t\t\t\t\t\tvalue={ itemsToShow }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( { itemsToShow: value } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tmin={ DEFAULT_MIN_ITEMS }\n\t\t\t\t\t\t\tmax={ DEFAULT_MAX_ITEMS }\n\t\t\t\t\t\t\trequired\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\tlabel={ __( 'Display author' ) }\n\t\t\t\t\t\thasValue={ () => !! displayAuthor }\n\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\tsetAttributes( { displayAuthor: false } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t>\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\tlabel={ __( 'Display author' ) }\n\t\t\t\t\t\t\tchecked={ displayAuthor }\n\t\t\t\t\t\t\tonChange={ toggleAttribute( 'displayAuthor' ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\tlabel={ __( 'Display date' ) }\n\t\t\t\t\t\thasValue={ () => !! displayDate }\n\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\tsetAttributes( { displayDate: false } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t>\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\tlabel={ __( 'Display date' ) }\n\t\t\t\t\t\t\tchecked={ displayDate }\n\t\t\t\t\t\t\tonChange={ toggleAttribute( 'displayDate' ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\tlabel={ __( 'Display excerpt' ) }\n\t\t\t\t\t\thasValue={ () => !! displayExcerpt }\n\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\tsetAttributes( { displayExcerpt: false } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t>\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\tlabel={ __( 'Display excerpt' ) }\n\t\t\t\t\t\t\tchecked={ displayExcerpt }\n\t\t\t\t\t\t\tonChange={ toggleAttribute( 'displayExcerpt' ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\n\t\t\t\t\t{ displayExcerpt && (\n\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\tlabel={ __( 'Max number of words in excerpt' ) }\n\t\t\t\t\t\t\thasValue={ () => excerptLength !== 55 }\n\t\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( { excerptLength: 55 } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t\t\tlabel={ __( 'Max number of words in excerpt' ) }\n\t\t\t\t\t\t\t\tvalue={ excerptLength }\n\t\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\t\tsetAttributes( { excerptLength: value } )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tmin={ 10 }\n\t\t\t\t\t\t\t\tmax={ 100 }\n\t\t\t\t\t\t\t\trequired\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t) }\n\n\t\t\t\t\t{ blockLayout === 'grid' && (\n\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\tlabel={ __( 'Columns' ) }\n\t\t\t\t\t\t\thasValue={ () => columns !== 2 }\n\t\t\t\t\t\t\tonDeselect={ () => setAttributes( { columns: 2 } ) }\n\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t\t\tlabel={ __( 'Columns' ) }\n\t\t\t\t\t\t\t\tvalue={ columns }\n\t\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\t\tsetAttributes( { columns: value } )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tmin={ 2 }\n\t\t\t\t\t\t\t\tmax={ 6 }\n\t\t\t\t\t\t\t\trequired\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t) }\n\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\tlabel={ __( 'Open links in new tab' ) }\n\t\t\t\t\t\thasValue={ () => !! openInNewTab }\n\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\tsetAttributes( { openInNewTab: false } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t>\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\tlabel={ __( 'Open links in new tab' ) }\n\t\t\t\t\t\t\tchecked={ openInNewTab }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( { openInNewTab: value } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t</ToolsPanel>\n\t\t\t</InspectorControls>\n\t\t\t<InspectorControls group=\"advanced\">\n\t\t\t\t<TextControl\n\t\t\t\t\tlabel={ __( 'Link relation' ) }\n\t\t\t\t\thelp={ createInterpolateElement(\n\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t'The <a>Link Relation</a> attribute defines the relationship between a linked resource and the current document.'\n\t\t\t\t\t\t),\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ta: (\n\t\t\t\t\t\t\t\t<ExternalLink href=\"https://developer.mozilla.org/docs/Web/HTML/Attributes/rel\" />\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\tvalue={ rel || '' }\n\t\t\t\t\tonChange={ ( value ) => setAttributes( { rel: value } ) }\n\t\t\t\t/>\n\t\t\t</InspectorControls>\n\t\t\t{ status === 'loading' && (\n\t\t\t\t<div { ...blockProps }>\n\t\t\t\t\t<Spinner />\n\t\t\t\t</div>\n\t\t\t) }\n\t\t\t{ status === 'error' && (\n\t\t\t\t<div { ...blockProps }>\n\t\t\t\t\t<p>\n\t\t\t\t\t\t{ sprintf(\n\t\t\t\t\t\t\t/* translators: %s: error message returned when rendering the block. */\n\t\t\t\t\t\t\t__( 'Error: %s' ),\n\t\t\t\t\t\t\terror\n\t\t\t\t\t\t) }\n\t\t\t\t\t</p>\n\t\t\t\t</div>\n\t\t\t) }\n\t\t\t{ status === 'success' && (\n\t\t\t\t<HtmlRenderer wrapperProps={ blockProps } html={ content } />\n\t\t\t) }\n\t\t</>\n\t);\n}\n"],
4
+ "sourcesContent": ["import {\n\tBlockControls,\n\tInspectorControls,\n\tuseBlockProps,\n} from '@wordpress/block-editor';\nimport {\n\tButton,\n\tPlaceholder,\n\tRangeControl,\n\tSpinner,\n\tToggleControl,\n\tToolbarGroup,\n\tTextControl,\n\tExternalLink,\n\t__experimentalInputControl as WCInputControl,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport { createInterpolateElement, useState } from '@wordpress/element';\nimport { grid, list, pencil, rss } from '@wordpress/icons';\nimport { __, _x, sprintf } from '@wordpress/i18n';\nimport { prependHTTPS } from '@wordpress/url';\nimport { useServerSideRender } from '@wordpress/server-side-render';\nimport { useDisabled } from '@wordpress/compose';\nimport { useToolsPanelDropdownMenuProps } from '../utils/hooks';\nimport HtmlRenderer from '../utils/html-renderer';\n\nconst DEFAULT_MIN_ITEMS = 1;\nconst DEFAULT_MAX_ITEMS = 20;\n\nexport default function RSSEdit( { attributes, setAttributes, name } ) {\n\tconst [ isEditing, setIsEditing ] = useState( ! attributes.feedURL );\n\n\tconst {\n\t\tblockLayout,\n\t\tcolumns,\n\t\tdisplayAuthor,\n\t\tdisplayDate,\n\t\tdisplayExcerpt,\n\t\texcerptLength,\n\t\tfeedURL,\n\t\titemsToShow,\n\t\topenInNewTab,\n\t\trel,\n\t} = attributes;\n\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\n\tfunction toggleAttribute( propName ) {\n\t\treturn () => {\n\t\t\tconst value = attributes[ propName ];\n\n\t\t\tsetAttributes( { [ propName ]: ! value } );\n\t\t};\n\t}\n\n\tfunction onSubmitURL( event ) {\n\t\tevent.preventDefault();\n\n\t\tif ( feedURL ) {\n\t\t\tsetAttributes( { feedURL: prependHTTPS( feedURL ) } );\n\t\t\tsetIsEditing( false );\n\t\t}\n\t}\n\n\tconst { content, status, error } = useServerSideRender( {\n\t\tattributes,\n\t\tskipBlockSupportAttributes: true,\n\t\tblock: name,\n\t} );\n\n\tconst disabledRef = useDisabled();\n\tconst blockProps = useBlockProps( { ref: isEditing ? null : disabledRef } );\n\n\tconst label = __( 'RSS URL' );\n\n\tif ( isEditing ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<Placeholder\n\t\t\t\t\ticon={ rss }\n\t\t\t\t\tlabel={ label }\n\t\t\t\t\tinstructions={ __(\n\t\t\t\t\t\t'Display entries from any RSS or Atom feed.'\n\t\t\t\t\t) }\n\t\t\t\t>\n\t\t\t\t\t<form\n\t\t\t\t\t\tonSubmit={ onSubmitURL }\n\t\t\t\t\t\tclassName=\"wp-block-rss__placeholder-form\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<WCInputControl\n\t\t\t\t\t\t\tlabel={ label }\n\t\t\t\t\t\t\ttype=\"url\"\n\t\t\t\t\t\t\thideLabelFromVision\n\t\t\t\t\t\t\tplaceholder={ __( 'Enter URL here…' ) }\n\t\t\t\t\t\t\tvalue={ feedURL }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( { feedURL: value } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tclassName=\"wp-block-rss__placeholder-input\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\ttype=\"submit\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Apply' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</form>\n\t\t\t\t</Placeholder>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tconst toolbarControls = [\n\t\t{\n\t\t\ticon: pencil,\n\t\t\ttitle: __( 'Edit RSS URL' ),\n\t\t\tonClick: () => setIsEditing( true ),\n\t\t},\n\t\t{\n\t\t\ticon: list,\n\t\t\ttitle: _x( 'List view', 'RSS block display setting' ),\n\t\t\tonClick: () => setAttributes( { blockLayout: 'list' } ),\n\t\t\tisActive: blockLayout === 'list',\n\t\t},\n\t\t{\n\t\t\ticon: grid,\n\t\t\ttitle: _x( 'Grid view', 'RSS block display setting' ),\n\t\t\tonClick: () => setAttributes( { blockLayout: 'grid' } ),\n\t\t\tisActive: blockLayout === 'grid',\n\t\t},\n\t];\n\n\treturn (\n\t\t<>\n\t\t\t<BlockControls>\n\t\t\t\t<ToolbarGroup controls={ toolbarControls } />\n\t\t\t</BlockControls>\n\t\t\t<InspectorControls>\n\t\t\t\t<ToolsPanel\n\t\t\t\t\tlabel={ __( 'Settings' ) }\n\t\t\t\t\tresetAll={ () => {\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\titemsToShow: 5,\n\t\t\t\t\t\t\tdisplayAuthor: false,\n\t\t\t\t\t\t\tdisplayDate: false,\n\t\t\t\t\t\t\tdisplayExcerpt: false,\n\t\t\t\t\t\t\texcerptLength: 55,\n\t\t\t\t\t\t\tcolumns: 2,\n\t\t\t\t\t\t\topenInNewTab: false,\n\t\t\t\t\t\t} );\n\t\t\t\t\t} }\n\t\t\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t\t\t>\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\tlabel={ __( 'Number of items' ) }\n\t\t\t\t\t\thasValue={ () => itemsToShow !== 5 }\n\t\t\t\t\t\tonDeselect={ () => setAttributes( { itemsToShow: 5 } ) }\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t>\n\t\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t\tlabel={ __( 'Number of items' ) }\n\t\t\t\t\t\t\tvalue={ itemsToShow }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( { itemsToShow: value } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tmin={ DEFAULT_MIN_ITEMS }\n\t\t\t\t\t\t\tmax={ DEFAULT_MAX_ITEMS }\n\t\t\t\t\t\t\trequired\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\tlabel={ __( 'Display author' ) }\n\t\t\t\t\t\thasValue={ () => !! displayAuthor }\n\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\tsetAttributes( { displayAuthor: false } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t>\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\tlabel={ __( 'Display author' ) }\n\t\t\t\t\t\t\tchecked={ displayAuthor }\n\t\t\t\t\t\t\tonChange={ toggleAttribute( 'displayAuthor' ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\tlabel={ __( 'Display date' ) }\n\t\t\t\t\t\thasValue={ () => !! displayDate }\n\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\tsetAttributes( { displayDate: false } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t>\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\tlabel={ __( 'Display date' ) }\n\t\t\t\t\t\t\tchecked={ displayDate }\n\t\t\t\t\t\t\tonChange={ toggleAttribute( 'displayDate' ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\tlabel={ __( 'Display excerpt' ) }\n\t\t\t\t\t\thasValue={ () => !! displayExcerpt }\n\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\tsetAttributes( { displayExcerpt: false } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t>\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\tlabel={ __( 'Display excerpt' ) }\n\t\t\t\t\t\t\tchecked={ displayExcerpt }\n\t\t\t\t\t\t\tonChange={ toggleAttribute( 'displayExcerpt' ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\n\t\t\t\t\t{ displayExcerpt && (\n\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\tlabel={ __( 'Max number of words in excerpt' ) }\n\t\t\t\t\t\t\thasValue={ () => excerptLength !== 55 }\n\t\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( { excerptLength: 55 } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t\t\tlabel={ __( 'Max number of words in excerpt' ) }\n\t\t\t\t\t\t\t\tvalue={ excerptLength }\n\t\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\t\tsetAttributes( { excerptLength: value } )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tmin={ 10 }\n\t\t\t\t\t\t\t\tmax={ 100 }\n\t\t\t\t\t\t\t\trequired\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t) }\n\n\t\t\t\t\t{ blockLayout === 'grid' && (\n\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\tlabel={ __( 'Columns' ) }\n\t\t\t\t\t\t\thasValue={ () => columns !== 2 }\n\t\t\t\t\t\t\tonDeselect={ () => setAttributes( { columns: 2 } ) }\n\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t\t\tlabel={ __( 'Columns' ) }\n\t\t\t\t\t\t\t\tvalue={ columns }\n\t\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\t\tsetAttributes( { columns: value } )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tmin={ 2 }\n\t\t\t\t\t\t\t\tmax={ 6 }\n\t\t\t\t\t\t\t\trequired\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t) }\n\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\tlabel={ __( 'Open links in new tab' ) }\n\t\t\t\t\t\thasValue={ () => !! openInNewTab }\n\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\tsetAttributes( { openInNewTab: false } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t>\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\tlabel={ __( 'Open links in new tab' ) }\n\t\t\t\t\t\t\tchecked={ openInNewTab }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( { openInNewTab: value } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t</ToolsPanel>\n\t\t\t</InspectorControls>\n\t\t\t<InspectorControls group=\"advanced\">\n\t\t\t\t<TextControl\n\t\t\t\t\tlabel={ __( 'Link relation' ) }\n\t\t\t\t\thelp={ createInterpolateElement(\n\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t'The <a>Link Relation</a> attribute defines the relationship between a linked resource and the current document.'\n\t\t\t\t\t\t),\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ta: (\n\t\t\t\t\t\t\t\t<ExternalLink href=\"https://developer.mozilla.org/docs/Web/HTML/Attributes/rel\" />\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\tvalue={ rel || '' }\n\t\t\t\t\tonChange={ ( value ) => setAttributes( { rel: value } ) }\n\t\t\t\t/>\n\t\t\t</InspectorControls>\n\t\t\t{ status === 'loading' && (\n\t\t\t\t<div { ...blockProps }>\n\t\t\t\t\t<Spinner />\n\t\t\t\t</div>\n\t\t\t) }\n\t\t\t{ status === 'error' && (\n\t\t\t\t<div { ...blockProps }>\n\t\t\t\t\t<p>\n\t\t\t\t\t\t{ sprintf(\n\t\t\t\t\t\t\t/* translators: %s: error message returned when rendering the block. */\n\t\t\t\t\t\t\t__( 'Error: %s' ),\n\t\t\t\t\t\t\terror\n\t\t\t\t\t\t) }\n\t\t\t\t\t</p>\n\t\t\t\t</div>\n\t\t\t) }\n\t\t\t{ status === 'success' && (\n\t\t\t\t<HtmlRenderer wrapperProps={ blockProps } html={ content } />\n\t\t\t) }\n\t\t</>\n\t);\n}\n"],
5
5
  "mappings": "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",
6
- "names": ["InputControl", "ToolsPanel", "ToolsPanelItem", "HtmlRenderer"]
6
+ "names": ["WCInputControl", "ToolsPanel", "ToolsPanelItem", "HtmlRenderer"]
7
7
  }
@@ -298,7 +298,7 @@ var SiteLogo = ({
298
298
  }),
299
299
  "aria-haspopup": "dialog",
300
300
  icon: import_icons.crop,
301
- label: (0, import_i18n.__)("Crop")
301
+ label: (0, import_i18n.__)("Edit image")
302
302
  }
303
303
  ) }),
304
304
  /* @__PURE__ */ (0, import_jsx_runtime.jsx)(