@wordpress/editor 14.13.0 → 14.13.1-next.cd6172eb0.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.
- package/README.md +8 -28
- package/build/bindings/post-meta.js +2 -3
- package/build/bindings/post-meta.js.map +1 -1
- package/build/components/autocompleters/user.js +1 -3
- package/build/components/autocompleters/user.js.map +1 -1
- package/build/components/collab-sidebar/constants.js +2 -1
- package/build/components/collab-sidebar/constants.js.map +1 -1
- package/build/components/collab-sidebar/index.js +108 -43
- package/build/components/collab-sidebar/index.js.map +1 -1
- package/build/components/collab-sidebar/utils.js +32 -0
- package/build/components/collab-sidebar/utils.js.map +1 -1
- package/build/components/entities-saved-states/index.js +6 -6
- package/build/components/entities-saved-states/index.js.map +1 -1
- package/build/components/header/index.js +5 -2
- package/build/components/header/index.js.map +1 -1
- package/build/components/index.js +10 -26
- package/build/components/index.js.map +1 -1
- package/build/components/post-actions/actions.js +29 -2
- package/build/components/post-actions/actions.js.map +1 -1
- package/build/components/post-actions/index.js +1 -1
- package/build/components/post-actions/index.js.map +1 -1
- package/build/components/post-actions/set-as-homepage.js +170 -0
- package/build/components/post-actions/set-as-homepage.js.map +1 -0
- package/build/components/post-author/constants.js +1 -1
- package/build/components/post-author/constants.js.map +1 -1
- package/build/components/post-author/hook.js +1 -0
- package/build/components/post-author/hook.js.map +1 -1
- package/build/components/post-fields/index.js +3 -3
- package/build/components/post-fields/index.js.map +1 -1
- package/build/components/post-publish-button/index.js +4 -2
- package/build/components/post-publish-button/index.js.map +1 -1
- package/build/components/post-publish-button/post-publish-button-or-toggle.js +32 -37
- package/build/components/post-publish-button/post-publish-button-or-toggle.js.map +1 -1
- package/build/components/post-publish-panel/maybe-upload-media.js +0 -1
- package/build/components/post-publish-panel/maybe-upload-media.js.map +1 -1
- package/build/components/post-publish-panel/media-util.js +0 -1
- package/build/components/post-publish-panel/media-util.js.map +1 -1
- package/build/components/post-publish-panel/postpublish.js +103 -117
- package/build/components/post-publish-panel/postpublish.js.map +1 -1
- package/build/components/post-trash/check.js +4 -4
- package/build/components/post-trash/check.js.map +1 -1
- package/build/components/post-url/index.js +2 -1
- package/build/components/post-url/index.js.map +1 -1
- package/build/components/provider/index.js +9 -1
- package/build/components/provider/index.js.map +1 -1
- package/build/components/save-publish-panels/index.js +3 -1
- package/build/components/save-publish-panels/index.js.map +1 -1
- package/build/components/template-part-menu-items/convert-to-template-part.js +2 -3
- package/build/components/template-part-menu-items/convert-to-template-part.js.map +1 -1
- package/build/components/visual-editor/index.js +2 -1
- package/build/components/visual-editor/index.js.map +1 -1
- package/build/dataviews/store/private-actions.js +3 -8
- package/build/dataviews/store/private-actions.js.map +1 -1
- package/build/private-apis.js +2 -2
- package/build/private-apis.js.map +1 -1
- package/build/store/constants.js +0 -1
- package/build/store/constants.js.map +1 -1
- package/build/store/private-actions.js +0 -1
- package/build/store/private-actions.js.map +1 -1
- package/build/store/selectors.js +1 -1
- package/build/store/selectors.js.map +1 -1
- package/build-module/bindings/post-meta.js +2 -3
- package/build-module/bindings/post-meta.js.map +1 -1
- package/build-module/components/autocompleters/user.js +1 -3
- package/build-module/components/autocompleters/user.js.map +1 -1
- package/build-module/components/collab-sidebar/constants.js +1 -0
- package/build-module/components/collab-sidebar/constants.js.map +1 -1
- package/build-module/components/collab-sidebar/index.js +111 -46
- package/build-module/components/collab-sidebar/index.js.map +1 -1
- package/build-module/components/collab-sidebar/utils.js +31 -0
- package/build-module/components/collab-sidebar/utils.js.map +1 -1
- package/build-module/components/entities-saved-states/index.js +6 -6
- package/build-module/components/entities-saved-states/index.js.map +1 -1
- package/build-module/components/header/index.js +5 -2
- package/build-module/components/header/index.js.map +1 -1
- package/build-module/components/index.js +0 -2
- package/build-module/components/index.js.map +1 -1
- package/build-module/components/post-actions/actions.js +29 -2
- package/build-module/components/post-actions/actions.js.map +1 -1
- package/build-module/components/post-actions/index.js +1 -1
- package/build-module/components/post-actions/index.js.map +1 -1
- package/build-module/components/post-actions/set-as-homepage.js +162 -0
- package/build-module/components/post-actions/set-as-homepage.js.map +1 -0
- package/build-module/components/post-author/constants.js +1 -1
- package/build-module/components/post-author/constants.js.map +1 -1
- package/build-module/components/post-author/hook.js +1 -0
- package/build-module/components/post-author/hook.js.map +1 -1
- package/build-module/components/post-fields/index.js +3 -3
- package/build-module/components/post-fields/index.js.map +1 -1
- package/build-module/components/post-publish-button/index.js +4 -2
- package/build-module/components/post-publish-button/index.js.map +1 -1
- package/build-module/components/post-publish-button/post-publish-button-or-toggle.js +34 -38
- package/build-module/components/post-publish-button/post-publish-button-or-toggle.js.map +1 -1
- package/build-module/components/post-publish-panel/maybe-upload-media.js +0 -1
- package/build-module/components/post-publish-panel/maybe-upload-media.js.map +1 -1
- package/build-module/components/post-publish-panel/media-util.js +0 -1
- package/build-module/components/post-publish-panel/media-util.js.map +1 -1
- package/build-module/components/post-publish-panel/postpublish.js +104 -118
- package/build-module/components/post-publish-panel/postpublish.js.map +1 -1
- package/build-module/components/post-trash/check.js +4 -4
- package/build-module/components/post-trash/check.js.map +1 -1
- package/build-module/components/post-url/index.js +2 -1
- package/build-module/components/post-url/index.js.map +1 -1
- package/build-module/components/provider/index.js +10 -2
- package/build-module/components/provider/index.js.map +1 -1
- package/build-module/components/save-publish-panels/index.js +3 -1
- package/build-module/components/save-publish-panels/index.js.map +1 -1
- package/build-module/components/template-part-menu-items/convert-to-template-part.js +1 -1
- package/build-module/components/template-part-menu-items/convert-to-template-part.js.map +1 -1
- package/build-module/components/visual-editor/index.js +2 -1
- package/build-module/components/visual-editor/index.js.map +1 -1
- package/build-module/dataviews/store/private-actions.js +4 -9
- package/build-module/dataviews/store/private-actions.js.map +1 -1
- package/build-module/private-apis.js +1 -1
- package/build-module/private-apis.js.map +1 -1
- package/build-module/store/constants.js +0 -1
- package/build-module/store/constants.js.map +1 -1
- package/build-module/store/private-actions.js +0 -1
- package/build-module/store/private-actions.js.map +1 -1
- package/build-module/store/selectors.js +1 -1
- package/build-module/store/selectors.js.map +1 -1
- package/build-style/style-rtl.css +31 -62
- package/build-style/style.css +31 -62
- package/build-types/bindings/post-meta.d.ts.map +1 -1
- package/build-types/components/autocompleters/user.d.ts +1 -3
- package/build-types/components/autocompleters/user.d.ts.map +1 -1
- package/build-types/components/collab-sidebar/constants.d.ts +1 -0
- package/build-types/components/collab-sidebar/constants.d.ts.map +1 -1
- package/build-types/components/collab-sidebar/index.d.ts.map +1 -1
- package/build-types/components/collab-sidebar/utils.d.ts +10 -0
- package/build-types/components/collab-sidebar/utils.d.ts.map +1 -1
- package/build-types/components/entities-saved-states/index.d.ts +5 -5
- package/build-types/components/entities-saved-states/index.d.ts.map +1 -1
- package/build-types/components/header/index.d.ts.map +1 -1
- package/build-types/components/index.d.ts +0 -2
- package/build-types/components/index.d.ts.map +1 -1
- package/build-types/components/post-actions/actions.d.ts +1 -1
- package/build-types/components/post-actions/actions.d.ts.map +1 -1
- package/build-types/components/post-actions/set-as-homepage.d.ts +10 -0
- package/build-types/components/post-actions/set-as-homepage.d.ts.map +1 -0
- package/build-types/components/post-author/hook.d.ts.map +1 -1
- package/build-types/components/post-fields/index.d.ts +3 -1
- package/build-types/components/post-fields/index.d.ts.map +1 -1
- package/build-types/components/post-publish-button/index.d.ts.map +1 -1
- package/build-types/components/post-publish-button/post-publish-button-or-toggle.d.ts +1 -13
- package/build-types/components/post-publish-button/post-publish-button-or-toggle.d.ts.map +1 -1
- package/build-types/components/post-publish-panel/postpublish.d.ts +4 -2
- package/build-types/components/post-publish-panel/postpublish.d.ts.map +1 -1
- package/build-types/components/post-trash/check.d.ts +6 -6
- package/build-types/components/post-trash/check.d.ts.map +1 -1
- package/build-types/components/post-url/index.d.ts +5 -2
- package/build-types/components/post-url/index.d.ts.map +1 -1
- package/build-types/components/provider/index.d.ts.map +1 -1
- package/build-types/components/save-publish-panels/index.d.ts.map +1 -1
- package/build-types/components/visual-editor/index.d.ts.map +1 -1
- package/build-types/dataviews/store/private-actions.d.ts.map +1 -1
- package/build-types/lock-unlock.d.ts +2 -2
- package/build-types/store/selectors.d.ts +1 -1
- package/build-types/store/selectors.d.ts.map +1 -1
- package/package.json +36 -36
- package/src/bindings/post-meta.js +2 -5
- package/src/components/autocompleters/user.js +1 -3
- package/src/components/collab-sidebar/constants.js +1 -0
- package/src/components/collab-sidebar/index.js +115 -47
- package/src/components/collab-sidebar/style.scss +13 -0
- package/src/components/collab-sidebar/utils.js +36 -0
- package/src/components/editor-interface/style.scss +2 -1
- package/src/components/entities-saved-states/index.js +6 -9
- package/src/components/header/index.js +17 -5
- package/src/components/header/style.scss +1 -1
- package/src/components/index.js +0 -2
- package/src/components/post-actions/actions.js +38 -2
- package/src/components/post-actions/index.js +1 -1
- package/src/components/post-actions/set-as-homepage.js +183 -0
- package/src/components/post-author/constants.js +1 -1
- package/src/components/post-author/hook.js +1 -0
- package/src/components/post-fields/index.ts +5 -3
- package/src/components/post-publish-button/index.js +2 -0
- package/src/components/post-publish-button/post-publish-button-or-toggle.js +38 -40
- package/src/components/post-publish-button/test/post-publish-button-or-toggle.js +24 -9
- package/src/components/post-publish-panel/postpublish.js +114 -124
- package/src/components/post-trash/check.js +4 -4
- package/src/components/post-url/index.js +2 -1
- package/src/components/provider/index.js +17 -3
- package/src/components/save-publish-panels/index.js +5 -1
- package/src/components/template-part-menu-items/convert-to-template-part.js +1 -1
- package/src/components/visual-editor/index.js +1 -0
- package/src/components/visual-editor/style.scss +29 -6
- package/src/dataviews/store/private-actions.ts +14 -13
- package/src/private-apis.js +1 -1
- package/src/store/selectors.js +1 -1
- package/src/style.scss +0 -2
- package/tsconfig.tsbuildinfo +1 -1
- package/build/components/create-template-part-modal/index.js +0 -170
- package/build/components/create-template-part-modal/index.js.map +0 -1
- package/build/components/create-template-part-modal/utils.js +0 -64
- package/build/components/create-template-part-modal/utils.js.map +0 -1
- package/build/components/post-slug/check.js +0 -29
- package/build/components/post-slug/check.js.map +0 -1
- package/build/components/post-slug/index.js +0 -79
- package/build/components/post-slug/index.js.map +0 -1
- package/build/components/post-slug/panel.js +0 -30
- package/build/components/post-slug/panel.js.map +0 -1
- package/build/dataviews/actions/duplicate-template-part.js +0 -67
- package/build/dataviews/actions/duplicate-template-part.js.map +0 -1
- package/build/dataviews/actions/utils.js +0 -58
- package/build/dataviews/actions/utils.js.map +0 -1
- package/build/dataviews/types.js +0 -6
- package/build/dataviews/types.js.map +0 -1
- package/build-module/components/create-template-part-modal/index.js +0 -162
- package/build-module/components/create-template-part-modal/index.js.map +0 -1
- package/build-module/components/create-template-part-modal/utils.js +0 -54
- package/build-module/components/create-template-part-modal/utils.js.map +0 -1
- package/build-module/components/post-slug/check.js +0 -23
- package/build-module/components/post-slug/check.js.map +0 -1
- package/build-module/components/post-slug/index.js +0 -71
- package/build-module/components/post-slug/index.js.map +0 -1
- package/build-module/components/post-slug/panel.js +0 -21
- package/build-module/components/post-slug/panel.js.map +0 -1
- package/build-module/dataviews/actions/duplicate-template-part.js +0 -58
- package/build-module/dataviews/actions/duplicate-template-part.js.map +0 -1
- package/build-module/dataviews/actions/utils.js +0 -47
- package/build-module/dataviews/actions/utils.js.map +0 -1
- package/build-module/dataviews/types.js +0 -2
- package/build-module/dataviews/types.js.map +0 -1
- package/build-types/components/create-template-part-modal/index.d.ts +0 -14
- package/build-types/components/create-template-part-modal/index.d.ts.map +0 -1
- package/build-types/components/create-template-part-modal/utils.d.ts +0 -4
- package/build-types/components/create-template-part-modal/utils.d.ts.map +0 -1
- package/build-types/components/post-slug/check.d.ts +0 -12
- package/build-types/components/post-slug/check.d.ts.map +0 -1
- package/build-types/components/post-slug/index.d.ts +0 -7
- package/build-types/components/post-slug/index.d.ts.map +0 -1
- package/build-types/components/post-slug/panel.d.ts +0 -3
- package/build-types/components/post-slug/panel.d.ts.map +0 -1
- package/build-types/dataviews/actions/duplicate-template-part.d.ts +0 -5
- package/build-types/dataviews/actions/duplicate-template-part.d.ts.map +0 -1
- package/build-types/dataviews/actions/utils.d.ts +0 -13
- package/build-types/dataviews/actions/utils.d.ts.map +0 -1
- package/build-types/dataviews/types.d.ts +0 -92
- package/build-types/dataviews/types.d.ts.map +0 -1
- package/src/components/create-template-part-modal/index.js +0 -210
- package/src/components/create-template-part-modal/style.scss +0 -63
- package/src/components/create-template-part-modal/test/utils.js +0 -60
- package/src/components/create-template-part-modal/utils.js +0 -67
- package/src/components/post-slug/check.js +0 -20
- package/src/components/post-slug/index.js +0 -73
- package/src/components/post-slug/panel.js +0 -22
- package/src/components/post-slug/style.scss +0 -5
- package/src/components/post-slug/test/index.js +0 -53
- package/src/dataviews/actions/duplicate-template-part.tsx +0 -70
- package/src/dataviews/actions/utils.ts +0 -64
- package/src/dataviews/types.ts +0 -85
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_uuid","require","_url","generateUniqueBasenames","urls","basenames","Set","Object","fromEntries","map","url","filename","getFilename","basename","parts","split","length","pop","join","uuid","has","add","fetchMedia","entries","filePromise","window","fetch","includes","then","response","blob","File","type"],"sources":["@wordpress/editor/src/components/post-publish-panel/media-util.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { v4 as uuid } from 'uuid';\n\n/**\n * WordPress dependencies\n */\nimport { getFilename } from '@wordpress/url';\n\n/**\n * Generate a list of unique basenames given a list of URLs.\n *\n * We want all basenames to be unique, since sometimes the extension\n * doesn't reflect the mime type, and may end up getting changed by\n * the server, on upload.\n *\n * @param {string[]} urls The list of URLs\n * @return {Record< string, string >} A URL => basename record.\n */\nexport function generateUniqueBasenames( urls ) {\n\tconst basenames = new Set();\n\n\treturn Object.fromEntries(\n\t\turls.map( ( url ) => {\n\t\t\t// We prefer to match the remote filename, if possible.\n\t\t\tconst filename = getFilename( url );\n\t\t\tlet basename = '';\n\n\t\t\tif ( filename ) {\n\t\t\t\tconst parts = filename.split( '.' );\n\t\t\t\tif ( parts.length > 1 ) {\n\t\t\t\t\t// Assume the last part is the extension.\n\t\t\t\t\tparts.pop();\n\t\t\t\t}\n\t\t\t\tbasename = parts.join( '.' );\n\t\t\t}\n\n\t\t\tif ( ! basename ) {\n\t\t\t\t// It looks like we don't have a basename, so let's use a UUID.\n\t\t\t\tbasename = uuid();\n\t\t\t}\n\n\t\t\tif ( basenames.has( basename ) ) {\n\t\t\t\t// Append a UUID to deduplicate the basename.\n\t\t\t\t// The server will try to deduplicate on its own if we don't do this,\n\t\t\t\t// but it may run into a race condition\n\t\t\t\t// (see https://github.com/WordPress/gutenberg/issues/64899).\n\t\t\t\t// Deduplicating the filenames before uploading is safer.\n\t\t\t\tbasename = `${ basename }-${ uuid() }`;\n\t\t\t}\n\n\t\t\tbasenames.add( basename );\n\n\t\t\treturn [ url, basename ];\n\t\t} )\n\t);\n}\n\n/**\n * Fetch a list of URLs, turning those into promises for files with\n * unique filenames.\n *\n * @param {string[]} urls The list of URLs\n * @return {Record< string, Promise< File > >} A URL => File promise record.\n */\nexport function fetchMedia( urls ) {\n\treturn Object.fromEntries(\n\t\tObject.entries( generateUniqueBasenames( urls ) ).map(\n\t\t\t( [ url, basename ] ) => {\n\t\t\t\tconst filePromise = window\n\t\t\t\t\t.fetch( url.includes( '?' ) ? url : url + '?' )\n\t\t\t\t\t.then( ( response ) => response.blob() )\n\t\t\t\t\t.then( ( blob ) => {\n\t\t\t\t\t\t// The server will reject the upload if it doesn't have an extension,\n\t\t\t\t\t\t// even though it'll rewrite the file name to match the mime type.\n\t\t\t\t\t\t// Here we provide it with a safe extension to get it past that check.\n\t\t\t\t\t\treturn new File( [ blob ], `${ basename }.png`, {\n\t\t\t\t\t\t\ttype: blob.type,\n\t\t\t\t\t\t} );\n\t\t\t\t\t} );\n\n\t\t\t\treturn [ url, filePromise ];\n\t\t\t}\n\t\t)\n\t);\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"names":["_uuid","require","_url","generateUniqueBasenames","urls","basenames","Set","Object","fromEntries","map","url","filename","getFilename","basename","parts","split","length","pop","join","uuid","has","add","fetchMedia","entries","filePromise","window","fetch","includes","then","response","blob","File","type"],"sources":["@wordpress/editor/src/components/post-publish-panel/media-util.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { v4 as uuid } from 'uuid';\n\n/**\n * WordPress dependencies\n */\nimport { getFilename } from '@wordpress/url';\n\n/**\n * Generate a list of unique basenames given a list of URLs.\n *\n * We want all basenames to be unique, since sometimes the extension\n * doesn't reflect the mime type, and may end up getting changed by\n * the server, on upload.\n *\n * @param {string[]} urls The list of URLs\n * @return {Record< string, string >} A URL => basename record.\n */\nexport function generateUniqueBasenames( urls ) {\n\tconst basenames = new Set();\n\n\treturn Object.fromEntries(\n\t\turls.map( ( url ) => {\n\t\t\t// We prefer to match the remote filename, if possible.\n\t\t\tconst filename = getFilename( url );\n\t\t\tlet basename = '';\n\n\t\t\tif ( filename ) {\n\t\t\t\tconst parts = filename.split( '.' );\n\t\t\t\tif ( parts.length > 1 ) {\n\t\t\t\t\t// Assume the last part is the extension.\n\t\t\t\t\tparts.pop();\n\t\t\t\t}\n\t\t\t\tbasename = parts.join( '.' );\n\t\t\t}\n\n\t\t\tif ( ! basename ) {\n\t\t\t\t// It looks like we don't have a basename, so let's use a UUID.\n\t\t\t\tbasename = uuid();\n\t\t\t}\n\n\t\t\tif ( basenames.has( basename ) ) {\n\t\t\t\t// Append a UUID to deduplicate the basename.\n\t\t\t\t// The server will try to deduplicate on its own if we don't do this,\n\t\t\t\t// but it may run into a race condition\n\t\t\t\t// (see https://github.com/WordPress/gutenberg/issues/64899).\n\t\t\t\t// Deduplicating the filenames before uploading is safer.\n\t\t\t\tbasename = `${ basename }-${ uuid() }`;\n\t\t\t}\n\n\t\t\tbasenames.add( basename );\n\n\t\t\treturn [ url, basename ];\n\t\t} )\n\t);\n}\n\n/**\n * Fetch a list of URLs, turning those into promises for files with\n * unique filenames.\n *\n * @param {string[]} urls The list of URLs\n * @return {Record< string, Promise< File > >} A URL => File promise record.\n */\nexport function fetchMedia( urls ) {\n\treturn Object.fromEntries(\n\t\tObject.entries( generateUniqueBasenames( urls ) ).map(\n\t\t\t( [ url, basename ] ) => {\n\t\t\t\tconst filePromise = window\n\t\t\t\t\t.fetch( url.includes( '?' ) ? url : url + '?' )\n\t\t\t\t\t.then( ( response ) => response.blob() )\n\t\t\t\t\t.then( ( blob ) => {\n\t\t\t\t\t\t// The server will reject the upload if it doesn't have an extension,\n\t\t\t\t\t\t// even though it'll rewrite the file name to match the mime type.\n\t\t\t\t\t\t// Here we provide it with a safe extension to get it past that check.\n\t\t\t\t\t\treturn new File( [ blob ], `${ basename }.png`, {\n\t\t\t\t\t\t\ttype: blob.type,\n\t\t\t\t\t\t} );\n\t\t\t\t\t} );\n\n\t\t\t\treturn [ url, filePromise ];\n\t\t\t}\n\t\t)\n\t);\n}\n"],"mappings":";;;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AAKA,IAAAC,IAAA,GAAAD,OAAA;AARA;AACA;AACA;;AAGA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASE,uBAAuBA,CAAEC,IAAI,EAAG;EAC/C,MAAMC,SAAS,GAAG,IAAIC,GAAG,CAAC,CAAC;EAE3B,OAAOC,MAAM,CAACC,WAAW,CACxBJ,IAAI,CAACK,GAAG,CAAIC,GAAG,IAAM;IACpB;IACA,MAAMC,QAAQ,GAAG,IAAAC,gBAAW,EAAEF,GAAI,CAAC;IACnC,IAAIG,QAAQ,GAAG,EAAE;IAEjB,IAAKF,QAAQ,EAAG;MACf,MAAMG,KAAK,GAAGH,QAAQ,CAACI,KAAK,CAAE,GAAI,CAAC;MACnC,IAAKD,KAAK,CAACE,MAAM,GAAG,CAAC,EAAG;QACvB;QACAF,KAAK,CAACG,GAAG,CAAC,CAAC;MACZ;MACAJ,QAAQ,GAAGC,KAAK,CAACI,IAAI,CAAE,GAAI,CAAC;IAC7B;IAEA,IAAK,CAAEL,QAAQ,EAAG;MACjB;MACAA,QAAQ,GAAG,IAAAM,QAAI,EAAC,CAAC;IAClB;IAEA,IAAKd,SAAS,CAACe,GAAG,CAAEP,QAAS,CAAC,EAAG;MAChC;MACA;MACA;MACA;MACA;MACAA,QAAQ,GAAG,GAAIA,QAAQ,IAAM,IAAAM,QAAI,EAAC,CAAC,EAAG;IACvC;IAEAd,SAAS,CAACgB,GAAG,CAAER,QAAS,CAAC;IAEzB,OAAO,CAAEH,GAAG,EAAEG,QAAQ,CAAE;EACzB,CAAE,CACH,CAAC;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASS,UAAUA,CAAElB,IAAI,EAAG;EAClC,OAAOG,MAAM,CAACC,WAAW,CACxBD,MAAM,CAACgB,OAAO,CAAEpB,uBAAuB,CAAEC,IAAK,CAAE,CAAC,CAACK,GAAG,CACpD,CAAE,CAAEC,GAAG,EAAEG,QAAQ,CAAE,KAAM;IACxB,MAAMW,WAAW,GAAGC,MAAM,CACxBC,KAAK,CAAEhB,GAAG,CAACiB,QAAQ,CAAE,GAAI,CAAC,GAAGjB,GAAG,GAAGA,GAAG,GAAG,GAAI,CAAC,CAC9CkB,IAAI,CAAIC,QAAQ,IAAMA,QAAQ,CAACC,IAAI,CAAC,CAAE,CAAC,CACvCF,IAAI,CAAIE,IAAI,IAAM;MAClB;MACA;MACA;MACA,OAAO,IAAIC,IAAI,CAAE,CAAED,IAAI,CAAE,EAAE,GAAIjB,QAAQ,MAAO,EAAE;QAC/CmB,IAAI,EAAEF,IAAI,CAACE;MACZ,CAAE,CAAC;IACJ,CAAE,CAAC;IAEJ,OAAO,CAAEtB,GAAG,EAAEc,WAAW,CAAE;EAC5B,CACD,CACD,CAAC;AACF","ignoreList":[]}
|
|
@@ -4,7 +4,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
4
4
|
Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
|
-
exports.default =
|
|
7
|
+
exports.default = PostPublishPanelPostpublish;
|
|
8
8
|
var _components = require("@wordpress/components");
|
|
9
9
|
var _i18n = require("@wordpress/i18n");
|
|
10
10
|
var _element = require("@wordpress/element");
|
|
@@ -48,132 +48,118 @@ const getFuturePostUrl = post => {
|
|
|
48
48
|
return post.permalink_template;
|
|
49
49
|
};
|
|
50
50
|
function CopyButton({
|
|
51
|
-
text
|
|
52
|
-
onCopy,
|
|
53
|
-
children
|
|
51
|
+
text
|
|
54
52
|
}) {
|
|
55
|
-
const
|
|
53
|
+
const [showCopyConfirmation, setShowCopyConfirmation] = (0, _element.useState)(false);
|
|
54
|
+
const timeoutIdRef = (0, _element.useRef)();
|
|
55
|
+
const ref = (0, _compose.useCopyToClipboard)(text, () => {
|
|
56
|
+
setShowCopyConfirmation(true);
|
|
57
|
+
if (timeoutIdRef.current) {
|
|
58
|
+
clearTimeout(timeoutIdRef.current);
|
|
59
|
+
}
|
|
60
|
+
timeoutIdRef.current = setTimeout(() => {
|
|
61
|
+
setShowCopyConfirmation(false);
|
|
62
|
+
}, 4000);
|
|
63
|
+
});
|
|
64
|
+
(0, _element.useEffect)(() => {
|
|
65
|
+
return () => {
|
|
66
|
+
if (timeoutIdRef.current) {
|
|
67
|
+
clearTimeout(timeoutIdRef.current);
|
|
68
|
+
}
|
|
69
|
+
};
|
|
70
|
+
}, []);
|
|
56
71
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Button, {
|
|
57
72
|
__next40pxDefaultSize: true,
|
|
58
73
|
variant: "secondary",
|
|
59
74
|
ref: ref,
|
|
60
|
-
children:
|
|
75
|
+
children: showCopyConfirmation ? (0, _i18n.__)('Copied!') : (0, _i18n.__)('Copy')
|
|
61
76
|
});
|
|
62
77
|
}
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
78
|
+
function PostPublishPanelPostpublish({
|
|
79
|
+
focusOnMount,
|
|
80
|
+
children
|
|
81
|
+
}) {
|
|
82
|
+
const {
|
|
83
|
+
post,
|
|
84
|
+
postType,
|
|
85
|
+
isScheduled
|
|
86
|
+
} = (0, _data.useSelect)(select => {
|
|
87
|
+
const {
|
|
88
|
+
getEditedPostAttribute,
|
|
89
|
+
getCurrentPost,
|
|
90
|
+
isCurrentPostScheduled
|
|
91
|
+
} = select(_store.store);
|
|
92
|
+
const {
|
|
93
|
+
getPostType
|
|
94
|
+
} = select(_coreData.store);
|
|
95
|
+
return {
|
|
96
|
+
post: getCurrentPost(),
|
|
97
|
+
postType: getPostType(getEditedPostAttribute('type')),
|
|
98
|
+
isScheduled: isCurrentPostScheduled()
|
|
68
99
|
};
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
100
|
+
}, []);
|
|
101
|
+
const postLabel = postType?.labels?.singular_name;
|
|
102
|
+
const viewPostLabel = postType?.labels?.view_item;
|
|
103
|
+
const addNewPostLabel = postType?.labels?.add_new_item;
|
|
104
|
+
const link = post.status === 'future' ? getFuturePostUrl(post) : post.link;
|
|
105
|
+
const addLink = (0, _url.addQueryArgs)('post-new.php', {
|
|
106
|
+
post_type: post.type
|
|
107
|
+
});
|
|
108
|
+
const postLinkRef = (0, _element.useCallback)(node => {
|
|
109
|
+
if (focusOnMount && node) {
|
|
110
|
+
node.focus();
|
|
76
111
|
}
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
})
|
|
90
|
-
},
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
}) : (0, _i18n.__)('is now live.');
|
|
112
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
|
|
113
|
-
className: "post-publish-panel__postpublish",
|
|
114
|
-
children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.PanelBody, {
|
|
115
|
-
className: "post-publish-panel__postpublish-header",
|
|
116
|
-
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("a", {
|
|
117
|
-
ref: this.postLink,
|
|
118
|
-
href: link,
|
|
119
|
-
children: (0, _htmlEntities.decodeEntities)(post.title) || (0, _i18n.__)('(no title)')
|
|
120
|
-
}), ' ', postPublishNonLinkHeader]
|
|
121
|
-
}), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.PanelBody, {
|
|
122
|
-
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("p", {
|
|
123
|
-
className: "post-publish-panel__postpublish-subheader",
|
|
124
|
-
children: /*#__PURE__*/(0, _jsxRuntime.jsx)("strong", {
|
|
125
|
-
children: (0, _i18n.__)('What’s next?')
|
|
112
|
+
}, [focusOnMount]);
|
|
113
|
+
const postPublishNonLinkHeader = isScheduled ? /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
|
|
114
|
+
children: [(0, _i18n.__)('is now scheduled. It will go live on'), ' ', /*#__PURE__*/(0, _jsxRuntime.jsx)(_label.default, {}), "."]
|
|
115
|
+
}) : (0, _i18n.__)('is now live.');
|
|
116
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
|
|
117
|
+
className: "post-publish-panel__postpublish",
|
|
118
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.PanelBody, {
|
|
119
|
+
className: "post-publish-panel__postpublish-header",
|
|
120
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("a", {
|
|
121
|
+
ref: postLinkRef,
|
|
122
|
+
href: link,
|
|
123
|
+
children: (0, _htmlEntities.decodeEntities)(post.title) || (0, _i18n.__)('(no title)')
|
|
124
|
+
}), ' ', postPublishNonLinkHeader]
|
|
125
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.PanelBody, {
|
|
126
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("p", {
|
|
127
|
+
className: "post-publish-panel__postpublish-subheader",
|
|
128
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)("strong", {
|
|
129
|
+
children: (0, _i18n.__)('What’s next?')
|
|
130
|
+
})
|
|
131
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
|
|
132
|
+
className: "post-publish-panel__postpublish-post-address-container",
|
|
133
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_components.TextControl, {
|
|
134
|
+
__next40pxDefaultSize: true,
|
|
135
|
+
__nextHasNoMarginBottom: true,
|
|
136
|
+
className: "post-publish-panel__postpublish-post-address",
|
|
137
|
+
readOnly: true,
|
|
138
|
+
label: (0, _i18n.sprintf)(/* translators: %s: post type singular name */
|
|
139
|
+
(0, _i18n.__)('%s address'), postLabel),
|
|
140
|
+
value: (0, _url.safeDecodeURIComponent)(link),
|
|
141
|
+
onFocus: event => event.target.select()
|
|
142
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
143
|
+
className: "post-publish-panel__postpublish-post-address__copy-button-wrap",
|
|
144
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(CopyButton, {
|
|
145
|
+
text: link
|
|
126
146
|
})
|
|
127
|
-
}), /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
|
|
128
|
-
className: "post-publish-panel__postpublish-post-address-container",
|
|
129
|
-
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_components.TextControl, {
|
|
130
|
-
__next40pxDefaultSize: true,
|
|
131
|
-
__nextHasNoMarginBottom: true,
|
|
132
|
-
className: "post-publish-panel__postpublish-post-address",
|
|
133
|
-
readOnly: true,
|
|
134
|
-
label: (0, _i18n.sprintf)(/* translators: %s: post type singular name */
|
|
135
|
-
(0, _i18n.__)('%s address'), postLabel),
|
|
136
|
-
value: (0, _url.safeDecodeURIComponent)(link),
|
|
137
|
-
onFocus: this.onSelectInput
|
|
138
|
-
}), /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
139
|
-
className: "post-publish-panel__postpublish-post-address__copy-button-wrap",
|
|
140
|
-
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(CopyButton, {
|
|
141
|
-
text: link,
|
|
142
|
-
onCopy: this.onCopy,
|
|
143
|
-
children: this.state.showCopyConfirmation ? (0, _i18n.__)('Copied!') : (0, _i18n.__)('Copy')
|
|
144
|
-
})
|
|
145
|
-
})]
|
|
146
|
-
}), /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
|
|
147
|
-
className: "post-publish-panel__postpublish-buttons",
|
|
148
|
-
children: [!isScheduled && /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Button, {
|
|
149
|
-
variant: "primary",
|
|
150
|
-
href: link,
|
|
151
|
-
__next40pxDefaultSize: true,
|
|
152
|
-
children: viewPostLabel
|
|
153
|
-
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Button, {
|
|
154
|
-
variant: isScheduled ? 'primary' : 'secondary',
|
|
155
|
-
__next40pxDefaultSize: true,
|
|
156
|
-
href: addLink,
|
|
157
|
-
children: addNewPostLabel
|
|
158
|
-
})]
|
|
159
147
|
})]
|
|
160
|
-
}),
|
|
161
|
-
|
|
162
|
-
|
|
148
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
|
|
149
|
+
className: "post-publish-panel__postpublish-buttons",
|
|
150
|
+
children: [!isScheduled && /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Button, {
|
|
151
|
+
variant: "primary",
|
|
152
|
+
href: link,
|
|
153
|
+
__next40pxDefaultSize: true,
|
|
154
|
+
children: viewPostLabel
|
|
155
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Button, {
|
|
156
|
+
variant: isScheduled ? 'primary' : 'secondary',
|
|
157
|
+
__next40pxDefaultSize: true,
|
|
158
|
+
href: addLink,
|
|
159
|
+
children: addNewPostLabel
|
|
160
|
+
})]
|
|
161
|
+
})]
|
|
162
|
+
}), children]
|
|
163
|
+
});
|
|
163
164
|
}
|
|
164
|
-
var _default = exports.default = (0, _data.withSelect)(select => {
|
|
165
|
-
const {
|
|
166
|
-
getEditedPostAttribute,
|
|
167
|
-
getCurrentPost,
|
|
168
|
-
isCurrentPostScheduled
|
|
169
|
-
} = select(_store.store);
|
|
170
|
-
const {
|
|
171
|
-
getPostType
|
|
172
|
-
} = select(_coreData.store);
|
|
173
|
-
return {
|
|
174
|
-
post: getCurrentPost(),
|
|
175
|
-
postType: getPostType(getEditedPostAttribute('type')),
|
|
176
|
-
isScheduled: isCurrentPostScheduled()
|
|
177
|
-
};
|
|
178
|
-
})(PostPublishPanelPostpublish);
|
|
179
165
|
//# sourceMappingURL=postpublish.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_components","require","_i18n","_element","_data","_url","_htmlEntities","_compose","_coreData","_label","_interopRequireDefault","_store","_jsxRuntime","POSTNAME","PAGENAME","getFuturePostUrl","post","slug","permalink_template","includes","replace","CopyButton","text","onCopy","children","ref","useCopyToClipboard","jsx","Button","__next40pxDefaultSize","variant","PostPublishPanelPostpublish","Component","constructor","arguments","state","showCopyConfirmation","bind","onSelectInput","postLink","createRef","componentDidMount","props","focusOnMount","current","focus","componentWillUnmount","clearTimeout","dismissCopyConfirmation","setState","setTimeout","event","target","select","render","isScheduled","postType","postLabel","labels","singular_name","viewPostLabel","view_item","addNewPostLabel","add_new_item","link","status","addLink","addQueryArgs","post_type","type","postPublishNonLinkHeader","jsxs","Fragment","__","default","className","PanelBody","href","decodeEntities","title","TextControl","__nextHasNoMarginBottom","readOnly","label","sprintf","value","safeDecodeURIComponent","onFocus","_default","exports","withSelect","getEditedPostAttribute","getCurrentPost","isCurrentPostScheduled","editorStore","getPostType","coreStore"],"sources":["@wordpress/editor/src/components/post-publish-panel/postpublish.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { PanelBody, Button, TextControl } from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { Component, createRef } from '@wordpress/element';\nimport { withSelect } from '@wordpress/data';\nimport { addQueryArgs, safeDecodeURIComponent } from '@wordpress/url';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { useCopyToClipboard } from '@wordpress/compose';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport PostScheduleLabel from '../post-schedule/label';\nimport { store as editorStore } from '../../store';\n\nconst POSTNAME = '%postname%';\nconst PAGENAME = '%pagename%';\n\n/**\n * Returns URL for a future post.\n *\n * @param {Object} post Post object.\n *\n * @return {string} PostPublish URL.\n */\n\nconst getFuturePostUrl = ( post ) => {\n\tconst { slug } = post;\n\n\tif ( post.permalink_template.includes( POSTNAME ) ) {\n\t\treturn post.permalink_template.replace( POSTNAME, slug );\n\t}\n\n\tif ( post.permalink_template.includes( PAGENAME ) ) {\n\t\treturn post.permalink_template.replace( PAGENAME, slug );\n\t}\n\n\treturn post.permalink_template;\n};\n\nfunction CopyButton( { text, onCopy, children } ) {\n\tconst ref = useCopyToClipboard( text, onCopy );\n\treturn (\n\t\t<Button __next40pxDefaultSize variant=\"secondary\" ref={ ref }>\n\t\t\t{ children }\n\t\t</Button>\n\t);\n}\n\nclass PostPublishPanelPostpublish extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\t\tthis.state = {\n\t\t\tshowCopyConfirmation: false,\n\t\t};\n\t\tthis.onCopy = this.onCopy.bind( this );\n\t\tthis.onSelectInput = this.onSelectInput.bind( this );\n\t\tthis.postLink = createRef();\n\t}\n\n\tcomponentDidMount() {\n\t\tif ( this.props.focusOnMount ) {\n\t\t\tthis.postLink.current.focus();\n\t\t}\n\t}\n\n\tcomponentWillUnmount() {\n\t\tclearTimeout( this.dismissCopyConfirmation );\n\t}\n\n\tonCopy() {\n\t\tthis.setState( {\n\t\t\tshowCopyConfirmation: true,\n\t\t} );\n\n\t\tclearTimeout( this.dismissCopyConfirmation );\n\t\tthis.dismissCopyConfirmation = setTimeout( () => {\n\t\t\tthis.setState( {\n\t\t\t\tshowCopyConfirmation: false,\n\t\t\t} );\n\t\t}, 4000 );\n\t}\n\n\tonSelectInput( event ) {\n\t\tevent.target.select();\n\t}\n\n\trender() {\n\t\tconst { children, isScheduled, post, postType } = this.props;\n\t\tconst postLabel = postType?.labels?.singular_name;\n\t\tconst viewPostLabel = postType?.labels?.view_item;\n\t\tconst addNewPostLabel = postType?.labels?.add_new_item;\n\t\tconst link =\n\t\t\tpost.status === 'future' ? getFuturePostUrl( post ) : post.link;\n\t\tconst addLink = addQueryArgs( 'post-new.php', {\n\t\t\tpost_type: post.type,\n\t\t} );\n\n\t\tconst postPublishNonLinkHeader = isScheduled ? (\n\t\t\t<>\n\t\t\t\t{ __( 'is now scheduled. It will go live on' ) }{ ' ' }\n\t\t\t\t<PostScheduleLabel />.\n\t\t\t</>\n\t\t) : (\n\t\t\t__( 'is now live.' )\n\t\t);\n\n\t\treturn (\n\t\t\t<div className=\"post-publish-panel__postpublish\">\n\t\t\t\t<PanelBody className=\"post-publish-panel__postpublish-header\">\n\t\t\t\t\t<a ref={ this.postLink } href={ link }>\n\t\t\t\t\t\t{ decodeEntities( post.title ) || __( '(no title)' ) }\n\t\t\t\t\t</a>{ ' ' }\n\t\t\t\t\t{ postPublishNonLinkHeader }\n\t\t\t\t</PanelBody>\n\t\t\t\t<PanelBody>\n\t\t\t\t\t<p className=\"post-publish-panel__postpublish-subheader\">\n\t\t\t\t\t\t<strong>{ __( 'What’s next?' ) }</strong>\n\t\t\t\t\t</p>\n\t\t\t\t\t<div className=\"post-publish-panel__postpublish-post-address-container\">\n\t\t\t\t\t\t<TextControl\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tclassName=\"post-publish-panel__postpublish-post-address\"\n\t\t\t\t\t\t\treadOnly\n\t\t\t\t\t\t\tlabel={ sprintf(\n\t\t\t\t\t\t\t\t/* translators: %s: post type singular name */\n\t\t\t\t\t\t\t\t__( '%s address' ),\n\t\t\t\t\t\t\t\tpostLabel\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tvalue={ safeDecodeURIComponent( link ) }\n\t\t\t\t\t\t\tonFocus={ this.onSelectInput }\n\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t<div className=\"post-publish-panel__postpublish-post-address__copy-button-wrap\">\n\t\t\t\t\t\t\t<CopyButton text={ link } onCopy={ this.onCopy }>\n\t\t\t\t\t\t\t\t{ this.state.showCopyConfirmation\n\t\t\t\t\t\t\t\t\t? __( 'Copied!' )\n\t\t\t\t\t\t\t\t\t: __( 'Copy' ) }\n\t\t\t\t\t\t\t</CopyButton>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<div className=\"post-publish-panel__postpublish-buttons\">\n\t\t\t\t\t\t{ ! isScheduled && (\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\t\thref={ link }\n\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ viewPostLabel }\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tvariant={ isScheduled ? 'primary' : 'secondary' }\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\thref={ addLink }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ addNewPostLabel }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</div>\n\t\t\t\t</PanelBody>\n\t\t\t\t{ children }\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nexport default withSelect( ( select ) => {\n\tconst { getEditedPostAttribute, getCurrentPost, isCurrentPostScheduled } =\n\t\tselect( editorStore );\n\tconst { getPostType } = select( coreStore );\n\n\treturn {\n\t\tpost: getCurrentPost(),\n\t\tpostType: getPostType( getEditedPostAttribute( 'type' ) ),\n\t\tisScheduled: isCurrentPostScheduled(),\n\t};\n} )( PostPublishPanelPostpublish );\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_components","require","_i18n","_element","_data","_url","_htmlEntities","_compose","_coreData","_label","_interopRequireDefault","_store","_jsxRuntime","POSTNAME","PAGENAME","getFuturePostUrl","post","slug","permalink_template","includes","replace","CopyButton","text","showCopyConfirmation","setShowCopyConfirmation","useState","timeoutIdRef","useRef","ref","useCopyToClipboard","current","clearTimeout","setTimeout","useEffect","jsx","Button","__next40pxDefaultSize","variant","children","__","PostPublishPanelPostpublish","focusOnMount","postType","isScheduled","useSelect","select","getEditedPostAttribute","getCurrentPost","isCurrentPostScheduled","editorStore","getPostType","coreStore","postLabel","labels","singular_name","viewPostLabel","view_item","addNewPostLabel","add_new_item","link","status","addLink","addQueryArgs","post_type","type","postLinkRef","useCallback","node","focus","postPublishNonLinkHeader","jsxs","Fragment","default","className","PanelBody","href","decodeEntities","title","TextControl","__nextHasNoMarginBottom","readOnly","label","sprintf","value","safeDecodeURIComponent","onFocus","event","target"],"sources":["@wordpress/editor/src/components/post-publish-panel/postpublish.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { PanelBody, Button, TextControl } from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { useCallback, useEffect, useState, useRef } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\nimport { addQueryArgs, safeDecodeURIComponent } from '@wordpress/url';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { useCopyToClipboard } from '@wordpress/compose';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport PostScheduleLabel from '../post-schedule/label';\nimport { store as editorStore } from '../../store';\n\nconst POSTNAME = '%postname%';\nconst PAGENAME = '%pagename%';\n\n/**\n * Returns URL for a future post.\n *\n * @param {Object} post Post object.\n *\n * @return {string} PostPublish URL.\n */\n\nconst getFuturePostUrl = ( post ) => {\n\tconst { slug } = post;\n\n\tif ( post.permalink_template.includes( POSTNAME ) ) {\n\t\treturn post.permalink_template.replace( POSTNAME, slug );\n\t}\n\n\tif ( post.permalink_template.includes( PAGENAME ) ) {\n\t\treturn post.permalink_template.replace( PAGENAME, slug );\n\t}\n\n\treturn post.permalink_template;\n};\n\nfunction CopyButton( { text } ) {\n\tconst [ showCopyConfirmation, setShowCopyConfirmation ] = useState( false );\n\tconst timeoutIdRef = useRef();\n\tconst ref = useCopyToClipboard( text, () => {\n\t\tsetShowCopyConfirmation( true );\n\t\tif ( timeoutIdRef.current ) {\n\t\t\tclearTimeout( timeoutIdRef.current );\n\t\t}\n\t\ttimeoutIdRef.current = setTimeout( () => {\n\t\t\tsetShowCopyConfirmation( false );\n\t\t}, 4000 );\n\t} );\n\n\tuseEffect( () => {\n\t\treturn () => {\n\t\t\tif ( timeoutIdRef.current ) {\n\t\t\t\tclearTimeout( timeoutIdRef.current );\n\t\t\t}\n\t\t};\n\t}, [] );\n\n\treturn (\n\t\t<Button __next40pxDefaultSize variant=\"secondary\" ref={ ref }>\n\t\t\t{ showCopyConfirmation ? __( 'Copied!' ) : __( 'Copy' ) }\n\t\t</Button>\n\t);\n}\n\nexport default function PostPublishPanelPostpublish( {\n\tfocusOnMount,\n\tchildren,\n} ) {\n\tconst { post, postType, isScheduled } = useSelect( ( select ) => {\n\t\tconst {\n\t\t\tgetEditedPostAttribute,\n\t\t\tgetCurrentPost,\n\t\t\tisCurrentPostScheduled,\n\t\t} = select( editorStore );\n\t\tconst { getPostType } = select( coreStore );\n\n\t\treturn {\n\t\t\tpost: getCurrentPost(),\n\t\t\tpostType: getPostType( getEditedPostAttribute( 'type' ) ),\n\t\t\tisScheduled: isCurrentPostScheduled(),\n\t\t};\n\t}, [] );\n\n\tconst postLabel = postType?.labels?.singular_name;\n\tconst viewPostLabel = postType?.labels?.view_item;\n\tconst addNewPostLabel = postType?.labels?.add_new_item;\n\tconst link =\n\t\tpost.status === 'future' ? getFuturePostUrl( post ) : post.link;\n\tconst addLink = addQueryArgs( 'post-new.php', {\n\t\tpost_type: post.type,\n\t} );\n\n\tconst postLinkRef = useCallback(\n\t\t( node ) => {\n\t\t\tif ( focusOnMount && node ) {\n\t\t\t\tnode.focus();\n\t\t\t}\n\t\t},\n\t\t[ focusOnMount ]\n\t);\n\n\tconst postPublishNonLinkHeader = isScheduled ? (\n\t\t<>\n\t\t\t{ __( 'is now scheduled. It will go live on' ) }{ ' ' }\n\t\t\t<PostScheduleLabel />.\n\t\t</>\n\t) : (\n\t\t__( 'is now live.' )\n\t);\n\n\treturn (\n\t\t<div className=\"post-publish-panel__postpublish\">\n\t\t\t<PanelBody className=\"post-publish-panel__postpublish-header\">\n\t\t\t\t<a ref={ postLinkRef } href={ link }>\n\t\t\t\t\t{ decodeEntities( post.title ) || __( '(no title)' ) }\n\t\t\t\t</a>{ ' ' }\n\t\t\t\t{ postPublishNonLinkHeader }\n\t\t\t</PanelBody>\n\t\t\t<PanelBody>\n\t\t\t\t<p className=\"post-publish-panel__postpublish-subheader\">\n\t\t\t\t\t<strong>{ __( 'What’s next?' ) }</strong>\n\t\t\t\t</p>\n\t\t\t\t<div className=\"post-publish-panel__postpublish-post-address-container\">\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tclassName=\"post-publish-panel__postpublish-post-address\"\n\t\t\t\t\t\treadOnly\n\t\t\t\t\t\tlabel={ sprintf(\n\t\t\t\t\t\t\t/* translators: %s: post type singular name */\n\t\t\t\t\t\t\t__( '%s address' ),\n\t\t\t\t\t\t\tpostLabel\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tvalue={ safeDecodeURIComponent( link ) }\n\t\t\t\t\t\tonFocus={ ( event ) => event.target.select() }\n\t\t\t\t\t/>\n\n\t\t\t\t\t<div className=\"post-publish-panel__postpublish-post-address__copy-button-wrap\">\n\t\t\t\t\t\t<CopyButton text={ link } />\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\n\t\t\t\t<div className=\"post-publish-panel__postpublish-buttons\">\n\t\t\t\t\t{ ! isScheduled && (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\thref={ link }\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ viewPostLabel }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t) }\n\t\t\t\t\t<Button\n\t\t\t\t\t\tvariant={ isScheduled ? 'primary' : 'secondary' }\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\thref={ addLink }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ addNewPostLabel }\n\t\t\t\t\t</Button>\n\t\t\t\t</div>\n\t\t\t</PanelBody>\n\t\t\t{ children }\n\t\t</div>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -17,12 +17,12 @@ var _constants = require("../../store/constants");
|
|
|
17
17
|
*/
|
|
18
18
|
|
|
19
19
|
/**
|
|
20
|
-
* Wrapper component that renders its children only if the post can trashed.
|
|
20
|
+
* Wrapper component that renders its children only if the post can be trashed.
|
|
21
21
|
*
|
|
22
|
-
* @param {Object}
|
|
23
|
-
* @param {React.
|
|
22
|
+
* @param {Object} props The component props.
|
|
23
|
+
* @param {React.ReactElement} props.children The child components.
|
|
24
24
|
*
|
|
25
|
-
* @return {React.ReactElement} The rendered child components or null if the post can
|
|
25
|
+
* @return {React.ReactElement | null} The rendered child components or null if the post can't be trashed.
|
|
26
26
|
*/
|
|
27
27
|
function PostTrashCheck({
|
|
28
28
|
children
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_data","require","_coreData","_store","_constants","PostTrashCheck","children","canTrashPost","useSelect","select","isEditedPostNew","getCurrentPostId","getCurrentPostType","editorStore","canUser","coreStore","postType","postId","isNew","canUserDelete","kind","name","id","GLOBAL_POST_TYPES","includes"],"sources":["@wordpress/editor/src/components/post-trash/check.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\nimport { GLOBAL_POST_TYPES } from '../../store/constants';\n\n/**\n * Wrapper component that renders its children only if the post can trashed.\n *\n * @param {Object}
|
|
1
|
+
{"version":3,"names":["_data","require","_coreData","_store","_constants","PostTrashCheck","children","canTrashPost","useSelect","select","isEditedPostNew","getCurrentPostId","getCurrentPostType","editorStore","canUser","coreStore","postType","postId","isNew","canUserDelete","kind","name","id","GLOBAL_POST_TYPES","includes"],"sources":["@wordpress/editor/src/components/post-trash/check.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\nimport { GLOBAL_POST_TYPES } from '../../store/constants';\n\n/**\n * Wrapper component that renders its children only if the post can be trashed.\n *\n * @param {Object} props The component props.\n * @param {React.ReactElement} props.children The child components.\n *\n * @return {React.ReactElement | null} The rendered child components or null if the post can't be trashed.\n */\nexport default function PostTrashCheck( { children } ) {\n\tconst { canTrashPost } = useSelect( ( select ) => {\n\t\tconst { isEditedPostNew, getCurrentPostId, getCurrentPostType } =\n\t\t\tselect( editorStore );\n\t\tconst { canUser } = select( coreStore );\n\t\tconst postType = getCurrentPostType();\n\t\tconst postId = getCurrentPostId();\n\t\tconst isNew = isEditedPostNew();\n\t\tconst canUserDelete = !! postId\n\t\t\t? canUser( 'delete', {\n\t\t\t\t\tkind: 'postType',\n\t\t\t\t\tname: postType,\n\t\t\t\t\tid: postId,\n\t\t\t } )\n\t\t\t: false;\n\n\t\treturn {\n\t\t\tcanTrashPost:\n\t\t\t\t( ! isNew || postId ) &&\n\t\t\t\tcanUserDelete &&\n\t\t\t\t! GLOBAL_POST_TYPES.includes( postType ),\n\t\t};\n\t}, [] );\n\tif ( ! canTrashPost ) {\n\t\treturn null;\n\t}\n\n\treturn children;\n}\n"],"mappings":";;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,SAAA,GAAAD,OAAA;AAKA,IAAAE,MAAA,GAAAF,OAAA;AACA,IAAAG,UAAA,GAAAH,OAAA;AAVA;AACA;AACA;;AAIA;AACA;AACA;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACe,SAASI,cAAcA,CAAE;EAAEC;AAAS,CAAC,EAAG;EACtD,MAAM;IAAEC;EAAa,CAAC,GAAG,IAAAC,eAAS,EAAIC,MAAM,IAAM;IACjD,MAAM;MAAEC,eAAe;MAAEC,gBAAgB;MAAEC;IAAmB,CAAC,GAC9DH,MAAM,CAAEI,YAAY,CAAC;IACtB,MAAM;MAAEC;IAAQ,CAAC,GAAGL,MAAM,CAAEM,eAAU,CAAC;IACvC,MAAMC,QAAQ,GAAGJ,kBAAkB,CAAC,CAAC;IACrC,MAAMK,MAAM,GAAGN,gBAAgB,CAAC,CAAC;IACjC,MAAMO,KAAK,GAAGR,eAAe,CAAC,CAAC;IAC/B,MAAMS,aAAa,GAAG,CAAC,CAAEF,MAAM,GAC5BH,OAAO,CAAE,QAAQ,EAAE;MACnBM,IAAI,EAAE,UAAU;MAChBC,IAAI,EAAEL,QAAQ;MACdM,EAAE,EAAEL;IACJ,CAAE,CAAC,GACH,KAAK;IAER,OAAO;MACNV,YAAY,EACX,CAAE,CAAEW,KAAK,IAAID,MAAM,KACnBE,aAAa,IACb,CAAEI,4BAAiB,CAACC,QAAQ,CAAER,QAAS;IACzC,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;EACP,IAAK,CAAET,YAAY,EAAG;IACrB,OAAO,IAAI;EACZ;EAEA,OAAOD,QAAQ;AAChB","ignoreList":[]}
|
|
@@ -32,7 +32,8 @@ var _jsxRuntime = require("react/jsx-runtime");
|
|
|
32
32
|
* <PostURL />
|
|
33
33
|
* ```
|
|
34
34
|
*
|
|
35
|
-
* @param {
|
|
35
|
+
* @param {{ onClose: () => void }} props The props for the component.
|
|
36
|
+
* @param {() => void} props.onClose Callback function to be executed when the popover is closed.
|
|
36
37
|
*
|
|
37
38
|
* @return {React.ReactNode} The rendered PostURL component.
|
|
38
39
|
*/function PostURL({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_data","require","_url","_element","_blockEditor","_i18n","_components","_notices","_icons","_coreData","_compose","_store","_jsxRuntime","PostURL","onClose","isEditable","postSlug","postLink","permalinkPrefix","permalinkSuffix","permalink","useSelect","select","_post$_links$wpActio","post","editorStore","getCurrentPost","postTypeSlug","getCurrentPostType","postType","coreStore","getPostType","permalinkParts","getPermalinkParts","hasPublishAction","_links","isPermalinkEditable","safeDecodeURIComponent","getEditedPostSlug","viewPostLabel","labels","view_item","link","prefix","suffix","getPermalink","editPost","useDispatch","createNotice","noticesStore","forceEmptyField","setForceEmptyField","useState","copyButtonRef","useCopyToClipboard","__","isDismissible","type","postUrlSlugDescriptionId","useInstanceId","jsxs","className","children","jsx","__experimentalInspectorPopoverHeader","title","__experimentalVStack","spacing","createInterpolateElement","span","id","a","ExternalLink","href","Fragment","__experimentalInputControl","__next40pxDefaultSize","__experimentalInputControlPrefixWrapper","__experimentalInputControlSuffixWrapper","variant","Button","icon","copySmall","ref","size","label","hideLabelFromVision","value","autoComplete","spellCheck","onChange","newValue","slug","onBlur","event","cleanForSlug","target"],"sources":["@wordpress/editor/src/components/post-url/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { safeDecodeURIComponent, cleanForSlug } from '@wordpress/url';\nimport { useState, createInterpolateElement } from '@wordpress/element';\nimport { __experimentalInspectorPopoverHeader as InspectorPopoverHeader } from '@wordpress/block-editor';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tExternalLink,\n\tButton,\n\t__experimentalInputControl as InputControl,\n\t__experimentalInputControlPrefixWrapper as InputControlPrefixWrapper,\n\t__experimentalInputControlSuffixWrapper as InputControlSuffixWrapper,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { copySmall } from '@wordpress/icons';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useCopyToClipboard, useInstanceId } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\n\n/**\n * Renders the `PostURL` component.\n *\n * @example\n * ```jsx\n * <PostURL />\n * ```\n *\n * @param {Function} onClose Callback function to be executed when the popover is closed.\n *\n * @return {React.ReactNode} The rendered PostURL component.\n */\nexport default function PostURL( { onClose } ) {\n\tconst {\n\t\tisEditable,\n\t\tpostSlug,\n\t\tpostLink,\n\t\tpermalinkPrefix,\n\t\tpermalinkSuffix,\n\t\tpermalink,\n\t} = useSelect( ( select ) => {\n\t\tconst post = select( editorStore ).getCurrentPost();\n\t\tconst postTypeSlug = select( editorStore ).getCurrentPostType();\n\t\tconst postType = select( coreStore ).getPostType( postTypeSlug );\n\t\tconst permalinkParts = select( editorStore ).getPermalinkParts();\n\t\tconst hasPublishAction = post?._links?.[ 'wp:action-publish' ] ?? false;\n\n\t\treturn {\n\t\t\tisEditable:\n\t\t\t\tselect( editorStore ).isPermalinkEditable() && hasPublishAction,\n\t\t\tpostSlug: safeDecodeURIComponent(\n\t\t\t\tselect( editorStore ).getEditedPostSlug()\n\t\t\t),\n\t\t\tviewPostLabel: postType?.labels.view_item,\n\t\t\tpostLink: post.link,\n\t\t\tpermalinkPrefix: permalinkParts?.prefix,\n\t\t\tpermalinkSuffix: permalinkParts?.suffix,\n\t\t\tpermalink: safeDecodeURIComponent(\n\t\t\t\tselect( editorStore ).getPermalink()\n\t\t\t),\n\t\t};\n\t}, [] );\n\tconst { editPost } = useDispatch( editorStore );\n\tconst { createNotice } = useDispatch( noticesStore );\n\tconst [ forceEmptyField, setForceEmptyField ] = useState( false );\n\tconst copyButtonRef = useCopyToClipboard( permalink, () => {\n\t\tcreateNotice( 'info', __( 'Copied Permalink to clipboard.' ), {\n\t\t\tisDismissible: true,\n\t\t\ttype: 'snackbar',\n\t\t} );\n\t} );\n\tconst postUrlSlugDescriptionId =\n\t\t'editor-post-url__slug-description-' + useInstanceId( PostURL );\n\n\treturn (\n\t\t<div className=\"editor-post-url\">\n\t\t\t<InspectorPopoverHeader\n\t\t\t\ttitle={ __( 'Slug' ) }\n\t\t\t\tonClose={ onClose }\n\t\t\t/>\n\t\t\t<VStack spacing={ 3 }>\n\t\t\t\t{ isEditable && (\n\t\t\t\t\t<p className=\"editor-post-url__intro\">\n\t\t\t\t\t\t{ createInterpolateElement(\n\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t'<span>Customize the last part of the Permalink.</span> <a>Learn more.</a>'\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tspan: <span id={ postUrlSlugDescriptionId } />,\n\t\t\t\t\t\t\t\ta: (\n\t\t\t\t\t\t\t\t\t<ExternalLink\n\t\t\t\t\t\t\t\t\t\thref={ __(\n\t\t\t\t\t\t\t\t\t\t\t'https://wordpress.org/documentation/article/page-post-settings-sidebar/#permalink'\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t) }\n\t\t\t\t\t</p>\n\t\t\t\t) }\n\t\t\t\t<div>\n\t\t\t\t\t{ isEditable && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<InputControl\n\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\tprefix={\n\t\t\t\t\t\t\t\t\t<InputControlPrefixWrapper>\n\t\t\t\t\t\t\t\t\t\t/\n\t\t\t\t\t\t\t\t\t</InputControlPrefixWrapper>\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tsuffix={\n\t\t\t\t\t\t\t\t\t<InputControlSuffixWrapper variant=\"control\">\n\t\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t\ticon={ copySmall }\n\t\t\t\t\t\t\t\t\t\t\tref={ copyButtonRef }\n\t\t\t\t\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\t\t\t\t\tlabel=\"Copy\"\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t</InputControlSuffixWrapper>\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tlabel={ __( 'Slug' ) }\n\t\t\t\t\t\t\t\thideLabelFromVision\n\t\t\t\t\t\t\t\tvalue={ forceEmptyField ? '' : postSlug }\n\t\t\t\t\t\t\t\tautoComplete=\"off\"\n\t\t\t\t\t\t\t\tspellCheck=\"false\"\n\t\t\t\t\t\t\t\ttype=\"text\"\n\t\t\t\t\t\t\t\tclassName=\"editor-post-url__input\"\n\t\t\t\t\t\t\t\tonChange={ ( newValue ) => {\n\t\t\t\t\t\t\t\t\teditPost( { slug: newValue } );\n\t\t\t\t\t\t\t\t\t// When we delete the field the permalink gets\n\t\t\t\t\t\t\t\t\t// reverted to the original value.\n\t\t\t\t\t\t\t\t\t// The forceEmptyField logic allows the user to have\n\t\t\t\t\t\t\t\t\t// the field temporarily empty while typing.\n\t\t\t\t\t\t\t\t\tif ( ! newValue ) {\n\t\t\t\t\t\t\t\t\t\tif ( ! forceEmptyField ) {\n\t\t\t\t\t\t\t\t\t\t\tsetForceEmptyField( true );\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tif ( forceEmptyField ) {\n\t\t\t\t\t\t\t\t\t\tsetForceEmptyField( false );\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\tonBlur={ ( event ) => {\n\t\t\t\t\t\t\t\t\teditPost( {\n\t\t\t\t\t\t\t\t\t\tslug: cleanForSlug(\n\t\t\t\t\t\t\t\t\t\t\tevent.target.value\n\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t\tif ( forceEmptyField ) {\n\t\t\t\t\t\t\t\t\t\tsetForceEmptyField( false );\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\taria-describedby={ postUrlSlugDescriptionId }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<p className=\"editor-post-url__permalink\">\n\t\t\t\t\t\t\t\t<span className=\"editor-post-url__permalink-visual-label\">\n\t\t\t\t\t\t\t\t\t{ __( 'Permalink:' ) }\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t<ExternalLink\n\t\t\t\t\t\t\t\t\tclassName=\"editor-post-url__link\"\n\t\t\t\t\t\t\t\t\thref={ postLink }\n\t\t\t\t\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<span className=\"editor-post-url__link-prefix\">\n\t\t\t\t\t\t\t\t\t\t{ permalinkPrefix }\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t<span className=\"editor-post-url__link-slug\">\n\t\t\t\t\t\t\t\t\t\t{ postSlug }\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t<span className=\"editor-post-url__link-suffix\">\n\t\t\t\t\t\t\t\t\t\t{ permalinkSuffix }\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t</ExternalLink>\n\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t</>\n\t\t\t\t\t) }\n\t\t\t\t\t{ ! isEditable && (\n\t\t\t\t\t\t<ExternalLink\n\t\t\t\t\t\t\tclassName=\"editor-post-url__link\"\n\t\t\t\t\t\t\thref={ postLink }\n\t\t\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ postLink }\n\t\t\t\t\t\t</ExternalLink>\n\t\t\t\t\t) }\n\t\t\t\t</div>\n\t\t\t</VStack>\n\t\t</div>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_data","require","_url","_element","_blockEditor","_i18n","_components","_notices","_icons","_coreData","_compose","_store","_jsxRuntime","PostURL","onClose","isEditable","postSlug","postLink","permalinkPrefix","permalinkSuffix","permalink","useSelect","select","_post$_links$wpActio","post","editorStore","getCurrentPost","postTypeSlug","getCurrentPostType","postType","coreStore","getPostType","permalinkParts","getPermalinkParts","hasPublishAction","_links","isPermalinkEditable","safeDecodeURIComponent","getEditedPostSlug","viewPostLabel","labels","view_item","link","prefix","suffix","getPermalink","editPost","useDispatch","createNotice","noticesStore","forceEmptyField","setForceEmptyField","useState","copyButtonRef","useCopyToClipboard","__","isDismissible","type","postUrlSlugDescriptionId","useInstanceId","jsxs","className","children","jsx","__experimentalInspectorPopoverHeader","title","__experimentalVStack","spacing","createInterpolateElement","span","id","a","ExternalLink","href","Fragment","__experimentalInputControl","__next40pxDefaultSize","__experimentalInputControlPrefixWrapper","__experimentalInputControlSuffixWrapper","variant","Button","icon","copySmall","ref","size","label","hideLabelFromVision","value","autoComplete","spellCheck","onChange","newValue","slug","onBlur","event","cleanForSlug","target"],"sources":["@wordpress/editor/src/components/post-url/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { safeDecodeURIComponent, cleanForSlug } from '@wordpress/url';\nimport { useState, createInterpolateElement } from '@wordpress/element';\nimport { __experimentalInspectorPopoverHeader as InspectorPopoverHeader } from '@wordpress/block-editor';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tExternalLink,\n\tButton,\n\t__experimentalInputControl as InputControl,\n\t__experimentalInputControlPrefixWrapper as InputControlPrefixWrapper,\n\t__experimentalInputControlSuffixWrapper as InputControlSuffixWrapper,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { copySmall } from '@wordpress/icons';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useCopyToClipboard, useInstanceId } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\n\n/**\n * Renders the `PostURL` component.\n *\n * @example\n * ```jsx\n * <PostURL />\n * ```\n *\n * @param {{ onClose: () => void }} props The props for the component.\n * @param {() => void} props.onClose Callback function to be executed when the popover is closed.\n *\n * @return {React.ReactNode} The rendered PostURL component.\n */\nexport default function PostURL( { onClose } ) {\n\tconst {\n\t\tisEditable,\n\t\tpostSlug,\n\t\tpostLink,\n\t\tpermalinkPrefix,\n\t\tpermalinkSuffix,\n\t\tpermalink,\n\t} = useSelect( ( select ) => {\n\t\tconst post = select( editorStore ).getCurrentPost();\n\t\tconst postTypeSlug = select( editorStore ).getCurrentPostType();\n\t\tconst postType = select( coreStore ).getPostType( postTypeSlug );\n\t\tconst permalinkParts = select( editorStore ).getPermalinkParts();\n\t\tconst hasPublishAction = post?._links?.[ 'wp:action-publish' ] ?? false;\n\n\t\treturn {\n\t\t\tisEditable:\n\t\t\t\tselect( editorStore ).isPermalinkEditable() && hasPublishAction,\n\t\t\tpostSlug: safeDecodeURIComponent(\n\t\t\t\tselect( editorStore ).getEditedPostSlug()\n\t\t\t),\n\t\t\tviewPostLabel: postType?.labels.view_item,\n\t\t\tpostLink: post.link,\n\t\t\tpermalinkPrefix: permalinkParts?.prefix,\n\t\t\tpermalinkSuffix: permalinkParts?.suffix,\n\t\t\tpermalink: safeDecodeURIComponent(\n\t\t\t\tselect( editorStore ).getPermalink()\n\t\t\t),\n\t\t};\n\t}, [] );\n\tconst { editPost } = useDispatch( editorStore );\n\tconst { createNotice } = useDispatch( noticesStore );\n\tconst [ forceEmptyField, setForceEmptyField ] = useState( false );\n\tconst copyButtonRef = useCopyToClipboard( permalink, () => {\n\t\tcreateNotice( 'info', __( 'Copied Permalink to clipboard.' ), {\n\t\t\tisDismissible: true,\n\t\t\ttype: 'snackbar',\n\t\t} );\n\t} );\n\tconst postUrlSlugDescriptionId =\n\t\t'editor-post-url__slug-description-' + useInstanceId( PostURL );\n\n\treturn (\n\t\t<div className=\"editor-post-url\">\n\t\t\t<InspectorPopoverHeader\n\t\t\t\ttitle={ __( 'Slug' ) }\n\t\t\t\tonClose={ onClose }\n\t\t\t/>\n\t\t\t<VStack spacing={ 3 }>\n\t\t\t\t{ isEditable && (\n\t\t\t\t\t<p className=\"editor-post-url__intro\">\n\t\t\t\t\t\t{ createInterpolateElement(\n\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t'<span>Customize the last part of the Permalink.</span> <a>Learn more.</a>'\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tspan: <span id={ postUrlSlugDescriptionId } />,\n\t\t\t\t\t\t\t\ta: (\n\t\t\t\t\t\t\t\t\t<ExternalLink\n\t\t\t\t\t\t\t\t\t\thref={ __(\n\t\t\t\t\t\t\t\t\t\t\t'https://wordpress.org/documentation/article/page-post-settings-sidebar/#permalink'\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t) }\n\t\t\t\t\t</p>\n\t\t\t\t) }\n\t\t\t\t<div>\n\t\t\t\t\t{ isEditable && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<InputControl\n\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\tprefix={\n\t\t\t\t\t\t\t\t\t<InputControlPrefixWrapper>\n\t\t\t\t\t\t\t\t\t\t/\n\t\t\t\t\t\t\t\t\t</InputControlPrefixWrapper>\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tsuffix={\n\t\t\t\t\t\t\t\t\t<InputControlSuffixWrapper variant=\"control\">\n\t\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t\ticon={ copySmall }\n\t\t\t\t\t\t\t\t\t\t\tref={ copyButtonRef }\n\t\t\t\t\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\t\t\t\t\tlabel=\"Copy\"\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t</InputControlSuffixWrapper>\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tlabel={ __( 'Slug' ) }\n\t\t\t\t\t\t\t\thideLabelFromVision\n\t\t\t\t\t\t\t\tvalue={ forceEmptyField ? '' : postSlug }\n\t\t\t\t\t\t\t\tautoComplete=\"off\"\n\t\t\t\t\t\t\t\tspellCheck=\"false\"\n\t\t\t\t\t\t\t\ttype=\"text\"\n\t\t\t\t\t\t\t\tclassName=\"editor-post-url__input\"\n\t\t\t\t\t\t\t\tonChange={ ( newValue ) => {\n\t\t\t\t\t\t\t\t\teditPost( { slug: newValue } );\n\t\t\t\t\t\t\t\t\t// When we delete the field the permalink gets\n\t\t\t\t\t\t\t\t\t// reverted to the original value.\n\t\t\t\t\t\t\t\t\t// The forceEmptyField logic allows the user to have\n\t\t\t\t\t\t\t\t\t// the field temporarily empty while typing.\n\t\t\t\t\t\t\t\t\tif ( ! newValue ) {\n\t\t\t\t\t\t\t\t\t\tif ( ! forceEmptyField ) {\n\t\t\t\t\t\t\t\t\t\t\tsetForceEmptyField( true );\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tif ( forceEmptyField ) {\n\t\t\t\t\t\t\t\t\t\tsetForceEmptyField( false );\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\tonBlur={ ( event ) => {\n\t\t\t\t\t\t\t\t\teditPost( {\n\t\t\t\t\t\t\t\t\t\tslug: cleanForSlug(\n\t\t\t\t\t\t\t\t\t\t\tevent.target.value\n\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t\tif ( forceEmptyField ) {\n\t\t\t\t\t\t\t\t\t\tsetForceEmptyField( false );\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\taria-describedby={ postUrlSlugDescriptionId }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<p className=\"editor-post-url__permalink\">\n\t\t\t\t\t\t\t\t<span className=\"editor-post-url__permalink-visual-label\">\n\t\t\t\t\t\t\t\t\t{ __( 'Permalink:' ) }\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t<ExternalLink\n\t\t\t\t\t\t\t\t\tclassName=\"editor-post-url__link\"\n\t\t\t\t\t\t\t\t\thref={ postLink }\n\t\t\t\t\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<span className=\"editor-post-url__link-prefix\">\n\t\t\t\t\t\t\t\t\t\t{ permalinkPrefix }\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t<span className=\"editor-post-url__link-slug\">\n\t\t\t\t\t\t\t\t\t\t{ postSlug }\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t<span className=\"editor-post-url__link-suffix\">\n\t\t\t\t\t\t\t\t\t\t{ permalinkSuffix }\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t</ExternalLink>\n\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t</>\n\t\t\t\t\t) }\n\t\t\t\t\t{ ! isEditable && (\n\t\t\t\t\t\t<ExternalLink\n\t\t\t\t\t\t\tclassName=\"editor-post-url__link\"\n\t\t\t\t\t\t\thref={ postLink }\n\t\t\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ postLink }\n\t\t\t\t\t\t</ExternalLink>\n\t\t\t\t\t) }\n\t\t\t\t</div>\n\t\t\t</VStack>\n\t\t</div>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -179,6 +179,12 @@ const ExperimentalEditorProvider = exports.ExperimentalEditorProvider = (0, _wit
|
|
|
179
179
|
postTypeEntities: post.type === 'wp_template' ? getEntitiesConfig('postType') : null
|
|
180
180
|
};
|
|
181
181
|
}, [post.type]);
|
|
182
|
+
const isZoomOut = (0, _data.useSelect)(select => {
|
|
183
|
+
const {
|
|
184
|
+
isZoomOut: _isZoomOut
|
|
185
|
+
} = (0, _lockUnlock.unlock)(select(_blockEditor.store));
|
|
186
|
+
return _isZoomOut();
|
|
187
|
+
});
|
|
182
188
|
const shouldRenderTemplate = !!template && mode !== 'post-only';
|
|
183
189
|
const rootLevelPost = shouldRenderTemplate ? template : post;
|
|
184
190
|
const defaultBlockContext = (0, _element.useMemo)(() => {
|
|
@@ -286,7 +292,9 @@ const ExperimentalEditorProvider = exports.ExperimentalEditorProvider = (0, _wit
|
|
|
286
292
|
settings: blockEditorSettings,
|
|
287
293
|
useSubRegistry: false,
|
|
288
294
|
children: [children, !settings.isPreviewMode && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
|
|
289
|
-
children: [
|
|
295
|
+
children: [!isZoomOut && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
|
|
296
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(PatternsMenuItems, {}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_templatePartMenuItems.default, {}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_contentOnlySettingsMenu.default, {})]
|
|
297
|
+
}), mode === 'template-locked' && /*#__PURE__*/(0, _jsxRuntime.jsx)(_disableNonPageContentBlocks.default, {}), type === 'wp_navigation' && /*#__PURE__*/(0, _jsxRuntime.jsx)(_navigationBlockEditingMode.default, {}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_globalKeyboardShortcuts.default, {}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_keyboardShortcutHelpModal.default, {}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_blockRemovalWarnings.default, {}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_startPageOptions.default, {}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_startTemplateOptions.default, {}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_patternRenameModal.default, {}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_patternDuplicateModal.default, {})]
|
|
290
298
|
})]
|
|
291
299
|
})
|
|
292
300
|
})
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_element","require","_data","_i18n","_coreData","_blockEditor","_notices","_patterns","_blocks","_withRegistryProvider","_interopRequireDefault","_store","_useBlockEditorSettings","_lockUnlock","_disableNonPageContentBlocks","_navigationBlockEditingMode","_useHideBlocksFromInserter","_commands","_blockRemovalWarnings","_startPageOptions","_keyboardShortcutHelpModal","_contentOnlySettingsMenu","_startTemplateOptions","_globalKeyboardShortcuts","_patternRenameModal","_patternDuplicateModal","_templatePartMenuItems","_jsxRuntime","ExperimentalBlockEditorProvider","unlock","blockEditorPrivateApis","PatternsMenuItems","editPatternsPrivateApis","noop","NON_CONTEXTUAL_POST_TYPES","useBlockEditorProps","post","template","mode","rootLevelPost","postBlocks","onInput","onChange","useEntityBlockEditor","type","id","templateBlocks","onInputTemplate","onChangeTemplate","maybeNavigationBlocks","useMemo","createBlock","ref","templateLock","blocks","disableRootLevelChanges","ExperimentalEditorProvider","exports","withRegistryProvider","settings","recovery","initialEdits","children","BlockEditorProviderComponent","__unstableTemplate","editorSettings","selection","isReady","defaultMode","postTypeEntities","hasLoadedPostObject","useSelect","select","_postTypeObject$defau","getEditorSettings","getEditorSelection","getRenderingMode","__unstableIsEditorReady","editorStore","getEntitiesConfig","coreStore","postTypeObject","getPostType","_hasLoadedPostObject","hasFinishedResolution","default_rendering_mode","shouldRenderTemplate","defaultBlockContext","postContext","slug","postType","split","postTypeNames","map","entity","name","match","join","includes","postId","templateSlug","undefined","blockEditorSettings","useBlockEditorSettings","updatePostLock","setupEditor","updateEditorSettings","setCurrentTemplateId","setEditedPost","setRenderingMode","useDispatch","createWarningNotice","noticesStore","useLayoutEffect","postLock","autosave","__","actions","label","url","editLink","useEffect","useHideBlocksFromInserter","useCommands","jsx","EntityProvider","kind","BlockContextProvider","value","jsxs","useSubRegistry","isPreviewMode","Fragment","default","EditorProvider","props","BlockEditorProvider","_default"],"sources":["@wordpress/editor/src/components/provider/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useEffect, useLayoutEffect, useMemo } from '@wordpress/element';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tEntityProvider,\n\tuseEntityBlockEditor,\n\tstore as coreStore,\n} from '@wordpress/core-data';\nimport {\n\tBlockEditorProvider,\n\tBlockContextProvider,\n\tprivateApis as blockEditorPrivateApis,\n} from '@wordpress/block-editor';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { privateApis as editPatternsPrivateApis } from '@wordpress/patterns';\nimport { createBlock } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport withRegistryProvider from './with-registry-provider';\nimport { store as editorStore } from '../../store';\nimport useBlockEditorSettings from './use-block-editor-settings';\nimport { unlock } from '../../lock-unlock';\nimport DisableNonPageContentBlocks from './disable-non-page-content-blocks';\nimport NavigationBlockEditingMode from './navigation-block-editing-mode';\nimport { useHideBlocksFromInserter } from './use-hide-blocks-from-inserter';\nimport useCommands from '../commands';\nimport BlockRemovalWarnings from '../block-removal-warnings';\nimport StartPageOptions from '../start-page-options';\nimport KeyboardShortcutHelpModal from '../keyboard-shortcut-help-modal';\nimport ContentOnlySettingsMenu from '../block-settings-menu/content-only-settings-menu';\nimport StartTemplateOptions from '../start-template-options';\nimport EditorKeyboardShortcuts from '../global-keyboard-shortcuts';\nimport PatternRenameModal from '../pattern-rename-modal';\nimport PatternDuplicateModal from '../pattern-duplicate-modal';\nimport TemplatePartMenuItems from '../template-part-menu-items';\n\nconst { ExperimentalBlockEditorProvider } = unlock( blockEditorPrivateApis );\nconst { PatternsMenuItems } = unlock( editPatternsPrivateApis );\n\nconst noop = () => {};\n\n/**\n * These are global entities that are only there to split blocks into logical units\n * They don't provide a \"context\" for the current post/page being rendered.\n * So we should not use their ids as post context. This is important to allow post blocks\n * (post content, post title) to be used within them without issues.\n */\nconst NON_CONTEXTUAL_POST_TYPES = [\n\t'wp_block',\n\t'wp_navigation',\n\t'wp_template_part',\n];\n\n/**\n * Depending on the post, template and template mode,\n * returns the appropriate blocks and change handlers for the block editor provider.\n *\n * @param {Array} post Block list.\n * @param {boolean} template Whether the page content has focus (and the surrounding template is inert). If `true` return page content blocks. Default `false`.\n * @param {string} mode Rendering mode.\n *\n * @example\n * ```jsx\n * const [ blocks, onInput, onChange ] = useBlockEditorProps( post, template, mode );\n * ```\n *\n * @return {Array} Block editor props.\n */\nfunction useBlockEditorProps( post, template, mode ) {\n\tconst rootLevelPost = mode === 'template-locked' ? 'template' : 'post';\n\tconst [ postBlocks, onInput, onChange ] = useEntityBlockEditor(\n\t\t'postType',\n\t\tpost.type,\n\t\t{ id: post.id }\n\t);\n\tconst [ templateBlocks, onInputTemplate, onChangeTemplate ] =\n\t\tuseEntityBlockEditor( 'postType', template?.type, {\n\t\t\tid: template?.id,\n\t\t} );\n\tconst maybeNavigationBlocks = useMemo( () => {\n\t\tif ( post.type === 'wp_navigation' ) {\n\t\t\treturn [\n\t\t\t\tcreateBlock( 'core/navigation', {\n\t\t\t\t\tref: post.id,\n\t\t\t\t\t// As the parent editor is locked with `templateLock`, the template locking\n\t\t\t\t\t// must be explicitly \"unset\" on the block itself to allow the user to modify\n\t\t\t\t\t// the block's content.\n\t\t\t\t\ttemplateLock: false,\n\t\t\t\t} ),\n\t\t\t];\n\t\t}\n\t}, [ post.type, post.id ] );\n\n\t// It is important that we don't create a new instance of blocks on every change\n\t// We should only create a new instance if the blocks them selves change, not a dependency of them.\n\tconst blocks = useMemo( () => {\n\t\tif ( maybeNavigationBlocks ) {\n\t\t\treturn maybeNavigationBlocks;\n\t\t}\n\n\t\tif ( rootLevelPost === 'template' ) {\n\t\t\treturn templateBlocks;\n\t\t}\n\n\t\treturn postBlocks;\n\t}, [ maybeNavigationBlocks, rootLevelPost, templateBlocks, postBlocks ] );\n\n\t// Handle fallback to postBlocks outside of the above useMemo, to ensure\n\t// that constructed block templates that call `createBlock` are not generated\n\t// too frequently. This ensures that clientIds are stable.\n\tconst disableRootLevelChanges =\n\t\t( !! template && mode === 'template-locked' ) ||\n\t\tpost.type === 'wp_navigation';\n\tif ( disableRootLevelChanges ) {\n\t\treturn [ blocks, noop, noop ];\n\t}\n\n\treturn [\n\t\tblocks,\n\t\trootLevelPost === 'post' ? onInput : onInputTemplate,\n\t\trootLevelPost === 'post' ? onChange : onChangeTemplate,\n\t];\n}\n\n/**\n * This component provides the editor context and manages the state of the block editor.\n *\n * @param {Object} props The component props.\n * @param {Object} props.post The post object.\n * @param {Object} props.settings The editor settings.\n * @param {boolean} props.recovery Indicates if the editor is in recovery mode.\n * @param {Array} props.initialEdits The initial edits for the editor.\n * @param {Object} props.children The child components.\n * @param {Object} [props.BlockEditorProviderComponent] The block editor provider component to use. Defaults to ExperimentalBlockEditorProvider.\n * @param {Object} [props.__unstableTemplate] The template object.\n *\n * @example\n * ```jsx\n * <ExperimentalEditorProvider\n * post={ post }\n * settings={ settings }\n * recovery={ recovery }\n * initialEdits={ initialEdits }\n * __unstableTemplate={ template }\n * >\n * { children }\n * </ExperimentalEditorProvider>\n *\n * @return {Object} The rendered ExperimentalEditorProvider component.\n */\nexport const ExperimentalEditorProvider = withRegistryProvider(\n\t( {\n\t\tpost,\n\t\tsettings,\n\t\trecovery,\n\t\tinitialEdits,\n\t\tchildren,\n\t\tBlockEditorProviderComponent = ExperimentalBlockEditorProvider,\n\t\t__unstableTemplate: template,\n\t} ) => {\n\t\tconst {\n\t\t\teditorSettings,\n\t\t\tselection,\n\t\t\tisReady,\n\t\t\tmode,\n\t\t\tdefaultMode,\n\t\t\tpostTypeEntities,\n\t\t\thasLoadedPostObject,\n\t\t} = useSelect(\n\t\t\t( select ) => {\n\t\t\t\tconst {\n\t\t\t\t\tgetEditorSettings,\n\t\t\t\t\tgetEditorSelection,\n\t\t\t\t\tgetRenderingMode,\n\t\t\t\t\t__unstableIsEditorReady,\n\t\t\t\t} = select( editorStore );\n\t\t\t\tconst { getEntitiesConfig } = select( coreStore );\n\n\t\t\t\tconst postTypeObject = select( coreStore ).getPostType(\n\t\t\t\t\tpost.type\n\t\t\t\t);\n\n\t\t\t\tconst _hasLoadedPostObject = select(\n\t\t\t\t\tcoreStore\n\t\t\t\t).hasFinishedResolution( 'getPostType', [ post.type ] );\n\n\t\t\t\treturn {\n\t\t\t\t\thasLoadedPostObject: _hasLoadedPostObject,\n\t\t\t\t\teditorSettings: getEditorSettings(),\n\t\t\t\t\tisReady: __unstableIsEditorReady(),\n\t\t\t\t\tmode: getRenderingMode(),\n\t\t\t\t\tdefaultMode:\n\t\t\t\t\t\tpostTypeObject?.default_rendering_mode ?? 'post-only',\n\t\t\t\t\tselection: getEditorSelection(),\n\t\t\t\t\tpostTypeEntities:\n\t\t\t\t\t\tpost.type === 'wp_template'\n\t\t\t\t\t\t\t? getEntitiesConfig( 'postType' )\n\t\t\t\t\t\t\t: null,\n\t\t\t\t};\n\t\t\t},\n\t\t\t[ post.type ]\n\t\t);\n\t\tconst shouldRenderTemplate = !! template && mode !== 'post-only';\n\t\tconst rootLevelPost = shouldRenderTemplate ? template : post;\n\t\tconst defaultBlockContext = useMemo( () => {\n\t\t\tconst postContext = {};\n\t\t\t// If it is a template, try to inherit the post type from the name.\n\t\t\tif ( post.type === 'wp_template' ) {\n\t\t\t\tif ( post.slug === 'page' ) {\n\t\t\t\t\tpostContext.postType = 'page';\n\t\t\t\t} else if ( post.slug === 'single' ) {\n\t\t\t\t\tpostContext.postType = 'post';\n\t\t\t\t} else if ( post.slug.split( '-' )[ 0 ] === 'single' ) {\n\t\t\t\t\t// If the slug is single-{postType}, infer the post type from the name.\n\t\t\t\t\tconst postTypeNames =\n\t\t\t\t\t\tpostTypeEntities?.map( ( entity ) => entity.name ) ||\n\t\t\t\t\t\t[];\n\t\t\t\t\tconst match = post.slug.match(\n\t\t\t\t\t\t`^single-(${ postTypeNames.join( '|' ) })(?:-.+)?$`\n\t\t\t\t\t);\n\t\t\t\t\tif ( match ) {\n\t\t\t\t\t\tpostContext.postType = match[ 1 ];\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if (\n\t\t\t\t! NON_CONTEXTUAL_POST_TYPES.includes( rootLevelPost.type ) ||\n\t\t\t\tshouldRenderTemplate\n\t\t\t) {\n\t\t\t\tpostContext.postId = post.id;\n\t\t\t\tpostContext.postType = post.type;\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\t...postContext,\n\t\t\t\ttemplateSlug:\n\t\t\t\t\trootLevelPost.type === 'wp_template'\n\t\t\t\t\t\t? rootLevelPost.slug\n\t\t\t\t\t\t: undefined,\n\t\t\t};\n\t\t}, [\n\t\t\tshouldRenderTemplate,\n\t\t\tpost.id,\n\t\t\tpost.type,\n\t\t\tpost.slug,\n\t\t\trootLevelPost.type,\n\t\t\trootLevelPost.slug,\n\t\t\tpostTypeEntities,\n\t\t] );\n\t\tconst { id, type } = rootLevelPost;\n\t\tconst blockEditorSettings = useBlockEditorSettings(\n\t\t\teditorSettings,\n\t\t\ttype,\n\t\t\tid,\n\t\t\tmode\n\t\t);\n\t\tconst [ blocks, onInput, onChange ] = useBlockEditorProps(\n\t\t\tpost,\n\t\t\ttemplate,\n\t\t\tmode\n\t\t);\n\n\t\tconst {\n\t\t\tupdatePostLock,\n\t\t\tsetupEditor,\n\t\t\tupdateEditorSettings,\n\t\t\tsetCurrentTemplateId,\n\t\t\tsetEditedPost,\n\t\t\tsetRenderingMode,\n\t\t} = unlock( useDispatch( editorStore ) );\n\t\tconst { createWarningNotice } = useDispatch( noticesStore );\n\n\t\t// Ideally this should be synced on each change and not just something you do once.\n\t\tuseLayoutEffect( () => {\n\t\t\t// Assume that we don't need to initialize in the case of an error recovery.\n\t\t\tif ( recovery ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tupdatePostLock( settings.postLock );\n\t\t\tsetupEditor( post, initialEdits, settings.template );\n\t\t\tif ( settings.autosave ) {\n\t\t\t\tcreateWarningNotice(\n\t\t\t\t\t__(\n\t\t\t\t\t\t'There is an autosave of this post that is more recent than the version below.'\n\t\t\t\t\t),\n\t\t\t\t\t{\n\t\t\t\t\t\tid: 'autosave-exists',\n\t\t\t\t\t\tactions: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tlabel: __( 'View the autosave' ),\n\t\t\t\t\t\t\t\turl: settings.autosave.editLink,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t],\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t}\n\t\t}, [\n\t\t\tcreateWarningNotice,\n\t\t\tinitialEdits,\n\t\t\tsettings,\n\t\t\tpost,\n\t\t\trecovery,\n\t\t\tsetupEditor,\n\t\t\tupdatePostLock,\n\t\t] );\n\n\t\t// Synchronizes the active post with the state\n\t\tuseEffect( () => {\n\t\t\tsetEditedPost( post.type, post.id );\n\t\t}, [ post.type, post.id, setEditedPost ] );\n\n\t\t// Synchronize the editor settings as they change.\n\t\tuseEffect( () => {\n\t\t\tupdateEditorSettings( settings );\n\t\t}, [ settings, updateEditorSettings ] );\n\n\t\t// Synchronizes the active template with the state.\n\t\tuseEffect( () => {\n\t\t\tsetCurrentTemplateId( template?.id );\n\t\t}, [ template?.id, setCurrentTemplateId ] );\n\n\t\t// Sets the right rendering mode when loading the editor.\n\t\tuseEffect( () => {\n\t\t\tsetRenderingMode( defaultMode );\n\t\t}, [ defaultMode, setRenderingMode ] );\n\n\t\tuseHideBlocksFromInserter( post.type, mode );\n\n\t\t// Register the editor commands.\n\t\tuseCommands();\n\n\t\tif ( ! isReady || ! mode || ! hasLoadedPostObject ) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn (\n\t\t\t<EntityProvider kind=\"root\" type=\"site\">\n\t\t\t\t<EntityProvider\n\t\t\t\t\tkind=\"postType\"\n\t\t\t\t\ttype={ post.type }\n\t\t\t\t\tid={ post.id }\n\t\t\t\t>\n\t\t\t\t\t<BlockContextProvider value={ defaultBlockContext }>\n\t\t\t\t\t\t<BlockEditorProviderComponent\n\t\t\t\t\t\t\tvalue={ blocks }\n\t\t\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\t\t\tonInput={ onInput }\n\t\t\t\t\t\t\tselection={ selection }\n\t\t\t\t\t\t\tsettings={ blockEditorSettings }\n\t\t\t\t\t\t\tuseSubRegistry={ false }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ children }\n\t\t\t\t\t\t\t{ ! settings.isPreviewMode && (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t<PatternsMenuItems />\n\t\t\t\t\t\t\t\t\t<TemplatePartMenuItems />\n\t\t\t\t\t\t\t\t\t<ContentOnlySettingsMenu />\n\t\t\t\t\t\t\t\t\t{ mode === 'template-locked' && (\n\t\t\t\t\t\t\t\t\t\t<DisableNonPageContentBlocks />\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t{ type === 'wp_navigation' && (\n\t\t\t\t\t\t\t\t\t\t<NavigationBlockEditingMode />\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t<EditorKeyboardShortcuts />\n\t\t\t\t\t\t\t\t\t<KeyboardShortcutHelpModal />\n\t\t\t\t\t\t\t\t\t<BlockRemovalWarnings />\n\t\t\t\t\t\t\t\t\t<StartPageOptions />\n\t\t\t\t\t\t\t\t\t<StartTemplateOptions />\n\t\t\t\t\t\t\t\t\t<PatternRenameModal />\n\t\t\t\t\t\t\t\t\t<PatternDuplicateModal />\n\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</BlockEditorProviderComponent>\n\t\t\t\t\t</BlockContextProvider>\n\t\t\t\t</EntityProvider>\n\t\t\t</EntityProvider>\n\t\t);\n\t}\n);\n\n/**\n * This component establishes a new post editing context, and serves as the entry point for a new post editor (or post with template editor).\n *\n * It supports a large number of post types, including post, page, templates,\n * custom post types, patterns, template parts.\n *\n * All modification and changes are performed to the `@wordpress/core-data` store.\n *\n * @param {Object} props The component props.\n * @param {Object} [props.post] The post object to edit. This is required.\n * @param {Object} [props.__unstableTemplate] The template object wrapper the edited post.\n * This is optional and can only be used when the post type supports templates (like posts and pages).\n * @param {Object} [props.settings] The settings object to use for the editor.\n * This is optional and can be used to override the default settings.\n * @param {Element} [props.children] Children elements for which the BlockEditorProvider context should apply.\n * This is optional.\n *\n * @example\n * ```jsx\n * <EditorProvider\n * post={ post }\n * settings={ settings }\n * __unstableTemplate={ template }\n * >\n * { children }\n * </EditorProvider>\n * ```\n *\n * @return {React.ReactNode} The rendered EditorProvider component.\n */\nexport function EditorProvider( props ) {\n\treturn (\n\t\t<ExperimentalEditorProvider\n\t\t\t{ ...props }\n\t\t\tBlockEditorProviderComponent={ BlockEditorProvider }\n\t\t>\n\t\t\t{ props.children }\n\t\t</ExperimentalEditorProvider>\n\t);\n}\n\nexport default EditorProvider;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_element","require","_data","_i18n","_coreData","_blockEditor","_notices","_patterns","_blocks","_withRegistryProvider","_interopRequireDefault","_store","_useBlockEditorSettings","_lockUnlock","_disableNonPageContentBlocks","_navigationBlockEditingMode","_useHideBlocksFromInserter","_commands","_blockRemovalWarnings","_startPageOptions","_keyboardShortcutHelpModal","_contentOnlySettingsMenu","_startTemplateOptions","_globalKeyboardShortcuts","_patternRenameModal","_patternDuplicateModal","_templatePartMenuItems","_jsxRuntime","ExperimentalBlockEditorProvider","unlock","blockEditorPrivateApis","PatternsMenuItems","editPatternsPrivateApis","noop","NON_CONTEXTUAL_POST_TYPES","useBlockEditorProps","post","template","mode","rootLevelPost","postBlocks","onInput","onChange","useEntityBlockEditor","type","id","templateBlocks","onInputTemplate","onChangeTemplate","maybeNavigationBlocks","useMemo","createBlock","ref","templateLock","blocks","disableRootLevelChanges","ExperimentalEditorProvider","exports","withRegistryProvider","settings","recovery","initialEdits","children","BlockEditorProviderComponent","__unstableTemplate","editorSettings","selection","isReady","defaultMode","postTypeEntities","hasLoadedPostObject","useSelect","select","_postTypeObject$defau","getEditorSettings","getEditorSelection","getRenderingMode","__unstableIsEditorReady","editorStore","getEntitiesConfig","coreStore","postTypeObject","getPostType","_hasLoadedPostObject","hasFinishedResolution","default_rendering_mode","isZoomOut","_isZoomOut","blockEditorStore","shouldRenderTemplate","defaultBlockContext","postContext","slug","postType","split","postTypeNames","map","entity","name","match","join","includes","postId","templateSlug","undefined","blockEditorSettings","useBlockEditorSettings","updatePostLock","setupEditor","updateEditorSettings","setCurrentTemplateId","setEditedPost","setRenderingMode","useDispatch","createWarningNotice","noticesStore","useLayoutEffect","postLock","autosave","__","actions","label","url","editLink","useEffect","useHideBlocksFromInserter","useCommands","jsx","EntityProvider","kind","BlockContextProvider","value","jsxs","useSubRegistry","isPreviewMode","Fragment","default","EditorProvider","props","BlockEditorProvider","_default"],"sources":["@wordpress/editor/src/components/provider/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useEffect, useLayoutEffect, useMemo } from '@wordpress/element';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tEntityProvider,\n\tuseEntityBlockEditor,\n\tstore as coreStore,\n} from '@wordpress/core-data';\nimport {\n\tBlockEditorProvider,\n\tBlockContextProvider,\n\tprivateApis as blockEditorPrivateApis,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { privateApis as editPatternsPrivateApis } from '@wordpress/patterns';\nimport { createBlock } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport withRegistryProvider from './with-registry-provider';\nimport { store as editorStore } from '../../store';\nimport useBlockEditorSettings from './use-block-editor-settings';\nimport { unlock } from '../../lock-unlock';\nimport DisableNonPageContentBlocks from './disable-non-page-content-blocks';\nimport NavigationBlockEditingMode from './navigation-block-editing-mode';\nimport { useHideBlocksFromInserter } from './use-hide-blocks-from-inserter';\nimport useCommands from '../commands';\nimport BlockRemovalWarnings from '../block-removal-warnings';\nimport StartPageOptions from '../start-page-options';\nimport KeyboardShortcutHelpModal from '../keyboard-shortcut-help-modal';\nimport ContentOnlySettingsMenu from '../block-settings-menu/content-only-settings-menu';\nimport StartTemplateOptions from '../start-template-options';\nimport EditorKeyboardShortcuts from '../global-keyboard-shortcuts';\nimport PatternRenameModal from '../pattern-rename-modal';\nimport PatternDuplicateModal from '../pattern-duplicate-modal';\nimport TemplatePartMenuItems from '../template-part-menu-items';\n\nconst { ExperimentalBlockEditorProvider } = unlock( blockEditorPrivateApis );\nconst { PatternsMenuItems } = unlock( editPatternsPrivateApis );\n\nconst noop = () => {};\n\n/**\n * These are global entities that are only there to split blocks into logical units\n * They don't provide a \"context\" for the current post/page being rendered.\n * So we should not use their ids as post context. This is important to allow post blocks\n * (post content, post title) to be used within them without issues.\n */\nconst NON_CONTEXTUAL_POST_TYPES = [\n\t'wp_block',\n\t'wp_navigation',\n\t'wp_template_part',\n];\n\n/**\n * Depending on the post, template and template mode,\n * returns the appropriate blocks and change handlers for the block editor provider.\n *\n * @param {Array} post Block list.\n * @param {boolean} template Whether the page content has focus (and the surrounding template is inert). If `true` return page content blocks. Default `false`.\n * @param {string} mode Rendering mode.\n *\n * @example\n * ```jsx\n * const [ blocks, onInput, onChange ] = useBlockEditorProps( post, template, mode );\n * ```\n *\n * @return {Array} Block editor props.\n */\nfunction useBlockEditorProps( post, template, mode ) {\n\tconst rootLevelPost = mode === 'template-locked' ? 'template' : 'post';\n\tconst [ postBlocks, onInput, onChange ] = useEntityBlockEditor(\n\t\t'postType',\n\t\tpost.type,\n\t\t{ id: post.id }\n\t);\n\tconst [ templateBlocks, onInputTemplate, onChangeTemplate ] =\n\t\tuseEntityBlockEditor( 'postType', template?.type, {\n\t\t\tid: template?.id,\n\t\t} );\n\tconst maybeNavigationBlocks = useMemo( () => {\n\t\tif ( post.type === 'wp_navigation' ) {\n\t\t\treturn [\n\t\t\t\tcreateBlock( 'core/navigation', {\n\t\t\t\t\tref: post.id,\n\t\t\t\t\t// As the parent editor is locked with `templateLock`, the template locking\n\t\t\t\t\t// must be explicitly \"unset\" on the block itself to allow the user to modify\n\t\t\t\t\t// the block's content.\n\t\t\t\t\ttemplateLock: false,\n\t\t\t\t} ),\n\t\t\t];\n\t\t}\n\t}, [ post.type, post.id ] );\n\n\t// It is important that we don't create a new instance of blocks on every change\n\t// We should only create a new instance if the blocks them selves change, not a dependency of them.\n\tconst blocks = useMemo( () => {\n\t\tif ( maybeNavigationBlocks ) {\n\t\t\treturn maybeNavigationBlocks;\n\t\t}\n\n\t\tif ( rootLevelPost === 'template' ) {\n\t\t\treturn templateBlocks;\n\t\t}\n\n\t\treturn postBlocks;\n\t}, [ maybeNavigationBlocks, rootLevelPost, templateBlocks, postBlocks ] );\n\n\t// Handle fallback to postBlocks outside of the above useMemo, to ensure\n\t// that constructed block templates that call `createBlock` are not generated\n\t// too frequently. This ensures that clientIds are stable.\n\tconst disableRootLevelChanges =\n\t\t( !! template && mode === 'template-locked' ) ||\n\t\tpost.type === 'wp_navigation';\n\tif ( disableRootLevelChanges ) {\n\t\treturn [ blocks, noop, noop ];\n\t}\n\n\treturn [\n\t\tblocks,\n\t\trootLevelPost === 'post' ? onInput : onInputTemplate,\n\t\trootLevelPost === 'post' ? onChange : onChangeTemplate,\n\t];\n}\n\n/**\n * This component provides the editor context and manages the state of the block editor.\n *\n * @param {Object} props The component props.\n * @param {Object} props.post The post object.\n * @param {Object} props.settings The editor settings.\n * @param {boolean} props.recovery Indicates if the editor is in recovery mode.\n * @param {Array} props.initialEdits The initial edits for the editor.\n * @param {Object} props.children The child components.\n * @param {Object} [props.BlockEditorProviderComponent] The block editor provider component to use. Defaults to ExperimentalBlockEditorProvider.\n * @param {Object} [props.__unstableTemplate] The template object.\n *\n * @example\n * ```jsx\n * <ExperimentalEditorProvider\n * post={ post }\n * settings={ settings }\n * recovery={ recovery }\n * initialEdits={ initialEdits }\n * __unstableTemplate={ template }\n * >\n * { children }\n * </ExperimentalEditorProvider>\n *\n * @return {Object} The rendered ExperimentalEditorProvider component.\n */\nexport const ExperimentalEditorProvider = withRegistryProvider(\n\t( {\n\t\tpost,\n\t\tsettings,\n\t\trecovery,\n\t\tinitialEdits,\n\t\tchildren,\n\t\tBlockEditorProviderComponent = ExperimentalBlockEditorProvider,\n\t\t__unstableTemplate: template,\n\t} ) => {\n\t\tconst {\n\t\t\teditorSettings,\n\t\t\tselection,\n\t\t\tisReady,\n\t\t\tmode,\n\t\t\tdefaultMode,\n\t\t\tpostTypeEntities,\n\t\t\thasLoadedPostObject,\n\t\t} = useSelect(\n\t\t\t( select ) => {\n\t\t\t\tconst {\n\t\t\t\t\tgetEditorSettings,\n\t\t\t\t\tgetEditorSelection,\n\t\t\t\t\tgetRenderingMode,\n\t\t\t\t\t__unstableIsEditorReady,\n\t\t\t\t} = select( editorStore );\n\t\t\t\tconst { getEntitiesConfig } = select( coreStore );\n\n\t\t\t\tconst postTypeObject = select( coreStore ).getPostType(\n\t\t\t\t\tpost.type\n\t\t\t\t);\n\n\t\t\t\tconst _hasLoadedPostObject = select(\n\t\t\t\t\tcoreStore\n\t\t\t\t).hasFinishedResolution( 'getPostType', [ post.type ] );\n\n\t\t\t\treturn {\n\t\t\t\t\thasLoadedPostObject: _hasLoadedPostObject,\n\t\t\t\t\teditorSettings: getEditorSettings(),\n\t\t\t\t\tisReady: __unstableIsEditorReady(),\n\t\t\t\t\tmode: getRenderingMode(),\n\t\t\t\t\tdefaultMode:\n\t\t\t\t\t\tpostTypeObject?.default_rendering_mode ?? 'post-only',\n\t\t\t\t\tselection: getEditorSelection(),\n\t\t\t\t\tpostTypeEntities:\n\t\t\t\t\t\tpost.type === 'wp_template'\n\t\t\t\t\t\t\t? getEntitiesConfig( 'postType' )\n\t\t\t\t\t\t\t: null,\n\t\t\t\t};\n\t\t\t},\n\t\t\t[ post.type ]\n\t\t);\n\n\t\tconst isZoomOut = useSelect( ( select ) => {\n\t\t\tconst { isZoomOut: _isZoomOut } = unlock(\n\t\t\t\tselect( blockEditorStore )\n\t\t\t);\n\n\t\t\treturn _isZoomOut();\n\t\t} );\n\n\t\tconst shouldRenderTemplate = !! template && mode !== 'post-only';\n\t\tconst rootLevelPost = shouldRenderTemplate ? template : post;\n\t\tconst defaultBlockContext = useMemo( () => {\n\t\t\tconst postContext = {};\n\t\t\t// If it is a template, try to inherit the post type from the name.\n\t\t\tif ( post.type === 'wp_template' ) {\n\t\t\t\tif ( post.slug === 'page' ) {\n\t\t\t\t\tpostContext.postType = 'page';\n\t\t\t\t} else if ( post.slug === 'single' ) {\n\t\t\t\t\tpostContext.postType = 'post';\n\t\t\t\t} else if ( post.slug.split( '-' )[ 0 ] === 'single' ) {\n\t\t\t\t\t// If the slug is single-{postType}, infer the post type from the name.\n\t\t\t\t\tconst postTypeNames =\n\t\t\t\t\t\tpostTypeEntities?.map( ( entity ) => entity.name ) ||\n\t\t\t\t\t\t[];\n\t\t\t\t\tconst match = post.slug.match(\n\t\t\t\t\t\t`^single-(${ postTypeNames.join( '|' ) })(?:-.+)?$`\n\t\t\t\t\t);\n\t\t\t\t\tif ( match ) {\n\t\t\t\t\t\tpostContext.postType = match[ 1 ];\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if (\n\t\t\t\t! NON_CONTEXTUAL_POST_TYPES.includes( rootLevelPost.type ) ||\n\t\t\t\tshouldRenderTemplate\n\t\t\t) {\n\t\t\t\tpostContext.postId = post.id;\n\t\t\t\tpostContext.postType = post.type;\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\t...postContext,\n\t\t\t\ttemplateSlug:\n\t\t\t\t\trootLevelPost.type === 'wp_template'\n\t\t\t\t\t\t? rootLevelPost.slug\n\t\t\t\t\t\t: undefined,\n\t\t\t};\n\t\t}, [\n\t\t\tshouldRenderTemplate,\n\t\t\tpost.id,\n\t\t\tpost.type,\n\t\t\tpost.slug,\n\t\t\trootLevelPost.type,\n\t\t\trootLevelPost.slug,\n\t\t\tpostTypeEntities,\n\t\t] );\n\t\tconst { id, type } = rootLevelPost;\n\t\tconst blockEditorSettings = useBlockEditorSettings(\n\t\t\teditorSettings,\n\t\t\ttype,\n\t\t\tid,\n\t\t\tmode\n\t\t);\n\t\tconst [ blocks, onInput, onChange ] = useBlockEditorProps(\n\t\t\tpost,\n\t\t\ttemplate,\n\t\t\tmode\n\t\t);\n\n\t\tconst {\n\t\t\tupdatePostLock,\n\t\t\tsetupEditor,\n\t\t\tupdateEditorSettings,\n\t\t\tsetCurrentTemplateId,\n\t\t\tsetEditedPost,\n\t\t\tsetRenderingMode,\n\t\t} = unlock( useDispatch( editorStore ) );\n\t\tconst { createWarningNotice } = useDispatch( noticesStore );\n\n\t\t// Ideally this should be synced on each change and not just something you do once.\n\t\tuseLayoutEffect( () => {\n\t\t\t// Assume that we don't need to initialize in the case of an error recovery.\n\t\t\tif ( recovery ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tupdatePostLock( settings.postLock );\n\t\t\tsetupEditor( post, initialEdits, settings.template );\n\t\t\tif ( settings.autosave ) {\n\t\t\t\tcreateWarningNotice(\n\t\t\t\t\t__(\n\t\t\t\t\t\t'There is an autosave of this post that is more recent than the version below.'\n\t\t\t\t\t),\n\t\t\t\t\t{\n\t\t\t\t\t\tid: 'autosave-exists',\n\t\t\t\t\t\tactions: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tlabel: __( 'View the autosave' ),\n\t\t\t\t\t\t\t\turl: settings.autosave.editLink,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t],\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t}\n\t\t}, [\n\t\t\tcreateWarningNotice,\n\t\t\tinitialEdits,\n\t\t\tsettings,\n\t\t\tpost,\n\t\t\trecovery,\n\t\t\tsetupEditor,\n\t\t\tupdatePostLock,\n\t\t] );\n\n\t\t// Synchronizes the active post with the state\n\t\tuseEffect( () => {\n\t\t\tsetEditedPost( post.type, post.id );\n\t\t}, [ post.type, post.id, setEditedPost ] );\n\n\t\t// Synchronize the editor settings as they change.\n\t\tuseEffect( () => {\n\t\t\tupdateEditorSettings( settings );\n\t\t}, [ settings, updateEditorSettings ] );\n\n\t\t// Synchronizes the active template with the state.\n\t\tuseEffect( () => {\n\t\t\tsetCurrentTemplateId( template?.id );\n\t\t}, [ template?.id, setCurrentTemplateId ] );\n\n\t\t// Sets the right rendering mode when loading the editor.\n\t\tuseEffect( () => {\n\t\t\tsetRenderingMode( defaultMode );\n\t\t}, [ defaultMode, setRenderingMode ] );\n\n\t\tuseHideBlocksFromInserter( post.type, mode );\n\n\t\t// Register the editor commands.\n\t\tuseCommands();\n\n\t\tif ( ! isReady || ! mode || ! hasLoadedPostObject ) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn (\n\t\t\t<EntityProvider kind=\"root\" type=\"site\">\n\t\t\t\t<EntityProvider\n\t\t\t\t\tkind=\"postType\"\n\t\t\t\t\ttype={ post.type }\n\t\t\t\t\tid={ post.id }\n\t\t\t\t>\n\t\t\t\t\t<BlockContextProvider value={ defaultBlockContext }>\n\t\t\t\t\t\t<BlockEditorProviderComponent\n\t\t\t\t\t\t\tvalue={ blocks }\n\t\t\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\t\t\tonInput={ onInput }\n\t\t\t\t\t\t\tselection={ selection }\n\t\t\t\t\t\t\tsettings={ blockEditorSettings }\n\t\t\t\t\t\t\tuseSubRegistry={ false }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ children }\n\t\t\t\t\t\t\t{ ! settings.isPreviewMode && (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t{ ! isZoomOut && (\n\t\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t\t<PatternsMenuItems />\n\t\t\t\t\t\t\t\t\t\t\t<TemplatePartMenuItems />\n\t\t\t\t\t\t\t\t\t\t\t<ContentOnlySettingsMenu />\n\t\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t{ mode === 'template-locked' && (\n\t\t\t\t\t\t\t\t\t\t<DisableNonPageContentBlocks />\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t{ type === 'wp_navigation' && (\n\t\t\t\t\t\t\t\t\t\t<NavigationBlockEditingMode />\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t<EditorKeyboardShortcuts />\n\t\t\t\t\t\t\t\t\t<KeyboardShortcutHelpModal />\n\t\t\t\t\t\t\t\t\t<BlockRemovalWarnings />\n\t\t\t\t\t\t\t\t\t<StartPageOptions />\n\t\t\t\t\t\t\t\t\t<StartTemplateOptions />\n\t\t\t\t\t\t\t\t\t<PatternRenameModal />\n\t\t\t\t\t\t\t\t\t<PatternDuplicateModal />\n\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</BlockEditorProviderComponent>\n\t\t\t\t\t</BlockContextProvider>\n\t\t\t\t</EntityProvider>\n\t\t\t</EntityProvider>\n\t\t);\n\t}\n);\n\n/**\n * This component establishes a new post editing context, and serves as the entry point for a new post editor (or post with template editor).\n *\n * It supports a large number of post types, including post, page, templates,\n * custom post types, patterns, template parts.\n *\n * All modification and changes are performed to the `@wordpress/core-data` store.\n *\n * @param {Object} props The component props.\n * @param {Object} [props.post] The post object to edit. This is required.\n * @param {Object} [props.__unstableTemplate] The template object wrapper the edited post.\n * This is optional and can only be used when the post type supports templates (like posts and pages).\n * @param {Object} [props.settings] The settings object to use for the editor.\n * This is optional and can be used to override the default settings.\n * @param {Element} [props.children] Children elements for which the BlockEditorProvider context should apply.\n * This is optional.\n *\n * @example\n * ```jsx\n * <EditorProvider\n * post={ post }\n * settings={ settings }\n * __unstableTemplate={ template }\n * >\n * { children }\n * </EditorProvider>\n * ```\n *\n * @return {React.ReactNode} The rendered EditorProvider component.\n */\nexport function EditorProvider( props ) {\n\treturn (\n\t\t<ExperimentalEditorProvider\n\t\t\t{ ...props }\n\t\t\tBlockEditorProviderComponent={ BlockEditorProvider }\n\t\t>\n\t\t\t{ props.children }\n\t\t</ExperimentalEditorProvider>\n\t);\n}\n\nexport default EditorProvider;\n"],"mappings":"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","ignoreList":[]}
|