@wordpress/editor 14.26.0 → 14.26.1-next.719a03cbe.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 (49) hide show
  1. package/build/components/collab-sidebar/comments.js +1 -1
  2. package/build/components/collab-sidebar/comments.js.map +1 -1
  3. package/build/components/media-categories/index.js +1 -1
  4. package/build/components/media-categories/index.js.map +1 -1
  5. package/build/components/post-actions/actions.js +30 -13
  6. package/build/components/post-actions/actions.js.map +1 -1
  7. package/build/components/post-locked-modal/index.js +10 -7
  8. package/build/components/post-locked-modal/index.js.map +1 -1
  9. package/build/components/post-publish-panel/maybe-post-format-panel.js +1 -1
  10. package/build/components/post-publish-panel/maybe-post-format-panel.js.map +1 -1
  11. package/build/store/private-actions.js +1 -1
  12. package/build/store/private-actions.js.map +1 -1
  13. package/build-module/components/collab-sidebar/comments.js +1 -1
  14. package/build-module/components/collab-sidebar/comments.js.map +1 -1
  15. package/build-module/components/media-categories/index.js +1 -1
  16. package/build-module/components/media-categories/index.js.map +1 -1
  17. package/build-module/components/post-actions/actions.js +30 -13
  18. package/build-module/components/post-actions/actions.js.map +1 -1
  19. package/build-module/components/post-locked-modal/index.js +10 -9
  20. package/build-module/components/post-locked-modal/index.js.map +1 -1
  21. package/build-module/components/post-publish-panel/maybe-post-format-panel.js +1 -1
  22. package/build-module/components/post-publish-panel/maybe-post-format-panel.js.map +1 -1
  23. package/build-module/store/private-actions.js +1 -1
  24. package/build-module/store/private-actions.js.map +1 -1
  25. package/build-types/components/keyboard-shortcut-help-modal/config.d.ts +59 -3
  26. package/build-types/components/keyboard-shortcut-help-modal/config.d.ts.map +1 -1
  27. package/build-types/components/post-actions/actions.d.ts.map +1 -1
  28. package/build-types/components/post-actions/set-as-homepage.d.ts +1 -1
  29. package/build-types/components/post-actions/set-as-posts-page.d.ts +1 -1
  30. package/build-types/components/post-format/index.d.ts +30 -3
  31. package/build-types/components/post-format/index.d.ts.map +1 -1
  32. package/build-types/components/post-locked-modal/index.d.ts +53 -7
  33. package/build-types/components/post-locked-modal/index.d.ts.map +1 -1
  34. package/build-types/components/post-status/index.d.ts +20 -4
  35. package/build-types/components/post-status/index.d.ts.map +1 -1
  36. package/build-types/components/post-visibility/utils.d.ts +12 -4
  37. package/build-types/components/post-visibility/utils.d.ts.map +1 -1
  38. package/build-types/dataviews/store/reducer.d.ts +1 -1
  39. package/build-types/store/reducer.d.ts +1 -1
  40. package/build-types/utils/pageTypeBadge.d.ts +1 -1
  41. package/build-types/utils/pageTypeBadge.d.ts.map +1 -1
  42. package/package.json +37 -37
  43. package/src/components/collab-sidebar/comments.js +1 -1
  44. package/src/components/media-categories/index.js +1 -1
  45. package/src/components/post-actions/actions.js +37 -16
  46. package/src/components/post-locked-modal/index.js +12 -7
  47. package/src/components/post-publish-panel/maybe-post-format-panel.js +1 -1
  48. package/src/store/private-actions.js +1 -1
  49. package/tsconfig.tsbuildinfo +1 -1
