@wordpress/editor 14.7.1-next.1f6eadc42.0 → 14.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +2 -0
- package/README.md +1 -1
- package/build/bindings/post-meta.js +42 -7
- package/build/bindings/post-meta.js.map +1 -1
- package/build/components/block-manager/index.js +43 -62
- package/build/components/block-manager/index.js.map +1 -1
- package/build/components/document-bar/index.js +20 -28
- package/build/components/document-bar/index.js.map +1 -1
- package/build/components/editor-interface/index.js +1 -2
- package/build/components/editor-interface/index.js.map +1 -1
- package/build/components/global-styles-provider/index.js +21 -12
- package/build/components/global-styles-provider/index.js.map +1 -1
- package/build/components/header/index.js +3 -5
- package/build/components/header/index.js.map +1 -1
- package/build/components/media-categories/index.js +1 -0
- package/build/components/media-categories/index.js.map +1 -1
- package/build/components/post-status/index.js +1 -0
- package/build/components/post-status/index.js.map +1 -1
- package/build/components/post-taxonomies/hierarchical-term-selector.js +2 -4
- package/build/components/post-taxonomies/hierarchical-term-selector.js.map +1 -1
- package/build/components/post-taxonomies/most-used-terms.js +2 -4
- package/build/components/post-taxonomies/most-used-terms.js.map +1 -1
- package/build/components/post-url/index.js +8 -7
- package/build/components/post-url/index.js.map +1 -1
- package/build/components/save-publish-panels/index.js +4 -10
- package/build/components/save-publish-panels/index.js.map +1 -1
- package/build-module/bindings/post-meta.js +40 -7
- package/build-module/bindings/post-meta.js.map +1 -1
- package/build-module/components/block-manager/index.js +44 -63
- package/build-module/components/block-manager/index.js.map +1 -1
- package/build-module/components/document-bar/index.js +22 -28
- package/build-module/components/document-bar/index.js.map +1 -1
- package/build-module/components/editor-interface/index.js +1 -2
- package/build-module/components/editor-interface/index.js.map +1 -1
- package/build-module/components/global-styles-provider/index.js +21 -12
- package/build-module/components/global-styles-provider/index.js.map +1 -1
- package/build-module/components/header/index.js +3 -5
- package/build-module/components/header/index.js.map +1 -1
- package/build-module/components/media-categories/index.js +1 -0
- package/build-module/components/media-categories/index.js.map +1 -1
- package/build-module/components/post-status/index.js +1 -0
- package/build-module/components/post-status/index.js.map +1 -1
- package/build-module/components/post-taxonomies/hierarchical-term-selector.js +2 -4
- package/build-module/components/post-taxonomies/hierarchical-term-selector.js.map +1 -1
- package/build-module/components/post-taxonomies/most-used-terms.js +2 -4
- package/build-module/components/post-taxonomies/most-used-terms.js.map +1 -1
- package/build-module/components/post-url/index.js +9 -8
- package/build-module/components/post-url/index.js.map +1 -1
- package/build-module/components/save-publish-panels/index.js +4 -10
- package/build-module/components/save-publish-panels/index.js.map +1 -1
- package/build-style/style-rtl.css +37 -18
- package/build-style/style.css +37 -18
- package/build-types/bindings/post-meta.d.ts +4 -1
- package/build-types/bindings/post-meta.d.ts.map +1 -1
- package/build-types/components/block-manager/index.d.ts +1 -2
- package/build-types/components/block-manager/index.d.ts.map +1 -1
- package/build-types/components/document-bar/index.d.ts +7 -6
- package/build-types/components/document-bar/index.d.ts.map +1 -1
- package/build-types/components/editor-interface/index.d.ts +1 -2
- package/build-types/components/editor-interface/index.d.ts.map +1 -1
- package/build-types/components/global-styles-provider/index.d.ts.map +1 -1
- package/build-types/components/header/index.d.ts +2 -2
- package/build-types/components/header/index.d.ts.map +1 -1
- package/build-types/components/post-status/index.d.ts.map +1 -1
- package/build-types/components/post-taxonomies/hierarchical-term-selector.d.ts.map +1 -1
- package/build-types/components/post-taxonomies/most-used-terms.d.ts.map +1 -1
- package/build-types/components/post-url/index.d.ts.map +1 -1
- package/build-types/components/save-publish-panels/index.d.ts.map +1 -1
- package/package.json +36 -36
- package/src/bindings/post-meta.js +56 -20
- package/src/components/block-manager/index.js +49 -65
- package/src/components/document-bar/index.js +29 -41
- package/src/components/document-bar/style.scss +33 -15
- package/src/components/editor-interface/index.js +1 -2
- package/src/components/global-styles-provider/index.js +50 -36
- package/src/components/header/index.js +3 -6
- package/src/components/post-panel-row/style.scss +1 -0
- package/src/components/post-status/index.js +1 -0
- package/src/components/post-status/style.scss +5 -0
- package/src/components/post-taxonomies/hierarchical-term-selector.js +1 -2
- package/src/components/post-taxonomies/most-used-terms.js +1 -2
- package/src/components/post-taxonomies/style.scss +0 -4
- package/src/components/post-url/index.js +9 -7
- package/src/components/save-publish-panels/index.js +2 -6
- package/tsconfig.tsbuildinfo +1 -1
|
@@ -2,11 +2,11 @@
|
|
|
2
2
|
* WordPress dependencies
|
|
3
3
|
*/
|
|
4
4
|
import { store as blocksStore } from '@wordpress/blocks';
|
|
5
|
-
import {
|
|
5
|
+
import { useDispatch, useSelect } from '@wordpress/data';
|
|
6
6
|
import { SearchControl, Button } from '@wordpress/components';
|
|
7
7
|
import { __, _n, sprintf } from '@wordpress/i18n';
|
|
8
8
|
import { useEffect, useState } from '@wordpress/element';
|
|
9
|
-
import { useDebounce
|
|
9
|
+
import { useDebounce } from '@wordpress/compose';
|
|
10
10
|
import { speak } from '@wordpress/a11y';
|
|
11
11
|
import { store as preferencesStore } from '@wordpress/preferences';
|
|
12
12
|
|
|
@@ -18,32 +18,55 @@ import { store as editorStore } from '../../store';
|
|
|
18
18
|
import BlockManagerCategory from './category';
|
|
19
19
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
20
20
|
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
21
|
-
function BlockManager({
|
|
22
|
-
blockTypes,
|
|
23
|
-
categories,
|
|
24
|
-
hasBlockSupport,
|
|
25
|
-
isMatchingSearchTerm,
|
|
26
|
-
numberOfHiddenBlocks,
|
|
27
|
-
enableAllBlockTypes
|
|
28
|
-
}) {
|
|
21
|
+
export default function BlockManager() {
|
|
29
22
|
const debouncedSpeak = useDebounce(speak, 500);
|
|
30
23
|
const [search, setSearch] = useState('');
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
24
|
+
const {
|
|
25
|
+
showBlockTypes
|
|
26
|
+
} = unlock(useDispatch(editorStore));
|
|
27
|
+
const {
|
|
28
|
+
blockTypes,
|
|
29
|
+
categories,
|
|
30
|
+
hasBlockSupport,
|
|
31
|
+
isMatchingSearchTerm,
|
|
32
|
+
numberOfHiddenBlocks
|
|
33
|
+
} = useSelect(select => {
|
|
34
|
+
var _select$get;
|
|
35
|
+
// Some hidden blocks become unregistered
|
|
36
|
+
// by removing for instance the plugin that registered them, yet
|
|
37
|
+
// they're still remain as hidden by the user's action.
|
|
38
|
+
// We consider "hidden", blocks which were hidden and
|
|
39
|
+
// are still registered.
|
|
40
|
+
const _blockTypes = select(blocksStore).getBlockTypes();
|
|
41
|
+
const hiddenBlockTypes = ((_select$get = select(preferencesStore).get('core', 'hiddenBlockTypes')) !== null && _select$get !== void 0 ? _select$get : []).filter(hiddenBlock => {
|
|
42
|
+
return _blockTypes.some(registeredBlock => registeredBlock.name === hiddenBlock);
|
|
43
|
+
});
|
|
44
|
+
return {
|
|
45
|
+
blockTypes: _blockTypes,
|
|
46
|
+
categories: select(blocksStore).getCategories(),
|
|
47
|
+
hasBlockSupport: select(blocksStore).hasBlockSupport,
|
|
48
|
+
isMatchingSearchTerm: select(blocksStore).isMatchingSearchTerm,
|
|
49
|
+
numberOfHiddenBlocks: Array.isArray(hiddenBlockTypes) && hiddenBlockTypes.length
|
|
50
|
+
};
|
|
51
|
+
}, []);
|
|
52
|
+
function enableAllBlockTypes(newBlockTypes) {
|
|
53
|
+
const blockNames = newBlockTypes.map(({
|
|
54
|
+
name
|
|
55
|
+
}) => name);
|
|
56
|
+
showBlockTypes(blockNames);
|
|
57
|
+
}
|
|
58
|
+
const filteredBlockTypes = blockTypes.filter(blockType => hasBlockSupport(blockType, 'inserter', true) && (!search || isMatchingSearchTerm(blockType, search)) && (!blockType.parent || blockType.parent.includes('core/post-content')));
|
|
36
59
|
|
|
37
60
|
// Announce search results on change
|
|
38
61
|
useEffect(() => {
|
|
39
62
|
if (!search) {
|
|
40
63
|
return;
|
|
41
64
|
}
|
|
42
|
-
const count =
|
|
65
|
+
const count = filteredBlockTypes.length;
|
|
43
66
|
const resultsFoundMessage = sprintf( /* translators: %d: number of results. */
|
|
44
67
|
_n('%d result found.', '%d results found.', count), count);
|
|
45
68
|
debouncedSpeak(resultsFoundMessage);
|
|
46
|
-
}, [
|
|
69
|
+
}, [filteredBlockTypes?.length, search, debouncedSpeak]);
|
|
47
70
|
return /*#__PURE__*/_jsxs("div", {
|
|
48
71
|
className: "editor-block-manager__content",
|
|
49
72
|
children: [!!numberOfHiddenBlocks && /*#__PURE__*/_jsxs("div", {
|
|
@@ -52,7 +75,7 @@ function BlockManager({
|
|
|
52
75
|
_n('%d block is hidden.', '%d blocks are hidden.', numberOfHiddenBlocks), numberOfHiddenBlocks), /*#__PURE__*/_jsx(Button, {
|
|
53
76
|
__next40pxDefaultSize: true,
|
|
54
77
|
variant: "link",
|
|
55
|
-
onClick: () => enableAllBlockTypes(
|
|
78
|
+
onClick: () => enableAllBlockTypes(filteredBlockTypes),
|
|
56
79
|
children: __('Reset')
|
|
57
80
|
})]
|
|
58
81
|
}), /*#__PURE__*/_jsx(SearchControl, {
|
|
@@ -67,61 +90,19 @@ function BlockManager({
|
|
|
67
90
|
role: "region",
|
|
68
91
|
"aria-label": __('Available block types'),
|
|
69
92
|
className: "editor-block-manager__results",
|
|
70
|
-
children: [
|
|
93
|
+
children: [filteredBlockTypes.length === 0 && /*#__PURE__*/_jsx("p", {
|
|
71
94
|
className: "editor-block-manager__no-results",
|
|
72
95
|
children: __('No blocks found.')
|
|
73
96
|
}), categories.map(category => /*#__PURE__*/_jsx(BlockManagerCategory, {
|
|
74
97
|
title: category.title,
|
|
75
|
-
blockTypes:
|
|
98
|
+
blockTypes: filteredBlockTypes.filter(blockType => blockType.category === category.slug)
|
|
76
99
|
}, category.slug)), /*#__PURE__*/_jsx(BlockManagerCategory, {
|
|
77
100
|
title: __('Uncategorized'),
|
|
78
|
-
blockTypes:
|
|
101
|
+
blockTypes: filteredBlockTypes.filter(({
|
|
79
102
|
category
|
|
80
103
|
}) => !category)
|
|
81
104
|
})]
|
|
82
105
|
})]
|
|
83
106
|
});
|
|
84
107
|
}
|
|
85
|
-
export default compose([withSelect(select => {
|
|
86
|
-
var _get;
|
|
87
|
-
const {
|
|
88
|
-
getBlockTypes,
|
|
89
|
-
getCategories,
|
|
90
|
-
hasBlockSupport,
|
|
91
|
-
isMatchingSearchTerm
|
|
92
|
-
} = select(blocksStore);
|
|
93
|
-
const {
|
|
94
|
-
get
|
|
95
|
-
} = select(preferencesStore);
|
|
96
|
-
|
|
97
|
-
// Some hidden blocks become unregistered
|
|
98
|
-
// by removing for instance the plugin that registered them, yet
|
|
99
|
-
// they're still remain as hidden by the user's action.
|
|
100
|
-
// We consider "hidden", blocks which were hidden and
|
|
101
|
-
// are still registered.
|
|
102
|
-
const blockTypes = getBlockTypes();
|
|
103
|
-
const hiddenBlockTypes = ((_get = get('core', 'hiddenBlockTypes')) !== null && _get !== void 0 ? _get : []).filter(hiddenBlock => {
|
|
104
|
-
return blockTypes.some(registeredBlock => registeredBlock.name === hiddenBlock);
|
|
105
|
-
});
|
|
106
|
-
const numberOfHiddenBlocks = Array.isArray(hiddenBlockTypes) && hiddenBlockTypes.length;
|
|
107
|
-
return {
|
|
108
|
-
blockTypes,
|
|
109
|
-
categories: getCategories(),
|
|
110
|
-
hasBlockSupport,
|
|
111
|
-
isMatchingSearchTerm,
|
|
112
|
-
numberOfHiddenBlocks
|
|
113
|
-
};
|
|
114
|
-
}), withDispatch(dispatch => {
|
|
115
|
-
const {
|
|
116
|
-
showBlockTypes
|
|
117
|
-
} = unlock(dispatch(editorStore));
|
|
118
|
-
return {
|
|
119
|
-
enableAllBlockTypes: blockTypes => {
|
|
120
|
-
const blockNames = blockTypes.map(({
|
|
121
|
-
name
|
|
122
|
-
}) => name);
|
|
123
|
-
showBlockTypes(blockNames);
|
|
124
|
-
}
|
|
125
|
-
};
|
|
126
|
-
})])(BlockManager);
|
|
127
108
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["store","blocksStore","
|
|
1
|
+
{"version":3,"names":["store","blocksStore","useDispatch","useSelect","SearchControl","Button","__","_n","sprintf","useEffect","useState","useDebounce","speak","preferencesStore","unlock","editorStore","BlockManagerCategory","jsx","_jsx","jsxs","_jsxs","BlockManager","debouncedSpeak","search","setSearch","showBlockTypes","blockTypes","categories","hasBlockSupport","isMatchingSearchTerm","numberOfHiddenBlocks","select","_select$get","_blockTypes","getBlockTypes","hiddenBlockTypes","get","filter","hiddenBlock","some","registeredBlock","name","getCategories","Array","isArray","length","enableAllBlockTypes","newBlockTypes","blockNames","map","filteredBlockTypes","blockType","parent","includes","count","resultsFoundMessage","className","children","__next40pxDefaultSize","variant","onClick","__nextHasNoMarginBottom","label","placeholder","value","onChange","nextSearch","tabIndex","role","category","title","slug"],"sources":["@wordpress/editor/src/components/block-manager/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { store as blocksStore } from '@wordpress/blocks';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { SearchControl, Button } from '@wordpress/components';\nimport { __, _n, sprintf } from '@wordpress/i18n';\nimport { useEffect, useState } from '@wordpress/element';\nimport { useDebounce } from '@wordpress/compose';\nimport { speak } from '@wordpress/a11y';\nimport { store as preferencesStore } from '@wordpress/preferences';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\nimport { store as editorStore } from '../../store';\nimport BlockManagerCategory from './category';\n\nexport default function BlockManager() {\n\tconst debouncedSpeak = useDebounce( speak, 500 );\n\tconst [ search, setSearch ] = useState( '' );\n\tconst { showBlockTypes } = unlock( useDispatch( editorStore ) );\n\n\tconst {\n\t\tblockTypes,\n\t\tcategories,\n\t\thasBlockSupport,\n\t\tisMatchingSearchTerm,\n\t\tnumberOfHiddenBlocks,\n\t} = useSelect( ( select ) => {\n\t\t// Some hidden blocks become unregistered\n\t\t// by removing for instance the plugin that registered them, yet\n\t\t// they're still remain as hidden by the user's action.\n\t\t// We consider \"hidden\", blocks which were hidden and\n\t\t// are still registered.\n\t\tconst _blockTypes = select( blocksStore ).getBlockTypes();\n\t\tconst hiddenBlockTypes = (\n\t\t\tselect( preferencesStore ).get( 'core', 'hiddenBlockTypes' ) ?? []\n\t\t).filter( ( hiddenBlock ) => {\n\t\t\treturn _blockTypes.some(\n\t\t\t\t( registeredBlock ) => registeredBlock.name === hiddenBlock\n\t\t\t);\n\t\t} );\n\n\t\treturn {\n\t\t\tblockTypes: _blockTypes,\n\t\t\tcategories: select( blocksStore ).getCategories(),\n\t\t\thasBlockSupport: select( blocksStore ).hasBlockSupport,\n\t\t\tisMatchingSearchTerm: select( blocksStore ).isMatchingSearchTerm,\n\t\t\tnumberOfHiddenBlocks:\n\t\t\t\tArray.isArray( hiddenBlockTypes ) && hiddenBlockTypes.length,\n\t\t};\n\t}, [] );\n\n\tfunction enableAllBlockTypes( newBlockTypes ) {\n\t\tconst blockNames = newBlockTypes.map( ( { name } ) => name );\n\t\tshowBlockTypes( blockNames );\n\t}\n\n\tconst filteredBlockTypes = blockTypes.filter(\n\t\t( blockType ) =>\n\t\t\thasBlockSupport( blockType, 'inserter', true ) &&\n\t\t\t( ! search || isMatchingSearchTerm( blockType, search ) ) &&\n\t\t\t( ! blockType.parent ||\n\t\t\t\tblockType.parent.includes( 'core/post-content' ) )\n\t);\n\n\t// Announce search results on change\n\tuseEffect( () => {\n\t\tif ( ! search ) {\n\t\t\treturn;\n\t\t}\n\t\tconst count = filteredBlockTypes.length;\n\t\tconst resultsFoundMessage = sprintf(\n\t\t\t/* translators: %d: number of results. */\n\t\t\t_n( '%d result found.', '%d results found.', count ),\n\t\t\tcount\n\t\t);\n\t\tdebouncedSpeak( resultsFoundMessage );\n\t}, [ filteredBlockTypes?.length, search, debouncedSpeak ] );\n\n\treturn (\n\t\t<div className=\"editor-block-manager__content\">\n\t\t\t{ !! numberOfHiddenBlocks && (\n\t\t\t\t<div className=\"editor-block-manager__disabled-blocks-count\">\n\t\t\t\t\t{ sprintf(\n\t\t\t\t\t\t/* translators: %d: number of blocks. */\n\t\t\t\t\t\t_n(\n\t\t\t\t\t\t\t'%d block is hidden.',\n\t\t\t\t\t\t\t'%d blocks are hidden.',\n\t\t\t\t\t\t\tnumberOfHiddenBlocks\n\t\t\t\t\t\t),\n\t\t\t\t\t\tnumberOfHiddenBlocks\n\t\t\t\t\t) }\n\t\t\t\t\t<Button\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tvariant=\"link\"\n\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\tenableAllBlockTypes( filteredBlockTypes )\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Reset' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t</div>\n\t\t\t) }\n\t\t\t<SearchControl\n\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\tlabel={ __( 'Search for a block' ) }\n\t\t\t\tplaceholder={ __( 'Search for a block' ) }\n\t\t\t\tvalue={ search }\n\t\t\t\tonChange={ ( nextSearch ) => setSearch( nextSearch ) }\n\t\t\t\tclassName=\"editor-block-manager__search\"\n\t\t\t/>\n\t\t\t<div\n\t\t\t\ttabIndex=\"0\"\n\t\t\t\trole=\"region\"\n\t\t\t\taria-label={ __( 'Available block types' ) }\n\t\t\t\tclassName=\"editor-block-manager__results\"\n\t\t\t>\n\t\t\t\t{ filteredBlockTypes.length === 0 && (\n\t\t\t\t\t<p className=\"editor-block-manager__no-results\">\n\t\t\t\t\t\t{ __( 'No blocks found.' ) }\n\t\t\t\t\t</p>\n\t\t\t\t) }\n\t\t\t\t{ categories.map( ( category ) => (\n\t\t\t\t\t<BlockManagerCategory\n\t\t\t\t\t\tkey={ category.slug }\n\t\t\t\t\t\ttitle={ category.title }\n\t\t\t\t\t\tblockTypes={ filteredBlockTypes.filter(\n\t\t\t\t\t\t\t( blockType ) =>\n\t\t\t\t\t\t\t\tblockType.category === category.slug\n\t\t\t\t\t\t) }\n\t\t\t\t\t/>\n\t\t\t\t) ) }\n\t\t\t\t<BlockManagerCategory\n\t\t\t\t\ttitle={ __( 'Uncategorized' ) }\n\t\t\t\t\tblockTypes={ filteredBlockTypes.filter(\n\t\t\t\t\t\t( { category } ) => ! category\n\t\t\t\t\t) }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t</div>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -6,7 +6,7 @@ import clsx from 'clsx';
|
|
|
6
6
|
/**
|
|
7
7
|
* WordPress dependencies
|
|
8
8
|
*/
|
|
9
|
-
import { __, isRTL
|
|
9
|
+
import { __, isRTL } from '@wordpress/i18n';
|
|
10
10
|
import { useSelect, useDispatch } from '@wordpress/data';
|
|
11
11
|
import { Button, __experimentalText as Text, __unstableMotion as motion, __unstableAnimatePresence as AnimatePresence } from '@wordpress/components';
|
|
12
12
|
import { BlockIcon } from '@wordpress/block-editor';
|
|
@@ -23,19 +23,10 @@ import { decodeEntities } from '@wordpress/html-entities';
|
|
|
23
23
|
*/
|
|
24
24
|
import { TEMPLATE_POST_TYPES, GLOBAL_POST_TYPES } from '../../store/constants';
|
|
25
25
|
import { store as editorStore } from '../../store';
|
|
26
|
-
|
|
26
|
+
|
|
27
|
+
/** @typedef {import("@wordpress/components").IconType} IconType */
|
|
27
28
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
28
29
|
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
29
|
-
const TYPE_LABELS = {
|
|
30
|
-
// translators: 1: Pattern title.
|
|
31
|
-
wp_pattern: __('Editing pattern: %s'),
|
|
32
|
-
// translators: 1: Navigation menu title.
|
|
33
|
-
wp_navigation: __('Editing navigation menu: %s'),
|
|
34
|
-
// translators: 1: Template title.
|
|
35
|
-
wp_template: __('Editing template: %s'),
|
|
36
|
-
// translators: 1: Template part title.
|
|
37
|
-
wp_template_part: __('Editing template part: %s')
|
|
38
|
-
};
|
|
39
30
|
const MotionButton = motion(Button);
|
|
40
31
|
|
|
41
32
|
/**
|
|
@@ -47,21 +38,21 @@ const MotionButton = motion(Button);
|
|
|
47
38
|
* ```jsx
|
|
48
39
|
* <DocumentBar />
|
|
49
40
|
* ```
|
|
50
|
-
* @param {Object}
|
|
51
|
-
* @param {string}
|
|
52
|
-
*
|
|
53
|
-
* @param {
|
|
54
|
-
*
|
|
41
|
+
* @param {Object} props The component props.
|
|
42
|
+
* @param {string} props.title A title for the document, defaulting to the document or
|
|
43
|
+
* template title currently being edited.
|
|
44
|
+
* @param {IconType} props.icon An icon for the document, no default.
|
|
45
|
+
* (A default icon indicating the document post type is no longer used.)
|
|
55
46
|
*
|
|
56
47
|
* @return {JSX.Element} The rendered DocumentBar component.
|
|
57
48
|
*/
|
|
58
49
|
export default function DocumentBar(props) {
|
|
59
50
|
const {
|
|
60
51
|
postType,
|
|
52
|
+
postTypeLabel,
|
|
61
53
|
documentTitle,
|
|
62
54
|
isNotFound,
|
|
63
55
|
isUnsyncedPattern,
|
|
64
|
-
templateIcon,
|
|
65
56
|
templateTitle,
|
|
66
57
|
onNavigateToPreviousEntityRecord
|
|
67
58
|
} = useSelect(select => {
|
|
@@ -73,20 +64,20 @@ export default function DocumentBar(props) {
|
|
|
73
64
|
} = select(editorStore);
|
|
74
65
|
const {
|
|
75
66
|
getEditedEntityRecord,
|
|
67
|
+
getPostType,
|
|
76
68
|
isResolving: isResolvingSelector
|
|
77
69
|
} = select(coreStore);
|
|
78
70
|
const _postType = getCurrentPostType();
|
|
79
71
|
const _postId = getCurrentPostId();
|
|
80
72
|
const _document = getEditedEntityRecord('postType', _postType, _postId);
|
|
81
73
|
const _templateInfo = getTemplateInfo(_document);
|
|
74
|
+
const _postTypeLabel = getPostType(_postType)?.labels?.singular_name;
|
|
82
75
|
return {
|
|
83
76
|
postType: _postType,
|
|
77
|
+
postTypeLabel: _postTypeLabel,
|
|
84
78
|
documentTitle: _document.title,
|
|
85
79
|
isNotFound: !_document && !isResolvingSelector('getEditedEntityRecord', 'postType', _postType, _postId),
|
|
86
80
|
isUnsyncedPattern: _document?.wp_pattern_sync_status === 'unsynced',
|
|
87
|
-
templateIcon: unlock(select(editorStore)).getPostIcon(_postType, {
|
|
88
|
-
area: _document?.area
|
|
89
|
-
}),
|
|
90
81
|
templateTitle: _templateInfo.title,
|
|
91
82
|
onNavigateToPreviousEntityRecord: getEditorSettings().onNavigateToPreviousEntityRecord
|
|
92
83
|
};
|
|
@@ -100,7 +91,7 @@ export default function DocumentBar(props) {
|
|
|
100
91
|
const hasBackButton = !!onNavigateToPreviousEntityRecord;
|
|
101
92
|
const entityTitle = isTemplate ? templateTitle : documentTitle;
|
|
102
93
|
const title = props.title || entityTitle;
|
|
103
|
-
const icon = props.icon
|
|
94
|
+
const icon = props.icon;
|
|
104
95
|
const mountedRef = useRef(false);
|
|
105
96
|
useEffect(() => {
|
|
106
97
|
mountedRef.current = true;
|
|
@@ -160,15 +151,18 @@ export default function DocumentBar(props) {
|
|
|
160
151
|
transition: isReducedMotion ? {
|
|
161
152
|
duration: 0
|
|
162
153
|
} : undefined,
|
|
163
|
-
children: [/*#__PURE__*/_jsx(BlockIcon, {
|
|
154
|
+
children: [icon && /*#__PURE__*/_jsx(BlockIcon, {
|
|
164
155
|
icon: icon
|
|
165
|
-
}), /*#__PURE__*/
|
|
156
|
+
}), /*#__PURE__*/_jsxs(Text, {
|
|
166
157
|
size: "body",
|
|
167
158
|
as: "h1",
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
159
|
+
children: [/*#__PURE__*/_jsx("span", {
|
|
160
|
+
className: "editor-document-bar__post-title",
|
|
161
|
+
children: title ? decodeEntities(title) : __('No title')
|
|
162
|
+
}), postTypeLabel && !props.title && /*#__PURE__*/_jsx("span", {
|
|
163
|
+
className: "editor-document-bar__post-type-label",
|
|
164
|
+
children: '· ' + decodeEntities(postTypeLabel)
|
|
165
|
+
})]
|
|
172
166
|
})]
|
|
173
167
|
}, hasBackButton), /*#__PURE__*/_jsx("span", {
|
|
174
168
|
className: "editor-document-bar__shortcut",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["clsx","__","isRTL","sprintf","useSelect","useDispatch","Button","__experimentalText","Text","__unstableMotion","motion","__unstableAnimatePresence","AnimatePresence","BlockIcon","chevronLeftSmall","chevronRightSmall","displayShortcut","store","coreStore","commandsStore","useRef","useEffect","useReducedMotion","decodeEntities","TEMPLATE_POST_TYPES","GLOBAL_POST_TYPES","editorStore","unlock","jsx","_jsx","jsxs","_jsxs","TYPE_LABELS","wp_pattern","wp_navigation","wp_template","wp_template_part","MotionButton","DocumentBar","props","postType","documentTitle","isNotFound","isUnsyncedPattern","templateIcon","templateTitle","onNavigateToPreviousEntityRecord","select","getCurrentPostType","getCurrentPostId","getEditorSettings","__experimentalGetTemplateInfo","getTemplateInfo","getEditedEntityRecord","isResolving","isResolvingSelector","_postType","_postId","_document","_templateInfo","title","wp_pattern_sync_status","getPostIcon","area","open","openCommandCenter","isReducedMotion","isTemplate","includes","isGlobalEntity","hasBackButton","entityTitle","icon","mountedRef","current","className","children","onClick","event","stopPropagation","size","initial","opacity","transform","animate","exit","transition","duration","undefined","div","as","primary"],"sources":["@wordpress/editor/src/components/document-bar/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { __, isRTL, sprintf } from '@wordpress/i18n';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tButton,\n\t__experimentalText as Text,\n\t__unstableMotion as motion,\n\t__unstableAnimatePresence as AnimatePresence,\n} from '@wordpress/components';\nimport { BlockIcon } from '@wordpress/block-editor';\nimport { chevronLeftSmall, chevronRightSmall } from '@wordpress/icons';\nimport { displayShortcut } from '@wordpress/keycodes';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { store as commandsStore } from '@wordpress/commands';\nimport { useRef, useEffect } from '@wordpress/element';\nimport { useReducedMotion } from '@wordpress/compose';\nimport { decodeEntities } from '@wordpress/html-entities';\n\n/**\n * Internal dependencies\n */\nimport { TEMPLATE_POST_TYPES, GLOBAL_POST_TYPES } from '../../store/constants';\nimport { store as editorStore } from '../../store';\nimport { unlock } from '../../lock-unlock';\n\nconst TYPE_LABELS = {\n\t// translators: 1: Pattern title.\n\twp_pattern: __( 'Editing pattern: %s' ),\n\t// translators: 1: Navigation menu title.\n\twp_navigation: __( 'Editing navigation menu: %s' ),\n\t// translators: 1: Template title.\n\twp_template: __( 'Editing template: %s' ),\n\t// translators: 1: Template part title.\n\twp_template_part: __( 'Editing template part: %s' ),\n};\n\nconst MotionButton = motion( Button );\n\n/**\n * This component renders a navigation bar at the top of the editor. It displays the title of the current document,\n * a back button (if applicable), and a command center button. It also handles different states of the document,\n * such as \"not found\" or \"unsynced\".\n *\n * @example\n * ```jsx\n * <DocumentBar />\n * ```\n * @param {Object} props The component props.\n * @param {string} props.title A title for the document, defaulting to the document or\n * template title currently being edited.\n * @param {import(\"@wordpress/components\").IconType} props.icon An icon for the document, defaulting to an icon for document\n * or template currently being edited.\n *\n * @return {JSX.Element} The rendered DocumentBar component.\n */\nexport default function DocumentBar( props ) {\n\tconst {\n\t\tpostType,\n\t\tdocumentTitle,\n\t\tisNotFound,\n\t\tisUnsyncedPattern,\n\t\ttemplateIcon,\n\t\ttemplateTitle,\n\t\tonNavigateToPreviousEntityRecord,\n\t} = useSelect( ( select ) => {\n\t\tconst {\n\t\t\tgetCurrentPostType,\n\t\t\tgetCurrentPostId,\n\t\t\tgetEditorSettings,\n\t\t\t__experimentalGetTemplateInfo: getTemplateInfo,\n\t\t} = select( editorStore );\n\t\tconst { getEditedEntityRecord, isResolving: isResolvingSelector } =\n\t\t\tselect( coreStore );\n\t\tconst _postType = getCurrentPostType();\n\t\tconst _postId = getCurrentPostId();\n\t\tconst _document = getEditedEntityRecord(\n\t\t\t'postType',\n\t\t\t_postType,\n\t\t\t_postId\n\t\t);\n\t\tconst _templateInfo = getTemplateInfo( _document );\n\t\treturn {\n\t\t\tpostType: _postType,\n\t\t\tdocumentTitle: _document.title,\n\t\t\tisNotFound:\n\t\t\t\t! _document &&\n\t\t\t\t! isResolvingSelector(\n\t\t\t\t\t'getEditedEntityRecord',\n\t\t\t\t\t'postType',\n\t\t\t\t\t_postType,\n\t\t\t\t\t_postId\n\t\t\t\t),\n\t\t\tisUnsyncedPattern: _document?.wp_pattern_sync_status === 'unsynced',\n\t\t\ttemplateIcon: unlock( select( editorStore ) ).getPostIcon(\n\t\t\t\t_postType,\n\t\t\t\t{\n\t\t\t\t\tarea: _document?.area,\n\t\t\t\t}\n\t\t\t),\n\t\t\ttemplateTitle: _templateInfo.title,\n\t\t\tonNavigateToPreviousEntityRecord:\n\t\t\t\tgetEditorSettings().onNavigateToPreviousEntityRecord,\n\t\t};\n\t}, [] );\n\n\tconst { open: openCommandCenter } = useDispatch( commandsStore );\n\tconst isReducedMotion = useReducedMotion();\n\n\tconst isTemplate = TEMPLATE_POST_TYPES.includes( postType );\n\tconst isGlobalEntity = GLOBAL_POST_TYPES.includes( postType );\n\tconst hasBackButton = !! onNavigateToPreviousEntityRecord;\n\tconst entityTitle = isTemplate ? templateTitle : documentTitle;\n\tconst title = props.title || entityTitle;\n\tconst icon = props.icon || templateIcon;\n\n\tconst mountedRef = useRef( false );\n\tuseEffect( () => {\n\t\tmountedRef.current = true;\n\t}, [] );\n\n\treturn (\n\t\t<div\n\t\t\tclassName={ clsx( 'editor-document-bar', {\n\t\t\t\t'has-back-button': hasBackButton,\n\t\t\t\t'is-global': isGlobalEntity && ! isUnsyncedPattern,\n\t\t\t} ) }\n\t\t>\n\t\t\t<AnimatePresence>\n\t\t\t\t{ hasBackButton && (\n\t\t\t\t\t<MotionButton\n\t\t\t\t\t\tclassName=\"editor-document-bar__back\"\n\t\t\t\t\t\ticon={ isRTL() ? chevronRightSmall : chevronLeftSmall }\n\t\t\t\t\t\tonClick={ ( event ) => {\n\t\t\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\t\t\tonNavigateToPreviousEntityRecord();\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\t\tinitial={\n\t\t\t\t\t\t\tmountedRef.current\n\t\t\t\t\t\t\t\t? { opacity: 0, transform: 'translateX(15%)' }\n\t\t\t\t\t\t\t\t: false // Don't show entry animation when DocumentBar mounts.\n\t\t\t\t\t\t}\n\t\t\t\t\t\tanimate={ { opacity: 1, transform: 'translateX(0%)' } }\n\t\t\t\t\t\texit={ { opacity: 0, transform: 'translateX(15%)' } }\n\t\t\t\t\t\ttransition={\n\t\t\t\t\t\t\tisReducedMotion ? { duration: 0 } : undefined\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Back' ) }\n\t\t\t\t\t</MotionButton>\n\t\t\t\t) }\n\t\t\t</AnimatePresence>\n\t\t\t{ isNotFound ? (\n\t\t\t\t<Text>{ __( 'Document not found' ) }</Text>\n\t\t\t) : (\n\t\t\t\t<Button\n\t\t\t\t\tclassName=\"editor-document-bar__command\"\n\t\t\t\t\tonClick={ () => openCommandCenter() }\n\t\t\t\t\tsize=\"compact\"\n\t\t\t\t>\n\t\t\t\t\t<motion.div\n\t\t\t\t\t\tclassName=\"editor-document-bar__title\"\n\t\t\t\t\t\t// Force entry animation when the back button is added or removed.\n\t\t\t\t\t\tkey={ hasBackButton }\n\t\t\t\t\t\tinitial={\n\t\t\t\t\t\t\tmountedRef.current\n\t\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\t\topacity: 0,\n\t\t\t\t\t\t\t\t\t\ttransform: hasBackButton\n\t\t\t\t\t\t\t\t\t\t\t? 'translateX(15%)'\n\t\t\t\t\t\t\t\t\t\t\t: 'translateX(-15%)',\n\t\t\t\t\t\t\t\t }\n\t\t\t\t\t\t\t\t: false // Don't show entry animation when DocumentBar mounts.\n\t\t\t\t\t\t}\n\t\t\t\t\t\tanimate={ {\n\t\t\t\t\t\t\topacity: 1,\n\t\t\t\t\t\t\ttransform: 'translateX(0%)',\n\t\t\t\t\t\t} }\n\t\t\t\t\t\ttransition={\n\t\t\t\t\t\t\tisReducedMotion ? { duration: 0 } : undefined\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t<BlockIcon icon={ icon } />\n\t\t\t\t\t\t<Text\n\t\t\t\t\t\t\tsize=\"body\"\n\t\t\t\t\t\t\tas=\"h1\"\n\t\t\t\t\t\t\taria-label={\n\t\t\t\t\t\t\t\t! props.title && TYPE_LABELS[ postType ]\n\t\t\t\t\t\t\t\t\t? // eslint-disable-next-line @wordpress/valid-sprintf\n\t\t\t\t\t\t\t\t\t sprintf( TYPE_LABELS[ postType ], title )\n\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ title\n\t\t\t\t\t\t\t\t? decodeEntities( title )\n\t\t\t\t\t\t\t\t: __( 'No title' ) }\n\t\t\t\t\t\t</Text>\n\t\t\t\t\t</motion.div>\n\t\t\t\t\t<span className=\"editor-document-bar__shortcut\">\n\t\t\t\t\t\t{ displayShortcut.primary( 'k' ) }\n\t\t\t\t\t</span>\n\t\t\t\t</Button>\n\t\t\t) }\n\t\t</div>\n\t);\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,OAAOA,IAAI,MAAM,MAAM;;AAEvB;AACA;AACA;AACA,SAASC,EAAE,EAAEC,KAAK,EAAEC,OAAO,QAAQ,iBAAiB;AACpD,SAASC,SAAS,EAAEC,WAAW,QAAQ,iBAAiB;AACxD,SACCC,MAAM,EACNC,kBAAkB,IAAIC,IAAI,EAC1BC,gBAAgB,IAAIC,MAAM,EAC1BC,yBAAyB,IAAIC,eAAe,QACtC,uBAAuB;AAC9B,SAASC,SAAS,QAAQ,yBAAyB;AACnD,SAASC,gBAAgB,EAAEC,iBAAiB,QAAQ,kBAAkB;AACtE,SAASC,eAAe,QAAQ,qBAAqB;AACrD,SAASC,KAAK,IAAIC,SAAS,QAAQ,sBAAsB;AACzD,SAASD,KAAK,IAAIE,aAAa,QAAQ,qBAAqB;AAC5D,SAASC,MAAM,EAAEC,SAAS,QAAQ,oBAAoB;AACtD,SAASC,gBAAgB,QAAQ,oBAAoB;AACrD,SAASC,cAAc,QAAQ,0BAA0B;;AAEzD;AACA;AACA;AACA,SAASC,mBAAmB,EAAEC,iBAAiB,QAAQ,uBAAuB;AAC9E,SAASR,KAAK,IAAIS,WAAW,QAAQ,aAAa;AAClD,SAASC,MAAM,QAAQ,mBAAmB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAAA,SAAAC,IAAA,IAAAC,KAAA;AAE3C,MAAMC,WAAW,GAAG;EACnB;EACAC,UAAU,EAAEhC,EAAE,CAAE,qBAAsB,CAAC;EACvC;EACAiC,aAAa,EAAEjC,EAAE,CAAE,6BAA8B,CAAC;EAClD;EACAkC,WAAW,EAAElC,EAAE,CAAE,sBAAuB,CAAC;EACzC;EACAmC,gBAAgB,EAAEnC,EAAE,CAAE,2BAA4B;AACnD,CAAC;AAED,MAAMoC,YAAY,GAAG3B,MAAM,CAAEJ,MAAO,CAAC;;AAErC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAASgC,WAAWA,CAAEC,KAAK,EAAG;EAC5C,MAAM;IACLC,QAAQ;IACRC,aAAa;IACbC,UAAU;IACVC,iBAAiB;IACjBC,YAAY;IACZC,aAAa;IACbC;EACD,CAAC,GAAG1C,SAAS,CAAI2C,MAAM,IAAM;IAC5B,MAAM;MACLC,kBAAkB;MAClBC,gBAAgB;MAChBC,iBAAiB;MACjBC,6BAA6B,EAAEC;IAChC,CAAC,GAAGL,MAAM,CAAErB,WAAY,CAAC;IACzB,MAAM;MAAE2B,qBAAqB;MAAEC,WAAW,EAAEC;IAAoB,CAAC,GAChER,MAAM,CAAE7B,SAAU,CAAC;IACpB,MAAMsC,SAAS,GAAGR,kBAAkB,CAAC,CAAC;IACtC,MAAMS,OAAO,GAAGR,gBAAgB,CAAC,CAAC;IAClC,MAAMS,SAAS,GAAGL,qBAAqB,CACtC,UAAU,EACVG,SAAS,EACTC,OACD,CAAC;IACD,MAAME,aAAa,GAAGP,eAAe,CAAEM,SAAU,CAAC;IAClD,OAAO;MACNlB,QAAQ,EAAEgB,SAAS;MACnBf,aAAa,EAAEiB,SAAS,CAACE,KAAK;MAC9BlB,UAAU,EACT,CAAEgB,SAAS,IACX,CAAEH,mBAAmB,CACpB,uBAAuB,EACvB,UAAU,EACVC,SAAS,EACTC,OACD,CAAC;MACFd,iBAAiB,EAAEe,SAAS,EAAEG,sBAAsB,KAAK,UAAU;MACnEjB,YAAY,EAAEjB,MAAM,CAAEoB,MAAM,CAAErB,WAAY,CAAE,CAAC,CAACoC,WAAW,CACxDN,SAAS,EACT;QACCO,IAAI,EAAEL,SAAS,EAAEK;MAClB,CACD,CAAC;MACDlB,aAAa,EAAEc,aAAa,CAACC,KAAK;MAClCd,gCAAgC,EAC/BI,iBAAiB,CAAC,CAAC,CAACJ;IACtB,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;EAEP,MAAM;IAAEkB,IAAI,EAAEC;EAAkB,CAAC,GAAG5D,WAAW,CAAEc,aAAc,CAAC;EAChE,MAAM+C,eAAe,GAAG5C,gBAAgB,CAAC,CAAC;EAE1C,MAAM6C,UAAU,GAAG3C,mBAAmB,CAAC4C,QAAQ,CAAE5B,QAAS,CAAC;EAC3D,MAAM6B,cAAc,GAAG5C,iBAAiB,CAAC2C,QAAQ,CAAE5B,QAAS,CAAC;EAC7D,MAAM8B,aAAa,GAAG,CAAC,CAAExB,gCAAgC;EACzD,MAAMyB,WAAW,GAAGJ,UAAU,GAAGtB,aAAa,GAAGJ,aAAa;EAC9D,MAAMmB,KAAK,GAAGrB,KAAK,CAACqB,KAAK,IAAIW,WAAW;EACxC,MAAMC,IAAI,GAAGjC,KAAK,CAACiC,IAAI,IAAI5B,YAAY;EAEvC,MAAM6B,UAAU,GAAGrD,MAAM,CAAE,KAAM,CAAC;EAClCC,SAAS,CAAE,MAAM;IAChBoD,UAAU,CAACC,OAAO,GAAG,IAAI;EAC1B,CAAC,EAAE,EAAG,CAAC;EAEP,oBACC3C,KAAA;IACC4C,SAAS,EAAG3E,IAAI,CAAE,qBAAqB,EAAE;MACxC,iBAAiB,EAAEsE,aAAa;MAChC,WAAW,EAAED,cAAc,IAAI,CAAE1B;IAClC,CAAE,CAAG;IAAAiC,QAAA,gBAEL/C,IAAA,CAACjB,eAAe;MAAAgE,QAAA,EACbN,aAAa,iBACdzC,IAAA,CAACQ,YAAY;QACZsC,SAAS,EAAC,2BAA2B;QACrCH,IAAI,EAAGtE,KAAK,CAAC,CAAC,GAAGa,iBAAiB,GAAGD,gBAAkB;QACvD+D,OAAO,EAAKC,KAAK,IAAM;UACtBA,KAAK,CAACC,eAAe,CAAC,CAAC;UACvBjC,gCAAgC,CAAC,CAAC;QACnC,CAAG;QACHkC,IAAI,EAAC,SAAS;QACdC,OAAO,EACNR,UAAU,CAACC,OAAO,GACf;UAAEQ,OAAO,EAAE,CAAC;UAAEC,SAAS,EAAE;QAAkB,CAAC,GAC5C,KAAK,CAAC;QACT;QACDC,OAAO,EAAG;UAAEF,OAAO,EAAE,CAAC;UAAEC,SAAS,EAAE;QAAiB,CAAG;QACvDE,IAAI,EAAG;UAAEH,OAAO,EAAE,CAAC;UAAEC,SAAS,EAAE;QAAkB,CAAG;QACrDG,UAAU,EACTpB,eAAe,GAAG;UAAEqB,QAAQ,EAAE;QAAE,CAAC,GAAGC,SACpC;QAAAZ,QAAA,EAEC3E,EAAE,CAAE,MAAO;MAAC,CACD;IACd,CACe,CAAC,EAChByC,UAAU,gBACXb,IAAA,CAACrB,IAAI;MAAAoE,QAAA,EAAG3E,EAAE,CAAE,oBAAqB;IAAC,CAAQ,CAAC,gBAE3C8B,KAAA,CAACzB,MAAM;MACNqE,SAAS,EAAC,8BAA8B;MACxCE,OAAO,EAAGA,CAAA,KAAMZ,iBAAiB,CAAC,CAAG;MACrCe,IAAI,EAAC,SAAS;MAAAJ,QAAA,gBAEd7C,KAAA,CAACrB,MAAM,CAAC+E,GAAG;QACVd,SAAS,EAAC;QACV;QAAA;;QAEAM,OAAO,EACNR,UAAU,CAACC,OAAO,GACf;UACAQ,OAAO,EAAE,CAAC;UACVC,SAAS,EAAEb,aAAa,GACrB,iBAAiB,GACjB;QACH,CAAC,GACD,KAAK,CAAC;QACT;QACDc,OAAO,EAAG;UACTF,OAAO,EAAE,CAAC;UACVC,SAAS,EAAE;QACZ,CAAG;QACHG,UAAU,EACTpB,eAAe,GAAG;UAAEqB,QAAQ,EAAE;QAAE,CAAC,GAAGC,SACpC;QAAAZ,QAAA,gBAED/C,IAAA,CAAChB,SAAS;UAAC2D,IAAI,EAAGA;QAAM,CAAE,CAAC,eAC3B3C,IAAA,CAACrB,IAAI;UACJwE,IAAI,EAAC,MAAM;UACXU,EAAE,EAAC,IAAI;UACP,cACC,CAAEnD,KAAK,CAACqB,KAAK,IAAI5B,WAAW,CAAEQ,QAAQ,CAAE;UACrC;UACArC,OAAO,CAAE6B,WAAW,CAAEQ,QAAQ,CAAE,EAAEoB,KAAM,CAAC,GACzC4B,SACH;UAAAZ,QAAA,EAEChB,KAAK,GACJrC,cAAc,CAAEqC,KAAM,CAAC,GACvB3D,EAAE,CAAE,UAAW;QAAC,CACd,CAAC;MAAA,GAjCDqE,aAkCK,CAAC,eACbzC,IAAA;QAAM8C,SAAS,EAAC,+BAA+B;QAAAC,QAAA,EAC5C5D,eAAe,CAAC2E,OAAO,CAAE,GAAI;MAAC,CAC3B,CAAC;IAAA,CACA,CACR;EAAA,CACG,CAAC;AAER","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["clsx","__","isRTL","useSelect","useDispatch","Button","__experimentalText","Text","__unstableMotion","motion","__unstableAnimatePresence","AnimatePresence","BlockIcon","chevronLeftSmall","chevronRightSmall","displayShortcut","store","coreStore","commandsStore","useRef","useEffect","useReducedMotion","decodeEntities","TEMPLATE_POST_TYPES","GLOBAL_POST_TYPES","editorStore","jsx","_jsx","jsxs","_jsxs","MotionButton","DocumentBar","props","postType","postTypeLabel","documentTitle","isNotFound","isUnsyncedPattern","templateTitle","onNavigateToPreviousEntityRecord","select","getCurrentPostType","getCurrentPostId","getEditorSettings","__experimentalGetTemplateInfo","getTemplateInfo","getEditedEntityRecord","getPostType","isResolving","isResolvingSelector","_postType","_postId","_document","_templateInfo","_postTypeLabel","labels","singular_name","title","wp_pattern_sync_status","open","openCommandCenter","isReducedMotion","isTemplate","includes","isGlobalEntity","hasBackButton","entityTitle","icon","mountedRef","current","className","children","onClick","event","stopPropagation","size","initial","opacity","transform","animate","exit","transition","duration","undefined","div","as","primary"],"sources":["@wordpress/editor/src/components/document-bar/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { __, isRTL } from '@wordpress/i18n';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tButton,\n\t__experimentalText as Text,\n\t__unstableMotion as motion,\n\t__unstableAnimatePresence as AnimatePresence,\n} from '@wordpress/components';\nimport { BlockIcon } from '@wordpress/block-editor';\nimport { chevronLeftSmall, chevronRightSmall } from '@wordpress/icons';\nimport { displayShortcut } from '@wordpress/keycodes';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { store as commandsStore } from '@wordpress/commands';\nimport { useRef, useEffect } from '@wordpress/element';\nimport { useReducedMotion } from '@wordpress/compose';\nimport { decodeEntities } from '@wordpress/html-entities';\n\n/**\n * Internal dependencies\n */\nimport { TEMPLATE_POST_TYPES, GLOBAL_POST_TYPES } from '../../store/constants';\nimport { store as editorStore } from '../../store';\n\n/** @typedef {import(\"@wordpress/components\").IconType} IconType */\n\nconst MotionButton = motion( Button );\n\n/**\n * This component renders a navigation bar at the top of the editor. It displays the title of the current document,\n * a back button (if applicable), and a command center button. It also handles different states of the document,\n * such as \"not found\" or \"unsynced\".\n *\n * @example\n * ```jsx\n * <DocumentBar />\n * ```\n * @param {Object} props The component props.\n * @param {string} props.title A title for the document, defaulting to the document or\n * template title currently being edited.\n * @param {IconType} props.icon An icon for the document, no default.\n * (A default icon indicating the document post type is no longer used.)\n *\n * @return {JSX.Element} The rendered DocumentBar component.\n */\nexport default function DocumentBar( props ) {\n\tconst {\n\t\tpostType,\n\t\tpostTypeLabel,\n\t\tdocumentTitle,\n\t\tisNotFound,\n\t\tisUnsyncedPattern,\n\t\ttemplateTitle,\n\t\tonNavigateToPreviousEntityRecord,\n\t} = useSelect( ( select ) => {\n\t\tconst {\n\t\t\tgetCurrentPostType,\n\t\t\tgetCurrentPostId,\n\t\t\tgetEditorSettings,\n\t\t\t__experimentalGetTemplateInfo: getTemplateInfo,\n\t\t} = select( editorStore );\n\t\tconst {\n\t\t\tgetEditedEntityRecord,\n\t\t\tgetPostType,\n\t\t\tisResolving: isResolvingSelector,\n\t\t} = select( coreStore );\n\t\tconst _postType = getCurrentPostType();\n\t\tconst _postId = getCurrentPostId();\n\t\tconst _document = getEditedEntityRecord(\n\t\t\t'postType',\n\t\t\t_postType,\n\t\t\t_postId\n\t\t);\n\t\tconst _templateInfo = getTemplateInfo( _document );\n\t\tconst _postTypeLabel = getPostType( _postType )?.labels?.singular_name;\n\n\t\treturn {\n\t\t\tpostType: _postType,\n\t\t\tpostTypeLabel: _postTypeLabel,\n\t\t\tdocumentTitle: _document.title,\n\t\t\tisNotFound:\n\t\t\t\t! _document &&\n\t\t\t\t! isResolvingSelector(\n\t\t\t\t\t'getEditedEntityRecord',\n\t\t\t\t\t'postType',\n\t\t\t\t\t_postType,\n\t\t\t\t\t_postId\n\t\t\t\t),\n\t\t\tisUnsyncedPattern: _document?.wp_pattern_sync_status === 'unsynced',\n\t\t\ttemplateTitle: _templateInfo.title,\n\t\t\tonNavigateToPreviousEntityRecord:\n\t\t\t\tgetEditorSettings().onNavigateToPreviousEntityRecord,\n\t\t};\n\t}, [] );\n\n\tconst { open: openCommandCenter } = useDispatch( commandsStore );\n\tconst isReducedMotion = useReducedMotion();\n\n\tconst isTemplate = TEMPLATE_POST_TYPES.includes( postType );\n\tconst isGlobalEntity = GLOBAL_POST_TYPES.includes( postType );\n\tconst hasBackButton = !! onNavigateToPreviousEntityRecord;\n\tconst entityTitle = isTemplate ? templateTitle : documentTitle;\n\tconst title = props.title || entityTitle;\n\tconst icon = props.icon;\n\n\tconst mountedRef = useRef( false );\n\tuseEffect( () => {\n\t\tmountedRef.current = true;\n\t}, [] );\n\n\treturn (\n\t\t<div\n\t\t\tclassName={ clsx( 'editor-document-bar', {\n\t\t\t\t'has-back-button': hasBackButton,\n\t\t\t\t'is-global': isGlobalEntity && ! isUnsyncedPattern,\n\t\t\t} ) }\n\t\t>\n\t\t\t<AnimatePresence>\n\t\t\t\t{ hasBackButton && (\n\t\t\t\t\t<MotionButton\n\t\t\t\t\t\tclassName=\"editor-document-bar__back\"\n\t\t\t\t\t\ticon={ isRTL() ? chevronRightSmall : chevronLeftSmall }\n\t\t\t\t\t\tonClick={ ( event ) => {\n\t\t\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\t\t\tonNavigateToPreviousEntityRecord();\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\t\tinitial={\n\t\t\t\t\t\t\tmountedRef.current\n\t\t\t\t\t\t\t\t? { opacity: 0, transform: 'translateX(15%)' }\n\t\t\t\t\t\t\t\t: false // Don't show entry animation when DocumentBar mounts.\n\t\t\t\t\t\t}\n\t\t\t\t\t\tanimate={ { opacity: 1, transform: 'translateX(0%)' } }\n\t\t\t\t\t\texit={ { opacity: 0, transform: 'translateX(15%)' } }\n\t\t\t\t\t\ttransition={\n\t\t\t\t\t\t\tisReducedMotion ? { duration: 0 } : undefined\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Back' ) }\n\t\t\t\t\t</MotionButton>\n\t\t\t\t) }\n\t\t\t</AnimatePresence>\n\t\t\t{ isNotFound ? (\n\t\t\t\t<Text>{ __( 'Document not found' ) }</Text>\n\t\t\t) : (\n\t\t\t\t<Button\n\t\t\t\t\tclassName=\"editor-document-bar__command\"\n\t\t\t\t\tonClick={ () => openCommandCenter() }\n\t\t\t\t\tsize=\"compact\"\n\t\t\t\t>\n\t\t\t\t\t<motion.div\n\t\t\t\t\t\tclassName=\"editor-document-bar__title\"\n\t\t\t\t\t\t// Force entry animation when the back button is added or removed.\n\t\t\t\t\t\tkey={ hasBackButton }\n\t\t\t\t\t\tinitial={\n\t\t\t\t\t\t\tmountedRef.current\n\t\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\t\topacity: 0,\n\t\t\t\t\t\t\t\t\t\ttransform: hasBackButton\n\t\t\t\t\t\t\t\t\t\t\t? 'translateX(15%)'\n\t\t\t\t\t\t\t\t\t\t\t: 'translateX(-15%)',\n\t\t\t\t\t\t\t\t }\n\t\t\t\t\t\t\t\t: false // Don't show entry animation when DocumentBar mounts.\n\t\t\t\t\t\t}\n\t\t\t\t\t\tanimate={ {\n\t\t\t\t\t\t\topacity: 1,\n\t\t\t\t\t\t\ttransform: 'translateX(0%)',\n\t\t\t\t\t\t} }\n\t\t\t\t\t\ttransition={\n\t\t\t\t\t\t\tisReducedMotion ? { duration: 0 } : undefined\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t{ icon && <BlockIcon icon={ icon } /> }\n\t\t\t\t\t\t<Text size=\"body\" as=\"h1\">\n\t\t\t\t\t\t\t<span className=\"editor-document-bar__post-title\">\n\t\t\t\t\t\t\t\t{ title\n\t\t\t\t\t\t\t\t\t? decodeEntities( title )\n\t\t\t\t\t\t\t\t\t: __( 'No title' ) }\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t{ postTypeLabel && ! props.title && (\n\t\t\t\t\t\t\t\t<span className=\"editor-document-bar__post-type-label\">\n\t\t\t\t\t\t\t\t\t{ '· ' + decodeEntities( postTypeLabel ) }\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</Text>\n\t\t\t\t\t</motion.div>\n\t\t\t\t\t<span className=\"editor-document-bar__shortcut\">\n\t\t\t\t\t\t{ displayShortcut.primary( 'k' ) }\n\t\t\t\t\t</span>\n\t\t\t\t</Button>\n\t\t\t) }\n\t\t</div>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -55,7 +55,6 @@ export default function EditorInterface({
|
|
|
55
55
|
customSavePanel,
|
|
56
56
|
forceDisableBlockTools,
|
|
57
57
|
title,
|
|
58
|
-
icon,
|
|
59
58
|
iframeProps
|
|
60
59
|
}) {
|
|
61
60
|
const {
|
|
@@ -124,7 +123,7 @@ export default function EditorInterface({
|
|
|
124
123
|
customSaveButton: customSaveButton,
|
|
125
124
|
forceDisableBlockTools: forceDisableBlockTools,
|
|
126
125
|
title: title,
|
|
127
|
-
|
|
126
|
+
isEditorIframed: !disableIframe
|
|
128
127
|
}),
|
|
129
128
|
editorNotices: /*#__PURE__*/_jsx(EditorNotices, {}),
|
|
130
129
|
secondarySidebar: !isPreviewMode && mode === 'visual' && (isInserterOpened && /*#__PURE__*/_jsx(InserterSidebar, {}) || isListViewOpened && /*#__PURE__*/_jsx(ListViewSidebar, {})),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["clsx","InterfaceSkeleton","ComplementaryArea","useSelect","__","_x","store","preferencesStore","blockEditorStore","BlockBreadcrumb","BlockToolbar","keyboardShortcutsStore","useViewportMatch","useState","useCallback","editorStore","EditorNotices","Header","InserterSidebar","ListViewSidebar","SavePublishPanels","TextEditor","VisualEditor","EditorContentSlotFill","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","interfaceLabels","header","body","sidebar","actions","footer","EditorInterface","className","enableRegionNavigation","styles","children","forceIsDirty","contentRef","disableIframe","autoFocus","customSaveButton","customSavePanel","forceDisableBlockTools","title","icon","iframeProps","mode","isRichEditingEnabled","isInserterOpened","isListViewOpened","isDistractionFree","isPreviewMode","previousShortcut","nextShortcut","showBlockBreadcrumbs","documentLabel","blockEditorMode","select","get","getEditorSettings","getPostTypeLabel","editorSettings","postTypeLabel","getEditorMode","richEditingEnabled","__unstableIsPreviewMode","getAllShortcutKeyCombinations","__unstableGetEditorMode","isLargeViewport","secondarySidebarLabel","entitiesSavedStatesCallback","setEntitiesSavedStatesCallback","closeEntitiesSavedStates","arg","labels","secondarySidebar","editorNotices","Slot","scope","content","editorCanvasView","hideDragHandle","rootLabelText","isEntitiesSavedStatesOpen","forceIsDirtyPublishPanel","undefined","shortcuts","previous","next"],"sources":["@wordpress/editor/src/components/editor-interface/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { InterfaceSkeleton, ComplementaryArea } from '@wordpress/interface';\nimport { useSelect } from '@wordpress/data';\nimport { __, _x } from '@wordpress/i18n';\nimport { store as preferencesStore } from '@wordpress/preferences';\nimport {\n\tstore as blockEditorStore,\n\tBlockBreadcrumb,\n\tBlockToolbar,\n} from '@wordpress/block-editor';\nimport { store as keyboardShortcutsStore } from '@wordpress/keyboard-shortcuts';\nimport { useViewportMatch } from '@wordpress/compose';\nimport { useState, useCallback } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\nimport EditorNotices from '../editor-notices';\nimport Header from '../header';\nimport InserterSidebar from '../inserter-sidebar';\nimport ListViewSidebar from '../list-view-sidebar';\nimport SavePublishPanels from '../save-publish-panels';\nimport TextEditor from '../text-editor';\nimport VisualEditor from '../visual-editor';\nimport EditorContentSlotFill from './content-slot-fill';\n\nconst interfaceLabels = {\n\t/* translators: accessibility text for the editor top bar landmark region. */\n\theader: __( 'Editor top bar' ),\n\t/* translators: accessibility text for the editor content landmark region. */\n\tbody: __( 'Editor content' ),\n\t/* translators: accessibility text for the editor settings landmark region. */\n\tsidebar: __( 'Editor settings' ),\n\t/* translators: accessibility text for the editor publish landmark region. */\n\tactions: __( 'Editor publish' ),\n\t/* translators: accessibility text for the editor footer landmark region. */\n\tfooter: __( 'Editor footer' ),\n};\n\nexport default function EditorInterface( {\n\tclassName,\n\tenableRegionNavigation,\n\tstyles,\n\tchildren,\n\tforceIsDirty,\n\tcontentRef,\n\tdisableIframe,\n\tautoFocus,\n\tcustomSaveButton,\n\tcustomSavePanel,\n\tforceDisableBlockTools,\n\ttitle,\n\ticon,\n\tiframeProps,\n} ) {\n\tconst {\n\t\tmode,\n\t\tisRichEditingEnabled,\n\t\tisInserterOpened,\n\t\tisListViewOpened,\n\t\tisDistractionFree,\n\t\tisPreviewMode,\n\t\tpreviousShortcut,\n\t\tnextShortcut,\n\t\tshowBlockBreadcrumbs,\n\t\tdocumentLabel,\n\t\tblockEditorMode,\n\t} = useSelect( ( select ) => {\n\t\tconst { get } = select( preferencesStore );\n\t\tconst { getEditorSettings, getPostTypeLabel } = select( editorStore );\n\t\tconst editorSettings = getEditorSettings();\n\t\tconst postTypeLabel = getPostTypeLabel();\n\n\t\treturn {\n\t\t\tmode: select( editorStore ).getEditorMode(),\n\t\t\tisRichEditingEnabled: editorSettings.richEditingEnabled,\n\t\t\tisInserterOpened: select( editorStore ).isInserterOpened(),\n\t\t\tisListViewOpened: select( editorStore ).isListViewOpened(),\n\t\t\tisDistractionFree: get( 'core', 'distractionFree' ),\n\t\t\tisPreviewMode: editorSettings.__unstableIsPreviewMode,\n\t\t\tpreviousShortcut: select(\n\t\t\t\tkeyboardShortcutsStore\n\t\t\t).getAllShortcutKeyCombinations( 'core/editor/previous-region' ),\n\t\t\tnextShortcut: select(\n\t\t\t\tkeyboardShortcutsStore\n\t\t\t).getAllShortcutKeyCombinations( 'core/editor/next-region' ),\n\t\t\tshowBlockBreadcrumbs: get( 'core', 'showBlockBreadcrumbs' ),\n\t\t\t// translators: Default label for the Document in the Block Breadcrumb.\n\t\t\tdocumentLabel: postTypeLabel || _x( 'Document', 'noun' ),\n\t\t\tblockEditorMode:\n\t\t\t\tselect( blockEditorStore ).__unstableGetEditorMode(),\n\t\t};\n\t}, [] );\n\tconst isLargeViewport = useViewportMatch( 'medium' );\n\tconst secondarySidebarLabel = isListViewOpened\n\t\t? __( 'Document Overview' )\n\t\t: __( 'Block Library' );\n\n\t// Local state for save panel.\n\t// Note 'truthy' callback implies an open panel.\n\tconst [ entitiesSavedStatesCallback, setEntitiesSavedStatesCallback ] =\n\t\tuseState( false );\n\tconst closeEntitiesSavedStates = useCallback(\n\t\t( arg ) => {\n\t\t\tif ( typeof entitiesSavedStatesCallback === 'function' ) {\n\t\t\t\tentitiesSavedStatesCallback( arg );\n\t\t\t}\n\t\t\tsetEntitiesSavedStatesCallback( false );\n\t\t},\n\t\t[ entitiesSavedStatesCallback ]\n\t);\n\n\treturn (\n\t\t<InterfaceSkeleton\n\t\t\tenableRegionNavigation={ enableRegionNavigation }\n\t\t\tisDistractionFree={ isDistractionFree }\n\t\t\tclassName={ clsx( 'editor-editor-interface', className, {\n\t\t\t\t'is-entity-save-view-open': !! entitiesSavedStatesCallback,\n\t\t\t\t'is-distraction-free': isDistractionFree && ! isPreviewMode,\n\t\t\t} ) }\n\t\t\tlabels={ {\n\t\t\t\t...interfaceLabels,\n\t\t\t\tsecondarySidebar: secondarySidebarLabel,\n\t\t\t} }\n\t\t\theader={\n\t\t\t\t! isPreviewMode && (\n\t\t\t\t\t<Header\n\t\t\t\t\t\tforceIsDirty={ forceIsDirty }\n\t\t\t\t\t\tsetEntitiesSavedStatesCallback={\n\t\t\t\t\t\t\tsetEntitiesSavedStatesCallback\n\t\t\t\t\t\t}\n\t\t\t\t\t\tcustomSaveButton={ customSaveButton }\n\t\t\t\t\t\tforceDisableBlockTools={ forceDisableBlockTools }\n\t\t\t\t\t\ttitle={ title }\n\t\t\t\t\t\ticon={ icon }\n\t\t\t\t\t/>\n\t\t\t\t)\n\t\t\t}\n\t\t\teditorNotices={ <EditorNotices /> }\n\t\t\tsecondarySidebar={\n\t\t\t\t! isPreviewMode &&\n\t\t\t\tmode === 'visual' &&\n\t\t\t\t( ( isInserterOpened && <InserterSidebar /> ) ||\n\t\t\t\t\t( isListViewOpened && <ListViewSidebar /> ) )\n\t\t\t}\n\t\t\tsidebar={\n\t\t\t\t! isPreviewMode &&\n\t\t\t\t! isDistractionFree && <ComplementaryArea.Slot scope=\"core\" />\n\t\t\t}\n\t\t\tcontent={\n\t\t\t\t<>\n\t\t\t\t\t{ ! isDistractionFree && ! isPreviewMode && (\n\t\t\t\t\t\t<EditorNotices />\n\t\t\t\t\t) }\n\n\t\t\t\t\t<EditorContentSlotFill.Slot>\n\t\t\t\t\t\t{ ( [ editorCanvasView ] ) =>\n\t\t\t\t\t\t\teditorCanvasView ? (\n\t\t\t\t\t\t\t\teditorCanvasView\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t{ ! isPreviewMode &&\n\t\t\t\t\t\t\t\t\t\t( mode === 'text' ||\n\t\t\t\t\t\t\t\t\t\t\t! isRichEditingEnabled ) && (\n\t\t\t\t\t\t\t\t\t\t\t<TextEditor\n\t\t\t\t\t\t\t\t\t\t\t\t// We should auto-focus the canvas (title) on load.\n\t\t\t\t\t\t\t\t\t\t\t\t// eslint-disable-next-line jsx-a11y/no-autofocus\n\t\t\t\t\t\t\t\t\t\t\t\tautoFocus={ autoFocus }\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{ ! isPreviewMode &&\n\t\t\t\t\t\t\t\t\t\t! isLargeViewport &&\n\t\t\t\t\t\t\t\t\t\tmode === 'visual' && (\n\t\t\t\t\t\t\t\t\t\t\t<BlockToolbar hideDragHandle />\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t{ ( isPreviewMode ||\n\t\t\t\t\t\t\t\t\t\t( isRichEditingEnabled &&\n\t\t\t\t\t\t\t\t\t\t\tmode === 'visual' ) ) && (\n\t\t\t\t\t\t\t\t\t\t<VisualEditor\n\t\t\t\t\t\t\t\t\t\t\tstyles={ styles }\n\t\t\t\t\t\t\t\t\t\t\tcontentRef={ contentRef }\n\t\t\t\t\t\t\t\t\t\t\tdisableIframe={ disableIframe }\n\t\t\t\t\t\t\t\t\t\t\t// We should auto-focus the canvas (title) on load.\n\t\t\t\t\t\t\t\t\t\t\t// eslint-disable-next-line jsx-a11y/no-autofocus\n\t\t\t\t\t\t\t\t\t\t\tautoFocus={ autoFocus }\n\t\t\t\t\t\t\t\t\t\t\tiframeProps={ iframeProps }\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t{ children }\n\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t}\n\t\t\t\t\t</EditorContentSlotFill.Slot>\n\t\t\t\t</>\n\t\t\t}\n\t\t\tfooter={\n\t\t\t\t! isPreviewMode &&\n\t\t\t\t! isDistractionFree &&\n\t\t\t\tisLargeViewport &&\n\t\t\t\tshowBlockBreadcrumbs &&\n\t\t\t\tisRichEditingEnabled &&\n\t\t\t\tblockEditorMode !== 'zoom-out' &&\n\t\t\t\tmode === 'visual' && (\n\t\t\t\t\t<BlockBreadcrumb rootLabelText={ documentLabel } />\n\t\t\t\t)\n\t\t\t}\n\t\t\tactions={\n\t\t\t\t! isPreviewMode\n\t\t\t\t\t? customSavePanel || (\n\t\t\t\t\t\t\t<SavePublishPanels\n\t\t\t\t\t\t\t\tcloseEntitiesSavedStates={\n\t\t\t\t\t\t\t\t\tcloseEntitiesSavedStates\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tisEntitiesSavedStatesOpen={\n\t\t\t\t\t\t\t\t\tentitiesSavedStatesCallback\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tsetEntitiesSavedStatesCallback={\n\t\t\t\t\t\t\t\t\tsetEntitiesSavedStatesCallback\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tforceIsDirtyPublishPanel={ forceIsDirty }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t )\n\t\t\t\t\t: undefined\n\t\t\t}\n\t\t\tshortcuts={ {\n\t\t\t\tprevious: previousShortcut,\n\t\t\t\tnext: nextShortcut,\n\t\t\t} }\n\t\t/>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["clsx","InterfaceSkeleton","ComplementaryArea","useSelect","__","_x","store","preferencesStore","blockEditorStore","BlockBreadcrumb","BlockToolbar","keyboardShortcutsStore","useViewportMatch","useState","useCallback","editorStore","EditorNotices","Header","InserterSidebar","ListViewSidebar","SavePublishPanels","TextEditor","VisualEditor","EditorContentSlotFill","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","interfaceLabels","header","body","sidebar","actions","footer","EditorInterface","className","enableRegionNavigation","styles","children","forceIsDirty","contentRef","disableIframe","autoFocus","customSaveButton","customSavePanel","forceDisableBlockTools","title","iframeProps","mode","isRichEditingEnabled","isInserterOpened","isListViewOpened","isDistractionFree","isPreviewMode","previousShortcut","nextShortcut","showBlockBreadcrumbs","documentLabel","blockEditorMode","select","get","getEditorSettings","getPostTypeLabel","editorSettings","postTypeLabel","getEditorMode","richEditingEnabled","__unstableIsPreviewMode","getAllShortcutKeyCombinations","__unstableGetEditorMode","isLargeViewport","secondarySidebarLabel","entitiesSavedStatesCallback","setEntitiesSavedStatesCallback","closeEntitiesSavedStates","arg","labels","secondarySidebar","isEditorIframed","editorNotices","Slot","scope","content","editorCanvasView","hideDragHandle","rootLabelText","isEntitiesSavedStatesOpen","forceIsDirtyPublishPanel","undefined","shortcuts","previous","next"],"sources":["@wordpress/editor/src/components/editor-interface/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { InterfaceSkeleton, ComplementaryArea } from '@wordpress/interface';\nimport { useSelect } from '@wordpress/data';\nimport { __, _x } from '@wordpress/i18n';\nimport { store as preferencesStore } from '@wordpress/preferences';\nimport {\n\tstore as blockEditorStore,\n\tBlockBreadcrumb,\n\tBlockToolbar,\n} from '@wordpress/block-editor';\nimport { store as keyboardShortcutsStore } from '@wordpress/keyboard-shortcuts';\nimport { useViewportMatch } from '@wordpress/compose';\nimport { useState, useCallback } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\nimport EditorNotices from '../editor-notices';\nimport Header from '../header';\nimport InserterSidebar from '../inserter-sidebar';\nimport ListViewSidebar from '../list-view-sidebar';\nimport SavePublishPanels from '../save-publish-panels';\nimport TextEditor from '../text-editor';\nimport VisualEditor from '../visual-editor';\nimport EditorContentSlotFill from './content-slot-fill';\n\nconst interfaceLabels = {\n\t/* translators: accessibility text for the editor top bar landmark region. */\n\theader: __( 'Editor top bar' ),\n\t/* translators: accessibility text for the editor content landmark region. */\n\tbody: __( 'Editor content' ),\n\t/* translators: accessibility text for the editor settings landmark region. */\n\tsidebar: __( 'Editor settings' ),\n\t/* translators: accessibility text for the editor publish landmark region. */\n\tactions: __( 'Editor publish' ),\n\t/* translators: accessibility text for the editor footer landmark region. */\n\tfooter: __( 'Editor footer' ),\n};\n\nexport default function EditorInterface( {\n\tclassName,\n\tenableRegionNavigation,\n\tstyles,\n\tchildren,\n\tforceIsDirty,\n\tcontentRef,\n\tdisableIframe,\n\tautoFocus,\n\tcustomSaveButton,\n\tcustomSavePanel,\n\tforceDisableBlockTools,\n\ttitle,\n\tiframeProps,\n} ) {\n\tconst {\n\t\tmode,\n\t\tisRichEditingEnabled,\n\t\tisInserterOpened,\n\t\tisListViewOpened,\n\t\tisDistractionFree,\n\t\tisPreviewMode,\n\t\tpreviousShortcut,\n\t\tnextShortcut,\n\t\tshowBlockBreadcrumbs,\n\t\tdocumentLabel,\n\t\tblockEditorMode,\n\t} = useSelect( ( select ) => {\n\t\tconst { get } = select( preferencesStore );\n\t\tconst { getEditorSettings, getPostTypeLabel } = select( editorStore );\n\t\tconst editorSettings = getEditorSettings();\n\t\tconst postTypeLabel = getPostTypeLabel();\n\n\t\treturn {\n\t\t\tmode: select( editorStore ).getEditorMode(),\n\t\t\tisRichEditingEnabled: editorSettings.richEditingEnabled,\n\t\t\tisInserterOpened: select( editorStore ).isInserterOpened(),\n\t\t\tisListViewOpened: select( editorStore ).isListViewOpened(),\n\t\t\tisDistractionFree: get( 'core', 'distractionFree' ),\n\t\t\tisPreviewMode: editorSettings.__unstableIsPreviewMode,\n\t\t\tpreviousShortcut: select(\n\t\t\t\tkeyboardShortcutsStore\n\t\t\t).getAllShortcutKeyCombinations( 'core/editor/previous-region' ),\n\t\t\tnextShortcut: select(\n\t\t\t\tkeyboardShortcutsStore\n\t\t\t).getAllShortcutKeyCombinations( 'core/editor/next-region' ),\n\t\t\tshowBlockBreadcrumbs: get( 'core', 'showBlockBreadcrumbs' ),\n\t\t\t// translators: Default label for the Document in the Block Breadcrumb.\n\t\t\tdocumentLabel: postTypeLabel || _x( 'Document', 'noun' ),\n\t\t\tblockEditorMode:\n\t\t\t\tselect( blockEditorStore ).__unstableGetEditorMode(),\n\t\t};\n\t}, [] );\n\tconst isLargeViewport = useViewportMatch( 'medium' );\n\tconst secondarySidebarLabel = isListViewOpened\n\t\t? __( 'Document Overview' )\n\t\t: __( 'Block Library' );\n\n\t// Local state for save panel.\n\t// Note 'truthy' callback implies an open panel.\n\tconst [ entitiesSavedStatesCallback, setEntitiesSavedStatesCallback ] =\n\t\tuseState( false );\n\tconst closeEntitiesSavedStates = useCallback(\n\t\t( arg ) => {\n\t\t\tif ( typeof entitiesSavedStatesCallback === 'function' ) {\n\t\t\t\tentitiesSavedStatesCallback( arg );\n\t\t\t}\n\t\t\tsetEntitiesSavedStatesCallback( false );\n\t\t},\n\t\t[ entitiesSavedStatesCallback ]\n\t);\n\n\treturn (\n\t\t<InterfaceSkeleton\n\t\t\tenableRegionNavigation={ enableRegionNavigation }\n\t\t\tisDistractionFree={ isDistractionFree }\n\t\t\tclassName={ clsx( 'editor-editor-interface', className, {\n\t\t\t\t'is-entity-save-view-open': !! entitiesSavedStatesCallback,\n\t\t\t\t'is-distraction-free': isDistractionFree && ! isPreviewMode,\n\t\t\t} ) }\n\t\t\tlabels={ {\n\t\t\t\t...interfaceLabels,\n\t\t\t\tsecondarySidebar: secondarySidebarLabel,\n\t\t\t} }\n\t\t\theader={\n\t\t\t\t! isPreviewMode && (\n\t\t\t\t\t<Header\n\t\t\t\t\t\tforceIsDirty={ forceIsDirty }\n\t\t\t\t\t\tsetEntitiesSavedStatesCallback={\n\t\t\t\t\t\t\tsetEntitiesSavedStatesCallback\n\t\t\t\t\t\t}\n\t\t\t\t\t\tcustomSaveButton={ customSaveButton }\n\t\t\t\t\t\tforceDisableBlockTools={ forceDisableBlockTools }\n\t\t\t\t\t\ttitle={ title }\n\t\t\t\t\t\tisEditorIframed={ ! disableIframe }\n\t\t\t\t\t/>\n\t\t\t\t)\n\t\t\t}\n\t\t\teditorNotices={ <EditorNotices /> }\n\t\t\tsecondarySidebar={\n\t\t\t\t! isPreviewMode &&\n\t\t\t\tmode === 'visual' &&\n\t\t\t\t( ( isInserterOpened && <InserterSidebar /> ) ||\n\t\t\t\t\t( isListViewOpened && <ListViewSidebar /> ) )\n\t\t\t}\n\t\t\tsidebar={\n\t\t\t\t! isPreviewMode &&\n\t\t\t\t! isDistractionFree && <ComplementaryArea.Slot scope=\"core\" />\n\t\t\t}\n\t\t\tcontent={\n\t\t\t\t<>\n\t\t\t\t\t{ ! isDistractionFree && ! isPreviewMode && (\n\t\t\t\t\t\t<EditorNotices />\n\t\t\t\t\t) }\n\n\t\t\t\t\t<EditorContentSlotFill.Slot>\n\t\t\t\t\t\t{ ( [ editorCanvasView ] ) =>\n\t\t\t\t\t\t\teditorCanvasView ? (\n\t\t\t\t\t\t\t\teditorCanvasView\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t{ ! isPreviewMode &&\n\t\t\t\t\t\t\t\t\t\t( mode === 'text' ||\n\t\t\t\t\t\t\t\t\t\t\t! isRichEditingEnabled ) && (\n\t\t\t\t\t\t\t\t\t\t\t<TextEditor\n\t\t\t\t\t\t\t\t\t\t\t\t// We should auto-focus the canvas (title) on load.\n\t\t\t\t\t\t\t\t\t\t\t\t// eslint-disable-next-line jsx-a11y/no-autofocus\n\t\t\t\t\t\t\t\t\t\t\t\tautoFocus={ autoFocus }\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{ ! isPreviewMode &&\n\t\t\t\t\t\t\t\t\t\t! isLargeViewport &&\n\t\t\t\t\t\t\t\t\t\tmode === 'visual' && (\n\t\t\t\t\t\t\t\t\t\t\t<BlockToolbar hideDragHandle />\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t{ ( isPreviewMode ||\n\t\t\t\t\t\t\t\t\t\t( isRichEditingEnabled &&\n\t\t\t\t\t\t\t\t\t\t\tmode === 'visual' ) ) && (\n\t\t\t\t\t\t\t\t\t\t<VisualEditor\n\t\t\t\t\t\t\t\t\t\t\tstyles={ styles }\n\t\t\t\t\t\t\t\t\t\t\tcontentRef={ contentRef }\n\t\t\t\t\t\t\t\t\t\t\tdisableIframe={ disableIframe }\n\t\t\t\t\t\t\t\t\t\t\t// We should auto-focus the canvas (title) on load.\n\t\t\t\t\t\t\t\t\t\t\t// eslint-disable-next-line jsx-a11y/no-autofocus\n\t\t\t\t\t\t\t\t\t\t\tautoFocus={ autoFocus }\n\t\t\t\t\t\t\t\t\t\t\tiframeProps={ iframeProps }\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t{ children }\n\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t}\n\t\t\t\t\t</EditorContentSlotFill.Slot>\n\t\t\t\t</>\n\t\t\t}\n\t\t\tfooter={\n\t\t\t\t! isPreviewMode &&\n\t\t\t\t! isDistractionFree &&\n\t\t\t\tisLargeViewport &&\n\t\t\t\tshowBlockBreadcrumbs &&\n\t\t\t\tisRichEditingEnabled &&\n\t\t\t\tblockEditorMode !== 'zoom-out' &&\n\t\t\t\tmode === 'visual' && (\n\t\t\t\t\t<BlockBreadcrumb rootLabelText={ documentLabel } />\n\t\t\t\t)\n\t\t\t}\n\t\t\tactions={\n\t\t\t\t! isPreviewMode\n\t\t\t\t\t? customSavePanel || (\n\t\t\t\t\t\t\t<SavePublishPanels\n\t\t\t\t\t\t\t\tcloseEntitiesSavedStates={\n\t\t\t\t\t\t\t\t\tcloseEntitiesSavedStates\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tisEntitiesSavedStatesOpen={\n\t\t\t\t\t\t\t\t\tentitiesSavedStatesCallback\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tsetEntitiesSavedStatesCallback={\n\t\t\t\t\t\t\t\t\tsetEntitiesSavedStatesCallback\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tforceIsDirtyPublishPanel={ forceIsDirty }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t )\n\t\t\t\t\t: undefined\n\t\t\t}\n\t\t\tshortcuts={ {\n\t\t\t\tprevious: previousShortcut,\n\t\t\t\tnext: nextShortcut,\n\t\t\t} }\n\t\t/>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -51,19 +51,36 @@ function useGlobalStylesUserConfig() {
|
|
|
51
51
|
_links
|
|
52
52
|
} = useSelect(select => {
|
|
53
53
|
const {
|
|
54
|
+
getEntityRecord,
|
|
54
55
|
getEditedEntityRecord,
|
|
55
56
|
hasFinishedResolution,
|
|
56
57
|
canUser
|
|
57
58
|
} = select(coreStore);
|
|
58
59
|
const _globalStylesId = select(coreStore).__experimentalGetCurrentGlobalStylesId();
|
|
59
|
-
|
|
60
|
+
let record;
|
|
61
|
+
const userCanEditGlobalStyles = canUser('update', {
|
|
60
62
|
kind: 'root',
|
|
61
63
|
name: 'globalStyles',
|
|
62
64
|
id: _globalStylesId
|
|
63
|
-
})
|
|
65
|
+
});
|
|
66
|
+
if (_globalStylesId) {
|
|
67
|
+
if (userCanEditGlobalStyles) {
|
|
68
|
+
record = getEditedEntityRecord('root', 'globalStyles', _globalStylesId);
|
|
69
|
+
} else {
|
|
70
|
+
record = getEntityRecord('root', 'globalStyles', _globalStylesId, {
|
|
71
|
+
context: 'view'
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
}
|
|
64
75
|
let hasResolved = false;
|
|
65
76
|
if (hasFinishedResolution('__experimentalGetCurrentGlobalStylesId')) {
|
|
66
|
-
|
|
77
|
+
if (_globalStylesId) {
|
|
78
|
+
hasResolved = userCanEditGlobalStyles ? hasFinishedResolution('getEditedEntityRecord', ['root', 'globalStyles', _globalStylesId]) : hasFinishedResolution('getEntityRecord', ['root', 'globalStyles', _globalStylesId, {
|
|
79
|
+
context: 'view'
|
|
80
|
+
}]);
|
|
81
|
+
} else {
|
|
82
|
+
hasResolved = true;
|
|
83
|
+
}
|
|
67
84
|
}
|
|
68
85
|
return {
|
|
69
86
|
globalStylesId: _globalStylesId,
|
|
@@ -111,15 +128,7 @@ function useGlobalStylesUserConfig() {
|
|
|
111
128
|
return [isReady, config, setConfig];
|
|
112
129
|
}
|
|
113
130
|
function useGlobalStylesBaseConfig() {
|
|
114
|
-
const baseConfig = useSelect(select =>
|
|
115
|
-
const {
|
|
116
|
-
__experimentalGetCurrentThemeBaseGlobalStyles,
|
|
117
|
-
getCurrentTheme,
|
|
118
|
-
canUser
|
|
119
|
-
} = select(coreStore);
|
|
120
|
-
const currentTheme = getCurrentTheme();
|
|
121
|
-
return currentTheme && canUser('read', 'global-styles/themes', currentTheme.stylesheet) ? __experimentalGetCurrentThemeBaseGlobalStyles() : undefined;
|
|
122
|
-
}, []);
|
|
131
|
+
const baseConfig = useSelect(select => select(coreStore).__experimentalGetCurrentThemeBaseGlobalStyles(), []);
|
|
123
132
|
return [!!baseConfig, baseConfig];
|
|
124
133
|
}
|
|
125
134
|
export function useGlobalStylesContext() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["deepmerge","isPlainObject","privateApis","blockEditorPrivateApis","store","coreStore","useSelect","useDispatch","useMemo","useCallback","unlock","jsx","_jsx","GlobalStylesContext","cleanEmptyObject","mergeBaseAndUserConfigs","base","user","isMergeableObject","customMerge","key","baseConfig","userConfig","undefined","useGlobalStylesUserConfig","globalStylesId","isReady","settings","styles","_links","select","getEditedEntityRecord","hasFinishedResolution","canUser","_globalStylesId","__experimentalGetCurrentGlobalStylesId","record","kind","name","id","hasResolved","editEntityRecord","config","setConfig","callbackOrObject","options","_record$styles","_record$settings","_record$_links","currentConfig","updatedConfig","useGlobalStylesBaseConfig","__experimentalGetCurrentThemeBaseGlobalStyles","getCurrentTheme","currentTheme","stylesheet","useGlobalStylesContext","isUserConfigReady","setUserConfig","isBaseConfigReady","mergedConfig","context","merged","GlobalStylesProvider","children","Provider","value"],"sources":["@wordpress/editor/src/components/global-styles-provider/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport deepmerge from 'deepmerge';\nimport { isPlainObject } from 'is-plain-object';\n\n/**\n * WordPress dependencies\n */\nimport { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useMemo, useCallback } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\n\nconst { GlobalStylesContext, cleanEmptyObject } = unlock(\n\tblockEditorPrivateApis\n);\n\nexport function mergeBaseAndUserConfigs( base, user ) {\n\treturn deepmerge( base, user, {\n\t\t/*\n\t\t * We only pass as arrays the presets,\n\t\t * in which case we want the new array of values\n\t\t * to override the old array (no merging).\n\t\t */\n\t\tisMergeableObject: isPlainObject,\n\t\t/*\n\t\t * Exceptions to the above rule.\n\t\t * Background images should be replaced, not merged,\n\t\t * as they themselves are specific object definitions for the style.\n\t\t */\n\t\tcustomMerge: ( key ) => {\n\t\t\tif ( key === 'backgroundImage' ) {\n\t\t\t\treturn ( baseConfig, userConfig ) => userConfig;\n\t\t\t}\n\t\t\treturn undefined;\n\t\t},\n\t} );\n}\n\nfunction useGlobalStylesUserConfig() {\n\tconst { globalStylesId, isReady, settings, styles, _links } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEditedEntityRecord, hasFinishedResolution, canUser } =\n\t\t\t\tselect( coreStore );\n\t\t\tconst _globalStylesId =\n\t\t\t\tselect( coreStore ).__experimentalGetCurrentGlobalStylesId();\n\n\t\t\tconst record =\n\t\t\t\t_globalStylesId &&\n\t\t\t\tcanUser( 'read', {\n\t\t\t\t\tkind: 'root',\n\t\t\t\t\tname: 'globalStyles',\n\t\t\t\t\tid: _globalStylesId,\n\t\t\t\t} )\n\t\t\t\t\t? getEditedEntityRecord(\n\t\t\t\t\t\t\t'root',\n\t\t\t\t\t\t\t'globalStyles',\n\t\t\t\t\t\t\t_globalStylesId\n\t\t\t\t\t )\n\t\t\t\t\t: undefined;\n\n\t\t\tlet hasResolved = false;\n\t\t\tif (\n\t\t\t\thasFinishedResolution(\n\t\t\t\t\t'__experimentalGetCurrentGlobalStylesId'\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\thasResolved = _globalStylesId\n\t\t\t\t\t? hasFinishedResolution( 'getEditedEntityRecord', [\n\t\t\t\t\t\t\t'root',\n\t\t\t\t\t\t\t'globalStyles',\n\t\t\t\t\t\t\t_globalStylesId,\n\t\t\t\t\t ] )\n\t\t\t\t\t: true;\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\tglobalStylesId: _globalStylesId,\n\t\t\t\tisReady: hasResolved,\n\t\t\t\tsettings: record?.settings,\n\t\t\t\tstyles: record?.styles,\n\t\t\t\t_links: record?._links,\n\t\t\t};\n\t\t},\n\t\t[]\n\t);\n\n\tconst { getEditedEntityRecord } = useSelect( coreStore );\n\tconst { editEntityRecord } = useDispatch( coreStore );\n\tconst config = useMemo( () => {\n\t\treturn {\n\t\t\tsettings: settings ?? {},\n\t\t\tstyles: styles ?? {},\n\t\t\t_links: _links ?? {},\n\t\t};\n\t}, [ settings, styles, _links ] );\n\n\tconst setConfig = useCallback(\n\t\t/**\n\t\t * Set the global styles config.\n\t\t * @param {Function|Object} callbackOrObject If the callbackOrObject is a function, pass the current config to the callback so the consumer can merge values.\n\t\t * Otherwise, overwrite the current config with the incoming object.\n\t\t * @param {Object} options Options for editEntityRecord Core selector.\n\t\t */\n\t\t( callbackOrObject, options = {} ) => {\n\t\t\tconst record = getEditedEntityRecord(\n\t\t\t\t'root',\n\t\t\t\t'globalStyles',\n\t\t\t\tglobalStylesId\n\t\t\t);\n\n\t\t\tconst currentConfig = {\n\t\t\t\tstyles: record?.styles ?? {},\n\t\t\t\tsettings: record?.settings ?? {},\n\t\t\t\t_links: record?._links ?? {},\n\t\t\t};\n\n\t\t\tconst updatedConfig =\n\t\t\t\ttypeof callbackOrObject === 'function'\n\t\t\t\t\t? callbackOrObject( currentConfig )\n\t\t\t\t\t: callbackOrObject;\n\n\t\t\teditEntityRecord(\n\t\t\t\t'root',\n\t\t\t\t'globalStyles',\n\t\t\t\tglobalStylesId,\n\t\t\t\t{\n\t\t\t\t\tstyles: cleanEmptyObject( updatedConfig.styles ) || {},\n\t\t\t\t\tsettings: cleanEmptyObject( updatedConfig.settings ) || {},\n\t\t\t\t\t_links: cleanEmptyObject( updatedConfig._links ) || {},\n\t\t\t\t},\n\t\t\t\toptions\n\t\t\t);\n\t\t},\n\t\t[ globalStylesId, editEntityRecord, getEditedEntityRecord ]\n\t);\n\n\treturn [ isReady, config, setConfig ];\n}\n\nfunction useGlobalStylesBaseConfig() {\n\tconst baseConfig = useSelect( ( select ) => {\n\t\tconst {\n\t\t\t__experimentalGetCurrentThemeBaseGlobalStyles,\n\t\t\tgetCurrentTheme,\n\t\t\tcanUser,\n\t\t} = select( coreStore );\n\t\tconst currentTheme = getCurrentTheme();\n\n\t\treturn currentTheme &&\n\t\t\tcanUser( 'read', 'global-styles/themes', currentTheme.stylesheet )\n\t\t\t? __experimentalGetCurrentThemeBaseGlobalStyles()\n\t\t\t: undefined;\n\t}, [] );\n\n\treturn [ !! baseConfig, baseConfig ];\n}\n\nexport function useGlobalStylesContext() {\n\tconst [ isUserConfigReady, userConfig, setUserConfig ] =\n\t\tuseGlobalStylesUserConfig();\n\tconst [ isBaseConfigReady, baseConfig ] = useGlobalStylesBaseConfig();\n\n\tconst mergedConfig = useMemo( () => {\n\t\tif ( ! baseConfig || ! userConfig ) {\n\t\t\treturn {};\n\t\t}\n\n\t\treturn mergeBaseAndUserConfigs( baseConfig, userConfig );\n\t}, [ userConfig, baseConfig ] );\n\n\tconst context = useMemo( () => {\n\t\treturn {\n\t\t\tisReady: isUserConfigReady && isBaseConfigReady,\n\t\t\tuser: userConfig,\n\t\t\tbase: baseConfig,\n\t\t\tmerged: mergedConfig,\n\t\t\tsetUserConfig,\n\t\t};\n\t}, [\n\t\tmergedConfig,\n\t\tuserConfig,\n\t\tbaseConfig,\n\t\tsetUserConfig,\n\t\tisUserConfigReady,\n\t\tisBaseConfigReady,\n\t] );\n\n\treturn context;\n}\n\nexport function GlobalStylesProvider( { children } ) {\n\tconst context = useGlobalStylesContext();\n\tif ( ! context.isReady ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<GlobalStylesContext.Provider value={ context }>\n\t\t\t{ children }\n\t\t</GlobalStylesContext.Provider>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["deepmerge","isPlainObject","privateApis","blockEditorPrivateApis","store","coreStore","useSelect","useDispatch","useMemo","useCallback","unlock","jsx","_jsx","GlobalStylesContext","cleanEmptyObject","mergeBaseAndUserConfigs","base","user","isMergeableObject","customMerge","key","baseConfig","userConfig","undefined","useGlobalStylesUserConfig","globalStylesId","isReady","settings","styles","_links","select","getEntityRecord","getEditedEntityRecord","hasFinishedResolution","canUser","_globalStylesId","__experimentalGetCurrentGlobalStylesId","record","userCanEditGlobalStyles","kind","name","id","context","hasResolved","editEntityRecord","config","setConfig","callbackOrObject","options","_record$styles","_record$settings","_record$_links","currentConfig","updatedConfig","useGlobalStylesBaseConfig","__experimentalGetCurrentThemeBaseGlobalStyles","useGlobalStylesContext","isUserConfigReady","setUserConfig","isBaseConfigReady","mergedConfig","merged","GlobalStylesProvider","children","Provider","value"],"sources":["@wordpress/editor/src/components/global-styles-provider/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport deepmerge from 'deepmerge';\nimport { isPlainObject } from 'is-plain-object';\n\n/**\n * WordPress dependencies\n */\nimport { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useMemo, useCallback } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\n\nconst { GlobalStylesContext, cleanEmptyObject } = unlock(\n\tblockEditorPrivateApis\n);\n\nexport function mergeBaseAndUserConfigs( base, user ) {\n\treturn deepmerge( base, user, {\n\t\t/*\n\t\t * We only pass as arrays the presets,\n\t\t * in which case we want the new array of values\n\t\t * to override the old array (no merging).\n\t\t */\n\t\tisMergeableObject: isPlainObject,\n\t\t/*\n\t\t * Exceptions to the above rule.\n\t\t * Background images should be replaced, not merged,\n\t\t * as they themselves are specific object definitions for the style.\n\t\t */\n\t\tcustomMerge: ( key ) => {\n\t\t\tif ( key === 'backgroundImage' ) {\n\t\t\t\treturn ( baseConfig, userConfig ) => userConfig;\n\t\t\t}\n\t\t\treturn undefined;\n\t\t},\n\t} );\n}\n\nfunction useGlobalStylesUserConfig() {\n\tconst { globalStylesId, isReady, settings, styles, _links } = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetEntityRecord,\n\t\t\t\tgetEditedEntityRecord,\n\t\t\t\thasFinishedResolution,\n\t\t\t\tcanUser,\n\t\t\t} = select( coreStore );\n\t\t\tconst _globalStylesId =\n\t\t\t\tselect( coreStore ).__experimentalGetCurrentGlobalStylesId();\n\n\t\t\tlet record;\n\t\t\tconst userCanEditGlobalStyles = canUser( 'update', {\n\t\t\t\tkind: 'root',\n\t\t\t\tname: 'globalStyles',\n\t\t\t\tid: _globalStylesId,\n\t\t\t} );\n\n\t\t\tif ( _globalStylesId ) {\n\t\t\t\tif ( userCanEditGlobalStyles ) {\n\t\t\t\t\trecord = getEditedEntityRecord(\n\t\t\t\t\t\t'root',\n\t\t\t\t\t\t'globalStyles',\n\t\t\t\t\t\t_globalStylesId\n\t\t\t\t\t);\n\t\t\t\t} else {\n\t\t\t\t\trecord = getEntityRecord(\n\t\t\t\t\t\t'root',\n\t\t\t\t\t\t'globalStyles',\n\t\t\t\t\t\t_globalStylesId,\n\t\t\t\t\t\t{ context: 'view' }\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tlet hasResolved = false;\n\t\t\tif (\n\t\t\t\thasFinishedResolution(\n\t\t\t\t\t'__experimentalGetCurrentGlobalStylesId'\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\tif ( _globalStylesId ) {\n\t\t\t\t\thasResolved = userCanEditGlobalStyles\n\t\t\t\t\t\t? hasFinishedResolution( 'getEditedEntityRecord', [\n\t\t\t\t\t\t\t\t'root',\n\t\t\t\t\t\t\t\t'globalStyles',\n\t\t\t\t\t\t\t\t_globalStylesId,\n\t\t\t\t\t\t ] )\n\t\t\t\t\t\t: hasFinishedResolution( 'getEntityRecord', [\n\t\t\t\t\t\t\t\t'root',\n\t\t\t\t\t\t\t\t'globalStyles',\n\t\t\t\t\t\t\t\t_globalStylesId,\n\t\t\t\t\t\t\t\t{ context: 'view' },\n\t\t\t\t\t\t ] );\n\t\t\t\t} else {\n\t\t\t\t\thasResolved = true;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\tglobalStylesId: _globalStylesId,\n\t\t\t\tisReady: hasResolved,\n\t\t\t\tsettings: record?.settings,\n\t\t\t\tstyles: record?.styles,\n\t\t\t\t_links: record?._links,\n\t\t\t};\n\t\t},\n\t\t[]\n\t);\n\n\tconst { getEditedEntityRecord } = useSelect( coreStore );\n\tconst { editEntityRecord } = useDispatch( coreStore );\n\tconst config = useMemo( () => {\n\t\treturn {\n\t\t\tsettings: settings ?? {},\n\t\t\tstyles: styles ?? {},\n\t\t\t_links: _links ?? {},\n\t\t};\n\t}, [ settings, styles, _links ] );\n\n\tconst setConfig = useCallback(\n\t\t/**\n\t\t * Set the global styles config.\n\t\t * @param {Function|Object} callbackOrObject If the callbackOrObject is a function, pass the current config to the callback so the consumer can merge values.\n\t\t * Otherwise, overwrite the current config with the incoming object.\n\t\t * @param {Object} options Options for editEntityRecord Core selector.\n\t\t */\n\t\t( callbackOrObject, options = {} ) => {\n\t\t\tconst record = getEditedEntityRecord(\n\t\t\t\t'root',\n\t\t\t\t'globalStyles',\n\t\t\t\tglobalStylesId\n\t\t\t);\n\n\t\t\tconst currentConfig = {\n\t\t\t\tstyles: record?.styles ?? {},\n\t\t\t\tsettings: record?.settings ?? {},\n\t\t\t\t_links: record?._links ?? {},\n\t\t\t};\n\n\t\t\tconst updatedConfig =\n\t\t\t\ttypeof callbackOrObject === 'function'\n\t\t\t\t\t? callbackOrObject( currentConfig )\n\t\t\t\t\t: callbackOrObject;\n\n\t\t\teditEntityRecord(\n\t\t\t\t'root',\n\t\t\t\t'globalStyles',\n\t\t\t\tglobalStylesId,\n\t\t\t\t{\n\t\t\t\t\tstyles: cleanEmptyObject( updatedConfig.styles ) || {},\n\t\t\t\t\tsettings: cleanEmptyObject( updatedConfig.settings ) || {},\n\t\t\t\t\t_links: cleanEmptyObject( updatedConfig._links ) || {},\n\t\t\t\t},\n\t\t\t\toptions\n\t\t\t);\n\t\t},\n\t\t[ globalStylesId, editEntityRecord, getEditedEntityRecord ]\n\t);\n\n\treturn [ isReady, config, setConfig ];\n}\n\nfunction useGlobalStylesBaseConfig() {\n\tconst baseConfig = useSelect(\n\t\t( select ) =>\n\t\t\tselect( coreStore ).__experimentalGetCurrentThemeBaseGlobalStyles(),\n\t\t[]\n\t);\n\treturn [ !! baseConfig, baseConfig ];\n}\n\nexport function useGlobalStylesContext() {\n\tconst [ isUserConfigReady, userConfig, setUserConfig ] =\n\t\tuseGlobalStylesUserConfig();\n\tconst [ isBaseConfigReady, baseConfig ] = useGlobalStylesBaseConfig();\n\n\tconst mergedConfig = useMemo( () => {\n\t\tif ( ! baseConfig || ! userConfig ) {\n\t\t\treturn {};\n\t\t}\n\n\t\treturn mergeBaseAndUserConfigs( baseConfig, userConfig );\n\t}, [ userConfig, baseConfig ] );\n\n\tconst context = useMemo( () => {\n\t\treturn {\n\t\t\tisReady: isUserConfigReady && isBaseConfigReady,\n\t\t\tuser: userConfig,\n\t\t\tbase: baseConfig,\n\t\t\tmerged: mergedConfig,\n\t\t\tsetUserConfig,\n\t\t};\n\t}, [\n\t\tmergedConfig,\n\t\tuserConfig,\n\t\tbaseConfig,\n\t\tsetUserConfig,\n\t\tisUserConfigReady,\n\t\tisBaseConfigReady,\n\t] );\n\n\treturn context;\n}\n\nexport function GlobalStylesProvider( { children } ) {\n\tconst context = useGlobalStylesContext();\n\tif ( ! context.isReady ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<GlobalStylesContext.Provider value={ context }>\n\t\t\t{ children }\n\t\t</GlobalStylesContext.Provider>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
|