@wordpress/edit-site 5.28.1 → 5.28.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/components/global-styles/font-library-modal/context.js +1 -1
- package/build/components/global-styles/font-library-modal/context.js.map +1 -1
- package/build/components/global-styles/font-library-modal/utils/index.js +1 -1
- package/build/components/global-styles/font-library-modal/utils/index.js.map +1 -1
- package/build/components/global-styles/font-library-modal/utils/make-families-from-faces.js +14 -1
- package/build/components/global-styles/font-library-modal/utils/make-families-from-faces.js.map +1 -1
- package/build/components/global-styles/font-library-modal/utils/preview-styles.js +64 -8
- package/build/components/global-styles/font-library-modal/utils/preview-styles.js.map +1 -1
- package/build/components/global-styles/screen-revisions/revisions-buttons.js +6 -4
- package/build/components/global-styles/screen-revisions/revisions-buttons.js.map +1 -1
- package/build/components/media/index.js +3 -3
- package/build/components/media/index.js.map +1 -1
- package/build/components/sidebar/index.js +7 -2
- package/build/components/sidebar/index.js.map +1 -1
- package/build/components/sidebar-dataviews/default-views.js +1 -1
- package/build/components/sidebar-dataviews/default-views.js.map +1 -1
- package/build/hooks/commands/use-edit-mode-commands.js +8 -8
- package/build/hooks/commands/use-edit-mode-commands.js.map +1 -1
- package/build-module/components/global-styles/font-library-modal/context.js +1 -1
- package/build-module/components/global-styles/font-library-modal/context.js.map +1 -1
- package/build-module/components/global-styles/font-library-modal/utils/index.js +2 -2
- package/build-module/components/global-styles/font-library-modal/utils/index.js.map +1 -1
- package/build-module/components/global-styles/font-library-modal/utils/make-families-from-faces.js +13 -1
- package/build-module/components/global-styles/font-library-modal/utils/make-families-from-faces.js.map +1 -1
- package/build-module/components/global-styles/font-library-modal/utils/preview-styles.js +63 -8
- package/build-module/components/global-styles/font-library-modal/utils/preview-styles.js.map +1 -1
- package/build-module/components/global-styles/screen-revisions/revisions-buttons.js +6 -4
- package/build-module/components/global-styles/screen-revisions/revisions-buttons.js.map +1 -1
- package/build-module/components/media/index.js +3 -3
- package/build-module/components/media/index.js.map +1 -1
- package/build-module/components/sidebar/index.js +7 -2
- package/build-module/components/sidebar/index.js.map +1 -1
- package/build-module/components/sidebar-dataviews/default-views.js +2 -2
- package/build-module/components/sidebar-dataviews/default-views.js.map +1 -1
- package/build-module/hooks/commands/use-edit-mode-commands.js +8 -8
- package/build-module/hooks/commands/use-edit-mode-commands.js.map +1 -1
- package/build-style/style-rtl.css +9 -8
- package/build-style/style.css +9 -8
- package/package.json +42 -42
- package/src/components/global-styles/font-library-modal/context.js +1 -1
- package/src/components/global-styles/font-library-modal/utils/index.js +2 -2
- package/src/components/global-styles/font-library-modal/utils/make-families-from-faces.js +13 -1
- package/src/components/global-styles/font-library-modal/utils/preview-styles.js +72 -15
- package/src/components/global-styles/font-library-modal/utils/test/preview-styles.spec.js +60 -5
- package/src/components/global-styles/screen-revisions/revisions-buttons.js +7 -5
- package/src/components/global-styles/screen-revisions/style.scss +11 -6
- package/src/components/media/index.js +7 -9
- package/src/components/sidebar/index.js +7 -2
- package/src/components/sidebar-dataviews/default-views.js +2 -2
- package/src/components/sidebar-edit-mode/page-panels/style.scss +0 -1
- package/src/hooks/commands/use-edit-mode-commands.js +14 -14
- package/build/components/sidebar-navigation-screen-pages-dataviews/index.js +0 -92
- package/build/components/sidebar-navigation-screen-pages-dataviews/index.js.map +0 -1
- package/build-module/components/sidebar-navigation-screen-pages-dataviews/index.js +0 -84
- package/build-module/components/sidebar-navigation-screen-pages-dataviews/index.js.map +0 -1
- package/src/components/sidebar-navigation-screen-pages-dataviews/index.js +0 -103
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["makeFamiliesFromFaces","fontFaces","fontFamiliesObject","reduce","acc","item","fontFamily","name","slug","
|
|
1
|
+
{"version":3,"names":["privateApis","componentsPrivateApis","unlock","kebabCase","makeFamiliesFromFaces","fontFaces","fontFamiliesObject","reduce","acc","item","fontFamily","name","slug","toLowerCase","fontFace","push","Object","values"],"sources":["@wordpress/edit-site/src/components/global-styles/font-library-modal/utils/make-families-from-faces.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { privateApis as componentsPrivateApis } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../../../lock-unlock';\n\nconst { kebabCase } = unlock( componentsPrivateApis );\n\nexport default function makeFamiliesFromFaces( fontFaces ) {\n\tconst fontFamiliesObject = fontFaces.reduce( ( acc, item ) => {\n\t\tif ( ! acc[ item.fontFamily ] ) {\n\t\t\tacc[ item.fontFamily ] = {\n\t\t\t\tname: item.fontFamily,\n\t\t\t\tfontFamily: item.fontFamily,\n\t\t\t\tslug: kebabCase( item.fontFamily.toLowerCase() ),\n\t\t\t\tfontFace: [],\n\t\t\t};\n\t\t}\n\t\tacc[ item.fontFamily ].fontFace.push( item );\n\t\treturn acc;\n\t}, {} );\n\treturn Object.values( fontFamiliesObject );\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,WAAW,IAAIC,qBAAqB,QAAQ,uBAAuB;;AAE5E;AACA;AACA;AACA,SAASC,MAAM,QAAQ,yBAAyB;AAEhD,MAAM;EAAEC;AAAU,CAAC,GAAGD,MAAM,CAAED,qBAAsB,CAAC;AAErD,eAAe,SAASG,qBAAqBA,CAAEC,SAAS,EAAG;EAC1D,MAAMC,kBAAkB,GAAGD,SAAS,CAACE,MAAM,CAAE,CAAEC,GAAG,EAAEC,IAAI,KAAM;IAC7D,IAAK,CAAED,GAAG,CAAEC,IAAI,CAACC,UAAU,CAAE,EAAG;MAC/BF,GAAG,CAAEC,IAAI,CAACC,UAAU,CAAE,GAAG;QACxBC,IAAI,EAAEF,IAAI,CAACC,UAAU;QACrBA,UAAU,EAAED,IAAI,CAACC,UAAU;QAC3BE,IAAI,EAAET,SAAS,CAAEM,IAAI,CAACC,UAAU,CAACG,WAAW,CAAC,CAAE,CAAC;QAChDC,QAAQ,EAAE;MACX,CAAC;IACF;IACAN,GAAG,CAAEC,IAAI,CAACC,UAAU,CAAE,CAACI,QAAQ,CAACC,IAAI,CAAEN,IAAK,CAAC;IAC5C,OAAOD,GAAG;EACX,CAAC,EAAE,CAAC,CAAE,CAAC;EACP,OAAOQ,MAAM,CAACC,MAAM,CAAEX,kBAAmB,CAAC;AAC3C"}
|
|
@@ -24,16 +24,71 @@ function extractFontWeights(fontFaces) {
|
|
|
24
24
|
});
|
|
25
25
|
return result;
|
|
26
26
|
}
|
|
27
|
+
|
|
28
|
+
/*
|
|
29
|
+
* Format the font family to use in the CSS font-family property of a CSS rule.
|
|
30
|
+
*
|
|
31
|
+
* The input can be a string with the font family name or a string with multiple font family names separated by commas.
|
|
32
|
+
* It follows the recommendations from the CSS Fonts Module Level 4.
|
|
33
|
+
* https://www.w3.org/TR/css-fonts-4/#font-family-prop
|
|
34
|
+
*
|
|
35
|
+
* @param {string} input - The font family.
|
|
36
|
+
* @return {string} The formatted font family.
|
|
37
|
+
*
|
|
38
|
+
* Example:
|
|
39
|
+
* formatFontFamily( "Open Sans, Font+Name, sans-serif" ) => '"Open Sans", "Font+Name", sans-serif'
|
|
40
|
+
* formatFontFamily( "'Open Sans', generic(kai), sans-serif" ) => '"Open Sans", sans-serif'
|
|
41
|
+
* formatFontFamily( "DotGothic16, Slabo 27px, serif" ) => '"DotGothic16","Slabo 27px",serif'
|
|
42
|
+
* formatFontFamily( "Mine's, Moe's Typography" ) => `"mine's","Moe's Typography"`
|
|
43
|
+
*/
|
|
27
44
|
export function formatFontFamily(input) {
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
45
|
+
// Matches strings that are not exclusively alphabetic characters or hyphens, and do not exactly follow the pattern generic(alphabetic characters or hyphens).
|
|
46
|
+
const regex = /^(?!generic\([ a-zA-Z\-]+\)$)(?!^[a-zA-Z\-]+$).+/;
|
|
47
|
+
const output = input.trim();
|
|
48
|
+
const formatItem = item => {
|
|
49
|
+
item = item.trim();
|
|
50
|
+
if (item.match(regex)) {
|
|
51
|
+
// removes leading and trailing quotes.
|
|
52
|
+
item = item.replace(/^["']|["']$/g, '');
|
|
53
|
+
return `"${item}"`;
|
|
34
54
|
}
|
|
35
|
-
return
|
|
36
|
-
}
|
|
55
|
+
return item;
|
|
56
|
+
};
|
|
57
|
+
if (output.includes(',')) {
|
|
58
|
+
return output.split(',').map(formatItem).filter(item => item !== '').join(', ');
|
|
59
|
+
}
|
|
60
|
+
return formatItem(output);
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
/*
|
|
64
|
+
* Format the font face name to use in the font-family property of a font face.
|
|
65
|
+
*
|
|
66
|
+
* The input can be a string with the font face name or a string with multiple font face names separated by commas.
|
|
67
|
+
* It removes the leading and trailing quotes from the font face name.
|
|
68
|
+
*
|
|
69
|
+
* @param {string} input - The font face name.
|
|
70
|
+
* @return {string} The formatted font face name.
|
|
71
|
+
*
|
|
72
|
+
* Example:
|
|
73
|
+
* formatFontFaceName("Open Sans") => "Open Sans"
|
|
74
|
+
* formatFontFaceName("'Open Sans', sans-serif") => "Open Sans"
|
|
75
|
+
* formatFontFaceName(", 'Open Sans', 'Helvetica Neue', sans-serif") => "Open Sans"
|
|
76
|
+
*/
|
|
77
|
+
export function formatFontFaceName(input) {
|
|
78
|
+
let output = input.trim();
|
|
79
|
+
if (output.includes(',')) {
|
|
80
|
+
output = output.split(',')
|
|
81
|
+
// finds the first item that is not an empty string.
|
|
82
|
+
.find(item => item.trim() !== '').trim();
|
|
83
|
+
}
|
|
84
|
+
// removes leading and trailing quotes.
|
|
85
|
+
output = output.replace(/^["']|["']$/g, '');
|
|
86
|
+
|
|
87
|
+
// Firefox needs the font name to be wrapped in double quotes meanwhile other browsers don't.
|
|
88
|
+
if (window.navigator.userAgent.toLowerCase().includes('firefox')) {
|
|
89
|
+
output = `"${output}"`;
|
|
90
|
+
}
|
|
91
|
+
return output;
|
|
37
92
|
}
|
|
38
93
|
export function getFamilyPreviewStyle(family) {
|
|
39
94
|
const style = {
|
package/build-module/components/global-styles/font-library-modal/utils/preview-styles.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["findNearest","input","numbers","length","sort","a","b","Math","abs","extractFontWeights","fontFaces","result","forEach","face","weights","String","fontWeight","split","start","parseInt","end","i","push","formatFontFamily","
|
|
1
|
+
{"version":3,"names":["findNearest","input","numbers","length","sort","a","b","Math","abs","extractFontWeights","fontFaces","result","forEach","face","weights","String","fontWeight","split","start","parseInt","end","i","push","formatFontFamily","regex","output","trim","formatItem","item","match","replace","includes","map","filter","join","formatFontFaceName","find","window","navigator","userAgent","toLowerCase","getFamilyPreviewStyle","family","style","fontFamily","Array","isArray","fontFace","fontStyle","normalFaces","normalWeights","nearestWeight","getFacePreviewStyle"],"sources":["@wordpress/edit-site/src/components/global-styles/font-library-modal/utils/preview-styles.js"],"sourcesContent":["function findNearest( input, numbers ) {\n\t// If the numbers array is empty, return null\n\tif ( numbers.length === 0 ) {\n\t\treturn null;\n\t}\n\t// Sort the array based on the absolute difference with the input\n\tnumbers.sort( ( a, b ) => Math.abs( input - a ) - Math.abs( input - b ) );\n\t// Return the first element (which will be the nearest) from the sorted array\n\treturn numbers[ 0 ];\n}\n\nfunction extractFontWeights( fontFaces ) {\n\tconst result = [];\n\n\tfontFaces.forEach( ( face ) => {\n\t\tconst weights = String( face.fontWeight ).split( ' ' );\n\n\t\tif ( weights.length === 2 ) {\n\t\t\tconst start = parseInt( weights[ 0 ] );\n\t\t\tconst end = parseInt( weights[ 1 ] );\n\n\t\t\tfor ( let i = start; i <= end; i += 100 ) {\n\t\t\t\tresult.push( i );\n\t\t\t}\n\t\t} else if ( weights.length === 1 ) {\n\t\t\tresult.push( parseInt( weights[ 0 ] ) );\n\t\t}\n\t} );\n\n\treturn result;\n}\n\n/*\n * Format the font family to use in the CSS font-family property of a CSS rule.\n *\n * The input can be a string with the font family name or a string with multiple font family names separated by commas.\n * It follows the recommendations from the CSS Fonts Module Level 4.\n * https://www.w3.org/TR/css-fonts-4/#font-family-prop\n *\n * @param {string} input - The font family.\n * @return {string} The formatted font family.\n *\n * Example:\n * formatFontFamily( \"Open Sans, Font+Name, sans-serif\" ) => '\"Open Sans\", \"Font+Name\", sans-serif'\n * formatFontFamily( \"'Open Sans', generic(kai), sans-serif\" ) => '\"Open Sans\", sans-serif'\n * formatFontFamily( \"DotGothic16, Slabo 27px, serif\" ) => '\"DotGothic16\",\"Slabo 27px\",serif'\n * formatFontFamily( \"Mine's, Moe's Typography\" ) => `\"mine's\",\"Moe's Typography\"`\n */\nexport function formatFontFamily( input ) {\n\t// Matches strings that are not exclusively alphabetic characters or hyphens, and do not exactly follow the pattern generic(alphabetic characters or hyphens).\n\tconst regex = /^(?!generic\\([ a-zA-Z\\-]+\\)$)(?!^[a-zA-Z\\-]+$).+/;\n\tconst output = input.trim();\n\n\tconst formatItem = ( item ) => {\n\t\titem = item.trim();\n\t\tif ( item.match( regex ) ) {\n\t\t\t// removes leading and trailing quotes.\n\t\t\titem = item.replace( /^[\"']|[\"']$/g, '' );\n\t\t\treturn `\"${ item }\"`;\n\t\t}\n\t\treturn item;\n\t};\n\n\tif ( output.includes( ',' ) ) {\n\t\treturn output\n\t\t\t.split( ',' )\n\t\t\t.map( formatItem )\n\t\t\t.filter( ( item ) => item !== '' )\n\t\t\t.join( ', ' );\n\t}\n\n\treturn formatItem( output );\n}\n\n/*\n * Format the font face name to use in the font-family property of a font face.\n *\n * The input can be a string with the font face name or a string with multiple font face names separated by commas.\n * It removes the leading and trailing quotes from the font face name.\n *\n * @param {string} input - The font face name.\n * @return {string} The formatted font face name.\n *\n * Example:\n * formatFontFaceName(\"Open Sans\") => \"Open Sans\"\n * formatFontFaceName(\"'Open Sans', sans-serif\") => \"Open Sans\"\n * formatFontFaceName(\", 'Open Sans', 'Helvetica Neue', sans-serif\") => \"Open Sans\"\n */\nexport function formatFontFaceName( input ) {\n\tlet output = input.trim();\n\tif ( output.includes( ',' ) ) {\n\t\toutput = output\n\t\t\t.split( ',' )\n\t\t\t// finds the first item that is not an empty string.\n\t\t\t.find( ( item ) => item.trim() !== '' )\n\t\t\t.trim();\n\t}\n\t// removes leading and trailing quotes.\n\toutput = output.replace( /^[\"']|[\"']$/g, '' );\n\n\t// Firefox needs the font name to be wrapped in double quotes meanwhile other browsers don't.\n\tif ( window.navigator.userAgent.toLowerCase().includes( 'firefox' ) ) {\n\t\toutput = `\"${ output }\"`;\n\t}\n\treturn output;\n}\n\nexport function getFamilyPreviewStyle( family ) {\n\tconst style = { fontFamily: formatFontFamily( family.fontFamily ) };\n\n\tif ( ! Array.isArray( family.fontFace ) ) {\n\t\tstyle.fontWeight = '400';\n\t\tstyle.fontStyle = 'normal';\n\t\treturn style;\n\t}\n\n\tif ( family.fontFace ) {\n\t\t//get all the font faces with normal style\n\t\tconst normalFaces = family.fontFace.filter(\n\t\t\t( face ) => face.fontStyle.toLowerCase() === 'normal'\n\t\t);\n\t\tif ( normalFaces.length > 0 ) {\n\t\t\tstyle.fontStyle = 'normal';\n\t\t\tconst normalWeights = extractFontWeights( normalFaces );\n\t\t\tconst nearestWeight = findNearest( 400, normalWeights );\n\t\t\tstyle.fontWeight = String( nearestWeight ) || '400';\n\t\t} else {\n\t\t\tstyle.fontStyle =\n\t\t\t\t( family.fontFace.length && family.fontFace[ 0 ].fontStyle ) ||\n\t\t\t\t'normal';\n\t\t\tstyle.fontWeight =\n\t\t\t\t( family.fontFace.length &&\n\t\t\t\t\tString( family.fontFace[ 0 ].fontWeight ) ) ||\n\t\t\t\t'400';\n\t\t}\n\t}\n\n\treturn style;\n}\n\nexport function getFacePreviewStyle( face ) {\n\treturn {\n\t\tfontFamily: formatFontFamily( face.fontFamily ),\n\t\tfontStyle: face.fontStyle || 'normal',\n\t\tfontWeight: face.fontWeight || '400',\n\t};\n}\n"],"mappings":"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"}
|
|
@@ -29,14 +29,15 @@ function ChangesSummary({
|
|
|
29
29
|
const changes = getGlobalStylesChanges(revision, previousRevision, {
|
|
30
30
|
maxResults: 7
|
|
31
31
|
});
|
|
32
|
-
|
|
33
|
-
if (!changesLength) {
|
|
32
|
+
if (!changes.length) {
|
|
34
33
|
return null;
|
|
35
34
|
}
|
|
36
|
-
return createElement("
|
|
35
|
+
return createElement("ul", {
|
|
37
36
|
"data-testid": "global-styles-revision-changes",
|
|
38
37
|
className: "edit-site-global-styles-screen-revisions__changes"
|
|
39
|
-
}, changes.
|
|
38
|
+
}, changes.map(change => createElement("li", {
|
|
39
|
+
key: change
|
|
40
|
+
}, change)));
|
|
40
41
|
}
|
|
41
42
|
|
|
42
43
|
/**
|
|
@@ -159,6 +160,7 @@ function RevisionsButtons({
|
|
|
159
160
|
className: "edit-site-global-styles-screen-revisions__applied-text"
|
|
160
161
|
}, __('These styles are already applied to your site.')) : createElement(Button, {
|
|
161
162
|
disabled: areStylesEqual,
|
|
163
|
+
size: "compact",
|
|
162
164
|
variant: "primary",
|
|
163
165
|
className: "edit-site-global-styles-screen-revisions__apply-button",
|
|
164
166
|
onClick: onApplyRevision
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["classnames","__","sprintf","Button","dateI18n","getDate","humanTimeDiff","getSettings","store","coreStore","useSelect","privateApis","blockEditorPrivateApis","unlock","DAY_IN_MILLISECONDS","getGlobalStylesChanges","ChangesSummary","revision","previousRevision","changes","maxResults","changesLength","length","createElement","className","join","getRevisionLabel","id","authorDisplayName","formattedModifiedDate","areStylesEqual","RevisionsButtons","userRevisions","selectedRevisionId","onChange","canApplyRevision","onApplyRevision","currentThemeName","currentUser","select","getCurrentTheme","getCurrentUser","currentTheme","name","rendered","stylesheet","dateNowInMs","getTime","datetimeAbbreviated","formats","role","map","index","author","modified","isUnsaved","revisionAuthor","authorAvatar","avatar_urls","isFirstItem","isSelected","isReset","modifiedDate","displayDate","revisionLabel","key","disabled","onClick","dateTime","alt","src","variant"],"sources":["@wordpress/edit-site/src/components/global-styles/screen-revisions/revisions-buttons.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport { Button } from '@wordpress/components';\nimport { dateI18n, getDate, humanTimeDiff, getSettings } from '@wordpress/date';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useSelect } from '@wordpress/data';\nimport { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../../lock-unlock';\n\nconst DAY_IN_MILLISECONDS = 60 * 60 * 1000 * 24;\nconst { getGlobalStylesChanges } = unlock( blockEditorPrivateApis );\n\nfunction ChangesSummary( { revision, previousRevision } ) {\n\tconst changes = getGlobalStylesChanges( revision, previousRevision, {\n\t\tmaxResults: 7,\n\t} );\n\tconst changesLength = changes.length;\n\n\tif ( ! changesLength ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<span\n\t\t\tdata-testid=\"global-styles-revision-changes\"\n\t\t\tclassName=\"edit-site-global-styles-screen-revisions__changes\"\n\t\t>\n\t\t\t{ changes.join( ', ' ) }.\n\t\t</span>\n\t);\n}\n\n/**\n * Returns a button label for the revision.\n *\n * @param {string|number} id A revision object.\n * @param {string} authorDisplayName Author name.\n * @param {string} formattedModifiedDate Revision modified date formatted.\n * @param {boolean} areStylesEqual Whether the revision matches the current editor styles.\n * @return {string} Translated label.\n */\nfunction getRevisionLabel(\n\tid,\n\tauthorDisplayName,\n\tformattedModifiedDate,\n\tareStylesEqual\n) {\n\tif ( 'parent' === id ) {\n\t\treturn __( 'Reset the styles to the theme defaults' );\n\t}\n\n\tif ( 'unsaved' === id ) {\n\t\treturn sprintf(\n\t\t\t/* translators: %s: author display name */\n\t\t\t__( 'Unsaved changes by %s' ),\n\t\t\tauthorDisplayName\n\t\t);\n\t}\n\n\treturn areStylesEqual\n\t\t? sprintf(\n\t\t\t\t// translators: %1$s: author display name, %2$s: revision creation date.\n\t\t\t\t__(\n\t\t\t\t\t'Changes saved by %1$s on %2$s. This revision matches current editor styles.'\n\t\t\t\t),\n\t\t\t\tauthorDisplayName,\n\t\t\t\tformattedModifiedDate\n\t\t )\n\t\t: sprintf(\n\t\t\t\t// translators: %1$s: author display name, %2$s: revision creation date.\n\t\t\t\t__( 'Changes saved by %1$s on %2$s' ),\n\t\t\t\tauthorDisplayName,\n\t\t\t\tformattedModifiedDate\n\t\t );\n}\n\n/**\n * Returns a rendered list of revisions buttons.\n *\n * @typedef {Object} props\n * @property {Array<Object>} userRevisions A collection of user revisions.\n * @property {number} selectedRevisionId The id of the currently-selected revision.\n * @property {Function} onChange Callback fired when a revision is selected.\n *\n * @param {props} Component props.\n * @return {JSX.Element} The modal component.\n */\nfunction RevisionsButtons( {\n\tuserRevisions,\n\tselectedRevisionId,\n\tonChange,\n\tcanApplyRevision,\n\tonApplyRevision,\n} ) {\n\tconst { currentThemeName, currentUser } = useSelect( ( select ) => {\n\t\tconst { getCurrentTheme, getCurrentUser } = select( coreStore );\n\t\tconst currentTheme = getCurrentTheme();\n\t\treturn {\n\t\t\tcurrentThemeName:\n\t\t\t\tcurrentTheme?.name?.rendered || currentTheme?.stylesheet,\n\t\t\tcurrentUser: getCurrentUser(),\n\t\t};\n\t}, [] );\n\tconst dateNowInMs = getDate().getTime();\n\tconst { datetimeAbbreviated } = getSettings().formats;\n\n\treturn (\n\t\t<ol\n\t\t\tclassName=\"edit-site-global-styles-screen-revisions__revisions-list\"\n\t\t\taria-label={ __( 'Global styles revisions list' ) }\n\t\t\trole=\"group\"\n\t\t>\n\t\t\t{ userRevisions.map( ( revision, index ) => {\n\t\t\t\tconst { id, author, modified } = revision;\n\t\t\t\tconst isUnsaved = 'unsaved' === id;\n\t\t\t\t// Unsaved changes are created by the current user.\n\t\t\t\tconst revisionAuthor = isUnsaved ? currentUser : author;\n\t\t\t\tconst authorDisplayName = revisionAuthor?.name || __( 'User' );\n\t\t\t\tconst authorAvatar = revisionAuthor?.avatar_urls?.[ '48' ];\n\t\t\t\tconst isFirstItem = index === 0;\n\t\t\t\tconst isSelected = selectedRevisionId\n\t\t\t\t\t? selectedRevisionId === id\n\t\t\t\t\t: isFirstItem;\n\t\t\t\tconst areStylesEqual = ! canApplyRevision && isSelected;\n\t\t\t\tconst isReset = 'parent' === id;\n\t\t\t\tconst modifiedDate = getDate( modified );\n\t\t\t\tconst displayDate =\n\t\t\t\t\tmodified &&\n\t\t\t\t\tdateNowInMs - modifiedDate.getTime() > DAY_IN_MILLISECONDS\n\t\t\t\t\t\t? dateI18n( datetimeAbbreviated, modifiedDate )\n\t\t\t\t\t\t: humanTimeDiff( modified );\n\t\t\t\tconst revisionLabel = getRevisionLabel(\n\t\t\t\t\tid,\n\t\t\t\t\tauthorDisplayName,\n\t\t\t\t\tdateI18n( datetimeAbbreviated, modifiedDate ),\n\t\t\t\t\tareStylesEqual\n\t\t\t\t);\n\n\t\t\t\treturn (\n\t\t\t\t\t<li\n\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t'edit-site-global-styles-screen-revisions__revision-item',\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t'is-selected': isSelected,\n\t\t\t\t\t\t\t\t'is-active': areStylesEqual,\n\t\t\t\t\t\t\t\t'is-reset': isReset,\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tkey={ id }\n\t\t\t\t\t\taria-current={ isSelected }\n\t\t\t\t\t>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tclassName=\"edit-site-global-styles-screen-revisions__revision-button\"\n\t\t\t\t\t\t\tdisabled={ isSelected }\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tonChange( revision );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\taria-label={ revisionLabel }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ isReset ? (\n\t\t\t\t\t\t\t\t<span className=\"edit-site-global-styles-screen-revisions__description\">\n\t\t\t\t\t\t\t\t\t{ __( 'Default styles' ) }\n\t\t\t\t\t\t\t\t\t<span className=\"edit-site-global-styles-screen-revisions__meta\">\n\t\t\t\t\t\t\t\t\t\t{ currentThemeName }\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t<span className=\"edit-site-global-styles-screen-revisions__description\">\n\t\t\t\t\t\t\t\t\t{ isUnsaved ? (\n\t\t\t\t\t\t\t\t\t\t<span className=\"edit-site-global-styles-screen-revisions__date\">\n\t\t\t\t\t\t\t\t\t\t\t{ __( '(Unsaved)' ) }\n\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t<time\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"edit-site-global-styles-screen-revisions__date\"\n\t\t\t\t\t\t\t\t\t\t\tdateTime={ modified }\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ displayDate }\n\t\t\t\t\t\t\t\t\t\t</time>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t<span className=\"edit-site-global-styles-screen-revisions__meta\">\n\t\t\t\t\t\t\t\t\t\t<img\n\t\t\t\t\t\t\t\t\t\t\talt={ authorDisplayName }\n\t\t\t\t\t\t\t\t\t\t\tsrc={ authorAvatar }\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t{ authorDisplayName }\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t{ isSelected && (\n\t\t\t\t\t\t\t\t\t\t<ChangesSummary\n\t\t\t\t\t\t\t\t\t\t\trevision={ revision }\n\t\t\t\t\t\t\t\t\t\t\tpreviousRevision={\n\t\t\t\t\t\t\t\t\t\t\t\tindex < userRevisions.length\n\t\t\t\t\t\t\t\t\t\t\t\t\t? userRevisions[ index + 1 ]\n\t\t\t\t\t\t\t\t\t\t\t\t\t: {}\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t{ isSelected &&\n\t\t\t\t\t\t\t( areStylesEqual ? (\n\t\t\t\t\t\t\t\t<p className=\"edit-site-global-styles-screen-revisions__applied-text\">\n\t\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t\t'These styles are already applied to your site.'\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\tdisabled={ areStylesEqual }\n\t\t\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\t\t\tclassName=\"edit-site-global-styles-screen-revisions__apply-button\"\n\t\t\t\t\t\t\t\t\tonClick={ onApplyRevision }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ isReset\n\t\t\t\t\t\t\t\t\t\t? __( 'Reset to defaults' )\n\t\t\t\t\t\t\t\t\t\t: __( 'Apply' ) }\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t) ) }\n\t\t\t\t\t</li>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</ol>\n\t);\n}\n\nexport default RevisionsButtons;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["classnames","__","sprintf","Button","dateI18n","getDate","humanTimeDiff","getSettings","store","coreStore","useSelect","privateApis","blockEditorPrivateApis","unlock","DAY_IN_MILLISECONDS","getGlobalStylesChanges","ChangesSummary","revision","previousRevision","changes","maxResults","length","createElement","className","map","change","key","getRevisionLabel","id","authorDisplayName","formattedModifiedDate","areStylesEqual","RevisionsButtons","userRevisions","selectedRevisionId","onChange","canApplyRevision","onApplyRevision","currentThemeName","currentUser","select","getCurrentTheme","getCurrentUser","currentTheme","name","rendered","stylesheet","dateNowInMs","getTime","datetimeAbbreviated","formats","role","index","author","modified","isUnsaved","revisionAuthor","authorAvatar","avatar_urls","isFirstItem","isSelected","isReset","modifiedDate","displayDate","revisionLabel","disabled","onClick","dateTime","alt","src","size","variant"],"sources":["@wordpress/edit-site/src/components/global-styles/screen-revisions/revisions-buttons.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport { Button } from '@wordpress/components';\nimport { dateI18n, getDate, humanTimeDiff, getSettings } from '@wordpress/date';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useSelect } from '@wordpress/data';\nimport { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../../lock-unlock';\n\nconst DAY_IN_MILLISECONDS = 60 * 60 * 1000 * 24;\nconst { getGlobalStylesChanges } = unlock( blockEditorPrivateApis );\n\nfunction ChangesSummary( { revision, previousRevision } ) {\n\tconst changes = getGlobalStylesChanges( revision, previousRevision, {\n\t\tmaxResults: 7,\n\t} );\n\n\tif ( ! changes.length ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<ul\n\t\t\tdata-testid=\"global-styles-revision-changes\"\n\t\t\tclassName=\"edit-site-global-styles-screen-revisions__changes\"\n\t\t>\n\t\t\t{ changes.map( ( change ) => (\n\t\t\t\t<li key={ change }>{ change }</li>\n\t\t\t) ) }\n\t\t</ul>\n\t);\n}\n\n/**\n * Returns a button label for the revision.\n *\n * @param {string|number} id A revision object.\n * @param {string} authorDisplayName Author name.\n * @param {string} formattedModifiedDate Revision modified date formatted.\n * @param {boolean} areStylesEqual Whether the revision matches the current editor styles.\n * @return {string} Translated label.\n */\nfunction getRevisionLabel(\n\tid,\n\tauthorDisplayName,\n\tformattedModifiedDate,\n\tareStylesEqual\n) {\n\tif ( 'parent' === id ) {\n\t\treturn __( 'Reset the styles to the theme defaults' );\n\t}\n\n\tif ( 'unsaved' === id ) {\n\t\treturn sprintf(\n\t\t\t/* translators: %s: author display name */\n\t\t\t__( 'Unsaved changes by %s' ),\n\t\t\tauthorDisplayName\n\t\t);\n\t}\n\n\treturn areStylesEqual\n\t\t? sprintf(\n\t\t\t\t// translators: %1$s: author display name, %2$s: revision creation date.\n\t\t\t\t__(\n\t\t\t\t\t'Changes saved by %1$s on %2$s. This revision matches current editor styles.'\n\t\t\t\t),\n\t\t\t\tauthorDisplayName,\n\t\t\t\tformattedModifiedDate\n\t\t )\n\t\t: sprintf(\n\t\t\t\t// translators: %1$s: author display name, %2$s: revision creation date.\n\t\t\t\t__( 'Changes saved by %1$s on %2$s' ),\n\t\t\t\tauthorDisplayName,\n\t\t\t\tformattedModifiedDate\n\t\t );\n}\n\n/**\n * Returns a rendered list of revisions buttons.\n *\n * @typedef {Object} props\n * @property {Array<Object>} userRevisions A collection of user revisions.\n * @property {number} selectedRevisionId The id of the currently-selected revision.\n * @property {Function} onChange Callback fired when a revision is selected.\n *\n * @param {props} Component props.\n * @return {JSX.Element} The modal component.\n */\nfunction RevisionsButtons( {\n\tuserRevisions,\n\tselectedRevisionId,\n\tonChange,\n\tcanApplyRevision,\n\tonApplyRevision,\n} ) {\n\tconst { currentThemeName, currentUser } = useSelect( ( select ) => {\n\t\tconst { getCurrentTheme, getCurrentUser } = select( coreStore );\n\t\tconst currentTheme = getCurrentTheme();\n\t\treturn {\n\t\t\tcurrentThemeName:\n\t\t\t\tcurrentTheme?.name?.rendered || currentTheme?.stylesheet,\n\t\t\tcurrentUser: getCurrentUser(),\n\t\t};\n\t}, [] );\n\tconst dateNowInMs = getDate().getTime();\n\tconst { datetimeAbbreviated } = getSettings().formats;\n\n\treturn (\n\t\t<ol\n\t\t\tclassName=\"edit-site-global-styles-screen-revisions__revisions-list\"\n\t\t\taria-label={ __( 'Global styles revisions list' ) }\n\t\t\trole=\"group\"\n\t\t>\n\t\t\t{ userRevisions.map( ( revision, index ) => {\n\t\t\t\tconst { id, author, modified } = revision;\n\t\t\t\tconst isUnsaved = 'unsaved' === id;\n\t\t\t\t// Unsaved changes are created by the current user.\n\t\t\t\tconst revisionAuthor = isUnsaved ? currentUser : author;\n\t\t\t\tconst authorDisplayName = revisionAuthor?.name || __( 'User' );\n\t\t\t\tconst authorAvatar = revisionAuthor?.avatar_urls?.[ '48' ];\n\t\t\t\tconst isFirstItem = index === 0;\n\t\t\t\tconst isSelected = selectedRevisionId\n\t\t\t\t\t? selectedRevisionId === id\n\t\t\t\t\t: isFirstItem;\n\t\t\t\tconst areStylesEqual = ! canApplyRevision && isSelected;\n\t\t\t\tconst isReset = 'parent' === id;\n\t\t\t\tconst modifiedDate = getDate( modified );\n\t\t\t\tconst displayDate =\n\t\t\t\t\tmodified &&\n\t\t\t\t\tdateNowInMs - modifiedDate.getTime() > DAY_IN_MILLISECONDS\n\t\t\t\t\t\t? dateI18n( datetimeAbbreviated, modifiedDate )\n\t\t\t\t\t\t: humanTimeDiff( modified );\n\t\t\t\tconst revisionLabel = getRevisionLabel(\n\t\t\t\t\tid,\n\t\t\t\t\tauthorDisplayName,\n\t\t\t\t\tdateI18n( datetimeAbbreviated, modifiedDate ),\n\t\t\t\t\tareStylesEqual\n\t\t\t\t);\n\n\t\t\t\treturn (\n\t\t\t\t\t<li\n\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t'edit-site-global-styles-screen-revisions__revision-item',\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t'is-selected': isSelected,\n\t\t\t\t\t\t\t\t'is-active': areStylesEqual,\n\t\t\t\t\t\t\t\t'is-reset': isReset,\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tkey={ id }\n\t\t\t\t\t\taria-current={ isSelected }\n\t\t\t\t\t>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tclassName=\"edit-site-global-styles-screen-revisions__revision-button\"\n\t\t\t\t\t\t\tdisabled={ isSelected }\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tonChange( revision );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\taria-label={ revisionLabel }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ isReset ? (\n\t\t\t\t\t\t\t\t<span className=\"edit-site-global-styles-screen-revisions__description\">\n\t\t\t\t\t\t\t\t\t{ __( 'Default styles' ) }\n\t\t\t\t\t\t\t\t\t<span className=\"edit-site-global-styles-screen-revisions__meta\">\n\t\t\t\t\t\t\t\t\t\t{ currentThemeName }\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t<span className=\"edit-site-global-styles-screen-revisions__description\">\n\t\t\t\t\t\t\t\t\t{ isUnsaved ? (\n\t\t\t\t\t\t\t\t\t\t<span className=\"edit-site-global-styles-screen-revisions__date\">\n\t\t\t\t\t\t\t\t\t\t\t{ __( '(Unsaved)' ) }\n\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t<time\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"edit-site-global-styles-screen-revisions__date\"\n\t\t\t\t\t\t\t\t\t\t\tdateTime={ modified }\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ displayDate }\n\t\t\t\t\t\t\t\t\t\t</time>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t<span className=\"edit-site-global-styles-screen-revisions__meta\">\n\t\t\t\t\t\t\t\t\t\t<img\n\t\t\t\t\t\t\t\t\t\t\talt={ authorDisplayName }\n\t\t\t\t\t\t\t\t\t\t\tsrc={ authorAvatar }\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t{ authorDisplayName }\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t{ isSelected && (\n\t\t\t\t\t\t\t\t\t\t<ChangesSummary\n\t\t\t\t\t\t\t\t\t\t\trevision={ revision }\n\t\t\t\t\t\t\t\t\t\t\tpreviousRevision={\n\t\t\t\t\t\t\t\t\t\t\t\tindex < userRevisions.length\n\t\t\t\t\t\t\t\t\t\t\t\t\t? userRevisions[ index + 1 ]\n\t\t\t\t\t\t\t\t\t\t\t\t\t: {}\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t{ isSelected &&\n\t\t\t\t\t\t\t( areStylesEqual ? (\n\t\t\t\t\t\t\t\t<p className=\"edit-site-global-styles-screen-revisions__applied-text\">\n\t\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t\t'These styles are already applied to your site.'\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\tdisabled={ areStylesEqual }\n\t\t\t\t\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\t\t\tclassName=\"edit-site-global-styles-screen-revisions__apply-button\"\n\t\t\t\t\t\t\t\t\tonClick={ onApplyRevision }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ isReset\n\t\t\t\t\t\t\t\t\t\t? __( 'Reset to defaults' )\n\t\t\t\t\t\t\t\t\t\t: __( 'Apply' ) }\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t) ) }\n\t\t\t\t\t</li>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</ol>\n\t);\n}\n\nexport default RevisionsButtons;\n"],"mappings":"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"}
|
|
@@ -12,13 +12,13 @@ function Media({
|
|
|
12
12
|
record: media
|
|
13
13
|
} = useEntityRecord('root', 'media', id);
|
|
14
14
|
const currentSize = size.find(s => !!media?.media_details?.sizes[s]);
|
|
15
|
-
const
|
|
16
|
-
if (!
|
|
15
|
+
const mediaUrl = media?.media_details?.sizes[currentSize]?.source_url || media?.source_url;
|
|
16
|
+
if (!mediaUrl) {
|
|
17
17
|
return null;
|
|
18
18
|
}
|
|
19
19
|
return createElement("img", {
|
|
20
20
|
...props,
|
|
21
|
-
src:
|
|
21
|
+
src: mediaUrl,
|
|
22
22
|
alt: media.alt_text
|
|
23
23
|
});
|
|
24
24
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useEntityRecord","Media","id","size","props","record","media","currentSize","find","s","media_details","sizes","
|
|
1
|
+
{"version":3,"names":["useEntityRecord","Media","id","size","props","record","media","currentSize","find","s","media_details","sizes","mediaUrl","source_url","createElement","src","alt","alt_text"],"sources":["@wordpress/edit-site/src/components/media/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useEntityRecord } from '@wordpress/core-data';\n\nfunction Media( { id, size = [ 'large', 'medium', 'thumbnail' ], ...props } ) {\n\tconst { record: media } = useEntityRecord( 'root', 'media', id );\n\tconst currentSize = size.find(\n\t\t( s ) => !! media?.media_details?.sizes[ s ]\n\t);\n\n\tconst mediaUrl =\n\t\tmedia?.media_details?.sizes[ currentSize ]?.source_url ||\n\t\tmedia?.source_url;\n\n\tif ( ! mediaUrl ) {\n\t\treturn null;\n\t}\n\n\treturn <img { ...props } src={ mediaUrl } alt={ media.alt_text } />;\n}\n\nexport default Media;\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,eAAe,QAAQ,sBAAsB;AAEtD,SAASC,KAAKA,CAAE;EAAEC,EAAE;EAAEC,IAAI,GAAG,CAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,CAAE;EAAE,GAAGC;AAAM,CAAC,EAAG;EAC7E,MAAM;IAAEC,MAAM,EAAEC;EAAM,CAAC,GAAGN,eAAe,CAAE,MAAM,EAAE,OAAO,EAAEE,EAAG,CAAC;EAChE,MAAMK,WAAW,GAAGJ,IAAI,CAACK,IAAI,CAC1BC,CAAC,IAAM,CAAC,CAAEH,KAAK,EAAEI,aAAa,EAAEC,KAAK,CAAEF,CAAC,CAC3C,CAAC;EAED,MAAMG,QAAQ,GACbN,KAAK,EAAEI,aAAa,EAAEC,KAAK,CAAEJ,WAAW,CAAE,EAAEM,UAAU,IACtDP,KAAK,EAAEO,UAAU;EAElB,IAAK,CAAED,QAAQ,EAAG;IACjB,OAAO,IAAI;EACZ;EAEA,OAAOE,aAAA;IAAA,GAAUV,KAAK;IAAGW,GAAG,EAAGH,QAAU;IAACI,GAAG,EAAGV,KAAK,CAACW;EAAU,CAAE,CAAC;AACpE;AAEA,eAAehB,KAAK"}
|
|
@@ -10,6 +10,7 @@ import classNames from 'classnames';
|
|
|
10
10
|
import { memo, useRef } from '@wordpress/element';
|
|
11
11
|
import { __experimentalNavigatorProvider as NavigatorProvider, __experimentalNavigatorScreen as NavigatorScreen } from '@wordpress/components';
|
|
12
12
|
import { privateApis as routerPrivateApis } from '@wordpress/router';
|
|
13
|
+
import { __ } from '@wordpress/i18n';
|
|
13
14
|
|
|
14
15
|
/**
|
|
15
16
|
* Internal dependencies
|
|
@@ -27,7 +28,8 @@ import SidebarNavigationScreenTemplatesBrowse from '../sidebar-navigation-screen
|
|
|
27
28
|
import SaveHub from '../save-hub';
|
|
28
29
|
import { unlock } from '../../lock-unlock';
|
|
29
30
|
import SidebarNavigationScreenPages from '../sidebar-navigation-screen-pages';
|
|
30
|
-
import
|
|
31
|
+
import SidebarNavigationScreen from '../sidebar-navigation-screen';
|
|
32
|
+
import DataViewsSidebarContent from '../sidebar-dataviews';
|
|
31
33
|
import SidebarNavigationScreenPage from '../sidebar-navigation-screen-page';
|
|
32
34
|
const {
|
|
33
35
|
useLocation
|
|
@@ -55,7 +57,10 @@ function SidebarScreens() {
|
|
|
55
57
|
path: "/page"
|
|
56
58
|
}, createElement(SidebarNavigationScreenPages, null)), createElement(SidebarScreenWrapper, {
|
|
57
59
|
path: "/pages"
|
|
58
|
-
}, createElement(
|
|
60
|
+
}, createElement(SidebarNavigationScreen, {
|
|
61
|
+
title: __('Pages'),
|
|
62
|
+
content: createElement(DataViewsSidebarContent, null)
|
|
63
|
+
})), createElement(SidebarScreenWrapper, {
|
|
59
64
|
path: "/page/:postId"
|
|
60
65
|
}, createElement(SidebarNavigationScreenPage, null)), createElement(SidebarScreenWrapper, {
|
|
61
66
|
path: "/:postType(wp_template)"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["classNames","memo","useRef","__experimentalNavigatorProvider","NavigatorProvider","__experimentalNavigatorScreen","NavigatorScreen","privateApis","routerPrivateApis","SidebarNavigationScreenMain","SidebarNavigationScreenTemplates","SidebarNavigationScreenTemplate","SidebarNavigationScreenPatterns","SidebarNavigationScreenPattern","useSyncPathWithURL","getPathFromURL","SidebarNavigationScreenNavigationMenus","SidebarNavigationScreenNavigationMenu","SidebarNavigationScreenGlobalStyles","SidebarNavigationScreenTemplatesBrowse","SaveHub","unlock","SidebarNavigationScreenPages","
|
|
1
|
+
{"version":3,"names":["classNames","memo","useRef","__experimentalNavigatorProvider","NavigatorProvider","__experimentalNavigatorScreen","NavigatorScreen","privateApis","routerPrivateApis","__","SidebarNavigationScreenMain","SidebarNavigationScreenTemplates","SidebarNavigationScreenTemplate","SidebarNavigationScreenPatterns","SidebarNavigationScreenPattern","useSyncPathWithURL","getPathFromURL","SidebarNavigationScreenNavigationMenus","SidebarNavigationScreenNavigationMenu","SidebarNavigationScreenGlobalStyles","SidebarNavigationScreenTemplatesBrowse","SaveHub","unlock","SidebarNavigationScreenPages","SidebarNavigationScreen","DataViewsSidebarContent","SidebarNavigationScreenPage","useLocation","SidebarScreenWrapper","className","props","createElement","SidebarScreens","Fragment","path","title","content","Sidebar","params","urlParams","initialPath","current"],"sources":["@wordpress/edit-site/src/components/sidebar/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classNames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { memo, useRef } from '@wordpress/element';\nimport {\n\t__experimentalNavigatorProvider as NavigatorProvider,\n\t__experimentalNavigatorScreen as NavigatorScreen,\n} from '@wordpress/components';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport SidebarNavigationScreenMain from '../sidebar-navigation-screen-main';\nimport SidebarNavigationScreenTemplates from '../sidebar-navigation-screen-templates';\nimport SidebarNavigationScreenTemplate from '../sidebar-navigation-screen-template';\nimport SidebarNavigationScreenPatterns from '../sidebar-navigation-screen-patterns';\nimport SidebarNavigationScreenPattern from '../sidebar-navigation-screen-pattern';\nimport useSyncPathWithURL, {\n\tgetPathFromURL,\n} from '../sync-state-with-url/use-sync-path-with-url';\nimport SidebarNavigationScreenNavigationMenus from '../sidebar-navigation-screen-navigation-menus';\nimport SidebarNavigationScreenNavigationMenu from '../sidebar-navigation-screen-navigation-menu';\nimport SidebarNavigationScreenGlobalStyles from '../sidebar-navigation-screen-global-styles';\nimport SidebarNavigationScreenTemplatesBrowse from '../sidebar-navigation-screen-templates-browse';\nimport SaveHub from '../save-hub';\nimport { unlock } from '../../lock-unlock';\nimport SidebarNavigationScreenPages from '../sidebar-navigation-screen-pages';\nimport SidebarNavigationScreen from '../sidebar-navigation-screen';\nimport DataViewsSidebarContent from '../sidebar-dataviews';\nimport SidebarNavigationScreenPage from '../sidebar-navigation-screen-page';\n\nconst { useLocation } = unlock( routerPrivateApis );\n\nfunction SidebarScreenWrapper( { className, ...props } ) {\n\treturn (\n\t\t<NavigatorScreen\n\t\t\tclassName={ classNames(\n\t\t\t\t'edit-site-sidebar__screen-wrapper',\n\t\t\t\tclassName\n\t\t\t) }\n\t\t\t{ ...props }\n\t\t/>\n\t);\n}\n\nfunction SidebarScreens() {\n\tuseSyncPathWithURL();\n\n\treturn (\n\t\t<>\n\t\t\t<SidebarScreenWrapper path=\"/\">\n\t\t\t\t<SidebarNavigationScreenMain />\n\t\t\t</SidebarScreenWrapper>\n\t\t\t<SidebarScreenWrapper path=\"/navigation\">\n\t\t\t\t<SidebarNavigationScreenNavigationMenus />\n\t\t\t</SidebarScreenWrapper>\n\t\t\t<SidebarScreenWrapper path=\"/navigation/:postType/:postId\">\n\t\t\t\t<SidebarNavigationScreenNavigationMenu />\n\t\t\t</SidebarScreenWrapper>\n\t\t\t<SidebarScreenWrapper path=\"/wp_global_styles\">\n\t\t\t\t<SidebarNavigationScreenGlobalStyles />\n\t\t\t</SidebarScreenWrapper>\n\t\t\t<SidebarScreenWrapper path=\"/page\">\n\t\t\t\t<SidebarNavigationScreenPages />\n\t\t\t</SidebarScreenWrapper>\n\t\t\t<SidebarScreenWrapper path=\"/pages\">\n\t\t\t\t<SidebarNavigationScreen\n\t\t\t\t\ttitle={ __( 'Pages' ) }\n\t\t\t\t\tcontent={ <DataViewsSidebarContent /> }\n\t\t\t\t/>\n\t\t\t</SidebarScreenWrapper>\n\t\t\t<SidebarScreenWrapper path=\"/page/:postId\">\n\t\t\t\t<SidebarNavigationScreenPage />\n\t\t\t</SidebarScreenWrapper>\n\t\t\t<SidebarScreenWrapper path=\"/:postType(wp_template)\">\n\t\t\t\t<SidebarNavigationScreenTemplates />\n\t\t\t</SidebarScreenWrapper>\n\t\t\t<SidebarScreenWrapper path=\"/patterns\">\n\t\t\t\t<SidebarNavigationScreenPatterns />\n\t\t\t</SidebarScreenWrapper>\n\t\t\t<SidebarScreenWrapper path=\"/:postType(wp_template|wp_template_part)/all\">\n\t\t\t\t<SidebarNavigationScreenTemplatesBrowse />\n\t\t\t</SidebarScreenWrapper>\n\t\t\t<SidebarScreenWrapper path=\"/:postType(wp_template_part|wp_block)/:postId\">\n\t\t\t\t<SidebarNavigationScreenPattern />\n\t\t\t</SidebarScreenWrapper>\n\t\t\t<SidebarScreenWrapper path=\"/:postType(wp_template)/:postId\">\n\t\t\t\t<SidebarNavigationScreenTemplate />\n\t\t\t</SidebarScreenWrapper>\n\t\t</>\n\t);\n}\n\nfunction Sidebar() {\n\tconst { params: urlParams } = useLocation();\n\tconst initialPath = useRef( getPathFromURL( urlParams ) );\n\n\treturn (\n\t\t<>\n\t\t\t<NavigatorProvider\n\t\t\t\tclassName=\"edit-site-sidebar__content\"\n\t\t\t\tinitialPath={ initialPath.current }\n\t\t\t>\n\t\t\t\t<SidebarScreens />\n\t\t\t</NavigatorProvider>\n\t\t\t<SaveHub />\n\t\t</>\n\t);\n}\n\nexport default memo( Sidebar );\n"],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* WordPress dependencies
|
|
3
3
|
*/
|
|
4
|
-
import { __
|
|
4
|
+
import { __ } from '@wordpress/i18n';
|
|
5
5
|
import { trash } from '@wordpress/icons';
|
|
6
6
|
|
|
7
7
|
/**
|
|
@@ -40,7 +40,7 @@ const DEFAULT_PAGE_BASE = {
|
|
|
40
40
|
};
|
|
41
41
|
export const DEFAULT_VIEWS = {
|
|
42
42
|
page: [{
|
|
43
|
-
title:
|
|
43
|
+
title: __('All pages'),
|
|
44
44
|
slug: 'all',
|
|
45
45
|
view: DEFAULT_PAGE_BASE
|
|
46
46
|
}, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["__","
|
|
1
|
+
{"version":3,"names":["__","trash","LAYOUT_LIST","LAYOUT_TABLE","LAYOUT_GRID","OPERATOR_IN","DEFAULT_CONFIG_PER_VIEW_TYPE","primaryField","mediaField","DEFAULT_PAGE_BASE","type","search","filters","page","perPage","sort","field","direction","hiddenFields","layout","DEFAULT_VIEWS","title","slug","view","operator","value","icon"],"sources":["@wordpress/edit-site/src/components/sidebar-dataviews/default-views.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { trash } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport {\n\tLAYOUT_LIST,\n\tLAYOUT_TABLE,\n\tLAYOUT_GRID,\n\tOPERATOR_IN,\n} from '../../utils/constants';\n\nexport const DEFAULT_CONFIG_PER_VIEW_TYPE = {\n\t[ LAYOUT_TABLE ]: {\n\t\tprimaryField: 'title',\n\t},\n\t[ LAYOUT_GRID ]: {\n\t\tmediaField: 'featured-image',\n\t\tprimaryField: 'title',\n\t},\n\t[ LAYOUT_LIST ]: {\n\t\tprimaryField: 'title',\n\t\tmediaField: 'featured-image',\n\t},\n};\n\nconst DEFAULT_PAGE_BASE = {\n\ttype: LAYOUT_TABLE,\n\tsearch: '',\n\tfilters: [],\n\tpage: 1,\n\tperPage: 20,\n\tsort: {\n\t\tfield: 'date',\n\t\tdirection: 'desc',\n\t},\n\t// All fields are visible by default, so it's\n\t// better to keep track of the hidden ones.\n\thiddenFields: [ 'date', 'featured-image' ],\n\tlayout: {\n\t\t...DEFAULT_CONFIG_PER_VIEW_TYPE[ LAYOUT_TABLE ],\n\t},\n};\n\nexport const DEFAULT_VIEWS = {\n\tpage: [\n\t\t{\n\t\t\ttitle: __( 'All pages' ),\n\t\t\tslug: 'all',\n\t\t\tview: DEFAULT_PAGE_BASE,\n\t\t},\n\t\t{\n\t\t\ttitle: __( 'Drafts' ),\n\t\t\tslug: 'drafts',\n\t\t\tview: {\n\t\t\t\t...DEFAULT_PAGE_BASE,\n\t\t\t\tfilters: [\n\t\t\t\t\t{ field: 'status', operator: OPERATOR_IN, value: 'draft' },\n\t\t\t\t],\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\ttitle: __( 'Trash' ),\n\t\t\tslug: 'trash',\n\t\t\ticon: trash,\n\t\t\tview: {\n\t\t\t\t...DEFAULT_PAGE_BASE,\n\t\t\t\tfilters: [\n\t\t\t\t\t{ field: 'status', operator: OPERATOR_IN, value: 'trash' },\n\t\t\t\t],\n\t\t\t},\n\t\t},\n\t],\n};\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,EAAE,QAAQ,iBAAiB;AACpC,SAASC,KAAK,QAAQ,kBAAkB;;AAExC;AACA;AACA;AACA,SACCC,WAAW,EACXC,YAAY,EACZC,WAAW,EACXC,WAAW,QACL,uBAAuB;AAE9B,OAAO,MAAMC,4BAA4B,GAAG;EAC3C,CAAEH,YAAY,GAAI;IACjBI,YAAY,EAAE;EACf,CAAC;EACD,CAAEH,WAAW,GAAI;IAChBI,UAAU,EAAE,gBAAgB;IAC5BD,YAAY,EAAE;EACf,CAAC;EACD,CAAEL,WAAW,GAAI;IAChBK,YAAY,EAAE,OAAO;IACrBC,UAAU,EAAE;EACb;AACD,CAAC;AAED,MAAMC,iBAAiB,GAAG;EACzBC,IAAI,EAAEP,YAAY;EAClBQ,MAAM,EAAE,EAAE;EACVC,OAAO,EAAE,EAAE;EACXC,IAAI,EAAE,CAAC;EACPC,OAAO,EAAE,EAAE;EACXC,IAAI,EAAE;IACLC,KAAK,EAAE,MAAM;IACbC,SAAS,EAAE;EACZ,CAAC;EACD;EACA;EACAC,YAAY,EAAE,CAAE,MAAM,EAAE,gBAAgB,CAAE;EAC1CC,MAAM,EAAE;IACP,GAAGb,4BAA4B,CAAEH,YAAY;EAC9C;AACD,CAAC;AAED,OAAO,MAAMiB,aAAa,GAAG;EAC5BP,IAAI,EAAE,CACL;IACCQ,KAAK,EAAErB,EAAE,CAAE,WAAY,CAAC;IACxBsB,IAAI,EAAE,KAAK;IACXC,IAAI,EAAEd;EACP,CAAC,EACD;IACCY,KAAK,EAAErB,EAAE,CAAE,QAAS,CAAC;IACrBsB,IAAI,EAAE,QAAQ;IACdC,IAAI,EAAE;MACL,GAAGd,iBAAiB;MACpBG,OAAO,EAAE,CACR;QAAEI,KAAK,EAAE,QAAQ;QAAEQ,QAAQ,EAAEnB,WAAW;QAAEoB,KAAK,EAAE;MAAQ,CAAC;IAE5D;EACD,CAAC,EACD;IACCJ,KAAK,EAAErB,EAAE,CAAE,OAAQ,CAAC;IACpBsB,IAAI,EAAE,OAAO;IACbI,IAAI,EAAEzB,KAAK;IACXsB,IAAI,EAAE;MACL,GAAGd,iBAAiB;MACpBG,OAAO,EAAE,CACR;QAAEI,KAAK,EAAE,QAAQ;QAAEQ,QAAQ,EAAEnB,WAAW;QAAEoB,KAAK,EAAE;MAAQ,CAAC;IAE5D;EACD,CAAC;AAEH,CAAC"}
|
|
@@ -72,8 +72,8 @@ function usePageContentFocusCommands() {
|
|
|
72
72
|
if (currentPostType !== 'wp_template') {
|
|
73
73
|
commands.push({
|
|
74
74
|
name: 'core/switch-to-template-focus',
|
|
75
|
-
/* translators: %
|
|
76
|
-
|
|
75
|
+
label: sprintf( /* translators: %s: template title */
|
|
76
|
+
__('Edit template: %s'), decodeEntities(template.title)),
|
|
77
77
|
icon: layout,
|
|
78
78
|
callback: ({
|
|
79
79
|
close
|
|
@@ -155,9 +155,9 @@ function useManipulateDocumentCommands() {
|
|
|
155
155
|
}
|
|
156
156
|
const commands = [];
|
|
157
157
|
if (isTemplateRevertable(template) && !isEditingPage) {
|
|
158
|
-
const label = template.type === TEMPLATE_POST_TYPE ? /* translators: %
|
|
159
|
-
|
|
160
|
-
|
|
158
|
+
const label = template.type === TEMPLATE_POST_TYPE ? sprintf( /* translators: %s: template title */
|
|
159
|
+
__('Reset template: %s'), decodeEntities(template.title)) : sprintf( /* translators: %s: template part title */
|
|
160
|
+
__('Reset template part: %s'), decodeEntities(template.title));
|
|
161
161
|
commands.push({
|
|
162
162
|
name: 'core/reset-template',
|
|
163
163
|
label,
|
|
@@ -171,9 +171,9 @@ function useManipulateDocumentCommands() {
|
|
|
171
171
|
});
|
|
172
172
|
}
|
|
173
173
|
if (isTemplateRemovable(template) && !isEditingPage) {
|
|
174
|
-
const label = template.type === TEMPLATE_POST_TYPE ? /* translators: %
|
|
175
|
-
|
|
176
|
-
|
|
174
|
+
const label = template.type === TEMPLATE_POST_TYPE ? sprintf( /* translators: %s: template title */
|
|
175
|
+
__('Delete template: %s'), decodeEntities(template.title)) : sprintf( /* translators: %s: template part title */
|
|
176
|
+
__('Delete template part: %s'), decodeEntities(template.title));
|
|
177
177
|
const path = template.type === TEMPLATE_POST_TYPE ? '/wp_template' : '/wp_template_part/all';
|
|
178
178
|
commands.push({
|
|
179
179
|
name: 'core/remove-template',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useSelect","useDispatch","__","sprintf","isRTL","edit","trash","rotateLeft","rotateRight","layout","page","drawerLeft","drawerRight","blockDefault","code","keyboard","listView","symbol","useCommandLoader","decodeEntities","privateApis","routerPrivateApis","store","preferencesStore","interfaceStore","noticesStore","editorStore","editSiteStore","useEditedEntityRecord","isTemplateRemovable","isTemplateRevertable","KEYBOARD_SHORTCUT_HELP_MODAL_NAME","PREFERENCES_MODAL_NAME","PATTERN_MODALS","unlock","TEMPLATE_POST_TYPE","useLink","useHistory","usePageContentFocusCommands","record","template","isPage","canvasMode","templateId","currentPostType","select","_isPage","getCanvasMode","getCurrentPostType","getCurrentTemplateId","onClick","editTemplate","postType","postId","setRenderingMode","isLoading","commands","push","name","label","title","icon","callback","close","useEditorModeCommands","switchEditorMode","editorMode","getEditorMode","useManipulateDocumentCommands","isLoaded","removeTemplate","revertTemplate","history","isEditingPage","type","path","useEditUICommands","openGeneralSidebar","closeGeneralSidebar","toggleDistractionFree","setIsListViewOpened","activeSidebar","showBlockBreadcrumbs","isListViewOpen","isDistractionFree","isTopToolbar","isFocusMode","get","isListViewOpened","getActiveComplementaryArea","openModal","toggle","createInfoNotice","id","actions","usePatternCommands","pattern","rename","duplicate","useEditModeCommands","hook","context"],"sources":["@wordpress/edit-site/src/hooks/commands/use-edit-mode-commands.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { __, sprintf, isRTL } from '@wordpress/i18n';\nimport {\n\tedit,\n\ttrash,\n\trotateLeft,\n\trotateRight,\n\tlayout,\n\tpage,\n\tdrawerLeft,\n\tdrawerRight,\n\tblockDefault,\n\tcode,\n\tkeyboard,\n\tlistView,\n\tsymbol,\n} from '@wordpress/icons';\nimport { useCommandLoader } from '@wordpress/commands';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\nimport { store as preferencesStore } from '@wordpress/preferences';\nimport { store as interfaceStore } from '@wordpress/interface';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { store as editorStore } from '@wordpress/editor';\n\n/**\n * Internal dependencies\n */\nimport { store as editSiteStore } from '../../store';\nimport useEditedEntityRecord from '../../components/use-edited-entity-record';\nimport isTemplateRemovable from '../../utils/is-template-removable';\nimport isTemplateRevertable from '../../utils/is-template-revertable';\nimport { KEYBOARD_SHORTCUT_HELP_MODAL_NAME } from '../../components/keyboard-shortcut-help-modal';\nimport { PREFERENCES_MODAL_NAME } from '../../components/preferences-modal';\nimport { PATTERN_MODALS } from '../../components/pattern-modal';\nimport { unlock } from '../../lock-unlock';\nimport { TEMPLATE_POST_TYPE } from '../../utils/constants';\nimport { useLink } from '../../components/routes/link';\n\nconst { useHistory } = unlock( routerPrivateApis );\n\nfunction usePageContentFocusCommands() {\n\tconst { record: template } = useEditedEntityRecord();\n\tconst { isPage, canvasMode, templateId, currentPostType } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { isPage: _isPage, getCanvasMode } = unlock(\n\t\t\t\tselect( editSiteStore )\n\t\t\t);\n\t\t\tconst { getCurrentPostType, getCurrentTemplateId } =\n\t\t\t\tselect( editorStore );\n\t\t\treturn {\n\t\t\t\tisPage: _isPage(),\n\t\t\t\tcanvasMode: getCanvasMode(),\n\t\t\t\ttemplateId: getCurrentTemplateId(),\n\t\t\t\tcurrentPostType: getCurrentPostType(),\n\t\t\t};\n\t\t},\n\t\t[]\n\t);\n\n\tconst { onClick: editTemplate } = useLink( {\n\t\tpostType: 'wp_template',\n\t\tpostId: templateId,\n\t} );\n\n\tconst { setRenderingMode } = useDispatch( editorStore );\n\n\tif ( ! isPage || canvasMode !== 'edit' ) {\n\t\treturn { isLoading: false, commands: [] };\n\t}\n\n\tconst commands = [];\n\n\tif ( currentPostType !== 'wp_template' ) {\n\t\tcommands.push( {\n\t\t\tname: 'core/switch-to-template-focus',\n\t\t\t/* translators: %1$s: template title */\n\t\t\tlabel: sprintf(\n\t\t\t\t'Edit template: %s',\n\t\t\t\tdecodeEntities( template.title )\n\t\t\t),\n\t\t\ticon: layout,\n\t\t\tcallback: ( { close } ) => {\n\t\t\t\teditTemplate();\n\t\t\t\tclose();\n\t\t\t},\n\t\t} );\n\t} else {\n\t\tcommands.push( {\n\t\t\tname: 'core/switch-to-page-focus',\n\t\t\tlabel: __( 'Back to page' ),\n\t\t\ticon: page,\n\t\t\tcallback: ( { close } ) => {\n\t\t\t\tsetRenderingMode( 'template-locked' );\n\t\t\t\tclose();\n\t\t\t},\n\t\t} );\n\t}\n\n\treturn { isLoading: false, commands };\n}\n\nfunction useEditorModeCommands() {\n\tconst { switchEditorMode } = useDispatch( editSiteStore );\n\tconst { canvasMode, editorMode } = useSelect(\n\t\t( select ) => ( {\n\t\t\tcanvasMode: unlock( select( editSiteStore ) ).getCanvasMode(),\n\t\t\teditorMode: select( editSiteStore ).getEditorMode(),\n\t\t} ),\n\t\t[]\n\t);\n\n\tif ( canvasMode !== 'edit' || editorMode !== 'text' ) {\n\t\treturn { isLoading: false, commands: [] };\n\t}\n\n\tconst commands = [];\n\n\tif ( editorMode === 'text' ) {\n\t\tcommands.push( {\n\t\t\tname: 'core/exit-code-editor',\n\t\t\tlabel: __( 'Exit code editor' ),\n\t\t\ticon: code,\n\t\t\tcallback: ( { close } ) => {\n\t\t\t\tswitchEditorMode( 'visual' );\n\t\t\t\tclose();\n\t\t\t},\n\t\t} );\n\t}\n\n\treturn { isLoading: false, commands };\n}\n\nfunction useManipulateDocumentCommands() {\n\tconst { isLoaded, record: template } = useEditedEntityRecord();\n\tconst { removeTemplate, revertTemplate } = useDispatch( editSiteStore );\n\tconst history = useHistory();\n\tconst isEditingPage = useSelect(\n\t\t( select ) =>\n\t\t\tselect( editSiteStore ).isPage() &&\n\t\t\tselect( editorStore ).getCurrentPostType() !== 'wp_template',\n\t\t[]\n\t);\n\n\tif ( ! isLoaded ) {\n\t\treturn { isLoading: true, commands: [] };\n\t}\n\n\tconst commands = [];\n\n\tif ( isTemplateRevertable( template ) && ! isEditingPage ) {\n\t\tconst label =\n\t\t\ttemplate.type === TEMPLATE_POST_TYPE\n\t\t\t\t? /* translators: %1$s: template title */\n\t\t\t\t sprintf(\n\t\t\t\t\t\t'Reset template: %s',\n\t\t\t\t\t\tdecodeEntities( template.title )\n\t\t\t\t )\n\t\t\t\t: /* translators: %1$s: template part title */\n\t\t\t\t sprintf(\n\t\t\t\t\t\t'Reset template part: %s',\n\t\t\t\t\t\tdecodeEntities( template.title )\n\t\t\t\t );\n\t\tcommands.push( {\n\t\t\tname: 'core/reset-template',\n\t\t\tlabel,\n\t\t\ticon: isRTL() ? rotateRight : rotateLeft,\n\t\t\tcallback: ( { close } ) => {\n\t\t\t\trevertTemplate( template );\n\t\t\t\tclose();\n\t\t\t},\n\t\t} );\n\t}\n\n\tif ( isTemplateRemovable( template ) && ! isEditingPage ) {\n\t\tconst label =\n\t\t\ttemplate.type === TEMPLATE_POST_TYPE\n\t\t\t\t? /* translators: %1$s: template title */\n\t\t\t\t sprintf(\n\t\t\t\t\t\t'Delete template: %s',\n\t\t\t\t\t\tdecodeEntities( template.title )\n\t\t\t\t )\n\t\t\t\t: /* translators: %1$s: template part title */\n\t\t\t\t sprintf(\n\t\t\t\t\t\t'Delete template part: %s',\n\t\t\t\t\t\tdecodeEntities( template.title )\n\t\t\t\t );\n\t\tconst path =\n\t\t\ttemplate.type === TEMPLATE_POST_TYPE\n\t\t\t\t? '/wp_template'\n\t\t\t\t: '/wp_template_part/all';\n\t\tcommands.push( {\n\t\t\tname: 'core/remove-template',\n\t\t\tlabel,\n\t\t\ticon: trash,\n\t\t\tcallback: ( { close } ) => {\n\t\t\t\tremoveTemplate( template );\n\t\t\t\t// Navigate to the template list\n\t\t\t\thistory.push( {\n\t\t\t\t\tpath,\n\t\t\t\t} );\n\t\t\t\tclose();\n\t\t\t},\n\t\t} );\n\t}\n\n\treturn {\n\t\tisLoading: ! isLoaded,\n\t\tcommands,\n\t};\n}\n\nfunction useEditUICommands() {\n\tconst {\n\t\topenGeneralSidebar,\n\t\tcloseGeneralSidebar,\n\t\ttoggleDistractionFree,\n\t\tsetIsListViewOpened,\n\t\tswitchEditorMode,\n\t} = useDispatch( editSiteStore );\n\tconst {\n\t\tcanvasMode,\n\t\teditorMode,\n\t\tactiveSidebar,\n\t\tshowBlockBreadcrumbs,\n\t\tisListViewOpen,\n\t\tisDistractionFree,\n\t\tisTopToolbar,\n\t\tisFocusMode,\n\t} = useSelect( ( select ) => {\n\t\tconst { get } = select( preferencesStore );\n\t\tconst { getEditorMode } = select( editSiteStore );\n\t\tconst { isListViewOpened } = select( editorStore );\n\t\treturn {\n\t\t\tcanvasMode: unlock( select( editSiteStore ) ).getCanvasMode(),\n\t\t\teditorMode: getEditorMode(),\n\t\t\tactiveSidebar: select( interfaceStore ).getActiveComplementaryArea(\n\t\t\t\teditSiteStore.name\n\t\t\t),\n\t\t\tshowBlockBreadcrumbs: get( 'core', 'showBlockBreadcrumbs' ),\n\t\t\tisListViewOpen: isListViewOpened(),\n\t\t\tisDistractionFree: get( 'core', 'distractionFree' ),\n\t\t\tisFocusMode: get( 'core', 'focusMode' ),\n\t\t\tisTopToolbar: get( 'core', 'fixedToolbar' ),\n\t\t};\n\t}, [] );\n\tconst { openModal } = useDispatch( interfaceStore );\n\tconst { toggle } = useDispatch( preferencesStore );\n\tconst { createInfoNotice } = useDispatch( noticesStore );\n\n\tif ( canvasMode !== 'edit' ) {\n\t\treturn { isLoading: false, commands: [] };\n\t}\n\n\tconst commands = [];\n\n\tcommands.push( {\n\t\tname: 'core/open-settings-sidebar',\n\t\tlabel: __( 'Toggle settings sidebar' ),\n\t\ticon: isRTL() ? drawerLeft : drawerRight,\n\t\tcallback: ( { close } ) => {\n\t\t\tclose();\n\t\t\tif ( activeSidebar === 'edit-site/template' ) {\n\t\t\t\tcloseGeneralSidebar();\n\t\t\t} else {\n\t\t\t\topenGeneralSidebar( 'edit-site/template' );\n\t\t\t}\n\t\t},\n\t} );\n\n\tcommands.push( {\n\t\tname: 'core/open-block-inspector',\n\t\tlabel: __( 'Toggle block inspector' ),\n\t\ticon: blockDefault,\n\t\tcallback: ( { close } ) => {\n\t\t\tclose();\n\t\t\tif ( activeSidebar === 'edit-site/block-inspector' ) {\n\t\t\t\tcloseGeneralSidebar();\n\t\t\t} else {\n\t\t\t\topenGeneralSidebar( 'edit-site/block-inspector' );\n\t\t\t}\n\t\t},\n\t} );\n\n\tcommands.push( {\n\t\tname: 'core/toggle-spotlight-mode',\n\t\tlabel: __( 'Toggle spotlight' ),\n\t\tcallback: ( { close } ) => {\n\t\t\ttoggle( 'core', 'focusMode' );\n\t\t\tclose();\n\t\t\tcreateInfoNotice(\n\t\t\t\tisFocusMode ? __( 'Spotlight off.' ) : __( 'Spotlight on.' ),\n\t\t\t\t{\n\t\t\t\t\tid: 'core/edit-site/toggle-spotlight-mode/notice',\n\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\tactions: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: __( 'Undo' ),\n\t\t\t\t\t\t\tonClick: () => {\n\t\t\t\t\t\t\t\ttoggle( 'core', 'focusMode' );\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t}\n\t\t\t);\n\t\t},\n\t} );\n\n\tcommands.push( {\n\t\tname: 'core/toggle-distraction-free',\n\t\tlabel: isDistractionFree\n\t\t\t? __( 'Exit Distraction Free' )\n\t\t\t: __( 'Enter Distraction Free ' ),\n\t\tcallback: ( { close } ) => {\n\t\t\ttoggleDistractionFree();\n\t\t\tclose();\n\t\t},\n\t} );\n\n\tcommands.push( {\n\t\tname: 'core/toggle-top-toolbar',\n\t\tlabel: __( 'Toggle top toolbar' ),\n\t\tcallback: ( { close } ) => {\n\t\t\ttoggle( 'core', 'fixedToolbar' );\n\t\t\tif ( isDistractionFree ) {\n\t\t\t\ttoggleDistractionFree();\n\t\t\t}\n\t\t\tclose();\n\t\t\tcreateInfoNotice(\n\t\t\t\tisTopToolbar\n\t\t\t\t\t? __( 'Top toolbar off.' )\n\t\t\t\t\t: __( 'Top toolbar on.' ),\n\t\t\t\t{\n\t\t\t\t\tid: 'core/edit-site/toggle-top-toolbar/notice',\n\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\tactions: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: __( 'Undo' ),\n\t\t\t\t\t\t\tonClick: () => {\n\t\t\t\t\t\t\t\ttoggle( 'core', 'fixedToolbar' );\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t}\n\t\t\t);\n\t\t},\n\t} );\n\n\tif ( editorMode === 'visual' ) {\n\t\tcommands.push( {\n\t\t\tname: 'core/toggle-code-editor',\n\t\t\tlabel: __( 'Open code editor' ),\n\t\t\ticon: code,\n\t\t\tcallback: ( { close } ) => {\n\t\t\t\tswitchEditorMode( 'text' );\n\t\t\t\tclose();\n\t\t\t},\n\t\t} );\n\t}\n\n\tcommands.push( {\n\t\tname: 'core/open-preferences',\n\t\tlabel: __( 'Editor preferences' ),\n\t\tcallback: () => {\n\t\t\topenModal( PREFERENCES_MODAL_NAME );\n\t\t},\n\t} );\n\n\tcommands.push( {\n\t\tname: 'core/open-shortcut-help',\n\t\tlabel: __( 'Keyboard shortcuts' ),\n\t\ticon: keyboard,\n\t\tcallback: () => {\n\t\t\topenModal( KEYBOARD_SHORTCUT_HELP_MODAL_NAME );\n\t\t},\n\t} );\n\n\tcommands.push( {\n\t\tname: 'core/toggle-breadcrumbs',\n\t\tlabel: showBlockBreadcrumbs\n\t\t\t? __( 'Hide block breadcrumbs' )\n\t\t\t: __( 'Show block breadcrumbs' ),\n\t\tcallback: ( { close } ) => {\n\t\t\ttoggle( 'core', 'showBlockBreadcrumbs' );\n\t\t\tclose();\n\t\t\tcreateInfoNotice(\n\t\t\t\tshowBlockBreadcrumbs\n\t\t\t\t\t? __( 'Breadcrumbs hidden.' )\n\t\t\t\t\t: __( 'Breadcrumbs visible.' ),\n\t\t\t\t{\n\t\t\t\t\tid: 'core/edit-site/toggle-breadcrumbs/notice',\n\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t}\n\t\t\t);\n\t\t},\n\t} );\n\n\tcommands.push( {\n\t\tname: 'core/toggle-list-view',\n\t\tlabel: isListViewOpen\n\t\t\t? __( 'Close List View' )\n\t\t\t: __( 'Open List View' ),\n\t\ticon: listView,\n\t\tcallback: ( { close } ) => {\n\t\t\tsetIsListViewOpened( ! isListViewOpen );\n\t\t\tclose();\n\t\t\tcreateInfoNotice(\n\t\t\t\tisListViewOpen ? __( 'List View off.' ) : __( 'List View on.' ),\n\t\t\t\t{\n\t\t\t\t\tid: 'core/edit-site/toggle-list-view/notice',\n\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t}\n\t\t\t);\n\t\t},\n\t} );\n\n\treturn {\n\t\tisLoading: false,\n\t\tcommands,\n\t};\n}\n\nfunction usePatternCommands() {\n\tconst { isLoaded, record: pattern } = useEditedEntityRecord();\n\tconst { openModal } = useDispatch( interfaceStore );\n\n\tif ( ! isLoaded ) {\n\t\treturn { isLoading: true, commands: [] };\n\t}\n\n\tconst commands = [];\n\n\tif ( pattern?.type === 'wp_block' ) {\n\t\tcommands.push( {\n\t\t\tname: 'core/rename-pattern',\n\t\t\tlabel: __( 'Rename pattern' ),\n\t\t\ticon: edit,\n\t\t\tcallback: ( { close } ) => {\n\t\t\t\topenModal( PATTERN_MODALS.rename );\n\t\t\t\tclose();\n\t\t\t},\n\t\t} );\n\t\tcommands.push( {\n\t\t\tname: 'core/duplicate-pattern',\n\t\t\tlabel: __( 'Duplicate pattern' ),\n\t\t\ticon: symbol,\n\t\t\tcallback: ( { close } ) => {\n\t\t\t\topenModal( PATTERN_MODALS.duplicate );\n\t\t\t\tclose();\n\t\t\t},\n\t\t} );\n\t}\n\n\treturn { isLoading: false, commands };\n}\n\nexport function useEditModeCommands() {\n\tuseCommandLoader( {\n\t\tname: 'core/exit-code-editor',\n\t\thook: useEditorModeCommands,\n\t\tcontext: 'site-editor-edit',\n\t} );\n\n\tuseCommandLoader( {\n\t\tname: 'core/edit-site/page-content-focus',\n\t\thook: usePageContentFocusCommands,\n\t\tcontext: 'site-editor-edit',\n\t} );\n\n\tuseCommandLoader( {\n\t\tname: 'core/edit-site/manipulate-document',\n\t\thook: useManipulateDocumentCommands,\n\t} );\n\n\tuseCommandLoader( {\n\t\tname: 'core/edit-site/patterns',\n\t\thook: usePatternCommands,\n\t\tcontext: 'site-editor-edit',\n\t} );\n\n\tuseCommandLoader( {\n\t\tname: 'core/edit-site/edit-ui',\n\t\thook: useEditUICommands,\n\t} );\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["useSelect","useDispatch","__","sprintf","isRTL","edit","trash","rotateLeft","rotateRight","layout","page","drawerLeft","drawerRight","blockDefault","code","keyboard","listView","symbol","useCommandLoader","decodeEntities","privateApis","routerPrivateApis","store","preferencesStore","interfaceStore","noticesStore","editorStore","editSiteStore","useEditedEntityRecord","isTemplateRemovable","isTemplateRevertable","KEYBOARD_SHORTCUT_HELP_MODAL_NAME","PREFERENCES_MODAL_NAME","PATTERN_MODALS","unlock","TEMPLATE_POST_TYPE","useLink","useHistory","usePageContentFocusCommands","record","template","isPage","canvasMode","templateId","currentPostType","select","_isPage","getCanvasMode","getCurrentPostType","getCurrentTemplateId","onClick","editTemplate","postType","postId","setRenderingMode","isLoading","commands","push","name","label","title","icon","callback","close","useEditorModeCommands","switchEditorMode","editorMode","getEditorMode","useManipulateDocumentCommands","isLoaded","removeTemplate","revertTemplate","history","isEditingPage","type","path","useEditUICommands","openGeneralSidebar","closeGeneralSidebar","toggleDistractionFree","setIsListViewOpened","activeSidebar","showBlockBreadcrumbs","isListViewOpen","isDistractionFree","isTopToolbar","isFocusMode","get","isListViewOpened","getActiveComplementaryArea","openModal","toggle","createInfoNotice","id","actions","usePatternCommands","pattern","rename","duplicate","useEditModeCommands","hook","context"],"sources":["@wordpress/edit-site/src/hooks/commands/use-edit-mode-commands.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { __, sprintf, isRTL } from '@wordpress/i18n';\nimport {\n\tedit,\n\ttrash,\n\trotateLeft,\n\trotateRight,\n\tlayout,\n\tpage,\n\tdrawerLeft,\n\tdrawerRight,\n\tblockDefault,\n\tcode,\n\tkeyboard,\n\tlistView,\n\tsymbol,\n} from '@wordpress/icons';\nimport { useCommandLoader } from '@wordpress/commands';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\nimport { store as preferencesStore } from '@wordpress/preferences';\nimport { store as interfaceStore } from '@wordpress/interface';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { store as editorStore } from '@wordpress/editor';\n\n/**\n * Internal dependencies\n */\nimport { store as editSiteStore } from '../../store';\nimport useEditedEntityRecord from '../../components/use-edited-entity-record';\nimport isTemplateRemovable from '../../utils/is-template-removable';\nimport isTemplateRevertable from '../../utils/is-template-revertable';\nimport { KEYBOARD_SHORTCUT_HELP_MODAL_NAME } from '../../components/keyboard-shortcut-help-modal';\nimport { PREFERENCES_MODAL_NAME } from '../../components/preferences-modal';\nimport { PATTERN_MODALS } from '../../components/pattern-modal';\nimport { unlock } from '../../lock-unlock';\nimport { TEMPLATE_POST_TYPE } from '../../utils/constants';\nimport { useLink } from '../../components/routes/link';\n\nconst { useHistory } = unlock( routerPrivateApis );\n\nfunction usePageContentFocusCommands() {\n\tconst { record: template } = useEditedEntityRecord();\n\tconst { isPage, canvasMode, templateId, currentPostType } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { isPage: _isPage, getCanvasMode } = unlock(\n\t\t\t\tselect( editSiteStore )\n\t\t\t);\n\t\t\tconst { getCurrentPostType, getCurrentTemplateId } =\n\t\t\t\tselect( editorStore );\n\t\t\treturn {\n\t\t\t\tisPage: _isPage(),\n\t\t\t\tcanvasMode: getCanvasMode(),\n\t\t\t\ttemplateId: getCurrentTemplateId(),\n\t\t\t\tcurrentPostType: getCurrentPostType(),\n\t\t\t};\n\t\t},\n\t\t[]\n\t);\n\n\tconst { onClick: editTemplate } = useLink( {\n\t\tpostType: 'wp_template',\n\t\tpostId: templateId,\n\t} );\n\n\tconst { setRenderingMode } = useDispatch( editorStore );\n\n\tif ( ! isPage || canvasMode !== 'edit' ) {\n\t\treturn { isLoading: false, commands: [] };\n\t}\n\n\tconst commands = [];\n\n\tif ( currentPostType !== 'wp_template' ) {\n\t\tcommands.push( {\n\t\t\tname: 'core/switch-to-template-focus',\n\t\t\tlabel: sprintf(\n\t\t\t\t/* translators: %s: template title */\n\t\t\t\t__( 'Edit template: %s' ),\n\t\t\t\tdecodeEntities( template.title )\n\t\t\t),\n\t\t\ticon: layout,\n\t\t\tcallback: ( { close } ) => {\n\t\t\t\teditTemplate();\n\t\t\t\tclose();\n\t\t\t},\n\t\t} );\n\t} else {\n\t\tcommands.push( {\n\t\t\tname: 'core/switch-to-page-focus',\n\t\t\tlabel: __( 'Back to page' ),\n\t\t\ticon: page,\n\t\t\tcallback: ( { close } ) => {\n\t\t\t\tsetRenderingMode( 'template-locked' );\n\t\t\t\tclose();\n\t\t\t},\n\t\t} );\n\t}\n\n\treturn { isLoading: false, commands };\n}\n\nfunction useEditorModeCommands() {\n\tconst { switchEditorMode } = useDispatch( editSiteStore );\n\tconst { canvasMode, editorMode } = useSelect(\n\t\t( select ) => ( {\n\t\t\tcanvasMode: unlock( select( editSiteStore ) ).getCanvasMode(),\n\t\t\teditorMode: select( editSiteStore ).getEditorMode(),\n\t\t} ),\n\t\t[]\n\t);\n\n\tif ( canvasMode !== 'edit' || editorMode !== 'text' ) {\n\t\treturn { isLoading: false, commands: [] };\n\t}\n\n\tconst commands = [];\n\n\tif ( editorMode === 'text' ) {\n\t\tcommands.push( {\n\t\t\tname: 'core/exit-code-editor',\n\t\t\tlabel: __( 'Exit code editor' ),\n\t\t\ticon: code,\n\t\t\tcallback: ( { close } ) => {\n\t\t\t\tswitchEditorMode( 'visual' );\n\t\t\t\tclose();\n\t\t\t},\n\t\t} );\n\t}\n\n\treturn { isLoading: false, commands };\n}\n\nfunction useManipulateDocumentCommands() {\n\tconst { isLoaded, record: template } = useEditedEntityRecord();\n\tconst { removeTemplate, revertTemplate } = useDispatch( editSiteStore );\n\tconst history = useHistory();\n\tconst isEditingPage = useSelect(\n\t\t( select ) =>\n\t\t\tselect( editSiteStore ).isPage() &&\n\t\t\tselect( editorStore ).getCurrentPostType() !== 'wp_template',\n\t\t[]\n\t);\n\n\tif ( ! isLoaded ) {\n\t\treturn { isLoading: true, commands: [] };\n\t}\n\n\tconst commands = [];\n\n\tif ( isTemplateRevertable( template ) && ! isEditingPage ) {\n\t\tconst label =\n\t\t\ttemplate.type === TEMPLATE_POST_TYPE\n\t\t\t\t? sprintf(\n\t\t\t\t\t\t/* translators: %s: template title */\n\t\t\t\t\t\t__( 'Reset template: %s' ),\n\t\t\t\t\t\tdecodeEntities( template.title )\n\t\t\t\t )\n\t\t\t\t: sprintf(\n\t\t\t\t\t\t/* translators: %s: template part title */\n\t\t\t\t\t\t__( 'Reset template part: %s' ),\n\t\t\t\t\t\tdecodeEntities( template.title )\n\t\t\t\t );\n\t\tcommands.push( {\n\t\t\tname: 'core/reset-template',\n\t\t\tlabel,\n\t\t\ticon: isRTL() ? rotateRight : rotateLeft,\n\t\t\tcallback: ( { close } ) => {\n\t\t\t\trevertTemplate( template );\n\t\t\t\tclose();\n\t\t\t},\n\t\t} );\n\t}\n\n\tif ( isTemplateRemovable( template ) && ! isEditingPage ) {\n\t\tconst label =\n\t\t\ttemplate.type === TEMPLATE_POST_TYPE\n\t\t\t\t? sprintf(\n\t\t\t\t\t\t/* translators: %s: template title */\n\t\t\t\t\t\t__( 'Delete template: %s' ),\n\t\t\t\t\t\tdecodeEntities( template.title )\n\t\t\t\t )\n\t\t\t\t: sprintf(\n\t\t\t\t\t\t/* translators: %s: template part title */\n\t\t\t\t\t\t__( 'Delete template part: %s' ),\n\t\t\t\t\t\tdecodeEntities( template.title )\n\t\t\t\t );\n\t\tconst path =\n\t\t\ttemplate.type === TEMPLATE_POST_TYPE\n\t\t\t\t? '/wp_template'\n\t\t\t\t: '/wp_template_part/all';\n\t\tcommands.push( {\n\t\t\tname: 'core/remove-template',\n\t\t\tlabel,\n\t\t\ticon: trash,\n\t\t\tcallback: ( { close } ) => {\n\t\t\t\tremoveTemplate( template );\n\t\t\t\t// Navigate to the template list\n\t\t\t\thistory.push( {\n\t\t\t\t\tpath,\n\t\t\t\t} );\n\t\t\t\tclose();\n\t\t\t},\n\t\t} );\n\t}\n\n\treturn {\n\t\tisLoading: ! isLoaded,\n\t\tcommands,\n\t};\n}\n\nfunction useEditUICommands() {\n\tconst {\n\t\topenGeneralSidebar,\n\t\tcloseGeneralSidebar,\n\t\ttoggleDistractionFree,\n\t\tsetIsListViewOpened,\n\t\tswitchEditorMode,\n\t} = useDispatch( editSiteStore );\n\tconst {\n\t\tcanvasMode,\n\t\teditorMode,\n\t\tactiveSidebar,\n\t\tshowBlockBreadcrumbs,\n\t\tisListViewOpen,\n\t\tisDistractionFree,\n\t\tisTopToolbar,\n\t\tisFocusMode,\n\t} = useSelect( ( select ) => {\n\t\tconst { get } = select( preferencesStore );\n\t\tconst { getEditorMode } = select( editSiteStore );\n\t\tconst { isListViewOpened } = select( editorStore );\n\t\treturn {\n\t\t\tcanvasMode: unlock( select( editSiteStore ) ).getCanvasMode(),\n\t\t\teditorMode: getEditorMode(),\n\t\t\tactiveSidebar: select( interfaceStore ).getActiveComplementaryArea(\n\t\t\t\teditSiteStore.name\n\t\t\t),\n\t\t\tshowBlockBreadcrumbs: get( 'core', 'showBlockBreadcrumbs' ),\n\t\t\tisListViewOpen: isListViewOpened(),\n\t\t\tisDistractionFree: get( 'core', 'distractionFree' ),\n\t\t\tisFocusMode: get( 'core', 'focusMode' ),\n\t\t\tisTopToolbar: get( 'core', 'fixedToolbar' ),\n\t\t};\n\t}, [] );\n\tconst { openModal } = useDispatch( interfaceStore );\n\tconst { toggle } = useDispatch( preferencesStore );\n\tconst { createInfoNotice } = useDispatch( noticesStore );\n\n\tif ( canvasMode !== 'edit' ) {\n\t\treturn { isLoading: false, commands: [] };\n\t}\n\n\tconst commands = [];\n\n\tcommands.push( {\n\t\tname: 'core/open-settings-sidebar',\n\t\tlabel: __( 'Toggle settings sidebar' ),\n\t\ticon: isRTL() ? drawerLeft : drawerRight,\n\t\tcallback: ( { close } ) => {\n\t\t\tclose();\n\t\t\tif ( activeSidebar === 'edit-site/template' ) {\n\t\t\t\tcloseGeneralSidebar();\n\t\t\t} else {\n\t\t\t\topenGeneralSidebar( 'edit-site/template' );\n\t\t\t}\n\t\t},\n\t} );\n\n\tcommands.push( {\n\t\tname: 'core/open-block-inspector',\n\t\tlabel: __( 'Toggle block inspector' ),\n\t\ticon: blockDefault,\n\t\tcallback: ( { close } ) => {\n\t\t\tclose();\n\t\t\tif ( activeSidebar === 'edit-site/block-inspector' ) {\n\t\t\t\tcloseGeneralSidebar();\n\t\t\t} else {\n\t\t\t\topenGeneralSidebar( 'edit-site/block-inspector' );\n\t\t\t}\n\t\t},\n\t} );\n\n\tcommands.push( {\n\t\tname: 'core/toggle-spotlight-mode',\n\t\tlabel: __( 'Toggle spotlight' ),\n\t\tcallback: ( { close } ) => {\n\t\t\ttoggle( 'core', 'focusMode' );\n\t\t\tclose();\n\t\t\tcreateInfoNotice(\n\t\t\t\tisFocusMode ? __( 'Spotlight off.' ) : __( 'Spotlight on.' ),\n\t\t\t\t{\n\t\t\t\t\tid: 'core/edit-site/toggle-spotlight-mode/notice',\n\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\tactions: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: __( 'Undo' ),\n\t\t\t\t\t\t\tonClick: () => {\n\t\t\t\t\t\t\t\ttoggle( 'core', 'focusMode' );\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t}\n\t\t\t);\n\t\t},\n\t} );\n\n\tcommands.push( {\n\t\tname: 'core/toggle-distraction-free',\n\t\tlabel: isDistractionFree\n\t\t\t? __( 'Exit Distraction Free' )\n\t\t\t: __( 'Enter Distraction Free ' ),\n\t\tcallback: ( { close } ) => {\n\t\t\ttoggleDistractionFree();\n\t\t\tclose();\n\t\t},\n\t} );\n\n\tcommands.push( {\n\t\tname: 'core/toggle-top-toolbar',\n\t\tlabel: __( 'Toggle top toolbar' ),\n\t\tcallback: ( { close } ) => {\n\t\t\ttoggle( 'core', 'fixedToolbar' );\n\t\t\tif ( isDistractionFree ) {\n\t\t\t\ttoggleDistractionFree();\n\t\t\t}\n\t\t\tclose();\n\t\t\tcreateInfoNotice(\n\t\t\t\tisTopToolbar\n\t\t\t\t\t? __( 'Top toolbar off.' )\n\t\t\t\t\t: __( 'Top toolbar on.' ),\n\t\t\t\t{\n\t\t\t\t\tid: 'core/edit-site/toggle-top-toolbar/notice',\n\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\tactions: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: __( 'Undo' ),\n\t\t\t\t\t\t\tonClick: () => {\n\t\t\t\t\t\t\t\ttoggle( 'core', 'fixedToolbar' );\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t}\n\t\t\t);\n\t\t},\n\t} );\n\n\tif ( editorMode === 'visual' ) {\n\t\tcommands.push( {\n\t\t\tname: 'core/toggle-code-editor',\n\t\t\tlabel: __( 'Open code editor' ),\n\t\t\ticon: code,\n\t\t\tcallback: ( { close } ) => {\n\t\t\t\tswitchEditorMode( 'text' );\n\t\t\t\tclose();\n\t\t\t},\n\t\t} );\n\t}\n\n\tcommands.push( {\n\t\tname: 'core/open-preferences',\n\t\tlabel: __( 'Editor preferences' ),\n\t\tcallback: () => {\n\t\t\topenModal( PREFERENCES_MODAL_NAME );\n\t\t},\n\t} );\n\n\tcommands.push( {\n\t\tname: 'core/open-shortcut-help',\n\t\tlabel: __( 'Keyboard shortcuts' ),\n\t\ticon: keyboard,\n\t\tcallback: () => {\n\t\t\topenModal( KEYBOARD_SHORTCUT_HELP_MODAL_NAME );\n\t\t},\n\t} );\n\n\tcommands.push( {\n\t\tname: 'core/toggle-breadcrumbs',\n\t\tlabel: showBlockBreadcrumbs\n\t\t\t? __( 'Hide block breadcrumbs' )\n\t\t\t: __( 'Show block breadcrumbs' ),\n\t\tcallback: ( { close } ) => {\n\t\t\ttoggle( 'core', 'showBlockBreadcrumbs' );\n\t\t\tclose();\n\t\t\tcreateInfoNotice(\n\t\t\t\tshowBlockBreadcrumbs\n\t\t\t\t\t? __( 'Breadcrumbs hidden.' )\n\t\t\t\t\t: __( 'Breadcrumbs visible.' ),\n\t\t\t\t{\n\t\t\t\t\tid: 'core/edit-site/toggle-breadcrumbs/notice',\n\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t}\n\t\t\t);\n\t\t},\n\t} );\n\n\tcommands.push( {\n\t\tname: 'core/toggle-list-view',\n\t\tlabel: isListViewOpen\n\t\t\t? __( 'Close List View' )\n\t\t\t: __( 'Open List View' ),\n\t\ticon: listView,\n\t\tcallback: ( { close } ) => {\n\t\t\tsetIsListViewOpened( ! isListViewOpen );\n\t\t\tclose();\n\t\t\tcreateInfoNotice(\n\t\t\t\tisListViewOpen ? __( 'List View off.' ) : __( 'List View on.' ),\n\t\t\t\t{\n\t\t\t\t\tid: 'core/edit-site/toggle-list-view/notice',\n\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t}\n\t\t\t);\n\t\t},\n\t} );\n\n\treturn {\n\t\tisLoading: false,\n\t\tcommands,\n\t};\n}\n\nfunction usePatternCommands() {\n\tconst { isLoaded, record: pattern } = useEditedEntityRecord();\n\tconst { openModal } = useDispatch( interfaceStore );\n\n\tif ( ! isLoaded ) {\n\t\treturn { isLoading: true, commands: [] };\n\t}\n\n\tconst commands = [];\n\n\tif ( pattern?.type === 'wp_block' ) {\n\t\tcommands.push( {\n\t\t\tname: 'core/rename-pattern',\n\t\t\tlabel: __( 'Rename pattern' ),\n\t\t\ticon: edit,\n\t\t\tcallback: ( { close } ) => {\n\t\t\t\topenModal( PATTERN_MODALS.rename );\n\t\t\t\tclose();\n\t\t\t},\n\t\t} );\n\t\tcommands.push( {\n\t\t\tname: 'core/duplicate-pattern',\n\t\t\tlabel: __( 'Duplicate pattern' ),\n\t\t\ticon: symbol,\n\t\t\tcallback: ( { close } ) => {\n\t\t\t\topenModal( PATTERN_MODALS.duplicate );\n\t\t\t\tclose();\n\t\t\t},\n\t\t} );\n\t}\n\n\treturn { isLoading: false, commands };\n}\n\nexport function useEditModeCommands() {\n\tuseCommandLoader( {\n\t\tname: 'core/exit-code-editor',\n\t\thook: useEditorModeCommands,\n\t\tcontext: 'site-editor-edit',\n\t} );\n\n\tuseCommandLoader( {\n\t\tname: 'core/edit-site/page-content-focus',\n\t\thook: usePageContentFocusCommands,\n\t\tcontext: 'site-editor-edit',\n\t} );\n\n\tuseCommandLoader( {\n\t\tname: 'core/edit-site/manipulate-document',\n\t\thook: useManipulateDocumentCommands,\n\t} );\n\n\tuseCommandLoader( {\n\t\tname: 'core/edit-site/patterns',\n\t\thook: usePatternCommands,\n\t\tcontext: 'site-editor-edit',\n\t} );\n\n\tuseCommandLoader( {\n\t\tname: 'core/edit-site/edit-ui',\n\t\thook: useEditUICommands,\n\t} );\n}\n"],"mappings":"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"}
|