@wordpress/editor 14.31.1-next.233ccab9b.0 → 14.32.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 (55) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/build/components/collab-sidebar/add-comment.js +4 -2
  3. package/build/components/collab-sidebar/add-comment.js.map +1 -1
  4. package/build/components/collab-sidebar/comments.js +147 -89
  5. package/build/components/collab-sidebar/comments.js.map +1 -1
  6. package/build/components/collab-sidebar/hooks.js +1 -1
  7. package/build/components/collab-sidebar/hooks.js.map +1 -1
  8. package/build/components/collab-sidebar/index.js +47 -45
  9. package/build/components/collab-sidebar/index.js.map +1 -1
  10. package/build/components/collab-sidebar/utils.js +47 -0
  11. package/build/components/collab-sidebar/utils.js.map +1 -1
  12. package/build/components/provider/use-block-editor-settings.js +1 -1
  13. package/build/components/provider/use-block-editor-settings.js.map +1 -1
  14. package/build/dataviews/store/private-actions.js +1 -1
  15. package/build/dataviews/store/private-actions.js.map +1 -1
  16. package/build/store/actions.js +63 -2
  17. package/build/store/actions.js.map +1 -1
  18. package/build-module/components/collab-sidebar/add-comment.js +4 -2
  19. package/build-module/components/collab-sidebar/add-comment.js.map +1 -1
  20. package/build-module/components/collab-sidebar/comments.js +149 -91
  21. package/build-module/components/collab-sidebar/comments.js.map +1 -1
  22. package/build-module/components/collab-sidebar/hooks.js +1 -1
  23. package/build-module/components/collab-sidebar/hooks.js.map +1 -1
  24. package/build-module/components/collab-sidebar/index.js +45 -43
  25. package/build-module/components/collab-sidebar/index.js.map +1 -1
  26. package/build-module/components/collab-sidebar/utils.js +46 -0
  27. package/build-module/components/collab-sidebar/utils.js.map +1 -1
  28. package/build-module/components/provider/use-block-editor-settings.js +1 -1
  29. package/build-module/components/provider/use-block-editor-settings.js.map +1 -1
  30. package/build-module/dataviews/store/private-actions.js +2 -2
  31. package/build-module/dataviews/store/private-actions.js.map +1 -1
  32. package/build-module/store/actions.js +63 -2
  33. package/build-module/store/actions.js.map +1 -1
  34. package/build-style/style-rtl.css +7 -10
  35. package/build-style/style.css +7 -10
  36. package/build-types/components/collab-sidebar/add-comment.d.ts.map +1 -1
  37. package/build-types/components/collab-sidebar/comments.d.ts.map +1 -1
  38. package/build-types/components/collab-sidebar/hooks.d.ts.map +1 -1
  39. package/build-types/components/collab-sidebar/index.d.ts.map +1 -1
  40. package/build-types/components/collab-sidebar/utils.d.ts +8 -0
  41. package/build-types/components/collab-sidebar/utils.d.ts.map +1 -1
  42. package/build-types/components/provider/use-block-editor-settings.d.ts.map +1 -1
  43. package/build-types/dataviews/store/private-actions.d.ts.map +1 -1
  44. package/build-types/store/actions.d.ts.map +1 -1
  45. package/package.json +37 -37
  46. package/src/components/collab-sidebar/add-comment.js +4 -2
  47. package/src/components/collab-sidebar/comments.js +113 -33
  48. package/src/components/collab-sidebar/hooks.js +2 -1
  49. package/src/components/collab-sidebar/index.js +47 -46
  50. package/src/components/collab-sidebar/style.scss +9 -10
  51. package/src/components/collab-sidebar/utils.js +54 -0
  52. package/src/components/provider/use-block-editor-settings.js +1 -0
  53. package/src/dataviews/store/private-actions.ts +6 -0
  54. package/src/store/actions.js +93 -2
  55. package/tsconfig.tsbuildinfo +1 -1
