@wordpress/editor 13.26.1-next.79a6196f.0 → 13.27.1
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 +3 -1
- package/build/bindings/index.js +20 -0
- package/build/bindings/index.js.map +1 -0
- package/build/bindings/post-meta.js +52 -0
- package/build/bindings/post-meta.js.map +1 -0
- package/build/components/block-manager/category.js +106 -0
- package/build/components/block-manager/category.js.map +1 -0
- package/build/components/block-manager/checklist.js +35 -0
- package/build/components/block-manager/checklist.js.map +1 -0
- package/build/components/block-manager/index.js +130 -0
- package/build/components/block-manager/index.js.map +1 -0
- package/build/components/document-tools/index.js +58 -52
- package/build/components/document-tools/index.js.map +1 -1
- package/build/components/editor-canvas/index.js +4 -4
- package/build/components/editor-canvas/index.js.map +1 -1
- package/build/components/editor-notices/index.js +11 -11
- package/build/components/editor-notices/index.js.map +1 -1
- package/build/components/entities-saved-states/entity-type-list.js +38 -7
- package/build/components/entities-saved-states/entity-type-list.js.map +1 -1
- package/build/components/offline-status/index.native.js +1 -3
- package/build/components/offline-status/index.native.js.map +1 -1
- package/build/components/post-locked-modal/index.js +1 -1
- package/build/components/post-locked-modal/index.js.map +1 -1
- package/build/components/post-saved-state/index.js +10 -24
- package/build/components/post-saved-state/index.js.map +1 -1
- package/build/components/post-schedule/check.js +5 -16
- package/build/components/post-schedule/check.js.map +1 -1
- package/build/components/preferences-modal/enable-panel.js +42 -0
- package/build/components/preferences-modal/enable-panel.js.map +1 -0
- package/build/components/preferences-modal/enable-plugin-document-setting-panel.js +33 -0
- package/build/components/preferences-modal/enable-plugin-document-setting-panel.js.map +1 -0
- package/build/components/preferences-modal/index.js +186 -0
- package/build/components/preferences-modal/index.js.map +1 -0
- package/build/components/provider/disable-non-page-content-blocks.js +1 -4
- package/build/components/provider/disable-non-page-content-blocks.js.map +1 -1
- package/build/components/provider/use-block-editor-settings.js +34 -8
- package/build/components/provider/use-block-editor-settings.js.map +1 -1
- package/build/hooks/pattern-partial-syncing.js +12 -6
- package/build/hooks/pattern-partial-syncing.js.map +1 -1
- package/build/index.js +1 -0
- package/build/index.js.map +1 -1
- package/build/private-apis.js +6 -2
- package/build/private-apis.js.map +1 -1
- package/build/store/defaults.js +2 -0
- package/build/store/defaults.js.map +1 -1
- package/build/store/private-actions.js +33 -1
- package/build/store/private-actions.js.map +1 -1
- package/build/store/private-selectors.js +1 -1
- package/build/store/private-selectors.js.map +1 -1
- package/build-module/bindings/index.js +15 -0
- package/build-module/bindings/index.js.map +1 -0
- package/build-module/bindings/post-meta.js +45 -0
- package/build-module/bindings/post-meta.js.map +1 -0
- package/build-module/components/block-manager/category.js +97 -0
- package/build-module/components/block-manager/category.js.map +1 -0
- package/build-module/components/block-manager/checklist.js +27 -0
- package/build-module/components/block-manager/checklist.js.map +1 -0
- package/build-module/components/block-manager/index.js +121 -0
- package/build-module/components/block-manager/index.js.map +1 -0
- package/build-module/components/document-tools/index.js +58 -52
- package/build-module/components/document-tools/index.js.map +1 -1
- package/build-module/components/editor-canvas/index.js +4 -4
- package/build-module/components/editor-canvas/index.js.map +1 -1
- package/build-module/components/editor-notices/index.js +12 -12
- package/build-module/components/editor-notices/index.js.map +1 -1
- package/build-module/components/entities-saved-states/entity-type-list.js +39 -8
- package/build-module/components/entities-saved-states/entity-type-list.js.map +1 -1
- package/build-module/components/offline-status/index.native.js +1 -3
- package/build-module/components/offline-status/index.native.js.map +1 -1
- package/build-module/components/post-locked-modal/index.js +1 -1
- package/build-module/components/post-locked-modal/index.js.map +1 -1
- package/build-module/components/post-saved-state/index.js +11 -25
- package/build-module/components/post-saved-state/index.js.map +1 -1
- package/build-module/components/post-schedule/check.js +6 -15
- package/build-module/components/post-schedule/check.js.map +1 -1
- package/build-module/components/preferences-modal/enable-panel.js +34 -0
- package/build-module/components/preferences-modal/enable-panel.js.map +1 -0
- package/build-module/components/preferences-modal/enable-plugin-document-setting-panel.js +24 -0
- package/build-module/components/preferences-modal/enable-plugin-document-setting-panel.js.map +1 -0
- package/build-module/components/preferences-modal/index.js +179 -0
- package/build-module/components/preferences-modal/index.js.map +1 -0
- package/build-module/components/provider/disable-non-page-content-blocks.js +1 -4
- package/build-module/components/provider/disable-non-page-content-blocks.js.map +1 -1
- package/build-module/components/provider/use-block-editor-settings.js +35 -9
- package/build-module/components/provider/use-block-editor-settings.js.map +1 -1
- package/build-module/hooks/pattern-partial-syncing.js +12 -6
- package/build-module/hooks/pattern-partial-syncing.js.map +1 -1
- package/build-module/index.js +1 -0
- package/build-module/index.js.map +1 -1
- package/build-module/private-apis.js +6 -2
- package/build-module/private-apis.js.map +1 -1
- package/build-module/store/defaults.js +2 -0
- package/build-module/store/defaults.js.map +1 -1
- package/build-module/store/private-actions.js +29 -0
- package/build-module/store/private-actions.js.map +1 -1
- package/build-module/store/private-selectors.js +1 -1
- package/build-module/store/private-selectors.js.map +1 -1
- package/build-style/style-rtl.css +80 -12
- package/build-style/style.css +80 -12
- package/package.json +33 -33
- package/src/bindings/index.js +13 -0
- package/src/bindings/post-meta.js +42 -0
- package/src/components/block-manager/category.js +96 -0
- package/src/components/block-manager/checklist.js +30 -0
- package/src/components/block-manager/index.js +160 -0
- package/src/components/block-manager/style.scss +82 -0
- package/src/components/document-tools/index.js +9 -1
- package/src/components/editor-canvas/index.js +3 -2
- package/src/components/editor-notices/index.js +11 -12
- package/src/components/editor-notices/style.scss +0 -1
- package/src/components/entities-saved-states/entity-type-list.js +47 -5
- package/src/components/entities-saved-states/style.scss +4 -0
- package/src/components/offline-status/index.native.js +2 -4
- package/src/components/post-locked-modal/index.js +1 -1
- package/src/components/post-locked-modal/style.scss +0 -6
- package/src/components/post-saved-state/index.js +30 -47
- package/src/components/post-schedule/check.js +10 -14
- package/src/components/post-schedule/test/check.js +24 -9
- package/src/components/preferences-modal/enable-panel.js +30 -0
- package/src/components/preferences-modal/enable-plugin-document-setting-panel.js +23 -0
- package/src/components/preferences-modal/index.js +269 -0
- package/src/components/preferences-modal/test/index.js +28 -0
- package/src/components/provider/disable-non-page-content-blocks.js +3 -3
- package/src/components/provider/use-block-editor-settings.js +45 -17
- package/src/hooks/pattern-partial-syncing.js +26 -22
- package/src/index.js +1 -0
- package/src/private-apis.js +6 -2
- package/src/store/defaults.js +2 -0
- package/src/store/private-actions.js +49 -0
- package/src/store/private-selectors.js +1 -1
- package/src/style.scss +1 -1
- package/src/components/editor-canvas/style.scss +0 -5
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
var _compose = require("@wordpress/compose");
|
|
8
|
+
var _data = require("@wordpress/data");
|
|
9
|
+
var _preferences = require("@wordpress/preferences");
|
|
10
|
+
var _lockUnlock = require("../../lock-unlock");
|
|
11
|
+
var _store = require("../../store");
|
|
12
|
+
/**
|
|
13
|
+
* WordPress dependencies
|
|
14
|
+
*/
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* Internal dependencies
|
|
18
|
+
*/
|
|
19
|
+
|
|
20
|
+
const {
|
|
21
|
+
PreferenceBaseOption
|
|
22
|
+
} = (0, _lockUnlock.unlock)(_preferences.privateApis);
|
|
23
|
+
var _default = (0, _compose.compose)((0, _data.withSelect)((select, {
|
|
24
|
+
panelName
|
|
25
|
+
}) => {
|
|
26
|
+
const {
|
|
27
|
+
isEditorPanelEnabled,
|
|
28
|
+
isEditorPanelRemoved
|
|
29
|
+
} = select(_store.store);
|
|
30
|
+
return {
|
|
31
|
+
isRemoved: isEditorPanelRemoved(panelName),
|
|
32
|
+
isChecked: isEditorPanelEnabled(panelName)
|
|
33
|
+
};
|
|
34
|
+
}), (0, _compose.ifCondition)(({
|
|
35
|
+
isRemoved
|
|
36
|
+
}) => !isRemoved), (0, _data.withDispatch)((dispatch, {
|
|
37
|
+
panelName
|
|
38
|
+
}) => ({
|
|
39
|
+
onChange: () => dispatch(_store.store).toggleEditorPanelEnabled(panelName)
|
|
40
|
+
})))(PreferenceBaseOption);
|
|
41
|
+
exports.default = _default;
|
|
42
|
+
//# sourceMappingURL=enable-panel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_compose","require","_data","_preferences","_lockUnlock","_store","PreferenceBaseOption","unlock","preferencesPrivateApis","_default","compose","withSelect","select","panelName","isEditorPanelEnabled","isEditorPanelRemoved","editorStore","isRemoved","isChecked","ifCondition","withDispatch","dispatch","onChange","toggleEditorPanelEnabled","exports","default"],"sources":["@wordpress/editor/src/components/preferences-modal/enable-panel.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { compose, ifCondition } from '@wordpress/compose';\nimport { withSelect, withDispatch } from '@wordpress/data';\nimport { privateApis as preferencesPrivateApis } from '@wordpress/preferences';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\nimport { store as editorStore } from '../../store';\n\nconst { PreferenceBaseOption } = unlock( preferencesPrivateApis );\n\nexport default compose(\n\twithSelect( ( select, { panelName } ) => {\n\t\tconst { isEditorPanelEnabled, isEditorPanelRemoved } =\n\t\t\tselect( editorStore );\n\t\treturn {\n\t\t\tisRemoved: isEditorPanelRemoved( panelName ),\n\t\t\tisChecked: isEditorPanelEnabled( panelName ),\n\t\t};\n\t} ),\n\tifCondition( ( { isRemoved } ) => ! isRemoved ),\n\twithDispatch( ( dispatch, { panelName } ) => ( {\n\t\tonChange: () =>\n\t\t\tdispatch( editorStore ).toggleEditorPanelEnabled( panelName ),\n\t} ) )\n)( PreferenceBaseOption );\n"],"mappings":";;;;;;AAGA,IAAAA,QAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,YAAA,GAAAF,OAAA;AAKA,IAAAG,WAAA,GAAAH,OAAA;AACA,IAAAI,MAAA,GAAAJ,OAAA;AAXA;AACA;AACA;;AAKA;AACA;AACA;;AAIA,MAAM;EAAEK;AAAqB,CAAC,GAAG,IAAAC,kBAAM,EAAEC,wBAAuB,CAAC;AAAC,IAAAC,QAAA,GAEnD,IAAAC,gBAAO,EACrB,IAAAC,gBAAU,EAAE,CAAEC,MAAM,EAAE;EAAEC;AAAU,CAAC,KAAM;EACxC,MAAM;IAAEC,oBAAoB;IAAEC;EAAqB,CAAC,GACnDH,MAAM,CAAEI,YAAY,CAAC;EACtB,OAAO;IACNC,SAAS,EAAEF,oBAAoB,CAAEF,SAAU,CAAC;IAC5CK,SAAS,EAAEJ,oBAAoB,CAAED,SAAU;EAC5C,CAAC;AACF,CAAE,CAAC,EACH,IAAAM,oBAAW,EAAE,CAAE;EAAEF;AAAU,CAAC,KAAM,CAAEA,SAAU,CAAC,EAC/C,IAAAG,kBAAY,EAAE,CAAEC,QAAQ,EAAE;EAAER;AAAU,CAAC,MAAQ;EAC9CS,QAAQ,EAAEA,CAAA,KACTD,QAAQ,CAAEL,YAAY,CAAC,CAACO,wBAAwB,CAAEV,SAAU;AAC9D,CAAC,CAAG,CACL,CAAC,CAAEP,oBAAqB,CAAC;AAAAkB,OAAA,CAAAC,OAAA,GAAAhB,QAAA"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.default = void 0;
|
|
8
|
+
var _react = require("react");
|
|
9
|
+
var _components = require("@wordpress/components");
|
|
10
|
+
var _enablePanel = _interopRequireDefault(require("./enable-panel"));
|
|
11
|
+
/**
|
|
12
|
+
* WordPress dependencies
|
|
13
|
+
*/
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* Internal dependencies
|
|
17
|
+
*/
|
|
18
|
+
|
|
19
|
+
const {
|
|
20
|
+
Fill,
|
|
21
|
+
Slot
|
|
22
|
+
} = (0, _components.createSlotFill)('EnablePluginDocumentSettingPanelOption');
|
|
23
|
+
const EnablePluginDocumentSettingPanelOption = ({
|
|
24
|
+
label,
|
|
25
|
+
panelName
|
|
26
|
+
}) => (0, _react.createElement)(Fill, null, (0, _react.createElement)(_enablePanel.default, {
|
|
27
|
+
label: label,
|
|
28
|
+
panelName: panelName
|
|
29
|
+
}));
|
|
30
|
+
EnablePluginDocumentSettingPanelOption.Slot = Slot;
|
|
31
|
+
var _default = EnablePluginDocumentSettingPanelOption;
|
|
32
|
+
exports.default = _default;
|
|
33
|
+
//# sourceMappingURL=enable-plugin-document-setting-panel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_components","require","_enablePanel","_interopRequireDefault","Fill","Slot","createSlotFill","EnablePluginDocumentSettingPanelOption","label","panelName","_react","createElement","default","_default","exports"],"sources":["@wordpress/editor/src/components/preferences-modal/enable-plugin-document-setting-panel.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { createSlotFill } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport EnablePanelOption from './enable-panel';\n\nconst { Fill, Slot } = createSlotFill(\n\t'EnablePluginDocumentSettingPanelOption'\n);\n\nconst EnablePluginDocumentSettingPanelOption = ( { label, panelName } ) => (\n\t<Fill>\n\t\t<EnablePanelOption label={ label } panelName={ panelName } />\n\t</Fill>\n);\n\nEnablePluginDocumentSettingPanelOption.Slot = Slot;\n\nexport default EnablePluginDocumentSettingPanelOption;\n"],"mappings":";;;;;;;;AAGA,IAAAA,WAAA,GAAAC,OAAA;AAKA,IAAAC,YAAA,GAAAC,sBAAA,CAAAF,OAAA;AARA;AACA;AACA;;AAGA;AACA;AACA;;AAGA,MAAM;EAAEG,IAAI;EAAEC;AAAK,CAAC,GAAG,IAAAC,0BAAc,EACpC,wCACD,CAAC;AAED,MAAMC,sCAAsC,GAAGA,CAAE;EAAEC,KAAK;EAAEC;AAAU,CAAC,KACpE,IAAAC,MAAA,CAAAC,aAAA,EAACP,IAAI,QACJ,IAAAM,MAAA,CAAAC,aAAA,EAACT,YAAA,CAAAU,OAAiB;EAACJ,KAAK,EAAGA,KAAO;EAACC,SAAS,EAAGA;AAAW,CAAE,CACvD,CACN;AAEDF,sCAAsC,CAACF,IAAI,GAAGA,IAAI;AAAC,IAAAQ,QAAA,GAEpCN,sCAAsC;AAAAO,OAAA,CAAAF,OAAA,GAAAC,QAAA"}
|
|
@@ -0,0 +1,186 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.default = EditorPreferencesModal;
|
|
8
|
+
var _react = require("react");
|
|
9
|
+
var _i18n = require("@wordpress/i18n");
|
|
10
|
+
var _compose = require("@wordpress/compose");
|
|
11
|
+
var _data = require("@wordpress/data");
|
|
12
|
+
var _element = require("@wordpress/element");
|
|
13
|
+
var _preferences = require("@wordpress/preferences");
|
|
14
|
+
var _enablePanel = _interopRequireDefault(require("./enable-panel"));
|
|
15
|
+
var _enablePluginDocumentSettingPanel = _interopRequireDefault(require("./enable-plugin-document-setting-panel"));
|
|
16
|
+
var _blockManager = _interopRequireDefault(require("../block-manager"));
|
|
17
|
+
var _postTaxonomies = _interopRequireDefault(require("../post-taxonomies"));
|
|
18
|
+
var _check = _interopRequireDefault(require("../post-featured-image/check"));
|
|
19
|
+
var _check2 = _interopRequireDefault(require("../post-excerpt/check"));
|
|
20
|
+
var _check3 = _interopRequireDefault(require("../page-attributes/check"));
|
|
21
|
+
var _postTypeSupportCheck = _interopRequireDefault(require("../post-type-support-check"));
|
|
22
|
+
var _store = require("../../store");
|
|
23
|
+
var _lockUnlock = require("../../lock-unlock");
|
|
24
|
+
/**
|
|
25
|
+
* WordPress dependencies
|
|
26
|
+
*/
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* Internal dependencies
|
|
30
|
+
*/
|
|
31
|
+
|
|
32
|
+
const {
|
|
33
|
+
PreferencesModal,
|
|
34
|
+
PreferencesModalTabs,
|
|
35
|
+
PreferencesModalSection,
|
|
36
|
+
PreferenceToggleControl
|
|
37
|
+
} = (0, _lockUnlock.unlock)(_preferences.privateApis);
|
|
38
|
+
function EditorPreferencesModal({
|
|
39
|
+
extraSections = {},
|
|
40
|
+
isActive,
|
|
41
|
+
onClose
|
|
42
|
+
}) {
|
|
43
|
+
const isLargeViewport = (0, _compose.useViewportMatch)('medium');
|
|
44
|
+
const {
|
|
45
|
+
showBlockBreadcrumbsOption
|
|
46
|
+
} = (0, _data.useSelect)(select => {
|
|
47
|
+
const {
|
|
48
|
+
getEditorSettings
|
|
49
|
+
} = select(_store.store);
|
|
50
|
+
const {
|
|
51
|
+
get
|
|
52
|
+
} = select(_preferences.store);
|
|
53
|
+
const isRichEditingEnabled = getEditorSettings().richEditingEnabled;
|
|
54
|
+
const isDistractionFreeEnabled = get('core', 'distractionFree');
|
|
55
|
+
return {
|
|
56
|
+
showBlockBreadcrumbsOption: !isDistractionFreeEnabled && isLargeViewport && isRichEditingEnabled
|
|
57
|
+
};
|
|
58
|
+
}, [isLargeViewport]);
|
|
59
|
+
const {
|
|
60
|
+
setIsListViewOpened,
|
|
61
|
+
setIsInserterOpened
|
|
62
|
+
} = (0, _data.useDispatch)(_store.store);
|
|
63
|
+
const {
|
|
64
|
+
set: setPreference
|
|
65
|
+
} = (0, _data.useDispatch)(_preferences.store);
|
|
66
|
+
const toggleDistractionFree = () => {
|
|
67
|
+
setPreference('core', 'fixedToolbar', true);
|
|
68
|
+
setIsInserterOpened(false);
|
|
69
|
+
setIsListViewOpened(false);
|
|
70
|
+
// Todo: Check sidebar when closing/opening distraction free.
|
|
71
|
+
};
|
|
72
|
+
|
|
73
|
+
const turnOffDistractionFree = () => {
|
|
74
|
+
setPreference('core', 'distractionFree', false);
|
|
75
|
+
};
|
|
76
|
+
const sections = (0, _element.useMemo)(() => [{
|
|
77
|
+
name: 'general',
|
|
78
|
+
tabLabel: (0, _i18n.__)('General'),
|
|
79
|
+
content: (0, _react.createElement)(_react.Fragment, null, (0, _react.createElement)(PreferencesModalSection, {
|
|
80
|
+
title: (0, _i18n.__)('Interface')
|
|
81
|
+
}, (0, _react.createElement)(PreferenceToggleControl, {
|
|
82
|
+
scope: "core",
|
|
83
|
+
featureName: "showListViewByDefault",
|
|
84
|
+
help: (0, _i18n.__)('Opens the block list view sidebar by default.'),
|
|
85
|
+
label: (0, _i18n.__)('Always open list view')
|
|
86
|
+
}), showBlockBreadcrumbsOption && (0, _react.createElement)(PreferenceToggleControl, {
|
|
87
|
+
scope: "core",
|
|
88
|
+
featureName: "showBlockBreadcrumbs",
|
|
89
|
+
help: (0, _i18n.__)('Display the block hierarchy trail at the bottom of the editor.'),
|
|
90
|
+
label: (0, _i18n.__)('Show block breadcrumbs')
|
|
91
|
+
}), (0, _react.createElement)(PreferenceToggleControl, {
|
|
92
|
+
scope: "core",
|
|
93
|
+
featureName: "allowRightClickOverrides",
|
|
94
|
+
help: (0, _i18n.__)('Allows contextual list view menus via right-click, overriding browser defaults.'),
|
|
95
|
+
label: (0, _i18n.__)('Allow right-click contextual menus')
|
|
96
|
+
})), (0, _react.createElement)(PreferencesModalSection, {
|
|
97
|
+
title: (0, _i18n.__)('Document settings'),
|
|
98
|
+
description: (0, _i18n.__)('Select what settings are shown in the document panel.')
|
|
99
|
+
}, (0, _react.createElement)(_enablePluginDocumentSettingPanel.default.Slot, null), (0, _react.createElement)(_postTaxonomies.default, {
|
|
100
|
+
taxonomyWrapper: (content, taxonomy) => (0, _react.createElement)(_enablePanel.default, {
|
|
101
|
+
label: taxonomy.labels.menu_name,
|
|
102
|
+
panelName: `taxonomy-panel-${taxonomy.slug}`
|
|
103
|
+
})
|
|
104
|
+
}), (0, _react.createElement)(_check.default, null, (0, _react.createElement)(_enablePanel.default, {
|
|
105
|
+
label: (0, _i18n.__)('Featured image'),
|
|
106
|
+
panelName: "featured-image"
|
|
107
|
+
})), (0, _react.createElement)(_check2.default, null, (0, _react.createElement)(_enablePanel.default, {
|
|
108
|
+
label: (0, _i18n.__)('Excerpt'),
|
|
109
|
+
panelName: "post-excerpt"
|
|
110
|
+
})), (0, _react.createElement)(_postTypeSupportCheck.default, {
|
|
111
|
+
supportKeys: ['comments', 'trackbacks']
|
|
112
|
+
}, (0, _react.createElement)(_enablePanel.default, {
|
|
113
|
+
label: (0, _i18n.__)('Discussion'),
|
|
114
|
+
panelName: "discussion-panel"
|
|
115
|
+
})), (0, _react.createElement)(_check3.default, null, (0, _react.createElement)(_enablePanel.default, {
|
|
116
|
+
label: (0, _i18n.__)('Page attributes'),
|
|
117
|
+
panelName: "page-attributes"
|
|
118
|
+
}))), extraSections?.general)
|
|
119
|
+
}, {
|
|
120
|
+
name: 'appearance',
|
|
121
|
+
tabLabel: (0, _i18n.__)('Appearance'),
|
|
122
|
+
content: (0, _react.createElement)(PreferencesModalSection, {
|
|
123
|
+
title: (0, _i18n.__)('Appearance'),
|
|
124
|
+
description: (0, _i18n.__)('Customize the editor interface to suit your needs.')
|
|
125
|
+
}, (0, _react.createElement)(PreferenceToggleControl, {
|
|
126
|
+
scope: "core",
|
|
127
|
+
featureName: "fixedToolbar",
|
|
128
|
+
onToggle: turnOffDistractionFree,
|
|
129
|
+
help: (0, _i18n.__)('Access all block and document tools in a single place.'),
|
|
130
|
+
label: (0, _i18n.__)('Top toolbar')
|
|
131
|
+
}), (0, _react.createElement)(PreferenceToggleControl, {
|
|
132
|
+
scope: "core",
|
|
133
|
+
featureName: "distractionFree",
|
|
134
|
+
onToggle: toggleDistractionFree,
|
|
135
|
+
help: (0, _i18n.__)('Reduce visual distractions by hiding the toolbar and other elements to focus on writing.'),
|
|
136
|
+
label: (0, _i18n.__)('Distraction free')
|
|
137
|
+
}), (0, _react.createElement)(PreferenceToggleControl, {
|
|
138
|
+
scope: "core",
|
|
139
|
+
featureName: "focusMode",
|
|
140
|
+
help: (0, _i18n.__)('Highlights the current block and fades other content.'),
|
|
141
|
+
label: (0, _i18n.__)('Spotlight mode')
|
|
142
|
+
}), extraSections?.appearance)
|
|
143
|
+
}, {
|
|
144
|
+
name: 'accessibility',
|
|
145
|
+
tabLabel: (0, _i18n.__)('Accessibility'),
|
|
146
|
+
content: (0, _react.createElement)(_react.Fragment, null, (0, _react.createElement)(PreferencesModalSection, {
|
|
147
|
+
title: (0, _i18n.__)('Navigation'),
|
|
148
|
+
description: (0, _i18n.__)('Optimize the editing experience for enhanced control.')
|
|
149
|
+
}, (0, _react.createElement)(PreferenceToggleControl, {
|
|
150
|
+
scope: "core",
|
|
151
|
+
featureName: "keepCaretInsideBlock",
|
|
152
|
+
help: (0, _i18n.__)('Keeps the text cursor within the block boundaries, aiding users with screen readers by preventing unintentional cursor movement outside the block.'),
|
|
153
|
+
label: (0, _i18n.__)('Contain text cursor inside block')
|
|
154
|
+
})), (0, _react.createElement)(PreferencesModalSection, {
|
|
155
|
+
title: (0, _i18n.__)('Interface')
|
|
156
|
+
}, (0, _react.createElement)(PreferenceToggleControl, {
|
|
157
|
+
scope: "core",
|
|
158
|
+
featureName: "showIconLabels",
|
|
159
|
+
label: (0, _i18n.__)('Show button text labels'),
|
|
160
|
+
help: (0, _i18n.__)('Show text instead of icons on buttons across the interface.')
|
|
161
|
+
})))
|
|
162
|
+
}, {
|
|
163
|
+
name: 'blocks',
|
|
164
|
+
tabLabel: (0, _i18n.__)('Blocks'),
|
|
165
|
+
content: (0, _react.createElement)(_react.Fragment, null, (0, _react.createElement)(PreferencesModalSection, {
|
|
166
|
+
title: (0, _i18n.__)('Inserter')
|
|
167
|
+
}, (0, _react.createElement)(PreferenceToggleControl, {
|
|
168
|
+
scope: "core",
|
|
169
|
+
featureName: "mostUsedBlocks",
|
|
170
|
+
help: (0, _i18n.__)('Adds a category with the most frequently used blocks in the inserter.'),
|
|
171
|
+
label: (0, _i18n.__)('Show most used blocks')
|
|
172
|
+
})), (0, _react.createElement)(PreferencesModalSection, {
|
|
173
|
+
title: (0, _i18n.__)('Manage block visibility'),
|
|
174
|
+
description: (0, _i18n.__)("Disable blocks that you don't want to appear in the inserter. They can always be toggled back on later.")
|
|
175
|
+
}, (0, _react.createElement)(_blockManager.default, null)))
|
|
176
|
+
}], [isLargeViewport, showBlockBreadcrumbsOption, extraSections]);
|
|
177
|
+
if (!isActive) {
|
|
178
|
+
return null;
|
|
179
|
+
}
|
|
180
|
+
return (0, _react.createElement)(PreferencesModal, {
|
|
181
|
+
closeModal: onClose
|
|
182
|
+
}, (0, _react.createElement)(PreferencesModalTabs, {
|
|
183
|
+
sections: sections
|
|
184
|
+
}));
|
|
185
|
+
}
|
|
186
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_i18n","require","_compose","_data","_element","_preferences","_enablePanel","_interopRequireDefault","_enablePluginDocumentSettingPanel","_blockManager","_postTaxonomies","_check","_check2","_check3","_postTypeSupportCheck","_store","_lockUnlock","PreferencesModal","PreferencesModalTabs","PreferencesModalSection","PreferenceToggleControl","unlock","preferencesPrivateApis","EditorPreferencesModal","extraSections","isActive","onClose","isLargeViewport","useViewportMatch","showBlockBreadcrumbsOption","useSelect","select","getEditorSettings","editorStore","get","preferencesStore","isRichEditingEnabled","richEditingEnabled","isDistractionFreeEnabled","setIsListViewOpened","setIsInserterOpened","useDispatch","set","setPreference","toggleDistractionFree","turnOffDistractionFree","sections","useMemo","name","tabLabel","__","content","_react","createElement","Fragment","title","scope","featureName","help","label","description","default","Slot","taxonomyWrapper","taxonomy","labels","menu_name","panelName","slug","supportKeys","general","onToggle","appearance","closeModal"],"sources":["@wordpress/editor/src/components/preferences-modal/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\n\nimport { __ } from '@wordpress/i18n';\nimport { useViewportMatch } from '@wordpress/compose';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useMemo } from '@wordpress/element';\nimport {\n\tstore as preferencesStore,\n\tprivateApis as preferencesPrivateApis,\n} from '@wordpress/preferences';\n\n/**\n * Internal dependencies\n */\nimport EnablePanelOption from './enable-panel';\nimport EnablePluginDocumentSettingPanelOption from './enable-plugin-document-setting-panel';\nimport BlockManager from '../block-manager';\nimport PostTaxonomies from '../post-taxonomies';\nimport PostFeaturedImageCheck from '../post-featured-image/check';\nimport PostExcerptCheck from '../post-excerpt/check';\nimport PageAttributesCheck from '../page-attributes/check';\nimport PostTypeSupportCheck from '../post-type-support-check';\nimport { store as editorStore } from '../../store';\nimport { unlock } from '../../lock-unlock';\n\nconst {\n\tPreferencesModal,\n\tPreferencesModalTabs,\n\tPreferencesModalSection,\n\tPreferenceToggleControl,\n} = unlock( preferencesPrivateApis );\n\nexport default function EditorPreferencesModal( {\n\textraSections = {},\n\tisActive,\n\tonClose,\n} ) {\n\tconst isLargeViewport = useViewportMatch( 'medium' );\n\tconst { showBlockBreadcrumbsOption } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEditorSettings } = select( editorStore );\n\t\t\tconst { get } = select( preferencesStore );\n\t\t\tconst isRichEditingEnabled = getEditorSettings().richEditingEnabled;\n\t\t\tconst isDistractionFreeEnabled = get( 'core', 'distractionFree' );\n\t\t\treturn {\n\t\t\t\tshowBlockBreadcrumbsOption:\n\t\t\t\t\t! isDistractionFreeEnabled &&\n\t\t\t\t\tisLargeViewport &&\n\t\t\t\t\tisRichEditingEnabled,\n\t\t\t};\n\t\t},\n\t\t[ isLargeViewport ]\n\t);\n\n\tconst { setIsListViewOpened, setIsInserterOpened } =\n\t\tuseDispatch( editorStore );\n\tconst { set: setPreference } = useDispatch( preferencesStore );\n\n\tconst toggleDistractionFree = () => {\n\t\tsetPreference( 'core', 'fixedToolbar', true );\n\t\tsetIsInserterOpened( false );\n\t\tsetIsListViewOpened( false );\n\t\t// Todo: Check sidebar when closing/opening distraction free.\n\t};\n\n\tconst turnOffDistractionFree = () => {\n\t\tsetPreference( 'core', 'distractionFree', false );\n\t};\n\n\tconst sections = useMemo(\n\t\t() => [\n\t\t\t{\n\t\t\t\tname: 'general',\n\t\t\t\ttabLabel: __( 'General' ),\n\t\t\t\tcontent: (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<PreferencesModalSection title={ __( 'Interface' ) }>\n\t\t\t\t\t\t\t<PreferenceToggleControl\n\t\t\t\t\t\t\t\tscope=\"core\"\n\t\t\t\t\t\t\t\tfeatureName=\"showListViewByDefault\"\n\t\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t\t'Opens the block list view sidebar by default.'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\tlabel={ __( 'Always open list view' ) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t{ showBlockBreadcrumbsOption && (\n\t\t\t\t\t\t\t\t<PreferenceToggleControl\n\t\t\t\t\t\t\t\t\tscope=\"core\"\n\t\t\t\t\t\t\t\t\tfeatureName=\"showBlockBreadcrumbs\"\n\t\t\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t\t\t'Display the block hierarchy trail at the bottom of the editor.'\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Show block breadcrumbs' ) }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t<PreferenceToggleControl\n\t\t\t\t\t\t\t\tscope=\"core\"\n\t\t\t\t\t\t\t\tfeatureName=\"allowRightClickOverrides\"\n\t\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t\t'Allows contextual list view menus via right-click, overriding browser defaults.'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\tlabel={ __(\n\t\t\t\t\t\t\t\t\t'Allow right-click contextual menus'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</PreferencesModalSection>\n\t\t\t\t\t\t<PreferencesModalSection\n\t\t\t\t\t\t\ttitle={ __( 'Document settings' ) }\n\t\t\t\t\t\t\tdescription={ __(\n\t\t\t\t\t\t\t\t'Select what settings are shown in the document panel.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<EnablePluginDocumentSettingPanelOption.Slot />\n\t\t\t\t\t\t\t<PostTaxonomies\n\t\t\t\t\t\t\t\ttaxonomyWrapper={ ( content, taxonomy ) => (\n\t\t\t\t\t\t\t\t\t<EnablePanelOption\n\t\t\t\t\t\t\t\t\t\tlabel={ taxonomy.labels.menu_name }\n\t\t\t\t\t\t\t\t\t\tpanelName={ `taxonomy-panel-${ taxonomy.slug }` }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<PostFeaturedImageCheck>\n\t\t\t\t\t\t\t\t<EnablePanelOption\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Featured image' ) }\n\t\t\t\t\t\t\t\t\tpanelName=\"featured-image\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</PostFeaturedImageCheck>\n\t\t\t\t\t\t\t<PostExcerptCheck>\n\t\t\t\t\t\t\t\t<EnablePanelOption\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Excerpt' ) }\n\t\t\t\t\t\t\t\t\tpanelName=\"post-excerpt\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</PostExcerptCheck>\n\t\t\t\t\t\t\t<PostTypeSupportCheck\n\t\t\t\t\t\t\t\tsupportKeys={ [ 'comments', 'trackbacks' ] }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<EnablePanelOption\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Discussion' ) }\n\t\t\t\t\t\t\t\t\tpanelName=\"discussion-panel\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</PostTypeSupportCheck>\n\t\t\t\t\t\t\t<PageAttributesCheck>\n\t\t\t\t\t\t\t\t<EnablePanelOption\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Page attributes' ) }\n\t\t\t\t\t\t\t\t\tpanelName=\"page-attributes\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</PageAttributesCheck>\n\t\t\t\t\t\t</PreferencesModalSection>\n\t\t\t\t\t\t{ extraSections?.general }\n\t\t\t\t\t</>\n\t\t\t\t),\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'appearance',\n\t\t\t\ttabLabel: __( 'Appearance' ),\n\t\t\t\tcontent: (\n\t\t\t\t\t<PreferencesModalSection\n\t\t\t\t\t\ttitle={ __( 'Appearance' ) }\n\t\t\t\t\t\tdescription={ __(\n\t\t\t\t\t\t\t'Customize the editor interface to suit your needs.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t>\n\t\t\t\t\t\t<PreferenceToggleControl\n\t\t\t\t\t\t\tscope=\"core\"\n\t\t\t\t\t\t\tfeatureName=\"fixedToolbar\"\n\t\t\t\t\t\t\tonToggle={ turnOffDistractionFree }\n\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t'Access all block and document tools in a single place.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tlabel={ __( 'Top toolbar' ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<PreferenceToggleControl\n\t\t\t\t\t\t\tscope=\"core\"\n\t\t\t\t\t\t\tfeatureName=\"distractionFree\"\n\t\t\t\t\t\t\tonToggle={ toggleDistractionFree }\n\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t'Reduce visual distractions by hiding the toolbar and other elements to focus on writing.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tlabel={ __( 'Distraction free' ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<PreferenceToggleControl\n\t\t\t\t\t\t\tscope=\"core\"\n\t\t\t\t\t\t\tfeatureName=\"focusMode\"\n\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t'Highlights the current block and fades other content.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tlabel={ __( 'Spotlight mode' ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t{ extraSections?.appearance }\n\t\t\t\t\t</PreferencesModalSection>\n\t\t\t\t),\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'accessibility',\n\t\t\t\ttabLabel: __( 'Accessibility' ),\n\t\t\t\tcontent: (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<PreferencesModalSection\n\t\t\t\t\t\t\ttitle={ __( 'Navigation' ) }\n\t\t\t\t\t\t\tdescription={ __(\n\t\t\t\t\t\t\t\t'Optimize the editing experience for enhanced control.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<PreferenceToggleControl\n\t\t\t\t\t\t\t\tscope=\"core\"\n\t\t\t\t\t\t\t\tfeatureName=\"keepCaretInsideBlock\"\n\t\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t\t'Keeps the text cursor within the block boundaries, aiding users with screen readers by preventing unintentional cursor movement outside the block.'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\tlabel={ __(\n\t\t\t\t\t\t\t\t\t'Contain text cursor inside block'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</PreferencesModalSection>\n\t\t\t\t\t\t<PreferencesModalSection title={ __( 'Interface' ) }>\n\t\t\t\t\t\t\t<PreferenceToggleControl\n\t\t\t\t\t\t\t\tscope=\"core\"\n\t\t\t\t\t\t\t\tfeatureName=\"showIconLabels\"\n\t\t\t\t\t\t\t\tlabel={ __( 'Show button text labels' ) }\n\t\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t\t'Show text instead of icons on buttons across the interface.'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</PreferencesModalSection>\n\t\t\t\t\t</>\n\t\t\t\t),\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'blocks',\n\t\t\t\ttabLabel: __( 'Blocks' ),\n\t\t\t\tcontent: (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<PreferencesModalSection title={ __( 'Inserter' ) }>\n\t\t\t\t\t\t\t<PreferenceToggleControl\n\t\t\t\t\t\t\t\tscope=\"core\"\n\t\t\t\t\t\t\t\tfeatureName=\"mostUsedBlocks\"\n\t\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t\t'Adds a category with the most frequently used blocks in the inserter.'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\tlabel={ __( 'Show most used blocks' ) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</PreferencesModalSection>\n\t\t\t\t\t\t<PreferencesModalSection\n\t\t\t\t\t\t\ttitle={ __( 'Manage block visibility' ) }\n\t\t\t\t\t\t\tdescription={ __(\n\t\t\t\t\t\t\t\t\"Disable blocks that you don't want to appear in the inserter. They can always be toggled back on later.\"\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<BlockManager />\n\t\t\t\t\t\t</PreferencesModalSection>\n\t\t\t\t\t</>\n\t\t\t\t),\n\t\t\t},\n\t\t],\n\t\t[ isLargeViewport, showBlockBreadcrumbsOption, extraSections ]\n\t);\n\n\tif ( ! isActive ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<PreferencesModal closeModal={ onClose }>\n\t\t\t<PreferencesModalTabs sections={ sections } />\n\t\t</PreferencesModal>\n\t);\n}\n"],"mappings":"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"}
|
|
@@ -48,10 +48,7 @@ function DisableBlock({
|
|
|
48
48
|
function DisableNonPageContentBlocks() {
|
|
49
49
|
(0, _blockEditor.useBlockEditingMode)('disabled');
|
|
50
50
|
const clientIds = (0, _data.useSelect)(select => {
|
|
51
|
-
|
|
52
|
-
__experimentalGetGlobalBlocksByName
|
|
53
|
-
} = select(_blockEditor.store);
|
|
54
|
-
return __experimentalGetGlobalBlocksByName(_constants.PAGE_CONTENT_BLOCK_TYPES);
|
|
51
|
+
return select(_blockEditor.store).getBlocksByName(_constants.PAGE_CONTENT_BLOCK_TYPES);
|
|
55
52
|
}, []);
|
|
56
53
|
return clientIds.map(clientId => {
|
|
57
54
|
return (0, _react.createElement)(DisableBlock, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_data","require","_blockEditor","_element","_constants","DisableBlock","clientId","isDescendentOfQueryLoop","useSelect","select","getBlockParentsByBlockName","blockEditorStore","length","mode","undefined","setBlockEditingMode","unsetBlockEditingMode","useDispatch","useEffect","DisableNonPageContentBlocks","useBlockEditingMode","clientIds","
|
|
1
|
+
{"version":3,"names":["_data","require","_blockEditor","_element","_constants","DisableBlock","clientId","isDescendentOfQueryLoop","useSelect","select","getBlockParentsByBlockName","blockEditorStore","length","mode","undefined","setBlockEditingMode","unsetBlockEditingMode","useDispatch","useEffect","DisableNonPageContentBlocks","useBlockEditingMode","clientIds","getBlocksByName","PAGE_CONTENT_BLOCK_TYPES","map","_react","createElement","key"],"sources":["@wordpress/editor/src/components/provider/disable-non-page-content-blocks.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tuseBlockEditingMode,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { useEffect } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { PAGE_CONTENT_BLOCK_TYPES } from './constants';\n\nfunction DisableBlock( { clientId } ) {\n\tconst isDescendentOfQueryLoop = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlockParentsByBlockName } = select( blockEditorStore );\n\t\t\treturn (\n\t\t\t\tgetBlockParentsByBlockName( clientId, 'core/query' ).length !==\n\t\t\t\t0\n\t\t\t);\n\t\t},\n\t\t[ clientId ]\n\t);\n\tconst mode = isDescendentOfQueryLoop ? undefined : 'contentOnly';\n\tconst { setBlockEditingMode, unsetBlockEditingMode } =\n\t\tuseDispatch( blockEditorStore );\n\tuseEffect( () => {\n\t\tif ( mode ) {\n\t\t\tsetBlockEditingMode( clientId, mode );\n\t\t\treturn () => {\n\t\t\t\tunsetBlockEditingMode( clientId );\n\t\t\t};\n\t\t}\n\t}, [ clientId, mode, setBlockEditingMode, unsetBlockEditingMode ] );\n}\n\n/**\n * Component that when rendered, makes it so that the site editor allows only\n * page content to be edited.\n */\nexport default function DisableNonPageContentBlocks() {\n\tuseBlockEditingMode( 'disabled' );\n\tconst clientIds = useSelect( ( select ) => {\n\t\treturn select( blockEditorStore ).getBlocksByName(\n\t\t\tPAGE_CONTENT_BLOCK_TYPES\n\t\t);\n\t}, [] );\n\n\treturn clientIds.map( ( clientId ) => {\n\t\treturn <DisableBlock key={ clientId } clientId={ clientId } />;\n\t} );\n}\n"],"mappings":";;;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAIA,IAAAE,QAAA,GAAAF,OAAA;AAKA,IAAAG,UAAA,GAAAH,OAAA;AAbA;AACA;AACA;;AAQA;AACA;AACA;;AAGA,SAASI,YAAYA,CAAE;EAAEC;AAAS,CAAC,EAAG;EACrC,MAAMC,uBAAuB,GAAG,IAAAC,eAAS,EACtCC,MAAM,IAAM;IACb,MAAM;MAAEC;IAA2B,CAAC,GAAGD,MAAM,CAAEE,kBAAiB,CAAC;IACjE,OACCD,0BAA0B,CAAEJ,QAAQ,EAAE,YAAa,CAAC,CAACM,MAAM,KAC3D,CAAC;EAEH,CAAC,EACD,CAAEN,QAAQ,CACX,CAAC;EACD,MAAMO,IAAI,GAAGN,uBAAuB,GAAGO,SAAS,GAAG,aAAa;EAChE,MAAM;IAAEC,mBAAmB;IAAEC;EAAsB,CAAC,GACnD,IAAAC,iBAAW,EAAEN,kBAAiB,CAAC;EAChC,IAAAO,kBAAS,EAAE,MAAM;IAChB,IAAKL,IAAI,EAAG;MACXE,mBAAmB,CAAET,QAAQ,EAAEO,IAAK,CAAC;MACrC,OAAO,MAAM;QACZG,qBAAqB,CAAEV,QAAS,CAAC;MAClC,CAAC;IACF;EACD,CAAC,EAAE,CAAEA,QAAQ,EAAEO,IAAI,EAAEE,mBAAmB,EAAEC,qBAAqB,CAAG,CAAC;AACpE;;AAEA;AACA;AACA;AACA;AACe,SAASG,2BAA2BA,CAAA,EAAG;EACrD,IAAAC,gCAAmB,EAAE,UAAW,CAAC;EACjC,MAAMC,SAAS,GAAG,IAAAb,eAAS,EAAIC,MAAM,IAAM;IAC1C,OAAOA,MAAM,CAAEE,kBAAiB,CAAC,CAACW,eAAe,CAChDC,mCACD,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;EAEP,OAAOF,SAAS,CAACG,GAAG,CAAIlB,QAAQ,IAAM;IACrC,OAAO,IAAAmB,MAAA,CAAAC,aAAA,EAACrB,YAAY;MAACsB,GAAG,EAAGrB,QAAU;MAACA,QAAQ,EAAGA;IAAU,CAAE,CAAC;EAC/D,CAAE,CAAC;AACJ"}
|
|
@@ -11,6 +11,7 @@ var _coreData = require("@wordpress/core-data");
|
|
|
11
11
|
var _i18n = require("@wordpress/i18n");
|
|
12
12
|
var _preferences = require("@wordpress/preferences");
|
|
13
13
|
var _compose = require("@wordpress/compose");
|
|
14
|
+
var _blocks = require("@wordpress/blocks");
|
|
14
15
|
var _mediaCategories = _interopRequireDefault(require("../media-categories"));
|
|
15
16
|
var _utils = require("../../utils");
|
|
16
17
|
var _store = require("../../store");
|
|
@@ -23,7 +24,7 @@ var _store = require("../../store");
|
|
|
23
24
|
*/
|
|
24
25
|
|
|
25
26
|
const EMPTY_BLOCKS_LIST = [];
|
|
26
|
-
const BLOCK_EDITOR_SETTINGS = ['__experimentalBlockDirectory', '__experimentalDiscussionSettings', '__experimentalFeatures', '__experimentalGlobalStylesBaseStyles', '__experimentalPreferredStyleVariations', '__unstableGalleryWithImageBlocks', 'alignWide', '
|
|
27
|
+
const BLOCK_EDITOR_SETTINGS = ['__experimentalBlockDirectory', '__experimentalDiscussionSettings', '__experimentalFeatures', '__experimentalGlobalStylesBaseStyles', '__experimentalPreferredStyleVariations', '__unstableGalleryWithImageBlocks', 'alignWide', 'blockInspectorTabs', 'allowedMimeTypes', 'bodyPlaceholder', 'canLockBlocks', 'capabilities', 'clearBlockSelection', 'codeEditingEnabled', 'colors', 'disableCustomColors', 'disableCustomFontSizes', 'disableCustomSpacingSizes', 'disableCustomGradients', 'disableLayoutStyles', 'enableCustomLineHeight', 'enableCustomSpacing', 'enableCustomUnits', 'enableOpenverseMediaCategory', 'fontSizes', 'gradients', 'generateAnchors', 'getPostLinkProps', 'hasInlineToolbar', 'imageDefaultSize', 'imageDimensions', 'imageEditing', 'imageSizes', 'isRTL', 'locale', 'maxWidth', 'onUpdateDefaultBlockStyles', 'postContentAttributes', 'postsPerPage', 'readOnly', 'styles', 'titlePlaceholder', 'supportsLayout', 'widgetTypesToHideFromLegacyWidgetBlock', '__unstableHasCustomAppender', '__unstableIsPreviewMode', '__unstableResolvedAssets', '__unstableIsBlockBasedTheme', '__experimentalArchiveTitleTypeLabel', '__experimentalArchiveTitleNameLabel'];
|
|
27
28
|
|
|
28
29
|
/**
|
|
29
30
|
* React hook used to compute the block editor settings to use for the post editor.
|
|
@@ -39,18 +40,19 @@ function useBlockEditorSettings(settings, postType, postId) {
|
|
|
39
40
|
const isLargeViewport = (0, _compose.useViewportMatch)('medium');
|
|
40
41
|
const {
|
|
41
42
|
allowRightClickOverrides,
|
|
43
|
+
blockTypes,
|
|
42
44
|
focusMode,
|
|
43
45
|
hasFixedToolbar,
|
|
44
46
|
isDistractionFree,
|
|
45
47
|
keepCaretInsideBlock,
|
|
46
48
|
reusableBlocks,
|
|
47
49
|
hasUploadPermissions,
|
|
50
|
+
hiddenBlockTypes,
|
|
48
51
|
canUseUnfilteredHTML,
|
|
49
52
|
userCanCreatePages,
|
|
50
53
|
pageOnFront,
|
|
51
54
|
pageForPosts,
|
|
52
55
|
userPatternCategories,
|
|
53
|
-
restBlockPatterns,
|
|
54
56
|
restBlockPatternCategories
|
|
55
57
|
} = (0, _data.useSelect)(select => {
|
|
56
58
|
var _canUser;
|
|
@@ -61,18 +63,22 @@ function useBlockEditorSettings(settings, postType, postId) {
|
|
|
61
63
|
getEntityRecord,
|
|
62
64
|
getUserPatternCategories,
|
|
63
65
|
getEntityRecords,
|
|
64
|
-
getBlockPatterns,
|
|
65
66
|
getBlockPatternCategories
|
|
66
67
|
} = select(_coreData.store);
|
|
67
68
|
const {
|
|
68
69
|
get
|
|
69
70
|
} = select(_preferences.store);
|
|
71
|
+
const {
|
|
72
|
+
getBlockTypes
|
|
73
|
+
} = select(_blocks.store);
|
|
70
74
|
const siteSettings = canUser('read', 'settings') ? getEntityRecord('root', 'site') : undefined;
|
|
71
75
|
return {
|
|
72
76
|
allowRightClickOverrides: get('core', 'allowRightClickOverrides'),
|
|
77
|
+
blockTypes: getBlockTypes(),
|
|
73
78
|
canUseUnfilteredHTML: getRawEntityRecord('postType', postType, postId)?._links?.hasOwnProperty('wp:action-unfiltered-html'),
|
|
74
79
|
focusMode: get('core', 'focusMode'),
|
|
75
80
|
hasFixedToolbar: get('core', 'fixedToolbar') || !isLargeViewport,
|
|
81
|
+
hiddenBlockTypes: get('core', 'hiddenBlockTypes'),
|
|
76
82
|
isDistractionFree: get('core', 'distractionFree'),
|
|
77
83
|
keepCaretInsideBlock: get('core', 'keepCaretInsideBlock'),
|
|
78
84
|
reusableBlocks: isWeb ? getEntityRecords('postType', 'wp_block', {
|
|
@@ -84,7 +90,6 @@ function useBlockEditorSettings(settings, postType, postId) {
|
|
|
84
90
|
pageOnFront: siteSettings?.page_on_front,
|
|
85
91
|
pageForPosts: siteSettings?.page_for_posts,
|
|
86
92
|
userPatternCategories: getUserPatternCategories(),
|
|
87
|
-
restBlockPatterns: getBlockPatterns(),
|
|
88
93
|
restBlockPatternCategories: getBlockPatternCategories()
|
|
89
94
|
};
|
|
90
95
|
}, [postType, postId, isLargeViewport]);
|
|
@@ -95,11 +100,11 @@ function useBlockEditorSettings(settings, postType, postId) {
|
|
|
95
100
|
// WP 6.0
|
|
96
101
|
settings.__experimentalBlockPatternCategories; // WP 5.9
|
|
97
102
|
|
|
98
|
-
const blockPatterns = (0, _element.useMemo)(() => [...(settingsBlockPatterns || [])
|
|
103
|
+
const blockPatterns = (0, _element.useMemo)(() => [...(settingsBlockPatterns || [])].filter(({
|
|
99
104
|
postTypes
|
|
100
105
|
}) => {
|
|
101
106
|
return !postTypes || Array.isArray(postTypes) && postTypes.includes(postType);
|
|
102
|
-
}), [settingsBlockPatterns,
|
|
107
|
+
}), [settingsBlockPatterns, postType]);
|
|
103
108
|
const blockPatternCategories = (0, _element.useMemo)(() => [...(settingsBlockPatternCategories || []), ...(restBlockPatternCategories || [])].filter((x, index, arr) => index === arr.findIndex(y => x.name === y.name)), [settingsBlockPatternCategories, restBlockPatternCategories]);
|
|
104
109
|
const {
|
|
105
110
|
undo,
|
|
@@ -124,17 +129,38 @@ function useBlockEditorSettings(settings, postType, postId) {
|
|
|
124
129
|
}
|
|
125
130
|
return saveEntityRecord('postType', 'page', options);
|
|
126
131
|
}, [saveEntityRecord, userCanCreatePages]);
|
|
132
|
+
const allowedBlockTypes = (0, _element.useMemo)(() => {
|
|
133
|
+
// Omit hidden block types if exists and non-empty.
|
|
134
|
+
if (hiddenBlockTypes && hiddenBlockTypes.length > 0) {
|
|
135
|
+
// Defer to passed setting for `allowedBlockTypes` if provided as
|
|
136
|
+
// anything other than `true` (where `true` is equivalent to allow
|
|
137
|
+
// all block types).
|
|
138
|
+
const defaultAllowedBlockTypes = true === settings.allowedBlockTypes ? blockTypes.map(({
|
|
139
|
+
name
|
|
140
|
+
}) => name) : settings.allowedBlockTypes || [];
|
|
141
|
+
return defaultAllowedBlockTypes.filter(type => !hiddenBlockTypes.includes(type));
|
|
142
|
+
}
|
|
143
|
+
return settings.allowedBlockTypes;
|
|
144
|
+
}, [settings.allowedBlockTypes, hiddenBlockTypes, blockTypes]);
|
|
127
145
|
const forceDisableFocusMode = settings.focusMode === false;
|
|
128
146
|
return (0, _element.useMemo)(() => ({
|
|
129
147
|
...Object.fromEntries(Object.entries(settings).filter(([key]) => BLOCK_EDITOR_SETTINGS.includes(key))),
|
|
148
|
+
allowedBlockTypes,
|
|
130
149
|
allowRightClickOverrides,
|
|
131
150
|
focusMode: focusMode && !forceDisableFocusMode,
|
|
132
151
|
hasFixedToolbar,
|
|
133
152
|
isDistractionFree,
|
|
134
153
|
keepCaretInsideBlock,
|
|
135
154
|
mediaUpload: hasUploadPermissions ? _utils.mediaUpload : undefined,
|
|
136
|
-
__experimentalReusableBlocks: reusableBlocks,
|
|
137
155
|
__experimentalBlockPatterns: blockPatterns,
|
|
156
|
+
__experimentalFetchBlockPatterns: async () => {
|
|
157
|
+
return (await (0, _coreData.fetchBlockPatterns)()).filter(({
|
|
158
|
+
postTypes
|
|
159
|
+
}) => {
|
|
160
|
+
return !postTypes || Array.isArray(postTypes) && postTypes.includes(postType);
|
|
161
|
+
});
|
|
162
|
+
},
|
|
163
|
+
__experimentalReusableBlocks: reusableBlocks,
|
|
138
164
|
__experimentalBlockPatternCategories: blockPatternCategories,
|
|
139
165
|
__experimentalUserPatternCategories: userPatternCategories,
|
|
140
166
|
__experimentalFetchLinkSuggestions: (search, searchOptions) => (0, _coreData.__experimentalFetchLinkSuggestions)(search, searchOptions, settings),
|
|
@@ -157,7 +183,7 @@ function useBlockEditorSettings(settings, postType, postId) {
|
|
|
157
183
|
templateLock: postType === 'wp_navigation' ? 'insert' : settings.templateLock,
|
|
158
184
|
template: postType === 'wp_navigation' ? [['core/navigation', {}, []]] : settings.template,
|
|
159
185
|
__experimentalSetIsInserterOpened: setIsInserterOpened
|
|
160
|
-
}), [allowRightClickOverrides, focusMode, forceDisableFocusMode, hasFixedToolbar, isDistractionFree, keepCaretInsideBlock, settings, hasUploadPermissions, reusableBlocks, userPatternCategories, blockPatterns, blockPatternCategories, canUseUnfilteredHTML, undo, createPageEntity, userCanCreatePages, pageOnFront, pageForPosts, postType, setIsInserterOpened]);
|
|
186
|
+
}), [allowedBlockTypes, allowRightClickOverrides, focusMode, forceDisableFocusMode, hasFixedToolbar, isDistractionFree, keepCaretInsideBlock, settings, hasUploadPermissions, reusableBlocks, userPatternCategories, blockPatterns, blockPatternCategories, canUseUnfilteredHTML, undo, createPageEntity, userCanCreatePages, pageOnFront, pageForPosts, postType, setIsInserterOpened]);
|
|
161
187
|
}
|
|
162
188
|
var _default = useBlockEditorSettings;
|
|
163
189
|
exports.default = _default;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_element","require","_data","_coreData","_i18n","_preferences","_compose","_mediaCategories","_interopRequireDefault","_utils","_store","EMPTY_BLOCKS_LIST","BLOCK_EDITOR_SETTINGS","useBlockEditorSettings","settings","postType","postId","_settings$__experimen","_settings$__experimen2","isLargeViewport","useViewportMatch","allowRightClickOverrides","focusMode","hasFixedToolbar","isDistractionFree","keepCaretInsideBlock","reusableBlocks","hasUploadPermissions","canUseUnfilteredHTML","userCanCreatePages","pageOnFront","pageForPosts","userPatternCategories","restBlockPatterns","restBlockPatternCategories","useSelect","select","_canUser","isWeb","Platform","OS","canUser","getRawEntityRecord","getEntityRecord","getUserPatternCategories","getEntityRecords","getBlockPatterns","getBlockPatternCategories","coreStore","get","preferencesStore","siteSettings","undefined","_links","hasOwnProperty","per_page","page_on_front","page_for_posts","settingsBlockPatterns","__experimentalAdditionalBlockPatterns","__experimentalBlockPatterns","settingsBlockPatternCategories","__experimentalAdditionalBlockPatternCategories","__experimentalBlockPatternCategories","blockPatterns","useMemo","filter","x","index","arr","findIndex","y","name","postTypes","Array","isArray","includes","blockPatternCategories","undo","setIsInserterOpened","useDispatch","editorStore","saveEntityRecord","createPageEntity","useCallback","options","Promise","reject","message","__","forceDisableFocusMode","Object","fromEntries","entries","key","mediaUpload","__experimentalReusableBlocks","__experimentalUserPatternCategories","__experimentalFetchLinkSuggestions","search","searchOptions","fetchLinkSuggestions","inserterMediaCategories","__experimentalFetchRichUrlData","fetchUrlData","__experimentalCanUserUseUnfilteredHTML","__experimentalUndo","outlineMode","__experimentalCreatePageEntity","__experimentalUserCanCreatePages","__experimentalPreferPatternsOnRoot","templateLock","template","__experimentalSetIsInserterOpened","_default","exports","default"],"sources":["@wordpress/editor/src/components/provider/use-block-editor-settings.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { Platform, useMemo, useCallback } from '@wordpress/element';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport {\n\tstore as coreStore,\n\t__experimentalFetchLinkSuggestions as fetchLinkSuggestions,\n\t__experimentalFetchUrlData as fetchUrlData,\n} from '@wordpress/core-data';\nimport { __ } from '@wordpress/i18n';\nimport { store as preferencesStore } from '@wordpress/preferences';\nimport { useViewportMatch } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport inserterMediaCategories from '../media-categories';\nimport { mediaUpload } from '../../utils';\nimport { store as editorStore } from '../../store';\n\nconst EMPTY_BLOCKS_LIST = [];\n\nconst BLOCK_EDITOR_SETTINGS = [\n\t'__experimentalBlockDirectory',\n\t'__experimentalDiscussionSettings',\n\t'__experimentalFeatures',\n\t'__experimentalGlobalStylesBaseStyles',\n\t'__experimentalPreferredStyleVariations',\n\t'__unstableGalleryWithImageBlocks',\n\t'alignWide',\n\t'allowedBlockTypes',\n\t'blockInspectorTabs',\n\t'allowedMimeTypes',\n\t'bodyPlaceholder',\n\t'canLockBlocks',\n\t'capabilities',\n\t'clearBlockSelection',\n\t'codeEditingEnabled',\n\t'colors',\n\t'disableCustomColors',\n\t'disableCustomFontSizes',\n\t'disableCustomSpacingSizes',\n\t'disableCustomGradients',\n\t'disableLayoutStyles',\n\t'enableCustomLineHeight',\n\t'enableCustomSpacing',\n\t'enableCustomUnits',\n\t'enableOpenverseMediaCategory',\n\t'fontSizes',\n\t'gradients',\n\t'generateAnchors',\n\t'getPostLinkProps',\n\t'hasInlineToolbar',\n\t'imageDefaultSize',\n\t'imageDimensions',\n\t'imageEditing',\n\t'imageSizes',\n\t'isRTL',\n\t'locale',\n\t'maxWidth',\n\t'onUpdateDefaultBlockStyles',\n\t'postContentAttributes',\n\t'postsPerPage',\n\t'readOnly',\n\t'styles',\n\t'titlePlaceholder',\n\t'supportsLayout',\n\t'widgetTypesToHideFromLegacyWidgetBlock',\n\t'__unstableHasCustomAppender',\n\t'__unstableIsPreviewMode',\n\t'__unstableResolvedAssets',\n\t'__unstableIsBlockBasedTheme',\n\t'__experimentalArchiveTitleTypeLabel',\n\t'__experimentalArchiveTitleNameLabel',\n];\n\n/**\n * React hook used to compute the block editor settings to use for the post editor.\n *\n * @param {Object} settings EditorProvider settings prop.\n * @param {string} postType Editor root level post type.\n * @param {string} postId Editor root level post ID.\n *\n * @return {Object} Block Editor Settings.\n */\nfunction useBlockEditorSettings( settings, postType, postId ) {\n\tconst isLargeViewport = useViewportMatch( 'medium' );\n\tconst {\n\t\tallowRightClickOverrides,\n\t\tfocusMode,\n\t\thasFixedToolbar,\n\t\tisDistractionFree,\n\t\tkeepCaretInsideBlock,\n\t\treusableBlocks,\n\t\thasUploadPermissions,\n\t\tcanUseUnfilteredHTML,\n\t\tuserCanCreatePages,\n\t\tpageOnFront,\n\t\tpageForPosts,\n\t\tuserPatternCategories,\n\t\trestBlockPatterns,\n\t\trestBlockPatternCategories,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst isWeb = Platform.OS === 'web';\n\t\t\tconst {\n\t\t\t\tcanUser,\n\t\t\t\tgetRawEntityRecord,\n\t\t\t\tgetEntityRecord,\n\t\t\t\tgetUserPatternCategories,\n\t\t\t\tgetEntityRecords,\n\t\t\t\tgetBlockPatterns,\n\t\t\t\tgetBlockPatternCategories,\n\t\t\t} = select( coreStore );\n\t\t\tconst { get } = select( preferencesStore );\n\n\t\t\tconst siteSettings = canUser( 'read', 'settings' )\n\t\t\t\t? getEntityRecord( 'root', 'site' )\n\t\t\t\t: undefined;\n\n\t\t\treturn {\n\t\t\t\tallowRightClickOverrides: get(\n\t\t\t\t\t'core',\n\t\t\t\t\t'allowRightClickOverrides'\n\t\t\t\t),\n\t\t\t\tcanUseUnfilteredHTML: getRawEntityRecord(\n\t\t\t\t\t'postType',\n\t\t\t\t\tpostType,\n\t\t\t\t\tpostId\n\t\t\t\t)?._links?.hasOwnProperty( 'wp:action-unfiltered-html' ),\n\t\t\t\tfocusMode: get( 'core', 'focusMode' ),\n\t\t\t\thasFixedToolbar:\n\t\t\t\t\tget( 'core', 'fixedToolbar' ) || ! isLargeViewport,\n\t\t\t\tisDistractionFree: get( 'core', 'distractionFree' ),\n\t\t\t\tkeepCaretInsideBlock: get( 'core', 'keepCaretInsideBlock' ),\n\t\t\t\treusableBlocks: isWeb\n\t\t\t\t\t? getEntityRecords( 'postType', 'wp_block', {\n\t\t\t\t\t\t\tper_page: -1,\n\t\t\t\t\t } )\n\t\t\t\t\t: EMPTY_BLOCKS_LIST, // Reusable blocks are fetched in the native version of this hook.\n\t\t\t\thasUploadPermissions: canUser( 'create', 'media' ) ?? true,\n\t\t\t\tuserCanCreatePages: canUser( 'create', 'pages' ),\n\t\t\t\tpageOnFront: siteSettings?.page_on_front,\n\t\t\t\tpageForPosts: siteSettings?.page_for_posts,\n\t\t\t\tuserPatternCategories: getUserPatternCategories(),\n\t\t\t\trestBlockPatterns: getBlockPatterns(),\n\t\t\t\trestBlockPatternCategories: getBlockPatternCategories(),\n\t\t\t};\n\t\t},\n\t\t[ postType, postId, isLargeViewport ]\n\t);\n\n\tconst settingsBlockPatterns =\n\t\tsettings.__experimentalAdditionalBlockPatterns ?? // WP 6.0\n\t\tsettings.__experimentalBlockPatterns; // WP 5.9\n\tconst settingsBlockPatternCategories =\n\t\tsettings.__experimentalAdditionalBlockPatternCategories ?? // WP 6.0\n\t\tsettings.__experimentalBlockPatternCategories; // WP 5.9\n\n\tconst blockPatterns = useMemo(\n\t\t() =>\n\t\t\t[\n\t\t\t\t...( settingsBlockPatterns || [] ),\n\t\t\t\t...( restBlockPatterns || [] ),\n\t\t\t]\n\t\t\t\t.filter(\n\t\t\t\t\t( x, index, arr ) =>\n\t\t\t\t\t\tindex === arr.findIndex( ( y ) => x.name === y.name )\n\t\t\t\t)\n\t\t\t\t.filter( ( { postTypes } ) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t! postTypes ||\n\t\t\t\t\t\t( Array.isArray( postTypes ) &&\n\t\t\t\t\t\t\tpostTypes.includes( postType ) )\n\t\t\t\t\t);\n\t\t\t\t} ),\n\t\t[ settingsBlockPatterns, restBlockPatterns, postType ]\n\t);\n\n\tconst blockPatternCategories = useMemo(\n\t\t() =>\n\t\t\t[\n\t\t\t\t...( settingsBlockPatternCategories || [] ),\n\t\t\t\t...( restBlockPatternCategories || [] ),\n\t\t\t].filter(\n\t\t\t\t( x, index, arr ) =>\n\t\t\t\t\tindex === arr.findIndex( ( y ) => x.name === y.name )\n\t\t\t),\n\t\t[ settingsBlockPatternCategories, restBlockPatternCategories ]\n\t);\n\n\tconst { undo, setIsInserterOpened } = useDispatch( editorStore );\n\n\tconst { saveEntityRecord } = useDispatch( coreStore );\n\n\t/**\n\t * Creates a Post entity.\n\t * This is utilised by the Link UI to allow for on-the-fly creation of Posts/Pages.\n\t *\n\t * @param {Object} options parameters for the post being created. These mirror those used on 3rd param of saveEntityRecord.\n\t * @return {Object} the post type object that was created.\n\t */\n\tconst createPageEntity = useCallback(\n\t\t( options ) => {\n\t\t\tif ( ! userCanCreatePages ) {\n\t\t\t\treturn Promise.reject( {\n\t\t\t\t\tmessage: __(\n\t\t\t\t\t\t'You do not have permission to create Pages.'\n\t\t\t\t\t),\n\t\t\t\t} );\n\t\t\t}\n\t\t\treturn saveEntityRecord( 'postType', 'page', options );\n\t\t},\n\t\t[ saveEntityRecord, userCanCreatePages ]\n\t);\n\n\tconst forceDisableFocusMode = settings.focusMode === false;\n\n\treturn useMemo(\n\t\t() => ( {\n\t\t\t...Object.fromEntries(\n\t\t\t\tObject.entries( settings ).filter( ( [ key ] ) =>\n\t\t\t\t\tBLOCK_EDITOR_SETTINGS.includes( key )\n\t\t\t\t)\n\t\t\t),\n\t\t\tallowRightClickOverrides,\n\t\t\tfocusMode: focusMode && ! forceDisableFocusMode,\n\t\t\thasFixedToolbar,\n\t\t\tisDistractionFree,\n\t\t\tkeepCaretInsideBlock,\n\t\t\tmediaUpload: hasUploadPermissions ? mediaUpload : undefined,\n\t\t\t__experimentalReusableBlocks: reusableBlocks,\n\t\t\t__experimentalBlockPatterns: blockPatterns,\n\t\t\t__experimentalBlockPatternCategories: blockPatternCategories,\n\t\t\t__experimentalUserPatternCategories: userPatternCategories,\n\t\t\t__experimentalFetchLinkSuggestions: ( search, searchOptions ) =>\n\t\t\t\tfetchLinkSuggestions( search, searchOptions, settings ),\n\t\t\tinserterMediaCategories,\n\t\t\t__experimentalFetchRichUrlData: fetchUrlData,\n\t\t\t// Todo: This only checks the top level post, not the post within a template or any other entity that can be edited.\n\t\t\t// This might be better as a generic \"canUser\" selector.\n\t\t\t__experimentalCanUserUseUnfilteredHTML: canUseUnfilteredHTML,\n\t\t\t//Todo: this is only needed for native and should probably be removed.\n\t\t\t__experimentalUndo: undo,\n\t\t\t// Check whether we want all site editor frames to have outlines\n\t\t\t// including the navigation / pattern / parts editors.\n\t\t\toutlineMode: postType === 'wp_template',\n\t\t\t// Check these two properties: they were not present in the site editor.\n\t\t\t__experimentalCreatePageEntity: createPageEntity,\n\t\t\t__experimentalUserCanCreatePages: userCanCreatePages,\n\t\t\tpageOnFront,\n\t\t\tpageForPosts,\n\t\t\t__experimentalPreferPatternsOnRoot: postType === 'wp_template',\n\t\t\ttemplateLock:\n\t\t\t\tpostType === 'wp_navigation' ? 'insert' : settings.templateLock,\n\t\t\ttemplate:\n\t\t\t\tpostType === 'wp_navigation'\n\t\t\t\t\t? [ [ 'core/navigation', {}, [] ] ]\n\t\t\t\t\t: settings.template,\n\t\t\t__experimentalSetIsInserterOpened: setIsInserterOpened,\n\t\t} ),\n\t\t[\n\t\t\tallowRightClickOverrides,\n\t\t\tfocusMode,\n\t\t\tforceDisableFocusMode,\n\t\t\thasFixedToolbar,\n\t\t\tisDistractionFree,\n\t\t\tkeepCaretInsideBlock,\n\t\t\tsettings,\n\t\t\thasUploadPermissions,\n\t\t\treusableBlocks,\n\t\t\tuserPatternCategories,\n\t\t\tblockPatterns,\n\t\t\tblockPatternCategories,\n\t\t\tcanUseUnfilteredHTML,\n\t\t\tundo,\n\t\t\tcreatePageEntity,\n\t\t\tuserCanCreatePages,\n\t\t\tpageOnFront,\n\t\t\tpageForPosts,\n\t\t\tpostType,\n\t\t\tsetIsInserterOpened,\n\t\t]\n\t);\n}\n\nexport default useBlockEditorSettings;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_element","require","_data","_coreData","_i18n","_preferences","_compose","_blocks","_mediaCategories","_interopRequireDefault","_utils","_store","EMPTY_BLOCKS_LIST","BLOCK_EDITOR_SETTINGS","useBlockEditorSettings","settings","postType","postId","_settings$__experimen","_settings$__experimen2","isLargeViewport","useViewportMatch","allowRightClickOverrides","blockTypes","focusMode","hasFixedToolbar","isDistractionFree","keepCaretInsideBlock","reusableBlocks","hasUploadPermissions","hiddenBlockTypes","canUseUnfilteredHTML","userCanCreatePages","pageOnFront","pageForPosts","userPatternCategories","restBlockPatternCategories","useSelect","select","_canUser","isWeb","Platform","OS","canUser","getRawEntityRecord","getEntityRecord","getUserPatternCategories","getEntityRecords","getBlockPatternCategories","coreStore","get","preferencesStore","getBlockTypes","blocksStore","siteSettings","undefined","_links","hasOwnProperty","per_page","page_on_front","page_for_posts","settingsBlockPatterns","__experimentalAdditionalBlockPatterns","__experimentalBlockPatterns","settingsBlockPatternCategories","__experimentalAdditionalBlockPatternCategories","__experimentalBlockPatternCategories","blockPatterns","useMemo","filter","postTypes","Array","isArray","includes","blockPatternCategories","x","index","arr","findIndex","y","name","undo","setIsInserterOpened","useDispatch","editorStore","saveEntityRecord","createPageEntity","useCallback","options","Promise","reject","message","__","allowedBlockTypes","length","defaultAllowedBlockTypes","map","type","forceDisableFocusMode","Object","fromEntries","entries","key","mediaUpload","__experimentalFetchBlockPatterns","fetchBlockPatterns","__experimentalReusableBlocks","__experimentalUserPatternCategories","__experimentalFetchLinkSuggestions","search","searchOptions","fetchLinkSuggestions","inserterMediaCategories","__experimentalFetchRichUrlData","fetchUrlData","__experimentalCanUserUseUnfilteredHTML","__experimentalUndo","outlineMode","__experimentalCreatePageEntity","__experimentalUserCanCreatePages","__experimentalPreferPatternsOnRoot","templateLock","template","__experimentalSetIsInserterOpened","_default","exports","default"],"sources":["@wordpress/editor/src/components/provider/use-block-editor-settings.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { Platform, useMemo, useCallback } from '@wordpress/element';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport {\n\tstore as coreStore,\n\t__experimentalFetchLinkSuggestions as fetchLinkSuggestions,\n\t__experimentalFetchUrlData as fetchUrlData,\n\tfetchBlockPatterns,\n} from '@wordpress/core-data';\nimport { __ } from '@wordpress/i18n';\nimport { store as preferencesStore } from '@wordpress/preferences';\nimport { useViewportMatch } from '@wordpress/compose';\nimport { store as blocksStore } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport inserterMediaCategories from '../media-categories';\nimport { mediaUpload } from '../../utils';\nimport { store as editorStore } from '../../store';\n\nconst EMPTY_BLOCKS_LIST = [];\n\nconst BLOCK_EDITOR_SETTINGS = [\n\t'__experimentalBlockDirectory',\n\t'__experimentalDiscussionSettings',\n\t'__experimentalFeatures',\n\t'__experimentalGlobalStylesBaseStyles',\n\t'__experimentalPreferredStyleVariations',\n\t'__unstableGalleryWithImageBlocks',\n\t'alignWide',\n\t'blockInspectorTabs',\n\t'allowedMimeTypes',\n\t'bodyPlaceholder',\n\t'canLockBlocks',\n\t'capabilities',\n\t'clearBlockSelection',\n\t'codeEditingEnabled',\n\t'colors',\n\t'disableCustomColors',\n\t'disableCustomFontSizes',\n\t'disableCustomSpacingSizes',\n\t'disableCustomGradients',\n\t'disableLayoutStyles',\n\t'enableCustomLineHeight',\n\t'enableCustomSpacing',\n\t'enableCustomUnits',\n\t'enableOpenverseMediaCategory',\n\t'fontSizes',\n\t'gradients',\n\t'generateAnchors',\n\t'getPostLinkProps',\n\t'hasInlineToolbar',\n\t'imageDefaultSize',\n\t'imageDimensions',\n\t'imageEditing',\n\t'imageSizes',\n\t'isRTL',\n\t'locale',\n\t'maxWidth',\n\t'onUpdateDefaultBlockStyles',\n\t'postContentAttributes',\n\t'postsPerPage',\n\t'readOnly',\n\t'styles',\n\t'titlePlaceholder',\n\t'supportsLayout',\n\t'widgetTypesToHideFromLegacyWidgetBlock',\n\t'__unstableHasCustomAppender',\n\t'__unstableIsPreviewMode',\n\t'__unstableResolvedAssets',\n\t'__unstableIsBlockBasedTheme',\n\t'__experimentalArchiveTitleTypeLabel',\n\t'__experimentalArchiveTitleNameLabel',\n];\n\n/**\n * React hook used to compute the block editor settings to use for the post editor.\n *\n * @param {Object} settings EditorProvider settings prop.\n * @param {string} postType Editor root level post type.\n * @param {string} postId Editor root level post ID.\n *\n * @return {Object} Block Editor Settings.\n */\nfunction useBlockEditorSettings( settings, postType, postId ) {\n\tconst isLargeViewport = useViewportMatch( 'medium' );\n\tconst {\n\t\tallowRightClickOverrides,\n\t\tblockTypes,\n\t\tfocusMode,\n\t\thasFixedToolbar,\n\t\tisDistractionFree,\n\t\tkeepCaretInsideBlock,\n\t\treusableBlocks,\n\t\thasUploadPermissions,\n\t\thiddenBlockTypes,\n\t\tcanUseUnfilteredHTML,\n\t\tuserCanCreatePages,\n\t\tpageOnFront,\n\t\tpageForPosts,\n\t\tuserPatternCategories,\n\t\trestBlockPatternCategories,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst isWeb = Platform.OS === 'web';\n\t\t\tconst {\n\t\t\t\tcanUser,\n\t\t\t\tgetRawEntityRecord,\n\t\t\t\tgetEntityRecord,\n\t\t\t\tgetUserPatternCategories,\n\t\t\t\tgetEntityRecords,\n\t\t\t\tgetBlockPatternCategories,\n\t\t\t} = select( coreStore );\n\t\t\tconst { get } = select( preferencesStore );\n\t\t\tconst { getBlockTypes } = select( blocksStore );\n\t\t\tconst siteSettings = canUser( 'read', 'settings' )\n\t\t\t\t? getEntityRecord( 'root', 'site' )\n\t\t\t\t: undefined;\n\n\t\t\treturn {\n\t\t\t\tallowRightClickOverrides: get(\n\t\t\t\t\t'core',\n\t\t\t\t\t'allowRightClickOverrides'\n\t\t\t\t),\n\t\t\t\tblockTypes: getBlockTypes(),\n\t\t\t\tcanUseUnfilteredHTML: getRawEntityRecord(\n\t\t\t\t\t'postType',\n\t\t\t\t\tpostType,\n\t\t\t\t\tpostId\n\t\t\t\t)?._links?.hasOwnProperty( 'wp:action-unfiltered-html' ),\n\t\t\t\tfocusMode: get( 'core', 'focusMode' ),\n\t\t\t\thasFixedToolbar:\n\t\t\t\t\tget( 'core', 'fixedToolbar' ) || ! isLargeViewport,\n\t\t\t\thiddenBlockTypes: get( 'core', 'hiddenBlockTypes' ),\n\t\t\t\tisDistractionFree: get( 'core', 'distractionFree' ),\n\t\t\t\tkeepCaretInsideBlock: get( 'core', 'keepCaretInsideBlock' ),\n\t\t\t\treusableBlocks: isWeb\n\t\t\t\t\t? getEntityRecords( 'postType', 'wp_block', {\n\t\t\t\t\t\t\tper_page: -1,\n\t\t\t\t\t } )\n\t\t\t\t\t: EMPTY_BLOCKS_LIST, // Reusable blocks are fetched in the native version of this hook.\n\t\t\t\thasUploadPermissions: canUser( 'create', 'media' ) ?? true,\n\t\t\t\tuserCanCreatePages: canUser( 'create', 'pages' ),\n\t\t\t\tpageOnFront: siteSettings?.page_on_front,\n\t\t\t\tpageForPosts: siteSettings?.page_for_posts,\n\t\t\t\tuserPatternCategories: getUserPatternCategories(),\n\t\t\t\trestBlockPatternCategories: getBlockPatternCategories(),\n\t\t\t};\n\t\t},\n\t\t[ postType, postId, isLargeViewport ]\n\t);\n\n\tconst settingsBlockPatterns =\n\t\tsettings.__experimentalAdditionalBlockPatterns ?? // WP 6.0\n\t\tsettings.__experimentalBlockPatterns; // WP 5.9\n\tconst settingsBlockPatternCategories =\n\t\tsettings.__experimentalAdditionalBlockPatternCategories ?? // WP 6.0\n\t\tsettings.__experimentalBlockPatternCategories; // WP 5.9\n\n\tconst blockPatterns = useMemo(\n\t\t() =>\n\t\t\t[ ...( settingsBlockPatterns || [] ) ].filter(\n\t\t\t\t( { postTypes } ) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t! postTypes ||\n\t\t\t\t\t\t( Array.isArray( postTypes ) &&\n\t\t\t\t\t\t\tpostTypes.includes( postType ) )\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t),\n\t\t[ settingsBlockPatterns, postType ]\n\t);\n\n\tconst blockPatternCategories = useMemo(\n\t\t() =>\n\t\t\t[\n\t\t\t\t...( settingsBlockPatternCategories || [] ),\n\t\t\t\t...( restBlockPatternCategories || [] ),\n\t\t\t].filter(\n\t\t\t\t( x, index, arr ) =>\n\t\t\t\t\tindex === arr.findIndex( ( y ) => x.name === y.name )\n\t\t\t),\n\t\t[ settingsBlockPatternCategories, restBlockPatternCategories ]\n\t);\n\n\tconst { undo, setIsInserterOpened } = useDispatch( editorStore );\n\n\tconst { saveEntityRecord } = useDispatch( coreStore );\n\n\t/**\n\t * Creates a Post entity.\n\t * This is utilised by the Link UI to allow for on-the-fly creation of Posts/Pages.\n\t *\n\t * @param {Object} options parameters for the post being created. These mirror those used on 3rd param of saveEntityRecord.\n\t * @return {Object} the post type object that was created.\n\t */\n\tconst createPageEntity = useCallback(\n\t\t( options ) => {\n\t\t\tif ( ! userCanCreatePages ) {\n\t\t\t\treturn Promise.reject( {\n\t\t\t\t\tmessage: __(\n\t\t\t\t\t\t'You do not have permission to create Pages.'\n\t\t\t\t\t),\n\t\t\t\t} );\n\t\t\t}\n\t\t\treturn saveEntityRecord( 'postType', 'page', options );\n\t\t},\n\t\t[ saveEntityRecord, userCanCreatePages ]\n\t);\n\n\tconst allowedBlockTypes = useMemo( () => {\n\t\t// Omit hidden block types if exists and non-empty.\n\t\tif ( hiddenBlockTypes && hiddenBlockTypes.length > 0 ) {\n\t\t\t// Defer to passed setting for `allowedBlockTypes` if provided as\n\t\t\t// anything other than `true` (where `true` is equivalent to allow\n\t\t\t// all block types).\n\t\t\tconst defaultAllowedBlockTypes =\n\t\t\t\ttrue === settings.allowedBlockTypes\n\t\t\t\t\t? blockTypes.map( ( { name } ) => name )\n\t\t\t\t\t: settings.allowedBlockTypes || [];\n\n\t\t\treturn defaultAllowedBlockTypes.filter(\n\t\t\t\t( type ) => ! hiddenBlockTypes.includes( type )\n\t\t\t);\n\t\t}\n\n\t\treturn settings.allowedBlockTypes;\n\t}, [ settings.allowedBlockTypes, hiddenBlockTypes, blockTypes ] );\n\n\tconst forceDisableFocusMode = settings.focusMode === false;\n\n\treturn useMemo(\n\t\t() => ( {\n\t\t\t...Object.fromEntries(\n\t\t\t\tObject.entries( settings ).filter( ( [ key ] ) =>\n\t\t\t\t\tBLOCK_EDITOR_SETTINGS.includes( key )\n\t\t\t\t)\n\t\t\t),\n\t\t\tallowedBlockTypes,\n\t\t\tallowRightClickOverrides,\n\t\t\tfocusMode: focusMode && ! forceDisableFocusMode,\n\t\t\thasFixedToolbar,\n\t\t\tisDistractionFree,\n\t\t\tkeepCaretInsideBlock,\n\t\t\tmediaUpload: hasUploadPermissions ? mediaUpload : undefined,\n\t\t\t__experimentalBlockPatterns: blockPatterns,\n\t\t\t__experimentalFetchBlockPatterns: async () => {\n\t\t\t\treturn ( await fetchBlockPatterns() ).filter(\n\t\t\t\t\t( { postTypes } ) => {\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t! postTypes ||\n\t\t\t\t\t\t\t( Array.isArray( postTypes ) &&\n\t\t\t\t\t\t\t\tpostTypes.includes( postType ) )\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t},\n\t\t\t__experimentalReusableBlocks: reusableBlocks,\n\t\t\t__experimentalBlockPatternCategories: blockPatternCategories,\n\t\t\t__experimentalUserPatternCategories: userPatternCategories,\n\t\t\t__experimentalFetchLinkSuggestions: ( search, searchOptions ) =>\n\t\t\t\tfetchLinkSuggestions( search, searchOptions, settings ),\n\t\t\tinserterMediaCategories,\n\t\t\t__experimentalFetchRichUrlData: fetchUrlData,\n\t\t\t// Todo: This only checks the top level post, not the post within a template or any other entity that can be edited.\n\t\t\t// This might be better as a generic \"canUser\" selector.\n\t\t\t__experimentalCanUserUseUnfilteredHTML: canUseUnfilteredHTML,\n\t\t\t//Todo: this is only needed for native and should probably be removed.\n\t\t\t__experimentalUndo: undo,\n\t\t\t// Check whether we want all site editor frames to have outlines\n\t\t\t// including the navigation / pattern / parts editors.\n\t\t\toutlineMode: postType === 'wp_template',\n\t\t\t// Check these two properties: they were not present in the site editor.\n\t\t\t__experimentalCreatePageEntity: createPageEntity,\n\t\t\t__experimentalUserCanCreatePages: userCanCreatePages,\n\t\t\tpageOnFront,\n\t\t\tpageForPosts,\n\t\t\t__experimentalPreferPatternsOnRoot: postType === 'wp_template',\n\t\t\ttemplateLock:\n\t\t\t\tpostType === 'wp_navigation' ? 'insert' : settings.templateLock,\n\t\t\ttemplate:\n\t\t\t\tpostType === 'wp_navigation'\n\t\t\t\t\t? [ [ 'core/navigation', {}, [] ] ]\n\t\t\t\t\t: settings.template,\n\t\t\t__experimentalSetIsInserterOpened: setIsInserterOpened,\n\t\t} ),\n\t\t[\n\t\t\tallowedBlockTypes,\n\t\t\tallowRightClickOverrides,\n\t\t\tfocusMode,\n\t\t\tforceDisableFocusMode,\n\t\t\thasFixedToolbar,\n\t\t\tisDistractionFree,\n\t\t\tkeepCaretInsideBlock,\n\t\t\tsettings,\n\t\t\thasUploadPermissions,\n\t\t\treusableBlocks,\n\t\t\tuserPatternCategories,\n\t\t\tblockPatterns,\n\t\t\tblockPatternCategories,\n\t\t\tcanUseUnfilteredHTML,\n\t\t\tundo,\n\t\t\tcreatePageEntity,\n\t\t\tuserCanCreatePages,\n\t\t\tpageOnFront,\n\t\t\tpageForPosts,\n\t\t\tpostType,\n\t\t\tsetIsInserterOpened,\n\t\t]\n\t);\n}\n\nexport default useBlockEditorSettings;\n"],"mappings":"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"}
|
|
@@ -32,16 +32,22 @@ const {
|
|
|
32
32
|
* @return {Component} Wrapped component.
|
|
33
33
|
*/
|
|
34
34
|
const withPartialSyncingControls = (0, _compose.createHigherOrderComponent)(BlockEdit => props => {
|
|
35
|
-
const
|
|
36
|
-
const isEditingPattern = (0, _data.useSelect)(select => select(_store.store).getCurrentPostType() === PATTERN_TYPES.user, []);
|
|
37
|
-
const shouldShowPartialSyncingControls = props.isSelected && isEditingPattern && blockEditingMode === 'default' && Object.keys(PARTIAL_SYNCING_SUPPORTED_BLOCKS).includes(props.name);
|
|
35
|
+
const isSupportedBlock = Object.keys(PARTIAL_SYNCING_SUPPORTED_BLOCKS).includes(props.name);
|
|
38
36
|
return (0, _react.createElement)(_react.Fragment, null, (0, _react.createElement)(BlockEdit, {
|
|
39
37
|
...props
|
|
40
|
-
}),
|
|
38
|
+
}), props.isSelected && isSupportedBlock && (0, _react.createElement)(ControlsWithStoreSubscription, {
|
|
41
39
|
...props
|
|
42
40
|
}));
|
|
43
41
|
});
|
|
44
|
-
|
|
45
|
-
|
|
42
|
+
|
|
43
|
+
// Split into a separate component to avoid a store subscription
|
|
44
|
+
// on every block.
|
|
45
|
+
function ControlsWithStoreSubscription(props) {
|
|
46
|
+
const blockEditingMode = (0, _blockEditor.useBlockEditingMode)();
|
|
47
|
+
const isEditingPattern = (0, _data.useSelect)(select => select(_store.store).getCurrentPostType() === PATTERN_TYPES.user, []);
|
|
48
|
+
return isEditingPattern && blockEditingMode === 'default' && (0, _react.createElement)(PartialSyncingControls, {
|
|
49
|
+
...props
|
|
50
|
+
});
|
|
46
51
|
}
|
|
52
|
+
(0, _hooks.addFilter)('editor.BlockEdit', 'core/editor/with-partial-syncing-controls', withPartialSyncingControls);
|
|
47
53
|
//# sourceMappingURL=pattern-partial-syncing.js.map
|