@wordpress/editor 13.12.4 → 13.14.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (25) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/build/components/media-categories/index.js +1 -22
  3. package/build/components/media-categories/index.js.map +1 -1
  4. package/build/components/post-publish-panel/index.js +2 -1
  5. package/build/components/post-publish-panel/index.js.map +1 -1
  6. package/build/components/post-switch-to-draft-button/index.js +3 -5
  7. package/build/components/post-switch-to-draft-button/index.js.map +1 -1
  8. package/build/components/post-sync-status/index.js +2 -3
  9. package/build/components/post-sync-status/index.js.map +1 -1
  10. package/build-module/components/media-categories/index.js +1 -22
  11. package/build-module/components/media-categories/index.js.map +1 -1
  12. package/build-module/components/post-publish-panel/index.js +2 -1
  13. package/build-module/components/post-publish-panel/index.js.map +1 -1
  14. package/build-module/components/post-switch-to-draft-button/index.js +5 -7
  15. package/build-module/components/post-switch-to-draft-button/index.js.map +1 -1
  16. package/build-module/components/post-sync-status/index.js +2 -3
  17. package/build-module/components/post-sync-status/index.js.map +1 -1
  18. package/build-style/style-rtl.css +2 -2
  19. package/build-style/style.css +2 -2
  20. package/package.json +30 -30
  21. package/src/components/media-categories/index.js +1 -21
  22. package/src/components/post-publish-panel/index.js +2 -1
  23. package/src/components/post-switch-to-draft-button/index.js +3 -4
  24. package/src/components/post-sync-status/index.js +3 -3
  25. package/src/components/post-trash/style.scss +2 -2
package/CHANGELOG.md CHANGED
@@ -2,6 +2,10 @@
2
2
 
3
3
  ## Unreleased
4
4
 
5
+ ## 13.14.0 (2023-07-05)
6
+
7
+ ## 13.13.0 (2023-06-23)
8
+
5
9
  ## 13.12.0 (2023-06-07)
6
10
 
7
11
  ## 13.11.0 (2023-05-24)
@@ -33,28 +33,7 @@ var _coreData = require("@wordpress/core-data");
33
33
 
34
34
  /** @typedef {import('@wordpress/block-editor').InserterMediaItem} InserterMediaItem */
35
35
 
36
- /**
37
- * Interface for inserter media category labels.
38
- *
39
- * @typedef {Object} InserterMediaCategoryLabels
40
- * @property {string} name General name of the media category. It's used in the inserter media items list.
41
- * @property {string} [search_items='Search'] Label for searching items. Default is ‘Search Posts’ / ‘Search Pages’.
42
- */
43
-
44
- /**
45
- * Interface for inserter media category.
46
- *
47
- * @typedef {Object} InserterMediaCategory
48
- * @property {string} name The name of the media category, that should be unique among all media categories.
49
- * @property {InserterMediaCategoryLabels} labels Labels for the media category.
50
- * @property {('image'|'audio'|'video')} mediaType The media type of the media category.
51
- * @property {(InserterMediaRequest) => Promise<InserterMediaItem[]>} fetch The function to fetch media items for the category.
52
- * @property {(InserterMediaItem) => string} [getReportUrl] If the media category supports reporting media items, this function should return
53
- * the report url for the media item. It accepts the `InserterMediaItem` as an argument.
54
- * @property {boolean} [isExternalResource] If the media category is an external resource, this should be set to true.
55
- * This is used to avoid making a request to the external resource when the user
56
- * opens the inserter for the first time.
57
- */
36
+ /** @typedef {import('@wordpress/block-editor').InserterMediaCategory} InserterMediaCategory */
58
37
  const getExternalLink = (url, text) => `<a ${getExternalLinkAttributes(url)}>${text}</a>`;
59
38
 