@@ -117,7 +117,7 @@ function Thread({
117
117
  children: [!isFocused && /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.__experimentalVStack, {
118
118
  className: "editor-collab-sidebar-panel__show-more-reply",
119
119
  children: (0, _i18n.sprintf)(
120
- // translators: 1: number of replies.
120
+ // translators: %s: number of replies.
121
121
  (0, _i18n._x)('%s more replies..', 'Show replies button'), thread?.reply?.length)
122
122
  }), isFocused && thread.reply.map(reply => /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.__experimentalVStack, {
123
123
  className: "editor-collab-sidebar-panel__child-thread",
@@ -1 +1 @@
1
- {"version":3,"names":["_clsx","_interopRequireDefault","require","_element","_components","_icons","_i18n","_data","_blockEditor","_commentAuthorInfo","_commentForm","_jsxRuntime","Comments","threads","onEditComment","onAddReply","onCommentDelete","onCommentResolve","showCommentBoard","setShowCommentBoard","blockCommentId","useSelect","select","getBlockAttributes","getSelectedBlockClientId","blockEditorStore","_clientId","focusThread","setFocusThread","useState","clearThreadFocus","jsxs","Fragment","children","Array","isArray","length","jsx","__experimentalVStack","alignment","className","justify","spacing","__","map","thread","clsx","id","onClick","Thread","isFocused","CommentBoard","onResolve","onEdit","onDelete","status","reply","sprintf","_x","__experimentalHStack","default","onSubmit","inputComment","onCancel","event","stopPropagation","submitButtonText","actionState","setActionState","showConfirmDialog","setShowConfirmDialog","handleConfirmDelete","handleConfirmResolve","handleCancel","actions","title","moreActions","filter","item","avatar","author_avatar_urls","name","author_name","date","parent","Button","label","__next40pxDefaultSize","icon","published","showTooltip","DropdownMenu","moreVertical","controls","Tooltip","text","Icon","check","value","RawHTML","content","raw","__experimentalConfirmDialog","isOpen","onConfirm","confirmButtonText","cancelButtonText"],"sources":["@wordpress/editor/src/components/collab-sidebar/comments.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { useState, RawHTML } from '@wordpress/element';\nimport {\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n\t__experimentalConfirmDialog as ConfirmDialog,\n\tButton,\n\tDropdownMenu,\n\tTooltip,\n} from '@wordpress/components';\nimport { Icon, check, published, moreVertical } from '@wordpress/icons';\nimport { __, _x, sprintf } from '@wordpress/i18n';\nimport { useSelect } from '@wordpress/data';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport CommentAuthorInfo from './comment-author-info';\nimport CommentForm from './comment-form';\n\n/**\n * Renders the Comments component.\n *\n * @param {Object} props - The component props.\n * @param {Array} props.threads - The array of comment threads.\n * @param {Function} props.onEditComment - The function to handle comment editing.\n * @param {Function} props.onAddReply - The function to add a reply to a comment.\n * @param {Function} props.onCommentDelete - The function to delete a comment.\n * @param {Function} props.onCommentResolve - The function to mark a comment as resolved.\n * @param {boolean} props.showCommentBoard - Whether to show the comment board.\n * @param {Function} props.setShowCommentBoard - The function to set the comment board visibility.\n * @return {React.ReactNode} The rendered Comments component.\n */\nexport function Comments( {\n\tthreads,\n\tonEditComment,\n\tonAddReply,\n\tonCommentDelete,\n\tonCommentResolve,\n\tshowCommentBoard,\n\tsetShowCommentBoard,\n} ) {\n\tconst { blockCommentId } = useSelect( ( select ) => {\n\t\tconst { getBlockAttributes, getSelectedBlockClientId } =\n\t\t\tselect( blockEditorStore );\n\t\tconst _clientId = getSelectedBlockClientId();\n\n\t\treturn {\n\t\t\tblockCommentId: _clientId\n\t\t\t\t? getBlockAttributes( _clientId )?.blockCommentId\n\t\t\t\t: null,\n\t\t};\n\t}, [] );\n\n\tconst [ focusThread, setFocusThread ] = useState(\n\t\tshowCommentBoard && blockCommentId ? blockCommentId : null\n\t);\n\n\tconst clearThreadFocus = () => {\n\t\tsetFocusThread( null );\n\t\tsetShowCommentBoard( false );\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t{\n\t\t\t\t// If there are no comments, show a message indicating no comments are available.\n\t\t\t\t( ! Array.isArray( threads ) || threads.length === 0 ) && (\n\t\t\t\t\t<VStack\n\t\t\t\t\t\talignment=\"left\"\n\t\t\t\t\t\tclassName=\"editor-collab-sidebar-panel__thread\"\n\t\t\t\t\t\tjustify=\"flex-start\"\n\t\t\t\t\t\tspacing=\"3\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t// translators: message displayed when there are no comments available\n\t\t\t\t\t\t\t__( 'No comments available' )\n\t\t\t\t\t\t}\n\t\t\t\t\t</VStack>\n\t\t\t\t)\n\t\t\t}\n\t\t\t{ Array.isArray( threads ) &&\n\t\t\t\tthreads.length > 0 &&\n\t\t\t\tthreads.map( ( thread ) => (\n\t\t\t\t\t<VStack\n\t\t\t\t\t\tkey={ thread.id }\n\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t'editor-collab-sidebar-panel__thread',\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t'editor-collab-sidebar-panel__active-thread':\n\t\t\t\t\t\t\t\t\tblockCommentId &&\n\t\t\t\t\t\t\t\t\tblockCommentId === thread.id,\n\t\t\t\t\t\t\t\t'editor-collab-sidebar-panel__focus-thread':\n\t\t\t\t\t\t\t\t\tfocusThread && focusThread === thread.id,\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tid={ thread.id }\n\t\t\t\t\t\tspacing=\"3\"\n\t\t\t\t\t\tonClick={ () => setFocusThread( thread.id ) }\n\t\t\t\t\t>\n\t\t\t\t\t\t<Thread\n\t\t\t\t\t\t\tthread={ thread }\n\t\t\t\t\t\t\tonAddReply={ onAddReply }\n\t\t\t\t\t\t\tonCommentDelete={ onCommentDelete }\n\t\t\t\t\t\t\tonCommentResolve={ onCommentResolve }\n\t\t\t\t\t\t\tonEditComment={ onEditComment }\n\t\t\t\t\t\t\tisFocused={ focusThread === thread.id }\n\t\t\t\t\t\t\tclearThreadFocus={ clearThreadFocus }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</VStack>\n\t\t\t\t) ) }\n\t\t</>\n\t);\n}\n\nfunction Thread( {\n\tthread,\n\tonEditComment,\n\tonAddReply,\n\tonCommentDelete,\n\tonCommentResolve,\n\tisFocused,\n\tclearThreadFocus,\n} ) {\n\treturn (\n\t\t<>\n\t\t\t<CommentBoard\n\t\t\t\tthread={ thread }\n\t\t\t\tonResolve={ onCommentResolve }\n\t\t\t\tonEdit={ onEditComment }\n\t\t\t\tonDelete={ onCommentDelete }\n\t\t\t\tstatus={ thread.status }\n\t\t\t/>\n\t\t\t{ 0 < thread?.reply?.length && (\n\t\t\t\t<>\n\t\t\t\t\t{ ! isFocused && (\n\t\t\t\t\t\t<VStack className=\"editor-collab-sidebar-panel__show-more-reply\">\n\t\t\t\t\t\t\t{ sprintf(\n\t\t\t\t\t\t\t\t// translators: 1: number of replies.\n\t\t\t\t\t\t\t\t_x(\n\t\t\t\t\t\t\t\t\t'%s more replies..',\n\t\t\t\t\t\t\t\t\t'Show replies button'\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\tthread?.reply?.length\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</VStack>\n\t\t\t\t\t) }\n\n\t\t\t\t\t{ isFocused &&\n\t\t\t\t\t\tthread.reply.map( ( reply ) => (\n\t\t\t\t\t\t\t<VStack\n\t\t\t\t\t\t\t\tkey={ reply.id }\n\t\t\t\t\t\t\t\tclassName=\"editor-collab-sidebar-panel__child-thread\"\n\t\t\t\t\t\t\t\tid={ reply.id }\n\t\t\t\t\t\t\t\tspacing=\"2\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ 'approved' !== thread.status && (\n\t\t\t\t\t\t\t\t\t<CommentBoard\n\t\t\t\t\t\t\t\t\t\tthread={ reply }\n\t\t\t\t\t\t\t\t\t\tonEdit={ onEditComment }\n\t\t\t\t\t\t\t\t\t\tonDelete={ onCommentDelete }\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{ 'approved' === thread.status && (\n\t\t\t\t\t\t\t\t\t<CommentBoard thread={ reply } />\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</VStack>\n\t\t\t\t\t\t) ) }\n\t\t\t\t</>\n\t\t\t) }\n\t\t\t{ 'approved' !== thread.status && isFocused && (\n\t\t\t\t<VStack\n\t\t\t\t\tclassName=\"editor-collab-sidebar-panel__child-thread\"\n\t\t\t\t\tspacing=\"2\"\n\t\t\t\t>\n\t\t\t\t\t<HStack alignment=\"left\" spacing=\"3\" justify=\"flex-start\">\n\t\t\t\t\t\t<CommentAuthorInfo />\n\t\t\t\t\t</HStack>\n\t\t\t\t\t<VStack\n\t\t\t\t\t\tspacing=\"3\"\n\t\t\t\t\t\tclassName=\"editor-collab-sidebar-panel__comment-field\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<CommentForm\n\t\t\t\t\t\t\tonSubmit={ ( inputComment ) => {\n\t\t\t\t\t\t\t\tonAddReply( inputComment, thread.id );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tonCancel={ ( event ) => {\n\t\t\t\t\t\t\t\tevent.stopPropagation(); // Prevent the parent onClick from being triggered\n\t\t\t\t\t\t\t\tclearThreadFocus();\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tsubmitButtonText={ _x(\n\t\t\t\t\t\t\t\t'Reply',\n\t\t\t\t\t\t\t\t'Add reply comment'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</VStack>\n\t\t\t\t</VStack>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nconst CommentBoard = ( { thread, onResolve, onEdit, onDelete, status } ) => {\n\tconst [ actionState, setActionState ] = useState( false );\n\tconst [ showConfirmDialog, setShowConfirmDialog ] = useState( false );\n\n\tconst handleConfirmDelete = () => {\n\t\tonDelete( thread.id );\n\t\tsetActionState( false );\n\t\tsetShowConfirmDialog( false );\n\t};\n\n\tconst handleConfirmResolve = () => {\n\t\tonResolve( thread.id );\n\t\tsetActionState( false );\n\t\tsetShowConfirmDialog( false );\n\t};\n\n\tconst handleCancel = () => {\n\t\tsetActionState( false );\n\t\tsetShowConfirmDialog( false );\n\t};\n\n\tconst actions = [\n\t\tonEdit && {\n\t\t\ttitle: _x( 'Edit', 'Edit comment' ),\n\t\t\tonClick: () => {\n\t\t\t\tsetActionState( 'edit' );\n\t\t\t},\n\t\t},\n\t\tonDelete && {\n\t\t\ttitle: _x( 'Delete', 'Delete comment' ),\n\t\t\tonClick: () => {\n\t\t\t\tsetActionState( 'delete' );\n\t\t\t\tsetShowConfirmDialog( true );\n\t\t\t},\n\t\t},\n\t];\n\n\tconst moreActions = actions.filter( ( item ) => item?.onClick );\n\n\treturn (\n\t\t<>\n\t\t\t<HStack alignment=\"left\" spacing=\"3\" justify=\"flex-start\">\n\t\t\t\t<CommentAuthorInfo\n\t\t\t\t\tavatar={ thread?.author_avatar_urls?.[ 48 ] }\n\t\t\t\t\tname={ thread?.author_name }\n\t\t\t\t\tdate={ thread?.date }\n\t\t\t\t/>\n\t\t\t\t<span className=\"editor-collab-sidebar-panel__comment-status\">\n\t\t\t\t\t{ status !== 'approved' && (\n\t\t\t\t\t\t<HStack\n\t\t\t\t\t\t\talignment=\"right\"\n\t\t\t\t\t\t\tjustify=\"flex-end\"\n\t\t\t\t\t\t\tspacing=\"0\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ 0 === thread?.parent && onResolve && (\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\tlabel={ _x(\n\t\t\t\t\t\t\t\t\t\t'Resolve',\n\t\t\t\t\t\t\t\t\t\t'Mark comment as resolved'\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\t\ticon={ published }\n\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\tsetActionState( 'resolve' );\n\t\t\t\t\t\t\t\t\t\tsetShowConfirmDialog( true );\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\tshowTooltip\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{ 0 < moreActions.length && (\n\t\t\t\t\t\t\t\t<DropdownMenu\n\t\t\t\t\t\t\t\t\ticon={ moreVertical }\n\t\t\t\t\t\t\t\t\tlabel={ _x(\n\t\t\t\t\t\t\t\t\t\t'Select an action',\n\t\t\t\t\t\t\t\t\t\t'Select comment action'\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\tclassName=\"editor-collab-sidebar-panel__comment-dropdown-menu\"\n\t\t\t\t\t\t\t\t\tcontrols={ moreActions }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</HStack>\n\t\t\t\t\t) }\n\t\t\t\t\t{ status === 'approved' && (\n\t\t\t\t\t\t// translators: tooltip for resolved comment\n\t\t\t\t\t\t<Tooltip text={ __( 'Resolved' ) }>\n\t\t\t\t\t\t\t<Icon icon={ check } />\n\t\t\t\t\t\t</Tooltip>\n\t\t\t\t\t) }\n\t\t\t\t</span>\n\t\t\t</HStack>\n\t\t\t<HStack\n\t\t\t\talignment=\"left\"\n\t\t\t\tspacing=\"3\"\n\t\t\t\tjustify=\"flex-start\"\n\t\t\t\tclassName=\"editor-collab-sidebar-panel__user-comment\"\n\t\t\t>\n\t\t\t\t<VStack\n\t\t\t\t\tspacing=\"3\"\n\t\t\t\t\tclassName=\"editor-collab-sidebar-panel__comment-field\"\n\t\t\t\t>\n\t\t\t\t\t{ 'edit' === actionState && (\n\t\t\t\t\t\t<CommentForm\n\t\t\t\t\t\t\tonSubmit={ ( value ) => {\n\t\t\t\t\t\t\t\tonEdit( thread.id, value );\n\t\t\t\t\t\t\t\tsetActionState( false );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tonCancel={ () => handleCancel() }\n\t\t\t\t\t\t\tthread={ thread }\n\t\t\t\t\t\t\tsubmitButtonText={ _x( 'Update', 'verb' ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ 'edit' !== actionState && (\n\t\t\t\t\t\t<RawHTML>{ thread?.content?.raw }</RawHTML>\n\t\t\t\t\t) }\n\t\t\t\t</VStack>\n\t\t\t</HStack>\n\t\t\t{ 'resolve' === actionState && (\n\t\t\t\t<ConfirmDialog\n\t\t\t\t\tisOpen={ showConfirmDialog }\n\t\t\t\t\tonConfirm={ handleConfirmResolve }\n\t\t\t\t\tonCancel={ handleCancel }\n\t\t\t\t\tconfirmButtonText=\"Yes\"\n\t\t\t\t\tcancelButtonText=\"No\"\n\t\t\t\t>\n\t\t\t\t\t{\n\t\t\t\t\t\t// translators: message displayed when confirming an action\n\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t'Are you sure you want to mark this comment as resolved?'\n\t\t\t\t\t\t)\n\t\t\t\t\t}\n\t\t\t\t</ConfirmDialog>\n\t\t\t) }\n\t\t\t{ 'delete' === actionState && (\n\t\t\t\t<ConfirmDialog\n\t\t\t\t\tisOpen={ showConfirmDialog }\n\t\t\t\t\tonConfirm={ handleConfirmDelete }\n\t\t\t\t\tonCancel={ handleCancel }\n\t\t\t\t\tconfirmButtonText=\"Yes\"\n\t\t\t\t\tcancelButtonText=\"No\"\n\t\t\t\t>\n\t\t\t\t\t{\n\t\t\t\t\t\t// translators: message displayed when confirming an action\n\t\t\t\t\t\t__( 'Are you sure you want to delete this comment?' )\n\t\t\t\t\t}\n\t\t\t\t</ConfirmDialog>\n\t\t\t) }\n\t\t</>\n\t);\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_clsx","_interopRequireDefault","require","_element","_components","_icons","_i18n","_data","_blockEditor","_commentAuthorInfo","_commentForm","_jsxRuntime","Comments","threads","onEditComment","onAddReply","onCommentDelete","onCommentResolve","showCommentBoard","setShowCommentBoard","blockCommentId","useSelect","select","getBlockAttributes","getSelectedBlockClientId","blockEditorStore","_clientId","focusThread","setFocusThread","useState","clearThreadFocus","jsxs","Fragment","children","Array","isArray","length","jsx","__experimentalVStack","alignment","className","justify","spacing","__","map","thread","clsx","id","onClick","Thread","isFocused","CommentBoard","onResolve","onEdit","onDelete","status","reply","sprintf","_x","__experimentalHStack","default","onSubmit","inputComment","onCancel","event","stopPropagation","submitButtonText","actionState","setActionState","showConfirmDialog","setShowConfirmDialog","handleConfirmDelete","handleConfirmResolve","handleCancel","actions","title","moreActions","filter","item","avatar","author_avatar_urls","name","author_name","date","parent","Button","label","__next40pxDefaultSize","icon","published","showTooltip","DropdownMenu","moreVertical","controls","Tooltip","text","Icon","check","value","RawHTML","content","raw","__experimentalConfirmDialog","isOpen","onConfirm","confirmButtonText","cancelButtonText"],"sources":["@wordpress/editor/src/components/collab-sidebar/comments.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { useState, RawHTML } from '@wordpress/element';\nimport {\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n\t__experimentalConfirmDialog as ConfirmDialog,\n\tButton,\n\tDropdownMenu,\n\tTooltip,\n} from '@wordpress/components';\nimport { Icon, check, published, moreVertical } from '@wordpress/icons';\nimport { __, _x, sprintf } from '@wordpress/i18n';\nimport { useSelect } from '@wordpress/data';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport CommentAuthorInfo from './comment-author-info';\nimport CommentForm from './comment-form';\n\n/**\n * Renders the Comments component.\n *\n * @param {Object} props - The component props.\n * @param {Array} props.threads - The array of comment threads.\n * @param {Function} props.onEditComment - The function to handle comment editing.\n * @param {Function} props.onAddReply - The function to add a reply to a comment.\n * @param {Function} props.onCommentDelete - The function to delete a comment.\n * @param {Function} props.onCommentResolve - The function to mark a comment as resolved.\n * @param {boolean} props.showCommentBoard - Whether to show the comment board.\n * @param {Function} props.setShowCommentBoard - The function to set the comment board visibility.\n * @return {React.ReactNode} The rendered Comments component.\n */\nexport function Comments( {\n\tthreads,\n\tonEditComment,\n\tonAddReply,\n\tonCommentDelete,\n\tonCommentResolve,\n\tshowCommentBoard,\n\tsetShowCommentBoard,\n} ) {\n\tconst { blockCommentId } = useSelect( ( select ) => {\n\t\tconst { getBlockAttributes, getSelectedBlockClientId } =\n\t\t\tselect( blockEditorStore );\n\t\tconst _clientId = getSelectedBlockClientId();\n\n\t\treturn {\n\t\t\tblockCommentId: _clientId\n\t\t\t\t? getBlockAttributes( _clientId )?.blockCommentId\n\t\t\t\t: null,\n\t\t};\n\t}, [] );\n\n\tconst [ focusThread, setFocusThread ] = useState(\n\t\tshowCommentBoard && blockCommentId ? blockCommentId : null\n\t);\n\n\tconst clearThreadFocus = () => {\n\t\tsetFocusThread( null );\n\t\tsetShowCommentBoard( false );\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t{\n\t\t\t\t// If there are no comments, show a message indicating no comments are available.\n\t\t\t\t( ! Array.isArray( threads ) || threads.length === 0 ) && (\n\t\t\t\t\t<VStack\n\t\t\t\t\t\talignment=\"left\"\n\t\t\t\t\t\tclassName=\"editor-collab-sidebar-panel__thread\"\n\t\t\t\t\t\tjustify=\"flex-start\"\n\t\t\t\t\t\tspacing=\"3\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t// translators: message displayed when there are no comments available\n\t\t\t\t\t\t\t__( 'No comments available' )\n\t\t\t\t\t\t}\n\t\t\t\t\t</VStack>\n\t\t\t\t)\n\t\t\t}\n\t\t\t{ Array.isArray( threads ) &&\n\t\t\t\tthreads.length > 0 &&\n\t\t\t\tthreads.map( ( thread ) => (\n\t\t\t\t\t<VStack\n\t\t\t\t\t\tkey={ thread.id }\n\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t'editor-collab-sidebar-panel__thread',\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t'editor-collab-sidebar-panel__active-thread':\n\t\t\t\t\t\t\t\t\tblockCommentId &&\n\t\t\t\t\t\t\t\t\tblockCommentId === thread.id,\n\t\t\t\t\t\t\t\t'editor-collab-sidebar-panel__focus-thread':\n\t\t\t\t\t\t\t\t\tfocusThread && focusThread === thread.id,\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tid={ thread.id }\n\t\t\t\t\t\tspacing=\"3\"\n\t\t\t\t\t\tonClick={ () => setFocusThread( thread.id ) }\n\t\t\t\t\t>\n\t\t\t\t\t\t<Thread\n\t\t\t\t\t\t\tthread={ thread }\n\t\t\t\t\t\t\tonAddReply={ onAddReply }\n\t\t\t\t\t\t\tonCommentDelete={ onCommentDelete }\n\t\t\t\t\t\t\tonCommentResolve={ onCommentResolve }\n\t\t\t\t\t\t\tonEditComment={ onEditComment }\n\t\t\t\t\t\t\tisFocused={ focusThread === thread.id }\n\t\t\t\t\t\t\tclearThreadFocus={ clearThreadFocus }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</VStack>\n\t\t\t\t) ) }\n\t\t</>\n\t);\n}\n\nfunction Thread( {\n\tthread,\n\tonEditComment,\n\tonAddReply,\n\tonCommentDelete,\n\tonCommentResolve,\n\tisFocused,\n\tclearThreadFocus,\n} ) {\n\treturn (\n\t\t<>\n\t\t\t<CommentBoard\n\t\t\t\tthread={ thread }\n\t\t\t\tonResolve={ onCommentResolve }\n\t\t\t\tonEdit={ onEditComment }\n\t\t\t\tonDelete={ onCommentDelete }\n\t\t\t\tstatus={ thread.status }\n\t\t\t/>\n\t\t\t{ 0 < thread?.reply?.length && (\n\t\t\t\t<>\n\t\t\t\t\t{ ! isFocused && (\n\t\t\t\t\t\t<VStack className=\"editor-collab-sidebar-panel__show-more-reply\">\n\t\t\t\t\t\t\t{ sprintf(\n\t\t\t\t\t\t\t\t// translators: %s: number of replies.\n\t\t\t\t\t\t\t\t_x(\n\t\t\t\t\t\t\t\t\t'%s more replies..',\n\t\t\t\t\t\t\t\t\t'Show replies button'\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\tthread?.reply?.length\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</VStack>\n\t\t\t\t\t) }\n\n\t\t\t\t\t{ isFocused &&\n\t\t\t\t\t\tthread.reply.map( ( reply ) => (\n\t\t\t\t\t\t\t<VStack\n\t\t\t\t\t\t\t\tkey={ reply.id }\n\t\t\t\t\t\t\t\tclassName=\"editor-collab-sidebar-panel__child-thread\"\n\t\t\t\t\t\t\t\tid={ reply.id }\n\t\t\t\t\t\t\t\tspacing=\"2\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ 'approved' !== thread.status && (\n\t\t\t\t\t\t\t\t\t<CommentBoard\n\t\t\t\t\t\t\t\t\t\tthread={ reply }\n\t\t\t\t\t\t\t\t\t\tonEdit={ onEditComment }\n\t\t\t\t\t\t\t\t\t\tonDelete={ onCommentDelete }\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{ 'approved' === thread.status && (\n\t\t\t\t\t\t\t\t\t<CommentBoard thread={ reply } />\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</VStack>\n\t\t\t\t\t\t) ) }\n\t\t\t\t</>\n\t\t\t) }\n\t\t\t{ 'approved' !== thread.status && isFocused && (\n\t\t\t\t<VStack\n\t\t\t\t\tclassName=\"editor-collab-sidebar-panel__child-thread\"\n\t\t\t\t\tspacing=\"2\"\n\t\t\t\t>\n\t\t\t\t\t<HStack alignment=\"left\" spacing=\"3\" justify=\"flex-start\">\n\t\t\t\t\t\t<CommentAuthorInfo />\n\t\t\t\t\t</HStack>\n\t\t\t\t\t<VStack\n\t\t\t\t\t\tspacing=\"3\"\n\t\t\t\t\t\tclassName=\"editor-collab-sidebar-panel__comment-field\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<CommentForm\n\t\t\t\t\t\t\tonSubmit={ ( inputComment ) => {\n\t\t\t\t\t\t\t\tonAddReply( inputComment, thread.id );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tonCancel={ ( event ) => {\n\t\t\t\t\t\t\t\tevent.stopPropagation(); // Prevent the parent onClick from being triggered\n\t\t\t\t\t\t\t\tclearThreadFocus();\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tsubmitButtonText={ _x(\n\t\t\t\t\t\t\t\t'Reply',\n\t\t\t\t\t\t\t\t'Add reply comment'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</VStack>\n\t\t\t\t</VStack>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nconst CommentBoard = ( { thread, onResolve, onEdit, onDelete, status } ) => {\n\tconst [ actionState, setActionState ] = useState( false );\n\tconst [ showConfirmDialog, setShowConfirmDialog ] = useState( false );\n\n\tconst handleConfirmDelete = () => {\n\t\tonDelete( thread.id );\n\t\tsetActionState( false );\n\t\tsetShowConfirmDialog( false );\n\t};\n\n\tconst handleConfirmResolve = () => {\n\t\tonResolve( thread.id );\n\t\tsetActionState( false );\n\t\tsetShowConfirmDialog( false );\n\t};\n\n\tconst handleCancel = () => {\n\t\tsetActionState( false );\n\t\tsetShowConfirmDialog( false );\n\t};\n\n\tconst actions = [\n\t\tonEdit && {\n\t\t\ttitle: _x( 'Edit', 'Edit comment' ),\n\t\t\tonClick: () => {\n\t\t\t\tsetActionState( 'edit' );\n\t\t\t},\n\t\t},\n\t\tonDelete && {\n\t\t\ttitle: _x( 'Delete', 'Delete comment' ),\n\t\t\tonClick: () => {\n\t\t\t\tsetActionState( 'delete' );\n\t\t\t\tsetShowConfirmDialog( true );\n\t\t\t},\n\t\t},\n\t];\n\n\tconst moreActions = actions.filter( ( item ) => item?.onClick );\n\n\treturn (\n\t\t<>\n\t\t\t<HStack alignment=\"left\" spacing=\"3\" justify=\"flex-start\">\n\t\t\t\t<CommentAuthorInfo\n\t\t\t\t\tavatar={ thread?.author_avatar_urls?.[ 48 ] }\n\t\t\t\t\tname={ thread?.author_name }\n\t\t\t\t\tdate={ thread?.date }\n\t\t\t\t/>\n\t\t\t\t<span className=\"editor-collab-sidebar-panel__comment-status\">\n\t\t\t\t\t{ status !== 'approved' && (\n\t\t\t\t\t\t<HStack\n\t\t\t\t\t\t\talignment=\"right\"\n\t\t\t\t\t\t\tjustify=\"flex-end\"\n\t\t\t\t\t\t\tspacing=\"0\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ 0 === thread?.parent && onResolve && (\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\tlabel={ _x(\n\t\t\t\t\t\t\t\t\t\t'Resolve',\n\t\t\t\t\t\t\t\t\t\t'Mark comment as resolved'\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\t\ticon={ published }\n\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\tsetActionState( 'resolve' );\n\t\t\t\t\t\t\t\t\t\tsetShowConfirmDialog( true );\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\tshowTooltip\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{ 0 < moreActions.length && (\n\t\t\t\t\t\t\t\t<DropdownMenu\n\t\t\t\t\t\t\t\t\ticon={ moreVertical }\n\t\t\t\t\t\t\t\t\tlabel={ _x(\n\t\t\t\t\t\t\t\t\t\t'Select an action',\n\t\t\t\t\t\t\t\t\t\t'Select comment action'\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\tclassName=\"editor-collab-sidebar-panel__comment-dropdown-menu\"\n\t\t\t\t\t\t\t\t\tcontrols={ moreActions }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</HStack>\n\t\t\t\t\t) }\n\t\t\t\t\t{ status === 'approved' && (\n\t\t\t\t\t\t// translators: tooltip for resolved comment\n\t\t\t\t\t\t<Tooltip text={ __( 'Resolved' ) }>\n\t\t\t\t\t\t\t<Icon icon={ check } />\n\t\t\t\t\t\t</Tooltip>\n\t\t\t\t\t) }\n\t\t\t\t</span>\n\t\t\t</HStack>\n\t\t\t<HStack\n\t\t\t\talignment=\"left\"\n\t\t\t\tspacing=\"3\"\n\t\t\t\tjustify=\"flex-start\"\n\t\t\t\tclassName=\"editor-collab-sidebar-panel__user-comment\"\n\t\t\t>\n\t\t\t\t<VStack\n\t\t\t\t\tspacing=\"3\"\n\t\t\t\t\tclassName=\"editor-collab-sidebar-panel__comment-field\"\n\t\t\t\t>\n\t\t\t\t\t{ 'edit' === actionState && (\n\t\t\t\t\t\t<CommentForm\n\t\t\t\t\t\t\tonSubmit={ ( value ) => {\n\t\t\t\t\t\t\t\tonEdit( thread.id, value );\n\t\t\t\t\t\t\t\tsetActionState( false );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tonCancel={ () => handleCancel() }\n\t\t\t\t\t\t\tthread={ thread }\n\t\t\t\t\t\t\tsubmitButtonText={ _x( 'Update', 'verb' ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ 'edit' !== actionState && (\n\t\t\t\t\t\t<RawHTML>{ thread?.content?.raw }</RawHTML>\n\t\t\t\t\t) }\n\t\t\t\t</VStack>\n\t\t\t</HStack>\n\t\t\t{ 'resolve' === actionState && (\n\t\t\t\t<ConfirmDialog\n\t\t\t\t\tisOpen={ showConfirmDialog }\n\t\t\t\t\tonConfirm={ handleConfirmResolve }\n\t\t\t\t\tonCancel={ handleCancel }\n\t\t\t\t\tconfirmButtonText=\"Yes\"\n\t\t\t\t\tcancelButtonText=\"No\"\n\t\t\t\t>\n\t\t\t\t\t{\n\t\t\t\t\t\t// translators: message displayed when confirming an action\n\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t'Are you sure you want to mark this comment as resolved?'\n\t\t\t\t\t\t)\n\t\t\t\t\t}\n\t\t\t\t</ConfirmDialog>\n\t\t\t) }\n\t\t\t{ 'delete' === actionState && (\n\t\t\t\t<ConfirmDialog\n\t\t\t\t\tisOpen={ showConfirmDialog }\n\t\t\t\t\tonConfirm={ handleConfirmDelete }\n\t\t\t\t\tonCancel={ handleCancel }\n\t\t\t\t\tconfirmButtonText=\"Yes\"\n\t\t\t\t\tcancelButtonText=\"No\"\n\t\t\t\t>\n\t\t\t\t\t{\n\t\t\t\t\t\t// translators: message displayed when confirming an action\n\t\t\t\t\t\t__( 'Are you sure you want to delete this comment?' )\n\t\t\t\t\t}\n\t\t\t\t</ConfirmDialog>\n\t\t\t) }\n\t\t</>\n\t);\n};\n"],"mappings":"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","ignoreList":[]}
@@ -64,7 +64,7 @@ const getOpenverseCaption = item => {
64
64
  let _caption;
65
65
  if (_creator) {
66
66
  _caption = title ? (0, _i18n.sprintf)(
67
- // translators: %1s: Title of a media work from Openverse; %2s: Name of the work's creator; %3s: Work's licence e.g: "CC0 1.0".
67
+ // translators: %1s: Title of a media work from Openverse; %2$s: Name of the work's creator; %3s: Work's licence e.g: "CC0 1.0".
68
68
  (0, _i18n._x)('"%1$s" by %2$s/ %3$s', 'caption'), getExternalLink(foreignLandingUrl, (0, _htmlEntities.decodeEntities)(title)), creatorUrl ? getExternalLink(creatorUrl, _creator) : _creator, licenseUrl ? getExternalLink(`${licenseUrl}?ref=openverse`, fullLicense) : fullLicense) : (0, _i18n.sprintf)(
69
69
  // translators: %1s: Link attributes for a given Openverse media work; %2s: Name of the work's creator; %3s: Works's licence e.g: "CC0 1.0".
70
70
  (0, _i18n._x)('<a %1$s>Work</a> by %2$s/ %3$s', 'caption'), getExternalLinkAttributes(foreignLandingUrl), creatorUrl ? getExternalLink(creatorUrl, _creator) : _creator, licenseUrl ? getExternalLink(`${licenseUrl}?ref=openverse`, fullLicense) : fullLicense);
@@ -1 +1 @@
1
- {"version":3,"names":["_i18n","require","_data","_htmlEntities","_coreData","getExternalLink","url","text","getExternalLinkAttributes","getOpenverseLicense","license","licenseVersion","licenseName","trim","toUpperCase","replace","includes","getOpenverseCaption","item","title","foreign_landing_url","foreignLandingUrl","creator","creator_url","creatorUrl","license_version","license_url","licenseUrl","fullLicense","_creator","decodeEntities","_caption","sprintf","_x","coreMediaFetch","query","mediaItems","resolveSelect","coreStore","getMediaItems","orderBy","search","map","mediaItem","alt","alt_text","source_url","previewUrl","media_details","sizes","medium","caption","raw","inserterMediaCategories","name","labels","__","search_items","mediaType","fetch","media_type","defaultArgs","mature","excluded_source","finalQuery","mapFromInserterMediaRequest","per_page","URL","Object","entries","forEach","key","value","queryKey","searchParams","set","response","window","headers","jsonResponse","json","results","result","toLowerCase","startsWith","slice","sourceId","id","undefined","thumbnail","getReportUrl","isExternalResource","_default","exports","default"],"sources":["@wordpress/editor/src/components/media-categories/index.js"],"sourcesContent":["/**\n * The `editor` settings here need to be in sync with the corresponding ones in `editor` package.\n * See `packages/editor/src/components/media-categories/index.js`.\n *\n * In the future we could consider creating an Openvese package that can be used in both `editor` and `site-editor`.\n * The rest of the settings would still need to be in sync though.\n */\n\n/**\n * WordPress dependencies\n */\nimport { __, sprintf, _x } from '@wordpress/i18n';\nimport { resolveSelect } from '@wordpress/data';\nimport { decodeEntities } from '@wordpress/html-entities';\n\n/**\n * Internal dependencies\n */\nimport { store as coreStore } from '@wordpress/core-data';\n\n/** @typedef {import('@wordpress/block-editor').InserterMediaRequest} InserterMediaRequest */\n/** @typedef {import('@wordpress/block-editor').InserterMediaItem} InserterMediaItem */\n/** @typedef {import('@wordpress/block-editor').InserterMediaCategory} InserterMediaCategory */\n\nconst getExternalLink = ( url, text ) =>\n\t`<a ${ getExternalLinkAttributes( url ) }>${ text }</a>`;\n\nconst getExternalLinkAttributes = ( url ) =>\n\t`href=\"${ url }\" target=\"_blank\" rel=\"noreferrer noopener\"`;\n\nconst getOpenverseLicense = ( license, licenseVersion ) => {\n\tlet licenseName = license.trim();\n\t// PDM has no abbreviation\n\tif ( license !== 'pdm' ) {\n\t\tlicenseName = license.toUpperCase().replace( 'SAMPLING', 'Sampling' );\n\t}\n\t// If version is known, append version to the name.\n\t// The license has to have a version to be valid. Only\n\t// PDM (public domain mark) doesn't have a version.\n\tif ( licenseVersion ) {\n\t\tlicenseName += ` ${ licenseVersion }`;\n\t}\n\t// For licenses other than public-domain marks, prepend 'CC' to the name.\n\tif ( ! [ 'pdm', 'cc0' ].includes( license ) ) {\n\t\tlicenseName = `CC ${ licenseName }`;\n\t}\n\treturn licenseName;\n};\n\nconst getOpenverseCaption = ( item ) => {\n\tconst {\n\t\ttitle,\n\t\tforeign_landing_url: foreignLandingUrl,\n\t\tcreator,\n\t\tcreator_url: creatorUrl,\n\t\tlicense,\n\t\tlicense_version: licenseVersion,\n\t\tlicense_url: licenseUrl,\n\t} = item;\n\tconst fullLicense = getOpenverseLicense( license, licenseVersion );\n\tconst _creator = decodeEntities( creator );\n\tlet _caption;\n\tif ( _creator ) {\n\t\t_caption = title\n\t\t\t? sprintf(\n\t\t\t\t\t// translators: %1s: Title of a media work from Openverse; %2s: Name of the work's creator; %3s: Work's licence e.g: \"CC0 1.0\".\n\t\t\t\t\t_x( '\"%1$s\" by %2$s/ %3$s', 'caption' ),\n\t\t\t\t\tgetExternalLink(\n\t\t\t\t\t\tforeignLandingUrl,\n\t\t\t\t\t\tdecodeEntities( title )\n\t\t\t\t\t),\n\t\t\t\t\tcreatorUrl\n\t\t\t\t\t\t? getExternalLink( creatorUrl, _creator )\n\t\t\t\t\t\t: _creator,\n\t\t\t\t\tlicenseUrl\n\t\t\t\t\t\t? getExternalLink(\n\t\t\t\t\t\t\t\t`${ licenseUrl }?ref=openverse`,\n\t\t\t\t\t\t\t\tfullLicense\n\t\t\t\t\t\t )\n\t\t\t\t\t\t: fullLicense\n\t\t\t )\n\t\t\t: sprintf(\n\t\t\t\t\t// translators: %1s: Link attributes for a given Openverse media work; %2s: Name of the work's creator; %3s: Works's licence e.g: \"CC0 1.0\".\n\t\t\t\t\t_x( '<a %1$s>Work</a> by %2$s/ %3$s', 'caption' ),\n\t\t\t\t\tgetExternalLinkAttributes( foreignLandingUrl ),\n\t\t\t\t\tcreatorUrl\n\t\t\t\t\t\t? getExternalLink( creatorUrl, _creator )\n\t\t\t\t\t\t: _creator,\n\t\t\t\t\tlicenseUrl\n\t\t\t\t\t\t? getExternalLink(\n\t\t\t\t\t\t\t\t`${ licenseUrl }?ref=openverse`,\n\t\t\t\t\t\t\t\tfullLicense\n\t\t\t\t\t\t )\n\t\t\t\t\t\t: fullLicense\n\t\t\t );\n\t} else {\n\t\t_caption = title\n\t\t\t? sprintf(\n\t\t\t\t\t// translators: %1s: Title of a media work from Openverse; %2s: Work's licence e.g: \"CC0 1.0\".\n\t\t\t\t\t_x( '\"%1$s\"/ %2$s', 'caption' ),\n\t\t\t\t\tgetExternalLink(\n\t\t\t\t\t\tforeignLandingUrl,\n\t\t\t\t\t\tdecodeEntities( title )\n\t\t\t\t\t),\n\t\t\t\t\tlicenseUrl\n\t\t\t\t\t\t? getExternalLink(\n\t\t\t\t\t\t\t\t`${ licenseUrl }?ref=openverse`,\n\t\t\t\t\t\t\t\tfullLicense\n\t\t\t\t\t\t )\n\t\t\t\t\t\t: fullLicense\n\t\t\t )\n\t\t\t: sprintf(\n\t\t\t\t\t// translators: %1s: Link attributes for a given Openverse media work; %2s: Works's licence e.g: \"CC0 1.0\".\n\t\t\t\t\t_x( '<a %1$s>Work</a>/ %2$s', 'caption' ),\n\t\t\t\t\tgetExternalLinkAttributes( foreignLandingUrl ),\n\t\t\t\t\tlicenseUrl\n\t\t\t\t\t\t? getExternalLink(\n\t\t\t\t\t\t\t\t`${ licenseUrl }?ref=openverse`,\n\t\t\t\t\t\t\t\tfullLicense\n\t\t\t\t\t\t )\n\t\t\t\t\t\t: fullLicense\n\t\t\t );\n\t}\n\treturn _caption.replace( /\\s{2}/g, ' ' );\n};\n\nconst coreMediaFetch = async ( query = {} ) => {\n\tconst mediaItems = await resolveSelect( coreStore ).getMediaItems( {\n\t\t...query,\n\t\torderBy: !! query?.search ? 'relevance' : 'date',\n\t} );\n\treturn mediaItems.map( ( mediaItem ) => ( {\n\t\t...mediaItem,\n\t\talt: mediaItem.alt_text,\n\t\turl: mediaItem.source_url,\n\t\tpreviewUrl: mediaItem.media_details?.sizes?.medium?.source_url,\n\t\tcaption: mediaItem.caption?.raw,\n\t} ) );\n};\n\n/** @type {InserterMediaCategory[]} */\nconst inserterMediaCategories = [\n\t{\n\t\tname: 'images',\n\t\tlabels: {\n\t\t\tname: __( 'Images' ),\n\t\t\tsearch_items: __( 'Search images' ),\n\t\t},\n\t\tmediaType: 'image',\n\t\tasync fetch( query = {} ) {\n\t\t\treturn coreMediaFetch( { ...query, media_type: 'image' } );\n\t\t},\n\t},\n\t{\n\t\tname: 'videos',\n\t\tlabels: {\n\t\t\tname: __( 'Videos' ),\n\t\t\tsearch_items: __( 'Search videos' ),\n\t\t},\n\t\tmediaType: 'video',\n\t\tasync fetch( query = {} ) {\n\t\t\treturn coreMediaFetch( { ...query, media_type: 'video' } );\n\t\t},\n\t},\n\t{\n\t\tname: 'audio',\n\t\tlabels: {\n\t\t\tname: __( 'Audio' ),\n\t\t\tsearch_items: __( 'Search audio' ),\n\t\t},\n\t\tmediaType: 'audio',\n\t\tasync fetch( query = {} ) {\n\t\t\treturn coreMediaFetch( { ...query, media_type: 'audio' } );\n\t\t},\n\t},\n\t{\n\t\tname: 'openverse',\n\t\tlabels: {\n\t\t\tname: __( 'Openverse' ),\n\t\t\tsearch_items: __( 'Search Openverse' ),\n\t\t},\n\t\tmediaType: 'image',\n\t\tasync fetch( query = {} ) {\n\t\t\tconst defaultArgs = {\n\t\t\t\tmature: false,\n\t\t\t\texcluded_source: 'flickr,inaturalist,wikimedia',\n\t\t\t\tlicense: 'pdm,cc0',\n\t\t\t};\n\t\t\tconst finalQuery = { ...query, ...defaultArgs };\n\t\t\tconst mapFromInserterMediaRequest = {\n\t\t\t\tper_page: 'page_size',\n\t\t\t\tsearch: 'q',\n\t\t\t};\n\t\t\tconst url = new URL( 'https://api.openverse.org/v1/images/' );\n\t\t\tObject.entries( finalQuery ).forEach( ( [ key, value ] ) => {\n\t\t\t\tconst queryKey = mapFromInserterMediaRequest[ key ] || key;\n\t\t\t\turl.searchParams.set( queryKey, value );\n\t\t\t} );\n\t\t\tconst response = await window.fetch( url, {\n\t\t\t\theaders: {\n\t\t\t\t\t'User-Agent': 'WordPress/inserter-media-fetch',\n\t\t\t\t},\n\t\t\t} );\n\t\t\tconst jsonResponse = await response.json();\n\t\t\tconst results = jsonResponse.results;\n\t\t\treturn results.map( ( result ) => ( {\n\t\t\t\t...result,\n\t\t\t\t// This is a temp solution for better titles, until Openverse API\n\t\t\t\t// completes the cleaning up of some titles of their upstream data.\n\t\t\t\ttitle: result.title?.toLowerCase().startsWith( 'file:' )\n\t\t\t\t\t? result.title.slice( 5 )\n\t\t\t\t\t: result.title,\n\t\t\t\tsourceId: result.id,\n\t\t\t\tid: undefined,\n\t\t\t\tcaption: getOpenverseCaption( result ),\n\t\t\t\tpreviewUrl: result.thumbnail,\n\t\t\t} ) );\n\t\t},\n\t\tgetReportUrl: ( { sourceId } ) =>\n\t\t\t`https://wordpress.org/openverse/image/${ sourceId }/report/`,\n\t\tisExternalResource: true,\n\t},\n];\n\nexport default inserterMediaCategories;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_i18n","require","_data","_htmlEntities","_coreData","getExternalLink","url","text","getExternalLinkAttributes","getOpenverseLicense","license","licenseVersion","licenseName","trim","toUpperCase","replace","includes","getOpenverseCaption","item","title","foreign_landing_url","foreignLandingUrl","creator","creator_url","creatorUrl","license_version","license_url","licenseUrl","fullLicense","_creator","decodeEntities","_caption","sprintf","_x","coreMediaFetch","query","mediaItems","resolveSelect","coreStore","getMediaItems","orderBy","search","map","mediaItem","alt","alt_text","source_url","previewUrl","media_details","sizes","medium","caption","raw","inserterMediaCategories","name","labels","__","search_items","mediaType","fetch","media_type","defaultArgs","mature","excluded_source","finalQuery","mapFromInserterMediaRequest","per_page","URL","Object","entries","forEach","key","value","queryKey","searchParams","set","response","window","headers","jsonResponse","json","results","result","toLowerCase","startsWith","slice","sourceId","id","undefined","thumbnail","getReportUrl","isExternalResource","_default","exports","default"],"sources":["@wordpress/editor/src/components/media-categories/index.js"],"sourcesContent":["/**\n * The `editor` settings here need to be in sync with the corresponding ones in `editor` package.\n * See `packages/editor/src/components/media-categories/index.js`.\n *\n * In the future we could consider creating an Openvese package that can be used in both `editor` and `site-editor`.\n * The rest of the settings would still need to be in sync though.\n */\n\n/**\n * WordPress dependencies\n */\nimport { __, sprintf, _x } from '@wordpress/i18n';\nimport { resolveSelect } from '@wordpress/data';\nimport { decodeEntities } from '@wordpress/html-entities';\n\n/**\n * Internal dependencies\n */\nimport { store as coreStore } from '@wordpress/core-data';\n\n/** @typedef {import('@wordpress/block-editor').InserterMediaRequest} InserterMediaRequest */\n/** @typedef {import('@wordpress/block-editor').InserterMediaItem} InserterMediaItem */\n/** @typedef {import('@wordpress/block-editor').InserterMediaCategory} InserterMediaCategory */\n\nconst getExternalLink = ( url, text ) =>\n\t`<a ${ getExternalLinkAttributes( url ) }>${ text }</a>`;\n\nconst getExternalLinkAttributes = ( url ) =>\n\t`href=\"${ url }\" target=\"_blank\" rel=\"noreferrer noopener\"`;\n\nconst getOpenverseLicense = ( license, licenseVersion ) => {\n\tlet licenseName = license.trim();\n\t// PDM has no abbreviation\n\tif ( license !== 'pdm' ) {\n\t\tlicenseName = license.toUpperCase().replace( 'SAMPLING', 'Sampling' );\n\t}\n\t// If version is known, append version to the name.\n\t// The license has to have a version to be valid. Only\n\t// PDM (public domain mark) doesn't have a version.\n\tif ( licenseVersion ) {\n\t\tlicenseName += ` ${ licenseVersion }`;\n\t}\n\t// For licenses other than public-domain marks, prepend 'CC' to the name.\n\tif ( ! [ 'pdm', 'cc0' ].includes( license ) ) {\n\t\tlicenseName = `CC ${ licenseName }`;\n\t}\n\treturn licenseName;\n};\n\nconst getOpenverseCaption = ( item ) => {\n\tconst {\n\t\ttitle,\n\t\tforeign_landing_url: foreignLandingUrl,\n\t\tcreator,\n\t\tcreator_url: creatorUrl,\n\t\tlicense,\n\t\tlicense_version: licenseVersion,\n\t\tlicense_url: licenseUrl,\n\t} = item;\n\tconst fullLicense = getOpenverseLicense( license, licenseVersion );\n\tconst _creator = decodeEntities( creator );\n\tlet _caption;\n\tif ( _creator ) {\n\t\t_caption = title\n\t\t\t? sprintf(\n\t\t\t\t\t// translators: %1s: Title of a media work from Openverse; %2$s: Name of the work's creator; %3s: Work's licence e.g: \"CC0 1.0\".\n\t\t\t\t\t_x( '\"%1$s\" by %2$s/ %3$s', 'caption' ),\n\t\t\t\t\tgetExternalLink(\n\t\t\t\t\t\tforeignLandingUrl,\n\t\t\t\t\t\tdecodeEntities( title )\n\t\t\t\t\t),\n\t\t\t\t\tcreatorUrl\n\t\t\t\t\t\t? getExternalLink( creatorUrl, _creator )\n\t\t\t\t\t\t: _creator,\n\t\t\t\t\tlicenseUrl\n\t\t\t\t\t\t? getExternalLink(\n\t\t\t\t\t\t\t\t`${ licenseUrl }?ref=openverse`,\n\t\t\t\t\t\t\t\tfullLicense\n\t\t\t\t\t\t )\n\t\t\t\t\t\t: fullLicense\n\t\t\t )\n\t\t\t: sprintf(\n\t\t\t\t\t// translators: %1s: Link attributes for a given Openverse media work; %2s: Name of the work's creator; %3s: Works's licence e.g: \"CC0 1.0\".\n\t\t\t\t\t_x( '<a %1$s>Work</a> by %2$s/ %3$s', 'caption' ),\n\t\t\t\t\tgetExternalLinkAttributes( foreignLandingUrl ),\n\t\t\t\t\tcreatorUrl\n\t\t\t\t\t\t? getExternalLink( creatorUrl, _creator )\n\t\t\t\t\t\t: _creator,\n\t\t\t\t\tlicenseUrl\n\t\t\t\t\t\t? getExternalLink(\n\t\t\t\t\t\t\t\t`${ licenseUrl }?ref=openverse`,\n\t\t\t\t\t\t\t\tfullLicense\n\t\t\t\t\t\t )\n\t\t\t\t\t\t: fullLicense\n\t\t\t );\n\t} else {\n\t\t_caption = title\n\t\t\t? sprintf(\n\t\t\t\t\t// translators: %1s: Title of a media work from Openverse; %2s: Work's licence e.g: \"CC0 1.0\".\n\t\t\t\t\t_x( '\"%1$s\"/ %2$s', 'caption' ),\n\t\t\t\t\tgetExternalLink(\n\t\t\t\t\t\tforeignLandingUrl,\n\t\t\t\t\t\tdecodeEntities( title )\n\t\t\t\t\t),\n\t\t\t\t\tlicenseUrl\n\t\t\t\t\t\t? getExternalLink(\n\t\t\t\t\t\t\t\t`${ licenseUrl }?ref=openverse`,\n\t\t\t\t\t\t\t\tfullLicense\n\t\t\t\t\t\t )\n\t\t\t\t\t\t: fullLicense\n\t\t\t )\n\t\t\t: sprintf(\n\t\t\t\t\t// translators: %1s: Link attributes for a given Openverse media work; %2s: Works's licence e.g: \"CC0 1.0\".\n\t\t\t\t\t_x( '<a %1$s>Work</a>/ %2$s', 'caption' ),\n\t\t\t\t\tgetExternalLinkAttributes( foreignLandingUrl ),\n\t\t\t\t\tlicenseUrl\n\t\t\t\t\t\t? getExternalLink(\n\t\t\t\t\t\t\t\t`${ licenseUrl }?ref=openverse`,\n\t\t\t\t\t\t\t\tfullLicense\n\t\t\t\t\t\t )\n\t\t\t\t\t\t: fullLicense\n\t\t\t );\n\t}\n\treturn _caption.replace( /\\s{2}/g, ' ' );\n};\n\nconst coreMediaFetch = async ( query = {} ) => {\n\tconst mediaItems = await resolveSelect( coreStore ).getMediaItems( {\n\t\t...query,\n\t\torderBy: !! query?.search ? 'relevance' : 'date',\n\t} );\n\treturn mediaItems.map( ( mediaItem ) => ( {\n\t\t...mediaItem,\n\t\talt: mediaItem.alt_text,\n\t\turl: mediaItem.source_url,\n\t\tpreviewUrl: mediaItem.media_details?.sizes?.medium?.source_url,\n\t\tcaption: mediaItem.caption?.raw,\n\t} ) );\n};\n\n/** @type {InserterMediaCategory[]} */\nconst inserterMediaCategories = [\n\t{\n\t\tname: 'images',\n\t\tlabels: {\n\t\t\tname: __( 'Images' ),\n\t\t\tsearch_items: __( 'Search images' ),\n\t\t},\n\t\tmediaType: 'image',\n\t\tasync fetch( query = {} ) {\n\t\t\treturn coreMediaFetch( { ...query, media_type: 'image' } );\n\t\t},\n\t},\n\t{\n\t\tname: 'videos',\n\t\tlabels: {\n\t\t\tname: __( 'Videos' ),\n\t\t\tsearch_items: __( 'Search videos' ),\n\t\t},\n\t\tmediaType: 'video',\n\t\tasync fetch( query = {} ) {\n\t\t\treturn coreMediaFetch( { ...query, media_type: 'video' } );\n\t\t},\n\t},\n\t{\n\t\tname: 'audio',\n\t\tlabels: {\n\t\t\tname: __( 'Audio' ),\n\t\t\tsearch_items: __( 'Search audio' ),\n\t\t},\n\t\tmediaType: 'audio',\n\t\tasync fetch( query = {} ) {\n\t\t\treturn coreMediaFetch( { ...query, media_type: 'audio' } );\n\t\t},\n\t},\n\t{\n\t\tname: 'openverse',\n\t\tlabels: {\n\t\t\tname: __( 'Openverse' ),\n\t\t\tsearch_items: __( 'Search Openverse' ),\n\t\t},\n\t\tmediaType: 'image',\n\t\tasync fetch( query = {} ) {\n\t\t\tconst defaultArgs = {\n\t\t\t\tmature: false,\n\t\t\t\texcluded_source: 'flickr,inaturalist,wikimedia',\n\t\t\t\tlicense: 'pdm,cc0',\n\t\t\t};\n\t\t\tconst finalQuery = { ...query, ...defaultArgs };\n\t\t\tconst mapFromInserterMediaRequest = {\n\t\t\t\tper_page: 'page_size',\n\t\t\t\tsearch: 'q',\n\t\t\t};\n\t\t\tconst url = new URL( 'https://api.openverse.org/v1/images/' );\n\t\t\tObject.entries( finalQuery ).forEach( ( [ key, value ] ) => {\n\t\t\t\tconst queryKey = mapFromInserterMediaRequest[ key ] || key;\n\t\t\t\turl.searchParams.set( queryKey, value );\n\t\t\t} );\n\t\t\tconst response = await window.fetch( url, {\n\t\t\t\theaders: {\n\t\t\t\t\t'User-Agent': 'WordPress/inserter-media-fetch',\n\t\t\t\t},\n\t\t\t} );\n\t\t\tconst jsonResponse = await response.json();\n\t\t\tconst results = jsonResponse.results;\n\t\t\treturn results.map( ( result ) => ( {\n\t\t\t\t...result,\n\t\t\t\t// This is a temp solution for better titles, until Openverse API\n\t\t\t\t// completes the cleaning up of some titles of their upstream data.\n\t\t\t\ttitle: result.title?.toLowerCase().startsWith( 'file:' )\n\t\t\t\t\t? result.title.slice( 5 )\n\t\t\t\t\t: result.title,\n\t\t\t\tsourceId: result.id,\n\t\t\t\tid: undefined,\n\t\t\t\tcaption: getOpenverseCaption( result ),\n\t\t\t\tpreviewUrl: result.thumbnail,\n\t\t\t} ) );\n\t\t},\n\t\tgetReportUrl: ( { sourceId } ) =>\n\t\t\t`https://wordpress.org/openverse/image/${ sourceId }/report/`,\n\t\tisExternalResource: true,\n\t},\n];\n\nexport default inserterMediaCategories;\n"],"mappings":"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","ignoreList":[]}
@@ -35,29 +35,46 @@ function usePostActions({
35
35
  defaultActions: getEntityActions('postType', postType)
36
36
  };
37
37
  }, [postType]);
38
- const {
39
- canManageOptions,
40
- hasFrontPageTemplate
41
- } = (0, _data.useSelect)(select => {
38
+ const shouldShowHomepageActions = (0, _data.useSelect)(select => {
39
+ if (postType !== 'page') {
40
+ return false;
41
+ }
42
42
  const {
43
- getEntityRecords,
43
+ getDefaultTemplateId,
44
+ getEntityRecord,
44
45
  canUser
45
46
  } = select(_coreData.store);
46
47
  const canUpdateSettings = canUser('update', {
47
48
  kind: 'root',
48
49
  name: 'site'
49
50
  });
50
- const templates = 'page' === postType && canUpdateSettings ? getEntityRecords('postType', 'wp_template', {
51
- per_page: -1
52
- }) : [];
53
- return {
54
- canManageOptions: canUpdateSettings,
55
- hasFrontPageTemplate: !!templates?.find(template => template?.slug === 'front-page')
56
- };
51
+ if (!canUpdateSettings) {
52
+ return false;
53
+ }
54
+
55
+ // Note that resolved template for `front-page` is not necessarily a
56
+ // `front-page` template.
57
+ const frontPageTemplateId = getDefaultTemplateId({
58
+ slug: 'front-page'
59
+ });
60
+ if (!frontPageTemplateId) {
61
+ return true;
62
+ }
63
+
64
+ // This won't trigger a second network request, getDefaultTemplateId
65
+ // will have received the whole template from the REST API.
66
+ const frontPageTemplate = getEntityRecord('postType', 'wp_template', frontPageTemplateId);
67
+ if (!frontPageTemplate) {
68
+ return true;
69
+ }
70
+
71
+ // When there is a front page template, the front page cannot be
72
+ // changed. See
73
+ // https://developer.wordpress.org/themes/basics/template-hierarchy/
74
+ return frontPageTemplate.slug !== 'front-page';
57
75
  }, [postType]);
58
76
  const setAsHomepageAction = (0, _setAsHomepage.useSetAsHomepageAction)();
59
77
  const setAsPostsPageAction = (0, _setAsPostsPage.useSetAsPostsPageAction)();
60
- const shouldShowHomepageActions = canManageOptions && !hasFrontPageTemplate;
61
78
  const {
62
79
  registerPostTypeSchema
63
80
  } = (0, _lockUnlock.unlock)((0, _data.useDispatch)(_store.store));
@@ -1 +1 @@
1
- {"version":3,"names":["_data","require","_element","_coreData","_store","_lockUnlock","_setAsHomepage","_setAsPostsPage","_jsxRuntime","usePostActions","postType","onActionPerformed","context","defaultActions","useSelect","select","getEntityActions","unlock","editorStore","canManageOptions","hasFrontPageTemplate","getEntityRecords","canUser","coreStore","canUpdateSettings","kind","name","templates","per_page","find","template","slug","setAsHomepageAction","useSetAsHomepageAction","setAsPostsPageAction","useSetAsPostsPageAction","shouldShowHomepageActions","registerPostTypeSchema","useDispatch","useEffect","useMemo","actions","push","sort","a","b","id","filter","action","i","length","callback","existingCallback","items","argsObject","_items","RenderModal","ExistingRenderModal","props","jsx"],"sources":["@wordpress/editor/src/components/post-actions/actions.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { useMemo, useEffect } from '@wordpress/element';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\nimport { unlock } from '../../lock-unlock';\nimport { useSetAsHomepageAction } from './set-as-homepage';\nimport { useSetAsPostsPageAction } from './set-as-posts-page';\n\nexport function usePostActions( { postType, onActionPerformed, context } ) {\n\tconst { defaultActions } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEntityActions } = unlock( select( editorStore ) );\n\t\t\treturn {\n\t\t\t\tdefaultActions: getEntityActions( 'postType', postType ),\n\t\t\t};\n\t\t},\n\t\t[ postType ]\n\t);\n\n\tconst { canManageOptions, hasFrontPageTemplate } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEntityRecords, canUser } = select( coreStore );\n\t\t\tconst canUpdateSettings = canUser( 'update', {\n\t\t\t\tkind: 'root',\n\t\t\t\tname: 'site',\n\t\t\t} );\n\t\t\tconst templates =\n\t\t\t\t'page' === postType && canUpdateSettings\n\t\t\t\t\t? getEntityRecords( 'postType', 'wp_template', {\n\t\t\t\t\t\t\tper_page: -1,\n\t\t\t\t\t } )\n\t\t\t\t\t: [];\n\n\t\t\treturn {\n\t\t\t\tcanManageOptions: canUpdateSettings,\n\t\t\t\thasFrontPageTemplate: !! templates?.find(\n\t\t\t\t\t( template ) => template?.slug === 'front-page'\n\t\t\t\t),\n\t\t\t};\n\t\t},\n\t\t[ postType ]\n\t);\n\n\tconst setAsHomepageAction = useSetAsHomepageAction();\n\tconst setAsPostsPageAction = useSetAsPostsPageAction();\n\tconst shouldShowHomepageActions =\n\t\tcanManageOptions && ! hasFrontPageTemplate;\n\n\tconst { registerPostTypeSchema } = unlock( useDispatch( editorStore ) );\n\tuseEffect( () => {\n\t\tregisterPostTypeSchema( postType );\n\t}, [ registerPostTypeSchema, postType ] );\n\n\treturn useMemo( () => {\n\t\tlet actions = [ ...defaultActions ];\n\t\tif ( shouldShowHomepageActions ) {\n\t\t\tactions.push( setAsHomepageAction, setAsPostsPageAction );\n\t\t}\n\n\t\t// Ensure \"Move to trash\" is always the last action.\n\t\tactions = actions.sort( ( a, b ) =>\n\t\t\tb.id === 'move-to-trash' ? -1 : 0\n\t\t);\n\n\t\t// Filter actions based on provided context. If not provided\n\t\t// all actions are returned. We'll have a single entry for getting the actions\n\t\t// and the consumer should provide the context to filter the actions, if needed.\n\t\t// Actions should also provide the `context` they support, if it's specific, to\n\t\t// compare with the provided context to get all the actions.\n\t\t// Right now the only supported context is `list`.\n\t\tactions = actions.filter( ( action ) => {\n\t\t\tif ( ! action.context ) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\treturn action.context === context;\n\t\t} );\n\n\t\tif ( onActionPerformed ) {\n\t\t\tfor ( let i = 0; i < actions.length; ++i ) {\n\t\t\t\tif ( actions[ i ].callback ) {\n\t\t\t\t\tconst existingCallback = actions[ i ].callback;\n\t\t\t\t\tactions[ i ] = {\n\t\t\t\t\t\t...actions[ i ],\n\t\t\t\t\t\tcallback: ( items, argsObject ) => {\n\t\t\t\t\t\t\texistingCallback( items, {\n\t\t\t\t\t\t\t\t...argsObject,\n\t\t\t\t\t\t\t\tonActionPerformed: ( _items ) => {\n\t\t\t\t\t\t\t\t\tif ( argsObject?.onActionPerformed ) {\n\t\t\t\t\t\t\t\t\t\targsObject.onActionPerformed( _items );\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tonActionPerformed(\n\t\t\t\t\t\t\t\t\t\tactions[ i ].id,\n\t\t\t\t\t\t\t\t\t\t_items\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t},\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t\tif ( actions[ i ].RenderModal ) {\n\t\t\t\t\tconst ExistingRenderModal = actions[ i ].RenderModal;\n\t\t\t\t\tactions[ i ] = {\n\t\t\t\t\t\t...actions[ i ],\n\t\t\t\t\t\tRenderModal: ( props ) => {\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<ExistingRenderModal\n\t\t\t\t\t\t\t\t\t{ ...props }\n\t\t\t\t\t\t\t\t\tonActionPerformed={ ( _items ) => {\n\t\t\t\t\t\t\t\t\t\tif ( props.onActionPerformed ) {\n\t\t\t\t\t\t\t\t\t\t\tprops.onActionPerformed( _items );\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tonActionPerformed(\n\t\t\t\t\t\t\t\t\t\t\tactions[ i ].id,\n\t\t\t\t\t\t\t\t\t\t\t_items\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);\n\t\t\t\t\t\t},\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn actions;\n\t}, [\n\t\tcontext,\n\t\tdefaultActions,\n\t\tonActionPerformed,\n\t\tsetAsHomepageAction,\n\t\tsetAsPostsPageAction,\n\t\tshouldShowHomepageActions,\n\t] );\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_data","require","_element","_coreData","_store","_lockUnlock","_setAsHomepage","_setAsPostsPage","_jsxRuntime","usePostActions","postType","onActionPerformed","context","defaultActions","useSelect","select","getEntityActions","unlock","editorStore","shouldShowHomepageActions","getDefaultTemplateId","getEntityRecord","canUser","coreStore","canUpdateSettings","kind","name","frontPageTemplateId","slug","frontPageTemplate","setAsHomepageAction","useSetAsHomepageAction","setAsPostsPageAction","useSetAsPostsPageAction","registerPostTypeSchema","useDispatch","useEffect","useMemo","actions","push","sort","a","b","id","filter","action","i","length","callback","existingCallback","items","argsObject","_items","RenderModal","ExistingRenderModal","props","jsx"],"sources":["@wordpress/editor/src/components/post-actions/actions.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { useMemo, useEffect } from '@wordpress/element';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\nimport { unlock } from '../../lock-unlock';\nimport { useSetAsHomepageAction } from './set-as-homepage';\nimport { useSetAsPostsPageAction } from './set-as-posts-page';\n\nexport function usePostActions( { postType, onActionPerformed, context } ) {\n\tconst { defaultActions } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEntityActions } = unlock( select( editorStore ) );\n\t\t\treturn {\n\t\t\t\tdefaultActions: getEntityActions( 'postType', postType ),\n\t\t\t};\n\t\t},\n\t\t[ postType ]\n\t);\n\n\tconst shouldShowHomepageActions = useSelect(\n\t\t( select ) => {\n\t\t\tif ( postType !== 'page' ) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tconst { getDefaultTemplateId, getEntityRecord, canUser } =\n\t\t\t\tselect( coreStore );\n\t\t\tconst canUpdateSettings = canUser( 'update', {\n\t\t\t\tkind: 'root',\n\t\t\t\tname: 'site',\n\t\t\t} );\n\n\t\t\tif ( ! canUpdateSettings ) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\t// Note that resolved template for `front-page` is not necessarily a\n\t\t\t// `front-page` template.\n\t\t\tconst frontPageTemplateId = getDefaultTemplateId( {\n\t\t\t\tslug: 'front-page',\n\t\t\t} );\n\n\t\t\tif ( ! frontPageTemplateId ) {\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\t// This won't trigger a second network request, getDefaultTemplateId\n\t\t\t// will have received the whole template from the REST API.\n\t\t\tconst frontPageTemplate = getEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\t'wp_template',\n\t\t\t\tfrontPageTemplateId\n\t\t\t);\n\n\t\t\tif ( ! frontPageTemplate ) {\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\t// When there is a front page template, the front page cannot be\n\t\t\t// changed. See\n\t\t\t// https://developer.wordpress.org/themes/basics/template-hierarchy/\n\t\t\treturn frontPageTemplate.slug !== 'front-page';\n\t\t},\n\t\t[ postType ]\n\t);\n\n\tconst setAsHomepageAction = useSetAsHomepageAction();\n\tconst setAsPostsPageAction = useSetAsPostsPageAction();\n\n\tconst { registerPostTypeSchema } = unlock( useDispatch( editorStore ) );\n\tuseEffect( () => {\n\t\tregisterPostTypeSchema( postType );\n\t}, [ registerPostTypeSchema, postType ] );\n\n\treturn useMemo( () => {\n\t\tlet actions = [ ...defaultActions ];\n\t\tif ( shouldShowHomepageActions ) {\n\t\t\tactions.push( setAsHomepageAction, setAsPostsPageAction );\n\t\t}\n\n\t\t// Ensure \"Move to trash\" is always the last action.\n\t\tactions = actions.sort( ( a, b ) =>\n\t\t\tb.id === 'move-to-trash' ? -1 : 0\n\t\t);\n\n\t\t// Filter actions based on provided context. If not provided\n\t\t// all actions are returned. We'll have a single entry for getting the actions\n\t\t// and the consumer should provide the context to filter the actions, if needed.\n\t\t// Actions should also provide the `context` they support, if it's specific, to\n\t\t// compare with the provided context to get all the actions.\n\t\t// Right now the only supported context is `list`.\n\t\tactions = actions.filter( ( action ) => {\n\t\t\tif ( ! action.context ) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\treturn action.context === context;\n\t\t} );\n\n\t\tif ( onActionPerformed ) {\n\t\t\tfor ( let i = 0; i < actions.length; ++i ) {\n\t\t\t\tif ( actions[ i ].callback ) {\n\t\t\t\t\tconst existingCallback = actions[ i ].callback;\n\t\t\t\t\tactions[ i ] = {\n\t\t\t\t\t\t...actions[ i ],\n\t\t\t\t\t\tcallback: ( items, argsObject ) => {\n\t\t\t\t\t\t\texistingCallback( items, {\n\t\t\t\t\t\t\t\t...argsObject,\n\t\t\t\t\t\t\t\tonActionPerformed: ( _items ) => {\n\t\t\t\t\t\t\t\t\tif ( argsObject?.onActionPerformed ) {\n\t\t\t\t\t\t\t\t\t\targsObject.onActionPerformed( _items );\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tonActionPerformed(\n\t\t\t\t\t\t\t\t\t\tactions[ i ].id,\n\t\t\t\t\t\t\t\t\t\t_items\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t},\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t\tif ( actions[ i ].RenderModal ) {\n\t\t\t\t\tconst ExistingRenderModal = actions[ i ].RenderModal;\n\t\t\t\t\tactions[ i ] = {\n\t\t\t\t\t\t...actions[ i ],\n\t\t\t\t\t\tRenderModal: ( props ) => {\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<ExistingRenderModal\n\t\t\t\t\t\t\t\t\t{ ...props }\n\t\t\t\t\t\t\t\t\tonActionPerformed={ ( _items ) => {\n\t\t\t\t\t\t\t\t\t\tif ( props.onActionPerformed ) {\n\t\t\t\t\t\t\t\t\t\t\tprops.onActionPerformed( _items );\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tonActionPerformed(\n\t\t\t\t\t\t\t\t\t\t\tactions[ i ].id,\n\t\t\t\t\t\t\t\t\t\t\t_items\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);\n\t\t\t\t\t\t},\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn actions;\n\t}, [\n\t\tcontext,\n\t\tdefaultActions,\n\t\tonActionPerformed,\n\t\tsetAsHomepageAction,\n\t\tsetAsPostsPageAction,\n\t\tshouldShowHomepageActions,\n\t] );\n}\n"],"mappings":"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","ignoreList":[]}
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.default = PostLockedModal;
6
+ exports.default = void 0;
7
7
  var _i18n = require("@wordpress/i18n");
8
8
  var _components = require("@wordpress/components");
9
9
  var _data = require("@wordpress/data");
@@ -22,12 +22,7 @@ var _jsxRuntime = require("react/jsx-runtime");
22
22
  * Internal dependencies
23
23
  */
24
24
 
25
- /**
26
- * A modal component that is displayed when a post is locked for editing by another user.
27
- * The modal provides information about the lock status and options to take over or exit the editor.
28
- *
29
- * @return {React.ReactNode} The rendered PostLockedModal component.
30
- */function PostLockedModal() {
25
+ function PostLockedModal() {
31
26
  const instanceId = (0, _compose.useInstanceId)(PostLockedModal);
32
27
  const hookName = 'core/editor/post-locked-modal-' + instanceId;
33
28
  const {
@@ -225,4 +220,12 @@ var _jsxRuntime = require("react/jsx-runtime");
225
220
  })
226
221
  });
227
222
  }
223
+
224
+ /**
225
+ * A modal component that is displayed when a post is locked for editing by another user.
226
+ * The modal provides information about the lock status and options to take over or exit the editor.
227
+ *
228
+ * @return {React.ReactNode} The rendered PostLockedModal component.
229
+ */
230
+ var _default = exports.default = globalThis.IS_GUTENBERG_PLUGIN ? (0, _components.withFilters)('editor.PostLockedModal')(PostLockedModal) : PostLockedModal;
228
231
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_i18n","require","_components","_data","_url","_element","_hooks","_compose","_coreData","_store","_jsxRuntime","PostLockedModal","instanceId","useInstanceId","hookName","autosave","updatePostLock","useDispatch","editorStore","isLocked","isTakeover","user","postId","postLockUtils","activePostLock","postType","previewLink","useSelect","select","isPostLocked","isPostLockTakeover","getPostLockUser","getCurrentPostId","getActivePostLock","getEditedPostAttribute","getEditedPostPreviewLink","getEditorSettings","getPostType","coreStore","useEffect","sendPostLock","data","lock","post_id","receivePostLock","received","lock_error","name","avatar","avatar_src_2x","new_lock","releasePostLock","window","FormData","append","unlockNonce","navigator","sendBeacon","ajaxUrl","xhr","XMLHttpRequest","open","send","addAction","addEventListener","removeAction","removeEventListener","userDisplayName","userAvatar","unlockUrl","addQueryArgs","lockKey","post","action","_wpnonce","nonce","allPostsUrl","post_type","slug","allPostsLabel","__","jsx","Modal","title","focusOnMount","shouldCloseOnClickOutside","shouldCloseOnEsc","isDismissible","className","size","children","jsxs","__experimentalHStack","alignment","spacing","src","alt","width","height","createInterpolateElement","sprintf","strong","PreviewLink","ExternalLink","href","Fragment","justify","Button","__next40pxDefaultSize","variant"],"sources":["@wordpress/editor/src/components/post-locked-modal/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport {\n\tModal,\n\tButton,\n\tExternalLink,\n\t__experimentalHStack as HStack,\n} from '@wordpress/components';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { addQueryArgs } from '@wordpress/url';\nimport { useEffect, createInterpolateElement } from '@wordpress/element';\nimport { addAction, removeAction } from '@wordpress/hooks';\nimport { useInstanceId } from '@wordpress/compose';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\n\n/**\n * A modal component that is displayed when a post is locked for editing by another user.\n * The modal provides information about the lock status and options to take over or exit the editor.\n *\n * @return {React.ReactNode} The rendered PostLockedModal component.\n */\nexport default function PostLockedModal() {\n\tconst instanceId = useInstanceId( PostLockedModal );\n\tconst hookName = 'core/editor/post-locked-modal-' + instanceId;\n\tconst { autosave, updatePostLock } = useDispatch( editorStore );\n\tconst {\n\t\tisLocked,\n\t\tisTakeover,\n\t\tuser,\n\t\tpostId,\n\t\tpostLockUtils,\n\t\tactivePostLock,\n\t\tpostType,\n\t\tpreviewLink,\n\t} = useSelect( ( select ) => {\n\t\tconst {\n\t\t\tisPostLocked,\n\t\t\tisPostLockTakeover,\n\t\t\tgetPostLockUser,\n\t\t\tgetCurrentPostId,\n\t\t\tgetActivePostLock,\n\t\t\tgetEditedPostAttribute,\n\t\t\tgetEditedPostPreviewLink,\n\t\t\tgetEditorSettings,\n\t\t} = select( editorStore );\n\t\tconst { getPostType } = select( coreStore );\n\t\treturn {\n\t\t\tisLocked: isPostLocked(),\n\t\t\tisTakeover: isPostLockTakeover(),\n\t\t\tuser: getPostLockUser(),\n\t\t\tpostId: getCurrentPostId(),\n\t\t\tpostLockUtils: getEditorSettings().postLockUtils,\n\t\t\tactivePostLock: getActivePostLock(),\n\t\t\tpostType: getPostType( getEditedPostAttribute( 'type' ) ),\n\t\t\tpreviewLink: getEditedPostPreviewLink(),\n\t\t};\n\t}, [] );\n\n\tuseEffect( () => {\n\t\t/**\n\t\t * Keep the lock refreshed.\n\t\t *\n\t\t * When the user does not send a heartbeat in a heartbeat-tick\n\t\t * the user is no longer editing and another user can start editing.\n\t\t *\n\t\t * @param {Object} data Data to send in the heartbeat request.\n\t\t */\n\t\tfunction sendPostLock( data ) {\n\t\t\tif ( isLocked ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tdata[ 'wp-refresh-post-lock' ] = {\n\t\t\t\tlock: activePostLock,\n\t\t\t\tpost_id: postId,\n\t\t\t};\n\t\t}\n\n\t\t/**\n\t\t * Refresh post locks: update the lock string or show the dialog if somebody has taken over editing.\n\t\t *\n\t\t * @param {Object} data Data received in the heartbeat request\n\t\t */\n\t\tfunction receivePostLock( data ) {\n\t\t\tif ( ! data[ 'wp-refresh-post-lock' ] ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst received = data[ 'wp-refresh-post-lock' ];\n\t\t\tif ( received.lock_error ) {\n\t\t\t\t// Auto save and display the takeover modal.\n\t\t\t\tautosave();\n\t\t\t\tupdatePostLock( {\n\t\t\t\t\tisLocked: true,\n\t\t\t\t\tisTakeover: true,\n\t\t\t\t\tuser: {\n\t\t\t\t\t\tname: received.lock_error.name,\n\t\t\t\t\t\tavatar: received.lock_error.avatar_src_2x,\n\t\t\t\t\t},\n\t\t\t\t} );\n\t\t\t} else if ( received.new_lock ) {\n\t\t\t\tupdatePostLock( {\n\t\t\t\t\tisLocked: false,\n\t\t\t\t\tactivePostLock: received.new_lock,\n\t\t\t\t} );\n\t\t\t}\n\t\t}\n\n\t\t/**\n\t\t * Unlock the post before the window is exited.\n\t\t */\n\t\tfunction releasePostLock() {\n\t\t\tif ( isLocked || ! activePostLock ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst data = new window.FormData();\n\t\t\tdata.append( 'action', 'wp-remove-post-lock' );\n\t\t\tdata.append( '_wpnonce', postLockUtils.unlockNonce );\n\t\t\tdata.append( 'post_ID', postId );\n\t\t\tdata.append( 'active_post_lock', activePostLock );\n\n\t\t\tif ( window.navigator.sendBeacon ) {\n\t\t\t\twindow.navigator.sendBeacon( postLockUtils.ajaxUrl, data );\n\t\t\t} else {\n\t\t\t\tconst xhr = new window.XMLHttpRequest();\n\t\t\t\txhr.open( 'POST', postLockUtils.ajaxUrl, false );\n\t\t\t\txhr.send( data );\n\t\t\t}\n\t\t}\n\n\t\t// Details on these events on the Heartbeat API docs\n\t\t// https://developer.wordpress.org/plugins/javascript/heartbeat-api/\n\t\taddAction( 'heartbeat.send', hookName, sendPostLock );\n\t\taddAction( 'heartbeat.tick', hookName, receivePostLock );\n\t\twindow.addEventListener( 'beforeunload', releasePostLock );\n\n\t\treturn () => {\n\t\t\tremoveAction( 'heartbeat.send', hookName );\n\t\t\tremoveAction( 'heartbeat.tick', hookName );\n\t\t\twindow.removeEventListener( 'beforeunload', releasePostLock );\n\t\t};\n\t}, [] );\n\n\tif ( ! isLocked ) {\n\t\treturn null;\n\t}\n\n\tconst userDisplayName = user.name;\n\tconst userAvatar = user.avatar;\n\n\tconst unlockUrl = addQueryArgs( 'post.php', {\n\t\t'get-post-lock': '1',\n\t\tlockKey: true,\n\t\tpost: postId,\n\t\taction: 'edit',\n\t\t_wpnonce: postLockUtils.nonce,\n\t} );\n\tconst allPostsUrl = addQueryArgs( 'edit.php', {\n\t\tpost_type: postType?.slug,\n\t} );\n\tconst allPostsLabel = __( 'Exit editor' );\n\treturn (\n\t\t<Modal\n\t\t\ttitle={\n\t\t\t\tisTakeover\n\t\t\t\t\t? __( 'Someone else has taken over this post' )\n\t\t\t\t\t: __( 'This post is already being edited' )\n\t\t\t}\n\t\t\tfocusOnMount\n\t\t\tshouldCloseOnClickOutside={ false }\n\t\t\tshouldCloseOnEsc={ false }\n\t\t\tisDismissible={ false }\n\t\t\t// Do not remove this class, as this class is used by third party plugins.\n\t\t\tclassName=\"editor-post-locked-modal\"\n\t\t\tsize=\"medium\"\n\t\t>\n\t\t\t<HStack alignment=\"top\" spacing={ 6 }>\n\t\t\t\t{ !! userAvatar && (\n\t\t\t\t\t<img\n\t\t\t\t\t\tsrc={ userAvatar }\n\t\t\t\t\t\talt={ __( 'Avatar' ) }\n\t\t\t\t\t\tclassName=\"editor-post-locked-modal__avatar\"\n\t\t\t\t\t\twidth={ 64 }\n\t\t\t\t\t\theight={ 64 }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t<div>\n\t\t\t\t\t{ !! isTakeover && (\n\t\t\t\t\t\t<p>\n\t\t\t\t\t\t\t{ createInterpolateElement(\n\t\t\t\t\t\t\t\tuserDisplayName\n\t\t\t\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t\t\t\t/* translators: %s: user's display name */\n\t\t\t\t\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t\t\t\t\t'<strong>%s</strong> now has editing control of this post (<PreviewLink />). Don’t worry, your changes up to this moment have been saved.'\n\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\tuserDisplayName\n\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\t'Another user now has editing control of this post (<PreviewLink />). Don’t worry, your changes up to this moment have been saved.'\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\tstrong: <strong />,\n\t\t\t\t\t\t\t\t\tPreviewLink: (\n\t\t\t\t\t\t\t\t\t\t<ExternalLink href={ previewLink }>\n\t\t\t\t\t\t\t\t\t\t\t{ __( 'preview' ) }\n\t\t\t\t\t\t\t\t\t\t</ExternalLink>\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</p>\n\t\t\t\t\t) }\n\t\t\t\t\t{ ! isTakeover && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<p>\n\t\t\t\t\t\t\t\t{ createInterpolateElement(\n\t\t\t\t\t\t\t\t\tuserDisplayName\n\t\t\t\t\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t\t\t\t\t/* translators: %s: user's display name */\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'<strong>%s</strong> is currently working on this post (<PreviewLink />), which means you cannot make changes, unless you take over.'\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\tuserDisplayName\n\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\t\t\t'Another user is currently working on this post (<PreviewLink />), which means you cannot make changes, unless you take over.'\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\tstrong: <strong />,\n\t\t\t\t\t\t\t\t\t\tPreviewLink: (\n\t\t\t\t\t\t\t\t\t\t\t<ExternalLink href={ previewLink }>\n\t\t\t\t\t\t\t\t\t\t\t\t{ __( 'preview' ) }\n\t\t\t\t\t\t\t\t\t\t\t</ExternalLink>\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</p>\n\t\t\t\t\t\t\t<p>\n\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t'If you take over, the other user will lose editing control to the post, but their changes will be saved.'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t</>\n\t\t\t\t\t) }\n\n\t\t\t\t\t<HStack\n\t\t\t\t\t\tclassName=\"editor-post-locked-modal__buttons\"\n\t\t\t\t\t\tjustify=\"flex-end\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ ! isTakeover && (\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\t\thref={ unlockUrl }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ __( 'Take over' ) }\n\t\t\t\t\t\t\t</Button>\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\thref={ allPostsUrl }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ allPostsLabel }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</HStack>\n\t\t\t\t</div>\n\t\t\t</HStack>\n\t\t</Modal>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_i18n","require","_components","_data","_url","_element","_hooks","_compose","_coreData","_store","_jsxRuntime","PostLockedModal","instanceId","useInstanceId","hookName","autosave","updatePostLock","useDispatch","editorStore","isLocked","isTakeover","user","postId","postLockUtils","activePostLock","postType","previewLink","useSelect","select","isPostLocked","isPostLockTakeover","getPostLockUser","getCurrentPostId","getActivePostLock","getEditedPostAttribute","getEditedPostPreviewLink","getEditorSettings","getPostType","coreStore","useEffect","sendPostLock","data","lock","post_id","receivePostLock","received","lock_error","name","avatar","avatar_src_2x","new_lock","releasePostLock","window","FormData","append","unlockNonce","navigator","sendBeacon","ajaxUrl","xhr","XMLHttpRequest","open","send","addAction","addEventListener","removeAction","removeEventListener","userDisplayName","userAvatar","unlockUrl","addQueryArgs","lockKey","post","action","_wpnonce","nonce","allPostsUrl","post_type","slug","allPostsLabel","__","jsx","Modal","title","focusOnMount","shouldCloseOnClickOutside","shouldCloseOnEsc","isDismissible","className","size","children","jsxs","__experimentalHStack","alignment","spacing","src","alt","width","height","createInterpolateElement","sprintf","strong","PreviewLink","ExternalLink","href","Fragment","justify","Button","__next40pxDefaultSize","variant","_default","exports","default","globalThis","IS_GUTENBERG_PLUGIN","withFilters"],"sources":["@wordpress/editor/src/components/post-locked-modal/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport {\n\tModal,\n\tButton,\n\tExternalLink,\n\t__experimentalHStack as HStack,\n\twithFilters,\n} from '@wordpress/components';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { addQueryArgs } from '@wordpress/url';\nimport { useEffect, createInterpolateElement } from '@wordpress/element';\nimport { addAction, removeAction } from '@wordpress/hooks';\nimport { useInstanceId } from '@wordpress/compose';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\n\nfunction PostLockedModal() {\n\tconst instanceId = useInstanceId( PostLockedModal );\n\tconst hookName = 'core/editor/post-locked-modal-' + instanceId;\n\tconst { autosave, updatePostLock } = useDispatch( editorStore );\n\tconst {\n\t\tisLocked,\n\t\tisTakeover,\n\t\tuser,\n\t\tpostId,\n\t\tpostLockUtils,\n\t\tactivePostLock,\n\t\tpostType,\n\t\tpreviewLink,\n\t} = useSelect( ( select ) => {\n\t\tconst {\n\t\t\tisPostLocked,\n\t\t\tisPostLockTakeover,\n\t\t\tgetPostLockUser,\n\t\t\tgetCurrentPostId,\n\t\t\tgetActivePostLock,\n\t\t\tgetEditedPostAttribute,\n\t\t\tgetEditedPostPreviewLink,\n\t\t\tgetEditorSettings,\n\t\t} = select( editorStore );\n\t\tconst { getPostType } = select( coreStore );\n\t\treturn {\n\t\t\tisLocked: isPostLocked(),\n\t\t\tisTakeover: isPostLockTakeover(),\n\t\t\tuser: getPostLockUser(),\n\t\t\tpostId: getCurrentPostId(),\n\t\t\tpostLockUtils: getEditorSettings().postLockUtils,\n\t\t\tactivePostLock: getActivePostLock(),\n\t\t\tpostType: getPostType( getEditedPostAttribute( 'type' ) ),\n\t\t\tpreviewLink: getEditedPostPreviewLink(),\n\t\t};\n\t}, [] );\n\n\tuseEffect( () => {\n\t\t/**\n\t\t * Keep the lock refreshed.\n\t\t *\n\t\t * When the user does not send a heartbeat in a heartbeat-tick\n\t\t * the user is no longer editing and another user can start editing.\n\t\t *\n\t\t * @param {Object} data Data to send in the heartbeat request.\n\t\t */\n\t\tfunction sendPostLock( data ) {\n\t\t\tif ( isLocked ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tdata[ 'wp-refresh-post-lock' ] = {\n\t\t\t\tlock: activePostLock,\n\t\t\t\tpost_id: postId,\n\t\t\t};\n\t\t}\n\n\t\t/**\n\t\t * Refresh post locks: update the lock string or show the dialog if somebody has taken over editing.\n\t\t *\n\t\t * @param {Object} data Data received in the heartbeat request\n\t\t */\n\t\tfunction receivePostLock( data ) {\n\t\t\tif ( ! data[ 'wp-refresh-post-lock' ] ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst received = data[ 'wp-refresh-post-lock' ];\n\t\t\tif ( received.lock_error ) {\n\t\t\t\t// Auto save and display the takeover modal.\n\t\t\t\tautosave();\n\t\t\t\tupdatePostLock( {\n\t\t\t\t\tisLocked: true,\n\t\t\t\t\tisTakeover: true,\n\t\t\t\t\tuser: {\n\t\t\t\t\t\tname: received.lock_error.name,\n\t\t\t\t\t\tavatar: received.lock_error.avatar_src_2x,\n\t\t\t\t\t},\n\t\t\t\t} );\n\t\t\t} else if ( received.new_lock ) {\n\t\t\t\tupdatePostLock( {\n\t\t\t\t\tisLocked: false,\n\t\t\t\t\tactivePostLock: received.new_lock,\n\t\t\t\t} );\n\t\t\t}\n\t\t}\n\n\t\t/**\n\t\t * Unlock the post before the window is exited.\n\t\t */\n\t\tfunction releasePostLock() {\n\t\t\tif ( isLocked || ! activePostLock ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst data = new window.FormData();\n\t\t\tdata.append( 'action', 'wp-remove-post-lock' );\n\t\t\tdata.append( '_wpnonce', postLockUtils.unlockNonce );\n\t\t\tdata.append( 'post_ID', postId );\n\t\t\tdata.append( 'active_post_lock', activePostLock );\n\n\t\t\tif ( window.navigator.sendBeacon ) {\n\t\t\t\twindow.navigator.sendBeacon( postLockUtils.ajaxUrl, data );\n\t\t\t} else {\n\t\t\t\tconst xhr = new window.XMLHttpRequest();\n\t\t\t\txhr.open( 'POST', postLockUtils.ajaxUrl, false );\n\t\t\t\txhr.send( data );\n\t\t\t}\n\t\t}\n\n\t\t// Details on these events on the Heartbeat API docs\n\t\t// https://developer.wordpress.org/plugins/javascript/heartbeat-api/\n\t\taddAction( 'heartbeat.send', hookName, sendPostLock );\n\t\taddAction( 'heartbeat.tick', hookName, receivePostLock );\n\t\twindow.addEventListener( 'beforeunload', releasePostLock );\n\n\t\treturn () => {\n\t\t\tremoveAction( 'heartbeat.send', hookName );\n\t\t\tremoveAction( 'heartbeat.tick', hookName );\n\t\t\twindow.removeEventListener( 'beforeunload', releasePostLock );\n\t\t};\n\t}, [] );\n\n\tif ( ! isLocked ) {\n\t\treturn null;\n\t}\n\n\tconst userDisplayName = user.name;\n\tconst userAvatar = user.avatar;\n\n\tconst unlockUrl = addQueryArgs( 'post.php', {\n\t\t'get-post-lock': '1',\n\t\tlockKey: true,\n\t\tpost: postId,\n\t\taction: 'edit',\n\t\t_wpnonce: postLockUtils.nonce,\n\t} );\n\tconst allPostsUrl = addQueryArgs( 'edit.php', {\n\t\tpost_type: postType?.slug,\n\t} );\n\tconst allPostsLabel = __( 'Exit editor' );\n\treturn (\n\t\t<Modal\n\t\t\ttitle={\n\t\t\t\tisTakeover\n\t\t\t\t\t? __( 'Someone else has taken over this post' )\n\t\t\t\t\t: __( 'This post is already being edited' )\n\t\t\t}\n\t\t\tfocusOnMount\n\t\t\tshouldCloseOnClickOutside={ false }\n\t\t\tshouldCloseOnEsc={ false }\n\t\t\tisDismissible={ false }\n\t\t\t// Do not remove this class, as this class is used by third party plugins.\n\t\t\tclassName=\"editor-post-locked-modal\"\n\t\t\tsize=\"medium\"\n\t\t>\n\t\t\t<HStack alignment=\"top\" spacing={ 6 }>\n\t\t\t\t{ !! userAvatar && (\n\t\t\t\t\t<img\n\t\t\t\t\t\tsrc={ userAvatar }\n\t\t\t\t\t\talt={ __( 'Avatar' ) }\n\t\t\t\t\t\tclassName=\"editor-post-locked-modal__avatar\"\n\t\t\t\t\t\twidth={ 64 }\n\t\t\t\t\t\theight={ 64 }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t<div>\n\t\t\t\t\t{ !! isTakeover && (\n\t\t\t\t\t\t<p>\n\t\t\t\t\t\t\t{ createInterpolateElement(\n\t\t\t\t\t\t\t\tuserDisplayName\n\t\t\t\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t\t\t\t/* translators: %s: user's display name */\n\t\t\t\t\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t\t\t\t\t'<strong>%s</strong> now has editing control of this post (<PreviewLink />). Don’t worry, your changes up to this moment have been saved.'\n\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\tuserDisplayName\n\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\t'Another user now has editing control of this post (<PreviewLink />). Don’t worry, your changes up to this moment have been saved.'\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\tstrong: <strong />,\n\t\t\t\t\t\t\t\t\tPreviewLink: (\n\t\t\t\t\t\t\t\t\t\t<ExternalLink href={ previewLink }>\n\t\t\t\t\t\t\t\t\t\t\t{ __( 'preview' ) }\n\t\t\t\t\t\t\t\t\t\t</ExternalLink>\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</p>\n\t\t\t\t\t) }\n\t\t\t\t\t{ ! isTakeover && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<p>\n\t\t\t\t\t\t\t\t{ createInterpolateElement(\n\t\t\t\t\t\t\t\t\tuserDisplayName\n\t\t\t\t\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t\t\t\t\t/* translators: %s: user's display name */\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'<strong>%s</strong> is currently working on this post (<PreviewLink />), which means you cannot make changes, unless you take over.'\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\tuserDisplayName\n\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\t\t\t'Another user is currently working on this post (<PreviewLink />), which means you cannot make changes, unless you take over.'\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\tstrong: <strong />,\n\t\t\t\t\t\t\t\t\t\tPreviewLink: (\n\t\t\t\t\t\t\t\t\t\t\t<ExternalLink href={ previewLink }>\n\t\t\t\t\t\t\t\t\t\t\t\t{ __( 'preview' ) }\n\t\t\t\t\t\t\t\t\t\t\t</ExternalLink>\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</p>\n\t\t\t\t\t\t\t<p>\n\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t'If you take over, the other user will lose editing control to the post, but their changes will be saved.'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t</>\n\t\t\t\t\t) }\n\n\t\t\t\t\t<HStack\n\t\t\t\t\t\tclassName=\"editor-post-locked-modal__buttons\"\n\t\t\t\t\t\tjustify=\"flex-end\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ ! isTakeover && (\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\t\thref={ unlockUrl }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ __( 'Take over' ) }\n\t\t\t\t\t\t\t</Button>\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\thref={ allPostsUrl }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ allPostsLabel }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</HStack>\n\t\t\t\t</div>\n\t\t\t</HStack>\n\t\t</Modal>\n\t);\n}\n\n/**\n * A modal component that is displayed when a post is locked for editing by another user.\n * The modal provides information about the lock status and options to take over or exit the editor.\n *\n * @return {React.ReactNode} The rendered PostLockedModal component.\n */\nexport default globalThis.IS_GUTENBERG_PLUGIN\n\t? withFilters( 'editor.PostLockedModal' )( PostLockedModal )\n\t: PostLockedModal;\n"],"mappings":"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","ignoreList":[]}
@@ -71,7 +71,7 @@ function PostFormatPanel() {
71
71
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(PostFormatSuggestion, {
72
72
  onUpdatePostFormat: onUpdatePostFormat,
73
73
  suggestedPostFormat: suggestion.id,
74
- suggestionText: (0, _i18n.sprintf)(/* translators: %s: post format */
74
+ suggestionText: (0, _i18n.sprintf)(/* translators: %1s: post format */
75
75
  (0, _i18n.__)('Apply the "%1$s" format.'), suggestion.caption)
76
76
  })
77
77
  })]
@@ -1 +1 @@
1
- {"version":3,"names":["_components","require","_data","_i18n","_coreData","_postFormat","_store","_jsxRuntime","getSuggestion","supportedFormats","suggestedPostFormat","formats","POST_FORMATS","filter","format","includes","id","find","PostFormatSuggestion","suggestionText","onUpdatePostFormat","jsx","Button","__next40pxDefaultSize","variant","onClick","children","PostFormatPanel","currentPostFormat","suggestion","useSelect","select","_select$getThemeSuppo","getEditedPostAttribute","getSuggestedPostFormat","editorStore","coreStore","getThemeSupports","editPost","useDispatch","panelBodyTitle","__","className","jsxs","PanelBody","initialOpen","title","sprintf","caption"],"sources":["@wordpress/editor/src/components/post-publish-panel/maybe-post-format-panel.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { Button, PanelBody } from '@wordpress/components';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport { POST_FORMATS } from '../post-format';\nimport { store as editorStore } from '../../store';\n\nconst getSuggestion = ( supportedFormats, suggestedPostFormat ) => {\n\tconst formats = POST_FORMATS.filter( ( format ) =>\n\t\tsupportedFormats?.includes( format.id )\n\t);\n\treturn formats.find( ( format ) => format.id === suggestedPostFormat );\n};\n\nconst PostFormatSuggestion = ( {\n\tsuggestedPostFormat,\n\tsuggestionText,\n\tonUpdatePostFormat,\n} ) => (\n\t<Button\n\t\t__next40pxDefaultSize\n\t\tvariant=\"link\"\n\t\tonClick={ () => onUpdatePostFormat( suggestedPostFormat ) }\n\t>\n\t\t{ suggestionText }\n\t</Button>\n);\n\nexport default function PostFormatPanel() {\n\tconst { currentPostFormat, suggestion } = useSelect( ( select ) => {\n\t\tconst { getEditedPostAttribute, getSuggestedPostFormat } =\n\t\t\tselect( editorStore );\n\t\tconst supportedFormats =\n\t\t\tselect( coreStore ).getThemeSupports().formats ?? [];\n\t\treturn {\n\t\t\tcurrentPostFormat: getEditedPostAttribute( 'format' ),\n\t\t\tsuggestion: getSuggestion(\n\t\t\t\tsupportedFormats,\n\t\t\t\tgetSuggestedPostFormat()\n\t\t\t),\n\t\t};\n\t}, [] );\n\n\tconst { editPost } = useDispatch( editorStore );\n\n\tconst onUpdatePostFormat = ( format ) => editPost( { format } );\n\n\tconst panelBodyTitle = [\n\t\t__( 'Suggestion:' ),\n\t\t<span className=\"editor-post-publish-panel__link\" key=\"label\">\n\t\t\t{ __( 'Use a post format' ) }\n\t\t</span>,\n\t];\n\n\tif ( ! suggestion || suggestion.id === currentPostFormat ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<PanelBody initialOpen={ false } title={ panelBodyTitle }>\n\t\t\t<p>\n\t\t\t\t{ __(\n\t\t\t\t\t'Your theme uses post formats to highlight different kinds of content, like images or videos. Apply a post format to see this special styling.'\n\t\t\t\t) }\n\t\t\t</p>\n\t\t\t<p>\n\t\t\t\t<PostFormatSuggestion\n\t\t\t\t\tonUpdatePostFormat={ onUpdatePostFormat }\n\t\t\t\t\tsuggestedPostFormat={ suggestion.id }\n\t\t\t\t\tsuggestionText={ sprintf(\n\t\t\t\t\t\t/* translators: %s: post format */\n\t\t\t\t\t\t__( 'Apply the \"%1$s\" format.' ),\n\t\t\t\t\t\tsuggestion.caption\n\t\t\t\t\t) }\n\t\t\t\t/>\n\t\t\t</p>\n\t\t</PanelBody>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_components","require","_data","_i18n","_coreData","_postFormat","_store","_jsxRuntime","getSuggestion","supportedFormats","suggestedPostFormat","formats","POST_FORMATS","filter","format","includes","id","find","PostFormatSuggestion","suggestionText","onUpdatePostFormat","jsx","Button","__next40pxDefaultSize","variant","onClick","children","PostFormatPanel","currentPostFormat","suggestion","useSelect","select","_select$getThemeSuppo","getEditedPostAttribute","getSuggestedPostFormat","editorStore","coreStore","getThemeSupports","editPost","useDispatch","panelBodyTitle","__","className","jsxs","PanelBody","initialOpen","title","sprintf","caption"],"sources":["@wordpress/editor/src/components/post-publish-panel/maybe-post-format-panel.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { Button, PanelBody } from '@wordpress/components';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport { POST_FORMATS } from '../post-format';\nimport { store as editorStore } from '../../store';\n\nconst getSuggestion = ( supportedFormats, suggestedPostFormat ) => {\n\tconst formats = POST_FORMATS.filter( ( format ) =>\n\t\tsupportedFormats?.includes( format.id )\n\t);\n\treturn formats.find( ( format ) => format.id === suggestedPostFormat );\n};\n\nconst PostFormatSuggestion = ( {\n\tsuggestedPostFormat,\n\tsuggestionText,\n\tonUpdatePostFormat,\n} ) => (\n\t<Button\n\t\t__next40pxDefaultSize\n\t\tvariant=\"link\"\n\t\tonClick={ () => onUpdatePostFormat( suggestedPostFormat ) }\n\t>\n\t\t{ suggestionText }\n\t</Button>\n);\n\nexport default function PostFormatPanel() {\n\tconst { currentPostFormat, suggestion } = useSelect( ( select ) => {\n\t\tconst { getEditedPostAttribute, getSuggestedPostFormat } =\n\t\t\tselect( editorStore );\n\t\tconst supportedFormats =\n\t\t\tselect( coreStore ).getThemeSupports().formats ?? [];\n\t\treturn {\n\t\t\tcurrentPostFormat: getEditedPostAttribute( 'format' ),\n\t\t\tsuggestion: getSuggestion(\n\t\t\t\tsupportedFormats,\n\t\t\t\tgetSuggestedPostFormat()\n\t\t\t),\n\t\t};\n\t}, [] );\n\n\tconst { editPost } = useDispatch( editorStore );\n\n\tconst onUpdatePostFormat = ( format ) => editPost( { format } );\n\n\tconst panelBodyTitle = [\n\t\t__( 'Suggestion:' ),\n\t\t<span className=\"editor-post-publish-panel__link\" key=\"label\">\n\t\t\t{ __( 'Use a post format' ) }\n\t\t</span>,\n\t];\n\n\tif ( ! suggestion || suggestion.id === currentPostFormat ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<PanelBody initialOpen={ false } title={ panelBodyTitle }>\n\t\t\t<p>\n\t\t\t\t{ __(\n\t\t\t\t\t'Your theme uses post formats to highlight different kinds of content, like images or videos. Apply a post format to see this special styling.'\n\t\t\t\t) }\n\t\t\t</p>\n\t\t\t<p>\n\t\t\t\t<PostFormatSuggestion\n\t\t\t\t\tonUpdatePostFormat={ onUpdatePostFormat }\n\t\t\t\t\tsuggestedPostFormat={ suggestion.id }\n\t\t\t\t\tsuggestionText={ sprintf(\n\t\t\t\t\t\t/* translators: %1s: post format */\n\t\t\t\t\t\t__( 'Apply the \"%1$s\" format.' ),\n\t\t\t\t\t\tsuggestion.caption\n\t\t\t\t\t) }\n\t\t\t\t/>\n\t\t\t</p>\n\t\t</PanelBody>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
@@ -315,7 +315,7 @@ const removeTemplates = items => async ({
315
315
  } else if (typeof items[0].title?.raw === 'string') {
316
316
  title = items[0].title?.raw;
317
317
  }
318
- successMessage = isResetting ? (0, _i18n.sprintf)(/* translators: The template/part's name. */
318
+ successMessage = isResetting ? (0, _i18n.sprintf)(/* translators: %s: The template/part's name. */
319
319
  (0, _i18n.__)('"%s" reset.'), (0, _htmlEntities.decodeEntities)(title)) : (0, _i18n.sprintf)(/* translators: %s: The template/part's name. */
320
320
  (0, _i18n._x)('"%s" deleted.', 'template part'), (0, _htmlEntities.decodeEntities)(title));
321
321
  } else {