@@ -7,10 +7,10 @@ Object.defineProperty(exports, "__esModule", {
7
7
  exports.default = CollabSidebar;
8
8
  var _i18n = require("@wordpress/i18n");
9
9
  var _data = require("@wordpress/data");
10
+ var _components = require("@wordpress/components");
10
11
  var _element = require("@wordpress/element");
11
12
  var _compose = require("@wordpress/compose");
12
13
  var _icons = require("@wordpress/icons");
13
- var _hooks = require("@wordpress/hooks");
14
14
  var _notices = require("@wordpress/notices");
15
15
  var _coreData = require("@wordpress/core-data");
16
16
  var _blockEditor = require("@wordpress/block-editor");
@@ -24,7 +24,7 @@ var _store = require("../../store");
24
24
  var _commentButton = _interopRequireDefault(require("./comment-button"));
25
25
  var _commentIndicatorToolbar = _interopRequireDefault(require("./comment-indicator-toolbar"));
26
26
  var _globalStylesProvider = require("../global-styles-provider");
27
- var _hooks2 = require("./hooks");
27
+ var _hooks = require("./hooks");
28
28
  var _jsxRuntime = require("react/jsx-runtime");
29
29
  /**
30
30
  * WordPress dependencies
@@ -34,20 +34,6 @@ var _jsxRuntime = require("react/jsx-runtime");
34
34
  * Internal dependencies
35
35
  */
36
36
 
37
- const modifyBlockCommentAttributes = settings => {
38
- if (!settings.attributes.blockCommentId) {
39
- settings.attributes = {
40
- ...settings.attributes,
41
- blockCommentId: {
42
- type: 'number'
43
- }
44
- };
45
- }
46
- return settings;
47
- };
48
-
49
- // Apply the filter to all core blocks
50
- (0, _hooks.addFilter)('blocks.registerBlockType', 'block-comment/modify-core-block-attributes', modifyBlockCommentAttributes);
51
37
  function CollabSidebarContent({
52
38
  showCommentBoard,
53
39
  setShowCommentBoard,
@@ -61,15 +47,23 @@ function CollabSidebarContent({
61
47
  saveEntityRecord,
62
48
  deleteEntityRecord
63
49
  } = (0, _data.useDispatch)(_coreData.store);
64
- const {
65
- getCurrentPostId
66
- } = (0, _data.useSelect)(_store.store);
67
- const {
68
- getSelectedBlockClientId
69
- } = (0, _data.useSelect)(_blockEditor.store);
70
50
  const {
71
51
  updateBlockAttributes
72
52
  } = (0, _data.useDispatch)(_blockEditor.store);
53
+ const {
54
+ currentPostId,
55
+ getSelectedBlockClientId,
56
+ getBlockAttributes
57
+ } = (0, _data.useSelect)(select => {
58
+ const {
59
+ getCurrentPostId
60
+ } = select(_store.store);
61
+ return {
62
+ getSelectedBlockClientId: select(_blockEditor.store).getSelectedBlockClientId,
63
+ getBlockAttributes: select(_blockEditor.store).getBlockAttributes,
64
+ currentPostId: getCurrentPostId()
65
+ };
66
+ }, []);
73
67
  const onError = error => {
74
68
  const errorMessage = error.message && error.code !== 'unknown_error' ? (0, _htmlEntities.decodeEntities)(error.message) : (0, _i18n.__)('An error occurred while performing an update.');
75
69
  createNotice('error', errorMessage, {
@@ -83,7 +77,7 @@ function CollabSidebarContent({
83
77
  }) => {
84
78
  try {
85
79
  const savedRecord = await saveEntityRecord('root', 'comment', {
86
- post: getCurrentPostId(),
80
+ post: currentPostId,
87
81
  content,
88
82
  comment_type: 'block_comment',
89
83
  comment_approved: 0,
@@ -94,8 +88,12 @@ function CollabSidebarContent({
94
88
 
95
89
  // If it's a main comment, update the block attributes with the comment id.
96
90
  if (!parent && savedRecord?.id) {
91
+ const metadata = getBlockAttributes(getSelectedBlockClientId())?.metadata;
97
92
  updateBlockAttributes(getSelectedBlockClientId(), {
98
- blockCommentId: savedRecord.id
93
+ metadata: {
94
+ ...metadata,
95
+ commentId: savedRecord.id
96
+ }
99
97
  });
100
98
  }
101
99
  createNotice('snackbar', parent ? (0, _i18n.__)('Reply added successfully.') : (0, _i18n.__)('Comment added successfully.'), {
@@ -140,8 +138,12 @@ function CollabSidebarContent({
140
138
  throwOnError: true
141
139
  });
142
140
  if (!comment.parent) {
141
+ const metadata = getBlockAttributes(getSelectedBlockClientId())?.metadata;
143
142
  updateBlockAttributes(getSelectedBlockClientId(), {
144
- blockCommentId: undefined
143
+ metadata: {
144
+ ...metadata,
145
+ commentId: undefined
146
+ }
145
147
  });
146
148
  }
147
149
  createNotice('snackbar', (0, _i18n.__)('Comment deleted successfully.'), {
@@ -152,21 +154,25 @@ function CollabSidebarContent({
152
154
  onError(error);
153
155
  }
154
156
  };
155
- return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
157
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
156
158
  className: "editor-collab-sidebar-panel",
157
159
  style: styles,
158
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_addComment.AddComment, {
159
- onSubmit: addNewComment,
160
- showCommentBoard: showCommentBoard,
161
- setShowCommentBoard: setShowCommentBoard
162
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_comments.Comments, {
163
- threads: comments,
164
- onEditComment: onEditComment,
165
- onAddReply: addNewComment,
166
- onCommentDelete: onCommentDelete,
167
- showCommentBoard: showCommentBoard,
168
- setShowCommentBoard: setShowCommentBoard
169
- }, getSelectedBlockClientId())]
160
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.__experimentalVStack, {
161
+ role: "list",
162
+ spacing: "3",
163
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_addComment.AddComment, {
164
+ onSubmit: addNewComment,
165
+ showCommentBoard: showCommentBoard,
166
+ setShowCommentBoard: setShowCommentBoard
167
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_comments.Comments, {
168
+ threads: comments,
169
+ onEditComment: onEditComment,
170
+ onAddReply: addNewComment,
171
+ onCommentDelete: onCommentDelete,
172
+ showCommentBoard: showCommentBoard,
173
+ setShowCommentBoard: setShowCommentBoard
174
+ }, getSelectedBlockClientId())]
175
+ })
170
176
  });
171
177
  }
172
178
 
@@ -192,17 +198,13 @@ function CollabSidebar() {
192
198
  postId: getCurrentPostId()
193
199
  };
194
200
  }, []);
195
- const {
196
- blockCommentId
197
- } = (0, _data.useSelect)(select => {
201
+ const blockCommentId = (0, _data.useSelect)(select => {
198
202
  const {
199
203
  getBlockAttributes,
200
204
  getSelectedBlockClientId
201
205
  } = select(_blockEditor.store);
202
206
  const _clientId = getSelectedBlockClientId();
203
- return {
204
- blockCommentId: _clientId ? getBlockAttributes(_clientId)?.blockCommentId : null
205
- };
207
+ return _clientId ? getBlockAttributes(_clientId)?.metadata?.commentId : null;
206
208
  }, []);
207
209
  const openCollabBoard = () => {
208
210
  setShowCommentBoard(true);
@@ -212,7 +214,7 @@ function CollabSidebar() {
212
214
  resultComments,
213
215
  unresolvedSortedThreads,
214
216
  totalPages
215
- } = (0, _hooks2.useBlockComments)(postId);
217
+ } = (0, _hooks.useBlockComments)(postId);
216
218
  const hasMoreComments = totalPages && totalPages > 1;
217
219
 
218
220
  // Get the global styles to set the background color of the sidebar.
@@ -1 +1 @@
1
- {"version":3,"names":["_i18n","require","_data","_element","_compose","_icons","_hooks","_notices","_coreData","_blockEditor","_interface","_htmlEntities","_pluginSidebar","_interopRequireDefault","_constants","_comments","_addComment","_store","_commentButton","_commentIndicatorToolbar","_globalStylesProvider","_hooks2","_jsxRuntime","modifyBlockCommentAttributes","settings","attributes","blockCommentId","type","addFilter","CollabSidebarContent","showCommentBoard","setShowCommentBoard","styles","comments","createNotice","useDispatch","noticesStore","saveEntityRecord","deleteEntityRecord","coreStore","getCurrentPostId","useSelect","editorStore","getSelectedBlockClientId","blockEditorStore","updateBlockAttributes","onError","error","errorMessage","message","code","decodeEntities","__","isDismissible","addNewComment","content","parent","savedRecord","post","comment_type","comment_approved","throwOnError","id","onEditComment","status","messageType","messages","approved","hold","updated","_messages$messageType","onCommentDelete","comment","undefined","jsxs","className","style","children","jsx","AddComment","onSubmit","Comments","threads","onAddReply","CollabSidebar","useState","enableComplementaryArea","interfaceStore","getActiveComplementaryArea","isLargeViewport","useViewportMatch","postId","select","getBlockAttributes","_clientId","openCollabBoard","collabHistorySidebarName","resultComments","unresolvedSortedThreads","totalPages","useBlockComments","hasMoreComments","merged","GlobalStyles","useGlobalStylesContext","backgroundColor","color","background","length","unsubscribe","subscribe","activeSidebar","collabSidebarName","AddCommentComponent","CommentAvatarIndicator","AddCommentButton","currentThread","find","thread","Fragment","onClick","default","identifier","title","icon","commentIcon","closeLabel","isPinnable","header","headerClassName"],"sources":["@wordpress/editor/src/components/collab-sidebar/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useSelect, useDispatch, subscribe } from '@wordpress/data';\nimport { useState } from '@wordpress/element';\nimport { useViewportMatch } from '@wordpress/compose';\nimport { comment as commentIcon } from '@wordpress/icons';\nimport { addFilter } from '@wordpress/hooks';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { store as interfaceStore } from '@wordpress/interface';\nimport { decodeEntities } from '@wordpress/html-entities';\n\n/**\n * Internal dependencies\n */\nimport PluginSidebar from '../plugin-sidebar';\nimport { collabHistorySidebarName, collabSidebarName } from './constants';\nimport { Comments } from './comments';\nimport { AddComment } from './add-comment';\nimport { store as editorStore } from '../../store';\nimport AddCommentButton from './comment-button';\nimport CommentAvatarIndicator from './comment-indicator-toolbar';\nimport { useGlobalStylesContext } from '../global-styles-provider';\nimport { useBlockComments } from './hooks';\n\nconst modifyBlockCommentAttributes = ( settings ) => {\n\tif ( ! settings.attributes.blockCommentId ) {\n\t\tsettings.attributes = {\n\t\t\t...settings.attributes,\n\t\t\tblockCommentId: {\n\t\t\t\ttype: 'number',\n\t\t\t},\n\t\t};\n\t}\n\n\treturn settings;\n};\n\n// Apply the filter to all core blocks\naddFilter(\n\t'blocks.registerBlockType',\n\t'block-comment/modify-core-block-attributes',\n\tmodifyBlockCommentAttributes\n);\n\nfunction CollabSidebarContent( {\n\tshowCommentBoard,\n\tsetShowCommentBoard,\n\tstyles,\n\tcomments,\n} ) {\n\tconst { createNotice } = useDispatch( noticesStore );\n\tconst { saveEntityRecord, deleteEntityRecord } = useDispatch( coreStore );\n\tconst { getCurrentPostId } = useSelect( editorStore );\n\tconst { getSelectedBlockClientId } = useSelect( blockEditorStore );\n\tconst { updateBlockAttributes } = useDispatch( blockEditorStore );\n\n\tconst onError = ( error ) => {\n\t\tconst errorMessage =\n\t\t\terror.message && error.code !== 'unknown_error'\n\t\t\t\t? decodeEntities( error.message )\n\t\t\t\t: __( 'An error occurred while performing an update.' );\n\t\tcreateNotice( 'error', errorMessage, {\n\t\t\ttype: 'snackbar',\n\t\t\tisDismissible: true,\n\t\t} );\n\t};\n\n\tconst addNewComment = async ( { content, parent } ) => {\n\t\ttry {\n\t\t\tconst savedRecord = await saveEntityRecord(\n\t\t\t\t'root',\n\t\t\t\t'comment',\n\t\t\t\t{\n\t\t\t\t\tpost: getCurrentPostId(),\n\t\t\t\t\tcontent,\n\t\t\t\t\tcomment_type: 'block_comment',\n\t\t\t\t\tcomment_approved: 0,\n\t\t\t\t\tparent: parent || 0,\n\t\t\t\t},\n\t\t\t\t{ throwOnError: true }\n\t\t\t);\n\n\t\t\t// If it's a main comment, update the block attributes with the comment id.\n\t\t\tif ( ! parent && savedRecord?.id ) {\n\t\t\t\tupdateBlockAttributes( getSelectedBlockClientId(), {\n\t\t\t\t\tblockCommentId: savedRecord.id,\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\tcreateNotice(\n\t\t\t\t'snackbar',\n\t\t\t\tparent\n\t\t\t\t\t? __( 'Reply added successfully.' )\n\t\t\t\t\t: __( 'Comment added successfully.' ),\n\t\t\t\t{\n\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\tisDismissible: true,\n\t\t\t\t}\n\t\t\t);\n\t\t} catch ( error ) {\n\t\t\tonError( error );\n\t\t}\n\t};\n\n\tconst onEditComment = async ( { id, content, status } ) => {\n\t\tconst messageType = status ? status : 'updated';\n\t\tconst messages = {\n\t\t\tapproved: __( 'Comment marked as resolved.' ),\n\t\t\thold: __( 'Comment reopened.' ),\n\t\t\tupdated: __( 'Comment updated.' ),\n\t\t};\n\n\t\ttry {\n\t\t\tawait saveEntityRecord(\n\t\t\t\t'root',\n\t\t\t\t'comment',\n\t\t\t\t{\n\t\t\t\t\tid,\n\t\t\t\t\tcontent,\n\t\t\t\t\tstatus,\n\t\t\t\t},\n\t\t\t\t{ throwOnError: true }\n\t\t\t);\n\t\t\tcreateNotice(\n\t\t\t\t'snackbar',\n\t\t\t\tmessages[ messageType ] ?? __( 'Comment updated.' ),\n\t\t\t\t{\n\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\tisDismissible: true,\n\t\t\t\t}\n\t\t\t);\n\t\t} catch ( error ) {\n\t\t\tonError( error );\n\t\t}\n\t};\n\n\tconst onCommentDelete = async ( comment ) => {\n\t\ttry {\n\t\t\tawait deleteEntityRecord(\n\t\t\t\t'root',\n\t\t\t\t'comment',\n\t\t\t\tcomment.id,\n\t\t\t\tundefined,\n\t\t\t\t{\n\t\t\t\t\tthrowOnError: true,\n\t\t\t\t}\n\t\t\t);\n\n\t\t\tif ( ! comment.parent ) {\n\t\t\t\tupdateBlockAttributes( getSelectedBlockClientId(), {\n\t\t\t\t\tblockCommentId: undefined,\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\tcreateNotice( 'snackbar', __( 'Comment deleted successfully.' ), {\n\t\t\t\ttype: 'snackbar',\n\t\t\t\tisDismissible: true,\n\t\t\t} );\n\t\t} catch ( error ) {\n\t\t\tonError( error );\n\t\t}\n\t};\n\n\treturn (\n\t\t<div className=\"editor-collab-sidebar-panel\" style={ styles }>\n\t\t\t<AddComment\n\t\t\t\tonSubmit={ addNewComment }\n\t\t\t\tshowCommentBoard={ showCommentBoard }\n\t\t\t\tsetShowCommentBoard={ setShowCommentBoard }\n\t\t\t/>\n\t\t\t<Comments\n\t\t\t\tkey={ getSelectedBlockClientId() }\n\t\t\t\tthreads={ comments }\n\t\t\t\tonEditComment={ onEditComment }\n\t\t\t\tonAddReply={ addNewComment }\n\t\t\t\tonCommentDelete={ onCommentDelete }\n\t\t\t\tshowCommentBoard={ showCommentBoard }\n\t\t\t\tsetShowCommentBoard={ setShowCommentBoard }\n\t\t\t/>\n\t\t</div>\n\t);\n}\n\n/**\n * Renders the Collab sidebar.\n */\nexport default function CollabSidebar() {\n\tconst [ showCommentBoard, setShowCommentBoard ] = useState( false );\n\tconst { enableComplementaryArea } = useDispatch( interfaceStore );\n\tconst { getActiveComplementaryArea } = useSelect( interfaceStore );\n\tconst isLargeViewport = useViewportMatch( 'medium' );\n\n\tconst { postId } = useSelect( ( select ) => {\n\t\tconst { getCurrentPostId } = select( editorStore );\n\t\treturn {\n\t\t\tpostId: getCurrentPostId(),\n\t\t};\n\t}, [] );\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 openCollabBoard = () => {\n\t\tsetShowCommentBoard( true );\n\t\tenableComplementaryArea( 'core', collabHistorySidebarName );\n\t};\n\n\tconst { resultComments, unresolvedSortedThreads, totalPages } =\n\t\tuseBlockComments( postId );\n\n\tconst hasMoreComments = totalPages && totalPages > 1;\n\n\t// Get the global styles to set the background color of the sidebar.\n\tconst { merged: GlobalStyles } = useGlobalStylesContext();\n\tconst backgroundColor = GlobalStyles?.styles?.color?.background;\n\n\tif ( 0 < resultComments.length ) {\n\t\tconst unsubscribe = subscribe( () => {\n\t\t\tconst activeSidebar = getActiveComplementaryArea( 'core' );\n\n\t\t\tif ( ! activeSidebar ) {\n\t\t\t\tenableComplementaryArea( 'core', collabSidebarName );\n\t\t\t\tunsubscribe();\n\t\t\t}\n\t\t} );\n\t}\n\n\tconst AddCommentComponent = blockCommentId\n\t\t? CommentAvatarIndicator\n\t\t: AddCommentButton;\n\n\t// Find the current thread for the selected block.\n\tconst currentThread = blockCommentId\n\t\t? resultComments.find( ( thread ) => thread.id === blockCommentId )\n\t\t: null;\n\n\t// If postId is not a valid number, do not render the comment sidebar.\n\tif ( ! ( !! postId && typeof postId === 'number' ) ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<AddCommentComponent\n\t\t\t\tonClick={ openCollabBoard }\n\t\t\t\tthread={ currentThread }\n\t\t\t\thasMoreComments={ hasMoreComments }\n\t\t\t/>\n\t\t\t<PluginSidebar\n\t\t\t\tidentifier={ collabHistorySidebarName }\n\t\t\t\t// translators: Comments sidebar title\n\t\t\t\ttitle={ __( 'Comments' ) }\n\t\t\t\ticon={ commentIcon }\n\t\t\t\tcloseLabel={ __( 'Close Comments' ) }\n\t\t\t>\n\t\t\t\t<CollabSidebarContent\n\t\t\t\t\tcomments={ resultComments }\n\t\t\t\t\tshowCommentBoard={ showCommentBoard }\n\t\t\t\t\tsetShowCommentBoard={ setShowCommentBoard }\n\t\t\t\t/>\n\t\t\t</PluginSidebar>\n\t\t\t{ isLargeViewport && (\n\t\t\t\t<PluginSidebar\n\t\t\t\t\tisPinnable={ false }\n\t\t\t\t\theader={ false }\n\t\t\t\t\tidentifier={ collabSidebarName }\n\t\t\t\t\tclassName=\"editor-collab-sidebar\"\n\t\t\t\t\theaderClassName=\"editor-collab-sidebar__header\"\n\t\t\t\t>\n\t\t\t\t\t<CollabSidebarContent\n\t\t\t\t\t\tcomments={ unresolvedSortedThreads }\n\t\t\t\t\t\tshowCommentBoard={ showCommentBoard }\n\t\t\t\t\t\tsetShowCommentBoard={ setShowCommentBoard }\n\t\t\t\t\t\tstyles={ {\n\t\t\t\t\t\t\tbackgroundColor,\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t</PluginSidebar>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_i18n","require","_data","_components","_element","_compose","_icons","_notices","_coreData","_blockEditor","_interface","_htmlEntities","_pluginSidebar","_interopRequireDefault","_constants","_comments","_addComment","_store","_commentButton","_commentIndicatorToolbar","_globalStylesProvider","_hooks","_jsxRuntime","CollabSidebarContent","showCommentBoard","setShowCommentBoard","styles","comments","createNotice","useDispatch","noticesStore","saveEntityRecord","deleteEntityRecord","coreStore","updateBlockAttributes","blockEditorStore","currentPostId","getSelectedBlockClientId","getBlockAttributes","useSelect","select","getCurrentPostId","editorStore","onError","error","errorMessage","message","code","decodeEntities","__","type","isDismissible","addNewComment","content","parent","savedRecord","post","comment_type","comment_approved","throwOnError","id","metadata","commentId","onEditComment","status","messageType","messages","approved","hold","updated","_messages$messageType","onCommentDelete","comment","undefined","jsx","className","style","children","jsxs","__experimentalVStack","role","spacing","AddComment","onSubmit","Comments","threads","onAddReply","CollabSidebar","useState","enableComplementaryArea","interfaceStore","getActiveComplementaryArea","isLargeViewport","useViewportMatch","postId","blockCommentId","_clientId","openCollabBoard","collabHistorySidebarName","resultComments","unresolvedSortedThreads","totalPages","useBlockComments","hasMoreComments","merged","GlobalStyles","useGlobalStylesContext","backgroundColor","color","background","length","unsubscribe","subscribe","activeSidebar","collabSidebarName","AddCommentComponent","CommentAvatarIndicator","AddCommentButton","currentThread","find","thread","Fragment","onClick","default","identifier","title","icon","commentIcon","closeLabel","isPinnable","header","headerClassName"],"sources":["@wordpress/editor/src/components/collab-sidebar/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useSelect, useDispatch, subscribe } from '@wordpress/data';\nimport { __experimentalVStack as VStack } from '@wordpress/components';\nimport { useState } from '@wordpress/element';\nimport { useViewportMatch } from '@wordpress/compose';\nimport { comment as commentIcon } from '@wordpress/icons';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { store as interfaceStore } from '@wordpress/interface';\nimport { decodeEntities } from '@wordpress/html-entities';\n\n/**\n * Internal dependencies\n */\nimport PluginSidebar from '../plugin-sidebar';\nimport { collabHistorySidebarName, collabSidebarName } from './constants';\nimport { Comments } from './comments';\nimport { AddComment } from './add-comment';\nimport { store as editorStore } from '../../store';\nimport AddCommentButton from './comment-button';\nimport CommentAvatarIndicator from './comment-indicator-toolbar';\nimport { useGlobalStylesContext } from '../global-styles-provider';\nimport { useBlockComments } from './hooks';\n\nfunction CollabSidebarContent( {\n\tshowCommentBoard,\n\tsetShowCommentBoard,\n\tstyles,\n\tcomments,\n} ) {\n\tconst { createNotice } = useDispatch( noticesStore );\n\tconst { saveEntityRecord, deleteEntityRecord } = useDispatch( coreStore );\n\tconst { updateBlockAttributes } = useDispatch( blockEditorStore );\n\tconst { currentPostId, getSelectedBlockClientId, getBlockAttributes } =\n\t\tuseSelect( ( select ) => {\n\t\t\tconst { getCurrentPostId } = select( editorStore );\n\t\t\treturn {\n\t\t\t\tgetSelectedBlockClientId:\n\t\t\t\t\tselect( blockEditorStore ).getSelectedBlockClientId,\n\t\t\t\tgetBlockAttributes:\n\t\t\t\t\tselect( blockEditorStore ).getBlockAttributes,\n\t\t\t\tcurrentPostId: getCurrentPostId(),\n\t\t\t};\n\t\t}, [] );\n\n\tconst onError = ( error ) => {\n\t\tconst errorMessage =\n\t\t\terror.message && error.code !== 'unknown_error'\n\t\t\t\t? decodeEntities( error.message )\n\t\t\t\t: __( 'An error occurred while performing an update.' );\n\t\tcreateNotice( 'error', errorMessage, {\n\t\t\ttype: 'snackbar',\n\t\t\tisDismissible: true,\n\t\t} );\n\t};\n\n\tconst addNewComment = async ( { content, parent } ) => {\n\t\ttry {\n\t\t\tconst savedRecord = await saveEntityRecord(\n\t\t\t\t'root',\n\t\t\t\t'comment',\n\t\t\t\t{\n\t\t\t\t\tpost: currentPostId,\n\t\t\t\t\tcontent,\n\t\t\t\t\tcomment_type: 'block_comment',\n\t\t\t\t\tcomment_approved: 0,\n\t\t\t\t\tparent: parent || 0,\n\t\t\t\t},\n\t\t\t\t{ throwOnError: true }\n\t\t\t);\n\n\t\t\t// If it's a main comment, update the block attributes with the comment id.\n\t\t\tif ( ! parent && savedRecord?.id ) {\n\t\t\t\tconst metadata = getBlockAttributes(\n\t\t\t\t\tgetSelectedBlockClientId()\n\t\t\t\t)?.metadata;\n\t\t\t\tupdateBlockAttributes( getSelectedBlockClientId(), {\n\t\t\t\t\tmetadata: {\n\t\t\t\t\t\t...metadata,\n\t\t\t\t\t\tcommentId: savedRecord.id,\n\t\t\t\t\t},\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\tcreateNotice(\n\t\t\t\t'snackbar',\n\t\t\t\tparent\n\t\t\t\t\t? __( 'Reply added successfully.' )\n\t\t\t\t\t: __( 'Comment added successfully.' ),\n\t\t\t\t{\n\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\tisDismissible: true,\n\t\t\t\t}\n\t\t\t);\n\t\t} catch ( error ) {\n\t\t\tonError( error );\n\t\t}\n\t};\n\n\tconst onEditComment = async ( { id, content, status } ) => {\n\t\tconst messageType = status ? status : 'updated';\n\t\tconst messages = {\n\t\t\tapproved: __( 'Comment marked as resolved.' ),\n\t\t\thold: __( 'Comment reopened.' ),\n\t\t\tupdated: __( 'Comment updated.' ),\n\t\t};\n\n\t\ttry {\n\t\t\tawait saveEntityRecord(\n\t\t\t\t'root',\n\t\t\t\t'comment',\n\t\t\t\t{\n\t\t\t\t\tid,\n\t\t\t\t\tcontent,\n\t\t\t\t\tstatus,\n\t\t\t\t},\n\t\t\t\t{ throwOnError: true }\n\t\t\t);\n\t\t\tcreateNotice(\n\t\t\t\t'snackbar',\n\t\t\t\tmessages[ messageType ] ?? __( 'Comment updated.' ),\n\t\t\t\t{\n\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\tisDismissible: true,\n\t\t\t\t}\n\t\t\t);\n\t\t} catch ( error ) {\n\t\t\tonError( error );\n\t\t}\n\t};\n\n\tconst onCommentDelete = async ( comment ) => {\n\t\ttry {\n\t\t\tawait deleteEntityRecord(\n\t\t\t\t'root',\n\t\t\t\t'comment',\n\t\t\t\tcomment.id,\n\t\t\t\tundefined,\n\t\t\t\t{\n\t\t\t\t\tthrowOnError: true,\n\t\t\t\t}\n\t\t\t);\n\n\t\t\tif ( ! comment.parent ) {\n\t\t\t\tconst metadata = getBlockAttributes(\n\t\t\t\t\tgetSelectedBlockClientId()\n\t\t\t\t)?.metadata;\n\t\t\t\tupdateBlockAttributes( getSelectedBlockClientId(), {\n\t\t\t\t\tmetadata: {\n\t\t\t\t\t\t...metadata,\n\t\t\t\t\t\tcommentId: undefined,\n\t\t\t\t\t},\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\tcreateNotice( 'snackbar', __( 'Comment deleted successfully.' ), {\n\t\t\t\ttype: 'snackbar',\n\t\t\t\tisDismissible: true,\n\t\t\t} );\n\t\t} catch ( error ) {\n\t\t\tonError( error );\n\t\t}\n\t};\n\n\treturn (\n\t\t<div className=\"editor-collab-sidebar-panel\" style={ styles }>\n\t\t\t<VStack role=\"list\" spacing=\"3\">\n\t\t\t\t<AddComment\n\t\t\t\t\tonSubmit={ addNewComment }\n\t\t\t\t\tshowCommentBoard={ showCommentBoard }\n\t\t\t\t\tsetShowCommentBoard={ setShowCommentBoard }\n\t\t\t\t/>\n\t\t\t\t<Comments\n\t\t\t\t\tkey={ getSelectedBlockClientId() }\n\t\t\t\t\tthreads={ comments }\n\t\t\t\t\tonEditComment={ onEditComment }\n\t\t\t\t\tonAddReply={ addNewComment }\n\t\t\t\t\tonCommentDelete={ onCommentDelete }\n\t\t\t\t\tshowCommentBoard={ showCommentBoard }\n\t\t\t\t\tsetShowCommentBoard={ setShowCommentBoard }\n\t\t\t\t/>\n\t\t\t</VStack>\n\t\t</div>\n\t);\n}\n\n/**\n * Renders the Collab sidebar.\n */\nexport default function CollabSidebar() {\n\tconst [ showCommentBoard, setShowCommentBoard ] = useState( false );\n\tconst { enableComplementaryArea } = useDispatch( interfaceStore );\n\tconst { getActiveComplementaryArea } = useSelect( interfaceStore );\n\tconst isLargeViewport = useViewportMatch( 'medium' );\n\n\tconst { postId } = useSelect( ( select ) => {\n\t\tconst { getCurrentPostId } = select( editorStore );\n\t\treturn {\n\t\t\tpostId: getCurrentPostId(),\n\t\t};\n\t}, [] );\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 _clientId\n\t\t\t? getBlockAttributes( _clientId )?.metadata?.commentId\n\t\t\t: null;\n\t}, [] );\n\n\tconst openCollabBoard = () => {\n\t\tsetShowCommentBoard( true );\n\t\tenableComplementaryArea( 'core', collabHistorySidebarName );\n\t};\n\n\tconst { resultComments, unresolvedSortedThreads, totalPages } =\n\t\tuseBlockComments( postId );\n\n\tconst hasMoreComments = totalPages && totalPages > 1;\n\n\t// Get the global styles to set the background color of the sidebar.\n\tconst { merged: GlobalStyles } = useGlobalStylesContext();\n\tconst backgroundColor = GlobalStyles?.styles?.color?.background;\n\n\tif ( 0 < resultComments.length ) {\n\t\tconst unsubscribe = subscribe( () => {\n\t\t\tconst activeSidebar = getActiveComplementaryArea( 'core' );\n\n\t\t\tif ( ! activeSidebar ) {\n\t\t\t\tenableComplementaryArea( 'core', collabSidebarName );\n\t\t\t\tunsubscribe();\n\t\t\t}\n\t\t} );\n\t}\n\n\tconst AddCommentComponent = blockCommentId\n\t\t? CommentAvatarIndicator\n\t\t: AddCommentButton;\n\n\t// Find the current thread for the selected block.\n\tconst currentThread = blockCommentId\n\t\t? resultComments.find( ( thread ) => thread.id === blockCommentId )\n\t\t: null;\n\n\t// If postId is not a valid number, do not render the comment sidebar.\n\tif ( ! ( !! postId && typeof postId === 'number' ) ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<AddCommentComponent\n\t\t\t\tonClick={ openCollabBoard }\n\t\t\t\tthread={ currentThread }\n\t\t\t\thasMoreComments={ hasMoreComments }\n\t\t\t/>\n\t\t\t<PluginSidebar\n\t\t\t\tidentifier={ collabHistorySidebarName }\n\t\t\t\t// translators: Comments sidebar title\n\t\t\t\ttitle={ __( 'Comments' ) }\n\t\t\t\ticon={ commentIcon }\n\t\t\t\tcloseLabel={ __( 'Close Comments' ) }\n\t\t\t>\n\t\t\t\t<CollabSidebarContent\n\t\t\t\t\tcomments={ resultComments }\n\t\t\t\t\tshowCommentBoard={ showCommentBoard }\n\t\t\t\t\tsetShowCommentBoard={ setShowCommentBoard }\n\t\t\t\t/>\n\t\t\t</PluginSidebar>\n\t\t\t{ isLargeViewport && (\n\t\t\t\t<PluginSidebar\n\t\t\t\t\tisPinnable={ false }\n\t\t\t\t\theader={ false }\n\t\t\t\t\tidentifier={ collabSidebarName }\n\t\t\t\t\tclassName=\"editor-collab-sidebar\"\n\t\t\t\t\theaderClassName=\"editor-collab-sidebar__header\"\n\t\t\t\t>\n\t\t\t\t\t<CollabSidebarContent\n\t\t\t\t\t\tcomments={ unresolvedSortedThreads }\n\t\t\t\t\t\tshowCommentBoard={ showCommentBoard }\n\t\t\t\t\t\tsetShowCommentBoard={ setShowCommentBoard }\n\t\t\t\t\t\tstyles={ {\n\t\t\t\t\t\t\tbackgroundColor,\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t</PluginSidebar>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
@@ -4,7 +4,13 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.getAvatarBorderColor = getAvatarBorderColor;
7
+ exports.getCommentExcerpt = getCommentExcerpt;
7
8
  exports.sanitizeCommentString = sanitizeCommentString;
9
+ var _i18n = require("@wordpress/i18n");
10
+ /**
11
+ * WordPress dependencies
12
+ */
13
+
8
14
  /**
9
15
  * Sanitizes a comment string by removing non-printable ASCII characters.
10
16
  *
@@ -45,4 +51,45 @@ const AVATAR_BORDER_COLORS = ['#3858E9',
45
51
  function getAvatarBorderColor(userId) {
46
52
  return AVATAR_BORDER_COLORS[userId % AVATAR_BORDER_COLORS.length];
47
53
  }
54
+
55
+ /**
56
+ * Generates a comment excerpt from text based on word count type and length.
57
+ *
58
+ * @param {string} text - The comment text to generate excerpt from.
59
+ * @param {number} excerptLength - The maximum length for the commentexcerpt.
60
+ * @return {string} - The generated comment excerpt.
61
+ */
62
+ function getCommentExcerpt(text, excerptLength = 10) {
63
+ if (!text) {
64
+ return '';
65
+ }
66
+
67
+ /*
68
+ * translators: If your word count is based on single characters (e.g. East Asian characters),
69
+ * enter 'characters_excluding_spaces' or 'characters_including_spaces'. Otherwise, enter 'words'.
70
+ * Do not translate into your own language.
71
+ */
72
+ const wordCountType = (0, _i18n._x)('words', 'Word count type. Do not translate!');
73
+ const rawText = text.trim();
74
+ let trimmedExcerpt = '';
75
+ if (wordCountType === 'words') {
76
+ trimmedExcerpt = rawText.split(' ', excerptLength).join(' ');
77
+ } else if (wordCountType === 'characters_excluding_spaces') {
78
+ /*
79
+ * 1. Split the text at the character limit,
80
+ * then join the substrings back into one string.
81
+ * 2. Count the number of spaces in the text
82
+ * by comparing the lengths of the string with and without spaces.
83
+ * 3. Add the number to the length of the visible excerpt,
84
+ * so that the spaces are excluded from the word count.
85
+ */
86
+ const textWithSpaces = rawText.split('', excerptLength).join('');
87
+ const numberOfSpaces = textWithSpaces.length - textWithSpaces.replaceAll(' ', '').length;
88
+ trimmedExcerpt = rawText.split('', excerptLength + numberOfSpaces).join('');
89
+ } else if (wordCountType === 'characters_including_spaces') {
90
+ trimmedExcerpt = rawText.split('', excerptLength).join('');
91
+ }
92
+ const isTrimmed = trimmedExcerpt !== rawText;
93
+ return isTrimmed ? trimmedExcerpt + '…' : trimmedExcerpt;
94
+ }
48
95
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["sanitizeCommentString","str","trim","AVATAR_BORDER_COLORS","getAvatarBorderColor","userId","length"],"sources":["@wordpress/editor/src/components/collab-sidebar/utils.js"],"sourcesContent":["/**\n * Sanitizes a comment string by removing non-printable ASCII characters.\n *\n * @param {string} str - The comment string to sanitize.\n * @return {string} - The sanitized comment string.\n */\nexport function sanitizeCommentString( str ) {\n\treturn str.trim();\n}\n\n/**\n * These colors are picked from the WordPress.org design library.\n * @see https://www.figma.com/design/HOJTpCFfa3tR0EccUlu0CM/WordPress.org-Design-Library?node-id=1-2193&t=M6WdRvTpt0mh8n6T-1\n */\nconst AVATAR_BORDER_COLORS = [\n\t'#3858E9', // Blueberry\n\t'#9fB1FF', // Blueberry 2\n\t'#1D35B4', // Dark Blueberry\n\t'#1A1919', // Charcoal 0\n\t'#E26F56', // Pomegranate\n\t'#33F078', // Acid Green\n\t'#FFF972', // Lemon\n\t'#7A00DF', // Purple\n];\n\n/**\n * Gets the border color for an avatar based on the user ID.\n *\n * @param {number} userId - The user ID.\n * @return {string} - The border color.\n */\nexport function getAvatarBorderColor( userId ) {\n\treturn AVATAR_BORDER_COLORS[ userId % AVATAR_BORDER_COLORS.length ];\n}\n"],"mappings":";;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACO,SAASA,qBAAqBA,CAAEC,GAAG,EAAG;EAC5C,OAAOA,GAAG,CAACC,IAAI,CAAC,CAAC;AAClB;;AAEA;AACA;AACA;AACA;AACA,MAAMC,oBAAoB,GAAG,CAC5B,SAAS;AAAE;AACX,SAAS;AAAE;AACX,SAAS;AAAE;AACX,SAAS;AAAE;AACX,SAAS;AAAE;AACX,SAAS;AAAE;AACX,SAAS;AAAE;AACX,SAAS,CAAE;AAAA,CACX;;AAED;AACA;AACA;AACA;AACA;AACA;AACO,SAASC,oBAAoBA,CAAEC,MAAM,EAAG;EAC9C,OAAOF,oBAAoB,CAAEE,MAAM,GAAGF,oBAAoB,CAACG,MAAM,CAAE;AACpE","ignoreList":[]}
1
+ {"version":3,"names":["_i18n","require","sanitizeCommentString","str","trim","AVATAR_BORDER_COLORS","getAvatarBorderColor","userId","length","getCommentExcerpt","text","excerptLength","wordCountType","_x","rawText","trimmedExcerpt","split","join","textWithSpaces","numberOfSpaces","replaceAll","isTrimmed"],"sources":["@wordpress/editor/src/components/collab-sidebar/utils.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { _x } from '@wordpress/i18n';\n\n/**\n * Sanitizes a comment string by removing non-printable ASCII characters.\n *\n * @param {string} str - The comment string to sanitize.\n * @return {string} - The sanitized comment string.\n */\nexport function sanitizeCommentString( str ) {\n\treturn str.trim();\n}\n\n/**\n * These colors are picked from the WordPress.org design library.\n * @see https://www.figma.com/design/HOJTpCFfa3tR0EccUlu0CM/WordPress.org-Design-Library?node-id=1-2193&t=M6WdRvTpt0mh8n6T-1\n */\nconst AVATAR_BORDER_COLORS = [\n\t'#3858E9', // Blueberry\n\t'#9fB1FF', // Blueberry 2\n\t'#1D35B4', // Dark Blueberry\n\t'#1A1919', // Charcoal 0\n\t'#E26F56', // Pomegranate\n\t'#33F078', // Acid Green\n\t'#FFF972', // Lemon\n\t'#7A00DF', // Purple\n];\n\n/**\n * Gets the border color for an avatar based on the user ID.\n *\n * @param {number} userId - The user ID.\n * @return {string} - The border color.\n */\nexport function getAvatarBorderColor( userId ) {\n\treturn AVATAR_BORDER_COLORS[ userId % AVATAR_BORDER_COLORS.length ];\n}\n\n/**\n * Generates a comment excerpt from text based on word count type and length.\n *\n * @param {string} text - The comment text to generate excerpt from.\n * @param {number} excerptLength - The maximum length for the commentexcerpt.\n * @return {string} - The generated comment excerpt.\n */\nexport function getCommentExcerpt( text, excerptLength = 10 ) {\n\tif ( ! text ) {\n\t\treturn '';\n\t}\n\n\t/*\n\t * translators: If your word count is based on single characters (e.g. East Asian characters),\n\t * enter 'characters_excluding_spaces' or 'characters_including_spaces'. Otherwise, enter 'words'.\n\t * Do not translate into your own language.\n\t */\n\tconst wordCountType = _x( 'words', 'Word count type. Do not translate!' );\n\n\tconst rawText = text.trim();\n\tlet trimmedExcerpt = '';\n\n\tif ( wordCountType === 'words' ) {\n\t\ttrimmedExcerpt = rawText.split( ' ', excerptLength ).join( ' ' );\n\t} else if ( wordCountType === 'characters_excluding_spaces' ) {\n\t\t/*\n\t\t * 1. Split the text at the character limit,\n\t\t * then join the substrings back into one string.\n\t\t * 2. Count the number of spaces in the text\n\t\t * by comparing the lengths of the string with and without spaces.\n\t\t * 3. Add the number to the length of the visible excerpt,\n\t\t * so that the spaces are excluded from the word count.\n\t\t */\n\t\tconst textWithSpaces = rawText.split( '', excerptLength ).join( '' );\n\n\t\tconst numberOfSpaces =\n\t\t\ttextWithSpaces.length - textWithSpaces.replaceAll( ' ', '' ).length;\n\n\t\ttrimmedExcerpt = rawText\n\t\t\t.split( '', excerptLength + numberOfSpaces )\n\t\t\t.join( '' );\n\t} else if ( wordCountType === 'characters_including_spaces' ) {\n\t\ttrimmedExcerpt = rawText.split( '', excerptLength ).join( '' );\n\t}\n\n\tconst isTrimmed = trimmedExcerpt !== rawText;\n\treturn isTrimmed ? trimmedExcerpt + '…' : trimmedExcerpt;\n}\n"],"mappings":";;;;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AAHA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA;AACA;AACO,SAASC,qBAAqBA,CAAEC,GAAG,EAAG;EAC5C,OAAOA,GAAG,CAACC,IAAI,CAAC,CAAC;AAClB;;AAEA;AACA;AACA;AACA;AACA,MAAMC,oBAAoB,GAAG,CAC5B,SAAS;AAAE;AACX,SAAS;AAAE;AACX,SAAS;AAAE;AACX,SAAS;AAAE;AACX,SAAS;AAAE;AACX,SAAS;AAAE;AACX,SAAS;AAAE;AACX,SAAS,CAAE;AAAA,CACX;;AAED;AACA;AACA;AACA;AACA;AACA;AACO,SAASC,oBAAoBA,CAAEC,MAAM,EAAG;EAC9C,OAAOF,oBAAoB,CAAEE,MAAM,GAAGF,oBAAoB,CAACG,MAAM,CAAE;AACpE;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASC,iBAAiBA,CAAEC,IAAI,EAAEC,aAAa,GAAG,EAAE,EAAG;EAC7D,IAAK,CAAED,IAAI,EAAG;IACb,OAAO,EAAE;EACV;;EAEA;AACD;AACA;AACA;AACA;EACC,MAAME,aAAa,GAAG,IAAAC,QAAE,EAAE,OAAO,EAAE,oCAAqC,CAAC;EAEzE,MAAMC,OAAO,GAAGJ,IAAI,CAACN,IAAI,CAAC,CAAC;EAC3B,IAAIW,cAAc,GAAG,EAAE;EAEvB,IAAKH,aAAa,KAAK,OAAO,EAAG;IAChCG,cAAc,GAAGD,OAAO,CAACE,KAAK,CAAE,GAAG,EAAEL,aAAc,CAAC,CAACM,IAAI,CAAE,GAAI,CAAC;EACjE,CAAC,MAAM,IAAKL,aAAa,KAAK,6BAA6B,EAAG;IAC7D;AACF;AACA;AACA;AACA;AACA;AACA;AACA;IACE,MAAMM,cAAc,GAAGJ,OAAO,CAACE,KAAK,CAAE,EAAE,EAAEL,aAAc,CAAC,CAACM,IAAI,CAAE,EAAG,CAAC;IAEpE,MAAME,cAAc,GACnBD,cAAc,CAACV,MAAM,GAAGU,cAAc,CAACE,UAAU,CAAE,GAAG,EAAE,EAAG,CAAC,CAACZ,MAAM;IAEpEO,cAAc,GAAGD,OAAO,CACtBE,KAAK,CAAE,EAAE,EAAEL,aAAa,GAAGQ,cAAe,CAAC,CAC3CF,IAAI,CAAE,EAAG,CAAC;EACb,CAAC,MAAM,IAAKL,aAAa,KAAK,6BAA6B,EAAG;IAC7DG,cAAc,GAAGD,OAAO,CAACE,KAAK,CAAE,EAAE,EAAEL,aAAc,CAAC,CAACM,IAAI,CAAE,EAAG,CAAC;EAC/D;EAEA,MAAMI,SAAS,GAAGN,cAAc,KAAKD,OAAO;EAC5C,OAAOO,SAAS,GAAGN,cAAc,GAAG,GAAG,GAAGA,cAAc;AACzD","ignoreList":[]}
@@ -40,7 +40,7 @@ function __experimentalReusableBlocksSelect(select) {
40
40
  [RECEIVE_INTERMEDIATE_RESULTS]: true
41
41
  });
42
42
  }
43
- const BLOCK_EDITOR_SETTINGS = ['__experimentalBlockDirectory', '__experimentalDiscussionSettings', '__experimentalFeatures', '__experimentalGlobalStylesBaseStyles', 'alignWide', 'blockInspectorTabs', 'maxUploadFileSize', 'allowedMimeTypes', 'bodyPlaceholder', 'canLockBlocks', 'canUpdateBlockBindings', 'capabilities', 'clearBlockSelection', 'codeEditingEnabled', 'colors', 'disableCustomColors', 'disableCustomFontSizes', 'disableCustomSpacingSizes', 'disableCustomGradients', 'disableLayoutStyles', 'enableCustomLineHeight', 'enableCustomSpacing', 'enableCustomUnits', 'enableOpenverseMediaCategory', 'fontSizes', 'gradients', 'generateAnchors', 'onNavigateToEntityRecord', 'imageDefaultSize', 'imageDimensions', 'imageEditing', 'imageSizes', 'isPreviewMode', 'isRTL', 'locale', 'maxWidth', 'postContentAttributes', 'postsPerPage', 'readOnly', 'styles', 'titlePlaceholder', 'supportsLayout', 'widgetTypesToHideFromLegacyWidgetBlock', '__unstableHasCustomAppender', '__unstableResolvedAssets', '__unstableIsBlockBasedTheme'];
43
+ const BLOCK_EDITOR_SETTINGS = ['__experimentalBlockBindingsSupportedAttributes', '__experimentalBlockDirectory', '__experimentalDiscussionSettings', '__experimentalFeatures', '__experimentalGlobalStylesBaseStyles', 'alignWide', 'blockInspectorTabs', 'maxUploadFileSize', 'allowedMimeTypes', 'bodyPlaceholder', 'canLockBlocks', 'canUpdateBlockBindings', 'capabilities', 'clearBlockSelection', 'codeEditingEnabled', 'colors', 'disableCustomColors', 'disableCustomFontSizes', 'disableCustomSpacingSizes', 'disableCustomGradients', 'disableLayoutStyles', 'enableCustomLineHeight', 'enableCustomSpacing', 'enableCustomUnits', 'enableOpenverseMediaCategory', 'fontSizes', 'gradients', 'generateAnchors', 'onNavigateToEntityRecord', 'imageDefaultSize', 'imageDimensions', 'imageEditing', 'imageSizes', 'isPreviewMode', 'isRTL', 'locale', 'maxWidth', 'postContentAttributes', 'postsPerPage', 'readOnly', 'styles', 'titlePlaceholder', 'supportsLayout', 'widgetTypesToHideFromLegacyWidgetBlock', '__unstableHasCustomAppender', '__unstableResolvedAssets', '__unstableIsBlockBasedTheme'];
44
44
  const {
45
45
  globalStylesDataKey,
46
46
  globalStylesLinksDataKey,
@@ -1 +1 @@
1
- {"version":3,"names":["_element","require","_data","_coreData","_i18n","_preferences","_compose","_blocks","_blockEditor","_mediaCategories","_interopRequireDefault","_utils","_mediaSideload","_store","_lockUnlock","_globalStylesProvider","EMPTY_OBJECT","__experimentalReusableBlocksSelect","select","RECEIVE_INTERMEDIATE_RESULTS","unlock","coreDataPrivateApis","getEntityRecords","coreStore","per_page","BLOCK_EDITOR_SETTINGS","globalStylesDataKey","globalStylesLinksDataKey","selectBlockPatternsKey","reusableBlocksSelectKey","sectionRootClientIdKey","mediaEditKey","privateApis","useBlockEditorSettings","settings","postType","postId","renderingMode","_mergedGlobalStyles$s","_mergedGlobalStyles$_","_settings$__experimen","_settings$__experimen2","isLargeViewport","useViewportMatch","allowRightClickOverrides","blockTypes","focusMode","hasFixedToolbar","isDistractionFree","keepCaretInsideBlock","hasUploadPermissions","hiddenBlockTypes","canUseUnfilteredHTML","userCanCreatePages","pageOnFront","pageForPosts","userPatternCategories","restBlockPatternCategories","sectionRootClientId","useSelect","_canUser","canUser","getRawEntityRecord","getEntityRecord","getUserPatternCategories","getBlockPatternCategories","get","preferencesStore","getBlockTypes","blocksStore","getBlocksByName","getBlockAttributes","blockEditorStore","siteSettings","kind","name","undefined","getSectionRootBlock","_getBlocksByName$find","_getBlocksByName$","find","clientId","tagName","_links","hasOwnProperty","page_on_front","page_for_posts","merged","mergedGlobalStyles","useGlobalStylesContext","globalStylesData","styles","globalStylesLinksData","settingsBlockPatterns","__experimentalAdditionalBlockPatterns","__experimentalBlockPatterns","settingsBlockPatternCategories","__experimentalAdditionalBlockPatternCategories","__experimentalBlockPatternCategories","blockPatterns","useMemo","filter","postTypes","Array","isArray","includes","blockPatternCategories","x","index","arr","findIndex","y","undo","setIsInserterOpened","useDispatch","editorStore","editMediaEntity","saveEntityRecord","createPageEntity","useCallback","options","Promise","reject","message","__","allowedBlockTypes","length","defaultAllowedBlockTypes","map","type","forceDisableFocusMode","blockEditorSettings","Object","fromEntries","entries","key","mediaUpload","mediaSideload","hasFinishedResolution","getBlockPatternsForPostType","patterns","__experimentalUserPatternCategories","__experimentalFetchLinkSuggestions","search","searchOptions","fetchLinkSuggestions","inserterMediaCategories","__experimentalFetchRichUrlData","fetchUrlData","__experimentalCanUserUseUnfilteredHTML","__experimentalUndo","outlineMode","__experimentalCreatePageEntity","__experimentalUserCanCreatePages","__experimentalPreferPatternsOnRoot","templateLock","template","__experimentalSetIsInserterOpened","editorTool","_default","exports","default"],"sources":["@wordpress/editor/src/components/provider/use-block-editor-settings.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useMemo, useCallback } from '@wordpress/element';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport {\n\tstore as coreStore,\n\t__experimentalFetchLinkSuggestions as fetchLinkSuggestions,\n\t__experimentalFetchUrlData as fetchUrlData,\n\tprivateApis as coreDataPrivateApis,\n} from '@wordpress/core-data';\nimport { __ } from '@wordpress/i18n';\nimport { store as preferencesStore } from '@wordpress/preferences';\nimport { useViewportMatch } from '@wordpress/compose';\nimport { store as blocksStore } from '@wordpress/blocks';\nimport {\n\tprivateApis,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport inserterMediaCategories from '../media-categories';\nimport { mediaUpload } from '../../utils';\nimport { default as mediaSideload } from '../../utils/media-sideload';\nimport { store as editorStore } from '../../store';\nimport { unlock } from '../../lock-unlock';\nimport { useGlobalStylesContext } from '../global-styles-provider';\n\nconst EMPTY_OBJECT = {};\n\nfunction __experimentalReusableBlocksSelect( select ) {\n\tconst { RECEIVE_INTERMEDIATE_RESULTS } = unlock( coreDataPrivateApis );\n\tconst { getEntityRecords } = select( coreStore );\n\treturn getEntityRecords( 'postType', 'wp_block', {\n\t\tper_page: -1,\n\t\t[ RECEIVE_INTERMEDIATE_RESULTS ]: true,\n\t} );\n}\n\nconst BLOCK_EDITOR_SETTINGS = [\n\t'__experimentalBlockDirectory',\n\t'__experimentalDiscussionSettings',\n\t'__experimentalFeatures',\n\t'__experimentalGlobalStylesBaseStyles',\n\t'alignWide',\n\t'blockInspectorTabs',\n\t'maxUploadFileSize',\n\t'allowedMimeTypes',\n\t'bodyPlaceholder',\n\t'canLockBlocks',\n\t'canUpdateBlockBindings',\n\t'capabilities',\n\t'clearBlockSelection',\n\t'codeEditingEnabled',\n\t'colors',\n\t'disableCustomColors',\n\t'disableCustomFontSizes',\n\t'disableCustomSpacingSizes',\n\t'disableCustomGradients',\n\t'disableLayoutStyles',\n\t'enableCustomLineHeight',\n\t'enableCustomSpacing',\n\t'enableCustomUnits',\n\t'enableOpenverseMediaCategory',\n\t'fontSizes',\n\t'gradients',\n\t'generateAnchors',\n\t'onNavigateToEntityRecord',\n\t'imageDefaultSize',\n\t'imageDimensions',\n\t'imageEditing',\n\t'imageSizes',\n\t'isPreviewMode',\n\t'isRTL',\n\t'locale',\n\t'maxWidth',\n\t'postContentAttributes',\n\t'postsPerPage',\n\t'readOnly',\n\t'styles',\n\t'titlePlaceholder',\n\t'supportsLayout',\n\t'widgetTypesToHideFromLegacyWidgetBlock',\n\t'__unstableHasCustomAppender',\n\t'__unstableResolvedAssets',\n\t'__unstableIsBlockBasedTheme',\n];\n\nconst {\n\tglobalStylesDataKey,\n\tglobalStylesLinksDataKey,\n\tselectBlockPatternsKey,\n\treusableBlocksSelectKey,\n\tsectionRootClientIdKey,\n\tmediaEditKey,\n} = unlock( privateApis );\n\n/**\n * React hook used to compute the block editor settings to use for the post editor.\n *\n * @param {Object} settings EditorProvider settings prop.\n * @param {string} postType Editor root level post type.\n * @param {string} postId Editor root level post ID.\n * @param {string} renderingMode Editor rendering mode.\n *\n * @return {Object} Block Editor Settings.\n */\nfunction useBlockEditorSettings( settings, postType, postId, renderingMode ) {\n\tconst isLargeViewport = useViewportMatch( 'medium' );\n\tconst {\n\t\tallowRightClickOverrides,\n\t\tblockTypes,\n\t\tfocusMode,\n\t\thasFixedToolbar,\n\t\tisDistractionFree,\n\t\tkeepCaretInsideBlock,\n\t\thasUploadPermissions,\n\t\thiddenBlockTypes,\n\t\tcanUseUnfilteredHTML,\n\t\tuserCanCreatePages,\n\t\tpageOnFront,\n\t\tpageForPosts,\n\t\tuserPatternCategories,\n\t\trestBlockPatternCategories,\n\t\tsectionRootClientId,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tcanUser,\n\t\t\t\tgetRawEntityRecord,\n\t\t\t\tgetEntityRecord,\n\t\t\t\tgetUserPatternCategories,\n\t\t\t\tgetBlockPatternCategories,\n\t\t\t} = select( coreStore );\n\t\t\tconst { get } = select( preferencesStore );\n\t\t\tconst { getBlockTypes } = select( blocksStore );\n\t\t\tconst { getBlocksByName, getBlockAttributes } =\n\t\t\t\tselect( blockEditorStore );\n\t\t\tconst siteSettings = canUser( 'read', {\n\t\t\t\tkind: 'root',\n\t\t\t\tname: 'site',\n\t\t\t} )\n\t\t\t\t? getEntityRecord( 'root', 'site' )\n\t\t\t\t: undefined;\n\n\t\t\tfunction getSectionRootBlock() {\n\t\t\t\tif ( renderingMode === 'template-locked' ) {\n\t\t\t\t\treturn getBlocksByName( 'core/post-content' )?.[ 0 ] ?? '';\n\t\t\t\t}\n\n\t\t\t\treturn (\n\t\t\t\t\tgetBlocksByName( 'core/group' ).find(\n\t\t\t\t\t\t( clientId ) =>\n\t\t\t\t\t\t\tgetBlockAttributes( clientId )?.tagName === 'main'\n\t\t\t\t\t) ?? ''\n\t\t\t\t);\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\tallowRightClickOverrides: get(\n\t\t\t\t\t'core',\n\t\t\t\t\t'allowRightClickOverrides'\n\t\t\t\t),\n\t\t\t\tblockTypes: getBlockTypes(),\n\t\t\t\tcanUseUnfilteredHTML: getRawEntityRecord(\n\t\t\t\t\t'postType',\n\t\t\t\t\tpostType,\n\t\t\t\t\tpostId\n\t\t\t\t)?._links?.hasOwnProperty( 'wp:action-unfiltered-html' ),\n\t\t\t\tfocusMode: get( 'core', 'focusMode' ),\n\t\t\t\thasFixedToolbar:\n\t\t\t\t\tget( 'core', 'fixedToolbar' ) || ! isLargeViewport,\n\t\t\t\thiddenBlockTypes: get( 'core', 'hiddenBlockTypes' ),\n\t\t\t\tisDistractionFree: get( 'core', 'distractionFree' ),\n\t\t\t\tkeepCaretInsideBlock: get( 'core', 'keepCaretInsideBlock' ),\n\t\t\t\thasUploadPermissions:\n\t\t\t\t\tcanUser( 'create', {\n\t\t\t\t\t\tkind: 'postType',\n\t\t\t\t\t\tname: 'attachment',\n\t\t\t\t\t} ) ?? true,\n\t\t\t\tuserCanCreatePages: canUser( 'create', {\n\t\t\t\t\tkind: 'postType',\n\t\t\t\t\tname: 'page',\n\t\t\t\t} ),\n\t\t\t\tpageOnFront: siteSettings?.page_on_front,\n\t\t\t\tpageForPosts: siteSettings?.page_for_posts,\n\t\t\t\tuserPatternCategories: getUserPatternCategories(),\n\t\t\t\trestBlockPatternCategories: getBlockPatternCategories(),\n\t\t\t\tsectionRootClientId: getSectionRootBlock(),\n\t\t\t};\n\t\t},\n\t\t[ postType, postId, isLargeViewport, renderingMode ]\n\t);\n\n\tconst { merged: mergedGlobalStyles } = useGlobalStylesContext();\n\tconst globalStylesData = mergedGlobalStyles.styles ?? EMPTY_OBJECT;\n\tconst globalStylesLinksData = mergedGlobalStyles._links ?? EMPTY_OBJECT;\n\n\tconst settingsBlockPatterns =\n\t\tsettings.__experimentalAdditionalBlockPatterns ?? // WP 6.0\n\t\tsettings.__experimentalBlockPatterns; // WP 5.9\n\tconst settingsBlockPatternCategories =\n\t\tsettings.__experimentalAdditionalBlockPatternCategories ?? // WP 6.0\n\t\tsettings.__experimentalBlockPatternCategories; // WP 5.9\n\n\tconst blockPatterns = useMemo(\n\t\t() =>\n\t\t\t[ ...( settingsBlockPatterns || [] ) ].filter(\n\t\t\t\t( { postTypes } ) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t! postTypes ||\n\t\t\t\t\t\t( Array.isArray( postTypes ) &&\n\t\t\t\t\t\t\tpostTypes.includes( postType ) )\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t),\n\t\t[ settingsBlockPatterns, postType ]\n\t);\n\n\tconst blockPatternCategories = useMemo(\n\t\t() =>\n\t\t\t[\n\t\t\t\t...( settingsBlockPatternCategories || [] ),\n\t\t\t\t...( restBlockPatternCategories || [] ),\n\t\t\t].filter(\n\t\t\t\t( x, index, arr ) =>\n\t\t\t\t\tindex === arr.findIndex( ( y ) => x.name === y.name )\n\t\t\t),\n\t\t[ settingsBlockPatternCategories, restBlockPatternCategories ]\n\t);\n\n\tconst { undo, setIsInserterOpened } = useDispatch( editorStore );\n\tconst { editMediaEntity } = unlock( useDispatch( coreStore ) );\n\tconst { saveEntityRecord } = useDispatch( coreStore );\n\n\t/**\n\t * Creates a Post entity.\n\t * This is utilised by the Link UI to allow for on-the-fly creation of Posts/Pages.\n\t *\n\t * @param {Object} options parameters for the post being created. These mirror those used on 3rd param of saveEntityRecord.\n\t * @return {Object} the post type object that was created.\n\t */\n\tconst createPageEntity = useCallback(\n\t\t( options ) => {\n\t\t\tif ( ! userCanCreatePages ) {\n\t\t\t\treturn Promise.reject( {\n\t\t\t\t\tmessage: __(\n\t\t\t\t\t\t'You do not have permission to create Pages.'\n\t\t\t\t\t),\n\t\t\t\t} );\n\t\t\t}\n\t\t\treturn saveEntityRecord( 'postType', 'page', options );\n\t\t},\n\t\t[ saveEntityRecord, userCanCreatePages ]\n\t);\n\n\tconst allowedBlockTypes = useMemo( () => {\n\t\t// Omit hidden block types if exists and non-empty.\n\t\tif ( hiddenBlockTypes && hiddenBlockTypes.length > 0 ) {\n\t\t\t// Defer to passed setting for `allowedBlockTypes` if provided as\n\t\t\t// anything other than `true` (where `true` is equivalent to allow\n\t\t\t// all block types).\n\t\t\tconst defaultAllowedBlockTypes =\n\t\t\t\ttrue === settings.allowedBlockTypes\n\t\t\t\t\t? blockTypes.map( ( { name } ) => name )\n\t\t\t\t\t: settings.allowedBlockTypes || [];\n\n\t\t\treturn defaultAllowedBlockTypes.filter(\n\t\t\t\t( type ) => ! hiddenBlockTypes.includes( type )\n\t\t\t);\n\t\t}\n\n\t\treturn settings.allowedBlockTypes;\n\t}, [ settings.allowedBlockTypes, hiddenBlockTypes, blockTypes ] );\n\n\tconst forceDisableFocusMode = settings.focusMode === false;\n\n\treturn useMemo( () => {\n\t\tconst blockEditorSettings = {\n\t\t\t...Object.fromEntries(\n\t\t\t\tObject.entries( settings ).filter( ( [ key ] ) =>\n\t\t\t\t\tBLOCK_EDITOR_SETTINGS.includes( key )\n\t\t\t\t)\n\t\t\t),\n\t\t\t[ globalStylesDataKey ]: globalStylesData,\n\t\t\t[ globalStylesLinksDataKey ]: globalStylesLinksData,\n\t\t\tallowedBlockTypes,\n\t\t\tallowRightClickOverrides,\n\t\t\tfocusMode: focusMode && ! forceDisableFocusMode,\n\t\t\thasFixedToolbar,\n\t\t\tisDistractionFree,\n\t\t\tkeepCaretInsideBlock,\n\t\t\t[ mediaEditKey ]: hasUploadPermissions\n\t\t\t\t? editMediaEntity\n\t\t\t\t: undefined,\n\t\t\tmediaUpload: hasUploadPermissions ? mediaUpload : undefined,\n\t\t\tmediaSideload: hasUploadPermissions ? mediaSideload : undefined,\n\t\t\t__experimentalBlockPatterns: blockPatterns,\n\t\t\t[ selectBlockPatternsKey ]: ( select ) => {\n\t\t\t\tconst { hasFinishedResolution, getBlockPatternsForPostType } =\n\t\t\t\t\tunlock( select( coreStore ) );\n\t\t\t\tconst patterns = getBlockPatternsForPostType( postType );\n\t\t\t\treturn hasFinishedResolution( 'getBlockPatterns' )\n\t\t\t\t\t? patterns\n\t\t\t\t\t: undefined;\n\t\t\t},\n\t\t\t[ reusableBlocksSelectKey ]: __experimentalReusableBlocksSelect,\n\t\t\t__experimentalBlockPatternCategories: blockPatternCategories,\n\t\t\t__experimentalUserPatternCategories: userPatternCategories,\n\t\t\t__experimentalFetchLinkSuggestions: ( search, searchOptions ) =>\n\t\t\t\tfetchLinkSuggestions( search, searchOptions, settings ),\n\t\t\tinserterMediaCategories,\n\t\t\t__experimentalFetchRichUrlData: fetchUrlData,\n\t\t\t// Todo: This only checks the top level post, not the post within a template or any other entity that can be edited.\n\t\t\t// This might be better as a generic \"canUser\" selector.\n\t\t\t__experimentalCanUserUseUnfilteredHTML: canUseUnfilteredHTML,\n\t\t\t//Todo: this is only needed for native and should probably be removed.\n\t\t\t__experimentalUndo: undo,\n\t\t\t// Check whether we want all site editor frames to have outlines\n\t\t\t// including the navigation / pattern / parts editors.\n\t\t\toutlineMode: ! isDistractionFree && postType === 'wp_template',\n\t\t\t// Check these two properties: they were not present in the site editor.\n\t\t\t__experimentalCreatePageEntity: createPageEntity,\n\t\t\t__experimentalUserCanCreatePages: userCanCreatePages,\n\t\t\tpageOnFront,\n\t\t\tpageForPosts,\n\t\t\t__experimentalPreferPatternsOnRoot: postType === 'wp_template',\n\t\t\ttemplateLock:\n\t\t\t\tpostType === 'wp_navigation' ? 'insert' : settings.templateLock,\n\t\t\ttemplate:\n\t\t\t\tpostType === 'wp_navigation'\n\t\t\t\t\t? [ [ 'core/navigation', {}, [] ] ]\n\t\t\t\t\t: settings.template,\n\t\t\t__experimentalSetIsInserterOpened: setIsInserterOpened,\n\t\t\t[ sectionRootClientIdKey ]: sectionRootClientId,\n\t\t\teditorTool:\n\t\t\t\trenderingMode === 'post-only' && postType !== 'wp_template'\n\t\t\t\t\t? 'edit'\n\t\t\t\t\t: undefined,\n\t\t};\n\n\t\treturn blockEditorSettings;\n\t}, [\n\t\tallowedBlockTypes,\n\t\tallowRightClickOverrides,\n\t\tfocusMode,\n\t\tforceDisableFocusMode,\n\t\thasFixedToolbar,\n\t\tisDistractionFree,\n\t\tkeepCaretInsideBlock,\n\t\tsettings,\n\t\thasUploadPermissions,\n\t\tuserPatternCategories,\n\t\tblockPatterns,\n\t\tblockPatternCategories,\n\t\tcanUseUnfilteredHTML,\n\t\tundo,\n\t\tcreatePageEntity,\n\t\tuserCanCreatePages,\n\t\tpageOnFront,\n\t\tpageForPosts,\n\t\tpostType,\n\t\tsetIsInserterOpened,\n\t\tsectionRootClientId,\n\t\tglobalStylesData,\n\t\tglobalStylesLinksData,\n\t\trenderingMode,\n\t\teditMediaEntity,\n\t] );\n}\n\nexport default useBlockEditorSettings;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_element","require","_data","_coreData","_i18n","_preferences","_compose","_blocks","_blockEditor","_mediaCategories","_interopRequireDefault","_utils","_mediaSideload","_store","_lockUnlock","_globalStylesProvider","EMPTY_OBJECT","__experimentalReusableBlocksSelect","select","RECEIVE_INTERMEDIATE_RESULTS","unlock","coreDataPrivateApis","getEntityRecords","coreStore","per_page","BLOCK_EDITOR_SETTINGS","globalStylesDataKey","globalStylesLinksDataKey","selectBlockPatternsKey","reusableBlocksSelectKey","sectionRootClientIdKey","mediaEditKey","privateApis","useBlockEditorSettings","settings","postType","postId","renderingMode","_mergedGlobalStyles$s","_mergedGlobalStyles$_","_settings$__experimen","_settings$__experimen2","isLargeViewport","useViewportMatch","allowRightClickOverrides","blockTypes","focusMode","hasFixedToolbar","isDistractionFree","keepCaretInsideBlock","hasUploadPermissions","hiddenBlockTypes","canUseUnfilteredHTML","userCanCreatePages","pageOnFront","pageForPosts","userPatternCategories","restBlockPatternCategories","sectionRootClientId","useSelect","_canUser","canUser","getRawEntityRecord","getEntityRecord","getUserPatternCategories","getBlockPatternCategories","get","preferencesStore","getBlockTypes","blocksStore","getBlocksByName","getBlockAttributes","blockEditorStore","siteSettings","kind","name","undefined","getSectionRootBlock","_getBlocksByName$find","_getBlocksByName$","find","clientId","tagName","_links","hasOwnProperty","page_on_front","page_for_posts","merged","mergedGlobalStyles","useGlobalStylesContext","globalStylesData","styles","globalStylesLinksData","settingsBlockPatterns","__experimentalAdditionalBlockPatterns","__experimentalBlockPatterns","settingsBlockPatternCategories","__experimentalAdditionalBlockPatternCategories","__experimentalBlockPatternCategories","blockPatterns","useMemo","filter","postTypes","Array","isArray","includes","blockPatternCategories","x","index","arr","findIndex","y","undo","setIsInserterOpened","useDispatch","editorStore","editMediaEntity","saveEntityRecord","createPageEntity","useCallback","options","Promise","reject","message","__","allowedBlockTypes","length","defaultAllowedBlockTypes","map","type","forceDisableFocusMode","blockEditorSettings","Object","fromEntries","entries","key","mediaUpload","mediaSideload","hasFinishedResolution","getBlockPatternsForPostType","patterns","__experimentalUserPatternCategories","__experimentalFetchLinkSuggestions","search","searchOptions","fetchLinkSuggestions","inserterMediaCategories","__experimentalFetchRichUrlData","fetchUrlData","__experimentalCanUserUseUnfilteredHTML","__experimentalUndo","outlineMode","__experimentalCreatePageEntity","__experimentalUserCanCreatePages","__experimentalPreferPatternsOnRoot","templateLock","template","__experimentalSetIsInserterOpened","editorTool","_default","exports","default"],"sources":["@wordpress/editor/src/components/provider/use-block-editor-settings.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useMemo, useCallback } from '@wordpress/element';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport {\n\tstore as coreStore,\n\t__experimentalFetchLinkSuggestions as fetchLinkSuggestions,\n\t__experimentalFetchUrlData as fetchUrlData,\n\tprivateApis as coreDataPrivateApis,\n} from '@wordpress/core-data';\nimport { __ } from '@wordpress/i18n';\nimport { store as preferencesStore } from '@wordpress/preferences';\nimport { useViewportMatch } from '@wordpress/compose';\nimport { store as blocksStore } from '@wordpress/blocks';\nimport {\n\tprivateApis,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport inserterMediaCategories from '../media-categories';\nimport { mediaUpload } from '../../utils';\nimport { default as mediaSideload } from '../../utils/media-sideload';\nimport { store as editorStore } from '../../store';\nimport { unlock } from '../../lock-unlock';\nimport { useGlobalStylesContext } from '../global-styles-provider';\n\nconst EMPTY_OBJECT = {};\n\nfunction __experimentalReusableBlocksSelect( select ) {\n\tconst { RECEIVE_INTERMEDIATE_RESULTS } = unlock( coreDataPrivateApis );\n\tconst { getEntityRecords } = select( coreStore );\n\treturn getEntityRecords( 'postType', 'wp_block', {\n\t\tper_page: -1,\n\t\t[ RECEIVE_INTERMEDIATE_RESULTS ]: true,\n\t} );\n}\n\nconst BLOCK_EDITOR_SETTINGS = [\n\t'__experimentalBlockBindingsSupportedAttributes',\n\t'__experimentalBlockDirectory',\n\t'__experimentalDiscussionSettings',\n\t'__experimentalFeatures',\n\t'__experimentalGlobalStylesBaseStyles',\n\t'alignWide',\n\t'blockInspectorTabs',\n\t'maxUploadFileSize',\n\t'allowedMimeTypes',\n\t'bodyPlaceholder',\n\t'canLockBlocks',\n\t'canUpdateBlockBindings',\n\t'capabilities',\n\t'clearBlockSelection',\n\t'codeEditingEnabled',\n\t'colors',\n\t'disableCustomColors',\n\t'disableCustomFontSizes',\n\t'disableCustomSpacingSizes',\n\t'disableCustomGradients',\n\t'disableLayoutStyles',\n\t'enableCustomLineHeight',\n\t'enableCustomSpacing',\n\t'enableCustomUnits',\n\t'enableOpenverseMediaCategory',\n\t'fontSizes',\n\t'gradients',\n\t'generateAnchors',\n\t'onNavigateToEntityRecord',\n\t'imageDefaultSize',\n\t'imageDimensions',\n\t'imageEditing',\n\t'imageSizes',\n\t'isPreviewMode',\n\t'isRTL',\n\t'locale',\n\t'maxWidth',\n\t'postContentAttributes',\n\t'postsPerPage',\n\t'readOnly',\n\t'styles',\n\t'titlePlaceholder',\n\t'supportsLayout',\n\t'widgetTypesToHideFromLegacyWidgetBlock',\n\t'__unstableHasCustomAppender',\n\t'__unstableResolvedAssets',\n\t'__unstableIsBlockBasedTheme',\n];\n\nconst {\n\tglobalStylesDataKey,\n\tglobalStylesLinksDataKey,\n\tselectBlockPatternsKey,\n\treusableBlocksSelectKey,\n\tsectionRootClientIdKey,\n\tmediaEditKey,\n} = unlock( privateApis );\n\n/**\n * React hook used to compute the block editor settings to use for the post editor.\n *\n * @param {Object} settings EditorProvider settings prop.\n * @param {string} postType Editor root level post type.\n * @param {string} postId Editor root level post ID.\n * @param {string} renderingMode Editor rendering mode.\n *\n * @return {Object} Block Editor Settings.\n */\nfunction useBlockEditorSettings( settings, postType, postId, renderingMode ) {\n\tconst isLargeViewport = useViewportMatch( 'medium' );\n\tconst {\n\t\tallowRightClickOverrides,\n\t\tblockTypes,\n\t\tfocusMode,\n\t\thasFixedToolbar,\n\t\tisDistractionFree,\n\t\tkeepCaretInsideBlock,\n\t\thasUploadPermissions,\n\t\thiddenBlockTypes,\n\t\tcanUseUnfilteredHTML,\n\t\tuserCanCreatePages,\n\t\tpageOnFront,\n\t\tpageForPosts,\n\t\tuserPatternCategories,\n\t\trestBlockPatternCategories,\n\t\tsectionRootClientId,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tcanUser,\n\t\t\t\tgetRawEntityRecord,\n\t\t\t\tgetEntityRecord,\n\t\t\t\tgetUserPatternCategories,\n\t\t\t\tgetBlockPatternCategories,\n\t\t\t} = select( coreStore );\n\t\t\tconst { get } = select( preferencesStore );\n\t\t\tconst { getBlockTypes } = select( blocksStore );\n\t\t\tconst { getBlocksByName, getBlockAttributes } =\n\t\t\t\tselect( blockEditorStore );\n\t\t\tconst siteSettings = canUser( 'read', {\n\t\t\t\tkind: 'root',\n\t\t\t\tname: 'site',\n\t\t\t} )\n\t\t\t\t? getEntityRecord( 'root', 'site' )\n\t\t\t\t: undefined;\n\n\t\t\tfunction getSectionRootBlock() {\n\t\t\t\tif ( renderingMode === 'template-locked' ) {\n\t\t\t\t\treturn getBlocksByName( 'core/post-content' )?.[ 0 ] ?? '';\n\t\t\t\t}\n\n\t\t\t\treturn (\n\t\t\t\t\tgetBlocksByName( 'core/group' ).find(\n\t\t\t\t\t\t( clientId ) =>\n\t\t\t\t\t\t\tgetBlockAttributes( clientId )?.tagName === 'main'\n\t\t\t\t\t) ?? ''\n\t\t\t\t);\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\tallowRightClickOverrides: get(\n\t\t\t\t\t'core',\n\t\t\t\t\t'allowRightClickOverrides'\n\t\t\t\t),\n\t\t\t\tblockTypes: getBlockTypes(),\n\t\t\t\tcanUseUnfilteredHTML: getRawEntityRecord(\n\t\t\t\t\t'postType',\n\t\t\t\t\tpostType,\n\t\t\t\t\tpostId\n\t\t\t\t)?._links?.hasOwnProperty( 'wp:action-unfiltered-html' ),\n\t\t\t\tfocusMode: get( 'core', 'focusMode' ),\n\t\t\t\thasFixedToolbar:\n\t\t\t\t\tget( 'core', 'fixedToolbar' ) || ! isLargeViewport,\n\t\t\t\thiddenBlockTypes: get( 'core', 'hiddenBlockTypes' ),\n\t\t\t\tisDistractionFree: get( 'core', 'distractionFree' ),\n\t\t\t\tkeepCaretInsideBlock: get( 'core', 'keepCaretInsideBlock' ),\n\t\t\t\thasUploadPermissions:\n\t\t\t\t\tcanUser( 'create', {\n\t\t\t\t\t\tkind: 'postType',\n\t\t\t\t\t\tname: 'attachment',\n\t\t\t\t\t} ) ?? true,\n\t\t\t\tuserCanCreatePages: canUser( 'create', {\n\t\t\t\t\tkind: 'postType',\n\t\t\t\t\tname: 'page',\n\t\t\t\t} ),\n\t\t\t\tpageOnFront: siteSettings?.page_on_front,\n\t\t\t\tpageForPosts: siteSettings?.page_for_posts,\n\t\t\t\tuserPatternCategories: getUserPatternCategories(),\n\t\t\t\trestBlockPatternCategories: getBlockPatternCategories(),\n\t\t\t\tsectionRootClientId: getSectionRootBlock(),\n\t\t\t};\n\t\t},\n\t\t[ postType, postId, isLargeViewport, renderingMode ]\n\t);\n\n\tconst { merged: mergedGlobalStyles } = useGlobalStylesContext();\n\tconst globalStylesData = mergedGlobalStyles.styles ?? EMPTY_OBJECT;\n\tconst globalStylesLinksData = mergedGlobalStyles._links ?? EMPTY_OBJECT;\n\n\tconst settingsBlockPatterns =\n\t\tsettings.__experimentalAdditionalBlockPatterns ?? // WP 6.0\n\t\tsettings.__experimentalBlockPatterns; // WP 5.9\n\tconst settingsBlockPatternCategories =\n\t\tsettings.__experimentalAdditionalBlockPatternCategories ?? // WP 6.0\n\t\tsettings.__experimentalBlockPatternCategories; // WP 5.9\n\n\tconst blockPatterns = useMemo(\n\t\t() =>\n\t\t\t[ ...( settingsBlockPatterns || [] ) ].filter(\n\t\t\t\t( { postTypes } ) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t! postTypes ||\n\t\t\t\t\t\t( Array.isArray( postTypes ) &&\n\t\t\t\t\t\t\tpostTypes.includes( postType ) )\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t),\n\t\t[ settingsBlockPatterns, postType ]\n\t);\n\n\tconst blockPatternCategories = useMemo(\n\t\t() =>\n\t\t\t[\n\t\t\t\t...( settingsBlockPatternCategories || [] ),\n\t\t\t\t...( restBlockPatternCategories || [] ),\n\t\t\t].filter(\n\t\t\t\t( x, index, arr ) =>\n\t\t\t\t\tindex === arr.findIndex( ( y ) => x.name === y.name )\n\t\t\t),\n\t\t[ settingsBlockPatternCategories, restBlockPatternCategories ]\n\t);\n\n\tconst { undo, setIsInserterOpened } = useDispatch( editorStore );\n\tconst { editMediaEntity } = unlock( useDispatch( coreStore ) );\n\tconst { saveEntityRecord } = useDispatch( coreStore );\n\n\t/**\n\t * Creates a Post entity.\n\t * This is utilised by the Link UI to allow for on-the-fly creation of Posts/Pages.\n\t *\n\t * @param {Object} options parameters for the post being created. These mirror those used on 3rd param of saveEntityRecord.\n\t * @return {Object} the post type object that was created.\n\t */\n\tconst createPageEntity = useCallback(\n\t\t( options ) => {\n\t\t\tif ( ! userCanCreatePages ) {\n\t\t\t\treturn Promise.reject( {\n\t\t\t\t\tmessage: __(\n\t\t\t\t\t\t'You do not have permission to create Pages.'\n\t\t\t\t\t),\n\t\t\t\t} );\n\t\t\t}\n\t\t\treturn saveEntityRecord( 'postType', 'page', options );\n\t\t},\n\t\t[ saveEntityRecord, userCanCreatePages ]\n\t);\n\n\tconst allowedBlockTypes = useMemo( () => {\n\t\t// Omit hidden block types if exists and non-empty.\n\t\tif ( hiddenBlockTypes && hiddenBlockTypes.length > 0 ) {\n\t\t\t// Defer to passed setting for `allowedBlockTypes` if provided as\n\t\t\t// anything other than `true` (where `true` is equivalent to allow\n\t\t\t// all block types).\n\t\t\tconst defaultAllowedBlockTypes =\n\t\t\t\ttrue === settings.allowedBlockTypes\n\t\t\t\t\t? blockTypes.map( ( { name } ) => name )\n\t\t\t\t\t: settings.allowedBlockTypes || [];\n\n\t\t\treturn defaultAllowedBlockTypes.filter(\n\t\t\t\t( type ) => ! hiddenBlockTypes.includes( type )\n\t\t\t);\n\t\t}\n\n\t\treturn settings.allowedBlockTypes;\n\t}, [ settings.allowedBlockTypes, hiddenBlockTypes, blockTypes ] );\n\n\tconst forceDisableFocusMode = settings.focusMode === false;\n\n\treturn useMemo( () => {\n\t\tconst blockEditorSettings = {\n\t\t\t...Object.fromEntries(\n\t\t\t\tObject.entries( settings ).filter( ( [ key ] ) =>\n\t\t\t\t\tBLOCK_EDITOR_SETTINGS.includes( key )\n\t\t\t\t)\n\t\t\t),\n\t\t\t[ globalStylesDataKey ]: globalStylesData,\n\t\t\t[ globalStylesLinksDataKey ]: globalStylesLinksData,\n\t\t\tallowedBlockTypes,\n\t\t\tallowRightClickOverrides,\n\t\t\tfocusMode: focusMode && ! forceDisableFocusMode,\n\t\t\thasFixedToolbar,\n\t\t\tisDistractionFree,\n\t\t\tkeepCaretInsideBlock,\n\t\t\t[ mediaEditKey ]: hasUploadPermissions\n\t\t\t\t? editMediaEntity\n\t\t\t\t: undefined,\n\t\t\tmediaUpload: hasUploadPermissions ? mediaUpload : undefined,\n\t\t\tmediaSideload: hasUploadPermissions ? mediaSideload : undefined,\n\t\t\t__experimentalBlockPatterns: blockPatterns,\n\t\t\t[ selectBlockPatternsKey ]: ( select ) => {\n\t\t\t\tconst { hasFinishedResolution, getBlockPatternsForPostType } =\n\t\t\t\t\tunlock( select( coreStore ) );\n\t\t\t\tconst patterns = getBlockPatternsForPostType( postType );\n\t\t\t\treturn hasFinishedResolution( 'getBlockPatterns' )\n\t\t\t\t\t? patterns\n\t\t\t\t\t: undefined;\n\t\t\t},\n\t\t\t[ reusableBlocksSelectKey ]: __experimentalReusableBlocksSelect,\n\t\t\t__experimentalBlockPatternCategories: blockPatternCategories,\n\t\t\t__experimentalUserPatternCategories: userPatternCategories,\n\t\t\t__experimentalFetchLinkSuggestions: ( search, searchOptions ) =>\n\t\t\t\tfetchLinkSuggestions( search, searchOptions, settings ),\n\t\t\tinserterMediaCategories,\n\t\t\t__experimentalFetchRichUrlData: fetchUrlData,\n\t\t\t// Todo: This only checks the top level post, not the post within a template or any other entity that can be edited.\n\t\t\t// This might be better as a generic \"canUser\" selector.\n\t\t\t__experimentalCanUserUseUnfilteredHTML: canUseUnfilteredHTML,\n\t\t\t//Todo: this is only needed for native and should probably be removed.\n\t\t\t__experimentalUndo: undo,\n\t\t\t// Check whether we want all site editor frames to have outlines\n\t\t\t// including the navigation / pattern / parts editors.\n\t\t\toutlineMode: ! isDistractionFree && postType === 'wp_template',\n\t\t\t// Check these two properties: they were not present in the site editor.\n\t\t\t__experimentalCreatePageEntity: createPageEntity,\n\t\t\t__experimentalUserCanCreatePages: userCanCreatePages,\n\t\t\tpageOnFront,\n\t\t\tpageForPosts,\n\t\t\t__experimentalPreferPatternsOnRoot: postType === 'wp_template',\n\t\t\ttemplateLock:\n\t\t\t\tpostType === 'wp_navigation' ? 'insert' : settings.templateLock,\n\t\t\ttemplate:\n\t\t\t\tpostType === 'wp_navigation'\n\t\t\t\t\t? [ [ 'core/navigation', {}, [] ] ]\n\t\t\t\t\t: settings.template,\n\t\t\t__experimentalSetIsInserterOpened: setIsInserterOpened,\n\t\t\t[ sectionRootClientIdKey ]: sectionRootClientId,\n\t\t\teditorTool:\n\t\t\t\trenderingMode === 'post-only' && postType !== 'wp_template'\n\t\t\t\t\t? 'edit'\n\t\t\t\t\t: undefined,\n\t\t};\n\n\t\treturn blockEditorSettings;\n\t}, [\n\t\tallowedBlockTypes,\n\t\tallowRightClickOverrides,\n\t\tfocusMode,\n\t\tforceDisableFocusMode,\n\t\thasFixedToolbar,\n\t\tisDistractionFree,\n\t\tkeepCaretInsideBlock,\n\t\tsettings,\n\t\thasUploadPermissions,\n\t\tuserPatternCategories,\n\t\tblockPatterns,\n\t\tblockPatternCategories,\n\t\tcanUseUnfilteredHTML,\n\t\tundo,\n\t\tcreatePageEntity,\n\t\tuserCanCreatePages,\n\t\tpageOnFront,\n\t\tpageForPosts,\n\t\tpostType,\n\t\tsetIsInserterOpened,\n\t\tsectionRootClientId,\n\t\tglobalStylesData,\n\t\tglobalStylesLinksData,\n\t\trenderingMode,\n\t\teditMediaEntity,\n\t] );\n}\n\nexport default useBlockEditorSettings;\n"],"mappings":";;;;;;;AAGA,IAAAA,QAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,SAAA,GAAAF,OAAA;AAMA,IAAAG,KAAA,GAAAH,OAAA;AACA,IAAAI,YAAA,GAAAJ,OAAA;AACA,IAAAK,QAAA,GAAAL,OAAA;AACA,IAAAM,OAAA,GAAAN,OAAA;AACA,IAAAO,YAAA,GAAAP,OAAA;AAQA,IAAAQ,gBAAA,GAAAC,sBAAA,CAAAT,OAAA;AACA,IAAAU,MAAA,GAAAV,OAAA;AACA,IAAAW,cAAA,GAAAF,sBAAA,CAAAT,OAAA;AACA,IAAAY,MAAA,GAAAZ,OAAA;AACA,IAAAa,WAAA,GAAAb,OAAA;AACA,IAAAc,qBAAA,GAAAd,OAAA;AA5BA;AACA;AACA;;AAkBA;AACA;AACA;;AAQA,MAAMe,YAAY,GAAG,CAAC,CAAC;AAEvB,SAASC,kCAAkCA,CAAEC,MAAM,EAAG;EACrD,MAAM;IAAEC;EAA6B,CAAC,GAAG,IAAAC,kBAAM,EAAEC,qBAAoB,CAAC;EACtE,MAAM;IAAEC;EAAiB,CAAC,GAAGJ,MAAM,CAAEK,eAAU,CAAC;EAChD,OAAOD,gBAAgB,CAAE,UAAU,EAAE,UAAU,EAAE;IAChDE,QAAQ,EAAE,CAAC,CAAC;IACZ,CAAEL,4BAA4B,GAAI;EACnC,CAAE,CAAC;AACJ;AAEA,MAAMM,qBAAqB,GAAG,CAC7B,gDAAgD,EAChD,8BAA8B,EAC9B,kCAAkC,EAClC,wBAAwB,EACxB,sCAAsC,EACtC,WAAW,EACX,oBAAoB,EACpB,mBAAmB,EACnB,kBAAkB,EAClB,iBAAiB,EACjB,eAAe,EACf,wBAAwB,EACxB,cAAc,EACd,qBAAqB,EACrB,oBAAoB,EACpB,QAAQ,EACR,qBAAqB,EACrB,wBAAwB,EACxB,2BAA2B,EAC3B,wBAAwB,EACxB,qBAAqB,EACrB,wBAAwB,EACxB,qBAAqB,EACrB,mBAAmB,EACnB,8BAA8B,EAC9B,WAAW,EACX,WAAW,EACX,iBAAiB,EACjB,0BAA0B,EAC1B,kBAAkB,EAClB,iBAAiB,EACjB,cAAc,EACd,YAAY,EACZ,eAAe,EACf,OAAO,EACP,QAAQ,EACR,UAAU,EACV,uBAAuB,EACvB,cAAc,EACd,UAAU,EACV,QAAQ,EACR,kBAAkB,EAClB,gBAAgB,EAChB,wCAAwC,EACxC,6BAA6B,EAC7B,0BAA0B,EAC1B,6BAA6B,CAC7B;AAED,MAAM;EACLC,mBAAmB;EACnBC,wBAAwB;EACxBC,sBAAsB;EACtBC,uBAAuB;EACvBC,sBAAsB;EACtBC;AACD,CAAC,GAAG,IAAAX,kBAAM,EAAEY,wBAAY,CAAC;;AAEzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASC,sBAAsBA,CAAEC,QAAQ,EAAEC,QAAQ,EAAEC,MAAM,EAAEC,aAAa,EAAG;EAAA,IAAAC,qBAAA,EAAAC,qBAAA,EAAAC,qBAAA,EAAAC,sBAAA;EAC5E,MAAMC,eAAe,GAAG,IAAAC,yBAAgB,EAAE,QAAS,CAAC;EACpD,MAAM;IACLC,wBAAwB;IACxBC,UAAU;IACVC,SAAS;IACTC,eAAe;IACfC,iBAAiB;IACjBC,oBAAoB;IACpBC,oBAAoB;IACpBC,gBAAgB;IAChBC,oBAAoB;IACpBC,kBAAkB;IAClBC,WAAW;IACXC,YAAY;IACZC,qBAAqB;IACrBC,0BAA0B;IAC1BC;EACD,CAAC,GAAG,IAAAC,eAAS,EACVzC,MAAM,IAAM;IAAA,IAAA0C,QAAA;IACb,MAAM;MACLC,OAAO;MACPC,kBAAkB;MAClBC,eAAe;MACfC,wBAAwB;MACxBC;IACD,CAAC,GAAG/C,MAAM,CAAEK,eAAU,CAAC;IACvB,MAAM;MAAE2C;IAAI,CAAC,GAAGhD,MAAM,CAAEiD,kBAAiB,CAAC;IAC1C,MAAM;MAAEC;IAAc,CAAC,GAAGlD,MAAM,CAAEmD,aAAY,CAAC;IAC/C,MAAM;MAAEC,eAAe;MAAEC;IAAmB,CAAC,GAC5CrD,MAAM,CAAEsD,kBAAiB,CAAC;IAC3B,MAAMC,YAAY,GAAGZ,OAAO,CAAE,MAAM,EAAE;MACrCa,IAAI,EAAE,MAAM;MACZC,IAAI,EAAE;IACP,CAAE,CAAC,GACAZ,eAAe,CAAE,MAAM,EAAE,MAAO,CAAC,GACjCa,SAAS;IAEZ,SAASC,mBAAmBA,CAAA,EAAG;MAAA,IAAAC,qBAAA;MAC9B,IAAKzC,aAAa,KAAK,iBAAiB,EAAG;QAAA,IAAA0C,iBAAA;QAC1C,QAAAA,iBAAA,GAAOT,eAAe,CAAE,mBAAoB,CAAC,GAAI,CAAC,CAAE,cAAAS,iBAAA,cAAAA,iBAAA,GAAI,EAAE;MAC3D;MAEA,QAAAD,qBAAA,GACCR,eAAe,CAAE,YAAa,CAAC,CAACU,IAAI,CACjCC,QAAQ,IACTV,kBAAkB,CAAEU,QAAS,CAAC,EAAEC,OAAO,KAAK,MAC9C,CAAC,cAAAJ,qBAAA,cAAAA,qBAAA,GAAI,EAAE;IAET;IAEA,OAAO;MACNlC,wBAAwB,EAAEsB,GAAG,CAC5B,MAAM,EACN,0BACD,CAAC;MACDrB,UAAU,EAAEuB,aAAa,CAAC,CAAC;MAC3BhB,oBAAoB,EAAEU,kBAAkB,CACvC,UAAU,EACV3B,QAAQ,EACRC,MACD,CAAC,EAAE+C,MAAM,EAAEC,cAAc,CAAE,2BAA4B,CAAC;MACxDtC,SAAS,EAAEoB,GAAG,CAAE,MAAM,EAAE,WAAY,CAAC;MACrCnB,eAAe,EACdmB,GAAG,CAAE,MAAM,EAAE,cAAe,CAAC,IAAI,CAAExB,eAAe;MACnDS,gBAAgB,EAAEe,GAAG,CAAE,MAAM,EAAE,kBAAmB,CAAC;MACnDlB,iBAAiB,EAAEkB,GAAG,CAAE,MAAM,EAAE,iBAAkB,CAAC;MACnDjB,oBAAoB,EAAEiB,GAAG,CAAE,MAAM,EAAE,sBAAuB,CAAC;MAC3DhB,oBAAoB,GAAAU,QAAA,GACnBC,OAAO,CAAE,QAAQ,EAAE;QAClBa,IAAI,EAAE,UAAU;QAChBC,IAAI,EAAE;MACP,CAAE,CAAC,cAAAf,QAAA,cAAAA,QAAA,GAAI,IAAI;MACZP,kBAAkB,EAAEQ,OAAO,CAAE,QAAQ,EAAE;QACtCa,IAAI,EAAE,UAAU;QAChBC,IAAI,EAAE;MACP,CAAE,CAAC;MACHrB,WAAW,EAAEmB,YAAY,EAAEY,aAAa;MACxC9B,YAAY,EAAEkB,YAAY,EAAEa,cAAc;MAC1C9B,qBAAqB,EAAEQ,wBAAwB,CAAC,CAAC;MACjDP,0BAA0B,EAAEQ,yBAAyB,CAAC,CAAC;MACvDP,mBAAmB,EAAEmB,mBAAmB,CAAC;IAC1C,CAAC;EACF,CAAC,EACD,CAAE1C,QAAQ,EAAEC,MAAM,EAAEM,eAAe,EAAEL,aAAa,CACnD,CAAC;EAED,MAAM;IAAEkD,MAAM,EAAEC;EAAmB,CAAC,GAAG,IAAAC,4CAAsB,EAAC,CAAC;EAC/D,MAAMC,gBAAgB,IAAApD,qBAAA,GAAGkD,kBAAkB,CAACG,MAAM,cAAArD,qBAAA,cAAAA,qBAAA,GAAItB,YAAY;EAClE,MAAM4E,qBAAqB,IAAArD,qBAAA,GAAGiD,kBAAkB,CAACL,MAAM,cAAA5C,qBAAA,cAAAA,qBAAA,GAAIvB,YAAY;EAEvE,MAAM6E,qBAAqB,IAAArD,qBAAA,GAC1BN,QAAQ,CAAC4D,qCAAqC,cAAAtD,qBAAA,cAAAA,qBAAA;EAAI;EAClDN,QAAQ,CAAC6D,2BAA2B,CAAC,CAAC;EACvC,MAAMC,8BAA8B,IAAAvD,sBAAA,GACnCP,QAAQ,CAAC+D,8CAA8C,cAAAxD,sBAAA,cAAAA,sBAAA;EAAI;EAC3DP,QAAQ,CAACgE,oCAAoC,CAAC,CAAC;;EAEhD,MAAMC,aAAa,GAAG,IAAAC,gBAAO,EAC5B,MACC,CAAE,IAAKP,qBAAqB,IAAI,EAAE,CAAE,CAAE,CAACQ,MAAM,CAC5C,CAAE;IAAEC;EAAU,CAAC,KAAM;IACpB,OACC,CAAEA,SAAS,IACTC,KAAK,CAACC,OAAO,CAAEF,SAAU,CAAC,IAC3BA,SAAS,CAACG,QAAQ,CAAEtE,QAAS,CAAG;EAEnC,CACD,CAAC,EACF,CAAE0D,qBAAqB,EAAE1D,QAAQ,CAClC,CAAC;EAED,MAAMuE,sBAAsB,GAAG,IAAAN,gBAAO,EACrC,MACC,CACC,IAAKJ,8BAA8B,IAAI,EAAE,CAAE,EAC3C,IAAKvC,0BAA0B,IAAI,EAAE,CAAE,CACvC,CAAC4C,MAAM,CACP,CAAEM,CAAC,EAAEC,KAAK,EAAEC,GAAG,KACdD,KAAK,KAAKC,GAAG,CAACC,SAAS,CAAIC,CAAC,IAAMJ,CAAC,CAAChC,IAAI,KAAKoC,CAAC,CAACpC,IAAK,CACtD,CAAC,EACF,CAAEqB,8BAA8B,EAAEvC,0BAA0B,CAC7D,CAAC;EAED,MAAM;IAAEuD,IAAI;IAAEC;EAAoB,CAAC,GAAG,IAAAC,iBAAW,EAAEC,YAAY,CAAC;EAChE,MAAM;IAAEC;EAAgB,CAAC,GAAG,IAAAhG,kBAAM,EAAE,IAAA8F,iBAAW,EAAE3F,eAAU,CAAE,CAAC;EAC9D,MAAM;IAAE8F;EAAiB,CAAC,GAAG,IAAAH,iBAAW,EAAE3F,eAAU,CAAC;;EAErD;AACD;AACA;AACA;AACA;AACA;AACA;EACC,MAAM+F,gBAAgB,GAAG,IAAAC,oBAAW,EACjCC,OAAO,IAAM;IACd,IAAK,CAAEnE,kBAAkB,EAAG;MAC3B,OAAOoE,OAAO,CAACC,MAAM,CAAE;QACtBC,OAAO,EAAE,IAAAC,QAAE,EACV,6CACD;MACD,CAAE,CAAC;IACJ;IACA,OAAOP,gBAAgB,CAAE,UAAU,EAAE,MAAM,EAAEG,OAAQ,CAAC;EACvD,CAAC,EACD,CAAEH,gBAAgB,EAAEhE,kBAAkB,CACvC,CAAC;EAED,MAAMwE,iBAAiB,GAAG,IAAAzB,gBAAO,EAAE,MAAM;IACxC;IACA,IAAKjD,gBAAgB,IAAIA,gBAAgB,CAAC2E,MAAM,GAAG,CAAC,EAAG;MACtD;MACA;MACA;MACA,MAAMC,wBAAwB,GAC7B,IAAI,KAAK7F,QAAQ,CAAC2F,iBAAiB,GAChChF,UAAU,CAACmF,GAAG,CAAE,CAAE;QAAErD;MAAK,CAAC,KAAMA,IAAK,CAAC,GACtCzC,QAAQ,CAAC2F,iBAAiB,IAAI,EAAE;MAEpC,OAAOE,wBAAwB,CAAC1B,MAAM,CACnC4B,IAAI,IAAM,CAAE9E,gBAAgB,CAACsD,QAAQ,CAAEwB,IAAK,CAC/C,CAAC;IACF;IAEA,OAAO/F,QAAQ,CAAC2F,iBAAiB;EAClC,CAAC,EAAE,CAAE3F,QAAQ,CAAC2F,iBAAiB,EAAE1E,gBAAgB,EAAEN,UAAU,CAAG,CAAC;EAEjE,MAAMqF,qBAAqB,GAAGhG,QAAQ,CAACY,SAAS,KAAK,KAAK;EAE1D,OAAO,IAAAsD,gBAAO,EAAE,MAAM;IACrB,MAAM+B,mBAAmB,GAAG;MAC3B,GAAGC,MAAM,CAACC,WAAW,CACpBD,MAAM,CAACE,OAAO,CAAEpG,QAAS,CAAC,CAACmE,MAAM,CAAE,CAAE,CAAEkC,GAAG,CAAE,KAC3C9G,qBAAqB,CAACgF,QAAQ,CAAE8B,GAAI,CACrC,CACD,CAAC;MACD,CAAE7G,mBAAmB,GAAIgE,gBAAgB;MACzC,CAAE/D,wBAAwB,GAAIiE,qBAAqB;MACnDiC,iBAAiB;MACjBjF,wBAAwB;MACxBE,SAAS,EAAEA,SAAS,IAAI,CAAEoF,qBAAqB;MAC/CnF,eAAe;MACfC,iBAAiB;MACjBC,oBAAoB;MACpB,CAAElB,YAAY,GAAImB,oBAAoB,GACnCkE,eAAe,GACfxC,SAAS;MACZ4D,WAAW,EAAEtF,oBAAoB,GAAGsF,kBAAW,GAAG5D,SAAS;MAC3D6D,aAAa,EAAEvF,oBAAoB,GAAGuF,sBAAa,GAAG7D,SAAS;MAC/DmB,2BAA2B,EAAEI,aAAa;MAC1C,CAAEvE,sBAAsB,GAAMV,MAAM,IAAM;QACzC,MAAM;UAAEwH,qBAAqB;UAAEC;QAA4B,CAAC,GAC3D,IAAAvH,kBAAM,EAAEF,MAAM,CAAEK,eAAU,CAAE,CAAC;QAC9B,MAAMqH,QAAQ,GAAGD,2BAA2B,CAAExG,QAAS,CAAC;QACxD,OAAOuG,qBAAqB,CAAE,kBAAmB,CAAC,GAC/CE,QAAQ,GACRhE,SAAS;MACb,CAAC;MACD,CAAE/C,uBAAuB,GAAIZ,kCAAkC;MAC/DiF,oCAAoC,EAAEQ,sBAAsB;MAC5DmC,mCAAmC,EAAErF,qBAAqB;MAC1DsF,kCAAkC,EAAEA,CAAEC,MAAM,EAAEC,aAAa,KAC1D,IAAAC,4CAAoB,EAAEF,MAAM,EAAEC,aAAa,EAAE9G,QAAS,CAAC;MACxDgH,uBAAuB,EAAvBA,wBAAuB;MACvBC,8BAA8B,EAAEC,oCAAY;MAC5C;MACA;MACAC,sCAAsC,EAAEjG,oBAAoB;MAC5D;MACAkG,kBAAkB,EAAEtC,IAAI;MACxB;MACA;MACAuC,WAAW,EAAE,CAAEvG,iBAAiB,IAAIb,QAAQ,KAAK,aAAa;MAC9D;MACAqH,8BAA8B,EAAElC,gBAAgB;MAChDmC,gCAAgC,EAAEpG,kBAAkB;MACpDC,WAAW;MACXC,YAAY;MACZmG,kCAAkC,EAAEvH,QAAQ,KAAK,aAAa;MAC9DwH,YAAY,EACXxH,QAAQ,KAAK,eAAe,GAAG,QAAQ,GAAGD,QAAQ,CAACyH,YAAY;MAChEC,QAAQ,EACPzH,QAAQ,KAAK,eAAe,GACzB,CAAE,CAAE,iBAAiB,EAAE,CAAC,CAAC,EAAE,EAAE,CAAE,CAAE,GACjCD,QAAQ,CAAC0H,QAAQ;MACrBC,iCAAiC,EAAE5C,mBAAmB;MACtD,CAAEnF,sBAAsB,GAAI4B,mBAAmB;MAC/CoG,UAAU,EACTzH,aAAa,KAAK,WAAW,IAAIF,QAAQ,KAAK,aAAa,GACxD,MAAM,GACNyC;IACL,CAAC;IAED,OAAOuD,mBAAmB;EAC3B,CAAC,EAAE,CACFN,iBAAiB,EACjBjF,wBAAwB,EACxBE,SAAS,EACToF,qBAAqB,EACrBnF,eAAe,EACfC,iBAAiB,EACjBC,oBAAoB,EACpBf,QAAQ,EACRgB,oBAAoB,EACpBM,qBAAqB,EACrB2C,aAAa,EACbO,sBAAsB,EACtBtD,oBAAoB,EACpB4D,IAAI,EACJM,gBAAgB,EAChBjE,kBAAkB,EAClBC,WAAW,EACXC,YAAY,EACZpB,QAAQ,EACR8E,mBAAmB,EACnBvD,mBAAmB,EACnBgC,gBAAgB,EAChBE,qBAAqB,EACrBvD,aAAa,EACb+E,eAAe,CACd,CAAC;AACJ;AAAC,IAAA2C,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEchI,sBAAsB","ignoreList":[]}
@@ -80,7 +80,7 @@ const registerPostTypeSchema = postType => async ({
80
80
  const actions = [postTypeConfig.viewable ? _fields.viewPost : undefined, !!postTypeConfig.supports?.revisions ? _fields.viewPostRevisions : undefined,
81
81
  // @ts-ignore
82
82
  globalThis.IS_GUTENBERG_PLUGIN ? !['wp_block', 'wp_template_part'].includes(postTypeConfig.slug) && canCreate && _fields.duplicatePost : undefined, postTypeConfig.slug === 'wp_template_part' && canCreate && currentTheme?.is_block_theme ? _fields.duplicateTemplatePart : undefined, canCreate && postTypeConfig.slug === 'wp_block' ? _fields.duplicatePattern : undefined, postTypeConfig.supports?.title ? _fields.renamePost : undefined, postTypeConfig.supports?.['page-attributes'] ? _fields.reorderPage : undefined, postTypeConfig.slug === 'wp_block' ? _fields.exportPattern : undefined, _fields.restorePost, _fields.resetPost, _fields.deletePost, _fields.trashPost, _fields.permanentlyDeletePost].filter(Boolean);
83
- const fields = [postTypeConfig.supports?.thumbnail && currentTheme?.theme_supports?.['post-thumbnails'] && _fields.featuredImageField, postTypeConfig.supports?.author && _fields.authorField, _fields.statusField, _fields.dateField, _fields.slugField, postTypeConfig.supports?.['page-attributes'] && _fields.parentField, postTypeConfig.supports?.comments && _fields.commentStatusField, _fields.templateField, _fields.passwordField, postTypeConfig.supports?.editor && postTypeConfig.viewable && _contentPreview.default].filter(Boolean);
83
+ const fields = [postTypeConfig.supports?.thumbnail && currentTheme?.theme_supports?.['post-thumbnails'] && _fields.featuredImageField, postTypeConfig.supports?.author && _fields.authorField, _fields.statusField, _fields.dateField, _fields.slugField, postTypeConfig.supports?.['page-attributes'] && _fields.parentField, postTypeConfig.supports?.comments && _fields.commentStatusField, postTypeConfig.supports?.trackbacks && _fields.pingStatusField, (postTypeConfig.supports?.comments || postTypeConfig.supports?.trackbacks) && _fields.discussionField, _fields.templateField, _fields.passwordField, postTypeConfig.supports?.editor && postTypeConfig.viewable && _contentPreview.default].filter(Boolean);
84
84
  if (postTypeConfig.supports?.title) {
85
85
  let _titleField;
86
86
  if (postType === 'page') {
@@ -1 +1 @@
1
- {"version":3,"names":["_coreData","require","_hooks","_fields","_store","_contentPreview","_interopRequireDefault","_lockUnlock","registerEntityAction","kind","name","config","type","unregisterEntityAction","actionId","registerEntityField","unregisterEntityField","fieldId","setIsReady","registerPostTypeSchema","postType","registry","isReady","unlock","select","editorStore","isEntityReady","dispatch","postTypeConfig","resolveSelect","coreStore","getPostType","canCreate","canUser","currentTheme","getCurrentTheme","actions","viewable","viewPost","undefined","supports","revisions","viewPostRevisions","globalThis","IS_GUTENBERG_PLUGIN","includes","slug","duplicatePost","is_block_theme","duplicateTemplatePart","duplicatePattern","title","renamePost","reorderPage","exportPattern","restorePost","resetPost","deletePost","trashPost","permanentlyDeletePost","filter","Boolean","fields","thumbnail","theme_supports","featuredImageField","author","authorField","statusField","dateField","slugField","parentField","comments","commentStatusField","templateField","passwordField","editor","postPreviewField","_titleField","pageTitleField","templateTitleField","patternTitleField","titleField","push","batch","forEach","action","field","doAction","exports"],"sources":["@wordpress/editor/src/dataviews/store/private-actions.ts"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { store as coreStore } from '@wordpress/core-data';\nimport type { Action, Field } from '@wordpress/dataviews';\nimport { doAction } from '@wordpress/hooks';\nimport type { PostType } from '@wordpress/fields';\nimport {\n\tviewPost,\n\tviewPostRevisions,\n\tduplicatePost,\n\tduplicatePattern,\n\treorderPage,\n\texportPattern,\n\tpermanentlyDeletePost,\n\trestorePost,\n\ttrashPost,\n\trenamePost,\n\tresetPost,\n\tdeletePost,\n\tduplicateTemplatePart,\n\tfeaturedImageField,\n\tdateField,\n\tparentField,\n\tpasswordField,\n\tcommentStatusField,\n\tslugField,\n\tstatusField,\n\tauthorField,\n\ttitleField,\n\ttemplateField,\n\ttemplateTitleField,\n\tpageTitleField,\n\tpatternTitleField,\n} from '@wordpress/fields';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\nimport postPreviewField from '../fields/content-preview';\nimport { unlock } from '../../lock-unlock';\n\nexport function registerEntityAction< Item >(\n\tkind: string,\n\tname: string,\n\tconfig: Action< Item >\n) {\n\treturn {\n\t\ttype: 'REGISTER_ENTITY_ACTION' as const,\n\t\tkind,\n\t\tname,\n\t\tconfig,\n\t};\n}\n\nexport function unregisterEntityAction(\n\tkind: string,\n\tname: string,\n\tactionId: string\n) {\n\treturn {\n\t\ttype: 'UNREGISTER_ENTITY_ACTION' as const,\n\t\tkind,\n\t\tname,\n\t\tactionId,\n\t};\n}\n\nexport function registerEntityField< Item >(\n\tkind: string,\n\tname: string,\n\tconfig: Field< Item >\n) {\n\treturn {\n\t\ttype: 'REGISTER_ENTITY_FIELD' as const,\n\t\tkind,\n\t\tname,\n\t\tconfig,\n\t};\n}\n\nexport function unregisterEntityField(\n\tkind: string,\n\tname: string,\n\tfieldId: string\n) {\n\treturn {\n\t\ttype: 'UNREGISTER_ENTITY_FIELD' as const,\n\t\tkind,\n\t\tname,\n\t\tfieldId,\n\t};\n}\n\nexport function setIsReady( kind: string, name: string ) {\n\treturn {\n\t\ttype: 'SET_IS_READY' as const,\n\t\tkind,\n\t\tname,\n\t};\n}\n\nexport const registerPostTypeSchema =\n\t( postType: string ) =>\n\tasync ( { registry }: { registry: any } ) => {\n\t\tconst isReady = unlock( registry.select( editorStore ) ).isEntityReady(\n\t\t\t'postType',\n\t\t\tpostType\n\t\t);\n\t\tif ( isReady ) {\n\t\t\treturn;\n\t\t}\n\n\t\tunlock( registry.dispatch( editorStore ) ).setIsReady(\n\t\t\t'postType',\n\t\t\tpostType\n\t\t);\n\n\t\tconst postTypeConfig = ( await registry\n\t\t\t.resolveSelect( coreStore )\n\t\t\t.getPostType( postType ) ) as PostType;\n\n\t\tconst canCreate = await registry\n\t\t\t.resolveSelect( coreStore )\n\t\t\t.canUser( 'create', {\n\t\t\t\tkind: 'postType',\n\t\t\t\tname: postType,\n\t\t\t} );\n\t\tconst currentTheme = await registry\n\t\t\t.resolveSelect( coreStore )\n\t\t\t.getCurrentTheme();\n\n\t\tconst actions = [\n\t\t\tpostTypeConfig.viewable ? viewPost : undefined,\n\t\t\t!! postTypeConfig.supports?.revisions\n\t\t\t\t? viewPostRevisions\n\t\t\t\t: undefined,\n\t\t\t// @ts-ignore\n\t\t\tglobalThis.IS_GUTENBERG_PLUGIN\n\t\t\t\t? ! [ 'wp_block', 'wp_template_part' ].includes(\n\t\t\t\t\t\tpostTypeConfig.slug\n\t\t\t\t ) &&\n\t\t\t\t canCreate &&\n\t\t\t\t duplicatePost\n\t\t\t\t: undefined,\n\t\t\tpostTypeConfig.slug === 'wp_template_part' &&\n\t\t\tcanCreate &&\n\t\t\tcurrentTheme?.is_block_theme\n\t\t\t\t? duplicateTemplatePart\n\t\t\t\t: undefined,\n\t\t\tcanCreate && postTypeConfig.slug === 'wp_block'\n\t\t\t\t? duplicatePattern\n\t\t\t\t: undefined,\n\t\t\tpostTypeConfig.supports?.title ? renamePost : undefined,\n\t\t\tpostTypeConfig.supports?.[ 'page-attributes' ]\n\t\t\t\t? reorderPage\n\t\t\t\t: undefined,\n\t\t\tpostTypeConfig.slug === 'wp_block' ? exportPattern : undefined,\n\t\t\trestorePost,\n\t\t\tresetPost,\n\t\t\tdeletePost,\n\t\t\ttrashPost,\n\t\t\tpermanentlyDeletePost,\n\t\t].filter( Boolean );\n\n\t\tconst fields = [\n\t\t\tpostTypeConfig.supports?.thumbnail &&\n\t\t\t\tcurrentTheme?.theme_supports?.[ 'post-thumbnails' ] &&\n\t\t\t\tfeaturedImageField,\n\t\t\tpostTypeConfig.supports?.author && authorField,\n\t\t\tstatusField,\n\t\t\tdateField,\n\t\t\tslugField,\n\t\t\tpostTypeConfig.supports?.[ 'page-attributes' ] && parentField,\n\t\t\tpostTypeConfig.supports?.comments && commentStatusField,\n\t\t\ttemplateField,\n\t\t\tpasswordField,\n\t\t\tpostTypeConfig.supports?.editor &&\n\t\t\t\tpostTypeConfig.viewable &&\n\t\t\t\tpostPreviewField,\n\t\t].filter( Boolean );\n\t\tif ( postTypeConfig.supports?.title ) {\n\t\t\tlet _titleField;\n\t\t\tif ( postType === 'page' ) {\n\t\t\t\t_titleField = pageTitleField;\n\t\t\t} else if ( postType === 'wp_template' ) {\n\t\t\t\t_titleField = templateTitleField;\n\t\t\t} else if ( postType === 'wp_block' ) {\n\t\t\t\t_titleField = patternTitleField;\n\t\t\t} else {\n\t\t\t\t_titleField = titleField;\n\t\t\t}\n\t\t\tfields.push( _titleField );\n\t\t}\n\n\t\tregistry.batch( () => {\n\t\t\tactions.forEach( ( action ) => {\n\t\t\t\tunlock( registry.dispatch( editorStore ) ).registerEntityAction(\n\t\t\t\t\t'postType',\n\t\t\t\t\tpostType,\n\t\t\t\t\taction\n\t\t\t\t);\n\t\t\t} );\n\t\t\tfields.forEach( ( field ) => {\n\t\t\t\tunlock( registry.dispatch( editorStore ) ).registerEntityField(\n\t\t\t\t\t'postType',\n\t\t\t\t\tpostType,\n\t\t\t\t\tfield\n\t\t\t\t);\n\t\t\t} );\n\t\t} );\n\n\t\tdoAction( 'core.registerPostTypeSchema', postType );\n\t};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_coreData","require","_hooks","_fields","_store","_contentPreview","_interopRequireDefault","_lockUnlock","registerEntityAction","kind","name","config","type","unregisterEntityAction","actionId","registerEntityField","unregisterEntityField","fieldId","setIsReady","registerPostTypeSchema","postType","registry","isReady","unlock","select","editorStore","isEntityReady","dispatch","postTypeConfig","resolveSelect","coreStore","getPostType","canCreate","canUser","currentTheme","getCurrentTheme","actions","viewable","viewPost","undefined","supports","revisions","viewPostRevisions","globalThis","IS_GUTENBERG_PLUGIN","includes","slug","duplicatePost","is_block_theme","duplicateTemplatePart","duplicatePattern","title","renamePost","reorderPage","exportPattern","restorePost","resetPost","deletePost","trashPost","permanentlyDeletePost","filter","Boolean","fields","thumbnail","theme_supports","featuredImageField","author","authorField","statusField","dateField","slugField","parentField","comments","commentStatusField","trackbacks","pingStatusField","discussionField","templateField","passwordField","editor","postPreviewField","_titleField","pageTitleField","templateTitleField","patternTitleField","titleField","push","batch","forEach","action","field","doAction","exports"],"sources":["@wordpress/editor/src/dataviews/store/private-actions.ts"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { store as coreStore } from '@wordpress/core-data';\nimport type { Action, Field } from '@wordpress/dataviews';\nimport { doAction } from '@wordpress/hooks';\nimport type { PostType } from '@wordpress/fields';\nimport {\n\tviewPost,\n\tviewPostRevisions,\n\tduplicatePost,\n\tduplicatePattern,\n\treorderPage,\n\texportPattern,\n\tpermanentlyDeletePost,\n\trestorePost,\n\ttrashPost,\n\trenamePost,\n\tresetPost,\n\tdeletePost,\n\tduplicateTemplatePart,\n\tfeaturedImageField,\n\tdateField,\n\tparentField,\n\tpasswordField,\n\tcommentStatusField,\n\tpingStatusField,\n\tdiscussionField,\n\tslugField,\n\tstatusField,\n\tauthorField,\n\ttitleField,\n\ttemplateField,\n\ttemplateTitleField,\n\tpageTitleField,\n\tpatternTitleField,\n} from '@wordpress/fields';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\nimport postPreviewField from '../fields/content-preview';\nimport { unlock } from '../../lock-unlock';\n\nexport function registerEntityAction< Item >(\n\tkind: string,\n\tname: string,\n\tconfig: Action< Item >\n) {\n\treturn {\n\t\ttype: 'REGISTER_ENTITY_ACTION' as const,\n\t\tkind,\n\t\tname,\n\t\tconfig,\n\t};\n}\n\nexport function unregisterEntityAction(\n\tkind: string,\n\tname: string,\n\tactionId: string\n) {\n\treturn {\n\t\ttype: 'UNREGISTER_ENTITY_ACTION' as const,\n\t\tkind,\n\t\tname,\n\t\tactionId,\n\t};\n}\n\nexport function registerEntityField< Item >(\n\tkind: string,\n\tname: string,\n\tconfig: Field< Item >\n) {\n\treturn {\n\t\ttype: 'REGISTER_ENTITY_FIELD' as const,\n\t\tkind,\n\t\tname,\n\t\tconfig,\n\t};\n}\n\nexport function unregisterEntityField(\n\tkind: string,\n\tname: string,\n\tfieldId: string\n) {\n\treturn {\n\t\ttype: 'UNREGISTER_ENTITY_FIELD' as const,\n\t\tkind,\n\t\tname,\n\t\tfieldId,\n\t};\n}\n\nexport function setIsReady( kind: string, name: string ) {\n\treturn {\n\t\ttype: 'SET_IS_READY' as const,\n\t\tkind,\n\t\tname,\n\t};\n}\n\nexport const registerPostTypeSchema =\n\t( postType: string ) =>\n\tasync ( { registry }: { registry: any } ) => {\n\t\tconst isReady = unlock( registry.select( editorStore ) ).isEntityReady(\n\t\t\t'postType',\n\t\t\tpostType\n\t\t);\n\t\tif ( isReady ) {\n\t\t\treturn;\n\t\t}\n\n\t\tunlock( registry.dispatch( editorStore ) ).setIsReady(\n\t\t\t'postType',\n\t\t\tpostType\n\t\t);\n\n\t\tconst postTypeConfig = ( await registry\n\t\t\t.resolveSelect( coreStore )\n\t\t\t.getPostType( postType ) ) as PostType;\n\n\t\tconst canCreate = await registry\n\t\t\t.resolveSelect( coreStore )\n\t\t\t.canUser( 'create', {\n\t\t\t\tkind: 'postType',\n\t\t\t\tname: postType,\n\t\t\t} );\n\t\tconst currentTheme = await registry\n\t\t\t.resolveSelect( coreStore )\n\t\t\t.getCurrentTheme();\n\n\t\tconst actions = [\n\t\t\tpostTypeConfig.viewable ? viewPost : undefined,\n\t\t\t!! postTypeConfig.supports?.revisions\n\t\t\t\t? viewPostRevisions\n\t\t\t\t: undefined,\n\t\t\t// @ts-ignore\n\t\t\tglobalThis.IS_GUTENBERG_PLUGIN\n\t\t\t\t? ! [ 'wp_block', 'wp_template_part' ].includes(\n\t\t\t\t\t\tpostTypeConfig.slug\n\t\t\t\t ) &&\n\t\t\t\t canCreate &&\n\t\t\t\t duplicatePost\n\t\t\t\t: undefined,\n\t\t\tpostTypeConfig.slug === 'wp_template_part' &&\n\t\t\tcanCreate &&\n\t\t\tcurrentTheme?.is_block_theme\n\t\t\t\t? duplicateTemplatePart\n\t\t\t\t: undefined,\n\t\t\tcanCreate && postTypeConfig.slug === 'wp_block'\n\t\t\t\t? duplicatePattern\n\t\t\t\t: undefined,\n\t\t\tpostTypeConfig.supports?.title ? renamePost : undefined,\n\t\t\tpostTypeConfig.supports?.[ 'page-attributes' ]\n\t\t\t\t? reorderPage\n\t\t\t\t: undefined,\n\t\t\tpostTypeConfig.slug === 'wp_block' ? exportPattern : undefined,\n\t\t\trestorePost,\n\t\t\tresetPost,\n\t\t\tdeletePost,\n\t\t\ttrashPost,\n\t\t\tpermanentlyDeletePost,\n\t\t].filter( Boolean );\n\n\t\tconst fields = [\n\t\t\tpostTypeConfig.supports?.thumbnail &&\n\t\t\t\tcurrentTheme?.theme_supports?.[ 'post-thumbnails' ] &&\n\t\t\t\tfeaturedImageField,\n\t\t\tpostTypeConfig.supports?.author && authorField,\n\t\t\tstatusField,\n\t\t\tdateField,\n\t\t\tslugField,\n\t\t\tpostTypeConfig.supports?.[ 'page-attributes' ] && parentField,\n\t\t\tpostTypeConfig.supports?.comments && commentStatusField,\n\t\t\tpostTypeConfig.supports?.trackbacks && pingStatusField,\n\t\t\t( postTypeConfig.supports?.comments ||\n\t\t\t\tpostTypeConfig.supports?.trackbacks ) &&\n\t\t\t\tdiscussionField,\n\t\t\ttemplateField,\n\t\t\tpasswordField,\n\t\t\tpostTypeConfig.supports?.editor &&\n\t\t\t\tpostTypeConfig.viewable &&\n\t\t\t\tpostPreviewField,\n\t\t].filter( Boolean );\n\t\tif ( postTypeConfig.supports?.title ) {\n\t\t\tlet _titleField;\n\t\t\tif ( postType === 'page' ) {\n\t\t\t\t_titleField = pageTitleField;\n\t\t\t} else if ( postType === 'wp_template' ) {\n\t\t\t\t_titleField = templateTitleField;\n\t\t\t} else if ( postType === 'wp_block' ) {\n\t\t\t\t_titleField = patternTitleField;\n\t\t\t} else {\n\t\t\t\t_titleField = titleField;\n\t\t\t}\n\t\t\tfields.push( _titleField );\n\t\t}\n\n\t\tregistry.batch( () => {\n\t\t\tactions.forEach( ( action ) => {\n\t\t\t\tunlock( registry.dispatch( editorStore ) ).registerEntityAction(\n\t\t\t\t\t'postType',\n\t\t\t\t\tpostType,\n\t\t\t\t\taction\n\t\t\t\t);\n\t\t\t} );\n\t\t\tfields.forEach( ( field ) => {\n\t\t\t\tunlock( registry.dispatch( editorStore ) ).registerEntityField(\n\t\t\t\t\t'postType',\n\t\t\t\t\tpostType,\n\t\t\t\t\tfield\n\t\t\t\t);\n\t\t\t} );\n\t\t} );\n\n\t\tdoAction( 'core.registerPostTypeSchema', postType );\n\t};\n"],"mappings":"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","ignoreList":[]}