@wordpress/edit-site 3.0.2 → 3.0.3
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/README.md +1 -1
- package/build/components/block-editor/back-button.js +60 -0
- package/build/components/block-editor/back-button.js.map +1 -0
- package/build/components/block-editor/index.js +18 -4
- package/build/components/block-editor/index.js.map +1 -1
- package/build/components/edit-template-part-menu-button/index.js +63 -0
- package/build/components/edit-template-part-menu-button/index.js.map +1 -0
- package/build/components/editor/global-styles-provider.js +1 -1
- package/build/components/editor/global-styles-provider.js.map +1 -1
- package/build/components/editor/index.js +7 -7
- package/build/components/editor/index.js.map +1 -1
- package/build/components/editor/utils.js +1 -1
- package/build/components/editor/utils.js.map +1 -1
- package/build/components/{sidebar → global-styles}/border-panel.js +0 -0
- package/build/components/global-styles/border-panel.js.map +1 -0
- package/build/components/{sidebar → global-styles}/color-palette-panel.js +4 -2
- package/build/components/global-styles/color-palette-panel.js.map +1 -0
- package/build/components/{sidebar → global-styles}/color-panel.js +7 -11
- package/build/components/global-styles/color-panel.js.map +1 -0
- package/build/components/global-styles/context-menu.js +58 -0
- package/build/components/global-styles/context-menu.js.map +1 -0
- package/build/components/{sidebar → global-styles}/dimensions-panel.js +6 -7
- package/build/components/global-styles/dimensions-panel.js.map +1 -0
- package/build/components/global-styles/header.js +54 -0
- package/build/components/global-styles/header.js.map +1 -0
- package/build/components/global-styles/index.js +89 -0
- package/build/components/global-styles/index.js.map +1 -0
- package/build/components/global-styles/navigation-button.js +43 -0
- package/build/components/global-styles/navigation-button.js.map +1 -0
- package/build/components/global-styles/palette.js +57 -0
- package/build/components/global-styles/palette.js.map +1 -0
- package/build/components/global-styles/preview.js +59 -0
- package/build/components/global-styles/preview.js.map +1 -0
- package/build/components/global-styles/screen-block-list.js +76 -0
- package/build/components/global-styles/screen-block-list.js.map +1 -0
- package/build/components/global-styles/screen-block.js +45 -0
- package/build/components/global-styles/screen-block.js.map +1 -0
- package/build/components/global-styles/screen-color-palette.js +48 -0
- package/build/components/global-styles/screen-color-palette.js.map +1 -0
- package/build/components/global-styles/screen-colors.js +51 -0
- package/build/components/global-styles/screen-colors.js.map +1 -0
- package/build/components/global-styles/screen-layout.js +60 -0
- package/build/components/global-styles/screen-layout.js.map +1 -0
- package/build/components/global-styles/screen-root.js +44 -0
- package/build/components/global-styles/screen-root.js.map +1 -0
- package/build/components/global-styles/screen-typography.js +50 -0
- package/build/components/global-styles/screen-typography.js.map +1 -0
- package/build/components/global-styles/subtitle.js +25 -0
- package/build/components/global-styles/subtitle.js.map +1 -0
- package/build/components/{sidebar → global-styles}/typography-panel.js +1 -3
- package/build/components/global-styles/typography-panel.js.map +1 -0
- package/build/components/header/plugin-more-menu-item/index.js +82 -0
- package/build/components/header/plugin-more-menu-item/index.js.map +1 -0
- package/build/components/header/plugin-sidebar-more-menu-item/index.js +75 -0
- package/build/components/header/plugin-sidebar-more-menu-item/index.js.map +1 -0
- package/build/components/header/undo-redo/redo.js +1 -1
- package/build/components/header/undo-redo/redo.js.map +1 -1
- package/build/components/header/undo-redo/undo.js +1 -1
- package/build/components/header/undo-redo/undo.js.map +1 -1
- package/build/components/keyboard-shortcuts/index.js +2 -10
- package/build/components/keyboard-shortcuts/index.js.map +1 -1
- package/build/components/navigation-sidebar/index.js +1 -1
- package/build/components/navigation-sidebar/index.js.map +1 -1
- package/build/components/navigation-sidebar/navigation-panel/constants.js +10 -10
- package/build/components/navigation-sidebar/navigation-panel/constants.js.map +1 -1
- package/build/components/save-button/index.js +1 -1
- package/build/components/save-button/index.js.map +1 -1
- package/build/components/secondary-sidebar/inserter-sidebar.js +2 -1
- package/build/components/secondary-sidebar/inserter-sidebar.js.map +1 -1
- package/build/components/sidebar/global-styles-sidebar.js +11 -161
- package/build/components/sidebar/global-styles-sidebar.js.map +1 -1
- package/build/components/sidebar/index.js +1 -6
- package/build/components/sidebar/index.js.map +1 -1
- package/build/components/sidebar/plugin-sidebar/index.js +95 -0
- package/build/components/sidebar/plugin-sidebar/index.js.map +1 -0
- package/build/components/template-details/index.js +12 -6
- package/build/components/template-details/index.js.map +1 -1
- package/build/components/template-details/template-areas.js +73 -0
- package/build/components/template-details/template-areas.js.map +1 -0
- package/build/components/template-part-converter/index.js +1 -1
- package/build/components/template-part-converter/index.js.map +1 -1
- package/build/components/url-query-controller/index.js +1 -1
- package/build/components/url-query-controller/index.js.map +1 -1
- package/build/index.js +24 -0
- package/build/index.js.map +1 -1
- package/build/store/actions.js +54 -1
- package/build/store/actions.js.map +1 -1
- package/build/store/constants.js +19 -1
- package/build/store/constants.js.map +1 -1
- package/build/store/reducer.js +16 -7
- package/build/store/reducer.js.map +1 -1
- package/build/store/selectors.js +91 -9
- package/build/store/selectors.js.map +1 -1
- package/build-module/components/block-editor/back-button.js +48 -0
- package/build-module/components/block-editor/back-button.js.map +1 -0
- package/build-module/components/block-editor/index.js +15 -4
- package/build-module/components/block-editor/index.js.map +1 -1
- package/build-module/components/edit-template-part-menu-button/index.js +49 -0
- package/build-module/components/edit-template-part-menu-button/index.js.map +1 -0
- package/build-module/components/editor/global-styles-provider.js +1 -1
- package/build-module/components/editor/global-styles-provider.js.map +1 -1
- package/build-module/components/editor/index.js +4 -5
- package/build-module/components/editor/index.js.map +1 -1
- package/build-module/components/editor/utils.js +1 -1
- package/build-module/components/editor/utils.js.map +1 -1
- package/build-module/components/{sidebar → global-styles}/border-panel.js +0 -0
- package/build-module/components/global-styles/border-panel.js.map +1 -0
- package/build-module/components/{sidebar → global-styles}/color-palette-panel.js +4 -2
- package/build-module/components/global-styles/color-palette-panel.js.map +1 -0
- package/build-module/components/{sidebar → global-styles}/color-panel.js +8 -12
- package/build-module/components/global-styles/color-panel.js.map +1 -0
- package/build-module/components/global-styles/context-menu.js +41 -0
- package/build-module/components/global-styles/context-menu.js.map +1 -0
- package/build-module/components/{sidebar → global-styles}/dimensions-panel.js +6 -7
- package/build-module/components/global-styles/dimensions-panel.js.map +1 -0
- package/build-module/components/global-styles/header.js +41 -0
- package/build-module/components/global-styles/header.js.map +1 -0
- package/build-module/components/global-styles/index.js +70 -0
- package/build-module/components/global-styles/index.js.map +1 -0
- package/build-module/components/global-styles/navigation-button.js +31 -0
- package/build-module/components/global-styles/navigation-button.js.map +1 -0
- package/build-module/components/global-styles/palette.js +43 -0
- package/build-module/components/global-styles/palette.js.map +1 -0
- package/build-module/components/global-styles/preview.js +50 -0
- package/build-module/components/global-styles/preview.js.map +1 -0
- package/build-module/components/global-styles/screen-block-list.js +58 -0
- package/build-module/components/global-styles/screen-block-list.js.map +1 -0
- package/build-module/components/global-styles/screen-block.js +32 -0
- package/build-module/components/global-styles/screen-block.js.map +1 -0
- package/build-module/components/global-styles/screen-color-palette.js +35 -0
- package/build-module/components/global-styles/screen-color-palette.js.map +1 -0
- package/build-module/components/global-styles/screen-colors.js +38 -0
- package/build-module/components/global-styles/screen-colors.js.map +1 -0
- package/build-module/components/global-styles/screen-layout.js +44 -0
- package/build-module/components/global-styles/screen-layout.js.map +1 -0
- package/build-module/components/global-styles/screen-root.js +29 -0
- package/build-module/components/global-styles/screen-root.js.map +1 -0
- package/build-module/components/global-styles/screen-typography.js +37 -0
- package/build-module/components/global-styles/screen-typography.js.map +1 -0
- package/build-module/components/global-styles/subtitle.js +17 -0
- package/build-module/components/global-styles/subtitle.js.map +1 -0
- package/build-module/components/{sidebar → global-styles}/typography-panel.js +1 -2
- package/build-module/components/global-styles/typography-panel.js.map +1 -0
- package/build-module/components/header/plugin-more-menu-item/index.js +70 -0
- package/build-module/components/header/plugin-more-menu-item/index.js.map +1 -0
- package/build-module/components/header/plugin-sidebar-more-menu-item/index.js +64 -0
- package/build-module/components/header/plugin-sidebar-more-menu-item/index.js.map +1 -0
- package/build-module/components/header/undo-redo/redo.js +1 -1
- package/build-module/components/header/undo-redo/redo.js.map +1 -1
- package/build-module/components/header/undo-redo/undo.js +1 -1
- package/build-module/components/header/undo-redo/undo.js.map +1 -1
- package/build-module/components/keyboard-shortcuts/index.js +3 -11
- package/build-module/components/keyboard-shortcuts/index.js.map +1 -1
- package/build-module/components/navigation-sidebar/index.js +1 -1
- package/build-module/components/navigation-sidebar/index.js.map +1 -1
- package/build-module/components/navigation-sidebar/navigation-panel/constants.js +5 -3
- package/build-module/components/navigation-sidebar/navigation-panel/constants.js.map +1 -1
- package/build-module/components/save-button/index.js +1 -1
- package/build-module/components/save-button/index.js.map +1 -1
- package/build-module/components/secondary-sidebar/inserter-sidebar.js +2 -1
- package/build-module/components/secondary-sidebar/inserter-sidebar.js.map +1 -1
- package/build-module/components/sidebar/global-styles-sidebar.js +13 -159
- package/build-module/components/sidebar/global-styles-sidebar.js.map +1 -1
- package/build-module/components/sidebar/index.js +2 -7
- package/build-module/components/sidebar/index.js.map +1 -1
- package/build-module/components/sidebar/plugin-sidebar/index.js +84 -0
- package/build-module/components/sidebar/plugin-sidebar/index.js.map +1 -0
- package/build-module/components/template-details/index.js +13 -8
- package/build-module/components/template-details/index.js.map +1 -1
- package/build-module/components/template-details/template-areas.js +60 -0
- package/build-module/components/template-details/template-areas.js.map +1 -0
- package/build-module/components/template-part-converter/index.js +1 -1
- package/build-module/components/template-part-converter/index.js.map +1 -1
- package/build-module/components/url-query-controller/index.js +1 -1
- package/build-module/components/url-query-controller/index.js.map +1 -1
- package/build-module/index.js +3 -0
- package/build-module/index.js.map +1 -1
- package/build-module/store/actions.js +45 -1
- package/build-module/store/actions.js.map +1 -1
- package/build-module/store/constants.js +13 -0
- package/build-module/store/constants.js.map +1 -1
- package/build-module/store/reducer.js +16 -7
- package/build-module/store/reducer.js.map +1 -1
- package/build-module/store/selectors.js +85 -9
- package/build-module/store/selectors.js.map +1 -1
- package/build-style/style-rtl.css +122 -17
- package/build-style/style.css +122 -17
- package/package.json +26 -26
- package/src/components/block-editor/back-button.js +44 -0
- package/src/components/block-editor/index.js +16 -1
- package/src/components/block-editor/style.scss +26 -0
- package/src/components/edit-template-part-menu-button/index.js +57 -0
- package/src/components/editor/global-styles-provider.js +1 -1
- package/src/components/editor/index.js +5 -8
- package/src/components/editor/utils.js +1 -0
- package/src/components/{sidebar → global-styles}/border-panel.js +0 -0
- package/src/components/{sidebar → global-styles}/color-palette-panel.js +13 -11
- package/src/components/{sidebar → global-styles}/color-panel.js +12 -17
- package/src/components/global-styles/context-menu.js +54 -0
- package/src/components/{sidebar → global-styles}/dimensions-panel.js +6 -10
- package/src/components/global-styles/header.js +50 -0
- package/src/components/global-styles/index.js +81 -0
- package/src/components/global-styles/navigation-button.js +35 -0
- package/src/components/global-styles/palette.js +67 -0
- package/src/components/global-styles/preview.js +41 -0
- package/src/components/global-styles/screen-block-list.js +59 -0
- package/src/components/global-styles/screen-block.js +28 -0
- package/src/components/global-styles/screen-color-palette.js +33 -0
- package/src/components/global-styles/screen-colors.js +36 -0
- package/src/components/global-styles/screen-layout.js +45 -0
- package/src/components/global-styles/screen-root.js +43 -0
- package/src/components/global-styles/screen-typography.js +33 -0
- package/src/components/global-styles/style.scss +35 -0
- package/src/components/global-styles/subtitle.js +10 -0
- package/src/components/{sidebar → global-styles}/typography-panel.js +1 -2
- package/src/components/header/plugin-more-menu-item/index.js +71 -0
- package/src/components/header/plugin-sidebar-more-menu-item/index.js +64 -0
- package/src/components/header/undo-redo/redo.js +4 -1
- package/src/components/header/undo-redo/undo.js +4 -1
- package/src/components/keyboard-shortcuts/index.js +25 -40
- package/src/components/navigation-sidebar/index.js +1 -1
- package/src/components/navigation-sidebar/navigation-panel/constants.js +9 -4
- package/src/components/navigation-sidebar/navigation-panel/style.scss +1 -0
- package/src/components/save-button/index.js +1 -1
- package/src/components/secondary-sidebar/inserter-sidebar.js +1 -0
- package/src/components/sidebar/global-styles-sidebar.js +14 -187
- package/src/components/sidebar/index.js +2 -7
- package/src/components/sidebar/plugin-sidebar/index.js +80 -0
- package/src/components/sidebar/style.scss +40 -0
- package/src/components/template-details/index.js +17 -7
- package/src/components/template-details/style.scss +36 -27
- package/src/components/template-details/template-areas.js +66 -0
- package/src/components/template-part-converter/index.js +1 -1
- package/src/components/url-query-controller/index.js +1 -1
- package/src/index.js +3 -0
- package/src/store/actions.js +53 -1
- package/src/store/constants.js +15 -0
- package/src/store/reducer.js +26 -12
- package/src/store/selectors.js +96 -9
- package/src/store/test/reducer.js +40 -23
- package/src/store/test/selectors.js +34 -3
- package/src/style.scss +1 -0
- package/build/components/sidebar/border-panel.js.map +0 -1
- package/build/components/sidebar/color-palette-panel.js.map +0 -1
- package/build/components/sidebar/color-panel.js.map +0 -1
- package/build/components/sidebar/dimensions-panel.js.map +0 -1
- package/build/components/sidebar/typography-panel.js.map +0 -1
- package/build-module/components/sidebar/border-panel.js.map +0 -1
- package/build-module/components/sidebar/color-palette-panel.js.map +0 -1
- package/build-module/components/sidebar/color-panel.js.map +0 -1
- package/build-module/components/sidebar/dimensions-panel.js.map +0 -1
- package/build-module/components/sidebar/typography-panel.js.map +0 -1
package/README.md
CHANGED
|
@@ -26,6 +26,6 @@ import blockEditorSettings from './block-editor-settings';
|
|
|
26
26
|
initialize( '#editor-root', blockEditorSettings );
|
|
27
27
|
```
|
|
28
28
|
|
|
29
|
-
_This package assumes that your code will run in an **ES2015+** environment. If you're using an environment that has limited or no support for
|
|
29
|
+
_This package assumes that your code will run in an **ES2015+** environment. If you're using an environment that has limited or no support for such language features and APIs, you should include [the polyfill shipped in `@wordpress/babel-preset-default`](https://github.com/WordPress/gutenberg/tree/HEAD/packages/babel-preset-default#polyfill) in your code._
|
|
30
30
|
|
|
31
31
|
<br/><br/><p align="center"><img src="https://s.w.org/style/images/codeispoetry.png?1" alt="Code is Poetry." /></p>
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
|
|
8
|
+
var _element = require("@wordpress/element");
|
|
9
|
+
|
|
10
|
+
var _components = require("@wordpress/components");
|
|
11
|
+
|
|
12
|
+
var _icons = require("@wordpress/icons");
|
|
13
|
+
|
|
14
|
+
var _data = require("@wordpress/data");
|
|
15
|
+
|
|
16
|
+
var _i18n = require("@wordpress/i18n");
|
|
17
|
+
|
|
18
|
+
var _store = require("../../store");
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* WordPress dependencies
|
|
22
|
+
*/
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* Internal dependencies
|
|
26
|
+
*/
|
|
27
|
+
function BackButton() {
|
|
28
|
+
const {
|
|
29
|
+
isTemplatePart,
|
|
30
|
+
previousTemplateId
|
|
31
|
+
} = (0, _data.useSelect)(select => {
|
|
32
|
+
const {
|
|
33
|
+
getEditedPostType,
|
|
34
|
+
getPreviousEditedPostId
|
|
35
|
+
} = select(_store.store);
|
|
36
|
+
return {
|
|
37
|
+
isTemplatePart: getEditedPostType() === 'wp_template_part',
|
|
38
|
+
previousTemplateId: getPreviousEditedPostId()
|
|
39
|
+
};
|
|
40
|
+
}, []);
|
|
41
|
+
const {
|
|
42
|
+
goBack
|
|
43
|
+
} = (0, _data.useDispatch)(_store.store);
|
|
44
|
+
|
|
45
|
+
if (!isTemplatePart || !previousTemplateId) {
|
|
46
|
+
return null;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
return (0, _element.createElement)(_components.Button, {
|
|
50
|
+
className: "edit-site-visual-editor__back-button",
|
|
51
|
+
icon: _icons.arrowLeft,
|
|
52
|
+
onClick: () => {
|
|
53
|
+
goBack();
|
|
54
|
+
}
|
|
55
|
+
}, (0, _i18n.__)('Back'));
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
var _default = BackButton;
|
|
59
|
+
exports.default = _default;
|
|
60
|
+
//# sourceMappingURL=back-button.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["@wordpress/edit-site/src/components/block-editor/back-button.js"],"names":["BackButton","isTemplatePart","previousTemplateId","select","getEditedPostType","getPreviousEditedPostId","editSiteStore","goBack","arrowLeft"],"mappings":";;;;;;;;;AAGA;;AACA;;AACA;;AACA;;AAKA;;AAXA;AACA;AACA;;AAMA;AACA;AACA;AAGA,SAASA,UAAT,GAAsB;AACrB,QAAM;AAAEC,IAAAA,cAAF;AAAkBC,IAAAA;AAAlB,MAAyC,qBAAaC,MAAF,IAAc;AACvE,UAAM;AAAEC,MAAAA,iBAAF;AAAqBC,MAAAA;AAArB,QAAiDF,MAAM,CAC5DG,YAD4D,CAA7D;AAIA,WAAO;AACNL,MAAAA,cAAc,EAAEG,iBAAiB,OAAO,kBADlC;AAENF,MAAAA,kBAAkB,EAAEG,uBAAuB;AAFrC,KAAP;AAIA,GAT8C,EAS5C,EAT4C,CAA/C;AAUA,QAAM;AAAEE,IAAAA;AAAF,MAAa,uBAAaD,YAAb,CAAnB;;AAEA,MAAK,CAAEL,cAAF,IAAoB,CAAEC,kBAA3B,EAAgD;AAC/C,WAAO,IAAP;AACA;;AAED,SACC,4BAAC,kBAAD;AACC,IAAA,SAAS,EAAC,sCADX;AAEC,IAAA,IAAI,EAAGM,gBAFR;AAGC,IAAA,OAAO,EAAG,MAAM;AACfD,MAAAA,MAAM;AACN;AALF,KAOG,cAAI,MAAJ,CAPH,CADD;AAWA;;eAEcP,U","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { Button } from '@wordpress/components';\nimport { arrowLeft } from '@wordpress/icons';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { store as editSiteStore } from '../../store';\n\nfunction BackButton() {\n\tconst { isTemplatePart, previousTemplateId } = useSelect( ( select ) => {\n\t\tconst { getEditedPostType, getPreviousEditedPostId } = select(\n\t\t\teditSiteStore\n\t\t);\n\n\t\treturn {\n\t\t\tisTemplatePart: getEditedPostType() === 'wp_template_part',\n\t\t\tpreviousTemplateId: getPreviousEditedPostId(),\n\t\t};\n\t}, [] );\n\tconst { goBack } = useDispatch( editSiteStore );\n\n\tif ( ! isTemplatePart || ! previousTemplateId ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<Button\n\t\t\tclassName=\"edit-site-visual-editor__back-button\"\n\t\t\ticon={ arrowLeft }\n\t\t\tonClick={ () => {\n\t\t\t\tgoBack();\n\t\t\t} }\n\t\t>\n\t\t\t{ __( 'Back' ) }\n\t\t</Button>\n\t);\n}\n\nexport default BackButton;\n"]}
|
|
@@ -11,6 +11,8 @@ var _element = require("@wordpress/element");
|
|
|
11
11
|
|
|
12
12
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
13
13
|
|
|
14
|
+
var _classnames = _interopRequireDefault(require("classnames"));
|
|
15
|
+
|
|
14
16
|
var _data = require("@wordpress/data");
|
|
15
17
|
|
|
16
18
|
var _coreData = require("@wordpress/core-data");
|
|
@@ -29,6 +31,14 @@ var _store = require("../../store");
|
|
|
29
31
|
|
|
30
32
|
var _blockInspectorButton = _interopRequireDefault(require("./block-inspector-button"));
|
|
31
33
|
|
|
34
|
+
var _editTemplatePartMenuButton = _interopRequireDefault(require("../edit-template-part-menu-button"));
|
|
35
|
+
|
|
36
|
+
var _backButton = _interopRequireDefault(require("./back-button"));
|
|
37
|
+
|
|
38
|
+
/**
|
|
39
|
+
* External dependencies
|
|
40
|
+
*/
|
|
41
|
+
|
|
32
42
|
/**
|
|
33
43
|
* WordPress dependencies
|
|
34
44
|
*/
|
|
@@ -72,26 +82,30 @@ function BlockEditor({
|
|
|
72
82
|
const ref = (0, _blockEditor.__unstableUseMouseMoveTypingReset)();
|
|
73
83
|
const contentRef = (0, _element.useRef)();
|
|
74
84
|
const mergedRefs = (0, _compose.useMergeRefs)([contentRef, (0, _blockEditor.__unstableUseTypingObserver)()]);
|
|
85
|
+
const isTemplatePart = templateType === 'wp_template_part';
|
|
75
86
|
return (0, _element.createElement)(_blockEditor.BlockEditorProvider, {
|
|
76
87
|
settings: settings,
|
|
77
88
|
value: blocks,
|
|
78
89
|
onInput: onInput,
|
|
79
90
|
onChange: onChange,
|
|
80
91
|
useSubRegistry: false
|
|
81
|
-
}, (0, _element.createElement)(_templatePartConverter.default, null), (0, _element.createElement)(_blockEditor.__experimentalLinkControl.ViewerFill, null, (0, _element.useCallback)(fillProps => (0, _element.createElement)(_navigateToLink.default, (0, _extends2.default)({}, fillProps, {
|
|
92
|
+
}, (0, _element.createElement)(_editTemplatePartMenuButton.default, null), (0, _element.createElement)(_templatePartConverter.default, null), (0, _element.createElement)(_blockEditor.__experimentalLinkControl.ViewerFill, null, (0, _element.useCallback)(fillProps => (0, _element.createElement)(_navigateToLink.default, (0, _extends2.default)({}, fillProps, {
|
|
82
93
|
activePage: page,
|
|
83
94
|
onActivePageChange: setPage
|
|
84
95
|
})), [page])), (0, _element.createElement)(_sidebar.SidebarInspectorFill, null, (0, _element.createElement)(_blockEditor.BlockInspector, null)), (0, _element.createElement)(_blockEditor.BlockTools, {
|
|
85
|
-
className:
|
|
96
|
+
className: (0, _classnames.default)('edit-site-visual-editor', {
|
|
97
|
+
'is-focus-mode': isTemplatePart
|
|
98
|
+
}),
|
|
86
99
|
__unstableContentRef: contentRef
|
|
87
|
-
}, (0, _element.createElement)(_blockEditor.__unstableIframe, {
|
|
100
|
+
}, (0, _element.createElement)(_backButton.default, null), (0, _element.createElement)(_blockEditor.__unstableIframe, {
|
|
88
101
|
style: resizedCanvasStyles,
|
|
89
102
|
head: (0, _element.createElement)(_blockEditor.__unstableEditorStyles, {
|
|
90
103
|
styles: settings.styles
|
|
91
104
|
}),
|
|
92
105
|
ref: ref,
|
|
93
106
|
contentRef: mergedRefs,
|
|
94
|
-
name: "editor-canvas"
|
|
107
|
+
name: "editor-canvas",
|
|
108
|
+
className: "edit-site-visual-editor__editor-canvas"
|
|
95
109
|
}, (0, _element.createElement)(_blockEditor.BlockList, {
|
|
96
110
|
className: "edit-site-block-editor__block-list wp-site-blocks",
|
|
97
111
|
__experimentalLayout: LAYOUT
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/edit-site/src/components/block-editor/index.js"],"names":["LAYOUT","type","alignments","BlockEditor","setIsInserterOpen","settings","templateType","page","deviceType","select","getSettings","getEditedPostType","getPage","__experimentalGetPreviewDeviceType","editSiteStore","blocks","onInput","onChange","setPage","resizedCanvasStyles","ref","contentRef","mergedRefs","fillProps","styles","onClose"],"mappings":";;;;;;;;;
|
|
1
|
+
{"version":3,"sources":["@wordpress/edit-site/src/components/block-editor/index.js"],"names":["LAYOUT","type","alignments","BlockEditor","setIsInserterOpen","settings","templateType","page","deviceType","select","getSettings","getEditedPostType","getPage","__experimentalGetPreviewDeviceType","editSiteStore","blocks","onInput","onChange","setPage","resizedCanvasStyles","ref","contentRef","mergedRefs","isTemplatePart","fillProps","styles","onClose"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useCallback, useRef } from '@wordpress/element';\nimport { useEntityBlockEditor } from '@wordpress/core-data';\nimport {\n\tBlockEditorProvider,\n\t__experimentalLinkControl,\n\tBlockInspector,\n\tBlockList,\n\tBlockTools,\n\t__unstableBlockSettingsMenuFirstItem,\n\t__experimentalUseResizeCanvas as useResizeCanvas,\n\t__unstableUseTypingObserver as useTypingObserver,\n\t__unstableUseMouseMoveTypingReset as useMouseMoveTypingReset,\n\t__unstableEditorStyles as EditorStyles,\n\t__unstableIframe as Iframe,\n} from '@wordpress/block-editor';\nimport { useMergeRefs } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport TemplatePartConverter from '../template-part-converter';\nimport NavigateToLink from '../navigate-to-link';\nimport { SidebarInspectorFill } from '../sidebar';\nimport { store as editSiteStore } from '../../store';\nimport BlockInspectorButton from './block-inspector-button';\nimport EditTemplatePartMenuButton from '../edit-template-part-menu-button';\nimport BackButton from './back-button';\n\nconst LAYOUT = {\n\ttype: 'default',\n\t// At the root level of the site editor, no alignments should be allowed.\n\talignments: [],\n};\n\nexport default function BlockEditor( { setIsInserterOpen } ) {\n\tconst { settings, templateType, page, deviceType } = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetSettings,\n\t\t\t\tgetEditedPostType,\n\t\t\t\tgetPage,\n\t\t\t\t__experimentalGetPreviewDeviceType,\n\t\t\t} = select( editSiteStore );\n\n\t\t\treturn {\n\t\t\t\tsettings: getSettings( setIsInserterOpen ),\n\t\t\t\ttemplateType: getEditedPostType(),\n\t\t\t\tpage: getPage(),\n\t\t\t\tdeviceType: __experimentalGetPreviewDeviceType(),\n\t\t\t};\n\t\t},\n\t\t[ setIsInserterOpen ]\n\t);\n\tconst [ blocks, onInput, onChange ] = useEntityBlockEditor(\n\t\t'postType',\n\t\ttemplateType\n\t);\n\tconst { setPage } = useDispatch( editSiteStore );\n\tconst resizedCanvasStyles = useResizeCanvas( deviceType, true );\n\tconst ref = useMouseMoveTypingReset();\n\tconst contentRef = useRef();\n\tconst mergedRefs = useMergeRefs( [ contentRef, useTypingObserver() ] );\n\n\tconst isTemplatePart = templateType === 'wp_template_part';\n\n\treturn (\n\t\t<BlockEditorProvider\n\t\t\tsettings={ settings }\n\t\t\tvalue={ blocks }\n\t\t\tonInput={ onInput }\n\t\t\tonChange={ onChange }\n\t\t\tuseSubRegistry={ false }\n\t\t>\n\t\t\t<EditTemplatePartMenuButton />\n\t\t\t<TemplatePartConverter />\n\t\t\t<__experimentalLinkControl.ViewerFill>\n\t\t\t\t{ useCallback(\n\t\t\t\t\t( fillProps ) => (\n\t\t\t\t\t\t<NavigateToLink\n\t\t\t\t\t\t\t{ ...fillProps }\n\t\t\t\t\t\t\tactivePage={ page }\n\t\t\t\t\t\t\tonActivePageChange={ setPage }\n\t\t\t\t\t\t/>\n\t\t\t\t\t),\n\t\t\t\t\t[ page ]\n\t\t\t\t) }\n\t\t\t</__experimentalLinkControl.ViewerFill>\n\t\t\t<SidebarInspectorFill>\n\t\t\t\t<BlockInspector />\n\t\t\t</SidebarInspectorFill>\n\t\t\t<BlockTools\n\t\t\t\tclassName={ classnames( 'edit-site-visual-editor', {\n\t\t\t\t\t'is-focus-mode': isTemplatePart,\n\t\t\t\t} ) }\n\t\t\t\t__unstableContentRef={ contentRef }\n\t\t\t>\n\t\t\t\t<BackButton />\n\t\t\t\t<Iframe\n\t\t\t\t\tstyle={ resizedCanvasStyles }\n\t\t\t\t\thead={ <EditorStyles styles={ settings.styles } /> }\n\t\t\t\t\tref={ ref }\n\t\t\t\t\tcontentRef={ mergedRefs }\n\t\t\t\t\tname=\"editor-canvas\"\n\t\t\t\t\tclassName=\"edit-site-visual-editor__editor-canvas\"\n\t\t\t\t>\n\t\t\t\t\t<BlockList\n\t\t\t\t\t\tclassName=\"edit-site-block-editor__block-list wp-site-blocks\"\n\t\t\t\t\t\t__experimentalLayout={ LAYOUT }\n\t\t\t\t\t/>\n\t\t\t\t</Iframe>\n\t\t\t\t<__unstableBlockSettingsMenuFirstItem>\n\t\t\t\t\t{ ( { onClose } ) => (\n\t\t\t\t\t\t<BlockInspectorButton onClick={ onClose } />\n\t\t\t\t\t) }\n\t\t\t\t</__unstableBlockSettingsMenuFirstItem>\n\t\t\t</BlockTools>\n\t\t</BlockEditorProvider>\n\t);\n}\n"]}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = EditTemplatePartMenuButton;
|
|
7
|
+
|
|
8
|
+
var _element = require("@wordpress/element");
|
|
9
|
+
|
|
10
|
+
var _data = require("@wordpress/data");
|
|
11
|
+
|
|
12
|
+
var _blockEditor = require("@wordpress/block-editor");
|
|
13
|
+
|
|
14
|
+
var _coreData = require("@wordpress/core-data");
|
|
15
|
+
|
|
16
|
+
var _components = require("@wordpress/components");
|
|
17
|
+
|
|
18
|
+
var _blocks = require("@wordpress/blocks");
|
|
19
|
+
|
|
20
|
+
var _i18n = require("@wordpress/i18n");
|
|
21
|
+
|
|
22
|
+
var _store = require("../../store");
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* WordPress dependencies
|
|
26
|
+
*/
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* Internal dependencies
|
|
30
|
+
*/
|
|
31
|
+
function EditTemplatePartMenuButton() {
|
|
32
|
+
const selectedTemplatePart = (0, _data.useSelect)(select => {
|
|
33
|
+
const block = select(_blockEditor.store).getSelectedBlock();
|
|
34
|
+
|
|
35
|
+
if (block && (0, _blocks.isTemplatePart)(block)) {
|
|
36
|
+
const {
|
|
37
|
+
theme,
|
|
38
|
+
slug
|
|
39
|
+
} = block.attributes;
|
|
40
|
+
return select(_coreData.store).getEntityRecord('postType', 'wp_template_part', // Ideally this should be an official public API.
|
|
41
|
+
`${theme}//${slug}`);
|
|
42
|
+
}
|
|
43
|
+
}, []);
|
|
44
|
+
const {
|
|
45
|
+
pushTemplatePart
|
|
46
|
+
} = (0, _data.useDispatch)(_store.store);
|
|
47
|
+
|
|
48
|
+
if (!selectedTemplatePart) {
|
|
49
|
+
return null;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
return (0, _element.createElement)(_blockEditor.BlockSettingsMenuControls, null, ({
|
|
53
|
+
onClose
|
|
54
|
+
}) => (0, _element.createElement)(_components.MenuItem, {
|
|
55
|
+
onClick: () => {
|
|
56
|
+
pushTemplatePart(selectedTemplatePart.id);
|
|
57
|
+
onClose();
|
|
58
|
+
}
|
|
59
|
+
},
|
|
60
|
+
/* translators: %s: template part title */
|
|
61
|
+
(0, _i18n.sprintf)((0, _i18n.__)('Edit %s'), selectedTemplatePart.slug)));
|
|
62
|
+
}
|
|
63
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["@wordpress/edit-site/src/components/edit-template-part-menu-button/index.js"],"names":["EditTemplatePartMenuButton","selectedTemplatePart","select","block","blockEditorStore","getSelectedBlock","theme","slug","attributes","coreStore","getEntityRecord","pushTemplatePart","editSiteStore","onClose","id"],"mappings":";;;;;;;;;AAGA;;AACA;;AAIA;;AACA;;AACA;;AACA;;AAKA;;AAhBA;AACA;AACA;;AAWA;AACA;AACA;AAGe,SAASA,0BAAT,GAAsC;AACpD,QAAMC,oBAAoB,GAAG,qBAAaC,MAAF,IAAc;AACrD,UAAMC,KAAK,GAAGD,MAAM,CAAEE,kBAAF,CAAN,CAA2BC,gBAA3B,EAAd;;AAEA,QAAKF,KAAK,IAAI,4BAAgBA,KAAhB,CAAd,EAAwC;AACvC,YAAM;AAAEG,QAAAA,KAAF;AAASC,QAAAA;AAAT,UAAkBJ,KAAK,CAACK,UAA9B;AAEA,aAAON,MAAM,CAAEO,eAAF,CAAN,CAAoBC,eAApB,CACN,UADM,EAEN,kBAFM,EAGN;AACC,SAAGJ,KAAO,KAAKC,IAAM,EAJhB,CAAP;AAMA;AACD,GAb4B,EAa1B,EAb0B,CAA7B;AAcA,QAAM;AAAEI,IAAAA;AAAF,MAAuB,uBAAaC,YAAb,CAA7B;;AAEA,MAAK,CAAEX,oBAAP,EAA8B;AAC7B,WAAO,IAAP;AACA;;AAED,SACC,4BAAC,sCAAD,QACG,CAAE;AAAEY,IAAAA;AAAF,GAAF,KACD,4BAAC,oBAAD;AACC,IAAA,OAAO,EAAG,MAAM;AACfF,MAAAA,gBAAgB,CAAEV,oBAAoB,CAACa,EAAvB,CAAhB;AACAD,MAAAA,OAAO;AACP;AAJF;AAOE;AACA,qBAAS,cAAI,SAAJ,CAAT,EAA0BZ,oBAAoB,CAACM,IAA/C,CARF,CAFF,CADD;AAiBA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tstore as blockEditorStore,\n\tBlockSettingsMenuControls,\n} from '@wordpress/block-editor';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { MenuItem } from '@wordpress/components';\nimport { isTemplatePart } from '@wordpress/blocks';\nimport { __, sprintf } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { store as editSiteStore } from '../../store';\n\nexport default function EditTemplatePartMenuButton() {\n\tconst selectedTemplatePart = useSelect( ( select ) => {\n\t\tconst block = select( blockEditorStore ).getSelectedBlock();\n\n\t\tif ( block && isTemplatePart( block ) ) {\n\t\t\tconst { theme, slug } = block.attributes;\n\n\t\t\treturn select( coreStore ).getEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\t'wp_template_part',\n\t\t\t\t// Ideally this should be an official public API.\n\t\t\t\t`${ theme }//${ slug }`\n\t\t\t);\n\t\t}\n\t}, [] );\n\tconst { pushTemplatePart } = useDispatch( editSiteStore );\n\n\tif ( ! selectedTemplatePart ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<BlockSettingsMenuControls>\n\t\t\t{ ( { onClose } ) => (\n\t\t\t\t<MenuItem\n\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\tpushTemplatePart( selectedTemplatePart.id );\n\t\t\t\t\t\tonClose();\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t{\n\t\t\t\t\t\t/* translators: %s: template part title */\n\t\t\t\t\t\tsprintf( __( 'Edit %s' ), selectedTemplatePart.slug )\n\t\t\t\t\t}\n\t\t\t\t</MenuItem>\n\t\t\t) }\n\t\t</BlockSettingsMenuControls>\n\t);\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/edit-site/src/components/editor/global-styles-provider.js"],"names":["EMPTY_CONTENT","isGlobalStylesUserThemeJSON","version","EMPTY_CONTENT_STRING","JSON","stringify","GlobalStylesContext","getSetting","context","path","setSetting","newValue","getStyle","propertyName","origin","setStyle","contexts","mergeTreesCustomizer","objValue","srcValue","Array","isArray","useGlobalStylesContext","useGlobalStylesEntityContent","useGlobalStylesReset","content","setContent","canRestart","extractSupportKeys","supports","supportKeys","Object","keys","STYLE_PROPERTY","forEach","name","support","requiresOptOut","push","getBlockMetadata","blockTypes","result","blockType","selector","__experimentalSelector","replace","blockSelectors","split","elements","ELEMENTS","key","elementSelector","blockSelector","join","immutableSet","object","value","clone","GlobalStylesProvider","children","baseStyles","settings","select","blocksStore","getBlockTypes","editSiteStore","getSettings","updateSettings","blocks","__experimentalGlobalStylesBaseStyles","themeStyles","userStyles","mergedStyles","newUserStyles","parse","e","console","error","addUserToSettings","settingsToAdd","PRESET_METADATA","presetData","user","userStylesWithOrigin","newMergedStyles","nextValue","root","ROOT_BLOCK_NAME","ROOT_BLOCK_SELECTOR","ROOT_BLOCK_SUPPORTS","propertyPath","newContent","newSettings","styles","newStyles","nonGlobalStyles","filter","style","isGlobalStyles","customProperties","globalStyles","css","__experimentalNoWrapper","__experimentalFeatures"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { set, get, has, mergeWith, mapValues, setWith, clone } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tcreateContext,\n\tuseCallback,\n\tuseContext,\n\tuseEffect,\n\tuseMemo,\n} from '@wordpress/element';\nimport {\n\t__EXPERIMENTAL_STYLE_PROPERTY as STYLE_PROPERTY,\n\t__EXPERIMENTAL_ELEMENTS as ELEMENTS,\n\tstore as blocksStore,\n} from '@wordpress/blocks';\nimport { useEntityProp } from '@wordpress/core-data';\nimport { useSelect, useDispatch } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport {\n\tROOT_BLOCK_NAME,\n\tROOT_BLOCK_SELECTOR,\n\tROOT_BLOCK_SUPPORTS,\n\tgetValueFromVariable,\n\tgetPresetVariable,\n\tPRESET_METADATA,\n} from './utils';\nimport { toCustomProperties, toStyles } from './global-styles-renderer';\nimport { store as editSiteStore } from '../../store';\n\nconst EMPTY_CONTENT = { isGlobalStylesUserThemeJSON: true, version: 1 };\nconst EMPTY_CONTENT_STRING = JSON.stringify( EMPTY_CONTENT );\n\nconst GlobalStylesContext = createContext( {\n\t/* eslint-disable no-unused-vars */\n\tgetSetting: ( context, path ) => {},\n\tsetSetting: ( context, path, newValue ) => {},\n\tgetStyle: ( context, propertyName, origin ) => {},\n\tsetStyle: ( context, propertyName, newValue ) => {},\n\tcontexts: {},\n\t/* eslint-enable no-unused-vars */\n} );\n\nconst mergeTreesCustomizer = ( objValue, srcValue ) => {\n\t// We only pass as arrays the presets,\n\t// in which case we want the new array of values\n\t// to override the old array (no merging).\n\tif ( Array.isArray( srcValue ) ) {\n\t\treturn srcValue;\n\t}\n};\n\nexport const useGlobalStylesContext = () => useContext( GlobalStylesContext );\n\nconst useGlobalStylesEntityContent = () => {\n\treturn useEntityProp( 'postType', 'wp_global_styles', 'content' );\n};\n\nexport const useGlobalStylesReset = () => {\n\tconst [ content, setContent ] = useGlobalStylesEntityContent();\n\tconst canRestart = !! content && content !== EMPTY_CONTENT_STRING;\n\treturn [\n\t\tcanRestart,\n\t\tuseCallback( () => setContent( EMPTY_CONTENT_STRING ), [ setContent ] ),\n\t];\n};\n\nconst extractSupportKeys = ( supports ) => {\n\tconst supportKeys = [];\n\tObject.keys( STYLE_PROPERTY ).forEach( ( name ) => {\n\t\tif ( ! STYLE_PROPERTY[ name ].support ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Opting out means that, for certain support keys like background color,\n\t\t// blocks have to explicitly set the support value false. If the key is\n\t\t// unset, we still enable it.\n\t\tif ( STYLE_PROPERTY[ name ].requiresOptOut ) {\n\t\t\tif (\n\t\t\t\thas( supports, STYLE_PROPERTY[ name ].support[ 0 ] ) &&\n\t\t\t\tget( supports, STYLE_PROPERTY[ name ].support ) !== false\n\t\t\t) {\n\t\t\t\treturn supportKeys.push( name );\n\t\t\t}\n\t\t}\n\n\t\tif ( get( supports, STYLE_PROPERTY[ name ].support, false ) ) {\n\t\t\treturn supportKeys.push( name );\n\t\t}\n\t} );\n\treturn supportKeys;\n};\n\nconst getBlockMetadata = ( blockTypes ) => {\n\tconst result = {};\n\n\tblockTypes.forEach( ( blockType ) => {\n\t\tconst name = blockType.name;\n\t\tconst supports = extractSupportKeys( blockType?.supports );\n\n\t\tconst selector =\n\t\t\tblockType?.supports?.__experimentalSelector ??\n\t\t\t'.wp-block-' + name.replace( 'core/', '' ).replace( '/', '-' );\n\t\tconst blockSelectors = selector.split( ',' );\n\t\tconst elements = [];\n\t\tObject.keys( ELEMENTS ).forEach( ( key ) => {\n\t\t\tconst elementSelector = [];\n\t\t\tblockSelectors.forEach( ( blockSelector ) => {\n\t\t\t\telementSelector.push( blockSelector + ' ' + ELEMENTS[ key ] );\n\t\t\t} );\n\t\t\telements[ key ] = elementSelector.join( ',' );\n\t\t} );\n\t\tresult[ name ] = {\n\t\t\tname,\n\t\t\tselector,\n\t\t\tsupports,\n\t\t\telements,\n\t\t};\n\t} );\n\n\treturn result;\n};\n\nfunction immutableSet( object, path, value ) {\n\treturn setWith( object ? clone( object ) : {}, path, value, clone );\n}\n\nexport default function GlobalStylesProvider( { children, baseStyles } ) {\n\tconst [ content, setContent ] = useGlobalStylesEntityContent();\n\tconst { blockTypes, settings } = useSelect( ( select ) => {\n\t\treturn {\n\t\t\tblockTypes: select( blocksStore ).getBlockTypes(),\n\t\t\tsettings: select( editSiteStore ).getSettings(),\n\t\t};\n\t} );\n\tconst { updateSettings } = useDispatch( editSiteStore );\n\n\tconst blocks = useMemo( () => getBlockMetadata( blockTypes ), [\n\t\tblockTypes,\n\t] );\n\n\tconst { __experimentalGlobalStylesBaseStyles: themeStyles } = settings;\n\tconst { userStyles, mergedStyles } = useMemo( () => {\n\t\tlet newUserStyles;\n\t\ttry {\n\t\t\tnewUserStyles = content ? JSON.parse( content ) : EMPTY_CONTENT;\n\n\t\t\t// At the moment, we ignore previous user config that\n\t\t\t// is in a different version than the theme config.\n\t\t\tif ( newUserStyles?.version !== baseStyles?.version ) {\n\t\t\t\tnewUserStyles = EMPTY_CONTENT;\n\t\t\t}\n\t\t} catch ( e ) {\n\t\t\t/* eslint-disable no-console */\n\t\t\tconsole.error( 'User data is not JSON' );\n\t\t\tconsole.error( e );\n\t\t\t/* eslint-enable no-console */\n\t\t\tnewUserStyles = EMPTY_CONTENT;\n\t\t}\n\n\t\t// It is very important to verify if the flag isGlobalStylesUserThemeJSON is true.\n\t\t// If it is not true the content was not escaped and is not safe.\n\t\tif ( ! newUserStyles.isGlobalStylesUserThemeJSON ) {\n\t\t\tnewUserStyles = EMPTY_CONTENT;\n\t\t}\n\n\t\tconst addUserToSettings = ( settingsToAdd ) => {\n\t\t\tPRESET_METADATA.forEach( ( { path } ) => {\n\t\t\t\tconst presetData = get( settingsToAdd, path );\n\t\t\t\tif ( presetData ) {\n\t\t\t\t\tsettingsToAdd = immutableSet( settingsToAdd, path, {\n\t\t\t\t\t\tuser: presetData,\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t} );\n\t\t\treturn settingsToAdd;\n\t\t};\n\n\t\tlet userStylesWithOrigin = newUserStyles;\n\t\tif ( userStylesWithOrigin.settings ) {\n\t\t\tuserStylesWithOrigin = {\n\t\t\t\t...userStylesWithOrigin,\n\t\t\t\tsettings: addUserToSettings( userStylesWithOrigin.settings ),\n\t\t\t};\n\t\t\tif ( userStylesWithOrigin.settings.blocks ) {\n\t\t\t\tuserStylesWithOrigin.settings = {\n\t\t\t\t\t...userStylesWithOrigin.settings,\n\t\t\t\t\tblocks: mapValues(\n\t\t\t\t\t\tuserStylesWithOrigin.settings.blocks,\n\t\t\t\t\t\taddUserToSettings\n\t\t\t\t\t),\n\t\t\t\t};\n\t\t\t}\n\t\t}\n\n\t\t// At this point, the version schema of the theme & user\n\t\t// is the same, so we can merge them.\n\t\tconst newMergedStyles = mergeWith(\n\t\t\t{},\n\t\t\tbaseStyles,\n\t\t\tuserStylesWithOrigin,\n\t\t\tmergeTreesCustomizer\n\t\t);\n\n\t\treturn {\n\t\t\tuserStyles: newUserStyles,\n\t\t\tmergedStyles: newMergedStyles,\n\t\t};\n\t}, [ content ] );\n\n\tconst nextValue = useMemo(\n\t\t() => ( {\n\t\t\troot: {\n\t\t\t\tname: ROOT_BLOCK_NAME,\n\t\t\t\tselector: ROOT_BLOCK_SELECTOR,\n\t\t\t\tsupports: ROOT_BLOCK_SUPPORTS,\n\t\t\t\telements: ELEMENTS,\n\t\t\t},\n\t\t\tblocks,\n\t\t\tgetSetting: ( context, propertyPath ) => {\n\t\t\t\tconst path =\n\t\t\t\t\tcontext === ROOT_BLOCK_NAME\n\t\t\t\t\t\t? propertyPath\n\t\t\t\t\t\t: [ 'blocks', context, ...propertyPath ];\n\t\t\t\tget( userStyles?.settings, path );\n\t\t\t},\n\t\t\tsetSetting: ( context, propertyPath, newValue ) => {\n\t\t\t\tconst newContent = { ...userStyles };\n\t\t\t\tconst path =\n\t\t\t\t\tcontext === ROOT_BLOCK_NAME\n\t\t\t\t\t\t? [ 'settings' ]\n\t\t\t\t\t\t: [ 'settings', 'blocks', context ];\n\n\t\t\t\tlet newSettings = get( newContent, path );\n\t\t\t\tif ( ! newSettings ) {\n\t\t\t\t\tnewSettings = {};\n\t\t\t\t\tset( newContent, path, newSettings );\n\t\t\t\t}\n\t\t\t\tset( newSettings, propertyPath, newValue );\n\n\t\t\t\tsetContent( JSON.stringify( newContent ) );\n\t\t\t},\n\t\t\tgetStyle: ( context, propertyName, origin = 'merged' ) => {\n\t\t\t\tconst propertyPath = STYLE_PROPERTY[ propertyName ].value;\n\t\t\t\tconst path =\n\t\t\t\t\tcontext === ROOT_BLOCK_NAME\n\t\t\t\t\t\t? propertyPath\n\t\t\t\t\t\t: [ 'blocks', context, ...propertyPath ];\n\n\t\t\t\tif ( origin === 'theme' ) {\n\t\t\t\t\tconst value = get( themeStyles?.styles, path );\n\t\t\t\t\treturn getValueFromVariable( themeStyles, context, value );\n\t\t\t\t}\n\n\t\t\t\tif ( origin === 'user' ) {\n\t\t\t\t\tconst value = get( userStyles?.styles, path );\n\n\t\t\t\t\t// We still need to use merged styles here because the\n\t\t\t\t\t// presets used to resolve user variable may be defined a\n\t\t\t\t\t// layer down ( core, theme, or user ).\n\t\t\t\t\treturn getValueFromVariable( mergedStyles, context, value );\n\t\t\t\t}\n\n\t\t\t\tconst value = get( mergedStyles?.styles, path );\n\t\t\t\treturn getValueFromVariable( mergedStyles, context, value );\n\t\t\t},\n\t\t\tsetStyle: ( context, propertyName, newValue ) => {\n\t\t\t\tconst newContent = { ...userStyles };\n\n\t\t\t\tconst path =\n\t\t\t\t\tROOT_BLOCK_NAME === context\n\t\t\t\t\t\t? [ 'styles' ]\n\t\t\t\t\t\t: [ 'styles', 'blocks', context ];\n\t\t\t\tconst propertyPath = STYLE_PROPERTY[ propertyName ].value;\n\n\t\t\t\tlet newStyles = get( newContent, path );\n\t\t\t\tif ( ! newStyles ) {\n\t\t\t\t\tnewStyles = {};\n\t\t\t\t\tset( newContent, path, newStyles );\n\t\t\t\t}\n\t\t\t\tset(\n\t\t\t\t\tnewStyles,\n\t\t\t\t\tpropertyPath,\n\t\t\t\t\tgetPresetVariable(\n\t\t\t\t\t\tmergedStyles,\n\t\t\t\t\t\tcontext,\n\t\t\t\t\t\tpropertyName,\n\t\t\t\t\t\tnewValue\n\t\t\t\t\t)\n\t\t\t\t);\n\n\t\t\t\tsetContent( JSON.stringify( newContent ) );\n\t\t\t},\n\t\t} ),\n\t\t[ content, mergedStyles, themeStyles ]\n\t);\n\n\tuseEffect( () => {\n\t\tconst nonGlobalStyles = settings.styles.filter(\n\t\t\t( style ) => ! style.isGlobalStyles\n\t\t);\n\t\tconst customProperties = toCustomProperties( mergedStyles, blocks );\n\t\tconst globalStyles = toStyles( mergedStyles, blocks );\n\t\tupdateSettings( {\n\t\t\t...settings,\n\t\t\tstyles: [\n\t\t\t\t...nonGlobalStyles,\n\t\t\t\t{\n\t\t\t\t\tcss: customProperties,\n\t\t\t\t\tisGlobalStyles: true,\n\t\t\t\t\t__experimentalNoWrapper: true,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcss: globalStyles,\n\t\t\t\t\tisGlobalStyles: true,\n\t\t\t\t},\n\t\t\t],\n\t\t\t__experimentalFeatures: mergedStyles.settings,\n\t\t} );\n\t}, [ blocks, mergedStyles ] );\n\n\treturn (\n\t\t<GlobalStylesContext.Provider value={ nextValue }>\n\t\t\t{ children }\n\t\t</GlobalStylesContext.Provider>\n\t);\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/edit-site/src/components/editor/global-styles-provider.js"],"names":["EMPTY_CONTENT","isGlobalStylesUserThemeJSON","version","EMPTY_CONTENT_STRING","JSON","stringify","GlobalStylesContext","getSetting","context","path","setSetting","newValue","getStyle","propertyName","origin","setStyle","contexts","mergeTreesCustomizer","objValue","srcValue","Array","isArray","useGlobalStylesContext","useGlobalStylesEntityContent","useGlobalStylesReset","content","setContent","canRestart","extractSupportKeys","supports","supportKeys","Object","keys","STYLE_PROPERTY","forEach","name","support","requiresOptOut","push","getBlockMetadata","blockTypes","result","blockType","selector","__experimentalSelector","replace","blockSelectors","split","elements","ELEMENTS","key","elementSelector","blockSelector","join","immutableSet","object","value","clone","GlobalStylesProvider","children","baseStyles","settings","select","blocksStore","getBlockTypes","editSiteStore","getSettings","updateSettings","blocks","__experimentalGlobalStylesBaseStyles","themeStyles","userStyles","mergedStyles","newUserStyles","parse","e","console","error","addUserToSettings","settingsToAdd","PRESET_METADATA","presetData","user","userStylesWithOrigin","newMergedStyles","nextValue","root","ROOT_BLOCK_NAME","ROOT_BLOCK_SELECTOR","ROOT_BLOCK_SUPPORTS","propertyPath","newContent","newSettings","styles","newStyles","nonGlobalStyles","filter","style","isGlobalStyles","customProperties","globalStyles","css","__experimentalNoWrapper","__experimentalFeatures"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { set, get, has, mergeWith, mapValues, setWith, clone } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tcreateContext,\n\tuseCallback,\n\tuseContext,\n\tuseEffect,\n\tuseMemo,\n} from '@wordpress/element';\nimport {\n\t__EXPERIMENTAL_STYLE_PROPERTY as STYLE_PROPERTY,\n\t__EXPERIMENTAL_ELEMENTS as ELEMENTS,\n\tstore as blocksStore,\n} from '@wordpress/blocks';\nimport { useEntityProp } from '@wordpress/core-data';\nimport { useSelect, useDispatch } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport {\n\tROOT_BLOCK_NAME,\n\tROOT_BLOCK_SELECTOR,\n\tROOT_BLOCK_SUPPORTS,\n\tgetValueFromVariable,\n\tgetPresetVariable,\n\tPRESET_METADATA,\n} from './utils';\nimport { toCustomProperties, toStyles } from './global-styles-renderer';\nimport { store as editSiteStore } from '../../store';\n\nconst EMPTY_CONTENT = { isGlobalStylesUserThemeJSON: true, version: 1 };\nconst EMPTY_CONTENT_STRING = JSON.stringify( EMPTY_CONTENT );\n\nconst GlobalStylesContext = createContext( {\n\t/* eslint-disable no-unused-vars */\n\tgetSetting: ( context, path ) => {},\n\tsetSetting: ( context, path, newValue ) => {},\n\tgetStyle: ( context, propertyName, origin ) => {},\n\tsetStyle: ( context, propertyName, newValue ) => {},\n\tcontexts: {},\n\t/* eslint-enable no-unused-vars */\n} );\n\nconst mergeTreesCustomizer = ( objValue, srcValue ) => {\n\t// We only pass as arrays the presets,\n\t// in which case we want the new array of values\n\t// to override the old array (no merging).\n\tif ( Array.isArray( srcValue ) ) {\n\t\treturn srcValue;\n\t}\n};\n\nexport const useGlobalStylesContext = () => useContext( GlobalStylesContext );\n\nconst useGlobalStylesEntityContent = () => {\n\treturn useEntityProp( 'postType', 'wp_global_styles', 'content' );\n};\n\nexport const useGlobalStylesReset = () => {\n\tconst [ content, setContent ] = useGlobalStylesEntityContent();\n\tconst canRestart = !! content && content !== EMPTY_CONTENT_STRING;\n\treturn [\n\t\tcanRestart,\n\t\tuseCallback( () => setContent( EMPTY_CONTENT_STRING ), [ setContent ] ),\n\t];\n};\n\nconst extractSupportKeys = ( supports ) => {\n\tconst supportKeys = [];\n\tObject.keys( STYLE_PROPERTY ).forEach( ( name ) => {\n\t\tif ( ! STYLE_PROPERTY[ name ].support ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Opting out means that, for certain support keys like background color,\n\t\t// blocks have to explicitly set the support value false. If the key is\n\t\t// unset, we still enable it.\n\t\tif ( STYLE_PROPERTY[ name ].requiresOptOut ) {\n\t\t\tif (\n\t\t\t\thas( supports, STYLE_PROPERTY[ name ].support[ 0 ] ) &&\n\t\t\t\tget( supports, STYLE_PROPERTY[ name ].support ) !== false\n\t\t\t) {\n\t\t\t\treturn supportKeys.push( name );\n\t\t\t}\n\t\t}\n\n\t\tif ( get( supports, STYLE_PROPERTY[ name ].support, false ) ) {\n\t\t\treturn supportKeys.push( name );\n\t\t}\n\t} );\n\treturn supportKeys;\n};\n\nconst getBlockMetadata = ( blockTypes ) => {\n\tconst result = {};\n\n\tblockTypes.forEach( ( blockType ) => {\n\t\tconst name = blockType.name;\n\t\tconst supports = extractSupportKeys( blockType?.supports );\n\n\t\tconst selector =\n\t\t\tblockType?.supports?.__experimentalSelector ??\n\t\t\t'.wp-block-' + name.replace( 'core/', '' ).replace( '/', '-' );\n\t\tconst blockSelectors = selector.split( ',' );\n\t\tconst elements = [];\n\t\tObject.keys( ELEMENTS ).forEach( ( key ) => {\n\t\t\tconst elementSelector = [];\n\t\t\tblockSelectors.forEach( ( blockSelector ) => {\n\t\t\t\telementSelector.push( blockSelector + ' ' + ELEMENTS[ key ] );\n\t\t\t} );\n\t\t\telements[ key ] = elementSelector.join( ',' );\n\t\t} );\n\t\tresult[ name ] = {\n\t\t\tname,\n\t\t\tselector,\n\t\t\tsupports,\n\t\t\telements,\n\t\t};\n\t} );\n\n\treturn result;\n};\n\nfunction immutableSet( object, path, value ) {\n\treturn setWith( object ? clone( object ) : {}, path, value, clone );\n}\n\nexport default function GlobalStylesProvider( { children, baseStyles } ) {\n\tconst [ content, setContent ] = useGlobalStylesEntityContent();\n\tconst { blockTypes, settings } = useSelect( ( select ) => {\n\t\treturn {\n\t\t\tblockTypes: select( blocksStore ).getBlockTypes(),\n\t\t\tsettings: select( editSiteStore ).getSettings(),\n\t\t};\n\t}, [] );\n\tconst { updateSettings } = useDispatch( editSiteStore );\n\n\tconst blocks = useMemo( () => getBlockMetadata( blockTypes ), [\n\t\tblockTypes,\n\t] );\n\n\tconst { __experimentalGlobalStylesBaseStyles: themeStyles } = settings;\n\tconst { userStyles, mergedStyles } = useMemo( () => {\n\t\tlet newUserStyles;\n\t\ttry {\n\t\t\tnewUserStyles = content ? JSON.parse( content ) : EMPTY_CONTENT;\n\n\t\t\t// At the moment, we ignore previous user config that\n\t\t\t// is in a different version than the theme config.\n\t\t\tif ( newUserStyles?.version !== baseStyles?.version ) {\n\t\t\t\tnewUserStyles = EMPTY_CONTENT;\n\t\t\t}\n\t\t} catch ( e ) {\n\t\t\t/* eslint-disable no-console */\n\t\t\tconsole.error( 'User data is not JSON' );\n\t\t\tconsole.error( e );\n\t\t\t/* eslint-enable no-console */\n\t\t\tnewUserStyles = EMPTY_CONTENT;\n\t\t}\n\n\t\t// It is very important to verify if the flag isGlobalStylesUserThemeJSON is true.\n\t\t// If it is not true the content was not escaped and is not safe.\n\t\tif ( ! newUserStyles.isGlobalStylesUserThemeJSON ) {\n\t\t\tnewUserStyles = EMPTY_CONTENT;\n\t\t}\n\n\t\tconst addUserToSettings = ( settingsToAdd ) => {\n\t\t\tPRESET_METADATA.forEach( ( { path } ) => {\n\t\t\t\tconst presetData = get( settingsToAdd, path );\n\t\t\t\tif ( presetData ) {\n\t\t\t\t\tsettingsToAdd = immutableSet( settingsToAdd, path, {\n\t\t\t\t\t\tuser: presetData,\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t} );\n\t\t\treturn settingsToAdd;\n\t\t};\n\n\t\tlet userStylesWithOrigin = newUserStyles;\n\t\tif ( userStylesWithOrigin.settings ) {\n\t\t\tuserStylesWithOrigin = {\n\t\t\t\t...userStylesWithOrigin,\n\t\t\t\tsettings: addUserToSettings( userStylesWithOrigin.settings ),\n\t\t\t};\n\t\t\tif ( userStylesWithOrigin.settings.blocks ) {\n\t\t\t\tuserStylesWithOrigin.settings = {\n\t\t\t\t\t...userStylesWithOrigin.settings,\n\t\t\t\t\tblocks: mapValues(\n\t\t\t\t\t\tuserStylesWithOrigin.settings.blocks,\n\t\t\t\t\t\taddUserToSettings\n\t\t\t\t\t),\n\t\t\t\t};\n\t\t\t}\n\t\t}\n\n\t\t// At this point, the version schema of the theme & user\n\t\t// is the same, so we can merge them.\n\t\tconst newMergedStyles = mergeWith(\n\t\t\t{},\n\t\t\tbaseStyles,\n\t\t\tuserStylesWithOrigin,\n\t\t\tmergeTreesCustomizer\n\t\t);\n\n\t\treturn {\n\t\t\tuserStyles: newUserStyles,\n\t\t\tmergedStyles: newMergedStyles,\n\t\t};\n\t}, [ content ] );\n\n\tconst nextValue = useMemo(\n\t\t() => ( {\n\t\t\troot: {\n\t\t\t\tname: ROOT_BLOCK_NAME,\n\t\t\t\tselector: ROOT_BLOCK_SELECTOR,\n\t\t\t\tsupports: ROOT_BLOCK_SUPPORTS,\n\t\t\t\telements: ELEMENTS,\n\t\t\t},\n\t\t\tblocks,\n\t\t\tgetSetting: ( context, propertyPath ) => {\n\t\t\t\tconst path =\n\t\t\t\t\tcontext === ROOT_BLOCK_NAME\n\t\t\t\t\t\t? propertyPath\n\t\t\t\t\t\t: [ 'blocks', context, ...propertyPath ];\n\t\t\t\tget( userStyles?.settings, path );\n\t\t\t},\n\t\t\tsetSetting: ( context, propertyPath, newValue ) => {\n\t\t\t\tconst newContent = { ...userStyles };\n\t\t\t\tconst path =\n\t\t\t\t\tcontext === ROOT_BLOCK_NAME\n\t\t\t\t\t\t? [ 'settings' ]\n\t\t\t\t\t\t: [ 'settings', 'blocks', context ];\n\n\t\t\t\tlet newSettings = get( newContent, path );\n\t\t\t\tif ( ! newSettings ) {\n\t\t\t\t\tnewSettings = {};\n\t\t\t\t\tset( newContent, path, newSettings );\n\t\t\t\t}\n\t\t\t\tset( newSettings, propertyPath, newValue );\n\n\t\t\t\tsetContent( JSON.stringify( newContent ) );\n\t\t\t},\n\t\t\tgetStyle: ( context, propertyName, origin = 'merged' ) => {\n\t\t\t\tconst propertyPath = STYLE_PROPERTY[ propertyName ].value;\n\t\t\t\tconst path =\n\t\t\t\t\tcontext === ROOT_BLOCK_NAME\n\t\t\t\t\t\t? propertyPath\n\t\t\t\t\t\t: [ 'blocks', context, ...propertyPath ];\n\n\t\t\t\tif ( origin === 'theme' ) {\n\t\t\t\t\tconst value = get( themeStyles?.styles, path );\n\t\t\t\t\treturn getValueFromVariable( themeStyles, context, value );\n\t\t\t\t}\n\n\t\t\t\tif ( origin === 'user' ) {\n\t\t\t\t\tconst value = get( userStyles?.styles, path );\n\n\t\t\t\t\t// We still need to use merged styles here because the\n\t\t\t\t\t// presets used to resolve user variable may be defined a\n\t\t\t\t\t// layer down ( core, theme, or user ).\n\t\t\t\t\treturn getValueFromVariable( mergedStyles, context, value );\n\t\t\t\t}\n\n\t\t\t\tconst value = get( mergedStyles?.styles, path );\n\t\t\t\treturn getValueFromVariable( mergedStyles, context, value );\n\t\t\t},\n\t\t\tsetStyle: ( context, propertyName, newValue ) => {\n\t\t\t\tconst newContent = { ...userStyles };\n\n\t\t\t\tconst path =\n\t\t\t\t\tROOT_BLOCK_NAME === context\n\t\t\t\t\t\t? [ 'styles' ]\n\t\t\t\t\t\t: [ 'styles', 'blocks', context ];\n\t\t\t\tconst propertyPath = STYLE_PROPERTY[ propertyName ].value;\n\n\t\t\t\tlet newStyles = get( newContent, path );\n\t\t\t\tif ( ! newStyles ) {\n\t\t\t\t\tnewStyles = {};\n\t\t\t\t\tset( newContent, path, newStyles );\n\t\t\t\t}\n\t\t\t\tset(\n\t\t\t\t\tnewStyles,\n\t\t\t\t\tpropertyPath,\n\t\t\t\t\tgetPresetVariable(\n\t\t\t\t\t\tmergedStyles,\n\t\t\t\t\t\tcontext,\n\t\t\t\t\t\tpropertyName,\n\t\t\t\t\t\tnewValue\n\t\t\t\t\t)\n\t\t\t\t);\n\n\t\t\t\tsetContent( JSON.stringify( newContent ) );\n\t\t\t},\n\t\t} ),\n\t\t[ content, mergedStyles, themeStyles ]\n\t);\n\n\tuseEffect( () => {\n\t\tconst nonGlobalStyles = settings.styles.filter(\n\t\t\t( style ) => ! style.isGlobalStyles\n\t\t);\n\t\tconst customProperties = toCustomProperties( mergedStyles, blocks );\n\t\tconst globalStyles = toStyles( mergedStyles, blocks );\n\t\tupdateSettings( {\n\t\t\t...settings,\n\t\t\tstyles: [\n\t\t\t\t...nonGlobalStyles,\n\t\t\t\t{\n\t\t\t\t\tcss: customProperties,\n\t\t\t\t\tisGlobalStyles: true,\n\t\t\t\t\t__experimentalNoWrapper: true,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcss: globalStyles,\n\t\t\t\t\tisGlobalStyles: true,\n\t\t\t\t},\n\t\t\t],\n\t\t\t__experimentalFeatures: mergedStyles.settings,\n\t\t} );\n\t}, [ blocks, mergedStyles ] );\n\n\treturn (\n\t\t<GlobalStylesContext.Provider value={ nextValue }>\n\t\t\t{ children }\n\t\t</GlobalStylesContext.Provider>\n\t);\n}\n"]}
|
|
@@ -25,13 +25,15 @@ var _i18n = require("@wordpress/i18n");
|
|
|
25
25
|
|
|
26
26
|
var _plugins = require("@wordpress/plugins");
|
|
27
27
|
|
|
28
|
+
var _keyboardShortcuts = require("@wordpress/keyboard-shortcuts");
|
|
29
|
+
|
|
28
30
|
var _header = _interopRequireDefault(require("../header"));
|
|
29
31
|
|
|
30
32
|
var _sidebar = require("../sidebar");
|
|
31
33
|
|
|
32
34
|
var _blockEditor2 = _interopRequireDefault(require("../block-editor"));
|
|
33
35
|
|
|
34
|
-
var
|
|
36
|
+
var _keyboardShortcuts2 = _interopRequireDefault(require("../keyboard-shortcuts"));
|
|
35
37
|
|
|
36
38
|
var _globalStylesProvider = _interopRequireDefault(require("./global-styles-provider"));
|
|
37
39
|
|
|
@@ -163,15 +165,13 @@ function Editor({
|
|
|
163
165
|
}
|
|
164
166
|
|
|
165
167
|
if (isListViewOpen) {
|
|
166
|
-
return (0, _element.createElement)(
|
|
167
|
-
value: "true"
|
|
168
|
-
}, (0, _element.createElement)(_listViewSidebar.default, null));
|
|
168
|
+
return (0, _element.createElement)(_listViewSidebar.default, null);
|
|
169
169
|
}
|
|
170
170
|
|
|
171
171
|
return null;
|
|
172
172
|
};
|
|
173
173
|
|
|
174
|
-
return (0, _element.createElement)(
|
|
174
|
+
return (0, _element.createElement)(_keyboardShortcuts.ShortcutProvider, null, (0, _element.createElement)(_urlQueryController.default, null), (0, _element.createElement)(_components.SlotFillProvider, null, (0, _element.createElement)(_coreData.EntityProvider, {
|
|
175
175
|
kind: "root",
|
|
176
176
|
type: "site"
|
|
177
177
|
}, (0, _element.createElement)(_coreData.EntityProvider, {
|
|
@@ -190,7 +190,7 @@ function Editor({
|
|
|
190
190
|
onError: onError
|
|
191
191
|
}, (0, _element.createElement)(_interface.FullscreenMode, {
|
|
192
192
|
isActive: true
|
|
193
|
-
}), (0, _element.createElement)(_editor.UnsavedChangesWarning, null), (0, _element.createElement)(
|
|
193
|
+
}), (0, _element.createElement)(_editor.UnsavedChangesWarning, null), (0, _element.createElement)(_keyboardShortcuts2.default.Register, null), (0, _element.createElement)(_sidebar.SidebarComplementaryAreaFills, null), (0, _element.createElement)(_interface.InterfaceSkeleton, {
|
|
194
194
|
labels: interfaceLabels,
|
|
195
195
|
drawer: (0, _element.createElement)(_navigationSidebar.default, null),
|
|
196
196
|
secondarySidebar: secondarySidebar(),
|
|
@@ -206,7 +206,7 @@ function Editor({
|
|
|
206
206
|
}), templateResolved && !template && (settings === null || settings === void 0 ? void 0 : settings.siteUrl) && entityId && (0, _element.createElement)(_components.Notice, {
|
|
207
207
|
status: "warning",
|
|
208
208
|
isDismissible: false
|
|
209
|
-
}, (0, _i18n.__)("You attempted to edit an item that doesn't exist. Perhaps it was deleted?")), (0, _element.createElement)(
|
|
209
|
+
}, (0, _i18n.__)("You attempted to edit an item that doesn't exist. Perhaps it was deleted?")), (0, _element.createElement)(_keyboardShortcuts2.default, null)),
|
|
210
210
|
actions: (0, _element.createElement)(_element.Fragment, null, isEntitiesSavedStatesOpen ? (0, _element.createElement)(_editor.EntitiesSavedStates, {
|
|
211
211
|
close: closeEntitiesSavedStates
|
|
212
212
|
}) : (0, _element.createElement)("div", {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/edit-site/src/components/editor/index.js"],"names":["interfaceLabels","secondarySidebar","drawer","Editor","initialSettings","onError","isInserterOpen","isListViewOpen","sidebarIsOpened","settings","entityId","templateType","page","template","templateResolved","isNavigationOpen","select","isInserterOpened","isListViewOpened","getSettings","getEditedPostType","getEditedPostId","getPage","isNavigationOpened","editSiteStore","hasFinishedResolution","getEntityRecord","coreStore","postType","postId","interfaceStore","getActiveComplementaryArea","name","updateEditorSettings","editorStore","setPage","setIsInserterOpened","updateSettings","defaultTemplateTypes","defaultTemplatePartAreas","isEntitiesSavedStatesOpen","setIsEntitiesSavedStatesOpen","openEntitiesSavedStates","closeEntitiesSavedStates","blockContext","context","queryContext","newQueryContext","document","body","classList","add","remove","siteUrl","__experimentalGlobalStylesUserEntityId","__experimentalGlobalStylesBaseStyles"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useEffect, useState, useMemo, useCallback } from '@wordpress/element';\nimport { AsyncModeProvider, useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tSlotFillProvider,\n\tPopover,\n\tButton,\n\tNotice,\n} from '@wordpress/components';\nimport { EntityProvider, store as coreStore } from '@wordpress/core-data';\nimport { BlockContextProvider, BlockBreadcrumb } from '@wordpress/block-editor';\nimport {\n\tFullscreenMode,\n\tInterfaceSkeleton,\n\tComplementaryArea,\n\tstore as interfaceStore,\n} from '@wordpress/interface';\nimport {\n\tEditorNotices,\n\tEditorSnackbars,\n\tEntitiesSavedStates,\n\tUnsavedChangesWarning,\n\tstore as editorStore,\n} from '@wordpress/editor';\nimport { __ } from '@wordpress/i18n';\nimport { PluginArea } from '@wordpress/plugins';\n\n/**\n * Internal dependencies\n */\nimport Header from '../header';\nimport { SidebarComplementaryAreaFills } from '../sidebar';\nimport BlockEditor from '../block-editor';\nimport KeyboardShortcuts from '../keyboard-shortcuts';\nimport GlobalStylesProvider from './global-styles-provider';\nimport NavigationSidebar from '../navigation-sidebar';\nimport URLQueryController from '../url-query-controller';\nimport InserterSidebar from '../secondary-sidebar/inserter-sidebar';\nimport ListViewSidebar from '../secondary-sidebar/list-view-sidebar';\nimport ErrorBoundary from '../error-boundary';\nimport { store as editSiteStore } from '../../store';\n\nconst interfaceLabels = {\n\tsecondarySidebar: __( 'Block Library' ),\n\tdrawer: __( 'Navigation Sidebar' ),\n};\n\nfunction Editor( { initialSettings, onError } ) {\n\tconst {\n\t\tisInserterOpen,\n\t\tisListViewOpen,\n\t\tsidebarIsOpened,\n\t\tsettings,\n\t\tentityId,\n\t\ttemplateType,\n\t\tpage,\n\t\ttemplate,\n\t\ttemplateResolved,\n\t\tisNavigationOpen,\n\t} = useSelect( ( select ) => {\n\t\tconst {\n\t\t\tisInserterOpened,\n\t\t\tisListViewOpened,\n\t\t\tgetSettings,\n\t\t\tgetEditedPostType,\n\t\t\tgetEditedPostId,\n\t\t\tgetPage,\n\t\t\tisNavigationOpened,\n\t\t} = select( editSiteStore );\n\t\tconst { hasFinishedResolution, getEntityRecord } = select( coreStore );\n\t\tconst postType = getEditedPostType();\n\t\tconst postId = getEditedPostId();\n\n\t\t// The currently selected entity to display. Typically template or template part.\n\t\treturn {\n\t\t\tisInserterOpen: isInserterOpened(),\n\t\t\tisListViewOpen: isListViewOpened(),\n\t\t\tsidebarIsOpened: !! select(\n\t\t\t\tinterfaceStore\n\t\t\t).getActiveComplementaryArea( editSiteStore.name ),\n\t\t\tsettings: getSettings(),\n\t\t\ttemplateType: postType,\n\t\t\tpage: getPage(),\n\t\t\ttemplate: postId\n\t\t\t\t? getEntityRecord( 'postType', postType, postId )\n\t\t\t\t: null,\n\t\t\ttemplateResolved: postId\n\t\t\t\t? hasFinishedResolution( 'getEntityRecord', [\n\t\t\t\t\t\t'postType',\n\t\t\t\t\t\tpostType,\n\t\t\t\t\t\tpostId,\n\t\t\t\t ] )\n\t\t\t\t: false,\n\t\t\tentityId: postId,\n\t\t\tisNavigationOpen: isNavigationOpened(),\n\t\t};\n\t}, [] );\n\tconst { updateEditorSettings } = useDispatch( editorStore );\n\tconst { setPage, setIsInserterOpened, updateSettings } = useDispatch(\n\t\teditSiteStore\n\t);\n\tuseEffect( () => {\n\t\tupdateSettings( initialSettings );\n\t}, [] );\n\n\t// Keep the defaultTemplateTypes in the core/editor settings too,\n\t// so that they can be selected with core/editor selectors in any editor.\n\t// This is needed because edit-site doesn't initialize with EditorProvider,\n\t// which internally uses updateEditorSettings as well.\n\tconst { defaultTemplateTypes, defaultTemplatePartAreas } = settings;\n\tuseEffect( () => {\n\t\tupdateEditorSettings( {\n\t\t\tdefaultTemplateTypes,\n\t\t\tdefaultTemplatePartAreas,\n\t\t} );\n\t}, [ defaultTemplateTypes, defaultTemplatePartAreas ] );\n\n\tconst [\n\t\tisEntitiesSavedStatesOpen,\n\t\tsetIsEntitiesSavedStatesOpen,\n\t] = useState( false );\n\tconst openEntitiesSavedStates = useCallback(\n\t\t() => setIsEntitiesSavedStatesOpen( true ),\n\t\t[]\n\t);\n\tconst closeEntitiesSavedStates = useCallback( () => {\n\t\tsetIsEntitiesSavedStatesOpen( false );\n\t}, [] );\n\n\tconst blockContext = useMemo(\n\t\t() => ( {\n\t\t\t...page?.context,\n\t\t\tqueryContext: [\n\t\t\t\tpage?.context.queryContext || { page: 1 },\n\t\t\t\t( newQueryContext ) =>\n\t\t\t\t\tsetPage( {\n\t\t\t\t\t\t...page,\n\t\t\t\t\t\tcontext: {\n\t\t\t\t\t\t\t...page?.context,\n\t\t\t\t\t\t\tqueryContext: {\n\t\t\t\t\t\t\t\t...page?.context.queryContext,\n\t\t\t\t\t\t\t\t...newQueryContext,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t} ),\n\t\t\t],\n\t\t} ),\n\t\t[ page?.context ]\n\t);\n\n\tuseEffect( () => {\n\t\tif ( isNavigationOpen ) {\n\t\t\tdocument.body.classList.add( 'is-navigation-sidebar-open' );\n\t\t} else {\n\t\t\tdocument.body.classList.remove( 'is-navigation-sidebar-open' );\n\t\t}\n\t}, [ isNavigationOpen ] );\n\n\t// Don't render the Editor until the settings are set and loaded\n\tif ( ! settings?.siteUrl ) {\n\t\treturn null;\n\t}\n\n\tconst secondarySidebar = () => {\n\t\tif ( isInserterOpen ) {\n\t\t\treturn <InserterSidebar />;\n\t\t}\n\t\tif ( isListViewOpen ) {\n\t\t\treturn (\n\t\t\t\t<AsyncModeProvider value=\"true\">\n\t\t\t\t\t<ListViewSidebar />\n\t\t\t\t</AsyncModeProvider>\n\t\t\t);\n\t\t}\n\t\treturn null;\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t<URLQueryController />\n\t\t\t<SlotFillProvider>\n\t\t\t\t<EntityProvider kind=\"root\" type=\"site\">\n\t\t\t\t\t<EntityProvider\n\t\t\t\t\t\tkind=\"postType\"\n\t\t\t\t\t\ttype={ templateType }\n\t\t\t\t\t\tid={ entityId }\n\t\t\t\t\t>\n\t\t\t\t\t\t<EntityProvider\n\t\t\t\t\t\t\tkind=\"postType\"\n\t\t\t\t\t\t\ttype=\"wp_global_styles\"\n\t\t\t\t\t\t\tid={\n\t\t\t\t\t\t\t\tsettings.__experimentalGlobalStylesUserEntityId\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<BlockContextProvider value={ blockContext }>\n\t\t\t\t\t\t\t\t<GlobalStylesProvider\n\t\t\t\t\t\t\t\t\tbaseStyles={\n\t\t\t\t\t\t\t\t\t\tsettings.__experimentalGlobalStylesBaseStyles\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\t\t<ErrorBoundary onError={ onError }>\n\t\t\t\t\t\t\t\t\t\t<FullscreenMode isActive />\n\t\t\t\t\t\t\t\t\t\t<UnsavedChangesWarning />\n\t\t\t\t\t\t\t\t\t\t<KeyboardShortcuts.Register />\n\t\t\t\t\t\t\t\t\t\t<SidebarComplementaryAreaFills />\n\t\t\t\t\t\t\t\t\t\t<InterfaceSkeleton\n\t\t\t\t\t\t\t\t\t\t\tlabels={ interfaceLabels }\n\t\t\t\t\t\t\t\t\t\t\tdrawer={ <NavigationSidebar /> }\n\t\t\t\t\t\t\t\t\t\t\tsecondarySidebar={ secondarySidebar() }\n\t\t\t\t\t\t\t\t\t\t\tsidebar={\n\t\t\t\t\t\t\t\t\t\t\t\tsidebarIsOpened && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<ComplementaryArea.Slot scope=\"core/edit-site\" />\n\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\theader={\n\t\t\t\t\t\t\t\t\t\t\t\t<Header\n\t\t\t\t\t\t\t\t\t\t\t\t\topenEntitiesSavedStates={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\topenEntitiesSavedStates\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tnotices={ <EditorSnackbars /> }\n\t\t\t\t\t\t\t\t\t\t\tcontent={\n\t\t\t\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<EditorNotices />\n\t\t\t\t\t\t\t\t\t\t\t\t\t{ template && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<BlockEditor\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsetIsInserterOpen={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsetIsInserterOpened\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\t\t\t{ templateResolved &&\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t! template &&\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsettings?.siteUrl &&\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tentityId && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<Notice\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tstatus=\"warning\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tisDismissible={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tfalse\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"You attempted to edit an item that doesn't exist. Perhaps it was deleted?\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</Notice>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\t\t\t<KeyboardShortcuts />\n\t\t\t\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tactions={\n\t\t\t\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t\t\t\t{ isEntitiesSavedStatesOpen ? (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<EntitiesSavedStates\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclose={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcloseEntitiesSavedStates\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div className=\"edit-site-editor__toggle-save-panel\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"edit-site-editor__toggle-save-panel-button\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonClick={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\topenEntitiesSavedStates\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\taria-expanded={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tfalse\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'Open save panel'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tfooter={ <BlockBreadcrumb /> }\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t<Popover.Slot />\n\t\t\t\t\t\t\t\t\t\t<PluginArea />\n\t\t\t\t\t\t\t\t\t</ErrorBoundary>\n\t\t\t\t\t\t\t\t</GlobalStylesProvider>\n\t\t\t\t\t\t\t</BlockContextProvider>\n\t\t\t\t\t\t</EntityProvider>\n\t\t\t\t\t</EntityProvider>\n\t\t\t\t</EntityProvider>\n\t\t\t</SlotFillProvider>\n\t\t</>\n\t);\n}\nexport default Editor;\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/edit-site/src/components/editor/index.js"],"names":["interfaceLabels","secondarySidebar","drawer","Editor","initialSettings","onError","isInserterOpen","isListViewOpen","sidebarIsOpened","settings","entityId","templateType","page","template","templateResolved","isNavigationOpen","select","isInserterOpened","isListViewOpened","getSettings","getEditedPostType","getEditedPostId","getPage","isNavigationOpened","editSiteStore","hasFinishedResolution","getEntityRecord","coreStore","postType","postId","interfaceStore","getActiveComplementaryArea","name","updateEditorSettings","editorStore","setPage","setIsInserterOpened","updateSettings","defaultTemplateTypes","defaultTemplatePartAreas","isEntitiesSavedStatesOpen","setIsEntitiesSavedStatesOpen","openEntitiesSavedStates","closeEntitiesSavedStates","blockContext","context","queryContext","newQueryContext","document","body","classList","add","remove","siteUrl","__experimentalGlobalStylesUserEntityId","__experimentalGlobalStylesBaseStyles"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useEffect, useState, useMemo, useCallback } from '@wordpress/element';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tSlotFillProvider,\n\tPopover,\n\tButton,\n\tNotice,\n} from '@wordpress/components';\nimport { EntityProvider, store as coreStore } from '@wordpress/core-data';\nimport { BlockContextProvider, BlockBreadcrumb } from '@wordpress/block-editor';\nimport {\n\tFullscreenMode,\n\tInterfaceSkeleton,\n\tComplementaryArea,\n\tstore as interfaceStore,\n} from '@wordpress/interface';\nimport {\n\tEditorNotices,\n\tEditorSnackbars,\n\tEntitiesSavedStates,\n\tUnsavedChangesWarning,\n\tstore as editorStore,\n} from '@wordpress/editor';\nimport { __ } from '@wordpress/i18n';\nimport { PluginArea } from '@wordpress/plugins';\nimport { ShortcutProvider } from '@wordpress/keyboard-shortcuts';\n\n/**\n * Internal dependencies\n */\nimport Header from '../header';\nimport { SidebarComplementaryAreaFills } from '../sidebar';\nimport BlockEditor from '../block-editor';\nimport KeyboardShortcuts from '../keyboard-shortcuts';\nimport GlobalStylesProvider from './global-styles-provider';\nimport NavigationSidebar from '../navigation-sidebar';\nimport URLQueryController from '../url-query-controller';\nimport InserterSidebar from '../secondary-sidebar/inserter-sidebar';\nimport ListViewSidebar from '../secondary-sidebar/list-view-sidebar';\nimport ErrorBoundary from '../error-boundary';\nimport { store as editSiteStore } from '../../store';\n\nconst interfaceLabels = {\n\tsecondarySidebar: __( 'Block Library' ),\n\tdrawer: __( 'Navigation Sidebar' ),\n};\n\nfunction Editor( { initialSettings, onError } ) {\n\tconst {\n\t\tisInserterOpen,\n\t\tisListViewOpen,\n\t\tsidebarIsOpened,\n\t\tsettings,\n\t\tentityId,\n\t\ttemplateType,\n\t\tpage,\n\t\ttemplate,\n\t\ttemplateResolved,\n\t\tisNavigationOpen,\n\t} = useSelect( ( select ) => {\n\t\tconst {\n\t\t\tisInserterOpened,\n\t\t\tisListViewOpened,\n\t\t\tgetSettings,\n\t\t\tgetEditedPostType,\n\t\t\tgetEditedPostId,\n\t\t\tgetPage,\n\t\t\tisNavigationOpened,\n\t\t} = select( editSiteStore );\n\t\tconst { hasFinishedResolution, getEntityRecord } = select( coreStore );\n\t\tconst postType = getEditedPostType();\n\t\tconst postId = getEditedPostId();\n\n\t\t// The currently selected entity to display. Typically template or template part.\n\t\treturn {\n\t\t\tisInserterOpen: isInserterOpened(),\n\t\t\tisListViewOpen: isListViewOpened(),\n\t\t\tsidebarIsOpened: !! select(\n\t\t\t\tinterfaceStore\n\t\t\t).getActiveComplementaryArea( editSiteStore.name ),\n\t\t\tsettings: getSettings(),\n\t\t\ttemplateType: postType,\n\t\t\tpage: getPage(),\n\t\t\ttemplate: postId\n\t\t\t\t? getEntityRecord( 'postType', postType, postId )\n\t\t\t\t: null,\n\t\t\ttemplateResolved: postId\n\t\t\t\t? hasFinishedResolution( 'getEntityRecord', [\n\t\t\t\t\t\t'postType',\n\t\t\t\t\t\tpostType,\n\t\t\t\t\t\tpostId,\n\t\t\t\t ] )\n\t\t\t\t: false,\n\t\t\tentityId: postId,\n\t\t\tisNavigationOpen: isNavigationOpened(),\n\t\t};\n\t}, [] );\n\tconst { updateEditorSettings } = useDispatch( editorStore );\n\tconst { setPage, setIsInserterOpened, updateSettings } = useDispatch(\n\t\teditSiteStore\n\t);\n\tuseEffect( () => {\n\t\tupdateSettings( initialSettings );\n\t}, [] );\n\n\t// Keep the defaultTemplateTypes in the core/editor settings too,\n\t// so that they can be selected with core/editor selectors in any editor.\n\t// This is needed because edit-site doesn't initialize with EditorProvider,\n\t// which internally uses updateEditorSettings as well.\n\tconst { defaultTemplateTypes, defaultTemplatePartAreas } = settings;\n\tuseEffect( () => {\n\t\tupdateEditorSettings( {\n\t\t\tdefaultTemplateTypes,\n\t\t\tdefaultTemplatePartAreas,\n\t\t} );\n\t}, [ defaultTemplateTypes, defaultTemplatePartAreas ] );\n\n\tconst [\n\t\tisEntitiesSavedStatesOpen,\n\t\tsetIsEntitiesSavedStatesOpen,\n\t] = useState( false );\n\tconst openEntitiesSavedStates = useCallback(\n\t\t() => setIsEntitiesSavedStatesOpen( true ),\n\t\t[]\n\t);\n\tconst closeEntitiesSavedStates = useCallback( () => {\n\t\tsetIsEntitiesSavedStatesOpen( false );\n\t}, [] );\n\n\tconst blockContext = useMemo(\n\t\t() => ( {\n\t\t\t...page?.context,\n\t\t\tqueryContext: [\n\t\t\t\tpage?.context.queryContext || { page: 1 },\n\t\t\t\t( newQueryContext ) =>\n\t\t\t\t\tsetPage( {\n\t\t\t\t\t\t...page,\n\t\t\t\t\t\tcontext: {\n\t\t\t\t\t\t\t...page?.context,\n\t\t\t\t\t\t\tqueryContext: {\n\t\t\t\t\t\t\t\t...page?.context.queryContext,\n\t\t\t\t\t\t\t\t...newQueryContext,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t} ),\n\t\t\t],\n\t\t} ),\n\t\t[ page?.context ]\n\t);\n\n\tuseEffect( () => {\n\t\tif ( isNavigationOpen ) {\n\t\t\tdocument.body.classList.add( 'is-navigation-sidebar-open' );\n\t\t} else {\n\t\t\tdocument.body.classList.remove( 'is-navigation-sidebar-open' );\n\t\t}\n\t}, [ isNavigationOpen ] );\n\n\t// Don't render the Editor until the settings are set and loaded\n\tif ( ! settings?.siteUrl ) {\n\t\treturn null;\n\t}\n\n\tconst secondarySidebar = () => {\n\t\tif ( isInserterOpen ) {\n\t\t\treturn <InserterSidebar />;\n\t\t}\n\t\tif ( isListViewOpen ) {\n\t\t\treturn <ListViewSidebar />;\n\t\t}\n\t\treturn null;\n\t};\n\n\treturn (\n\t\t<ShortcutProvider>\n\t\t\t<URLQueryController />\n\t\t\t<SlotFillProvider>\n\t\t\t\t<EntityProvider kind=\"root\" type=\"site\">\n\t\t\t\t\t<EntityProvider\n\t\t\t\t\t\tkind=\"postType\"\n\t\t\t\t\t\ttype={ templateType }\n\t\t\t\t\t\tid={ entityId }\n\t\t\t\t\t>\n\t\t\t\t\t\t<EntityProvider\n\t\t\t\t\t\t\tkind=\"postType\"\n\t\t\t\t\t\t\ttype=\"wp_global_styles\"\n\t\t\t\t\t\t\tid={\n\t\t\t\t\t\t\t\tsettings.__experimentalGlobalStylesUserEntityId\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<BlockContextProvider value={ blockContext }>\n\t\t\t\t\t\t\t\t<GlobalStylesProvider\n\t\t\t\t\t\t\t\t\tbaseStyles={\n\t\t\t\t\t\t\t\t\t\tsettings.__experimentalGlobalStylesBaseStyles\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\t\t<ErrorBoundary onError={ onError }>\n\t\t\t\t\t\t\t\t\t\t<FullscreenMode isActive />\n\t\t\t\t\t\t\t\t\t\t<UnsavedChangesWarning />\n\t\t\t\t\t\t\t\t\t\t<KeyboardShortcuts.Register />\n\t\t\t\t\t\t\t\t\t\t<SidebarComplementaryAreaFills />\n\t\t\t\t\t\t\t\t\t\t<InterfaceSkeleton\n\t\t\t\t\t\t\t\t\t\t\tlabels={ interfaceLabels }\n\t\t\t\t\t\t\t\t\t\t\tdrawer={ <NavigationSidebar /> }\n\t\t\t\t\t\t\t\t\t\t\tsecondarySidebar={ secondarySidebar() }\n\t\t\t\t\t\t\t\t\t\t\tsidebar={\n\t\t\t\t\t\t\t\t\t\t\t\tsidebarIsOpened && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<ComplementaryArea.Slot scope=\"core/edit-site\" />\n\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\theader={\n\t\t\t\t\t\t\t\t\t\t\t\t<Header\n\t\t\t\t\t\t\t\t\t\t\t\t\topenEntitiesSavedStates={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\topenEntitiesSavedStates\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tnotices={ <EditorSnackbars /> }\n\t\t\t\t\t\t\t\t\t\t\tcontent={\n\t\t\t\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<EditorNotices />\n\t\t\t\t\t\t\t\t\t\t\t\t\t{ template && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<BlockEditor\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsetIsInserterOpen={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsetIsInserterOpened\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\t\t\t{ templateResolved &&\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t! template &&\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsettings?.siteUrl &&\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tentityId && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<Notice\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tstatus=\"warning\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tisDismissible={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tfalse\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"You attempted to edit an item that doesn't exist. Perhaps it was deleted?\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</Notice>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\t\t\t<KeyboardShortcuts />\n\t\t\t\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tactions={\n\t\t\t\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t\t\t\t{ isEntitiesSavedStatesOpen ? (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<EntitiesSavedStates\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclose={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcloseEntitiesSavedStates\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div className=\"edit-site-editor__toggle-save-panel\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"edit-site-editor__toggle-save-panel-button\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonClick={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\topenEntitiesSavedStates\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\taria-expanded={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tfalse\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'Open save panel'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tfooter={ <BlockBreadcrumb /> }\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t<Popover.Slot />\n\t\t\t\t\t\t\t\t\t\t<PluginArea />\n\t\t\t\t\t\t\t\t\t</ErrorBoundary>\n\t\t\t\t\t\t\t\t</GlobalStylesProvider>\n\t\t\t\t\t\t\t</BlockContextProvider>\n\t\t\t\t\t\t</EntityProvider>\n\t\t\t\t\t</EntityProvider>\n\t\t\t\t</EntityProvider>\n\t\t\t</SlotFillProvider>\n\t\t</ShortcutProvider>\n\t);\n}\nexport default Editor;\n"]}
|
|
@@ -33,7 +33,7 @@ const ROOT_BLOCK_NAME = 'root';
|
|
|
33
33
|
exports.ROOT_BLOCK_NAME = ROOT_BLOCK_NAME;
|
|
34
34
|
const ROOT_BLOCK_SELECTOR = 'body';
|
|
35
35
|
exports.ROOT_BLOCK_SELECTOR = ROOT_BLOCK_SELECTOR;
|
|
36
|
-
const ROOT_BLOCK_SUPPORTS = ['background', 'backgroundColor', 'color', 'linkColor', 'fontFamily', 'fontSize', 'fontStyle', 'fontWeight', 'lineHeight', 'textDecoration', 'textTransform'];
|
|
36
|
+
const ROOT_BLOCK_SUPPORTS = ['background', 'backgroundColor', 'color', 'linkColor', 'fontFamily', 'fontSize', 'fontStyle', 'fontWeight', 'lineHeight', 'textDecoration', 'textTransform', 'padding'];
|
|
37
37
|
exports.ROOT_BLOCK_SUPPORTS = ROOT_BLOCK_SUPPORTS;
|
|
38
38
|
const PRESET_METADATA = [{
|
|
39
39
|
path: ['color', 'palette'],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/edit-site/src/components/editor/utils.js"],"names":["ROOT_BLOCK_NAME","ROOT_BLOCK_SELECTOR","ROOT_BLOCK_SUPPORTS","PRESET_METADATA","path","valueKey","cssVarInfix","classes","classSuffix","propertyName","STYLE_PROPERTIES_TO_CSS_VAR_INFIX","linkColor","backgroundColor","background","getPresetMetadataFromStyleProperty","styleProperty","MAP","forEach","index","value","key","useSetting","blockName","settings","select","editSiteStore","getSettings","topLevelPath","blockPath","result","PATHS_WITH_MERGE","user","theme","core","findInPresetsBy","styles","context","presetPath","presetProperty","presetValueValue","orderedPresetsByOrigin","presetByOrigin","origins","origin","presets","presetObject","preset","highestPresetObjectWithSameSlug","slug","undefined","getPresetVariable","metadata","getValueFromPresetVariable","variable","presetType","getValueFromVariable","getValueFromCustomVariable","parsedVar","INTERNAL_REFERENCE_PREFIX","CSS_REFERENCE_PREFIX","CSS_REFERENCE_SUFFIX","startsWith","slice","length","split","endsWith","type"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { get, find, forEach, camelCase, isString } from 'lodash';\n/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { __EXPERIMENTAL_PATHS_WITH_MERGE as PATHS_WITH_MERGE } from '@wordpress/blocks';\n/**\n * Internal dependencies\n */\nimport { store as editSiteStore } from '../../store';\n\n/* Supporting data */\nexport const ROOT_BLOCK_NAME = 'root';\nexport const ROOT_BLOCK_SELECTOR = 'body';\nexport const ROOT_BLOCK_SUPPORTS = [\n\t'background',\n\t'backgroundColor',\n\t'color',\n\t'linkColor',\n\t'fontFamily',\n\t'fontSize',\n\t'fontStyle',\n\t'fontWeight',\n\t'lineHeight',\n\t'textDecoration',\n\t'textTransform',\n];\n\nexport const PRESET_METADATA = [\n\t{\n\t\tpath: [ 'color', 'palette' ],\n\t\tvalueKey: 'color',\n\t\tcssVarInfix: 'color',\n\t\tclasses: [\n\t\t\t{ classSuffix: 'color', propertyName: 'color' },\n\t\t\t{\n\t\t\t\tclassSuffix: 'background-color',\n\t\t\t\tpropertyName: 'background-color',\n\t\t\t},\n\t\t\t{\n\t\t\t\tclassSuffix: 'border-color',\n\t\t\t\tpropertyName: 'border-color',\n\t\t\t},\n\t\t],\n\t},\n\t{\n\t\tpath: [ 'color', 'gradients' ],\n\t\tvalueKey: 'gradient',\n\t\tcssVarInfix: 'gradient',\n\t\tclasses: [\n\t\t\t{\n\t\t\t\tclassSuffix: 'gradient-background',\n\t\t\t\tpropertyName: 'background',\n\t\t\t},\n\t\t],\n\t},\n\t{\n\t\tpath: [ 'typography', 'fontSizes' ],\n\t\tvalueKey: 'size',\n\t\tcssVarInfix: 'font-size',\n\t\tclasses: [ { classSuffix: 'font-size', propertyName: 'font-size' } ],\n\t},\n\t{\n\t\tpath: [ 'typography', 'fontFamilies' ],\n\t\tvalueKey: 'fontFamily',\n\t\tcssVarInfix: 'font-family',\n\t\tclasses: [],\n\t},\n];\n\nconst STYLE_PROPERTIES_TO_CSS_VAR_INFIX = {\n\tlinkColor: 'color',\n\tbackgroundColor: 'color',\n\tbackground: 'gradient',\n};\n\nfunction getPresetMetadataFromStyleProperty( styleProperty ) {\n\tif ( ! getPresetMetadataFromStyleProperty.MAP ) {\n\t\tgetPresetMetadataFromStyleProperty.MAP = {};\n\t\tPRESET_METADATA.forEach( ( { cssVarInfix }, index ) => {\n\t\t\tgetPresetMetadataFromStyleProperty.MAP[ camelCase( cssVarInfix ) ] =\n\t\t\t\tPRESET_METADATA[ index ];\n\t\t} );\n\t\tforEach( STYLE_PROPERTIES_TO_CSS_VAR_INFIX, ( value, key ) => {\n\t\t\tgetPresetMetadataFromStyleProperty.MAP[ key ] =\n\t\t\t\tgetPresetMetadataFromStyleProperty.MAP[ value ];\n\t\t} );\n\t}\n\treturn getPresetMetadataFromStyleProperty.MAP[ styleProperty ];\n}\n\nexport function useSetting( path, blockName = '' ) {\n\tconst settings = useSelect( ( select ) => {\n\t\treturn select( editSiteStore ).getSettings();\n\t} );\n\tconst topLevelPath = `__experimentalFeatures.${ path }`;\n\tconst blockPath = `__experimentalFeatures.blocks.${ blockName }.${ path }`;\n\tconst result = get( settings, blockPath ) ?? get( settings, topLevelPath );\n\tif ( result && PATHS_WITH_MERGE[ path ] ) {\n\t\treturn result.user ?? result.theme ?? result.core;\n\t}\n\treturn result;\n}\n\nfunction findInPresetsBy(\n\tstyles,\n\tcontext,\n\tpresetPath,\n\tpresetProperty,\n\tpresetValueValue\n) {\n\t// Block presets take priority above root level presets.\n\tconst orderedPresetsByOrigin = [\n\t\tget( styles, [ 'settings', 'blocks', context, ...presetPath ] ),\n\t\tget( styles, [ 'settings', ...presetPath ] ),\n\t];\n\tfor ( const presetByOrigin of orderedPresetsByOrigin ) {\n\t\tif ( presetByOrigin ) {\n\t\t\t// Preset origins ordered by priority.\n\t\t\tconst origins = [ 'user', 'theme', 'core' ];\n\t\t\tfor ( const origin of origins ) {\n\t\t\t\tconst presets = presetByOrigin[ origin ];\n\t\t\t\tif ( presets ) {\n\t\t\t\t\tconst presetObject = find(\n\t\t\t\t\t\tpresets,\n\t\t\t\t\t\t( preset ) =>\n\t\t\t\t\t\t\tpreset[ presetProperty ] === presetValueValue\n\t\t\t\t\t);\n\t\t\t\t\tif ( presetObject ) {\n\t\t\t\t\t\tif ( presetProperty === 'slug' ) {\n\t\t\t\t\t\t\treturn presetObject;\n\t\t\t\t\t\t}\n\t\t\t\t\t\t// if there is a highest priority preset with the same slug but different value the preset we found was overwritten and should be ignored.\n\t\t\t\t\t\tconst highestPresetObjectWithSameSlug = findInPresetsBy(\n\t\t\t\t\t\t\tstyles,\n\t\t\t\t\t\t\tcontext,\n\t\t\t\t\t\t\tpresetPath,\n\t\t\t\t\t\t\t'slug',\n\t\t\t\t\t\t\tpresetObject.slug\n\t\t\t\t\t\t);\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\thighestPresetObjectWithSameSlug[\n\t\t\t\t\t\t\t\tpresetProperty\n\t\t\t\t\t\t\t] === presetObject[ presetProperty ]\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\treturn presetObject;\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn undefined;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n\nexport function getPresetVariable( styles, context, propertyName, value ) {\n\tif ( ! value ) {\n\t\treturn value;\n\t}\n\n\tconst metadata = getPresetMetadataFromStyleProperty( propertyName );\n\tif ( ! metadata ) {\n\t\t// The property doesn't have preset data\n\t\t// so the value should be returned as it is.\n\t\treturn value;\n\t}\n\tconst { valueKey, path, cssVarInfix } = metadata;\n\n\tconst presetObject = findInPresetsBy(\n\t\tstyles,\n\t\tcontext,\n\t\tpath,\n\t\tvalueKey,\n\t\tvalue\n\t);\n\n\tif ( ! presetObject ) {\n\t\t// Value wasn't found in the presets,\n\t\t// so it must be a custom value.\n\t\treturn value;\n\t}\n\n\treturn `var:preset|${ cssVarInfix }|${ presetObject.slug }`;\n}\n\nfunction getValueFromPresetVariable(\n\tstyles,\n\tblockName,\n\tvariable,\n\t[ presetType, slug ]\n) {\n\tpresetType = camelCase( presetType );\n\tconst metadata = getPresetMetadataFromStyleProperty( presetType );\n\tif ( ! metadata ) {\n\t\treturn variable;\n\t}\n\n\tconst presetObject = findInPresetsBy(\n\t\tstyles,\n\t\tblockName,\n\t\tmetadata.path,\n\t\t'slug',\n\t\tslug\n\t);\n\n\tif ( presetObject ) {\n\t\tconst { valueKey } = metadata;\n\t\tconst result = presetObject[ valueKey ];\n\t\treturn getValueFromVariable( styles, blockName, result );\n\t}\n\n\treturn variable;\n}\n\nfunction getValueFromCustomVariable( styles, blockName, variable, path ) {\n\tconst result =\n\t\tget( styles, [ 'settings', 'blocks', blockName, 'custom', ...path ] ) ??\n\t\tget( styles, [ 'settings', 'custom', ...path ] );\n\tif ( ! result ) {\n\t\treturn variable;\n\t}\n\t// A variable may reference another variable so we need recursion until we find the value.\n\treturn getValueFromVariable( styles, blockName, result );\n}\n\nexport function getValueFromVariable( styles, blockName, variable ) {\n\tif ( ! variable || ! isString( variable ) ) {\n\t\treturn variable;\n\t}\n\n\tlet parsedVar;\n\tconst INTERNAL_REFERENCE_PREFIX = 'var:';\n\tconst CSS_REFERENCE_PREFIX = 'var(--wp--';\n\tconst CSS_REFERENCE_SUFFIX = ')';\n\tif ( variable.startsWith( INTERNAL_REFERENCE_PREFIX ) ) {\n\t\tparsedVar = variable\n\t\t\t.slice( INTERNAL_REFERENCE_PREFIX.length )\n\t\t\t.split( '|' );\n\t} else if (\n\t\tvariable.startsWith( CSS_REFERENCE_PREFIX ) &&\n\t\tvariable.endsWith( CSS_REFERENCE_SUFFIX )\n\t) {\n\t\tparsedVar = variable\n\t\t\t.slice( CSS_REFERENCE_PREFIX.length, -CSS_REFERENCE_SUFFIX.length )\n\t\t\t.split( '--' );\n\t} else {\n\t\t// Value is raw.\n\t\treturn variable;\n\t}\n\n\tconst [ type, ...path ] = parsedVar;\n\tif ( type === 'preset' ) {\n\t\treturn getValueFromPresetVariable( styles, blockName, variable, path );\n\t}\n\tif ( type === 'custom' ) {\n\t\treturn getValueFromCustomVariable( styles, blockName, variable, path );\n\t}\n\treturn variable;\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/edit-site/src/components/editor/utils.js"],"names":["ROOT_BLOCK_NAME","ROOT_BLOCK_SELECTOR","ROOT_BLOCK_SUPPORTS","PRESET_METADATA","path","valueKey","cssVarInfix","classes","classSuffix","propertyName","STYLE_PROPERTIES_TO_CSS_VAR_INFIX","linkColor","backgroundColor","background","getPresetMetadataFromStyleProperty","styleProperty","MAP","forEach","index","value","key","useSetting","blockName","settings","select","editSiteStore","getSettings","topLevelPath","blockPath","result","PATHS_WITH_MERGE","user","theme","core","findInPresetsBy","styles","context","presetPath","presetProperty","presetValueValue","orderedPresetsByOrigin","presetByOrigin","origins","origin","presets","presetObject","preset","highestPresetObjectWithSameSlug","slug","undefined","getPresetVariable","metadata","getValueFromPresetVariable","variable","presetType","getValueFromVariable","getValueFromCustomVariable","parsedVar","INTERNAL_REFERENCE_PREFIX","CSS_REFERENCE_PREFIX","CSS_REFERENCE_SUFFIX","startsWith","slice","length","split","endsWith","type"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { get, find, forEach, camelCase, isString } from 'lodash';\n/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { __EXPERIMENTAL_PATHS_WITH_MERGE as PATHS_WITH_MERGE } from '@wordpress/blocks';\n/**\n * Internal dependencies\n */\nimport { store as editSiteStore } from '../../store';\n\n/* Supporting data */\nexport const ROOT_BLOCK_NAME = 'root';\nexport const ROOT_BLOCK_SELECTOR = 'body';\nexport const ROOT_BLOCK_SUPPORTS = [\n\t'background',\n\t'backgroundColor',\n\t'color',\n\t'linkColor',\n\t'fontFamily',\n\t'fontSize',\n\t'fontStyle',\n\t'fontWeight',\n\t'lineHeight',\n\t'textDecoration',\n\t'textTransform',\n\t'padding',\n];\n\nexport const PRESET_METADATA = [\n\t{\n\t\tpath: [ 'color', 'palette' ],\n\t\tvalueKey: 'color',\n\t\tcssVarInfix: 'color',\n\t\tclasses: [\n\t\t\t{ classSuffix: 'color', propertyName: 'color' },\n\t\t\t{\n\t\t\t\tclassSuffix: 'background-color',\n\t\t\t\tpropertyName: 'background-color',\n\t\t\t},\n\t\t\t{\n\t\t\t\tclassSuffix: 'border-color',\n\t\t\t\tpropertyName: 'border-color',\n\t\t\t},\n\t\t],\n\t},\n\t{\n\t\tpath: [ 'color', 'gradients' ],\n\t\tvalueKey: 'gradient',\n\t\tcssVarInfix: 'gradient',\n\t\tclasses: [\n\t\t\t{\n\t\t\t\tclassSuffix: 'gradient-background',\n\t\t\t\tpropertyName: 'background',\n\t\t\t},\n\t\t],\n\t},\n\t{\n\t\tpath: [ 'typography', 'fontSizes' ],\n\t\tvalueKey: 'size',\n\t\tcssVarInfix: 'font-size',\n\t\tclasses: [ { classSuffix: 'font-size', propertyName: 'font-size' } ],\n\t},\n\t{\n\t\tpath: [ 'typography', 'fontFamilies' ],\n\t\tvalueKey: 'fontFamily',\n\t\tcssVarInfix: 'font-family',\n\t\tclasses: [],\n\t},\n];\n\nconst STYLE_PROPERTIES_TO_CSS_VAR_INFIX = {\n\tlinkColor: 'color',\n\tbackgroundColor: 'color',\n\tbackground: 'gradient',\n};\n\nfunction getPresetMetadataFromStyleProperty( styleProperty ) {\n\tif ( ! getPresetMetadataFromStyleProperty.MAP ) {\n\t\tgetPresetMetadataFromStyleProperty.MAP = {};\n\t\tPRESET_METADATA.forEach( ( { cssVarInfix }, index ) => {\n\t\t\tgetPresetMetadataFromStyleProperty.MAP[ camelCase( cssVarInfix ) ] =\n\t\t\t\tPRESET_METADATA[ index ];\n\t\t} );\n\t\tforEach( STYLE_PROPERTIES_TO_CSS_VAR_INFIX, ( value, key ) => {\n\t\t\tgetPresetMetadataFromStyleProperty.MAP[ key ] =\n\t\t\t\tgetPresetMetadataFromStyleProperty.MAP[ value ];\n\t\t} );\n\t}\n\treturn getPresetMetadataFromStyleProperty.MAP[ styleProperty ];\n}\n\nexport function useSetting( path, blockName = '' ) {\n\tconst settings = useSelect( ( select ) => {\n\t\treturn select( editSiteStore ).getSettings();\n\t} );\n\tconst topLevelPath = `__experimentalFeatures.${ path }`;\n\tconst blockPath = `__experimentalFeatures.blocks.${ blockName }.${ path }`;\n\tconst result = get( settings, blockPath ) ?? get( settings, topLevelPath );\n\tif ( result && PATHS_WITH_MERGE[ path ] ) {\n\t\treturn result.user ?? result.theme ?? result.core;\n\t}\n\treturn result;\n}\n\nfunction findInPresetsBy(\n\tstyles,\n\tcontext,\n\tpresetPath,\n\tpresetProperty,\n\tpresetValueValue\n) {\n\t// Block presets take priority above root level presets.\n\tconst orderedPresetsByOrigin = [\n\t\tget( styles, [ 'settings', 'blocks', context, ...presetPath ] ),\n\t\tget( styles, [ 'settings', ...presetPath ] ),\n\t];\n\tfor ( const presetByOrigin of orderedPresetsByOrigin ) {\n\t\tif ( presetByOrigin ) {\n\t\t\t// Preset origins ordered by priority.\n\t\t\tconst origins = [ 'user', 'theme', 'core' ];\n\t\t\tfor ( const origin of origins ) {\n\t\t\t\tconst presets = presetByOrigin[ origin ];\n\t\t\t\tif ( presets ) {\n\t\t\t\t\tconst presetObject = find(\n\t\t\t\t\t\tpresets,\n\t\t\t\t\t\t( preset ) =>\n\t\t\t\t\t\t\tpreset[ presetProperty ] === presetValueValue\n\t\t\t\t\t);\n\t\t\t\t\tif ( presetObject ) {\n\t\t\t\t\t\tif ( presetProperty === 'slug' ) {\n\t\t\t\t\t\t\treturn presetObject;\n\t\t\t\t\t\t}\n\t\t\t\t\t\t// if there is a highest priority preset with the same slug but different value the preset we found was overwritten and should be ignored.\n\t\t\t\t\t\tconst highestPresetObjectWithSameSlug = findInPresetsBy(\n\t\t\t\t\t\t\tstyles,\n\t\t\t\t\t\t\tcontext,\n\t\t\t\t\t\t\tpresetPath,\n\t\t\t\t\t\t\t'slug',\n\t\t\t\t\t\t\tpresetObject.slug\n\t\t\t\t\t\t);\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\thighestPresetObjectWithSameSlug[\n\t\t\t\t\t\t\t\tpresetProperty\n\t\t\t\t\t\t\t] === presetObject[ presetProperty ]\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\treturn presetObject;\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn undefined;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n\nexport function getPresetVariable( styles, context, propertyName, value ) {\n\tif ( ! value ) {\n\t\treturn value;\n\t}\n\n\tconst metadata = getPresetMetadataFromStyleProperty( propertyName );\n\tif ( ! metadata ) {\n\t\t// The property doesn't have preset data\n\t\t// so the value should be returned as it is.\n\t\treturn value;\n\t}\n\tconst { valueKey, path, cssVarInfix } = metadata;\n\n\tconst presetObject = findInPresetsBy(\n\t\tstyles,\n\t\tcontext,\n\t\tpath,\n\t\tvalueKey,\n\t\tvalue\n\t);\n\n\tif ( ! presetObject ) {\n\t\t// Value wasn't found in the presets,\n\t\t// so it must be a custom value.\n\t\treturn value;\n\t}\n\n\treturn `var:preset|${ cssVarInfix }|${ presetObject.slug }`;\n}\n\nfunction getValueFromPresetVariable(\n\tstyles,\n\tblockName,\n\tvariable,\n\t[ presetType, slug ]\n) {\n\tpresetType = camelCase( presetType );\n\tconst metadata = getPresetMetadataFromStyleProperty( presetType );\n\tif ( ! metadata ) {\n\t\treturn variable;\n\t}\n\n\tconst presetObject = findInPresetsBy(\n\t\tstyles,\n\t\tblockName,\n\t\tmetadata.path,\n\t\t'slug',\n\t\tslug\n\t);\n\n\tif ( presetObject ) {\n\t\tconst { valueKey } = metadata;\n\t\tconst result = presetObject[ valueKey ];\n\t\treturn getValueFromVariable( styles, blockName, result );\n\t}\n\n\treturn variable;\n}\n\nfunction getValueFromCustomVariable( styles, blockName, variable, path ) {\n\tconst result =\n\t\tget( styles, [ 'settings', 'blocks', blockName, 'custom', ...path ] ) ??\n\t\tget( styles, [ 'settings', 'custom', ...path ] );\n\tif ( ! result ) {\n\t\treturn variable;\n\t}\n\t// A variable may reference another variable so we need recursion until we find the value.\n\treturn getValueFromVariable( styles, blockName, result );\n}\n\nexport function getValueFromVariable( styles, blockName, variable ) {\n\tif ( ! variable || ! isString( variable ) ) {\n\t\treturn variable;\n\t}\n\n\tlet parsedVar;\n\tconst INTERNAL_REFERENCE_PREFIX = 'var:';\n\tconst CSS_REFERENCE_PREFIX = 'var(--wp--';\n\tconst CSS_REFERENCE_SUFFIX = ')';\n\tif ( variable.startsWith( INTERNAL_REFERENCE_PREFIX ) ) {\n\t\tparsedVar = variable\n\t\t\t.slice( INTERNAL_REFERENCE_PREFIX.length )\n\t\t\t.split( '|' );\n\t} else if (\n\t\tvariable.startsWith( CSS_REFERENCE_PREFIX ) &&\n\t\tvariable.endsWith( CSS_REFERENCE_SUFFIX )\n\t) {\n\t\tparsedVar = variable\n\t\t\t.slice( CSS_REFERENCE_PREFIX.length, -CSS_REFERENCE_SUFFIX.length )\n\t\t\t.split( '--' );\n\t} else {\n\t\t// Value is raw.\n\t\treturn variable;\n\t}\n\n\tconst [ type, ...path ] = parsedVar;\n\tif ( type === 'preset' ) {\n\t\treturn getValueFromPresetVariable( styles, blockName, variable, path );\n\t}\n\tif ( type === 'custom' ) {\n\t\treturn getValueFromCustomVariable( styles, blockName, variable, path );\n\t}\n\treturn variable;\n}\n"]}
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["@wordpress/edit-site/src/components/global-styles/border-panel.js"],"names":["MIN_BORDER_WIDTH","EMPTY_ARRAY","useHasBorderPanel","supports","name","controls","useHasBorderColorControl","useHasBorderRadiusControl","useHasBorderStyleControl","useHasBorderWidthControl","some","Boolean","includes","BorderPanel","context","getStyle","setStyle","units","availableUnits","hasBorderWidth","borderWidthValue","hasBorderStyle","borderStyle","colors","disableCustomColors","disableCustomGradients","hasBorderColor","borderColor","hasBorderRadius","borderRadiusValues","value","undefined"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalBorderRadiusControl as BorderRadiusControl,\n\t__experimentalBorderStyleControl as BorderStyleControl,\n\t__experimentalColorGradientControl as ColorGradientControl,\n} from '@wordpress/block-editor';\nimport {\n\tPanelBody,\n\t__experimentalUnitControl as UnitControl,\n\t__experimentalUseCustomUnits as useCustomUnits,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { useSetting } from '../editor/utils';\n\nconst MIN_BORDER_WIDTH = 0;\n\n// Defining empty array here instead of inline avoids unnecessary re-renders of\n// color control.\nconst EMPTY_ARRAY = [];\n\nexport function useHasBorderPanel( { supports, name } ) {\n\tconst controls = [\n\t\tuseHasBorderColorControl( { supports, name } ),\n\t\tuseHasBorderRadiusControl( { supports, name } ),\n\t\tuseHasBorderStyleControl( { supports, name } ),\n\t\tuseHasBorderWidthControl( { supports, name } ),\n\t];\n\n\treturn controls.some( Boolean );\n}\n\nfunction useHasBorderColorControl( { supports, name } ) {\n\treturn (\n\t\tuseSetting( 'border.customColor', name ) &&\n\t\tsupports.includes( 'borderColor' )\n\t);\n}\n\nfunction useHasBorderRadiusControl( { supports, name } ) {\n\treturn (\n\t\tuseSetting( 'border.customRadius', name ) &&\n\t\tsupports.includes( 'borderRadius' )\n\t);\n}\n\nfunction useHasBorderStyleControl( { supports, name } ) {\n\treturn (\n\t\tuseSetting( 'border.customStyle', name ) &&\n\t\tsupports.includes( 'borderStyle' )\n\t);\n}\n\nfunction useHasBorderWidthControl( { supports, name } ) {\n\treturn (\n\t\tuseSetting( 'border.customWidth', name ) &&\n\t\tsupports.includes( 'borderWidth' )\n\t);\n}\n\nexport default function BorderPanel( {\n\tcontext: { supports, name },\n\tgetStyle,\n\tsetStyle,\n} ) {\n\tconst units = useCustomUnits( {\n\t\tavailableUnits: useSetting( 'spacing.units' ) || [ 'px', 'em', 'rem' ],\n\t} );\n\n\t// Border width.\n\tconst hasBorderWidth = useHasBorderWidthControl( { supports, name } );\n\tconst borderWidthValue = getStyle( name, 'borderWidth' );\n\n\t// Border style.\n\tconst hasBorderStyle = useHasBorderStyleControl( { supports, name } );\n\tconst borderStyle = getStyle( name, 'borderStyle' );\n\n\t// Border color.\n\tconst colors = useSetting( 'color.palette' ) || EMPTY_ARRAY;\n\tconst disableCustomColors = ! useSetting( 'color.custom' );\n\tconst disableCustomGradients = ! useSetting( 'color.customGradient' );\n\tconst hasBorderColor = useHasBorderColorControl( { supports, name } );\n\tconst borderColor = getStyle( name, 'borderColor' );\n\n\t// Border radius.\n\tconst hasBorderRadius = useHasBorderRadiusControl( { supports, name } );\n\tconst borderRadiusValues = getStyle( name, 'borderRadius' );\n\n\treturn (\n\t\t<PanelBody title={ __( 'Border' ) } initialOpen={ true }>\n\t\t\t{ ( hasBorderWidth || hasBorderStyle ) && (\n\t\t\t\t<div className=\"edit-site-global-styles-sidebar__border-controls-row\">\n\t\t\t\t\t{ hasBorderWidth && (\n\t\t\t\t\t\t<UnitControl\n\t\t\t\t\t\t\tvalue={ borderWidthValue }\n\t\t\t\t\t\t\tlabel={ __( 'Width' ) }\n\t\t\t\t\t\t\tmin={ MIN_BORDER_WIDTH }\n\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\tsetStyle(\n\t\t\t\t\t\t\t\t\tname,\n\t\t\t\t\t\t\t\t\t'borderWidth',\n\t\t\t\t\t\t\t\t\tvalue || undefined\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tunits={ units }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ hasBorderStyle && (\n\t\t\t\t\t\t<BorderStyleControl\n\t\t\t\t\t\t\tvalue={ borderStyle }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetStyle( name, 'borderStyle', value )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</div>\n\t\t\t) }\n\t\t\t{ hasBorderColor && (\n\t\t\t\t<ColorGradientControl\n\t\t\t\t\tlabel={ __( 'Color' ) }\n\t\t\t\t\tcolorValue={ borderColor }\n\t\t\t\t\tcolors={ colors }\n\t\t\t\t\tgradients={ undefined }\n\t\t\t\t\tdisableCustomColors={ disableCustomColors }\n\t\t\t\t\tdisableCustomGradients={ disableCustomGradients }\n\t\t\t\t\tonColorChange={ ( value ) =>\n\t\t\t\t\t\tsetStyle( name, 'borderColor', value )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ hasBorderRadius && (\n\t\t\t\t<BorderRadiusControl\n\t\t\t\t\tvalues={ borderRadiusValues }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetStyle( name, 'borderRadius', value )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t) }\n\t\t</PanelBody>\n\t);\n}\n"]}
|