60
39
  const getExternalLinkAttributes = url => `href="${url}" target="_blank" rel="noreferrer noopener"`;
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/editor/src/components/media-categories/index.js"],"names":["getExternalLink","url","text","getExternalLinkAttributes","getOpenverseLicense","license","licenseVersion","licenseName","trim","toUpperCase","replace","includes","getOpenverseCaption","item","title","foreign_landing_url","foreignLandingUrl","creator","creator_url","creatorUrl","license_version","license_url","licenseUrl","fullLicense","_creator","_caption","coreMediaFetch","query","mediaItems","coreStore","getMediaItems","orderBy","search","map","mediaItem","alt","alt_text","source_url","previewUrl","media_details","sizes","medium","caption","raw","inserterMediaCategories","name","labels","search_items","mediaType","fetch","media_type","defaultArgs","mature","excluded_source","finalQuery","mapFromInserterMediaRequest","per_page","URL","Object","entries","forEach","key","value","queryKey","searchParams","set","response","window","headers","jsonResponse","json","results","result","toLowerCase","startsWith","slice","sourceId","id","undefined","thumbnail","getReportUrl","isExternalResource"],"mappings":"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","sourcesContent":["/**\n * The `editor` settings here need to be in sync with the corresponding ones in `editor` package.\n * See `packages/editor/src/components/media-categories/index.js`.\n *\n * In the future we could consider creating an Openvese package that can be used in both `editor` and `site-editor`.\n * The rest of the settings would still need to be in sync though.\n */\n\n/**\n * WordPress dependencies\n */\nimport { __, sprintf, _x } from '@wordpress/i18n';\nimport { resolveSelect } from '@wordpress/data';\nimport { decodeEntities } from '@wordpress/html-entities';\n\n/**\n * Internal dependencies\n */\nimport { store as coreStore } from '@wordpress/core-data';\n\n/** @typedef {import('@wordpress/block-editor').InserterMediaRequest} InserterMediaRequest */\n/** @typedef {import('@wordpress/block-editor').InserterMediaItem} InserterMediaItem */\n/**\n * Interface for inserter media category labels.\n *\n * @typedef {Object} InserterMediaCategoryLabels\n * @property {string} name General name of the media category. It's used in the inserter media items list.\n * @property {string} [search_items='Search'] Label for searching items. Default is ‘Search Posts’ / ‘Search Pages’.\n */\n/**\n * Interface for inserter media category.\n *\n * @typedef {Object} InserterMediaCategory\n * @property {string} name The name of the media category, that should be unique among all media categories.\n * @property {InserterMediaCategoryLabels} labels Labels for the media category.\n * @property {('image'|'audio'|'video')} mediaType The media type of the media category.\n * @property {(InserterMediaRequest) => Promise<InserterMediaItem[]>} fetch The function to fetch media items for the category.\n * @property {(InserterMediaItem) => string} [getReportUrl] If the media category supports reporting media items, this function should return\n * the report url for the media item. It accepts the `InserterMediaItem` as an argument.\n * @property {boolean} [isExternalResource] If the media category is an external resource, this should be set to true.\n * This is used to avoid making a request to the external resource when the user\n * opens the inserter for the first time.\n */\n\nconst getExternalLink = ( url, text ) =>\n\t`<a ${ getExternalLinkAttributes( url ) }>${ text }</a>`;\n\nconst getExternalLinkAttributes = ( url ) =>\n\t`href=\"${ url }\" target=\"_blank\" rel=\"noreferrer noopener\"`;\n\nconst getOpenverseLicense = ( license, licenseVersion ) => {\n\tlet licenseName = license.trim();\n\t// PDM has no abbreviation\n\tif ( license !== 'pdm' ) {\n\t\tlicenseName = license.toUpperCase().replace( 'SAMPLING', 'Sampling' );\n\t}\n\t// If version is known, append version to the name.\n\t// The license has to have a version to be valid. Only\n\t// PDM (public domain mark) doesn't have a version.\n\tif ( licenseVersion ) {\n\t\tlicenseName += ` ${ licenseVersion }`;\n\t}\n\t// For licenses other than public-domain marks, prepend 'CC' to the name.\n\tif ( ! [ 'pdm', 'cc0' ].includes( license ) ) {\n\t\tlicenseName = `CC ${ licenseName }`;\n\t}\n\treturn licenseName;\n};\n\nconst getOpenverseCaption = ( item ) => {\n\tconst {\n\t\ttitle,\n\t\tforeign_landing_url: foreignLandingUrl,\n\t\tcreator,\n\t\tcreator_url: creatorUrl,\n\t\tlicense,\n\t\tlicense_version: licenseVersion,\n\t\tlicense_url: licenseUrl,\n\t} = item;\n\tconst fullLicense = getOpenverseLicense( license, licenseVersion );\n\tconst _creator = decodeEntities( creator );\n\tlet _caption;\n\tif ( _creator ) {\n\t\t_caption = title\n\t\t\t? sprintf(\n\t\t\t\t\t// translators: %1s: Title of a media work from Openverse; %2s: Name of the work's creator; %3s: Work's licence e.g: \"CC0 1.0\".\n\t\t\t\t\t_x( '\"%1$s\" by %2$s/ %3$s', 'caption' ),\n\t\t\t\t\tgetExternalLink(\n\t\t\t\t\t\tforeignLandingUrl,\n\t\t\t\t\t\tdecodeEntities( title )\n\t\t\t\t\t),\n\t\t\t\t\tcreatorUrl\n\t\t\t\t\t\t? getExternalLink( creatorUrl, _creator )\n\t\t\t\t\t\t: _creator,\n\t\t\t\t\tlicenseUrl\n\t\t\t\t\t\t? getExternalLink(\n\t\t\t\t\t\t\t\t`${ licenseUrl }?ref=openverse`,\n\t\t\t\t\t\t\t\tfullLicense\n\t\t\t\t\t\t )\n\t\t\t\t\t\t: fullLicense\n\t\t\t )\n\t\t\t: sprintf(\n\t\t\t\t\t// translators: %1s: Link attributes for a given Openverse media work; %2s: Name of the work's creator; %3s: Works's licence e.g: \"CC0 1.0\".\n\t\t\t\t\t_x( '<a %1$s>Work</a> by %2$s/ %3$s', 'caption' ),\n\t\t\t\t\tgetExternalLinkAttributes( foreignLandingUrl ),\n\t\t\t\t\tcreatorUrl\n\t\t\t\t\t\t? getExternalLink( creatorUrl, _creator )\n\t\t\t\t\t\t: _creator,\n\t\t\t\t\tlicenseUrl\n\t\t\t\t\t\t? getExternalLink(\n\t\t\t\t\t\t\t\t`${ licenseUrl }?ref=openverse`,\n\t\t\t\t\t\t\t\tfullLicense\n\t\t\t\t\t\t )\n\t\t\t\t\t\t: fullLicense\n\t\t\t );\n\t} else {\n\t\t_caption = title\n\t\t\t? sprintf(\n\t\t\t\t\t// translators: %1s: Title of a media work from Openverse; %2s: Work's licence e.g: \"CC0 1.0\".\n\t\t\t\t\t_x( '\"%1$s\"/ %2$s', 'caption' ),\n\t\t\t\t\tgetExternalLink(\n\t\t\t\t\t\tforeignLandingUrl,\n\t\t\t\t\t\tdecodeEntities( title )\n\t\t\t\t\t),\n\t\t\t\t\tlicenseUrl\n\t\t\t\t\t\t? getExternalLink(\n\t\t\t\t\t\t\t\t`${ licenseUrl }?ref=openverse`,\n\t\t\t\t\t\t\t\tfullLicense\n\t\t\t\t\t\t )\n\t\t\t\t\t\t: fullLicense\n\t\t\t )\n\t\t\t: sprintf(\n\t\t\t\t\t// translators: %1s: Link attributes for a given Openverse media work; %2s: Works's licence e.g: \"CC0 1.0\".\n\t\t\t\t\t_x( '<a %1$s>Work</a>/ %2$s', 'caption' ),\n\t\t\t\t\tgetExternalLinkAttributes( foreignLandingUrl ),\n\t\t\t\t\tlicenseUrl\n\t\t\t\t\t\t? getExternalLink(\n\t\t\t\t\t\t\t\t`${ licenseUrl }?ref=openverse`,\n\t\t\t\t\t\t\t\tfullLicense\n\t\t\t\t\t\t )\n\t\t\t\t\t\t: fullLicense\n\t\t\t );\n\t}\n\treturn _caption.replace( /\\s{2}/g, ' ' );\n};\n\nconst coreMediaFetch = async ( query = {} ) => {\n\tconst mediaItems = await resolveSelect( coreStore ).getMediaItems( {\n\t\t...query,\n\t\torderBy: !! query?.search ? 'relevance' : 'date',\n\t} );\n\treturn mediaItems.map( ( mediaItem ) => ( {\n\t\t...mediaItem,\n\t\talt: mediaItem.alt_text,\n\t\turl: mediaItem.source_url,\n\t\tpreviewUrl: mediaItem.media_details?.sizes?.medium?.source_url,\n\t\tcaption: mediaItem.caption?.raw,\n\t} ) );\n};\n\n/** @type {InserterMediaCategory[]} */\nconst inserterMediaCategories = [\n\t{\n\t\tname: 'images',\n\t\tlabels: {\n\t\t\tname: __( 'Images' ),\n\t\t\tsearch_items: __( 'Search images' ),\n\t\t},\n\t\tmediaType: 'image',\n\t\tasync fetch( query = {} ) {\n\t\t\treturn coreMediaFetch( { ...query, media_type: 'image' } );\n\t\t},\n\t},\n\t{\n\t\tname: 'videos',\n\t\tlabels: {\n\t\t\tname: __( 'Videos' ),\n\t\t\tsearch_items: __( 'Search videos' ),\n\t\t},\n\t\tmediaType: 'video',\n\t\tasync fetch( query = {} ) {\n\t\t\treturn coreMediaFetch( { ...query, media_type: 'video' } );\n\t\t},\n\t},\n\t{\n\t\tname: 'audio',\n\t\tlabels: {\n\t\t\tname: __( 'Audio' ),\n\t\t\tsearch_items: __( 'Search audio' ),\n\t\t},\n\t\tmediaType: 'audio',\n\t\tasync fetch( query = {} ) {\n\t\t\treturn coreMediaFetch( { ...query, media_type: 'audio' } );\n\t\t},\n\t},\n\t{\n\t\tname: 'openverse',\n\t\tlabels: {\n\t\t\tname: __( 'Openverse' ),\n\t\t\tsearch_items: __( 'Search Openverse' ),\n\t\t},\n\t\tmediaType: 'image',\n\t\tasync fetch( query = {} ) {\n\t\t\tconst defaultArgs = {\n\t\t\t\tmature: false,\n\t\t\t\texcluded_source: 'flickr,inaturalist,wikimedia',\n\t\t\t\tlicense: 'pdm,cc0',\n\t\t\t};\n\t\t\tconst finalQuery = { ...query, ...defaultArgs };\n\t\t\tconst mapFromInserterMediaRequest = {\n\t\t\t\tper_page: 'page_size',\n\t\t\t\tsearch: 'q',\n\t\t\t};\n\t\t\tconst url = new URL(\n\t\t\t\t'https://api.openverse.engineering/v1/images/'\n\t\t\t);\n\t\t\tObject.entries( finalQuery ).forEach( ( [ key, value ] ) => {\n\t\t\t\tconst queryKey = mapFromInserterMediaRequest[ key ] || key;\n\t\t\t\turl.searchParams.set( queryKey, value );\n\t\t\t} );\n\t\t\tconst response = await window.fetch( url, {\n\t\t\t\theaders: {\n\t\t\t\t\t'User-Agent': 'WordPress/inserter-media-fetch',\n\t\t\t\t},\n\t\t\t} );\n\t\t\tconst jsonResponse = await response.json();\n\t\t\tconst results = jsonResponse.results;\n\t\t\treturn results.map( ( result ) => ( {\n\t\t\t\t...result,\n\t\t\t\t// This is a temp solution for better titles, until Openverse API\n\t\t\t\t// completes the cleaning up of some titles of their upstream data.\n\t\t\t\ttitle: result.title?.toLowerCase().startsWith( 'file:' )\n\t\t\t\t\t? result.title.slice( 5 )\n\t\t\t\t\t: result.title,\n\t\t\t\tsourceId: result.id,\n\t\t\t\tid: undefined,\n\t\t\t\tcaption: getOpenverseCaption( result ),\n\t\t\t\tpreviewUrl: result.thumbnail,\n\t\t\t} ) );\n\t\t},\n\t\tgetReportUrl: ( { sourceId } ) =>\n\t\t\t`https://wordpress.org/openverse/image/${ sourceId }/report/`,\n\t\tisExternalResource: true,\n\t},\n];\n\nexport default inserterMediaCategories;\n"]}
1
+ {"version":3,"sources":["@wordpress/editor/src/components/media-categories/index.js"],"names":["getExternalLink","url","text","getExternalLinkAttributes","getOpenverseLicense","license","licenseVersion","licenseName","trim","toUpperCase","replace","includes","getOpenverseCaption","item","title","foreign_landing_url","foreignLandingUrl","creator","creator_url","creatorUrl","license_version","license_url","licenseUrl","fullLicense","_creator","_caption","coreMediaFetch","query","mediaItems","coreStore","getMediaItems","orderBy","search","map","mediaItem","alt","alt_text","source_url","previewUrl","media_details","sizes","medium","caption","raw","inserterMediaCategories","name","labels","search_items","mediaType","fetch","media_type","defaultArgs","mature","excluded_source","finalQuery","mapFromInserterMediaRequest","per_page","URL","Object","entries","forEach","key","value","queryKey","searchParams","set","response","window","headers","jsonResponse","json","results","result","toLowerCase","startsWith","slice","sourceId","id","undefined","thumbnail","getReportUrl","isExternalResource"],"mappings":";;;;;;;AAWA;;AACA;;AACA;;AAKA;;AAlBA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAKA;AACA;AACA;;AAGA;;AACA;;AACA;AAEA,MAAMA,eAAe,GAAG,CAAEC,GAAF,EAAOC,IAAP,KACtB,MAAMC,yBAAyB,CAAEF,GAAF,CAAS,IAAIC,IAAM,MADpD;;AAGA,MAAMC,yBAAyB,GAAKF,GAAF,IAChC,SAASA,GAAK,6CADhB;;AAGA,MAAMG,mBAAmB,GAAG,CAAEC,OAAF,EAAWC,cAAX,KAA+B;AAC1D,MAAIC,WAAW,GAAGF,OAAO,CAACG,IAAR,EAAlB,CAD0D,CAE1D;;AACA,MAAKH,OAAO,KAAK,KAAjB,EAAyB;AACxBE,IAAAA,WAAW,GAAGF,OAAO,CAACI,WAAR,GAAsBC,OAAtB,CAA+B,UAA/B,EAA2C,UAA3C,CAAd;AACA,GALyD,CAM1D;AACA;AACA;;;AACA,MAAKJ,cAAL,EAAsB;AACrBC,IAAAA,WAAW,IAAK,IAAID,cAAgB,EAApC;AACA,GAXyD,CAY1D;;;AACA,MAAK,CAAE,CAAE,KAAF,EAAS,KAAT,EAAiBK,QAAjB,CAA2BN,OAA3B,CAAP,EAA8C;AAC7CE,IAAAA,WAAW,GAAI,MAAMA,WAAa,EAAlC;AACA;;AACD,SAAOA,WAAP;AACA,CAjBD;;AAmBA,MAAMK,mBAAmB,GAAKC,IAAF,IAAY;AACvC,QAAM;AACLC,IAAAA,KADK;AAELC,IAAAA,mBAAmB,EAAEC,iBAFhB;AAGLC,IAAAA,OAHK;AAILC,IAAAA,WAAW,EAAEC,UAJR;AAKLd,IAAAA,OALK;AAMLe,IAAAA,eAAe,EAAEd,cANZ;AAOLe,IAAAA,WAAW,EAAEC;AAPR,MAQFT,IARJ;AASA,QAAMU,WAAW,GAAGnB,mBAAmB,CAAEC,OAAF,EAAWC,cAAX,CAAvC;;AACA,QAAMkB,QAAQ,GAAG,kCAAgBP,OAAhB,CAAjB;;AACA,MAAIQ,QAAJ;;AACA,MAAKD,QAAL,EAAgB;AACfC,IAAAA,QAAQ,GAAGX,KAAK,GACb,oBACA;AACA,kBAAI,sBAAJ,EAA4B,SAA5B,CAFA,EAGAd,eAAe,CACdgB,iBADc,EAEd,kCAAgBF,KAAhB,CAFc,CAHf,EAOAK,UAAU,GACPnB,eAAe,CAAEmB,UAAF,EAAcK,QAAd,CADR,GAEPA,QATH,EAUAF,UAAU,GACPtB,eAAe,CACd,GAAGsB,UAAY,gBADD,EAEfC,WAFe,CADR,GAKPA,WAfH,CADa,GAkBb,oBACA;AACA,kBAAI,gCAAJ,EAAsC,SAAtC,CAFA,EAGApB,yBAAyB,CAAEa,iBAAF,CAHzB,EAIAG,UAAU,GACPnB,eAAe,CAAEmB,UAAF,EAAcK,QAAd,CADR,GAEPA,QANH,EAOAF,UAAU,GACPtB,eAAe,CACd,GAAGsB,UAAY,gBADD,EAEfC,WAFe,CADR,GAKPA,WAZH,CAlBH;AAgCA,GAjCD,MAiCO;AACNE,IAAAA,QAAQ,GAAGX,KAAK,GACb,oBACA;AACA,kBAAI,cAAJ,EAAoB,SAApB,CAFA,EAGAd,eAAe,CACdgB,iBADc,EAEd,kCAAgBF,KAAhB,CAFc,CAHf,EAOAQ,UAAU,GACPtB,eAAe,CACd,GAAGsB,UAAY,gBADD,EAEfC,WAFe,CADR,GAKPA,WAZH,CADa,GAeb,oBACA;AACA,kBAAI,wBAAJ,EAA8B,SAA9B,CAFA,EAGApB,yBAAyB,CAAEa,iBAAF,CAHzB,EAIAM,UAAU,GACPtB,eAAe,CACd,GAAGsB,UAAY,gBADD,EAEfC,WAFe,CADR,GAKPA,WATH,CAfH;AA0BA;;AACD,SAAOE,QAAQ,CAACf,OAAT,CAAkB,QAAlB,EAA4B,GAA5B,CAAP;AACA,CA3ED;;AA6EA,MAAMgB,cAAc,GAAG,OAAQC,KAAK,GAAG,EAAhB,KAAwB;AAC9C,QAAMC,UAAU,GAAG,MAAM,yBAAeC,eAAf,EAA2BC,aAA3B,CAA0C,EAClE,GAAGH,KAD+D;AAElEI,IAAAA,OAAO,EAAE,CAAC,CAAEJ,KAAK,EAAEK,MAAV,GAAmB,WAAnB,GAAiC;AAFwB,GAA1C,CAAzB;AAIA,SAAOJ,UAAU,CAACK,GAAX,CAAkBC,SAAF,KAAmB,EACzC,GAAGA,SADsC;AAEzCC,IAAAA,GAAG,EAAED,SAAS,CAACE,QAF0B;AAGzCnC,IAAAA,GAAG,EAAEiC,SAAS,CAACG,UAH0B;AAIzCC,IAAAA,UAAU,EAAEJ,SAAS,CAACK,aAAV,EAAyBC,KAAzB,EAAgCC,MAAhC,EAAwCJ,UAJX;AAKzCK,IAAAA,OAAO,EAAER,SAAS,CAACQ,OAAV,EAAmBC;AALa,GAAnB,CAAhB,CAAP;AAOA,CAZD;AAcA;;;AACA,MAAMC,uBAAuB,GAAG,CAC/B;AACCC,EAAAA,IAAI,EAAE,QADP;AAECC,EAAAA,MAAM,EAAE;AACPD,IAAAA,IAAI,EAAE,cAAI,QAAJ,CADC;AAEPE,IAAAA,YAAY,EAAE,cAAI,eAAJ;AAFP,GAFT;AAMCC,EAAAA,SAAS,EAAE,OANZ;;AAOC,QAAMC,KAAN,CAAatB,KAAK,GAAG,EAArB,EAA0B;AACzB,WAAOD,cAAc,CAAE,EAAE,GAAGC,KAAL;AAAYuB,MAAAA,UAAU,EAAE;AAAxB,KAAF,CAArB;AACA;;AATF,CAD+B,EAY/B;AACCL,EAAAA,IAAI,EAAE,QADP;AAECC,EAAAA,MAAM,EAAE;AACPD,IAAAA,IAAI,EAAE,cAAI,QAAJ,CADC;AAEPE,IAAAA,YAAY,EAAE,cAAI,eAAJ;AAFP,GAFT;AAMCC,EAAAA,SAAS,EAAE,OANZ;;AAOC,QAAMC,KAAN,CAAatB,KAAK,GAAG,EAArB,EAA0B;AACzB,WAAOD,cAAc,CAAE,EAAE,GAAGC,KAAL;AAAYuB,MAAAA,UAAU,EAAE;AAAxB,KAAF,CAArB;AACA;;AATF,CAZ+B,EAuB/B;AACCL,EAAAA,IAAI,EAAE,OADP;AAECC,EAAAA,MAAM,EAAE;AACPD,IAAAA,IAAI,EAAE,cAAI,OAAJ,CADC;AAEPE,IAAAA,YAAY,EAAE,cAAI,cAAJ;AAFP,GAFT;AAMCC,EAAAA,SAAS,EAAE,OANZ;;AAOC,QAAMC,KAAN,CAAatB,KAAK,GAAG,EAArB,EAA0B;AACzB,WAAOD,cAAc,CAAE,EAAE,GAAGC,KAAL;AAAYuB,MAAAA,UAAU,EAAE;AAAxB,KAAF,CAArB;AACA;;AATF,CAvB+B,EAkC/B;AACCL,EAAAA,IAAI,EAAE,WADP;AAECC,EAAAA,MAAM,EAAE;AACPD,IAAAA,IAAI,EAAE,cAAI,WAAJ,CADC;AAEPE,IAAAA,YAAY,EAAE,cAAI,kBAAJ;AAFP,GAFT;AAMCC,EAAAA,SAAS,EAAE,OANZ;;AAOC,QAAMC,KAAN,CAAatB,KAAK,GAAG,EAArB,EAA0B;AACzB,UAAMwB,WAAW,GAAG;AACnBC,MAAAA,MAAM,EAAE,KADW;AAEnBC,MAAAA,eAAe,EAAE,8BAFE;AAGnBhD,MAAAA,OAAO,EAAE;AAHU,KAApB;AAKA,UAAMiD,UAAU,GAAG,EAAE,GAAG3B,KAAL;AAAY,SAAGwB;AAAf,KAAnB;AACA,UAAMI,2BAA2B,GAAG;AACnCC,MAAAA,QAAQ,EAAE,WADyB;AAEnCxB,MAAAA,MAAM,EAAE;AAF2B,KAApC;AAIA,UAAM/B,GAAG,GAAG,IAAIwD,GAAJ,CACX,8CADW,CAAZ;AAGAC,IAAAA,MAAM,CAACC,OAAP,CAAgBL,UAAhB,EAA6BM,OAA7B,CAAsC,CAAE,CAAEC,GAAF,EAAOC,KAAP,CAAF,KAAsB;AAC3D,YAAMC,QAAQ,GAAGR,2BAA2B,CAAEM,GAAF,CAA3B,IAAsCA,GAAvD;AACA5D,MAAAA,GAAG,CAAC+D,YAAJ,CAAiBC,GAAjB,CAAsBF,QAAtB,EAAgCD,KAAhC;AACA,KAHD;AAIA,UAAMI,QAAQ,GAAG,MAAMC,MAAM,CAAClB,KAAP,CAAchD,GAAd,EAAmB;AACzCmE,MAAAA,OAAO,EAAE;AACR,sBAAc;AADN;AADgC,KAAnB,CAAvB;AAKA,UAAMC,YAAY,GAAG,MAAMH,QAAQ,CAACI,IAAT,EAA3B;AACA,UAAMC,OAAO,GAAGF,YAAY,CAACE,OAA7B;AACA,WAAOA,OAAO,CAACtC,GAAR,CAAeuC,MAAF,KAAgB,EACnC,GAAGA,MADgC;AAEnC;AACA;AACA1D,MAAAA,KAAK,EAAE0D,MAAM,CAAC1D,KAAP,EAAc2D,WAAd,GAA4BC,UAA5B,CAAwC,OAAxC,IACJF,MAAM,CAAC1D,KAAP,CAAa6D,KAAb,CAAoB,CAApB,CADI,GAEJH,MAAM,CAAC1D,KANyB;AAOnC8D,MAAAA,QAAQ,EAAEJ,MAAM,CAACK,EAPkB;AAQnCA,MAAAA,EAAE,EAAEC,SAR+B;AASnCpC,MAAAA,OAAO,EAAE9B,mBAAmB,CAAE4D,MAAF,CATO;AAUnClC,MAAAA,UAAU,EAAEkC,MAAM,CAACO;AAVgB,KAAhB,CAAb,CAAP;AAYA,GA5CF;;AA6CCC,EAAAA,YAAY,EAAE,CAAE;AAAEJ,IAAAA;AAAF,GAAF,KACZ,yCAAyCA,QAAU,UA9CtD;AA+CCK,EAAAA,kBAAkB,EAAE;AA/CrB,CAlC+B,CAAhC;eAqFerC,uB","sourcesContent":["/**\n * The `editor` settings here need to be in sync with the corresponding ones in `editor` package.\n * See `packages/editor/src/components/media-categories/index.js`.\n *\n * In the future we could consider creating an Openvese package that can be used in both `editor` and `site-editor`.\n * The rest of the settings would still need to be in sync though.\n */\n\n/**\n * WordPress dependencies\n */\nimport { __, sprintf, _x } from '@wordpress/i18n';\nimport { resolveSelect } from '@wordpress/data';\nimport { decodeEntities } from '@wordpress/html-entities';\n\n/**\n * Internal dependencies\n */\nimport { store as coreStore } from '@wordpress/core-data';\n\n/** @typedef {import('@wordpress/block-editor').InserterMediaRequest} InserterMediaRequest */\n/** @typedef {import('@wordpress/block-editor').InserterMediaItem} InserterMediaItem */\n/** @typedef {import('@wordpress/block-editor').InserterMediaCategory} InserterMediaCategory */\n\nconst getExternalLink = ( url, text ) =>\n\t`<a ${ getExternalLinkAttributes( url ) }>${ text }</a>`;\n\nconst getExternalLinkAttributes = ( url ) =>\n\t`href=\"${ url }\" target=\"_blank\" rel=\"noreferrer noopener\"`;\n\nconst getOpenverseLicense = ( license, licenseVersion ) => {\n\tlet licenseName = license.trim();\n\t// PDM has no abbreviation\n\tif ( license !== 'pdm' ) {\n\t\tlicenseName = license.toUpperCase().replace( 'SAMPLING', 'Sampling' );\n\t}\n\t// If version is known, append version to the name.\n\t// The license has to have a version to be valid. Only\n\t// PDM (public domain mark) doesn't have a version.\n\tif ( licenseVersion ) {\n\t\tlicenseName += ` ${ licenseVersion }`;\n\t}\n\t// For licenses other than public-domain marks, prepend 'CC' to the name.\n\tif ( ! [ 'pdm', 'cc0' ].includes( license ) ) {\n\t\tlicenseName = `CC ${ licenseName }`;\n\t}\n\treturn licenseName;\n};\n\nconst getOpenverseCaption = ( item ) => {\n\tconst {\n\t\ttitle,\n\t\tforeign_landing_url: foreignLandingUrl,\n\t\tcreator,\n\t\tcreator_url: creatorUrl,\n\t\tlicense,\n\t\tlicense_version: licenseVersion,\n\t\tlicense_url: licenseUrl,\n\t} = item;\n\tconst fullLicense = getOpenverseLicense( license, licenseVersion );\n\tconst _creator = decodeEntities( creator );\n\tlet _caption;\n\tif ( _creator ) {\n\t\t_caption = title\n\t\t\t? sprintf(\n\t\t\t\t\t// translators: %1s: Title of a media work from Openverse; %2s: Name of the work's creator; %3s: Work's licence e.g: \"CC0 1.0\".\n\t\t\t\t\t_x( '\"%1$s\" by %2$s/ %3$s', 'caption' ),\n\t\t\t\t\tgetExternalLink(\n\t\t\t\t\t\tforeignLandingUrl,\n\t\t\t\t\t\tdecodeEntities( title )\n\t\t\t\t\t),\n\t\t\t\t\tcreatorUrl\n\t\t\t\t\t\t? getExternalLink( creatorUrl, _creator )\n\t\t\t\t\t\t: _creator,\n\t\t\t\t\tlicenseUrl\n\t\t\t\t\t\t? getExternalLink(\n\t\t\t\t\t\t\t\t`${ licenseUrl }?ref=openverse`,\n\t\t\t\t\t\t\t\tfullLicense\n\t\t\t\t\t\t )\n\t\t\t\t\t\t: fullLicense\n\t\t\t )\n\t\t\t: sprintf(\n\t\t\t\t\t// translators: %1s: Link attributes for a given Openverse media work; %2s: Name of the work's creator; %3s: Works's licence e.g: \"CC0 1.0\".\n\t\t\t\t\t_x( '<a %1$s>Work</a> by %2$s/ %3$s', 'caption' ),\n\t\t\t\t\tgetExternalLinkAttributes( foreignLandingUrl ),\n\t\t\t\t\tcreatorUrl\n\t\t\t\t\t\t? getExternalLink( creatorUrl, _creator )\n\t\t\t\t\t\t: _creator,\n\t\t\t\t\tlicenseUrl\n\t\t\t\t\t\t? getExternalLink(\n\t\t\t\t\t\t\t\t`${ licenseUrl }?ref=openverse`,\n\t\t\t\t\t\t\t\tfullLicense\n\t\t\t\t\t\t )\n\t\t\t\t\t\t: fullLicense\n\t\t\t );\n\t} else {\n\t\t_caption = title\n\t\t\t? sprintf(\n\t\t\t\t\t// translators: %1s: Title of a media work from Openverse; %2s: Work's licence e.g: \"CC0 1.0\".\n\t\t\t\t\t_x( '\"%1$s\"/ %2$s', 'caption' ),\n\t\t\t\t\tgetExternalLink(\n\t\t\t\t\t\tforeignLandingUrl,\n\t\t\t\t\t\tdecodeEntities( title )\n\t\t\t\t\t),\n\t\t\t\t\tlicenseUrl\n\t\t\t\t\t\t? getExternalLink(\n\t\t\t\t\t\t\t\t`${ licenseUrl }?ref=openverse`,\n\t\t\t\t\t\t\t\tfullLicense\n\t\t\t\t\t\t )\n\t\t\t\t\t\t: fullLicense\n\t\t\t )\n\t\t\t: sprintf(\n\t\t\t\t\t// translators: %1s: Link attributes for a given Openverse media work; %2s: Works's licence e.g: \"CC0 1.0\".\n\t\t\t\t\t_x( '<a %1$s>Work</a>/ %2$s', 'caption' ),\n\t\t\t\t\tgetExternalLinkAttributes( foreignLandingUrl ),\n\t\t\t\t\tlicenseUrl\n\t\t\t\t\t\t? getExternalLink(\n\t\t\t\t\t\t\t\t`${ licenseUrl }?ref=openverse`,\n\t\t\t\t\t\t\t\tfullLicense\n\t\t\t\t\t\t )\n\t\t\t\t\t\t: fullLicense\n\t\t\t );\n\t}\n\treturn _caption.replace( /\\s{2}/g, ' ' );\n};\n\nconst coreMediaFetch = async ( query = {} ) => {\n\tconst mediaItems = await resolveSelect( coreStore ).getMediaItems( {\n\t\t...query,\n\t\torderBy: !! query?.search ? 'relevance' : 'date',\n\t} );\n\treturn mediaItems.map( ( mediaItem ) => ( {\n\t\t...mediaItem,\n\t\talt: mediaItem.alt_text,\n\t\turl: mediaItem.source_url,\n\t\tpreviewUrl: mediaItem.media_details?.sizes?.medium?.source_url,\n\t\tcaption: mediaItem.caption?.raw,\n\t} ) );\n};\n\n/** @type {InserterMediaCategory[]} */\nconst inserterMediaCategories = [\n\t{\n\t\tname: 'images',\n\t\tlabels: {\n\t\t\tname: __( 'Images' ),\n\t\t\tsearch_items: __( 'Search images' ),\n\t\t},\n\t\tmediaType: 'image',\n\t\tasync fetch( query = {} ) {\n\t\t\treturn coreMediaFetch( { ...query, media_type: 'image' } );\n\t\t},\n\t},\n\t{\n\t\tname: 'videos',\n\t\tlabels: {\n\t\t\tname: __( 'Videos' ),\n\t\t\tsearch_items: __( 'Search videos' ),\n\t\t},\n\t\tmediaType: 'video',\n\t\tasync fetch( query = {} ) {\n\t\t\treturn coreMediaFetch( { ...query, media_type: 'video' } );\n\t\t},\n\t},\n\t{\n\t\tname: 'audio',\n\t\tlabels: {\n\t\t\tname: __( 'Audio' ),\n\t\t\tsearch_items: __( 'Search audio' ),\n\t\t},\n\t\tmediaType: 'audio',\n\t\tasync fetch( query = {} ) {\n\t\t\treturn coreMediaFetch( { ...query, media_type: 'audio' } );\n\t\t},\n\t},\n\t{\n\t\tname: 'openverse',\n\t\tlabels: {\n\t\t\tname: __( 'Openverse' ),\n\t\t\tsearch_items: __( 'Search Openverse' ),\n\t\t},\n\t\tmediaType: 'image',\n\t\tasync fetch( query = {} ) {\n\t\t\tconst defaultArgs = {\n\t\t\t\tmature: false,\n\t\t\t\texcluded_source: 'flickr,inaturalist,wikimedia',\n\t\t\t\tlicense: 'pdm,cc0',\n\t\t\t};\n\t\t\tconst finalQuery = { ...query, ...defaultArgs };\n\t\t\tconst mapFromInserterMediaRequest = {\n\t\t\t\tper_page: 'page_size',\n\t\t\t\tsearch: 'q',\n\t\t\t};\n\t\t\tconst url = new URL(\n\t\t\t\t'https://api.openverse.engineering/v1/images/'\n\t\t\t);\n\t\t\tObject.entries( finalQuery ).forEach( ( [ key, value ] ) => {\n\t\t\t\tconst queryKey = mapFromInserterMediaRequest[ key ] || key;\n\t\t\t\turl.searchParams.set( queryKey, value );\n\t\t\t} );\n\t\t\tconst response = await window.fetch( url, {\n\t\t\t\theaders: {\n\t\t\t\t\t'User-Agent': 'WordPress/inserter-media-fetch',\n\t\t\t\t},\n\t\t\t} );\n\t\t\tconst jsonResponse = await response.json();\n\t\t\tconst results = jsonResponse.results;\n\t\t\treturn results.map( ( result ) => ( {\n\t\t\t\t...result,\n\t\t\t\t// This is a temp solution for better titles, until Openverse API\n\t\t\t\t// completes the cleaning up of some titles of their upstream data.\n\t\t\t\ttitle: result.title?.toLowerCase().startsWith( 'file:' )\n\t\t\t\t\t? result.title.slice( 5 )\n\t\t\t\t\t: result.title,\n\t\t\t\tsourceId: result.id,\n\t\t\t\tid: undefined,\n\t\t\t\tcaption: getOpenverseCaption( result ),\n\t\t\t\tpreviewUrl: result.thumbnail,\n\t\t\t} ) );\n\t\t},\n\t\tgetReportUrl: ( { sourceId } ) =>\n\t\t\t`https://wordpress.org/openverse/image/${ sourceId }/report/`,\n\t\tisExternalResource: true,\n\t},\n];\n\nexport default inserterMediaCategories;\n"]}
@@ -140,6 +140,7 @@ var _default = (0, _compose.compose)([(0, _data.withSelect)(select => {
140
140
  isCurrentPostScheduled,
141
141
  isEditedPostBeingScheduled,
142
142
  isEditedPostDirty,
143
+ isAutosavingPost,
143
144
  isSavingPost,
144
145
  isSavingNonPostEntityChanges
145
146
  } = select(_store.store);
@@ -154,7 +155,7 @@ var _default = (0, _compose.compose)([(0, _data.withSelect)(select => {
154
155
  isDirty: isEditedPostDirty(),
155
156
  isPublished: isCurrentPostPublished(),
156
157
  isPublishSidebarEnabled: isPublishSidebarEnabled(),
157
- isSaving: isSavingPost(),
158
+ isSaving: isSavingPost() && !isAutosavingPost(),
158
159
  isSavingNonPostEntityChanges: isSavingNonPostEntityChanges(),
159
160
  isScheduled: isCurrentPostScheduled()
160
161
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/editor/src/components/post-publish-panel/index.js"],"names":["PostPublishPanel","Component","constructor","arguments","onSubmit","bind","componentDidUpdate","prevProps","isPublished","props","isSaving","isDirty","onClose","hasPublishAction","isPostTypeViewable","render","forceIsDirty","forceIsSaving","isBeingScheduled","isPublishSidebarEnabled","isScheduled","isSavingNonPostEntityChanges","onTogglePublishSidebar","PostPublishExtension","PrePublishExtension","additionalProps","propsForPanel","isPublishedOrScheduled","isPrePublish","isPostPublish","closeSmall","select","getPostType","coreStore","getCurrentPost","getEditedPostAttribute","isCurrentPostPublished","isCurrentPostScheduled","isEditedPostBeingScheduled","isEditedPostDirty","isSavingPost","editorStore","postType","_links","viewable","dispatch","disablePublishSidebar","enablePublishSidebar","withFocusReturn","withConstrainedTabbing"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { Component } from '@wordpress/element';\nimport {\n\tButton,\n\tSpinner,\n\tCheckboxControl,\n\twithFocusReturn,\n\twithConstrainedTabbing,\n} from '@wordpress/components';\nimport { withSelect, withDispatch } from '@wordpress/data';\nimport { compose } from '@wordpress/compose';\nimport { closeSmall } from '@wordpress/icons';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport PostPublishButton from '../post-publish-button';\nimport PostPublishPanelPrepublish from './prepublish';\nimport PostPublishPanelPostpublish from './postpublish';\nimport { store as editorStore } from '../../store';\n\nexport class PostPublishPanel extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\t\tthis.onSubmit = this.onSubmit.bind( this );\n\t}\n\n\tcomponentDidUpdate( prevProps ) {\n\t\t// Automatically collapse the publish sidebar when a post\n\t\t// is published and the user makes an edit.\n\t\tif (\n\t\t\tprevProps.isPublished &&\n\t\t\t! this.props.isSaving &&\n\t\t\tthis.props.isDirty\n\t\t) {\n\t\t\tthis.props.onClose();\n\t\t}\n\t}\n\n\tonSubmit() {\n\t\tconst { onClose, hasPublishAction, isPostTypeViewable } = this.props;\n\t\tif ( ! hasPublishAction || ! isPostTypeViewable ) {\n\t\t\tonClose();\n\t\t}\n\t}\n\n\trender() {\n\t\tconst {\n\t\t\tforceIsDirty,\n\t\t\tforceIsSaving,\n\t\t\tisBeingScheduled,\n\t\t\tisPublished,\n\t\t\tisPublishSidebarEnabled,\n\t\t\tisScheduled,\n\t\t\tisSaving,\n\t\t\tisSavingNonPostEntityChanges,\n\t\t\tonClose,\n\t\t\tonTogglePublishSidebar,\n\t\t\tPostPublishExtension,\n\t\t\tPrePublishExtension,\n\t\t\t...additionalProps\n\t\t} = this.props;\n\t\tconst {\n\t\t\thasPublishAction,\n\t\t\tisDirty,\n\t\t\tisPostTypeViewable,\n\t\t\t...propsForPanel\n\t\t} = additionalProps;\n\t\tconst isPublishedOrScheduled =\n\t\t\tisPublished || ( isScheduled && isBeingScheduled );\n\t\tconst isPrePublish = ! isPublishedOrScheduled && ! isSaving;\n\t\tconst isPostPublish = isPublishedOrScheduled && ! isSaving;\n\t\treturn (\n\t\t\t<div className=\"editor-post-publish-panel\" { ...propsForPanel }>\n\t\t\t\t<div className=\"editor-post-publish-panel__header\">\n\t\t\t\t\t{ isPostPublish ? (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tonClick={ onClose }\n\t\t\t\t\t\t\ticon={ closeSmall }\n\t\t\t\t\t\t\tlabel={ __( 'Close panel' ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<div className=\"editor-post-publish-panel__header-publish-button\">\n\t\t\t\t\t\t\t\t<PostPublishButton\n\t\t\t\t\t\t\t\t\tfocusOnMount={ true }\n\t\t\t\t\t\t\t\t\tonSubmit={ this.onSubmit }\n\t\t\t\t\t\t\t\t\tforceIsDirty={ forceIsDirty }\n\t\t\t\t\t\t\t\t\tforceIsSaving={ forceIsSaving }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div className=\"editor-post-publish-panel__header-cancel-button\">\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\tdisabled={ isSavingNonPostEntityChanges }\n\t\t\t\t\t\t\t\t\tonClick={ onClose }\n\t\t\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</>\n\t\t\t\t\t) }\n\t\t\t\t</div>\n\t\t\t\t<div className=\"editor-post-publish-panel__content\">\n\t\t\t\t\t{ isPrePublish && (\n\t\t\t\t\t\t<PostPublishPanelPrepublish>\n\t\t\t\t\t\t\t{ PrePublishExtension && <PrePublishExtension /> }\n\t\t\t\t\t\t</PostPublishPanelPrepublish>\n\t\t\t\t\t) }\n\t\t\t\t\t{ isPostPublish && (\n\t\t\t\t\t\t<PostPublishPanelPostpublish focusOnMount={ true }>\n\t\t\t\t\t\t\t{ PostPublishExtension && <PostPublishExtension /> }\n\t\t\t\t\t\t</PostPublishPanelPostpublish>\n\t\t\t\t\t) }\n\t\t\t\t\t{ isSaving && <Spinner /> }\n\t\t\t\t</div>\n\t\t\t\t<div className=\"editor-post-publish-panel__footer\">\n\t\t\t\t\t<CheckboxControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Always show pre-publish checks.' ) }\n\t\t\t\t\t\tchecked={ isPublishSidebarEnabled }\n\t\t\t\t\t\tonChange={ onTogglePublishSidebar }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nexport default compose( [\n\twithSelect( ( select ) => {\n\t\tconst { getPostType } = select( coreStore );\n\t\tconst {\n\t\t\tgetCurrentPost,\n\t\t\tgetEditedPostAttribute,\n\t\t\tisCurrentPostPublished,\n\t\t\tisCurrentPostScheduled,\n\t\t\tisEditedPostBeingScheduled,\n\t\t\tisEditedPostDirty,\n\t\t\tisSavingPost,\n\t\t\tisSavingNonPostEntityChanges,\n\t\t} = select( editorStore );\n\t\tconst { isPublishSidebarEnabled } = select( editorStore );\n\t\tconst postType = getPostType( getEditedPostAttribute( 'type' ) );\n\n\t\treturn {\n\t\t\thasPublishAction:\n\t\t\t\tgetCurrentPost()._links?.[ 'wp:action-publish' ] ?? false,\n\t\t\tisPostTypeViewable: postType?.viewable,\n\t\t\tisBeingScheduled: isEditedPostBeingScheduled(),\n\t\t\tisDirty: isEditedPostDirty(),\n\t\t\tisPublished: isCurrentPostPublished(),\n\t\t\tisPublishSidebarEnabled: isPublishSidebarEnabled(),\n\t\t\tisSaving: isSavingPost(),\n\t\t\tisSavingNonPostEntityChanges: isSavingNonPostEntityChanges(),\n\t\t\tisScheduled: isCurrentPostScheduled(),\n\t\t};\n\t} ),\n\twithDispatch( ( dispatch, { isPublishSidebarEnabled } ) => {\n\t\tconst { disablePublishSidebar, enablePublishSidebar } =\n\t\t\tdispatch( editorStore );\n\t\treturn {\n\t\t\tonTogglePublishSidebar: () => {\n\t\t\t\tif ( isPublishSidebarEnabled ) {\n\t\t\t\t\tdisablePublishSidebar();\n\t\t\t\t} else {\n\t\t\t\t\tenablePublishSidebar();\n\t\t\t\t}\n\t\t\t},\n\t\t};\n\t} ),\n\twithFocusReturn,\n\twithConstrainedTabbing,\n] )( PostPublishPanel );\n"]}
1
+ {"version":3,"sources":["@wordpress/editor/src/components/post-publish-panel/index.js"],"names":["PostPublishPanel","Component","constructor","arguments","onSubmit","bind","componentDidUpdate","prevProps","isPublished","props","isSaving","isDirty","onClose","hasPublishAction","isPostTypeViewable","render","forceIsDirty","forceIsSaving","isBeingScheduled","isPublishSidebarEnabled","isScheduled","isSavingNonPostEntityChanges","onTogglePublishSidebar","PostPublishExtension","PrePublishExtension","additionalProps","propsForPanel","isPublishedOrScheduled","isPrePublish","isPostPublish","closeSmall","select","getPostType","coreStore","getCurrentPost","getEditedPostAttribute","isCurrentPostPublished","isCurrentPostScheduled","isEditedPostBeingScheduled","isEditedPostDirty","isAutosavingPost","isSavingPost","editorStore","postType","_links","viewable","dispatch","disablePublishSidebar","enablePublishSidebar","withFocusReturn","withConstrainedTabbing"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { Component } from '@wordpress/element';\nimport {\n\tButton,\n\tSpinner,\n\tCheckboxControl,\n\twithFocusReturn,\n\twithConstrainedTabbing,\n} from '@wordpress/components';\nimport { withSelect, withDispatch } from '@wordpress/data';\nimport { compose } from '@wordpress/compose';\nimport { closeSmall } from '@wordpress/icons';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport PostPublishButton from '../post-publish-button';\nimport PostPublishPanelPrepublish from './prepublish';\nimport PostPublishPanelPostpublish from './postpublish';\nimport { store as editorStore } from '../../store';\n\nexport class PostPublishPanel extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\t\tthis.onSubmit = this.onSubmit.bind( this );\n\t}\n\n\tcomponentDidUpdate( prevProps ) {\n\t\t// Automatically collapse the publish sidebar when a post\n\t\t// is published and the user makes an edit.\n\t\tif (\n\t\t\tprevProps.isPublished &&\n\t\t\t! this.props.isSaving &&\n\t\t\tthis.props.isDirty\n\t\t) {\n\t\t\tthis.props.onClose();\n\t\t}\n\t}\n\n\tonSubmit() {\n\t\tconst { onClose, hasPublishAction, isPostTypeViewable } = this.props;\n\t\tif ( ! hasPublishAction || ! isPostTypeViewable ) {\n\t\t\tonClose();\n\t\t}\n\t}\n\n\trender() {\n\t\tconst {\n\t\t\tforceIsDirty,\n\t\t\tforceIsSaving,\n\t\t\tisBeingScheduled,\n\t\t\tisPublished,\n\t\t\tisPublishSidebarEnabled,\n\t\t\tisScheduled,\n\t\t\tisSaving,\n\t\t\tisSavingNonPostEntityChanges,\n\t\t\tonClose,\n\t\t\tonTogglePublishSidebar,\n\t\t\tPostPublishExtension,\n\t\t\tPrePublishExtension,\n\t\t\t...additionalProps\n\t\t} = this.props;\n\t\tconst {\n\t\t\thasPublishAction,\n\t\t\tisDirty,\n\t\t\tisPostTypeViewable,\n\t\t\t...propsForPanel\n\t\t} = additionalProps;\n\t\tconst isPublishedOrScheduled =\n\t\t\tisPublished || ( isScheduled && isBeingScheduled );\n\t\tconst isPrePublish = ! isPublishedOrScheduled && ! isSaving;\n\t\tconst isPostPublish = isPublishedOrScheduled && ! isSaving;\n\t\treturn (\n\t\t\t<div className=\"editor-post-publish-panel\" { ...propsForPanel }>\n\t\t\t\t<div className=\"editor-post-publish-panel__header\">\n\t\t\t\t\t{ isPostPublish ? (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tonClick={ onClose }\n\t\t\t\t\t\t\ticon={ closeSmall }\n\t\t\t\t\t\t\tlabel={ __( 'Close panel' ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<div className=\"editor-post-publish-panel__header-publish-button\">\n\t\t\t\t\t\t\t\t<PostPublishButton\n\t\t\t\t\t\t\t\t\tfocusOnMount={ true }\n\t\t\t\t\t\t\t\t\tonSubmit={ this.onSubmit }\n\t\t\t\t\t\t\t\t\tforceIsDirty={ forceIsDirty }\n\t\t\t\t\t\t\t\t\tforceIsSaving={ forceIsSaving }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div className=\"editor-post-publish-panel__header-cancel-button\">\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\tdisabled={ isSavingNonPostEntityChanges }\n\t\t\t\t\t\t\t\t\tonClick={ onClose }\n\t\t\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</>\n\t\t\t\t\t) }\n\t\t\t\t</div>\n\t\t\t\t<div className=\"editor-post-publish-panel__content\">\n\t\t\t\t\t{ isPrePublish && (\n\t\t\t\t\t\t<PostPublishPanelPrepublish>\n\t\t\t\t\t\t\t{ PrePublishExtension && <PrePublishExtension /> }\n\t\t\t\t\t\t</PostPublishPanelPrepublish>\n\t\t\t\t\t) }\n\t\t\t\t\t{ isPostPublish && (\n\t\t\t\t\t\t<PostPublishPanelPostpublish focusOnMount={ true }>\n\t\t\t\t\t\t\t{ PostPublishExtension && <PostPublishExtension /> }\n\t\t\t\t\t\t</PostPublishPanelPostpublish>\n\t\t\t\t\t) }\n\t\t\t\t\t{ isSaving && <Spinner /> }\n\t\t\t\t</div>\n\t\t\t\t<div className=\"editor-post-publish-panel__footer\">\n\t\t\t\t\t<CheckboxControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Always show pre-publish checks.' ) }\n\t\t\t\t\t\tchecked={ isPublishSidebarEnabled }\n\t\t\t\t\t\tonChange={ onTogglePublishSidebar }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nexport default compose( [\n\twithSelect( ( select ) => {\n\t\tconst { getPostType } = select( coreStore );\n\t\tconst {\n\t\t\tgetCurrentPost,\n\t\t\tgetEditedPostAttribute,\n\t\t\tisCurrentPostPublished,\n\t\t\tisCurrentPostScheduled,\n\t\t\tisEditedPostBeingScheduled,\n\t\t\tisEditedPostDirty,\n\t\t\tisAutosavingPost,\n\t\t\tisSavingPost,\n\t\t\tisSavingNonPostEntityChanges,\n\t\t} = select( editorStore );\n\t\tconst { isPublishSidebarEnabled } = select( editorStore );\n\t\tconst postType = getPostType( getEditedPostAttribute( 'type' ) );\n\n\t\treturn {\n\t\t\thasPublishAction:\n\t\t\t\tgetCurrentPost()._links?.[ 'wp:action-publish' ] ?? false,\n\t\t\tisPostTypeViewable: postType?.viewable,\n\t\t\tisBeingScheduled: isEditedPostBeingScheduled(),\n\t\t\tisDirty: isEditedPostDirty(),\n\t\t\tisPublished: isCurrentPostPublished(),\n\t\t\tisPublishSidebarEnabled: isPublishSidebarEnabled(),\n\t\t\tisSaving: isSavingPost() && ! isAutosavingPost(),\n\t\t\tisSavingNonPostEntityChanges: isSavingNonPostEntityChanges(),\n\t\t\tisScheduled: isCurrentPostScheduled(),\n\t\t};\n\t} ),\n\twithDispatch( ( dispatch, { isPublishSidebarEnabled } ) => {\n\t\tconst { disablePublishSidebar, enablePublishSidebar } =\n\t\t\tdispatch( editorStore );\n\t\treturn {\n\t\t\tonTogglePublishSidebar: () => {\n\t\t\t\tif ( isPublishSidebarEnabled ) {\n\t\t\t\t\tdisablePublishSidebar();\n\t\t\t\t} else {\n\t\t\t\t\tenablePublishSidebar();\n\t\t\t\t}\n\t\t\t},\n\t\t};\n\t} ),\n\twithFocusReturn,\n\twithConstrainedTabbing,\n] )( PostPublishPanel );\n"]}
@@ -49,9 +49,7 @@ function PostSwitchToDraftButton({
49
49
  onClick();
50
50
  };
51
51
 
52
- return (0, _element.createElement)(_components.FlexItem, {
53
- isBlock: true
54
- }, (0, _element.createElement)(_components.Button, {
52
+ return (0, _element.createElement)(_element.Fragment, null, (0, _element.createElement)(_components.Button, {
55
53
  className: "editor-post-switch-to-draft",
56
54
  onClick: () => {
57
55
  setShowConfirmDialog(true);
@@ -59,8 +57,8 @@ function PostSwitchToDraftButton({
59
57
  disabled: isSaving,
60
58
  variant: "secondary",
61
59
  style: {
62
- width: '100%',
63
- display: 'block'
60
+ flexGrow: '1',
61
+ justifyContent: 'center'
64
62
  }
65
63
  }, (0, _i18n.__)('Switch to draft')), (0, _element.createElement)(_components.__experimentalConfirmDialog, {
66
64
  isOpen: showConfirmDialog,
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/editor/src/components/post-switch-to-draft-button/index.js"],"names":["PostSwitchToDraftButton","isSaving","isPublished","isScheduled","onClick","showConfirmDialog","setShowConfirmDialog","alertMessage","handleConfirm","width","display","select","isSavingPost","isCurrentPostPublished","isCurrentPostScheduled","editorStore","dispatch","editPost","savePost","status"],"mappings":";;;;;;;AAWA;;AARA;;AAKA;;AACA;;AACA;;AAMA;;AAhBA;AACA;AACA;;AAWA;AACA;AACA;AAGA,SAASA,uBAAT,CAAkC;AACjCC,EAAAA,QADiC;AAEjCC,EAAAA,WAFiC;AAGjCC,EAAAA,WAHiC;AAIjCC,EAAAA;AAJiC,CAAlC,EAKI;AACH,QAAM,CAAEC,iBAAF,EAAqBC,oBAArB,IAA8C,uBAAU,KAAV,CAApD;;AAEA,MAAK,CAAEJ,WAAF,IAAiB,CAAEC,WAAxB,EAAsC;AACrC,WAAO,IAAP;AACA;;AAED,MAAII,YAAJ;;AACA,MAAKL,WAAL,EAAmB;AAClBK,IAAAA,YAAY,GAAG,cAAI,+CAAJ,CAAf;AACA,GAFD,MAEO,IAAKJ,WAAL,EAAmB;AACzBI,IAAAA,YAAY,GAAG,cAAI,gDAAJ,CAAf;AACA;;AAED,QAAMC,aAAa,GAAG,MAAM;AAC3BF,IAAAA,oBAAoB,CAAE,KAAF,CAApB;AACAF,IAAAA,OAAO;AACP,GAHD;;AAKA,SACC,4BAAC,oBAAD;AAAU,IAAA,OAAO;AAAjB,KACC,4BAAC,kBAAD;AACC,IAAA,SAAS,EAAC,6BADX;AAEC,IAAA,OAAO,EAAG,MAAM;AACfE,MAAAA,oBAAoB,CAAE,IAAF,CAApB;AACA,KAJF;AAKC,IAAA,QAAQ,EAAGL,QALZ;AAMC,IAAA,OAAO,EAAC,WANT;AAOC,IAAA,KAAK,EAAG;AAAEQ,MAAAA,KAAK,EAAE,MAAT;AAAiBC,MAAAA,OAAO,EAAE;AAA1B;AAPT,KASG,cAAI,iBAAJ,CATH,CADD,EAYC,4BAAC,uCAAD;AACC,IAAA,MAAM,EAAGL,iBADV;AAEC,IAAA,SAAS,EAAGG,aAFb;AAGC,IAAA,QAAQ,EAAG,MAAMF,oBAAoB,CAAE,KAAF;AAHtC,KAKGC,YALH,CAZD,CADD;AAsBA;;eAEc,sBAAS,CACvB,sBAAcI,MAAF,IAAc;AACzB,QAAM;AAAEC,IAAAA,YAAF;AAAgBC,IAAAA,sBAAhB;AAAwCC,IAAAA;AAAxC,MACLH,MAAM,CAAEI,YAAF,CADP;AAEA,SAAO;AACNd,IAAAA,QAAQ,EAAEW,YAAY,EADhB;AAENV,IAAAA,WAAW,EAAEW,sBAAsB,EAF7B;AAGNV,IAAAA,WAAW,EAAEW,sBAAsB;AAH7B,GAAP;AAKA,CARD,CADuB,EAUvB,wBAAgBE,QAAF,IAAgB;AAC7B,QAAM;AAAEC,IAAAA,QAAF;AAAYC,IAAAA;AAAZ,MAAyBF,QAAQ,CAAED,YAAF,CAAvC;AACA,SAAO;AACNX,IAAAA,OAAO,EAAE,MAAM;AACda,MAAAA,QAAQ,CAAE;AAAEE,QAAAA,MAAM,EAAE;AAAV,OAAF,CAAR;AACAD,MAAAA,QAAQ;AACR;AAJK,GAAP;AAMA,CARD,CAVuB,CAAT,EAmBVlB,uBAnBU,C","sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tButton,\n\tFlexItem,\n\t__experimentalConfirmDialog as ConfirmDialog,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { withSelect, withDispatch } from '@wordpress/data';\nimport { compose } from '@wordpress/compose';\nimport { useState } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\n\nfunction PostSwitchToDraftButton( {\n\tisSaving,\n\tisPublished,\n\tisScheduled,\n\tonClick,\n} ) {\n\tconst [ showConfirmDialog, setShowConfirmDialog ] = useState( false );\n\n\tif ( ! isPublished && ! isScheduled ) {\n\t\treturn null;\n\t}\n\n\tlet alertMessage;\n\tif ( isPublished ) {\n\t\talertMessage = __( 'Are you sure you want to unpublish this post?' );\n\t} else if ( isScheduled ) {\n\t\talertMessage = __( 'Are you sure you want to unschedule this post?' );\n\t}\n\n\tconst handleConfirm = () => {\n\t\tsetShowConfirmDialog( false );\n\t\tonClick();\n\t};\n\n\treturn (\n\t\t<FlexItem isBlock>\n\t\t\t<Button\n\t\t\t\tclassName=\"editor-post-switch-to-draft\"\n\t\t\t\tonClick={ () => {\n\t\t\t\t\tsetShowConfirmDialog( true );\n\t\t\t\t} }\n\t\t\t\tdisabled={ isSaving }\n\t\t\t\tvariant=\"secondary\"\n\t\t\t\tstyle={ { width: '100%', display: 'block' } }\n\t\t\t>\n\t\t\t\t{ __( 'Switch to draft' ) }\n\t\t\t</Button>\n\t\t\t<ConfirmDialog\n\t\t\t\tisOpen={ showConfirmDialog }\n\t\t\t\tonConfirm={ handleConfirm }\n\t\t\t\tonCancel={ () => setShowConfirmDialog( false ) }\n\t\t\t>\n\t\t\t\t{ alertMessage }\n\t\t\t</ConfirmDialog>\n\t\t</FlexItem>\n\t);\n}\n\nexport default compose( [\n\twithSelect( ( select ) => {\n\t\tconst { isSavingPost, isCurrentPostPublished, isCurrentPostScheduled } =\n\t\t\tselect( editorStore );\n\t\treturn {\n\t\t\tisSaving: isSavingPost(),\n\t\t\tisPublished: isCurrentPostPublished(),\n\t\t\tisScheduled: isCurrentPostScheduled(),\n\t\t};\n\t} ),\n\twithDispatch( ( dispatch ) => {\n\t\tconst { editPost, savePost } = dispatch( editorStore );\n\t\treturn {\n\t\t\tonClick: () => {\n\t\t\t\teditPost( { status: 'draft' } );\n\t\t\t\tsavePost();\n\t\t\t},\n\t\t};\n\t} ),\n] )( PostSwitchToDraftButton );\n"]}
1
+ {"version":3,"sources":["@wordpress/editor/src/components/post-switch-to-draft-button/index.js"],"names":["PostSwitchToDraftButton","isSaving","isPublished","isScheduled","onClick","showConfirmDialog","setShowConfirmDialog","alertMessage","handleConfirm","flexGrow","justifyContent","select","isSavingPost","isCurrentPostPublished","isCurrentPostScheduled","editorStore","dispatch","editPost","savePost","status"],"mappings":";;;;;;;AAUA;;AAPA;;AAIA;;AACA;;AACA;;AAMA;;AAfA;AACA;AACA;;AAUA;AACA;AACA;AAGA,SAASA,uBAAT,CAAkC;AACjCC,EAAAA,QADiC;AAEjCC,EAAAA,WAFiC;AAGjCC,EAAAA,WAHiC;AAIjCC,EAAAA;AAJiC,CAAlC,EAKI;AACH,QAAM,CAAEC,iBAAF,EAAqBC,oBAArB,IAA8C,uBAAU,KAAV,CAApD;;AAEA,MAAK,CAAEJ,WAAF,IAAiB,CAAEC,WAAxB,EAAsC;AACrC,WAAO,IAAP;AACA;;AAED,MAAII,YAAJ;;AACA,MAAKL,WAAL,EAAmB;AAClBK,IAAAA,YAAY,GAAG,cAAI,+CAAJ,CAAf;AACA,GAFD,MAEO,IAAKJ,WAAL,EAAmB;AACzBI,IAAAA,YAAY,GAAG,cAAI,gDAAJ,CAAf;AACA;;AAED,QAAMC,aAAa,GAAG,MAAM;AAC3BF,IAAAA,oBAAoB,CAAE,KAAF,CAApB;AACAF,IAAAA,OAAO;AACP,GAHD;;AAKA,SACC,qDACC,4BAAC,kBAAD;AACC,IAAA,SAAS,EAAC,6BADX;AAEC,IAAA,OAAO,EAAG,MAAM;AACfE,MAAAA,oBAAoB,CAAE,IAAF,CAApB;AACA,KAJF;AAKC,IAAA,QAAQ,EAAGL,QALZ;AAMC,IAAA,OAAO,EAAC,WANT;AAOC,IAAA,KAAK,EAAG;AAAEQ,MAAAA,QAAQ,EAAE,GAAZ;AAAiBC,MAAAA,cAAc,EAAE;AAAjC;AAPT,KASG,cAAI,iBAAJ,CATH,CADD,EAYC,4BAAC,uCAAD;AACC,IAAA,MAAM,EAAGL,iBADV;AAEC,IAAA,SAAS,EAAGG,aAFb;AAGC,IAAA,QAAQ,EAAG,MAAMF,oBAAoB,CAAE,KAAF;AAHtC,KAKGC,YALH,CAZD,CADD;AAsBA;;eAEc,sBAAS,CACvB,sBAAcI,MAAF,IAAc;AACzB,QAAM;AAAEC,IAAAA,YAAF;AAAgBC,IAAAA,sBAAhB;AAAwCC,IAAAA;AAAxC,MACLH,MAAM,CAAEI,YAAF,CADP;AAEA,SAAO;AACNd,IAAAA,QAAQ,EAAEW,YAAY,EADhB;AAENV,IAAAA,WAAW,EAAEW,sBAAsB,EAF7B;AAGNV,IAAAA,WAAW,EAAEW,sBAAsB;AAH7B,GAAP;AAKA,CARD,CADuB,EAUvB,wBAAgBE,QAAF,IAAgB;AAC7B,QAAM;AAAEC,IAAAA,QAAF;AAAYC,IAAAA;AAAZ,MAAyBF,QAAQ,CAAED,YAAF,CAAvC;AACA,SAAO;AACNX,IAAAA,OAAO,EAAE,MAAM;AACda,MAAAA,QAAQ,CAAE;AAAEE,QAAAA,MAAM,EAAE;AAAV,OAAF,CAAR;AACAD,MAAAA,QAAQ;AACR;AAJK,GAAP;AAMA,CARD,CAVuB,CAAT,EAmBVlB,uBAnBU,C","sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tButton,\n\t__experimentalConfirmDialog as ConfirmDialog,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { withSelect, withDispatch } from '@wordpress/data';\nimport { compose } from '@wordpress/compose';\nimport { useState } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\n\nfunction PostSwitchToDraftButton( {\n\tisSaving,\n\tisPublished,\n\tisScheduled,\n\tonClick,\n} ) {\n\tconst [ showConfirmDialog, setShowConfirmDialog ] = useState( false );\n\n\tif ( ! isPublished && ! isScheduled ) {\n\t\treturn null;\n\t}\n\n\tlet alertMessage;\n\tif ( isPublished ) {\n\t\talertMessage = __( 'Are you sure you want to unpublish this post?' );\n\t} else if ( isScheduled ) {\n\t\talertMessage = __( 'Are you sure you want to unschedule this post?' );\n\t}\n\n\tconst handleConfirm = () => {\n\t\tsetShowConfirmDialog( false );\n\t\tonClick();\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t<Button\n\t\t\t\tclassName=\"editor-post-switch-to-draft\"\n\t\t\t\tonClick={ () => {\n\t\t\t\t\tsetShowConfirmDialog( true );\n\t\t\t\t} }\n\t\t\t\tdisabled={ isSaving }\n\t\t\t\tvariant=\"secondary\"\n\t\t\t\tstyle={ { flexGrow: '1', justifyContent: 'center' } }\n\t\t\t>\n\t\t\t\t{ __( 'Switch to draft' ) }\n\t\t\t</Button>\n\t\t\t<ConfirmDialog\n\t\t\t\tisOpen={ showConfirmDialog }\n\t\t\t\tonConfirm={ handleConfirm }\n\t\t\t\tonCancel={ () => setShowConfirmDialog( false ) }\n\t\t\t>\n\t\t\t\t{ alertMessage }\n\t\t\t</ConfirmDialog>\n\t\t</>\n\t);\n}\n\nexport default compose( [\n\twithSelect( ( select ) => {\n\t\tconst { isSavingPost, isCurrentPostPublished, isCurrentPostScheduled } =\n\t\t\tselect( editorStore );\n\t\treturn {\n\t\t\tisSaving: isSavingPost(),\n\t\t\tisPublished: isCurrentPostPublished(),\n\t\t\tisScheduled: isCurrentPostScheduled(),\n\t\t};\n\t} ),\n\twithDispatch( ( dispatch ) => {\n\t\tconst { editPost, savePost } = dispatch( editorStore );\n\t\treturn {\n\t\t\tonClick: () => {\n\t\t\t\teditPost( { status: 'draft' } );\n\t\t\t\tsavePost();\n\t\t\t},\n\t\t};\n\t} ),\n] )( PostSwitchToDraftButton );\n"]}
@@ -24,14 +24,14 @@ var _store = require("../../store");
24
24
  */
25
25
  function PostSyncStatus() {
26
26
  const {
27
- meta,
27
+ syncStatus,
28
28
  postType
29
29
  } = (0, _data.useSelect)(select => {
30
30
  const {
31
31
  getEditedPostAttribute
32
32
  } = select(_store.store);
33
33
  return {
34
- meta: getEditedPostAttribute('meta'),
34
+ syncStatus: getEditedPostAttribute('wp_pattern_sync_status'),
35
35
  postType: getEditedPostAttribute('type')
36
36
  };
37
37
  }, []);
@@ -40,7 +40,6 @@ function PostSyncStatus() {
40
40
  return null;
41
41
  }
42
42
 
43
- const syncStatus = meta?.sync_status;
44
43
  const isFullySynced = !syncStatus;
45
44
  return (0, _element.createElement)(_components.PanelRow, {
46
45
  className: "edit-post-sync-status"
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/editor/src/components/post-sync-status/index.js"],"names":["PostSyncStatus","meta","postType","select","getEditedPostAttribute","editorStore","syncStatus","sync_status","isFullySynced"],"mappings":";;;;;;;;;AAGA;;AACA;;AACA;;AAKA;;AAVA;AACA;AACA;;AAKA;AACA;AACA;AAGe,SAASA,cAAT,GAA0B;AACxC,QAAM;AAAEC,IAAAA,IAAF;AAAQC,IAAAA;AAAR,MAAqB,qBAAaC,MAAF,IAAc;AACnD,UAAM;AAAEC,MAAAA;AAAF,QAA6BD,MAAM,CAAEE,YAAF,CAAzC;AACA,WAAO;AACNJ,MAAAA,IAAI,EAAEG,sBAAsB,CAAE,MAAF,CADtB;AAENF,MAAAA,QAAQ,EAAEE,sBAAsB,CAAE,MAAF;AAF1B,KAAP;AAIA,GAN0B,EAMxB,EANwB,CAA3B;;AAOA,MAAKF,QAAQ,KAAK,UAAlB,EAA+B;AAC9B,WAAO,IAAP;AACA;;AACD,QAAMI,UAAU,GAAGL,IAAI,EAAEM,WAAzB;AACA,QAAMC,aAAa,GAAG,CAAEF,UAAxB;AAEA,SACC,4BAAC,oBAAD;AAAU,IAAA,SAAS,EAAC;AAApB,KACC,0CAAQ,cAAI,aAAJ,CAAR,CADD,EAEC,yCACGE,aAAa,GAAG,cAAI,cAAJ,CAAH,GAA0B,cAAI,YAAJ,CAD1C,CAFD,CADD;AAQA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { __ } from '@wordpress/i18n';\nimport { PanelRow } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\n\nexport default function PostSyncStatus() {\n\tconst { meta, postType } = useSelect( ( select ) => {\n\t\tconst { getEditedPostAttribute } = select( editorStore );\n\t\treturn {\n\t\t\tmeta: getEditedPostAttribute( 'meta' ),\n\t\t\tpostType: getEditedPostAttribute( 'type' ),\n\t\t};\n\t}, [] );\n\tif ( postType !== 'wp_block' ) {\n\t\treturn null;\n\t}\n\tconst syncStatus = meta?.sync_status;\n\tconst isFullySynced = ! syncStatus;\n\n\treturn (\n\t\t<PanelRow className=\"edit-post-sync-status\">\n\t\t\t<span>{ __( 'Sync status' ) }</span>\n\t\t\t<div>\n\t\t\t\t{ isFullySynced ? __( 'Fully synced' ) : __( 'Not synced' ) }\n\t\t\t</div>\n\t\t</PanelRow>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/editor/src/components/post-sync-status/index.js"],"names":["PostSyncStatus","syncStatus","postType","select","getEditedPostAttribute","editorStore","isFullySynced"],"mappings":";;;;;;;;;AAGA;;AACA;;AACA;;AAKA;;AAVA;AACA;AACA;;AAKA;AACA;AACA;AAGe,SAASA,cAAT,GAA0B;AACxC,QAAM;AAAEC,IAAAA,UAAF;AAAcC,IAAAA;AAAd,MAA2B,qBAAaC,MAAF,IAAc;AACzD,UAAM;AAAEC,MAAAA;AAAF,QAA6BD,MAAM,CAAEE,YAAF,CAAzC;AACA,WAAO;AACNJ,MAAAA,UAAU,EAAEG,sBAAsB,CAAE,wBAAF,CAD5B;AAENF,MAAAA,QAAQ,EAAEE,sBAAsB,CAAE,MAAF;AAF1B,KAAP;AAIA,GANgC,EAM9B,EAN8B,CAAjC;;AAOA,MAAKF,QAAQ,KAAK,UAAlB,EAA+B;AAC9B,WAAO,IAAP;AACA;;AAED,QAAMI,aAAa,GAAG,CAAEL,UAAxB;AAEA,SACC,4BAAC,oBAAD;AAAU,IAAA,SAAS,EAAC;AAApB,KACC,0CAAQ,cAAI,aAAJ,CAAR,CADD,EAEC,yCACGK,aAAa,GAAG,cAAI,cAAJ,CAAH,GAA0B,cAAI,YAAJ,CAD1C,CAFD,CADD;AAQA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { __ } from '@wordpress/i18n';\nimport { PanelRow } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\n\nexport default function PostSyncStatus() {\n\tconst { syncStatus, postType } = useSelect( ( select ) => {\n\t\tconst { getEditedPostAttribute } = select( editorStore );\n\t\treturn {\n\t\t\tsyncStatus: getEditedPostAttribute( 'wp_pattern_sync_status' ),\n\t\t\tpostType: getEditedPostAttribute( 'type' ),\n\t\t};\n\t}, [] );\n\tif ( postType !== 'wp_block' ) {\n\t\treturn null;\n\t}\n\n\tconst isFullySynced = ! syncStatus;\n\n\treturn (\n\t\t<PanelRow className=\"edit-post-sync-status\">\n\t\t\t<span>{ __( 'Sync status' ) }</span>\n\t\t\t<div>\n\t\t\t\t{ isFullySynced ? __( 'Fully synced' ) : __( 'Not synced' ) }\n\t\t\t</div>\n\t\t</PanelRow>\n\t);\n}\n"]}
@@ -21,28 +21,7 @@ import { store as coreStore } from '@wordpress/core-data';
21
21
 
22
22
  /** @typedef {import('@wordpress/block-editor').InserterMediaItem} InserterMediaItem */
23
23
 
24
- /**
25
- * Interface for inserter media category labels.
26
- *
27
- * @typedef {Object} InserterMediaCategoryLabels
28
- * @property {string} name General name of the media category. It's used in the inserter media items list.
29
- * @property {string} [search_items='Search'] Label for searching items. Default is ‘Search Posts’ / ‘Search Pages’.
30
- */
31
-
32
- /**
33
- * Interface for inserter media category.
34
- *
35
- * @typedef {Object} InserterMediaCategory
36
- * @property {string} name The name of the media category, that should be unique among all media categories.
37
- * @property {InserterMediaCategoryLabels} labels Labels for the media category.
38
- * @property {('image'|'audio'|'video')} mediaType The media type of the media category.
39
- * @property {(InserterMediaRequest) => Promise<InserterMediaItem[]>} fetch The function to fetch media items for the category.
40
- * @property {(InserterMediaItem) => string} [getReportUrl] If the media category supports reporting media items, this function should return
41
- * the report url for the media item. It accepts the `InserterMediaItem` as an argument.
42
- * @property {boolean} [isExternalResource] If the media category is an external resource, this should be set to true.
43
- * This is used to avoid making a request to the external resource when the user
44
- * opens the inserter for the first time.
45
- */
24
+ /** @typedef {import('@wordpress/block-editor').InserterMediaCategory} InserterMediaCategory */
46
25
 
47
26
  const getExternalLink = (url, text) => `<a ${getExternalLinkAttributes(url)}>${text}</a>`;
48
27
 
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/editor/src/components/media-categories/index.js"],"names":["__","sprintf","_x","resolveSelect","decodeEntities","store","coreStore","getExternalLink","url","text","getExternalLinkAttributes","getOpenverseLicense","license","licenseVersion","licenseName","trim","toUpperCase","replace","includes","getOpenverseCaption","item","title","foreign_landing_url","foreignLandingUrl","creator","creator_url","creatorUrl","license_version","license_url","licenseUrl","fullLicense","_creator","_caption","coreMediaFetch","query","mediaItems","getMediaItems","orderBy","search","map","mediaItem","alt","alt_text","source_url","previewUrl","media_details","sizes","medium","caption","raw","inserterMediaCategories","name","labels","search_items","mediaType","fetch","media_type","defaultArgs","mature","excluded_source","finalQuery","mapFromInserterMediaRequest","per_page","URL","Object","entries","forEach","key","value","queryKey","searchParams","set","response","window","headers","jsonResponse","json","results","result","toLowerCase","startsWith","slice","sourceId","id","undefined","thumbnail","getReportUrl","isExternalResource"],"mappings":"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","sourcesContent":["/**\n * The `editor` settings here need to be in sync with the corresponding ones in `editor` package.\n * See `packages/editor/src/components/media-categories/index.js`.\n *\n * In the future we could consider creating an Openvese package that can be used in both `editor` and `site-editor`.\n * The rest of the settings would still need to be in sync though.\n */\n\n/**\n * WordPress dependencies\n */\nimport { __, sprintf, _x } from '@wordpress/i18n';\nimport { resolveSelect } from '@wordpress/data';\nimport { decodeEntities } from '@wordpress/html-entities';\n\n/**\n * Internal dependencies\n */\nimport { store as coreStore } from '@wordpress/core-data';\n\n/** @typedef {import('@wordpress/block-editor').InserterMediaRequest} InserterMediaRequest */\n/** @typedef {import('@wordpress/block-editor').InserterMediaItem} InserterMediaItem */\n/**\n * Interface for inserter media category labels.\n *\n * @typedef {Object} InserterMediaCategoryLabels\n * @property {string} name General name of the media category. It's used in the inserter media items list.\n * @property {string} [search_items='Search'] Label for searching items. Default is ‘Search Posts’ / ‘Search Pages’.\n */\n/**\n * Interface for inserter media category.\n *\n * @typedef {Object} InserterMediaCategory\n * @property {string} name The name of the media category, that should be unique among all media categories.\n * @property {InserterMediaCategoryLabels} labels Labels for the media category.\n * @property {('image'|'audio'|'video')} mediaType The media type of the media category.\n * @property {(InserterMediaRequest) => Promise<InserterMediaItem[]>} fetch The function to fetch media items for the category.\n * @property {(InserterMediaItem) => string} [getReportUrl] If the media category supports reporting media items, this function should return\n * the report url for the media item. It accepts the `InserterMediaItem` as an argument.\n * @property {boolean} [isExternalResource] If the media category is an external resource, this should be set to true.\n * This is used to avoid making a request to the external resource when the user\n * opens the inserter for the first time.\n */\n\nconst getExternalLink = ( url, text ) =>\n\t`<a ${ getExternalLinkAttributes( url ) }>${ text }</a>`;\n\nconst getExternalLinkAttributes = ( url ) =>\n\t`href=\"${ url }\" target=\"_blank\" rel=\"noreferrer noopener\"`;\n\nconst getOpenverseLicense = ( license, licenseVersion ) => {\n\tlet licenseName = license.trim();\n\t// PDM has no abbreviation\n\tif ( license !== 'pdm' ) {\n\t\tlicenseName = license.toUpperCase().replace( 'SAMPLING', 'Sampling' );\n\t}\n\t// If version is known, append version to the name.\n\t// The license has to have a version to be valid. Only\n\t// PDM (public domain mark) doesn't have a version.\n\tif ( licenseVersion ) {\n\t\tlicenseName += ` ${ licenseVersion }`;\n\t}\n\t// For licenses other than public-domain marks, prepend 'CC' to the name.\n\tif ( ! [ 'pdm', 'cc0' ].includes( license ) ) {\n\t\tlicenseName = `CC ${ licenseName }`;\n\t}\n\treturn licenseName;\n};\n\nconst getOpenverseCaption = ( item ) => {\n\tconst {\n\t\ttitle,\n\t\tforeign_landing_url: foreignLandingUrl,\n\t\tcreator,\n\t\tcreator_url: creatorUrl,\n\t\tlicense,\n\t\tlicense_version: licenseVersion,\n\t\tlicense_url: licenseUrl,\n\t} = item;\n\tconst fullLicense = getOpenverseLicense( license, licenseVersion );\n\tconst _creator = decodeEntities( creator );\n\tlet _caption;\n\tif ( _creator ) {\n\t\t_caption = title\n\t\t\t? sprintf(\n\t\t\t\t\t// translators: %1s: Title of a media work from Openverse; %2s: Name of the work's creator; %3s: Work's licence e.g: \"CC0 1.0\".\n\t\t\t\t\t_x( '\"%1$s\" by %2$s/ %3$s', 'caption' ),\n\t\t\t\t\tgetExternalLink(\n\t\t\t\t\t\tforeignLandingUrl,\n\t\t\t\t\t\tdecodeEntities( title )\n\t\t\t\t\t),\n\t\t\t\t\tcreatorUrl\n\t\t\t\t\t\t? getExternalLink( creatorUrl, _creator )\n\t\t\t\t\t\t: _creator,\n\t\t\t\t\tlicenseUrl\n\t\t\t\t\t\t? getExternalLink(\n\t\t\t\t\t\t\t\t`${ licenseUrl }?ref=openverse`,\n\t\t\t\t\t\t\t\tfullLicense\n\t\t\t\t\t\t )\n\t\t\t\t\t\t: fullLicense\n\t\t\t )\n\t\t\t: sprintf(\n\t\t\t\t\t// translators: %1s: Link attributes for a given Openverse media work; %2s: Name of the work's creator; %3s: Works's licence e.g: \"CC0 1.0\".\n\t\t\t\t\t_x( '<a %1$s>Work</a> by %2$s/ %3$s', 'caption' ),\n\t\t\t\t\tgetExternalLinkAttributes( foreignLandingUrl ),\n\t\t\t\t\tcreatorUrl\n\t\t\t\t\t\t? getExternalLink( creatorUrl, _creator )\n\t\t\t\t\t\t: _creator,\n\t\t\t\t\tlicenseUrl\n\t\t\t\t\t\t? getExternalLink(\n\t\t\t\t\t\t\t\t`${ licenseUrl }?ref=openverse`,\n\t\t\t\t\t\t\t\tfullLicense\n\t\t\t\t\t\t )\n\t\t\t\t\t\t: fullLicense\n\t\t\t );\n\t} else {\n\t\t_caption = title\n\t\t\t? sprintf(\n\t\t\t\t\t// translators: %1s: Title of a media work from Openverse; %2s: Work's licence e.g: \"CC0 1.0\".\n\t\t\t\t\t_x( '\"%1$s\"/ %2$s', 'caption' ),\n\t\t\t\t\tgetExternalLink(\n\t\t\t\t\t\tforeignLandingUrl,\n\t\t\t\t\t\tdecodeEntities( title )\n\t\t\t\t\t),\n\t\t\t\t\tlicenseUrl\n\t\t\t\t\t\t? getExternalLink(\n\t\t\t\t\t\t\t\t`${ licenseUrl }?ref=openverse`,\n\t\t\t\t\t\t\t\tfullLicense\n\t\t\t\t\t\t )\n\t\t\t\t\t\t: fullLicense\n\t\t\t )\n\t\t\t: sprintf(\n\t\t\t\t\t// translators: %1s: Link attributes for a given Openverse media work; %2s: Works's licence e.g: \"CC0 1.0\".\n\t\t\t\t\t_x( '<a %1$s>Work</a>/ %2$s', 'caption' ),\n\t\t\t\t\tgetExternalLinkAttributes( foreignLandingUrl ),\n\t\t\t\t\tlicenseUrl\n\t\t\t\t\t\t? getExternalLink(\n\t\t\t\t\t\t\t\t`${ licenseUrl }?ref=openverse`,\n\t\t\t\t\t\t\t\tfullLicense\n\t\t\t\t\t\t )\n\t\t\t\t\t\t: fullLicense\n\t\t\t );\n\t}\n\treturn _caption.replace( /\\s{2}/g, ' ' );\n};\n\nconst coreMediaFetch = async ( query = {} ) => {\n\tconst mediaItems = await resolveSelect( coreStore ).getMediaItems( {\n\t\t...query,\n\t\torderBy: !! query?.search ? 'relevance' : 'date',\n\t} );\n\treturn mediaItems.map( ( mediaItem ) => ( {\n\t\t...mediaItem,\n\t\talt: mediaItem.alt_text,\n\t\turl: mediaItem.source_url,\n\t\tpreviewUrl: mediaItem.media_details?.sizes?.medium?.source_url,\n\t\tcaption: mediaItem.caption?.raw,\n\t} ) );\n};\n\n/** @type {InserterMediaCategory[]} */\nconst inserterMediaCategories = [\n\t{\n\t\tname: 'images',\n\t\tlabels: {\n\t\t\tname: __( 'Images' ),\n\t\t\tsearch_items: __( 'Search images' ),\n\t\t},\n\t\tmediaType: 'image',\n\t\tasync fetch( query = {} ) {\n\t\t\treturn coreMediaFetch( { ...query, media_type: 'image' } );\n\t\t},\n\t},\n\t{\n\t\tname: 'videos',\n\t\tlabels: {\n\t\t\tname: __( 'Videos' ),\n\t\t\tsearch_items: __( 'Search videos' ),\n\t\t},\n\t\tmediaType: 'video',\n\t\tasync fetch( query = {} ) {\n\t\t\treturn coreMediaFetch( { ...query, media_type: 'video' } );\n\t\t},\n\t},\n\t{\n\t\tname: 'audio',\n\t\tlabels: {\n\t\t\tname: __( 'Audio' ),\n\t\t\tsearch_items: __( 'Search audio' ),\n\t\t},\n\t\tmediaType: 'audio',\n\t\tasync fetch( query = {} ) {\n\t\t\treturn coreMediaFetch( { ...query, media_type: 'audio' } );\n\t\t},\n\t},\n\t{\n\t\tname: 'openverse',\n\t\tlabels: {\n\t\t\tname: __( 'Openverse' ),\n\t\t\tsearch_items: __( 'Search Openverse' ),\n\t\t},\n\t\tmediaType: 'image',\n\t\tasync fetch( query = {} ) {\n\t\t\tconst defaultArgs = {\n\t\t\t\tmature: false,\n\t\t\t\texcluded_source: 'flickr,inaturalist,wikimedia',\n\t\t\t\tlicense: 'pdm,cc0',\n\t\t\t};\n\t\t\tconst finalQuery = { ...query, ...defaultArgs };\n\t\t\tconst mapFromInserterMediaRequest = {\n\t\t\t\tper_page: 'page_size',\n\t\t\t\tsearch: 'q',\n\t\t\t};\n\t\t\tconst url = new URL(\n\t\t\t\t'https://api.openverse.engineering/v1/images/'\n\t\t\t);\n\t\t\tObject.entries( finalQuery ).forEach( ( [ key, value ] ) => {\n\t\t\t\tconst queryKey = mapFromInserterMediaRequest[ key ] || key;\n\t\t\t\turl.searchParams.set( queryKey, value );\n\t\t\t} );\n\t\t\tconst response = await window.fetch( url, {\n\t\t\t\theaders: {\n\t\t\t\t\t'User-Agent': 'WordPress/inserter-media-fetch',\n\t\t\t\t},\n\t\t\t} );\n\t\t\tconst jsonResponse = await response.json();\n\t\t\tconst results = jsonResponse.results;\n\t\t\treturn results.map( ( result ) => ( {\n\t\t\t\t...result,\n\t\t\t\t// This is a temp solution for better titles, until Openverse API\n\t\t\t\t// completes the cleaning up of some titles of their upstream data.\n\t\t\t\ttitle: result.title?.toLowerCase().startsWith( 'file:' )\n\t\t\t\t\t? result.title.slice( 5 )\n\t\t\t\t\t: result.title,\n\t\t\t\tsourceId: result.id,\n\t\t\t\tid: undefined,\n\t\t\t\tcaption: getOpenverseCaption( result ),\n\t\t\t\tpreviewUrl: result.thumbnail,\n\t\t\t} ) );\n\t\t},\n\t\tgetReportUrl: ( { sourceId } ) =>\n\t\t\t`https://wordpress.org/openverse/image/${ sourceId }/report/`,\n\t\tisExternalResource: true,\n\t},\n];\n\nexport default inserterMediaCategories;\n"]}
1
+ {"version":3,"sources":["@wordpress/editor/src/components/media-categories/index.js"],"names":["__","sprintf","_x","resolveSelect","decodeEntities","store","coreStore","getExternalLink","url","text","getExternalLinkAttributes","getOpenverseLicense","license","licenseVersion","licenseName","trim","toUpperCase","replace","includes","getOpenverseCaption","item","title","foreign_landing_url","foreignLandingUrl","creator","creator_url","creatorUrl","license_version","license_url","licenseUrl","fullLicense","_creator","_caption","coreMediaFetch","query","mediaItems","getMediaItems","orderBy","search","map","mediaItem","alt","alt_text","source_url","previewUrl","media_details","sizes","medium","caption","raw","inserterMediaCategories","name","labels","search_items","mediaType","fetch","media_type","defaultArgs","mature","excluded_source","finalQuery","mapFromInserterMediaRequest","per_page","URL","Object","entries","forEach","key","value","queryKey","searchParams","set","response","window","headers","jsonResponse","json","results","result","toLowerCase","startsWith","slice","sourceId","id","undefined","thumbnail","getReportUrl","isExternalResource"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAASA,EAAT,EAAaC,OAAb,EAAsBC,EAAtB,QAAgC,iBAAhC;AACA,SAASC,aAAT,QAA8B,iBAA9B;AACA,SAASC,cAAT,QAA+B,0BAA/B;AAEA;AACA;AACA;;AACA,SAASC,KAAK,IAAIC,SAAlB,QAAmC,sBAAnC;AAEA;;AACA;;AACA;;AAEA,MAAMC,eAAe,GAAG,CAAEC,GAAF,EAAOC,IAAP,KACtB,MAAMC,yBAAyB,CAAEF,GAAF,CAAS,IAAIC,IAAM,MADpD;;AAGA,MAAMC,yBAAyB,GAAKF,GAAF,IAChC,SAASA,GAAK,6CADhB;;AAGA,MAAMG,mBAAmB,GAAG,CAAEC,OAAF,EAAWC,cAAX,KAA+B;AAC1D,MAAIC,WAAW,GAAGF,OAAO,CAACG,IAAR,EAAlB,CAD0D,CAE1D;;AACA,MAAKH,OAAO,KAAK,KAAjB,EAAyB;AACxBE,IAAAA,WAAW,GAAGF,OAAO,CAACI,WAAR,GAAsBC,OAAtB,CAA+B,UAA/B,EAA2C,UAA3C,CAAd;AACA,GALyD,CAM1D;AACA;AACA;;;AACA,MAAKJ,cAAL,EAAsB;AACrBC,IAAAA,WAAW,IAAK,IAAID,cAAgB,EAApC;AACA,GAXyD,CAY1D;;;AACA,MAAK,CAAE,CAAE,KAAF,EAAS,KAAT,EAAiBK,QAAjB,CAA2BN,OAA3B,CAAP,EAA8C;AAC7CE,IAAAA,WAAW,GAAI,MAAMA,WAAa,EAAlC;AACA;;AACD,SAAOA,WAAP;AACA,CAjBD;;AAmBA,MAAMK,mBAAmB,GAAKC,IAAF,IAAY;AACvC,QAAM;AACLC,IAAAA,KADK;AAELC,IAAAA,mBAAmB,EAAEC,iBAFhB;AAGLC,IAAAA,OAHK;AAILC,IAAAA,WAAW,EAAEC,UAJR;AAKLd,IAAAA,OALK;AAMLe,IAAAA,eAAe,EAAEd,cANZ;AAOLe,IAAAA,WAAW,EAAEC;AAPR,MAQFT,IARJ;AASA,QAAMU,WAAW,GAAGnB,mBAAmB,CAAEC,OAAF,EAAWC,cAAX,CAAvC;;AACA,QAAMkB,QAAQ,GAAG3B,cAAc,CAAEoB,OAAF,CAA/B;;AACA,MAAIQ,QAAJ;;AACA,MAAKD,QAAL,EAAgB;AACfC,IAAAA,QAAQ,GAAGX,KAAK,GACbpB,OAAO,EACP;AACAC,IAAAA,EAAE,CAAE,sBAAF,EAA0B,SAA1B,CAFK,EAGPK,eAAe,CACdgB,iBADc,EAEdnB,cAAc,CAAEiB,KAAF,CAFA,CAHR,EAOPK,UAAU,GACPnB,eAAe,CAAEmB,UAAF,EAAcK,QAAd,CADR,GAEPA,QATI,EAUPF,UAAU,GACPtB,eAAe,CACd,GAAGsB,UAAY,gBADD,EAEfC,WAFe,CADR,GAKPA,WAfI,CADM,GAkBb7B,OAAO,EACP;AACAC,IAAAA,EAAE,CAAE,gCAAF,EAAoC,SAApC,CAFK,EAGPQ,yBAAyB,CAAEa,iBAAF,CAHlB,EAIPG,UAAU,GACPnB,eAAe,CAAEmB,UAAF,EAAcK,QAAd,CADR,GAEPA,QANI,EAOPF,UAAU,GACPtB,eAAe,CACd,GAAGsB,UAAY,gBADD,EAEfC,WAFe,CADR,GAKPA,WAZI,CAlBV;AAgCA,GAjCD,MAiCO;AACNE,IAAAA,QAAQ,GAAGX,KAAK,GACbpB,OAAO,EACP;AACAC,IAAAA,EAAE,CAAE,cAAF,EAAkB,SAAlB,CAFK,EAGPK,eAAe,CACdgB,iBADc,EAEdnB,cAAc,CAAEiB,KAAF,CAFA,CAHR,EAOPQ,UAAU,GACPtB,eAAe,CACd,GAAGsB,UAAY,gBADD,EAEfC,WAFe,CADR,GAKPA,WAZI,CADM,GAeb7B,OAAO,EACP;AACAC,IAAAA,EAAE,CAAE,wBAAF,EAA4B,SAA5B,CAFK,EAGPQ,yBAAyB,CAAEa,iBAAF,CAHlB,EAIPM,UAAU,GACPtB,eAAe,CACd,GAAGsB,UAAY,gBADD,EAEfC,WAFe,CADR,GAKPA,WATI,CAfV;AA0BA;;AACD,SAAOE,QAAQ,CAACf,OAAT,CAAkB,QAAlB,EAA4B,GAA5B,CAAP;AACA,CA3ED;;AA6EA,MAAMgB,cAAc,GAAG,OAAQC,KAAK,GAAG,EAAhB,KAAwB;AAC9C,QAAMC,UAAU,GAAG,MAAMhC,aAAa,CAAEG,SAAF,CAAb,CAA2B8B,aAA3B,CAA0C,EAClE,GAAGF,KAD+D;AAElEG,IAAAA,OAAO,EAAE,CAAC,CAAEH,KAAK,EAAEI,MAAV,GAAmB,WAAnB,GAAiC;AAFwB,GAA1C,CAAzB;AAIA,SAAOH,UAAU,CAACI,GAAX,CAAkBC,SAAF,KAAmB,EACzC,GAAGA,SADsC;AAEzCC,IAAAA,GAAG,EAAED,SAAS,CAACE,QAF0B;AAGzClC,IAAAA,GAAG,EAAEgC,SAAS,CAACG,UAH0B;AAIzCC,IAAAA,UAAU,EAAEJ,SAAS,CAACK,aAAV,EAAyBC,KAAzB,EAAgCC,MAAhC,EAAwCJ,UAJX;AAKzCK,IAAAA,OAAO,EAAER,SAAS,CAACQ,OAAV,EAAmBC;AALa,GAAnB,CAAhB,CAAP;AAOA,CAZD;AAcA;;;AACA,MAAMC,uBAAuB,GAAG,CAC/B;AACCC,EAAAA,IAAI,EAAE,QADP;AAECC,EAAAA,MAAM,EAAE;AACPD,IAAAA,IAAI,EAAEnD,EAAE,CAAE,QAAF,CADD;AAEPqD,IAAAA,YAAY,EAAErD,EAAE,CAAE,eAAF;AAFT,GAFT;AAMCsD,EAAAA,SAAS,EAAE,OANZ;;AAOC,QAAMC,KAAN,CAAarB,KAAK,GAAG,EAArB,EAA0B;AACzB,WAAOD,cAAc,CAAE,EAAE,GAAGC,KAAL;AAAYsB,MAAAA,UAAU,EAAE;AAAxB,KAAF,CAArB;AACA;;AATF,CAD+B,EAY/B;AACCL,EAAAA,IAAI,EAAE,QADP;AAECC,EAAAA,MAAM,EAAE;AACPD,IAAAA,IAAI,EAAEnD,EAAE,CAAE,QAAF,CADD;AAEPqD,IAAAA,YAAY,EAAErD,EAAE,CAAE,eAAF;AAFT,GAFT;AAMCsD,EAAAA,SAAS,EAAE,OANZ;;AAOC,QAAMC,KAAN,CAAarB,KAAK,GAAG,EAArB,EAA0B;AACzB,WAAOD,cAAc,CAAE,EAAE,GAAGC,KAAL;AAAYsB,MAAAA,UAAU,EAAE;AAAxB,KAAF,CAArB;AACA;;AATF,CAZ+B,EAuB/B;AACCL,EAAAA,IAAI,EAAE,OADP;AAECC,EAAAA,MAAM,EAAE;AACPD,IAAAA,IAAI,EAAEnD,EAAE,CAAE,OAAF,CADD;AAEPqD,IAAAA,YAAY,EAAErD,EAAE,CAAE,cAAF;AAFT,GAFT;AAMCsD,EAAAA,SAAS,EAAE,OANZ;;AAOC,QAAMC,KAAN,CAAarB,KAAK,GAAG,EAArB,EAA0B;AACzB,WAAOD,cAAc,CAAE,EAAE,GAAGC,KAAL;AAAYsB,MAAAA,UAAU,EAAE;AAAxB,KAAF,CAArB;AACA;;AATF,CAvB+B,EAkC/B;AACCL,EAAAA,IAAI,EAAE,WADP;AAECC,EAAAA,MAAM,EAAE;AACPD,IAAAA,IAAI,EAAEnD,EAAE,CAAE,WAAF,CADD;AAEPqD,IAAAA,YAAY,EAAErD,EAAE,CAAE,kBAAF;AAFT,GAFT;AAMCsD,EAAAA,SAAS,EAAE,OANZ;;AAOC,QAAMC,KAAN,CAAarB,KAAK,GAAG,EAArB,EAA0B;AACzB,UAAMuB,WAAW,GAAG;AACnBC,MAAAA,MAAM,EAAE,KADW;AAEnBC,MAAAA,eAAe,EAAE,8BAFE;AAGnB/C,MAAAA,OAAO,EAAE;AAHU,KAApB;AAKA,UAAMgD,UAAU,GAAG,EAAE,GAAG1B,KAAL;AAAY,SAAGuB;AAAf,KAAnB;AACA,UAAMI,2BAA2B,GAAG;AACnCC,MAAAA,QAAQ,EAAE,WADyB;AAEnCxB,MAAAA,MAAM,EAAE;AAF2B,KAApC;AAIA,UAAM9B,GAAG,GAAG,IAAIuD,GAAJ,CACX,8CADW,CAAZ;AAGAC,IAAAA,MAAM,CAACC,OAAP,CAAgBL,UAAhB,EAA6BM,OAA7B,CAAsC,CAAE,CAAEC,GAAF,EAAOC,KAAP,CAAF,KAAsB;AAC3D,YAAMC,QAAQ,GAAGR,2BAA2B,CAAEM,GAAF,CAA3B,IAAsCA,GAAvD;AACA3D,MAAAA,GAAG,CAAC8D,YAAJ,CAAiBC,GAAjB,CAAsBF,QAAtB,EAAgCD,KAAhC;AACA,KAHD;AAIA,UAAMI,QAAQ,GAAG,MAAMC,MAAM,CAAClB,KAAP,CAAc/C,GAAd,EAAmB;AACzCkE,MAAAA,OAAO,EAAE;AACR,sBAAc;AADN;AADgC,KAAnB,CAAvB;AAKA,UAAMC,YAAY,GAAG,MAAMH,QAAQ,CAACI,IAAT,EAA3B;AACA,UAAMC,OAAO,GAAGF,YAAY,CAACE,OAA7B;AACA,WAAOA,OAAO,CAACtC,GAAR,CAAeuC,MAAF,KAAgB,EACnC,GAAGA,MADgC;AAEnC;AACA;AACAzD,MAAAA,KAAK,EAAEyD,MAAM,CAACzD,KAAP,EAAc0D,WAAd,GAA4BC,UAA5B,CAAwC,OAAxC,IACJF,MAAM,CAACzD,KAAP,CAAa4D,KAAb,CAAoB,CAApB,CADI,GAEJH,MAAM,CAACzD,KANyB;AAOnC6D,MAAAA,QAAQ,EAAEJ,MAAM,CAACK,EAPkB;AAQnCA,MAAAA,EAAE,EAAEC,SAR+B;AASnCpC,MAAAA,OAAO,EAAE7B,mBAAmB,CAAE2D,MAAF,CATO;AAUnClC,MAAAA,UAAU,EAAEkC,MAAM,CAACO;AAVgB,KAAhB,CAAb,CAAP;AAYA,GA5CF;;AA6CCC,EAAAA,YAAY,EAAE,CAAE;AAAEJ,IAAAA;AAAF,GAAF,KACZ,yCAAyCA,QAAU,UA9CtD;AA+CCK,EAAAA,kBAAkB,EAAE;AA/CrB,CAlC+B,CAAhC;AAqFA,eAAerC,uBAAf","sourcesContent":["/**\n * The `editor` settings here need to be in sync with the corresponding ones in `editor` package.\n * See `packages/editor/src/components/media-categories/index.js`.\n *\n * In the future we could consider creating an Openvese package that can be used in both `editor` and `site-editor`.\n * The rest of the settings would still need to be in sync though.\n */\n\n/**\n * WordPress dependencies\n */\nimport { __, sprintf, _x } from '@wordpress/i18n';\nimport { resolveSelect } from '@wordpress/data';\nimport { decodeEntities } from '@wordpress/html-entities';\n\n/**\n * Internal dependencies\n */\nimport { store as coreStore } from '@wordpress/core-data';\n\n/** @typedef {import('@wordpress/block-editor').InserterMediaRequest} InserterMediaRequest */\n/** @typedef {import('@wordpress/block-editor').InserterMediaItem} InserterMediaItem */\n/** @typedef {import('@wordpress/block-editor').InserterMediaCategory} InserterMediaCategory */\n\nconst getExternalLink = ( url, text ) =>\n\t`<a ${ getExternalLinkAttributes( url ) }>${ text }</a>`;\n\nconst getExternalLinkAttributes = ( url ) =>\n\t`href=\"${ url }\" target=\"_blank\" rel=\"noreferrer noopener\"`;\n\nconst getOpenverseLicense = ( license, licenseVersion ) => {\n\tlet licenseName = license.trim();\n\t// PDM has no abbreviation\n\tif ( license !== 'pdm' ) {\n\t\tlicenseName = license.toUpperCase().replace( 'SAMPLING', 'Sampling' );\n\t}\n\t// If version is known, append version to the name.\n\t// The license has to have a version to be valid. Only\n\t// PDM (public domain mark) doesn't have a version.\n\tif ( licenseVersion ) {\n\t\tlicenseName += ` ${ licenseVersion }`;\n\t}\n\t// For licenses other than public-domain marks, prepend 'CC' to the name.\n\tif ( ! [ 'pdm', 'cc0' ].includes( license ) ) {\n\t\tlicenseName = `CC ${ licenseName }`;\n\t}\n\treturn licenseName;\n};\n\nconst getOpenverseCaption = ( item ) => {\n\tconst {\n\t\ttitle,\n\t\tforeign_landing_url: foreignLandingUrl,\n\t\tcreator,\n\t\tcreator_url: creatorUrl,\n\t\tlicense,\n\t\tlicense_version: licenseVersion,\n\t\tlicense_url: licenseUrl,\n\t} = item;\n\tconst fullLicense = getOpenverseLicense( license, licenseVersion );\n\tconst _creator = decodeEntities( creator );\n\tlet _caption;\n\tif ( _creator ) {\n\t\t_caption = title\n\t\t\t? sprintf(\n\t\t\t\t\t// translators: %1s: Title of a media work from Openverse; %2s: Name of the work's creator; %3s: Work's licence e.g: \"CC0 1.0\".\n\t\t\t\t\t_x( '\"%1$s\" by %2$s/ %3$s', 'caption' ),\n\t\t\t\t\tgetExternalLink(\n\t\t\t\t\t\tforeignLandingUrl,\n\t\t\t\t\t\tdecodeEntities( title )\n\t\t\t\t\t),\n\t\t\t\t\tcreatorUrl\n\t\t\t\t\t\t? getExternalLink( creatorUrl, _creator )\n\t\t\t\t\t\t: _creator,\n\t\t\t\t\tlicenseUrl\n\t\t\t\t\t\t? getExternalLink(\n\t\t\t\t\t\t\t\t`${ licenseUrl }?ref=openverse`,\n\t\t\t\t\t\t\t\tfullLicense\n\t\t\t\t\t\t )\n\t\t\t\t\t\t: fullLicense\n\t\t\t )\n\t\t\t: sprintf(\n\t\t\t\t\t// translators: %1s: Link attributes for a given Openverse media work; %2s: Name of the work's creator; %3s: Works's licence e.g: \"CC0 1.0\".\n\t\t\t\t\t_x( '<a %1$s>Work</a> by %2$s/ %3$s', 'caption' ),\n\t\t\t\t\tgetExternalLinkAttributes( foreignLandingUrl ),\n\t\t\t\t\tcreatorUrl\n\t\t\t\t\t\t? getExternalLink( creatorUrl, _creator )\n\t\t\t\t\t\t: _creator,\n\t\t\t\t\tlicenseUrl\n\t\t\t\t\t\t? getExternalLink(\n\t\t\t\t\t\t\t\t`${ licenseUrl }?ref=openverse`,\n\t\t\t\t\t\t\t\tfullLicense\n\t\t\t\t\t\t )\n\t\t\t\t\t\t: fullLicense\n\t\t\t );\n\t} else {\n\t\t_caption = title\n\t\t\t? sprintf(\n\t\t\t\t\t// translators: %1s: Title of a media work from Openverse; %2s: Work's licence e.g: \"CC0 1.0\".\n\t\t\t\t\t_x( '\"%1$s\"/ %2$s', 'caption' ),\n\t\t\t\t\tgetExternalLink(\n\t\t\t\t\t\tforeignLandingUrl,\n\t\t\t\t\t\tdecodeEntities( title )\n\t\t\t\t\t),\n\t\t\t\t\tlicenseUrl\n\t\t\t\t\t\t? getExternalLink(\n\t\t\t\t\t\t\t\t`${ licenseUrl }?ref=openverse`,\n\t\t\t\t\t\t\t\tfullLicense\n\t\t\t\t\t\t )\n\t\t\t\t\t\t: fullLicense\n\t\t\t )\n\t\t\t: sprintf(\n\t\t\t\t\t// translators: %1s: Link attributes for a given Openverse media work; %2s: Works's licence e.g: \"CC0 1.0\".\n\t\t\t\t\t_x( '<a %1$s>Work</a>/ %2$s', 'caption' ),\n\t\t\t\t\tgetExternalLinkAttributes( foreignLandingUrl ),\n\t\t\t\t\tlicenseUrl\n\t\t\t\t\t\t? getExternalLink(\n\t\t\t\t\t\t\t\t`${ licenseUrl }?ref=openverse`,\n\t\t\t\t\t\t\t\tfullLicense\n\t\t\t\t\t\t )\n\t\t\t\t\t\t: fullLicense\n\t\t\t );\n\t}\n\treturn _caption.replace( /\\s{2}/g, ' ' );\n};\n\nconst coreMediaFetch = async ( query = {} ) => {\n\tconst mediaItems = await resolveSelect( coreStore ).getMediaItems( {\n\t\t...query,\n\t\torderBy: !! query?.search ? 'relevance' : 'date',\n\t} );\n\treturn mediaItems.map( ( mediaItem ) => ( {\n\t\t...mediaItem,\n\t\talt: mediaItem.alt_text,\n\t\turl: mediaItem.source_url,\n\t\tpreviewUrl: mediaItem.media_details?.sizes?.medium?.source_url,\n\t\tcaption: mediaItem.caption?.raw,\n\t} ) );\n};\n\n/** @type {InserterMediaCategory[]} */\nconst inserterMediaCategories = [\n\t{\n\t\tname: 'images',\n\t\tlabels: {\n\t\t\tname: __( 'Images' ),\n\t\t\tsearch_items: __( 'Search images' ),\n\t\t},\n\t\tmediaType: 'image',\n\t\tasync fetch( query = {} ) {\n\t\t\treturn coreMediaFetch( { ...query, media_type: 'image' } );\n\t\t},\n\t},\n\t{\n\t\tname: 'videos',\n\t\tlabels: {\n\t\t\tname: __( 'Videos' ),\n\t\t\tsearch_items: __( 'Search videos' ),\n\t\t},\n\t\tmediaType: 'video',\n\t\tasync fetch( query = {} ) {\n\t\t\treturn coreMediaFetch( { ...query, media_type: 'video' } );\n\t\t},\n\t},\n\t{\n\t\tname: 'audio',\n\t\tlabels: {\n\t\t\tname: __( 'Audio' ),\n\t\t\tsearch_items: __( 'Search audio' ),\n\t\t},\n\t\tmediaType: 'audio',\n\t\tasync fetch( query = {} ) {\n\t\t\treturn coreMediaFetch( { ...query, media_type: 'audio' } );\n\t\t},\n\t},\n\t{\n\t\tname: 'openverse',\n\t\tlabels: {\n\t\t\tname: __( 'Openverse' ),\n\t\t\tsearch_items: __( 'Search Openverse' ),\n\t\t},\n\t\tmediaType: 'image',\n\t\tasync fetch( query = {} ) {\n\t\t\tconst defaultArgs = {\n\t\t\t\tmature: false,\n\t\t\t\texcluded_source: 'flickr,inaturalist,wikimedia',\n\t\t\t\tlicense: 'pdm,cc0',\n\t\t\t};\n\t\t\tconst finalQuery = { ...query, ...defaultArgs };\n\t\t\tconst mapFromInserterMediaRequest = {\n\t\t\t\tper_page: 'page_size',\n\t\t\t\tsearch: 'q',\n\t\t\t};\n\t\t\tconst url = new URL(\n\t\t\t\t'https://api.openverse.engineering/v1/images/'\n\t\t\t);\n\t\t\tObject.entries( finalQuery ).forEach( ( [ key, value ] ) => {\n\t\t\t\tconst queryKey = mapFromInserterMediaRequest[ key ] || key;\n\t\t\t\turl.searchParams.set( queryKey, value );\n\t\t\t} );\n\t\t\tconst response = await window.fetch( url, {\n\t\t\t\theaders: {\n\t\t\t\t\t'User-Agent': 'WordPress/inserter-media-fetch',\n\t\t\t\t},\n\t\t\t} );\n\t\t\tconst jsonResponse = await response.json();\n\t\t\tconst results = jsonResponse.results;\n\t\t\treturn results.map( ( result ) => ( {\n\t\t\t\t...result,\n\t\t\t\t// This is a temp solution for better titles, until Openverse API\n\t\t\t\t// completes the cleaning up of some titles of their upstream data.\n\t\t\t\ttitle: result.title?.toLowerCase().startsWith( 'file:' )\n\t\t\t\t\t? result.title.slice( 5 )\n\t\t\t\t\t: result.title,\n\t\t\t\tsourceId: result.id,\n\t\t\t\tid: undefined,\n\t\t\t\tcaption: getOpenverseCaption( result ),\n\t\t\t\tpreviewUrl: result.thumbnail,\n\t\t\t} ) );\n\t\t},\n\t\tgetReportUrl: ( { sourceId } ) =>\n\t\t\t`https://wordpress.org/openverse/image/${ sourceId }/report/`,\n\t\tisExternalResource: true,\n\t},\n];\n\nexport default inserterMediaCategories;\n"]}
@@ -119,6 +119,7 @@ export default compose([withSelect(select => {
119
119
  isCurrentPostScheduled,
120
120
  isEditedPostBeingScheduled,
121
121
  isEditedPostDirty,
122
+ isAutosavingPost,
122
123
  isSavingPost,
123
124
  isSavingNonPostEntityChanges
124
125
  } = select(editorStore);
@@ -133,7 +134,7 @@ export default compose([withSelect(select => {
133
134
  isDirty: isEditedPostDirty(),
134
135
  isPublished: isCurrentPostPublished(),
135
136
  isPublishSidebarEnabled: isPublishSidebarEnabled(),
136
- isSaving: isSavingPost(),
137
+ isSaving: isSavingPost() && !isAutosavingPost(),
137
138
  isSavingNonPostEntityChanges: isSavingNonPostEntityChanges(),
138
139
  isScheduled: isCurrentPostScheduled()
139
140
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/editor/src/components/post-publish-panel/index.js"],"names":["__","Component","Button","Spinner","CheckboxControl","withFocusReturn","withConstrainedTabbing","withSelect","withDispatch","compose","closeSmall","store","coreStore","PostPublishButton","PostPublishPanelPrepublish","PostPublishPanelPostpublish","editorStore","PostPublishPanel","constructor","arguments","onSubmit","bind","componentDidUpdate","prevProps","isPublished","props","isSaving","isDirty","onClose","hasPublishAction","isPostTypeViewable","render","forceIsDirty","forceIsSaving","isBeingScheduled","isPublishSidebarEnabled","isScheduled","isSavingNonPostEntityChanges","onTogglePublishSidebar","PostPublishExtension","PrePublishExtension","additionalProps","propsForPanel","isPublishedOrScheduled","isPrePublish","isPostPublish","select","getPostType","getCurrentPost","getEditedPostAttribute","isCurrentPostPublished","isCurrentPostScheduled","isEditedPostBeingScheduled","isEditedPostDirty","isSavingPost","postType","_links","viewable","dispatch","disablePublishSidebar","enablePublishSidebar"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,EAAT,QAAmB,iBAAnB;AACA,SAASC,SAAT,QAA0B,oBAA1B;AACA,SACCC,MADD,EAECC,OAFD,EAGCC,eAHD,EAICC,eAJD,EAKCC,sBALD,QAMO,uBANP;AAOA,SAASC,UAAT,EAAqBC,YAArB,QAAyC,iBAAzC;AACA,SAASC,OAAT,QAAwB,oBAAxB;AACA,SAASC,UAAT,QAA2B,kBAA3B;AACA,SAASC,KAAK,IAAIC,SAAlB,QAAmC,sBAAnC;AAEA;AACA;AACA;;AACA,OAAOC,iBAAP,MAA8B,wBAA9B;AACA,OAAOC,0BAAP,MAAuC,cAAvC;AACA,OAAOC,2BAAP,MAAwC,eAAxC;AACA,SAASJ,KAAK,IAAIK,WAAlB,QAAqC,aAArC;AAEA,OAAO,MAAMC,gBAAN,SAA+BhB,SAA/B,CAAyC;AAC/CiB,EAAAA,WAAW,GAAG;AACb,UAAO,GAAGC,SAAV;AACA,SAAKC,QAAL,GAAgB,KAAKA,QAAL,CAAcC,IAAd,CAAoB,IAApB,CAAhB;AACA;;AAEDC,EAAAA,kBAAkB,CAAEC,SAAF,EAAc;AAC/B;AACA;AACA,QACCA,SAAS,CAACC,WAAV,IACA,CAAE,KAAKC,KAAL,CAAWC,QADb,IAEA,KAAKD,KAAL,CAAWE,OAHZ,EAIE;AACD,WAAKF,KAAL,CAAWG,OAAX;AACA;AACD;;AAEDR,EAAAA,QAAQ,GAAG;AACV,UAAM;AAAEQ,MAAAA,OAAF;AAAWC,MAAAA,gBAAX;AAA6BC,MAAAA;AAA7B,QAAoD,KAAKL,KAA/D;;AACA,QAAK,CAAEI,gBAAF,IAAsB,CAAEC,kBAA7B,EAAkD;AACjDF,MAAAA,OAAO;AACP;AACD;;AAEDG,EAAAA,MAAM,GAAG;AACR,UAAM;AACLC,MAAAA,YADK;AAELC,MAAAA,aAFK;AAGLC,MAAAA,gBAHK;AAILV,MAAAA,WAJK;AAKLW,MAAAA,uBALK;AAMLC,MAAAA,WANK;AAOLV,MAAAA,QAPK;AAQLW,MAAAA,4BARK;AASLT,MAAAA,OATK;AAULU,MAAAA,sBAVK;AAWLC,MAAAA,oBAXK;AAYLC,MAAAA,mBAZK;AAaL,SAAGC;AAbE,QAcF,KAAKhB,KAdT;AAeA,UAAM;AACLI,MAAAA,gBADK;AAELF,MAAAA,OAFK;AAGLG,MAAAA,kBAHK;AAIL,SAAGY;AAJE,QAKFD,eALJ;AAMA,UAAME,sBAAsB,GAC3BnB,WAAW,IAAMY,WAAW,IAAIF,gBADjC;AAEA,UAAMU,YAAY,GAAG,CAAED,sBAAF,IAA4B,CAAEjB,QAAnD;AACA,UAAMmB,aAAa,GAAGF,sBAAsB,IAAI,CAAEjB,QAAlD;AACA,WACC;AAAK,MAAA,SAAS,EAAC,2BAAf;AAAA,SAAgDgB;AAAhD,OACC;AAAK,MAAA,SAAS,EAAC;AAAf,OACGG,aAAa,GACd,cAAC,MAAD;AACC,MAAA,OAAO,EAAGjB,OADX;AAEC,MAAA,IAAI,EAAGlB,UAFR;AAGC,MAAA,KAAK,EAAGV,EAAE,CAAE,aAAF;AAHX,MADc,GAOd,8BACC;AAAK,MAAA,SAAS,EAAC;AAAf,OACC,cAAC,iBAAD;AACC,MAAA,YAAY,EAAG,IADhB;AAEC,MAAA,QAAQ,EAAG,KAAKoB,QAFjB;AAGC,MAAA,YAAY,EAAGY,YAHhB;AAIC,MAAA,aAAa,EAAGC;AAJjB,MADD,CADD,EASC;AAAK,MAAA,SAAS,EAAC;AAAf,OACC,cAAC,MAAD;AACC,MAAA,QAAQ,EAAGI,4BADZ;AAEC,MAAA,OAAO,EAAGT,OAFX;AAGC,MAAA,OAAO,EAAC;AAHT,OAKG5B,EAAE,CAAE,QAAF,CALL,CADD,CATD,CARF,CADD,EA8BC;AAAK,MAAA,SAAS,EAAC;AAAf,OACG4C,YAAY,IACb,cAAC,0BAAD,QACGJ,mBAAmB,IAAI,cAAC,mBAAD,OAD1B,CAFF,EAMGK,aAAa,IACd,cAAC,2BAAD;AAA6B,MAAA,YAAY,EAAG;AAA5C,OACGN,oBAAoB,IAAI,cAAC,oBAAD,OAD3B,CAPF,EAWGb,QAAQ,IAAI,cAAC,OAAD,OAXf,CA9BD,EA2CC;AAAK,MAAA,SAAS,EAAC;AAAf,OACC,cAAC,eAAD;AACC,MAAA,uBAAuB,MADxB;AAEC,MAAA,KAAK,EAAG1B,EAAE,CAAE,iCAAF,CAFX;AAGC,MAAA,OAAO,EAAGmC,uBAHX;AAIC,MAAA,QAAQ,EAAGG;AAJZ,MADD,CA3CD,CADD;AAsDA;;AAzG8C;AA4GhD,eAAe7B,OAAO,CAAE,CACvBF,UAAU,CAAIuC,MAAF,IAAc;AAAA;;AACzB,QAAM;AAAEC,IAAAA;AAAF,MAAkBD,MAAM,CAAElC,SAAF,CAA9B;AACA,QAAM;AACLoC,IAAAA,cADK;AAELC,IAAAA,sBAFK;AAGLC,IAAAA,sBAHK;AAILC,IAAAA,sBAJK;AAKLC,IAAAA,0BALK;AAMLC,IAAAA,iBANK;AAOLC,IAAAA,YAPK;AAQLjB,IAAAA;AARK,MASFS,MAAM,CAAE9B,WAAF,CATV;AAUA,QAAM;AAAEmB,IAAAA;AAAF,MAA8BW,MAAM,CAAE9B,WAAF,CAA1C;AACA,QAAMuC,QAAQ,GAAGR,WAAW,CAAEE,sBAAsB,CAAE,MAAF,CAAxB,CAA5B;AAEA,SAAO;AACNpB,IAAAA,gBAAgB,2BACfmB,cAAc,GAAGQ,MAAjB,GAA2B,mBAA3B,CADe,yEACqC,KAF/C;AAGN1B,IAAAA,kBAAkB,EAAEyB,QAAQ,EAAEE,QAHxB;AAINvB,IAAAA,gBAAgB,EAAEkB,0BAA0B,EAJtC;AAKNzB,IAAAA,OAAO,EAAE0B,iBAAiB,EALpB;AAMN7B,IAAAA,WAAW,EAAE0B,sBAAsB,EAN7B;AAONf,IAAAA,uBAAuB,EAAEA,uBAAuB,EAP1C;AAQNT,IAAAA,QAAQ,EAAE4B,YAAY,EARhB;AASNjB,IAAAA,4BAA4B,EAAEA,4BAA4B,EATpD;AAUND,IAAAA,WAAW,EAAEe,sBAAsB;AAV7B,GAAP;AAYA,CA3BS,CADa,EA6BvB3C,YAAY,CAAE,CAAEkD,QAAF,EAAY;AAAEvB,EAAAA;AAAF,CAAZ,KAA6C;AAC1D,QAAM;AAAEwB,IAAAA,qBAAF;AAAyBC,IAAAA;AAAzB,MACLF,QAAQ,CAAE1C,WAAF,CADT;AAEA,SAAO;AACNsB,IAAAA,sBAAsB,EAAE,MAAM;AAC7B,UAAKH,uBAAL,EAA+B;AAC9BwB,QAAAA,qBAAqB;AACrB,OAFD,MAEO;AACNC,QAAAA,oBAAoB;AACpB;AACD;AAPK,GAAP;AASA,CAZW,CA7BW,EA0CvBvD,eA1CuB,EA2CvBC,sBA3CuB,CAAF,CAAP,CA4CVW,gBA5CU,CAAf","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { Component } from '@wordpress/element';\nimport {\n\tButton,\n\tSpinner,\n\tCheckboxControl,\n\twithFocusReturn,\n\twithConstrainedTabbing,\n} from '@wordpress/components';\nimport { withSelect, withDispatch } from '@wordpress/data';\nimport { compose } from '@wordpress/compose';\nimport { closeSmall } from '@wordpress/icons';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport PostPublishButton from '../post-publish-button';\nimport PostPublishPanelPrepublish from './prepublish';\nimport PostPublishPanelPostpublish from './postpublish';\nimport { store as editorStore } from '../../store';\n\nexport class PostPublishPanel extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\t\tthis.onSubmit = this.onSubmit.bind( this );\n\t}\n\n\tcomponentDidUpdate( prevProps ) {\n\t\t// Automatically collapse the publish sidebar when a post\n\t\t// is published and the user makes an edit.\n\t\tif (\n\t\t\tprevProps.isPublished &&\n\t\t\t! this.props.isSaving &&\n\t\t\tthis.props.isDirty\n\t\t) {\n\t\t\tthis.props.onClose();\n\t\t}\n\t}\n\n\tonSubmit() {\n\t\tconst { onClose, hasPublishAction, isPostTypeViewable } = this.props;\n\t\tif ( ! hasPublishAction || ! isPostTypeViewable ) {\n\t\t\tonClose();\n\t\t}\n\t}\n\n\trender() {\n\t\tconst {\n\t\t\tforceIsDirty,\n\t\t\tforceIsSaving,\n\t\t\tisBeingScheduled,\n\t\t\tisPublished,\n\t\t\tisPublishSidebarEnabled,\n\t\t\tisScheduled,\n\t\t\tisSaving,\n\t\t\tisSavingNonPostEntityChanges,\n\t\t\tonClose,\n\t\t\tonTogglePublishSidebar,\n\t\t\tPostPublishExtension,\n\t\t\tPrePublishExtension,\n\t\t\t...additionalProps\n\t\t} = this.props;\n\t\tconst {\n\t\t\thasPublishAction,\n\t\t\tisDirty,\n\t\t\tisPostTypeViewable,\n\t\t\t...propsForPanel\n\t\t} = additionalProps;\n\t\tconst isPublishedOrScheduled =\n\t\t\tisPublished || ( isScheduled && isBeingScheduled );\n\t\tconst isPrePublish = ! isPublishedOrScheduled && ! isSaving;\n\t\tconst isPostPublish = isPublishedOrScheduled && ! isSaving;\n\t\treturn (\n\t\t\t<div className=\"editor-post-publish-panel\" { ...propsForPanel }>\n\t\t\t\t<div className=\"editor-post-publish-panel__header\">\n\t\t\t\t\t{ isPostPublish ? (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tonClick={ onClose }\n\t\t\t\t\t\t\ticon={ closeSmall }\n\t\t\t\t\t\t\tlabel={ __( 'Close panel' ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<div className=\"editor-post-publish-panel__header-publish-button\">\n\t\t\t\t\t\t\t\t<PostPublishButton\n\t\t\t\t\t\t\t\t\tfocusOnMount={ true }\n\t\t\t\t\t\t\t\t\tonSubmit={ this.onSubmit }\n\t\t\t\t\t\t\t\t\tforceIsDirty={ forceIsDirty }\n\t\t\t\t\t\t\t\t\tforceIsSaving={ forceIsSaving }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div className=\"editor-post-publish-panel__header-cancel-button\">\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\tdisabled={ isSavingNonPostEntityChanges }\n\t\t\t\t\t\t\t\t\tonClick={ onClose }\n\t\t\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</>\n\t\t\t\t\t) }\n\t\t\t\t</div>\n\t\t\t\t<div className=\"editor-post-publish-panel__content\">\n\t\t\t\t\t{ isPrePublish && (\n\t\t\t\t\t\t<PostPublishPanelPrepublish>\n\t\t\t\t\t\t\t{ PrePublishExtension && <PrePublishExtension /> }\n\t\t\t\t\t\t</PostPublishPanelPrepublish>\n\t\t\t\t\t) }\n\t\t\t\t\t{ isPostPublish && (\n\t\t\t\t\t\t<PostPublishPanelPostpublish focusOnMount={ true }>\n\t\t\t\t\t\t\t{ PostPublishExtension && <PostPublishExtension /> }\n\t\t\t\t\t\t</PostPublishPanelPostpublish>\n\t\t\t\t\t) }\n\t\t\t\t\t{ isSaving && <Spinner /> }\n\t\t\t\t</div>\n\t\t\t\t<div className=\"editor-post-publish-panel__footer\">\n\t\t\t\t\t<CheckboxControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Always show pre-publish checks.' ) }\n\t\t\t\t\t\tchecked={ isPublishSidebarEnabled }\n\t\t\t\t\t\tonChange={ onTogglePublishSidebar }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nexport default compose( [\n\twithSelect( ( select ) => {\n\t\tconst { getPostType } = select( coreStore );\n\t\tconst {\n\t\t\tgetCurrentPost,\n\t\t\tgetEditedPostAttribute,\n\t\t\tisCurrentPostPublished,\n\t\t\tisCurrentPostScheduled,\n\t\t\tisEditedPostBeingScheduled,\n\t\t\tisEditedPostDirty,\n\t\t\tisSavingPost,\n\t\t\tisSavingNonPostEntityChanges,\n\t\t} = select( editorStore );\n\t\tconst { isPublishSidebarEnabled } = select( editorStore );\n\t\tconst postType = getPostType( getEditedPostAttribute( 'type' ) );\n\n\t\treturn {\n\t\t\thasPublishAction:\n\t\t\t\tgetCurrentPost()._links?.[ 'wp:action-publish' ] ?? false,\n\t\t\tisPostTypeViewable: postType?.viewable,\n\t\t\tisBeingScheduled: isEditedPostBeingScheduled(),\n\t\t\tisDirty: isEditedPostDirty(),\n\t\t\tisPublished: isCurrentPostPublished(),\n\t\t\tisPublishSidebarEnabled: isPublishSidebarEnabled(),\n\t\t\tisSaving: isSavingPost(),\n\t\t\tisSavingNonPostEntityChanges: isSavingNonPostEntityChanges(),\n\t\t\tisScheduled: isCurrentPostScheduled(),\n\t\t};\n\t} ),\n\twithDispatch( ( dispatch, { isPublishSidebarEnabled } ) => {\n\t\tconst { disablePublishSidebar, enablePublishSidebar } =\n\t\t\tdispatch( editorStore );\n\t\treturn {\n\t\t\tonTogglePublishSidebar: () => {\n\t\t\t\tif ( isPublishSidebarEnabled ) {\n\t\t\t\t\tdisablePublishSidebar();\n\t\t\t\t} else {\n\t\t\t\t\tenablePublishSidebar();\n\t\t\t\t}\n\t\t\t},\n\t\t};\n\t} ),\n\twithFocusReturn,\n\twithConstrainedTabbing,\n] )( PostPublishPanel );\n"]}
1
+ {"version":3,"sources":["@wordpress/editor/src/components/post-publish-panel/index.js"],"names":["__","Component","Button","Spinner","CheckboxControl","withFocusReturn","withConstrainedTabbing","withSelect","withDispatch","compose","closeSmall","store","coreStore","PostPublishButton","PostPublishPanelPrepublish","PostPublishPanelPostpublish","editorStore","PostPublishPanel","constructor","arguments","onSubmit","bind","componentDidUpdate","prevProps","isPublished","props","isSaving","isDirty","onClose","hasPublishAction","isPostTypeViewable","render","forceIsDirty","forceIsSaving","isBeingScheduled","isPublishSidebarEnabled","isScheduled","isSavingNonPostEntityChanges","onTogglePublishSidebar","PostPublishExtension","PrePublishExtension","additionalProps","propsForPanel","isPublishedOrScheduled","isPrePublish","isPostPublish","select","getPostType","getCurrentPost","getEditedPostAttribute","isCurrentPostPublished","isCurrentPostScheduled","isEditedPostBeingScheduled","isEditedPostDirty","isAutosavingPost","isSavingPost","postType","_links","viewable","dispatch","disablePublishSidebar","enablePublishSidebar"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { Component } from '@wordpress/element';\nimport {\n\tButton,\n\tSpinner,\n\tCheckboxControl,\n\twithFocusReturn,\n\twithConstrainedTabbing,\n} from '@wordpress/components';\nimport { withSelect, withDispatch } from '@wordpress/data';\nimport { compose } from '@wordpress/compose';\nimport { closeSmall } from '@wordpress/icons';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport PostPublishButton from '../post-publish-button';\nimport PostPublishPanelPrepublish from './prepublish';\nimport PostPublishPanelPostpublish from './postpublish';\nimport { store as editorStore } from '../../store';\n\nexport class PostPublishPanel extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\t\tthis.onSubmit = this.onSubmit.bind( this );\n\t}\n\n\tcomponentDidUpdate( prevProps ) {\n\t\t// Automatically collapse the publish sidebar when a post\n\t\t// is published and the user makes an edit.\n\t\tif (\n\t\t\tprevProps.isPublished &&\n\t\t\t! this.props.isSaving &&\n\t\t\tthis.props.isDirty\n\t\t) {\n\t\t\tthis.props.onClose();\n\t\t}\n\t}\n\n\tonSubmit() {\n\t\tconst { onClose, hasPublishAction, isPostTypeViewable } = this.props;\n\t\tif ( ! hasPublishAction || ! isPostTypeViewable ) {\n\t\t\tonClose();\n\t\t}\n\t}\n\n\trender() {\n\t\tconst {\n\t\t\tforceIsDirty,\n\t\t\tforceIsSaving,\n\t\t\tisBeingScheduled,\n\t\t\tisPublished,\n\t\t\tisPublishSidebarEnabled,\n\t\t\tisScheduled,\n\t\t\tisSaving,\n\t\t\tisSavingNonPostEntityChanges,\n\t\t\tonClose,\n\t\t\tonTogglePublishSidebar,\n\t\t\tPostPublishExtension,\n\t\t\tPrePublishExtension,\n\t\t\t...additionalProps\n\t\t} = this.props;\n\t\tconst {\n\t\t\thasPublishAction,\n\t\t\tisDirty,\n\t\t\tisPostTypeViewable,\n\t\t\t...propsForPanel\n\t\t} = additionalProps;\n\t\tconst isPublishedOrScheduled =\n\t\t\tisPublished || ( isScheduled && isBeingScheduled );\n\t\tconst isPrePublish = ! isPublishedOrScheduled && ! isSaving;\n\t\tconst isPostPublish = isPublishedOrScheduled && ! isSaving;\n\t\treturn (\n\t\t\t<div className=\"editor-post-publish-panel\" { ...propsForPanel }>\n\t\t\t\t<div className=\"editor-post-publish-panel__header\">\n\t\t\t\t\t{ isPostPublish ? (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tonClick={ onClose }\n\t\t\t\t\t\t\ticon={ closeSmall }\n\t\t\t\t\t\t\tlabel={ __( 'Close panel' ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<div className=\"editor-post-publish-panel__header-publish-button\">\n\t\t\t\t\t\t\t\t<PostPublishButton\n\t\t\t\t\t\t\t\t\tfocusOnMount={ true }\n\t\t\t\t\t\t\t\t\tonSubmit={ this.onSubmit }\n\t\t\t\t\t\t\t\t\tforceIsDirty={ forceIsDirty }\n\t\t\t\t\t\t\t\t\tforceIsSaving={ forceIsSaving }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div className=\"editor-post-publish-panel__header-cancel-button\">\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\tdisabled={ isSavingNonPostEntityChanges }\n\t\t\t\t\t\t\t\t\tonClick={ onClose }\n\t\t\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</>\n\t\t\t\t\t) }\n\t\t\t\t</div>\n\t\t\t\t<div className=\"editor-post-publish-panel__content\">\n\t\t\t\t\t{ isPrePublish && (\n\t\t\t\t\t\t<PostPublishPanelPrepublish>\n\t\t\t\t\t\t\t{ PrePublishExtension && <PrePublishExtension /> }\n\t\t\t\t\t\t</PostPublishPanelPrepublish>\n\t\t\t\t\t) }\n\t\t\t\t\t{ isPostPublish && (\n\t\t\t\t\t\t<PostPublishPanelPostpublish focusOnMount={ true }>\n\t\t\t\t\t\t\t{ PostPublishExtension && <PostPublishExtension /> }\n\t\t\t\t\t\t</PostPublishPanelPostpublish>\n\t\t\t\t\t) }\n\t\t\t\t\t{ isSaving && <Spinner /> }\n\t\t\t\t</div>\n\t\t\t\t<div className=\"editor-post-publish-panel__footer\">\n\t\t\t\t\t<CheckboxControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Always show pre-publish checks.' ) }\n\t\t\t\t\t\tchecked={ isPublishSidebarEnabled }\n\t\t\t\t\t\tonChange={ onTogglePublishSidebar }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t}\n}\n\nexport default compose( [\n\twithSelect( ( select ) => {\n\t\tconst { getPostType } = select( coreStore );\n\t\tconst {\n\t\t\tgetCurrentPost,\n\t\t\tgetEditedPostAttribute,\n\t\t\tisCurrentPostPublished,\n\t\t\tisCurrentPostScheduled,\n\t\t\tisEditedPostBeingScheduled,\n\t\t\tisEditedPostDirty,\n\t\t\tisAutosavingPost,\n\t\t\tisSavingPost,\n\t\t\tisSavingNonPostEntityChanges,\n\t\t} = select( editorStore );\n\t\tconst { isPublishSidebarEnabled } = select( editorStore );\n\t\tconst postType = getPostType( getEditedPostAttribute( 'type' ) );\n\n\t\treturn {\n\t\t\thasPublishAction:\n\t\t\t\tgetCurrentPost()._links?.[ 'wp:action-publish' ] ?? false,\n\t\t\tisPostTypeViewable: postType?.viewable,\n\t\t\tisBeingScheduled: isEditedPostBeingScheduled(),\n\t\t\tisDirty: isEditedPostDirty(),\n\t\t\tisPublished: isCurrentPostPublished(),\n\t\t\tisPublishSidebarEnabled: isPublishSidebarEnabled(),\n\t\t\tisSaving: isSavingPost() && ! isAutosavingPost(),\n\t\t\tisSavingNonPostEntityChanges: isSavingNonPostEntityChanges(),\n\t\t\tisScheduled: isCurrentPostScheduled(),\n\t\t};\n\t} ),\n\twithDispatch( ( dispatch, { isPublishSidebarEnabled } ) => {\n\t\tconst { disablePublishSidebar, enablePublishSidebar } =\n\t\t\tdispatch( editorStore );\n\t\treturn {\n\t\t\tonTogglePublishSidebar: () => {\n\t\t\t\tif ( isPublishSidebarEnabled ) {\n\t\t\t\t\tdisablePublishSidebar();\n\t\t\t\t} else {\n\t\t\t\t\tenablePublishSidebar();\n\t\t\t\t}\n\t\t\t},\n\t\t};\n\t} ),\n\twithFocusReturn,\n\twithConstrainedTabbing,\n] )( PostPublishPanel );\n"]}
@@ -1,9 +1,9 @@
1
- import { createElement } from "@wordpress/element";
1
+ import { createElement, Fragment } from "@wordpress/element";
2
2
 
3
3
  /**
4
4
  * WordPress dependencies
5
5
  */
6
- import { Button, FlexItem, __experimentalConfirmDialog as ConfirmDialog } from '@wordpress/components';
6
+ import { Button, __experimentalConfirmDialog as ConfirmDialog } from '@wordpress/components';
7
7
  import { __ } from '@wordpress/i18n';
8
8
  import { withSelect, withDispatch } from '@wordpress/data';
9
9
  import { compose } from '@wordpress/compose';
@@ -39,9 +39,7 @@ function PostSwitchToDraftButton({
39
39
  onClick();
40
40
  };
41
41
 
42
- return createElement(FlexItem, {
43
- isBlock: true
44
- }, createElement(Button, {
42
+ return createElement(Fragment, null, createElement(Button, {
45
43
  className: "editor-post-switch-to-draft",
46
44
  onClick: () => {
47
45
  setShowConfirmDialog(true);
@@ -49,8 +47,8 @@ function PostSwitchToDraftButton({
49
47
  disabled: isSaving,
50
48
  variant: "secondary",
51
49
  style: {
52
- width: '100%',
53
- display: 'block'
50
+ flexGrow: '1',
51
+ justifyContent: 'center'
54
52
  }
55
53
  }, __('Switch to draft')), createElement(ConfirmDialog, {
56
54
  isOpen: showConfirmDialog,
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/editor/src/components/post-switch-to-draft-button/index.js"],"names":["Button","FlexItem","__experimentalConfirmDialog","ConfirmDialog","__","withSelect","withDispatch","compose","useState","store","editorStore","PostSwitchToDraftButton","isSaving","isPublished","isScheduled","onClick","showConfirmDialog","setShowConfirmDialog","alertMessage","handleConfirm","width","display","select","isSavingPost","isCurrentPostPublished","isCurrentPostScheduled","dispatch","editPost","savePost","status"],"mappings":";;AAAA;AACA;AACA;AACA,SACCA,MADD,EAECC,QAFD,EAGCC,2BAA2B,IAAIC,aAHhC,QAIO,uBAJP;AAKA,SAASC,EAAT,QAAmB,iBAAnB;AACA,SAASC,UAAT,EAAqBC,YAArB,QAAyC,iBAAzC;AACA,SAASC,OAAT,QAAwB,oBAAxB;AACA,SAASC,QAAT,QAAyB,oBAAzB;AAEA;AACA;AACA;;AACA,SAASC,KAAK,IAAIC,WAAlB,QAAqC,aAArC;;AAEA,SAASC,uBAAT,CAAkC;AACjCC,EAAAA,QADiC;AAEjCC,EAAAA,WAFiC;AAGjCC,EAAAA,WAHiC;AAIjCC,EAAAA;AAJiC,CAAlC,EAKI;AACH,QAAM,CAAEC,iBAAF,EAAqBC,oBAArB,IAA8CT,QAAQ,CAAE,KAAF,CAA5D;;AAEA,MAAK,CAAEK,WAAF,IAAiB,CAAEC,WAAxB,EAAsC;AACrC,WAAO,IAAP;AACA;;AAED,MAAII,YAAJ;;AACA,MAAKL,WAAL,EAAmB;AAClBK,IAAAA,YAAY,GAAGd,EAAE,CAAE,+CAAF,CAAjB;AACA,GAFD,MAEO,IAAKU,WAAL,EAAmB;AACzBI,IAAAA,YAAY,GAAGd,EAAE,CAAE,gDAAF,CAAjB;AACA;;AAED,QAAMe,aAAa,GAAG,MAAM;AAC3BF,IAAAA,oBAAoB,CAAE,KAAF,CAApB;AACAF,IAAAA,OAAO;AACP,GAHD;;AAKA,SACC,cAAC,QAAD;AAAU,IAAA,OAAO;AAAjB,KACC,cAAC,MAAD;AACC,IAAA,SAAS,EAAC,6BADX;AAEC,IAAA,OAAO,EAAG,MAAM;AACfE,MAAAA,oBAAoB,CAAE,IAAF,CAApB;AACA,KAJF;AAKC,IAAA,QAAQ,EAAGL,QALZ;AAMC,IAAA,OAAO,EAAC,WANT;AAOC,IAAA,KAAK,EAAG;AAAEQ,MAAAA,KAAK,EAAE,MAAT;AAAiBC,MAAAA,OAAO,EAAE;AAA1B;AAPT,KASGjB,EAAE,CAAE,iBAAF,CATL,CADD,EAYC,cAAC,aAAD;AACC,IAAA,MAAM,EAAGY,iBADV;AAEC,IAAA,SAAS,EAAGG,aAFb;AAGC,IAAA,QAAQ,EAAG,MAAMF,oBAAoB,CAAE,KAAF;AAHtC,KAKGC,YALH,CAZD,CADD;AAsBA;;AAED,eAAeX,OAAO,CAAE,CACvBF,UAAU,CAAIiB,MAAF,IAAc;AACzB,QAAM;AAAEC,IAAAA,YAAF;AAAgBC,IAAAA,sBAAhB;AAAwCC,IAAAA;AAAxC,MACLH,MAAM,CAAEZ,WAAF,CADP;AAEA,SAAO;AACNE,IAAAA,QAAQ,EAAEW,YAAY,EADhB;AAENV,IAAAA,WAAW,EAAEW,sBAAsB,EAF7B;AAGNV,IAAAA,WAAW,EAAEW,sBAAsB;AAH7B,GAAP;AAKA,CARS,CADa,EAUvBnB,YAAY,CAAIoB,QAAF,IAAgB;AAC7B,QAAM;AAAEC,IAAAA,QAAF;AAAYC,IAAAA;AAAZ,MAAyBF,QAAQ,CAAEhB,WAAF,CAAvC;AACA,SAAO;AACNK,IAAAA,OAAO,EAAE,MAAM;AACdY,MAAAA,QAAQ,CAAE;AAAEE,QAAAA,MAAM,EAAE;AAAV,OAAF,CAAR;AACAD,MAAAA,QAAQ;AACR;AAJK,GAAP;AAMA,CARW,CAVW,CAAF,CAAP,CAmBVjB,uBAnBU,CAAf","sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tButton,\n\tFlexItem,\n\t__experimentalConfirmDialog as ConfirmDialog,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { withSelect, withDispatch } from '@wordpress/data';\nimport { compose } from '@wordpress/compose';\nimport { useState } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\n\nfunction PostSwitchToDraftButton( {\n\tisSaving,\n\tisPublished,\n\tisScheduled,\n\tonClick,\n} ) {\n\tconst [ showConfirmDialog, setShowConfirmDialog ] = useState( false );\n\n\tif ( ! isPublished && ! isScheduled ) {\n\t\treturn null;\n\t}\n\n\tlet alertMessage;\n\tif ( isPublished ) {\n\t\talertMessage = __( 'Are you sure you want to unpublish this post?' );\n\t} else if ( isScheduled ) {\n\t\talertMessage = __( 'Are you sure you want to unschedule this post?' );\n\t}\n\n\tconst handleConfirm = () => {\n\t\tsetShowConfirmDialog( false );\n\t\tonClick();\n\t};\n\n\treturn (\n\t\t<FlexItem isBlock>\n\t\t\t<Button\n\t\t\t\tclassName=\"editor-post-switch-to-draft\"\n\t\t\t\tonClick={ () => {\n\t\t\t\t\tsetShowConfirmDialog( true );\n\t\t\t\t} }\n\t\t\t\tdisabled={ isSaving }\n\t\t\t\tvariant=\"secondary\"\n\t\t\t\tstyle={ { width: '100%', display: 'block' } }\n\t\t\t>\n\t\t\t\t{ __( 'Switch to draft' ) }\n\t\t\t</Button>\n\t\t\t<ConfirmDialog\n\t\t\t\tisOpen={ showConfirmDialog }\n\t\t\t\tonConfirm={ handleConfirm }\n\t\t\t\tonCancel={ () => setShowConfirmDialog( false ) }\n\t\t\t>\n\t\t\t\t{ alertMessage }\n\t\t\t</ConfirmDialog>\n\t\t</FlexItem>\n\t);\n}\n\nexport default compose( [\n\twithSelect( ( select ) => {\n\t\tconst { isSavingPost, isCurrentPostPublished, isCurrentPostScheduled } =\n\t\t\tselect( editorStore );\n\t\treturn {\n\t\t\tisSaving: isSavingPost(),\n\t\t\tisPublished: isCurrentPostPublished(),\n\t\t\tisScheduled: isCurrentPostScheduled(),\n\t\t};\n\t} ),\n\twithDispatch( ( dispatch ) => {\n\t\tconst { editPost, savePost } = dispatch( editorStore );\n\t\treturn {\n\t\t\tonClick: () => {\n\t\t\t\teditPost( { status: 'draft' } );\n\t\t\t\tsavePost();\n\t\t\t},\n\t\t};\n\t} ),\n] )( PostSwitchToDraftButton );\n"]}
1
+ {"version":3,"sources":["@wordpress/editor/src/components/post-switch-to-draft-button/index.js"],"names":["Button","__experimentalConfirmDialog","ConfirmDialog","__","withSelect","withDispatch","compose","useState","store","editorStore","PostSwitchToDraftButton","isSaving","isPublished","isScheduled","onClick","showConfirmDialog","setShowConfirmDialog","alertMessage","handleConfirm","flexGrow","justifyContent","select","isSavingPost","isCurrentPostPublished","isCurrentPostScheduled","dispatch","editPost","savePost","status"],"mappings":";;AAAA;AACA;AACA;AACA,SACCA,MADD,EAECC,2BAA2B,IAAIC,aAFhC,QAGO,uBAHP;AAIA,SAASC,EAAT,QAAmB,iBAAnB;AACA,SAASC,UAAT,EAAqBC,YAArB,QAAyC,iBAAzC;AACA,SAASC,OAAT,QAAwB,oBAAxB;AACA,SAASC,QAAT,QAAyB,oBAAzB;AAEA;AACA;AACA;;AACA,SAASC,KAAK,IAAIC,WAAlB,QAAqC,aAArC;;AAEA,SAASC,uBAAT,CAAkC;AACjCC,EAAAA,QADiC;AAEjCC,EAAAA,WAFiC;AAGjCC,EAAAA,WAHiC;AAIjCC,EAAAA;AAJiC,CAAlC,EAKI;AACH,QAAM,CAAEC,iBAAF,EAAqBC,oBAArB,IAA8CT,QAAQ,CAAE,KAAF,CAA5D;;AAEA,MAAK,CAAEK,WAAF,IAAiB,CAAEC,WAAxB,EAAsC;AACrC,WAAO,IAAP;AACA;;AAED,MAAII,YAAJ;;AACA,MAAKL,WAAL,EAAmB;AAClBK,IAAAA,YAAY,GAAGd,EAAE,CAAE,+CAAF,CAAjB;AACA,GAFD,MAEO,IAAKU,WAAL,EAAmB;AACzBI,IAAAA,YAAY,GAAGd,EAAE,CAAE,gDAAF,CAAjB;AACA;;AAED,QAAMe,aAAa,GAAG,MAAM;AAC3BF,IAAAA,oBAAoB,CAAE,KAAF,CAApB;AACAF,IAAAA,OAAO;AACP,GAHD;;AAKA,SACC,8BACC,cAAC,MAAD;AACC,IAAA,SAAS,EAAC,6BADX;AAEC,IAAA,OAAO,EAAG,MAAM;AACfE,MAAAA,oBAAoB,CAAE,IAAF,CAApB;AACA,KAJF;AAKC,IAAA,QAAQ,EAAGL,QALZ;AAMC,IAAA,OAAO,EAAC,WANT;AAOC,IAAA,KAAK,EAAG;AAAEQ,MAAAA,QAAQ,EAAE,GAAZ;AAAiBC,MAAAA,cAAc,EAAE;AAAjC;AAPT,KASGjB,EAAE,CAAE,iBAAF,CATL,CADD,EAYC,cAAC,aAAD;AACC,IAAA,MAAM,EAAGY,iBADV;AAEC,IAAA,SAAS,EAAGG,aAFb;AAGC,IAAA,QAAQ,EAAG,MAAMF,oBAAoB,CAAE,KAAF;AAHtC,KAKGC,YALH,CAZD,CADD;AAsBA;;AAED,eAAeX,OAAO,CAAE,CACvBF,UAAU,CAAIiB,MAAF,IAAc;AACzB,QAAM;AAAEC,IAAAA,YAAF;AAAgBC,IAAAA,sBAAhB;AAAwCC,IAAAA;AAAxC,MACLH,MAAM,CAAEZ,WAAF,CADP;AAEA,SAAO;AACNE,IAAAA,QAAQ,EAAEW,YAAY,EADhB;AAENV,IAAAA,WAAW,EAAEW,sBAAsB,EAF7B;AAGNV,IAAAA,WAAW,EAAEW,sBAAsB;AAH7B,GAAP;AAKA,CARS,CADa,EAUvBnB,YAAY,CAAIoB,QAAF,IAAgB;AAC7B,QAAM;AAAEC,IAAAA,QAAF;AAAYC,IAAAA;AAAZ,MAAyBF,QAAQ,CAAEhB,WAAF,CAAvC;AACA,SAAO;AACNK,IAAAA,OAAO,EAAE,MAAM;AACdY,MAAAA,QAAQ,CAAE;AAAEE,QAAAA,MAAM,EAAE;AAAV,OAAF,CAAR;AACAD,MAAAA,QAAQ;AACR;AAJK,GAAP;AAMA,CARW,CAVW,CAAF,CAAP,CAmBVjB,uBAnBU,CAAf","sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tButton,\n\t__experimentalConfirmDialog as ConfirmDialog,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { withSelect, withDispatch } from '@wordpress/data';\nimport { compose } from '@wordpress/compose';\nimport { useState } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\n\nfunction PostSwitchToDraftButton( {\n\tisSaving,\n\tisPublished,\n\tisScheduled,\n\tonClick,\n} ) {\n\tconst [ showConfirmDialog, setShowConfirmDialog ] = useState( false );\n\n\tif ( ! isPublished && ! isScheduled ) {\n\t\treturn null;\n\t}\n\n\tlet alertMessage;\n\tif ( isPublished ) {\n\t\talertMessage = __( 'Are you sure you want to unpublish this post?' );\n\t} else if ( isScheduled ) {\n\t\talertMessage = __( 'Are you sure you want to unschedule this post?' );\n\t}\n\n\tconst handleConfirm = () => {\n\t\tsetShowConfirmDialog( false );\n\t\tonClick();\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t<Button\n\t\t\t\tclassName=\"editor-post-switch-to-draft\"\n\t\t\t\tonClick={ () => {\n\t\t\t\t\tsetShowConfirmDialog( true );\n\t\t\t\t} }\n\t\t\t\tdisabled={ isSaving }\n\t\t\t\tvariant=\"secondary\"\n\t\t\t\tstyle={ { flexGrow: '1', justifyContent: 'center' } }\n\t\t\t>\n\t\t\t\t{ __( 'Switch to draft' ) }\n\t\t\t</Button>\n\t\t\t<ConfirmDialog\n\t\t\t\tisOpen={ showConfirmDialog }\n\t\t\t\tonConfirm={ handleConfirm }\n\t\t\t\tonCancel={ () => setShowConfirmDialog( false ) }\n\t\t\t>\n\t\t\t\t{ alertMessage }\n\t\t\t</ConfirmDialog>\n\t\t</>\n\t);\n}\n\nexport default compose( [\n\twithSelect( ( select ) => {\n\t\tconst { isSavingPost, isCurrentPostPublished, isCurrentPostScheduled } =\n\t\t\tselect( editorStore );\n\t\treturn {\n\t\t\tisSaving: isSavingPost(),\n\t\t\tisPublished: isCurrentPostPublished(),\n\t\t\tisScheduled: isCurrentPostScheduled(),\n\t\t};\n\t} ),\n\twithDispatch( ( dispatch ) => {\n\t\tconst { editPost, savePost } = dispatch( editorStore );\n\t\treturn {\n\t\t\tonClick: () => {\n\t\t\t\teditPost( { status: 'draft' } );\n\t\t\t\tsavePost();\n\t\t\t},\n\t\t};\n\t} ),\n] )( PostSwitchToDraftButton );\n"]}
@@ -13,14 +13,14 @@ import { PanelRow } from '@wordpress/components';
13
13
  import { store as editorStore } from '../../store';
14
14
  export default function PostSyncStatus() {
15
15
  const {
16
- meta,
16
+ syncStatus,
17
17
  postType
18
18
  } = useSelect(select => {
19
19
  const {
20
20
  getEditedPostAttribute
21
21
  } = select(editorStore);
22
22
  return {
23
- meta: getEditedPostAttribute('meta'),
23
+ syncStatus: getEditedPostAttribute('wp_pattern_sync_status'),
24
24
  postType: getEditedPostAttribute('type')
25
25
  };
26
26
  }, []);
@@ -29,7 +29,6 @@ export default function PostSyncStatus() {
29
29
  return null;
30
30
  }
31
31
 
32
- const syncStatus = meta?.sync_status;
33
32
  const isFullySynced = !syncStatus;
34
33
  return createElement(PanelRow, {
35
34
  className: "edit-post-sync-status"
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/editor/src/components/post-sync-status/index.js"],"names":["useSelect","__","PanelRow","store","editorStore","PostSyncStatus","meta","postType","select","getEditedPostAttribute","syncStatus","sync_status","isFullySynced"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,SAAT,QAA0B,iBAA1B;AACA,SAASC,EAAT,QAAmB,iBAAnB;AACA,SAASC,QAAT,QAAyB,uBAAzB;AAEA;AACA;AACA;;AACA,SAASC,KAAK,IAAIC,WAAlB,QAAqC,aAArC;AAEA,eAAe,SAASC,cAAT,GAA0B;AACxC,QAAM;AAAEC,IAAAA,IAAF;AAAQC,IAAAA;AAAR,MAAqBP,SAAS,CAAIQ,MAAF,IAAc;AACnD,UAAM;AAAEC,MAAAA;AAAF,QAA6BD,MAAM,CAAEJ,WAAF,CAAzC;AACA,WAAO;AACNE,MAAAA,IAAI,EAAEG,sBAAsB,CAAE,MAAF,CADtB;AAENF,MAAAA,QAAQ,EAAEE,sBAAsB,CAAE,MAAF;AAF1B,KAAP;AAIA,GANmC,EAMjC,EANiC,CAApC;;AAOA,MAAKF,QAAQ,KAAK,UAAlB,EAA+B;AAC9B,WAAO,IAAP;AACA;;AACD,QAAMG,UAAU,GAAGJ,IAAI,EAAEK,WAAzB;AACA,QAAMC,aAAa,GAAG,CAAEF,UAAxB;AAEA,SACC,cAAC,QAAD;AAAU,IAAA,SAAS,EAAC;AAApB,KACC,4BAAQT,EAAE,CAAE,aAAF,CAAV,CADD,EAEC,2BACGW,aAAa,GAAGX,EAAE,CAAE,cAAF,CAAL,GAA0BA,EAAE,CAAE,YAAF,CAD5C,CAFD,CADD;AAQA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { __ } from '@wordpress/i18n';\nimport { PanelRow } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\n\nexport default function PostSyncStatus() {\n\tconst { meta, postType } = useSelect( ( select ) => {\n\t\tconst { getEditedPostAttribute } = select( editorStore );\n\t\treturn {\n\t\t\tmeta: getEditedPostAttribute( 'meta' ),\n\t\t\tpostType: getEditedPostAttribute( 'type' ),\n\t\t};\n\t}, [] );\n\tif ( postType !== 'wp_block' ) {\n\t\treturn null;\n\t}\n\tconst syncStatus = meta?.sync_status;\n\tconst isFullySynced = ! syncStatus;\n\n\treturn (\n\t\t<PanelRow className=\"edit-post-sync-status\">\n\t\t\t<span>{ __( 'Sync status' ) }</span>\n\t\t\t<div>\n\t\t\t\t{ isFullySynced ? __( 'Fully synced' ) : __( 'Not synced' ) }\n\t\t\t</div>\n\t\t</PanelRow>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/editor/src/components/post-sync-status/index.js"],"names":["useSelect","__","PanelRow","store","editorStore","PostSyncStatus","syncStatus","postType","select","getEditedPostAttribute","isFullySynced"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,SAAT,QAA0B,iBAA1B;AACA,SAASC,EAAT,QAAmB,iBAAnB;AACA,SAASC,QAAT,QAAyB,uBAAzB;AAEA;AACA;AACA;;AACA,SAASC,KAAK,IAAIC,WAAlB,QAAqC,aAArC;AAEA,eAAe,SAASC,cAAT,GAA0B;AACxC,QAAM;AAAEC,IAAAA,UAAF;AAAcC,IAAAA;AAAd,MAA2BP,SAAS,CAAIQ,MAAF,IAAc;AACzD,UAAM;AAAEC,MAAAA;AAAF,QAA6BD,MAAM,CAAEJ,WAAF,CAAzC;AACA,WAAO;AACNE,MAAAA,UAAU,EAAEG,sBAAsB,CAAE,wBAAF,CAD5B;AAENF,MAAAA,QAAQ,EAAEE,sBAAsB,CAAE,MAAF;AAF1B,KAAP;AAIA,GANyC,EAMvC,EANuC,CAA1C;;AAOA,MAAKF,QAAQ,KAAK,UAAlB,EAA+B;AAC9B,WAAO,IAAP;AACA;;AAED,QAAMG,aAAa,GAAG,CAAEJ,UAAxB;AAEA,SACC,cAAC,QAAD;AAAU,IAAA,SAAS,EAAC;AAApB,KACC,4BAAQL,EAAE,CAAE,aAAF,CAAV,CADD,EAEC,2BACGS,aAAa,GAAGT,EAAE,CAAE,cAAF,CAAL,GAA0BA,EAAE,CAAE,YAAF,CAD5C,CAFD,CADD;AAQA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { __ } from '@wordpress/i18n';\nimport { PanelRow } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\n\nexport default function PostSyncStatus() {\n\tconst { syncStatus, postType } = useSelect( ( select ) => {\n\t\tconst { getEditedPostAttribute } = select( editorStore );\n\t\treturn {\n\t\t\tsyncStatus: getEditedPostAttribute( 'wp_pattern_sync_status' ),\n\t\t\tpostType: getEditedPostAttribute( 'type' ),\n\t\t};\n\t}, [] );\n\tif ( postType !== 'wp_block' ) {\n\t\treturn null;\n\t}\n\n\tconst isFullySynced = ! syncStatus;\n\n\treturn (\n\t\t<PanelRow className=\"edit-post-sync-status\">\n\t\t\t<span>{ __( 'Sync status' ) }</span>\n\t\t\t<div>\n\t\t\t\t{ isFullySynced ? __( 'Fully synced' ) : __( 'Not synced' ) }\n\t\t\t</div>\n\t\t</PanelRow>\n\t);\n}\n"]}
@@ -871,8 +871,8 @@
871
871
  }
872
872
 
873
873
  .editor-post-trash.components-button {
874
- width: 100%;
875
- display: block;
874
+ flex-grow: 1;
875
+ justify-content: center;
876
876
  }
877
877
 
878
878
  .table-of-contents__popover.components-popover .components-popover__content {
@@ -875,8 +875,8 @@
875
875
  }
876
876
 
877
877
  .editor-post-trash.components-button {
878
- width: 100%;
879
- display: block;
878
+ flex-grow: 1;
879
+ justify-content: center;
880
880
  }
881
881
 
882
882
  .table-of-contents__popover.components-popover .components-popover__content {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wordpress/editor",
3
- "version": "13.12.4",
3
+ "version": "13.14.0",
4
4
  "description": "Enhanced block editor for WordPress posts.",
5
5
  "author": "The WordPress Contributors",
6
6
  "license": "GPL-2.0-or-later",
@@ -31,34 +31,34 @@
31
31
  ],
32
32
  "dependencies": {
33
33
  "@babel/runtime": "^7.16.0",
34
- "@wordpress/a11y": "^3.35.1",
35
- "@wordpress/api-fetch": "^6.32.1",
36
- "@wordpress/blob": "^3.35.1",
37
- "@wordpress/block-editor": "^12.3.4",
38
- "@wordpress/blocks": "^12.12.2",
39
- "@wordpress/components": "^25.1.4",
40
- "@wordpress/compose": "^6.12.1",
41
- "@wordpress/core-data": "^6.12.4",
42
- "@wordpress/data": "^9.5.2",
43
- "@wordpress/date": "^4.35.1",
44
- "@wordpress/deprecated": "^3.35.1",
45
- "@wordpress/dom": "^3.35.1",
46
- "@wordpress/element": "^5.12.1",
47
- "@wordpress/hooks": "^3.35.1",
48
- "@wordpress/html-entities": "^3.35.1",
49
- "@wordpress/i18n": "^4.35.1",
50
- "@wordpress/icons": "^9.26.2",
51
- "@wordpress/keyboard-shortcuts": "^4.12.2",
52
- "@wordpress/keycodes": "^3.35.1",
53
- "@wordpress/media-utils": "^4.26.1",
54
- "@wordpress/notices": "^4.3.2",
55
- "@wordpress/preferences": "^3.12.4",
56
- "@wordpress/private-apis": "^0.17.1",
57
- "@wordpress/reusable-blocks": "^4.12.4",
58
- "@wordpress/rich-text": "^6.12.2",
59
- "@wordpress/server-side-render": "^4.12.4",
60
- "@wordpress/url": "^3.36.1",
61
- "@wordpress/wordcount": "^3.35.1",
34
+ "@wordpress/a11y": "^3.37.0",
35
+ "@wordpress/api-fetch": "^6.34.0",
36
+ "@wordpress/blob": "^3.37.0",
37
+ "@wordpress/block-editor": "^12.5.0",
38
+ "@wordpress/blocks": "^12.14.0",
39
+ "@wordpress/components": "^25.3.0",
40
+ "@wordpress/compose": "^6.14.0",
41
+ "@wordpress/core-data": "^6.14.0",
42
+ "@wordpress/data": "^9.7.0",
43
+ "@wordpress/date": "^4.37.0",
44
+ "@wordpress/deprecated": "^3.37.0",
45
+ "@wordpress/dom": "^3.37.0",
46
+ "@wordpress/element": "^5.14.0",
47
+ "@wordpress/hooks": "^3.37.0",
48
+ "@wordpress/html-entities": "^3.37.0",
49
+ "@wordpress/i18n": "^4.37.0",
50
+ "@wordpress/icons": "^9.28.0",
51
+ "@wordpress/keyboard-shortcuts": "^4.14.0",
52
+ "@wordpress/keycodes": "^3.37.0",
53
+ "@wordpress/media-utils": "^4.28.0",
54
+ "@wordpress/notices": "^4.5.0",
55
+ "@wordpress/preferences": "^3.14.0",
56
+ "@wordpress/private-apis": "^0.19.0",
57
+ "@wordpress/reusable-blocks": "^4.14.0",
58
+ "@wordpress/rich-text": "^6.14.0",
59
+ "@wordpress/server-side-render": "^4.14.0",
60
+ "@wordpress/url": "^3.38.0",
61
+ "@wordpress/wordcount": "^3.37.0",
62
62
  "classnames": "^2.3.1",
63
63
  "date-fns": "^2.28.0",
64
64
  "memize": "^2.1.0",
@@ -73,5 +73,5 @@
73
73
  "publishConfig": {
74
74
  "access": "public"
75
75
  },
76
- "gitHead": "65fb4cd5187a47ca274c24c04a220bcdb2ddfa67"
76
+ "gitHead": "bcd13d59b22553b3c9dc5869077bff1e864cf9f5"
77
77
  }
@@ -20,27 +20,7 @@ import { store as coreStore } from '@wordpress/core-data';
20
20
 
21
21
  /** @typedef {import('@wordpress/block-editor').InserterMediaRequest} InserterMediaRequest */
22
22
  /** @typedef {import('@wordpress/block-editor').InserterMediaItem} InserterMediaItem */
23
- /**
24
- * Interface for inserter media category labels.
25
- *
26
- * @typedef {Object} InserterMediaCategoryLabels
27
- * @property {string} name General name of the media category. It's used in the inserter media items list.
28
- * @property {string} [search_items='Search'] Label for searching items. Default is ‘Search Posts’ / ‘Search Pages’.
29
- */
30
- /**
31
- * Interface for inserter media category.
32
- *
33
- * @typedef {Object} InserterMediaCategory
34
- * @property {string} name The name of the media category, that should be unique among all media categories.
35
- * @property {InserterMediaCategoryLabels} labels Labels for the media category.
36
- * @property {('image'|'audio'|'video')} mediaType The media type of the media category.
37
- * @property {(InserterMediaRequest) => Promise<InserterMediaItem[]>} fetch The function to fetch media items for the category.
38
- * @property {(InserterMediaItem) => string} [getReportUrl] If the media category supports reporting media items, this function should return
39
- * the report url for the media item. It accepts the `InserterMediaItem` as an argument.
40
- * @property {boolean} [isExternalResource] If the media category is an external resource, this should be set to true.
41
- * This is used to avoid making a request to the external resource when the user
42
- * opens the inserter for the first time.
43
- */
23
+ /** @typedef {import('@wordpress/block-editor').InserterMediaCategory} InserterMediaCategory */
44
24
 
45
25
  const getExternalLink = ( url, text ) =>
46
26
  `<a ${ getExternalLinkAttributes( url ) }>${ text }</a>`;
@@ -141,6 +141,7 @@ export default compose( [
141
141
  isCurrentPostScheduled,
142
142
  isEditedPostBeingScheduled,
143
143
  isEditedPostDirty,
144
+ isAutosavingPost,
144
145
  isSavingPost,
145
146
  isSavingNonPostEntityChanges,
146
147
  } = select( editorStore );
@@ -155,7 +156,7 @@ export default compose( [
155
156
  isDirty: isEditedPostDirty(),
156
157
  isPublished: isCurrentPostPublished(),
157
158
  isPublishSidebarEnabled: isPublishSidebarEnabled(),
158
- isSaving: isSavingPost(),
159
+ isSaving: isSavingPost() && ! isAutosavingPost(),
159
160
  isSavingNonPostEntityChanges: isSavingNonPostEntityChanges(),
160
161
  isScheduled: isCurrentPostScheduled(),
161
162
  };
@@ -3,7 +3,6 @@
3
3
  */
4
4
  import {
5
5
  Button,
6
- FlexItem,
7
6
  __experimentalConfirmDialog as ConfirmDialog,
8
7
  } from '@wordpress/components';
9
8
  import { __ } from '@wordpress/i18n';
@@ -41,7 +40,7 @@ function PostSwitchToDraftButton( {
41
40
  };
42
41
 
43
42
  return (
44
- <FlexItem isBlock>
43
+ <>
45
44
  <Button
46
45
  className="editor-post-switch-to-draft"
47
46
  onClick={ () => {
@@ -49,7 +48,7 @@ function PostSwitchToDraftButton( {
49
48
  } }
50
49
  disabled={ isSaving }
51
50
  variant="secondary"
52
- style={ { width: '100%', display: 'block' } }
51
+ style={ { flexGrow: '1', justifyContent: 'center' } }
53
52
  >
54
53
  { __( 'Switch to draft' ) }
55
54
  </Button>
@@ -60,7 +59,7 @@ function PostSwitchToDraftButton( {
60
59
  >
61
60
  { alertMessage }
62
61
  </ConfirmDialog>
63
- </FlexItem>
62
+ </>
64
63
  );
65
64
  }
66
65
 
@@ -11,17 +11,17 @@ import { PanelRow } from '@wordpress/components';
11
11
  import { store as editorStore } from '../../store';
12
12
 
13
13
  export default function PostSyncStatus() {
14
- const { meta, postType } = useSelect( ( select ) => {
14
+ const { syncStatus, postType } = useSelect( ( select ) => {
15
15
  const { getEditedPostAttribute } = select( editorStore );
16
16
  return {
17
- meta: getEditedPostAttribute( 'meta' ),
17
+ syncStatus: getEditedPostAttribute( 'wp_pattern_sync_status' ),
18
18
  postType: getEditedPostAttribute( 'type' ),
19
19
  };
20
20
  }, [] );
21
21
  if ( postType !== 'wp_block' ) {
22
22
  return null;
23
23
  }
24
- const syncStatus = meta?.sync_status;
24
+
25
25
  const isFullySynced = ! syncStatus;
26
26
 
27
27
  return (
@@ -1,4 +1,4 @@
1
1
  .editor-post-trash.components-button {
2
- width: 100%;
3
- display: block;
2
+ flex-grow: 1;
3
+ justify-content: center;
4
4
  }