@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.
Files changed (85) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/README.md +1 -1
  3. package/build/bindings/post-meta.js +42 -7
  4. package/build/bindings/post-meta.js.map +1 -1
  5. package/build/components/block-manager/index.js +43 -62
  6. package/build/components/block-manager/index.js.map +1 -1
  7. package/build/components/document-bar/index.js +20 -28
  8. package/build/components/document-bar/index.js.map +1 -1
  9. package/build/components/editor-interface/index.js +1 -2
  10. package/build/components/editor-interface/index.js.map +1 -1
  11. package/build/components/global-styles-provider/index.js +21 -12
  12. package/build/components/global-styles-provider/index.js.map +1 -1
  13. package/build/components/header/index.js +3 -5
  14. package/build/components/header/index.js.map +1 -1
  15. package/build/components/media-categories/index.js +1 -0
  16. package/build/components/media-categories/index.js.map +1 -1
  17. package/build/components/post-status/index.js +1 -0
  18. package/build/components/post-status/index.js.map +1 -1
  19. package/build/components/post-taxonomies/hierarchical-term-selector.js +2 -4
  20. package/build/components/post-taxonomies/hierarchical-term-selector.js.map +1 -1
  21. package/build/components/post-taxonomies/most-used-terms.js +2 -4
  22. package/build/components/post-taxonomies/most-used-terms.js.map +1 -1
  23. package/build/components/post-url/index.js +8 -7
  24. package/build/components/post-url/index.js.map +1 -1
  25. package/build/components/save-publish-panels/index.js +4 -10
  26. package/build/components/save-publish-panels/index.js.map +1 -1
  27. package/build-module/bindings/post-meta.js +40 -7
  28. package/build-module/bindings/post-meta.js.map +1 -1
  29. package/build-module/components/block-manager/index.js +44 -63
  30. package/build-module/components/block-manager/index.js.map +1 -1
  31. package/build-module/components/document-bar/index.js +22 -28
  32. package/build-module/components/document-bar/index.js.map +1 -1
  33. package/build-module/components/editor-interface/index.js +1 -2
  34. package/build-module/components/editor-interface/index.js.map +1 -1
  35. package/build-module/components/global-styles-provider/index.js +21 -12
  36. package/build-module/components/global-styles-provider/index.js.map +1 -1
  37. package/build-module/components/header/index.js +3 -5
  38. package/build-module/components/header/index.js.map +1 -1
  39. package/build-module/components/media-categories/index.js +1 -0
  40. package/build-module/components/media-categories/index.js.map +1 -1
  41. package/build-module/components/post-status/index.js +1 -0
  42. package/build-module/components/post-status/index.js.map +1 -1
  43. package/build-module/components/post-taxonomies/hierarchical-term-selector.js +2 -4
  44. package/build-module/components/post-taxonomies/hierarchical-term-selector.js.map +1 -1
  45. package/build-module/components/post-taxonomies/most-used-terms.js +2 -4
  46. package/build-module/components/post-taxonomies/most-used-terms.js.map +1 -1
  47. package/build-module/components/post-url/index.js +9 -8
  48. package/build-module/components/post-url/index.js.map +1 -1
  49. package/build-module/components/save-publish-panels/index.js +4 -10
  50. package/build-module/components/save-publish-panels/index.js.map +1 -1
  51. package/build-style/style-rtl.css +37 -18
  52. package/build-style/style.css +37 -18
  53. package/build-types/bindings/post-meta.d.ts +4 -1
  54. package/build-types/bindings/post-meta.d.ts.map +1 -1
  55. package/build-types/components/block-manager/index.d.ts +1 -2
  56. package/build-types/components/block-manager/index.d.ts.map +1 -1
  57. package/build-types/components/document-bar/index.d.ts +7 -6
  58. package/build-types/components/document-bar/index.d.ts.map +1 -1
  59. package/build-types/components/editor-interface/index.d.ts +1 -2
  60. package/build-types/components/editor-interface/index.d.ts.map +1 -1
  61. package/build-types/components/global-styles-provider/index.d.ts.map +1 -1
  62. package/build-types/components/header/index.d.ts +2 -2
  63. package/build-types/components/header/index.d.ts.map +1 -1
  64. package/build-types/components/post-status/index.d.ts.map +1 -1
  65. package/build-types/components/post-taxonomies/hierarchical-term-selector.d.ts.map +1 -1
  66. package/build-types/components/post-taxonomies/most-used-terms.d.ts.map +1 -1
  67. package/build-types/components/post-url/index.d.ts.map +1 -1
  68. package/build-types/components/save-publish-panels/index.d.ts.map +1 -1
  69. package/package.json +36 -36
  70. package/src/bindings/post-meta.js +56 -20
  71. package/src/components/block-manager/index.js +49 -65
  72. package/src/components/document-bar/index.js +29 -41
  73. package/src/components/document-bar/style.scss +33 -15
  74. package/src/components/editor-interface/index.js +1 -2
  75. package/src/components/global-styles-provider/index.js +50 -36
  76. package/src/components/header/index.js +3 -6
  77. package/src/components/post-panel-row/style.scss +1 -0
  78. package/src/components/post-status/index.js +1 -0
  79. package/src/components/post-status/style.scss +5 -0
  80. package/src/components/post-taxonomies/hierarchical-term-selector.js +1 -2
  81. package/src/components/post-taxonomies/most-used-terms.js +1 -2
  82. package/src/components/post-taxonomies/style.scss +0 -4
  83. package/src/components/post-url/index.js +9 -7
  84. package/src/components/save-publish-panels/index.js +2 -6
  85. 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 { withSelect, withDispatch } from '@wordpress/data';
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, compose } from '@wordpress/compose';
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
- // Filtering occurs here (as opposed to `withSelect`) to avoid
33
- // wasted renders by consequence of `Array#filter` producing
34
- // a new value reference on each call.
35
- blockTypes = blockTypes.filter(blockType => hasBlockSupport(blockType, 'inserter', true) && (!search || isMatchingSearchTerm(blockType, search)) && (!blockType.parent || blockType.parent.includes('core/post-content')));
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 = blockTypes.length;
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
- }, [blockTypes.length, search, debouncedSpeak]);
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(blockTypes),
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: [blockTypes.length === 0 && /*#__PURE__*/_jsx("p", {
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: blockTypes.filter(blockType => blockType.category === category.slug)
98
+ blockTypes: filteredBlockTypes.filter(blockType => blockType.category === category.slug)
76
99
  }, category.slug)), /*#__PURE__*/_jsx(BlockManagerCategory, {
77
100
  title: __('Uncategorized'),
78
- blockTypes: blockTypes.filter(({
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","withSelect","withDispatch","SearchControl","Button","__","_n","sprintf","useEffect","useState","useDebounce","compose","speak","preferencesStore","unlock","editorStore","BlockManagerCategory","jsx","_jsx","jsxs","_jsxs","BlockManager","blockTypes","categories","hasBlockSupport","isMatchingSearchTerm","numberOfHiddenBlocks","enableAllBlockTypes","debouncedSpeak","search","setSearch","filter","blockType","parent","includes","count","length","resultsFoundMessage","className","children","__next40pxDefaultSize","variant","onClick","__nextHasNoMarginBottom","label","placeholder","value","onChange","nextSearch","tabIndex","role","map","category","title","slug","select","_get","getBlockTypes","getCategories","get","hiddenBlockTypes","hiddenBlock","some","registeredBlock","name","Array","isArray","dispatch","showBlockTypes","blockNames"],"sources":["@wordpress/editor/src/components/block-manager/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { store as blocksStore } from '@wordpress/blocks';\nimport { withSelect, withDispatch } from '@wordpress/data';\nimport { SearchControl, Button } from '@wordpress/components';\nimport { __, _n, sprintf } from '@wordpress/i18n';\nimport { useEffect, useState } from '@wordpress/element';\nimport { useDebounce, compose } 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\nfunction BlockManager( {\n\tblockTypes,\n\tcategories,\n\thasBlockSupport,\n\tisMatchingSearchTerm,\n\tnumberOfHiddenBlocks,\n\tenableAllBlockTypes,\n} ) {\n\tconst debouncedSpeak = useDebounce( speak, 500 );\n\tconst [ search, setSearch ] = useState( '' );\n\n\t// Filtering occurs here (as opposed to `withSelect`) to avoid\n\t// wasted renders by consequence of `Array#filter` producing\n\t// a new value reference on each call.\n\tblockTypes = 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 = blockTypes.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}, [ blockTypes.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={ () => enableAllBlockTypes( blockTypes ) }\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{ blockTypes.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={ blockTypes.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={ blockTypes.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\nexport default compose( [\n\twithSelect( ( select ) => {\n\t\tconst {\n\t\t\tgetBlockTypes,\n\t\t\tgetCategories,\n\t\t\thasBlockSupport,\n\t\t\tisMatchingSearchTerm,\n\t\t} = select( blocksStore );\n\t\tconst { get } = select( preferencesStore );\n\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 = getBlockTypes();\n\t\tconst hiddenBlockTypes = (\n\t\t\tget( '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\t\tconst numberOfHiddenBlocks =\n\t\t\tArray.isArray( hiddenBlockTypes ) && hiddenBlockTypes.length;\n\n\t\treturn {\n\t\t\tblockTypes,\n\t\t\tcategories: getCategories(),\n\t\t\thasBlockSupport,\n\t\t\tisMatchingSearchTerm,\n\t\t\tnumberOfHiddenBlocks,\n\t\t};\n\t} ),\n\twithDispatch( ( dispatch ) => {\n\t\tconst { showBlockTypes } = unlock( dispatch( editorStore ) );\n\t\treturn {\n\t\t\tenableAllBlockTypes: ( blockTypes ) => {\n\t\t\t\tconst blockNames = blockTypes.map( ( { name } ) => name );\n\t\t\t\tshowBlockTypes( blockNames );\n\t\t\t},\n\t\t};\n\t} ),\n] )( BlockManager );\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,KAAK,IAAIC,WAAW,QAAQ,mBAAmB;AACxD,SAASC,UAAU,EAAEC,YAAY,QAAQ,iBAAiB;AAC1D,SAASC,aAAa,EAAEC,MAAM,QAAQ,uBAAuB;AAC7D,SAASC,EAAE,EAAEC,EAAE,EAAEC,OAAO,QAAQ,iBAAiB;AACjD,SAASC,SAAS,EAAEC,QAAQ,QAAQ,oBAAoB;AACxD,SAASC,WAAW,EAAEC,OAAO,QAAQ,oBAAoB;AACzD,SAASC,KAAK,QAAQ,iBAAiB;AACvC,SAASb,KAAK,IAAIc,gBAAgB,QAAQ,wBAAwB;;AAElE;AACA;AACA;AACA,SAASC,MAAM,QAAQ,mBAAmB;AAC1C,SAASf,KAAK,IAAIgB,WAAW,QAAQ,aAAa;AAClD,OAAOC,oBAAoB,MAAM,YAAY;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAAA,SAAAC,IAAA,IAAAC,KAAA;AAE9C,SAASC,YAAYA,CAAE;EACtBC,UAAU;EACVC,UAAU;EACVC,eAAe;EACfC,oBAAoB;EACpBC,oBAAoB;EACpBC;AACD,CAAC,EAAG;EACH,MAAMC,cAAc,GAAGlB,WAAW,CAAEE,KAAK,EAAE,GAAI,CAAC;EAChD,MAAM,CAAEiB,MAAM,EAAEC,SAAS,CAAE,GAAGrB,QAAQ,CAAE,EAAG,CAAC;;EAE5C;EACA;EACA;EACAa,UAAU,GAAGA,UAAU,CAACS,MAAM,CAC3BC,SAAS,IACVR,eAAe,CAAEQ,SAAS,EAAE,UAAU,EAAE,IAAK,CAAC,KAC5C,CAAEH,MAAM,IAAIJ,oBAAoB,CAAEO,SAAS,EAAEH,MAAO,CAAC,CAAE,KACvD,CAAEG,SAAS,CAACC,MAAM,IACnBD,SAAS,CAACC,MAAM,CAACC,QAAQ,CAAE,mBAAoB,CAAC,CACnD,CAAC;;EAED;EACA1B,SAAS,CAAE,MAAM;IAChB,IAAK,CAAEqB,MAAM,EAAG;MACf;IACD;IACA,MAAMM,KAAK,GAAGb,UAAU,CAACc,MAAM;IAC/B,MAAMC,mBAAmB,GAAG9B,OAAO,EAClC;IACAD,EAAE,CAAE,kBAAkB,EAAE,mBAAmB,EAAE6B,KAAM,CAAC,EACpDA,KACD,CAAC;IACDP,cAAc,CAAES,mBAAoB,CAAC;EACtC,CAAC,EAAE,CAAEf,UAAU,CAACc,MAAM,EAAEP,MAAM,EAAED,cAAc,CAAG,CAAC;EAElD,oBACCR,KAAA;IAAKkB,SAAS,EAAC,+BAA+B;IAAAC,QAAA,GAC3C,CAAC,CAAEb,oBAAoB,iBACxBN,KAAA;MAAKkB,SAAS,EAAC,6CAA6C;MAAAC,QAAA,GACzDhC,OAAO,EACR;MACAD,EAAE,CACD,qBAAqB,EACrB,uBAAuB,EACvBoB,oBACD,CAAC,EACDA,oBACD,CAAC,eACDR,IAAA,CAACd,MAAM;QACNoC,qBAAqB;QACrBC,OAAO,EAAC,MAAM;QACdC,OAAO,EAAGA,CAAA,KAAMf,mBAAmB,CAAEL,UAAW,CAAG;QAAAiB,QAAA,EAEjDlC,EAAE,CAAE,OAAQ;MAAC,CACR,CAAC;IAAA,CACL,CACL,eACDa,IAAA,CAACf,aAAa;MACbwC,uBAAuB;MACvBC,KAAK,EAAGvC,EAAE,CAAE,oBAAqB,CAAG;MACpCwC,WAAW,EAAGxC,EAAE,CAAE,oBAAqB,CAAG;MAC1CyC,KAAK,EAAGjB,MAAQ;MAChBkB,QAAQ,EAAKC,UAAU,IAAMlB,SAAS,CAAEkB,UAAW,CAAG;MACtDV,SAAS,EAAC;IAA8B,CACxC,CAAC,eACFlB,KAAA;MACC6B,QAAQ,EAAC,GAAG;MACZC,IAAI,EAAC,QAAQ;MACb,cAAa7C,EAAE,CAAE,uBAAwB,CAAG;MAC5CiC,SAAS,EAAC,+BAA+B;MAAAC,QAAA,GAEvCjB,UAAU,CAACc,MAAM,KAAK,CAAC,iBACxBlB,IAAA;QAAGoB,SAAS,EAAC,kCAAkC;QAAAC,QAAA,EAC5ClC,EAAE,CAAE,kBAAmB;MAAC,CACxB,CACH,EACCkB,UAAU,CAAC4B,GAAG,CAAIC,QAAQ,iBAC3BlC,IAAA,CAACF,oBAAoB;QAEpBqC,KAAK,EAAGD,QAAQ,CAACC,KAAO;QACxB/B,UAAU,EAAGA,UAAU,CAACS,MAAM,CAC3BC,SAAS,IACVA,SAAS,CAACoB,QAAQ,KAAKA,QAAQ,CAACE,IAClC;MAAG,GALGF,QAAQ,CAACE,IAMf,CACA,CAAC,eACHpC,IAAA,CAACF,oBAAoB;QACpBqC,KAAK,EAAGhD,EAAE,CAAE,eAAgB,CAAG;QAC/BiB,UAAU,EAAGA,UAAU,CAACS,MAAM,CAC7B,CAAE;UAAEqB;QAAS,CAAC,KAAM,CAAEA,QACvB;MAAG,CACH,CAAC;IAAA,CACE,CAAC;EAAA,CACF,CAAC;AAER;AAEA,eAAezC,OAAO,CAAE,CACvBV,UAAU,CAAIsD,MAAM,IAAM;EAAA,IAAAC,IAAA;EACzB,MAAM;IACLC,aAAa;IACbC,aAAa;IACblC,eAAe;IACfC;EACD,CAAC,GAAG8B,MAAM,CAAEvD,WAAY,CAAC;EACzB,MAAM;IAAE2D;EAAI,CAAC,GAAGJ,MAAM,CAAE1C,gBAAiB,CAAC;;EAE1C;EACA;EACA;EACA;EACA;EACA,MAAMS,UAAU,GAAGmC,aAAa,CAAC,CAAC;EAClC,MAAMG,gBAAgB,GAAG,EAAAJ,IAAA,GACxBG,GAAG,CAAE,MAAM,EAAE,kBAAmB,CAAC,cAAAH,IAAA,cAAAA,IAAA,GAAI,EAAE,EACtCzB,MAAM,CAAI8B,WAAW,IAAM;IAC5B,OAAOvC,UAAU,CAACwC,IAAI,CACnBC,eAAe,IAAMA,eAAe,CAACC,IAAI,KAAKH,WACjD,CAAC;EACF,CAAE,CAAC;EACH,MAAMnC,oBAAoB,GACzBuC,KAAK,CAACC,OAAO,CAAEN,gBAAiB,CAAC,IAAIA,gBAAgB,CAACxB,MAAM;EAE7D,OAAO;IACNd,UAAU;IACVC,UAAU,EAAEmC,aAAa,CAAC,CAAC;IAC3BlC,eAAe;IACfC,oBAAoB;IACpBC;EACD,CAAC;AACF,CAAE,CAAC,EACHxB,YAAY,CAAIiE,QAAQ,IAAM;EAC7B,MAAM;IAAEC;EAAe,CAAC,GAAGtD,MAAM,CAAEqD,QAAQ,CAAEpD,WAAY,CAAE,CAAC;EAC5D,OAAO;IACNY,mBAAmB,EAAIL,UAAU,IAAM;MACtC,MAAM+C,UAAU,GAAG/C,UAAU,CAAC6B,GAAG,CAAE,CAAE;QAAEa;MAAK,CAAC,KAAMA,IAAK,CAAC;MACzDI,cAAc,CAAEC,UAAW,CAAC;IAC7B;EACD,CAAC;AACF,CAAE,CAAC,CACF,CAAC,CAAEhD,YAAa,CAAC","ignoreList":[]}
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, sprintf } from '@wordpress/i18n';
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
- import { unlock } from '../../lock-unlock';
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} props The component props.
51
- * @param {string} props.title A title for the document, defaulting to the document or
52
- * template title currently being edited.
53
- * @param {import("@wordpress/components").IconType} props.icon An icon for the document, defaulting to an icon for document
54
- * or template currently being edited.
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 || templateIcon;
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__*/_jsx(Text, {
156
+ }), /*#__PURE__*/_jsxs(Text, {
166
157
  size: "body",
167
158
  as: "h1",
168
- "aria-label": !props.title && TYPE_LABELS[postType] ?
169
- // eslint-disable-next-line @wordpress/valid-sprintf
170
- sprintf(TYPE_LABELS[postType], title) : undefined,
171
- children: title ? decodeEntities(title) : __('No title')
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":"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","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
- icon: icon
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
- const record = _globalStylesId && canUser('read', {
60
+ let record;
61
+ const userCanEditGlobalStyles = canUser('update', {
60
62
  kind: 'root',
61
63
  name: 'globalStyles',
62
64
  id: _globalStylesId
63
- }) ? getEditedEntityRecord('root', 'globalStyles', _globalStylesId) : undefined;
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
- hasResolved = _globalStylesId ? hasFinishedResolution('getEditedEntityRecord', ['root', 'globalStyles', _globalStylesId]) : true;
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":[]}