@wordpress/edit-site 3.0.9 → 3.0.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (163) hide show
  1. package/build/components/add-new-template/index.js +49 -0
  2. package/build/components/add-new-template/index.js.map +1 -0
  3. package/build/components/add-new-template/new-template-part.js +79 -0
  4. package/build/components/add-new-template/new-template-part.js.map +1 -0
  5. package/build/components/add-new-template/new-template.js +115 -0
  6. package/build/components/add-new-template/new-template.js.map +1 -0
  7. package/build/components/create-template-part-modal/index.js +115 -0
  8. package/build/components/create-template-part-modal/index.js.map +1 -0
  9. package/build/components/editor/index.js +11 -13
  10. package/build/components/editor/index.js.map +1 -1
  11. package/build/components/global-styles/global-styles-provider.js +4 -4
  12. package/build/components/global-styles/global-styles-provider.js.map +1 -1
  13. package/build/components/global-styles/hooks.js +27 -25
  14. package/build/components/global-styles/hooks.js.map +1 -1
  15. package/build/components/global-styles/screen-block-list.js +9 -1
  16. package/build/components/global-styles/screen-block-list.js.map +1 -1
  17. package/build/components/global-styles/use-global-styles-output.js +2 -2
  18. package/build/components/global-styles/use-global-styles-output.js.map +1 -1
  19. package/build/components/global-styles/utils.js +1 -1
  20. package/build/components/global-styles/utils.js.map +1 -1
  21. package/build/components/header/index.js +1 -5
  22. package/build/components/header/index.js.map +1 -1
  23. package/build/components/list/header.js +50 -0
  24. package/build/components/list/header.js.map +1 -0
  25. package/build/components/list/index.js +55 -0
  26. package/build/components/list/index.js.map +1 -0
  27. package/build/components/list/table.js +128 -0
  28. package/build/components/list/table.js.map +1 -0
  29. package/build/components/navigation-sidebar/index.js +11 -10
  30. package/build/components/navigation-sidebar/index.js.map +1 -1
  31. package/build/components/navigation-sidebar/navigation-panel/index.js +33 -53
  32. package/build/components/navigation-sidebar/navigation-panel/index.js.map +1 -1
  33. package/build/components/navigation-sidebar/navigation-toggle/index.js +3 -24
  34. package/build/components/navigation-sidebar/navigation-toggle/index.js.map +1 -1
  35. package/build/components/template-details/index.js +3 -2
  36. package/build/components/template-details/index.js.map +1 -1
  37. package/build/components/template-part-converter/convert-to-template-part.js +20 -84
  38. package/build/components/template-part-converter/convert-to-template-part.js.map +1 -1
  39. package/build/components/welcome-guide/editor.js +58 -0
  40. package/build/components/welcome-guide/editor.js.map +1 -0
  41. package/build/components/welcome-guide/image.js +27 -0
  42. package/build/components/welcome-guide/image.js.map +1 -0
  43. package/build/components/welcome-guide/index.js +49 -0
  44. package/build/components/welcome-guide/index.js.map +1 -0
  45. package/build/components/welcome-guide/styles.js +83 -0
  46. package/build/components/welcome-guide/styles.js.map +1 -0
  47. package/build/index.js +29 -5
  48. package/build/index.js.map +1 -1
  49. package/build/plugins/index.js +4 -2
  50. package/build/plugins/index.js.map +1 -1
  51. package/build/plugins/welcome-guide-menu-item.js +39 -0
  52. package/build/plugins/welcome-guide-menu-item.js.map +1 -0
  53. package/build/store/actions.js +5 -8
  54. package/build/store/actions.js.map +1 -1
  55. package/build/store/defaults.js +4 -1
  56. package/build/store/defaults.js.map +1 -1
  57. package/build/utils/is-template-removable.js +21 -0
  58. package/build/utils/is-template-removable.js.map +1 -0
  59. package/build-module/components/add-new-template/index.js +36 -0
  60. package/build-module/components/add-new-template/index.js.map +1 -0
  61. package/build-module/components/add-new-template/new-template-part.js +66 -0
  62. package/build-module/components/add-new-template/new-template-part.js.map +1 -0
  63. package/build-module/components/add-new-template/new-template.js +98 -0
  64. package/build-module/components/add-new-template/new-template.js.map +1 -0
  65. package/build-module/components/create-template-part-modal/index.js +102 -0
  66. package/build-module/components/create-template-part-modal/index.js.map +1 -0
  67. package/build-module/components/editor/index.js +9 -13
  68. package/build-module/components/editor/index.js.map +1 -1
  69. package/build-module/components/global-styles/global-styles-provider.js +4 -4
  70. package/build-module/components/global-styles/global-styles-provider.js.map +1 -1
  71. package/build-module/components/global-styles/hooks.js +28 -26
  72. package/build-module/components/global-styles/hooks.js.map +1 -1
  73. package/build-module/components/global-styles/screen-block-list.js +7 -1
  74. package/build-module/components/global-styles/screen-block-list.js.map +1 -1
  75. package/build-module/components/global-styles/use-global-styles-output.js +2 -2
  76. package/build-module/components/global-styles/use-global-styles-output.js.map +1 -1
  77. package/build-module/components/global-styles/utils.js +1 -1
  78. package/build-module/components/global-styles/utils.js.map +1 -1
  79. package/build-module/components/header/index.js +1 -3
  80. package/build-module/components/header/index.js.map +1 -1
  81. package/build-module/components/list/header.js +37 -0
  82. package/build-module/components/list/header.js.map +1 -0
  83. package/build-module/components/list/index.js +40 -0
  84. package/build-module/components/list/index.js.map +1 -0
  85. package/build-module/components/list/table.js +112 -0
  86. package/build-module/components/list/table.js.map +1 -0
  87. package/build-module/components/navigation-sidebar/index.js +12 -8
  88. package/build-module/components/navigation-sidebar/index.js.map +1 -1
  89. package/build-module/components/navigation-sidebar/navigation-panel/index.js +35 -53
  90. package/build-module/components/navigation-sidebar/navigation-panel/index.js.map +1 -1
  91. package/build-module/components/navigation-sidebar/navigation-toggle/index.js +4 -24
  92. package/build-module/components/navigation-sidebar/navigation-toggle/index.js.map +1 -1
  93. package/build-module/components/template-details/index.js +3 -2
  94. package/build-module/components/template-details/index.js.map +1 -1
  95. package/build-module/components/template-part-converter/convert-to-template-part.js +20 -84
  96. package/build-module/components/template-part-converter/convert-to-template-part.js.map +1 -1
  97. package/build-module/components/welcome-guide/editor.js +45 -0
  98. package/build-module/components/welcome-guide/editor.js.map +1 -0
  99. package/build-module/components/welcome-guide/image.js +19 -0
  100. package/build-module/components/welcome-guide/image.js.map +1 -0
  101. package/build-module/components/welcome-guide/index.js +35 -0
  102. package/build-module/components/welcome-guide/index.js.map +1 -0
  103. package/build-module/components/welcome-guide/styles.js +69 -0
  104. package/build-module/components/welcome-guide/styles.js.map +1 -0
  105. package/build-module/index.js +21 -1
  106. package/build-module/index.js.map +1 -1
  107. package/build-module/plugins/index.js +3 -2
  108. package/build-module/plugins/index.js.map +1 -1
  109. package/build-module/plugins/welcome-guide-menu-item.js +27 -0
  110. package/build-module/plugins/welcome-guide-menu-item.js.map +1 -0
  111. package/build-module/store/actions.js +5 -8
  112. package/build-module/store/actions.js.map +1 -1
  113. package/build-module/store/defaults.js +4 -1
  114. package/build-module/store/defaults.js.map +1 -1
  115. package/build-module/utils/is-template-removable.js +14 -0
  116. package/build-module/utils/is-template-removable.js.map +1 -0
  117. package/build-style/style-rtl.css +348 -32
  118. package/build-style/style.css +348 -32
  119. package/package.json +7 -7
  120. package/src/components/add-new-template/index.js +30 -0
  121. package/src/components/add-new-template/new-template-part.js +67 -0
  122. package/src/components/add-new-template/new-template.js +117 -0
  123. package/src/components/add-new-template/style.scss +11 -0
  124. package/src/components/create-template-part-modal/index.js +132 -0
  125. package/src/components/{template-part-converter → create-template-part-modal}/style.scss +9 -9
  126. package/src/components/editor/index.js +10 -14
  127. package/src/components/editor/style.scss +8 -0
  128. package/src/components/global-styles/global-styles-provider.js +4 -3
  129. package/src/components/global-styles/hooks.js +58 -26
  130. package/src/components/global-styles/screen-block-list.js +11 -1
  131. package/src/components/global-styles/test/use-global-styles-output.js +2 -2
  132. package/src/components/global-styles/use-global-styles-output.js +2 -2
  133. package/src/components/global-styles/utils.js +1 -1
  134. package/src/components/header/index.js +0 -6
  135. package/src/components/list/header.js +34 -0
  136. package/src/components/list/index.js +38 -0
  137. package/src/components/list/style.scss +113 -0
  138. package/src/components/list/table.js +133 -0
  139. package/src/components/navigation-sidebar/index.js +15 -8
  140. package/src/components/navigation-sidebar/navigation-panel/index.js +44 -55
  141. package/src/components/navigation-sidebar/navigation-panel/style.scss +4 -2
  142. package/src/components/navigation-sidebar/navigation-toggle/index.js +4 -28
  143. package/src/components/template-details/index.js +3 -2
  144. package/src/components/template-part-converter/convert-to-template-part.js +20 -140
  145. package/src/components/welcome-guide/editor.js +63 -0
  146. package/src/components/welcome-guide/image.js +11 -0
  147. package/src/components/welcome-guide/index.js +33 -0
  148. package/src/components/welcome-guide/style.scss +37 -0
  149. package/src/components/welcome-guide/styles.js +116 -0
  150. package/src/index.js +21 -1
  151. package/src/plugins/index.js +3 -1
  152. package/src/plugins/welcome-guide-menu-item.js +35 -0
  153. package/src/store/actions.js +11 -9
  154. package/src/store/defaults.js +4 -1
  155. package/src/store/test/actions.js +14 -20
  156. package/src/style.scss +9 -6
  157. package/src/utils/is-template-removable.js +13 -0
  158. package/build/components/header/navigation-link/index.js +0 -87
  159. package/build/components/header/navigation-link/index.js.map +0 -1
  160. package/build-module/components/header/navigation-link/index.js +0 -74
  161. package/build-module/components/header/navigation-link/index.js.map +0 -1
  162. package/src/components/header/navigation-link/index.js +0 -71
  163. package/src/components/header/navigation-link/style.scss +0 -69
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.default = AddNewTemplate;
9
+
10
+ var _element = require("@wordpress/element");
11
+
12
+ var _data = require("@wordpress/data");
13
+
14
+ var _coreData = require("@wordpress/core-data");
15
+
16
+ var _newTemplate = _interopRequireDefault(require("./new-template"));
17
+
18
+ var _newTemplatePart = _interopRequireDefault(require("./new-template-part"));
19
+
20
+ /**
21
+ * WordPress dependencies
22
+ */
23
+
24
+ /**
25
+ * Internal dependencies
26
+ */
27
+ function AddNewTemplate(_ref) {
28
+ let {
29
+ templateType = 'wp_template'
30
+ } = _ref;
31
+ const postType = (0, _data.useSelect)(select => select(_coreData.store).getPostType(templateType), [templateType]);
32
+
33
+ if (!postType) {
34
+ return null;
35
+ }
36
+
37
+ if (templateType === 'wp_template') {
38
+ return (0, _element.createElement)(_newTemplate.default, {
39
+ postType: postType
40
+ });
41
+ } else if (templateType === 'wp_template_part') {
42
+ return (0, _element.createElement)(_newTemplatePart.default, {
43
+ postType: postType
44
+ });
45
+ }
46
+
47
+ return null;
48
+ }
49
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["@wordpress/edit-site/src/components/add-new-template/index.js"],"names":["AddNewTemplate","templateType","postType","select","coreStore","getPostType"],"mappings":";;;;;;;;;;;AAGA;;AACA;;AAKA;;AACA;;AAVA;AACA;AACA;;AAIA;AACA;AACA;AAIe,SAASA,cAAT,OAA4D;AAAA,MAAnC;AAAEC,IAAAA,YAAY,GAAG;AAAjB,GAAmC;AAC1E,QAAMC,QAAQ,GAAG,qBACdC,MAAF,IAAcA,MAAM,CAAEC,eAAF,CAAN,CAAoBC,WAApB,CAAiCJ,YAAjC,CADE,EAEhB,CAAEA,YAAF,CAFgB,CAAjB;;AAKA,MAAK,CAAEC,QAAP,EAAkB;AACjB,WAAO,IAAP;AACA;;AAED,MAAKD,YAAY,KAAK,aAAtB,EAAsC;AACrC,WAAO,4BAAC,oBAAD;AAAa,MAAA,QAAQ,EAAGC;AAAxB,MAAP;AACA,GAFD,MAEO,IAAKD,YAAY,KAAK,kBAAtB,EAA2C;AACjD,WAAO,4BAAC,wBAAD;AAAiB,MAAA,QAAQ,EAAGC;AAA5B,MAAP;AACA;;AAED,SAAO,IAAP;AACA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport NewTemplate from './new-template';\nimport NewTemplatePart from './new-template-part';\n\nexport default function AddNewTemplate( { templateType = 'wp_template' } ) {\n\tconst postType = useSelect(\n\t\t( select ) => select( coreStore ).getPostType( templateType ),\n\t\t[ templateType ]\n\t);\n\n\tif ( ! postType ) {\n\t\treturn null;\n\t}\n\n\tif ( templateType === 'wp_template' ) {\n\t\treturn <NewTemplate postType={ postType } />;\n\t} else if ( templateType === 'wp_template_part' ) {\n\t\treturn <NewTemplatePart postType={ postType } />;\n\t}\n\n\treturn null;\n}\n"]}
@@ -0,0 +1,79 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.default = NewTemplatePart;
9
+
10
+ var _element = require("@wordpress/element");
11
+
12
+ var _lodash = require("lodash");
13
+
14
+ var _components = require("@wordpress/components");
15
+
16
+ var _url = require("@wordpress/url");
17
+
18
+ var _apiFetch = _interopRequireDefault(require("@wordpress/api-fetch"));
19
+
20
+ var _createTemplatePartModal = _interopRequireDefault(require("../create-template-part-modal"));
21
+
22
+ /**
23
+ * External dependencies
24
+ */
25
+
26
+ /**
27
+ * WordPress dependencies
28
+ */
29
+
30
+ /**
31
+ * Internal dependencies
32
+ */
33
+ function NewTemplatePart(_ref) {
34
+ let {
35
+ postType
36
+ } = _ref;
37
+ const [isModalOpen, setIsModalOpen] = (0, _element.useState)(false);
38
+
39
+ async function createTemplatePart(_ref2) {
40
+ let {
41
+ title,
42
+ area
43
+ } = _ref2;
44
+
45
+ if (!title) {
46
+ return;
47
+ }
48
+
49
+ const templatePart = await (0, _apiFetch.default)({
50
+ path: '/wp/v2/template-parts',
51
+ method: 'POST',
52
+ data: {
53
+ slug: (0, _lodash.kebabCase)(title),
54
+ title,
55
+ content: '',
56
+ area
57
+ }
58
+ }); // Navigate to the created template part editor.
59
+
60
+ window.location.search = (0, _url.addQueryArgs)('', {
61
+ page: 'gutenberg-edit-site',
62
+ postId: templatePart.id,
63
+ postType: 'wp_template_part'
64
+ }); // Wait for async navigation to happen before closing the modal.
65
+
66
+ await new Promise(() => {});
67
+ }
68
+
69
+ return (0, _element.createElement)(_element.Fragment, null, (0, _element.createElement)(_components.Button, {
70
+ variant: "primary",
71
+ onClick: () => {
72
+ setIsModalOpen(true);
73
+ }
74
+ }, postType.labels.add_new), isModalOpen && (0, _element.createElement)(_createTemplatePartModal.default, {
75
+ closeModal: () => setIsModalOpen(false),
76
+ onCreate: createTemplatePart
77
+ }));
78
+ }
79
+ //# sourceMappingURL=new-template-part.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["@wordpress/edit-site/src/components/add-new-template/new-template-part.js"],"names":["NewTemplatePart","postType","isModalOpen","setIsModalOpen","createTemplatePart","title","area","templatePart","path","method","data","slug","content","window","location","search","page","postId","id","Promise","labels","add_new"],"mappings":";;;;;;;;;AAQA;;AALA;;AAMA;;AACA;;AACA;;AAKA;;AAhBA;AACA;AACA;;AAGA;AACA;AACA;;AAMA;AACA;AACA;AAGe,SAASA,eAAT,OAAyC;AAAA,MAAf;AAAEC,IAAAA;AAAF,GAAe;AACvD,QAAM,CAAEC,WAAF,EAAeC,cAAf,IAAkC,uBAAU,KAAV,CAAxC;;AAEA,iBAAeC,kBAAf,QAAqD;AAAA,QAAlB;AAAEC,MAAAA,KAAF;AAASC,MAAAA;AAAT,KAAkB;;AACpD,QAAK,CAAED,KAAP,EAAe;AACd;AACA;;AAED,UAAME,YAAY,GAAG,MAAM,uBAAU;AACpCC,MAAAA,IAAI,EAAE,uBAD8B;AAEpCC,MAAAA,MAAM,EAAE,MAF4B;AAGpCC,MAAAA,IAAI,EAAE;AACLC,QAAAA,IAAI,EAAE,uBAAWN,KAAX,CADD;AAELA,QAAAA,KAFK;AAGLO,QAAAA,OAAO,EAAE,EAHJ;AAILN,QAAAA;AAJK;AAH8B,KAAV,CAA3B,CALoD,CAgBpD;;AACAO,IAAAA,MAAM,CAACC,QAAP,CAAgBC,MAAhB,GAAyB,uBAAc,EAAd,EAAkB;AAC1CC,MAAAA,IAAI,EAAE,qBADoC;AAE1CC,MAAAA,MAAM,EAAEV,YAAY,CAACW,EAFqB;AAG1CjB,MAAAA,QAAQ,EAAE;AAHgC,KAAlB,CAAzB,CAjBoD,CAuBpD;;AACA,UAAM,IAAIkB,OAAJ,CAAa,MAAM,CAAE,CAArB,CAAN;AACA;;AAED,SACC,qDACC,4BAAC,kBAAD;AACC,IAAA,OAAO,EAAC,SADT;AAEC,IAAA,OAAO,EAAG,MAAM;AACfhB,MAAAA,cAAc,CAAE,IAAF,CAAd;AACA;AAJF,KAMGF,QAAQ,CAACmB,MAAT,CAAgBC,OANnB,CADD,EASGnB,WAAW,IACZ,4BAAC,gCAAD;AACC,IAAA,UAAU,EAAG,MAAMC,cAAc,CAAE,KAAF,CADlC;AAEC,IAAA,QAAQ,EAAGC;AAFZ,IAVF,CADD;AAkBA","sourcesContent":["/**\n * External dependencies\n */\nimport { kebabCase } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { useState } from '@wordpress/element';\nimport { Button } from '@wordpress/components';\nimport { addQueryArgs } from '@wordpress/url';\nimport apiFetch from '@wordpress/api-fetch';\n\n/**\n * Internal dependencies\n */\nimport CreateTemplatePartModal from '../create-template-part-modal';\n\nexport default function NewTemplatePart( { postType } ) {\n\tconst [ isModalOpen, setIsModalOpen ] = useState( false );\n\n\tasync function createTemplatePart( { title, area } ) {\n\t\tif ( ! title ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst templatePart = await apiFetch( {\n\t\t\tpath: '/wp/v2/template-parts',\n\t\t\tmethod: 'POST',\n\t\t\tdata: {\n\t\t\t\tslug: kebabCase( title ),\n\t\t\t\ttitle,\n\t\t\t\tcontent: '',\n\t\t\t\tarea,\n\t\t\t},\n\t\t} );\n\n\t\t// Navigate to the created template part editor.\n\t\twindow.location.search = addQueryArgs( '', {\n\t\t\tpage: 'gutenberg-edit-site',\n\t\t\tpostId: templatePart.id,\n\t\t\tpostType: 'wp_template_part',\n\t\t} );\n\n\t\t// Wait for async navigation to happen before closing the modal.\n\t\tawait new Promise( () => {} );\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<Button\n\t\t\t\tvariant=\"primary\"\n\t\t\t\tonClick={ () => {\n\t\t\t\t\tsetIsModalOpen( true );\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t{ postType.labels.add_new }\n\t\t\t</Button>\n\t\t\t{ isModalOpen && (\n\t\t\t\t<CreateTemplatePartModal\n\t\t\t\t\tcloseModal={ () => setIsModalOpen( false ) }\n\t\t\t\t\tonCreate={ createTemplatePart }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"]}
@@ -0,0 +1,115 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.default = NewTemplate;
9
+
10
+ var _element = require("@wordpress/element");
11
+
12
+ var _lodash = require("lodash");
13
+
14
+ var _components = require("@wordpress/components");
15
+
16
+ var _data = require("@wordpress/data");
17
+
18
+ var _coreData = require("@wordpress/core-data");
19
+
20
+ var _editor = require("@wordpress/editor");
21
+
22
+ var _url = require("@wordpress/url");
23
+
24
+ var _apiFetch = _interopRequireDefault(require("@wordpress/api-fetch"));
25
+
26
+ /**
27
+ * External dependencies
28
+ */
29
+
30
+ /**
31
+ * WordPress dependencies
32
+ */
33
+ const DEFAULT_TEMPLATE_SLUGS = ['front-page', 'single-post', 'page', 'archive', 'search', '404', 'index'];
34
+
35
+ function NewTemplate(_ref) {
36
+ let {
37
+ postType
38
+ } = _ref;
39
+ const {
40
+ templates,
41
+ defaultTemplateTypes
42
+ } = (0, _data.useSelect)(select => ({
43
+ templates: select(_coreData.store).getEntityRecords('postType', 'wp_template'),
44
+ defaultTemplateTypes: select(_editor.store).__experimentalGetDefaultTemplateTypes()
45
+ }), []);
46
+
47
+ async function createTemplate(_ref2) {
48
+ let {
49
+ slug
50
+ } = _ref2;
51
+ const {
52
+ title,
53
+ description
54
+ } = (0, _lodash.find)(defaultTemplateTypes, {
55
+ slug
56
+ });
57
+ const template = await (0, _apiFetch.default)({
58
+ path: '/wp/v2/templates',
59
+ method: 'POST',
60
+ data: {
61
+ excerpt: description,
62
+ // Slugs need to be strings, so this is for template `404`
63
+ slug: slug.toString(),
64
+ status: 'publish',
65
+ title
66
+ }
67
+ }); // Navigate to the created template editor.
68
+
69
+ window.location.search = (0, _url.addQueryArgs)('', {
70
+ page: 'gutenberg-edit-site',
71
+ postId: template.id,
72
+ postType: 'wp_template'
73
+ });
74
+ }
75
+
76
+ const existingTemplateSlugs = (0, _lodash.map)(templates, 'slug');
77
+ const missingTemplates = (0, _lodash.filter)(defaultTemplateTypes, template => (0, _lodash.includes)(DEFAULT_TEMPLATE_SLUGS, template.slug) && !(0, _lodash.includes)(existingTemplateSlugs, template.slug));
78
+
79
+ if (!missingTemplates.length) {
80
+ return null;
81
+ }
82
+
83
+ return (0, _element.createElement)(_components.DropdownMenu, {
84
+ className: "edit-site-new-template-dropdown",
85
+ icon: null,
86
+ text: postType.labels.add_new,
87
+ label: postType.labels.add_new_item,
88
+ popoverProps: {
89
+ noArrow: false
90
+ },
91
+ toggleProps: {
92
+ variant: 'primary'
93
+ }
94
+ }, () => (0, _element.createElement)(_components.NavigableMenu, {
95
+ className: "edit-site-new-template-dropdown__popover"
96
+ }, (0, _element.createElement)(_components.MenuGroup, {
97
+ label: postType.labels.add_new_item
98
+ }, (0, _lodash.map)(missingTemplates, _ref3 => {
99
+ let {
100
+ title,
101
+ description,
102
+ slug
103
+ } = _ref3;
104
+ return (0, _element.createElement)(_components.MenuItem, {
105
+ info: description,
106
+ key: slug,
107
+ onClick: () => {
108
+ createTemplate({
109
+ slug
110
+ }); // We will be navigated way so no need to close the dropdown.
111
+ }
112
+ }, title);
113
+ }))));
114
+ }
115
+ //# sourceMappingURL=new-template.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["@wordpress/edit-site/src/components/add-new-template/new-template.js"],"names":["DEFAULT_TEMPLATE_SLUGS","NewTemplate","postType","templates","defaultTemplateTypes","select","coreStore","getEntityRecords","editorStore","__experimentalGetDefaultTemplateTypes","createTemplate","slug","title","description","template","path","method","data","excerpt","toString","status","window","location","search","page","postId","id","existingTemplateSlugs","missingTemplates","length","labels","add_new","add_new_item","noArrow","variant"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { filter, find, includes, map } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tDropdownMenu,\n\tMenuGroup,\n\tMenuItem,\n\tNavigableMenu,\n} from '@wordpress/components';\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { store as editorStore } from '@wordpress/editor';\nimport { addQueryArgs } from '@wordpress/url';\nimport apiFetch from '@wordpress/api-fetch';\n\nconst DEFAULT_TEMPLATE_SLUGS = [\n\t'front-page',\n\t'single-post',\n\t'page',\n\t'archive',\n\t'search',\n\t'404',\n\t'index',\n];\n\nexport default function NewTemplate( { postType } ) {\n\tconst { templates, defaultTemplateTypes } = useSelect(\n\t\t( select ) => ( {\n\t\t\ttemplates: select( coreStore ).getEntityRecords(\n\t\t\t\t'postType',\n\t\t\t\t'wp_template'\n\t\t\t),\n\t\t\tdefaultTemplateTypes: select(\n\t\t\t\teditorStore\n\t\t\t).__experimentalGetDefaultTemplateTypes(),\n\t\t} ),\n\t\t[]\n\t);\n\n\tasync function createTemplate( { slug } ) {\n\t\tconst { title, description } = find( defaultTemplateTypes, { slug } );\n\n\t\tconst template = await apiFetch( {\n\t\t\tpath: '/wp/v2/templates',\n\t\t\tmethod: 'POST',\n\t\t\tdata: {\n\t\t\t\texcerpt: description,\n\t\t\t\t// Slugs need to be strings, so this is for template `404`\n\t\t\t\tslug: slug.toString(),\n\t\t\t\tstatus: 'publish',\n\t\t\t\ttitle,\n\t\t\t},\n\t\t} );\n\n\t\t// Navigate to the created template editor.\n\t\twindow.location.search = addQueryArgs( '', {\n\t\t\tpage: 'gutenberg-edit-site',\n\t\t\tpostId: template.id,\n\t\t\tpostType: 'wp_template',\n\t\t} );\n\t}\n\n\tconst existingTemplateSlugs = map( templates, 'slug' );\n\n\tconst missingTemplates = filter(\n\t\tdefaultTemplateTypes,\n\t\t( template ) =>\n\t\t\tincludes( DEFAULT_TEMPLATE_SLUGS, template.slug ) &&\n\t\t\t! includes( existingTemplateSlugs, template.slug )\n\t);\n\n\tif ( ! missingTemplates.length ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<DropdownMenu\n\t\t\tclassName=\"edit-site-new-template-dropdown\"\n\t\t\ticon={ null }\n\t\t\ttext={ postType.labels.add_new }\n\t\t\tlabel={ postType.labels.add_new_item }\n\t\t\tpopoverProps={ {\n\t\t\t\tnoArrow: false,\n\t\t\t} }\n\t\t\ttoggleProps={ {\n\t\t\t\tvariant: 'primary',\n\t\t\t} }\n\t\t>\n\t\t\t{ () => (\n\t\t\t\t<NavigableMenu className=\"edit-site-new-template-dropdown__popover\">\n\t\t\t\t\t<MenuGroup label={ postType.labels.add_new_item }>\n\t\t\t\t\t\t{ map(\n\t\t\t\t\t\t\tmissingTemplates,\n\t\t\t\t\t\t\t( { title, description, slug } ) => (\n\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\tinfo={ description }\n\t\t\t\t\t\t\t\t\tkey={ slug }\n\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\tcreateTemplate( { slug } );\n\t\t\t\t\t\t\t\t\t\t// We will be navigated way so no need to close the dropdown.\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{ title }\n\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t) }\n\t\t\t\t\t</MenuGroup>\n\t\t\t\t</NavigableMenu>\n\t\t\t) }\n\t\t</DropdownMenu>\n\t);\n}\n"]}
@@ -0,0 +1,115 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = CreateTemplatePartModal;
7
+
8
+ var _element = require("@wordpress/element");
9
+
10
+ var _data = require("@wordpress/data");
11
+
12
+ var _components = require("@wordpress/components");
13
+
14
+ var _i18n = require("@wordpress/i18n");
15
+
16
+ var _compose = require("@wordpress/compose");
17
+
18
+ var _editor = require("@wordpress/editor");
19
+
20
+ var _icons = require("@wordpress/icons");
21
+
22
+ var _constants = require("../../store/constants");
23
+
24
+ /**
25
+ * WordPress dependencies
26
+ */
27
+
28
+ /**
29
+ * Internal dependencies
30
+ */
31
+ function CreateTemplatePartModal(_ref) {
32
+ let {
33
+ closeModal,
34
+ onCreate
35
+ } = _ref;
36
+ const [title, setTitle] = (0, _element.useState)('');
37
+ const [area, setArea] = (0, _element.useState)(_constants.TEMPLATE_PART_AREA_GENERAL);
38
+ const [isSubmitting, setIsSubmitting] = (0, _element.useState)(false);
39
+ const instanceId = (0, _compose.useInstanceId)(CreateTemplatePartModal);
40
+ const templatePartAreas = (0, _data.useSelect)(select => select(_editor.store).__experimentalGetDefaultTemplatePartAreas(), []);
41
+ return (0, _element.createElement)(_components.Modal, {
42
+ title: (0, _i18n.__)('Create a template part'),
43
+ closeLabel: (0, _i18n.__)('Close'),
44
+ onRequestClose: closeModal,
45
+ overlayClassName: "edit-site-create-template-part-modal"
46
+ }, (0, _element.createElement)("form", {
47
+ onSubmit: async event => {
48
+ event.preventDefault();
49
+
50
+ if (!title) {
51
+ return;
52
+ }
53
+
54
+ setIsSubmitting(true);
55
+ await onCreate({
56
+ title,
57
+ area
58
+ });
59
+ setIsSubmitting(false);
60
+ closeModal();
61
+ }
62
+ }, (0, _element.createElement)(_components.TextControl, {
63
+ label: (0, _i18n.__)('Name'),
64
+ value: title,
65
+ onChange: setTitle,
66
+ required: true
67
+ }), (0, _element.createElement)(_components.BaseControl, {
68
+ label: (0, _i18n.__)('Area'),
69
+ id: `edit-site-create-template-part-modal__area-selection-${instanceId}`,
70
+ className: "edit-site-create-template-part-modal__area-base-control"
71
+ }, (0, _element.createElement)(_components.__experimentalRadioGroup, {
72
+ label: (0, _i18n.__)('Area'),
73
+ className: "edit-site-create-template-part-modal__area-radio-group",
74
+ id: `edit-site-create-template-part-modal__area-selection-${instanceId}`,
75
+ onChange: setArea,
76
+ checked: area
77
+ }, templatePartAreas.map(_ref2 => {
78
+ let {
79
+ icon,
80
+ label,
81
+ area: value,
82
+ description
83
+ } = _ref2;
84
+ return (0, _element.createElement)(_components.__experimentalRadio, {
85
+ key: label,
86
+ value: value,
87
+ className: "edit-site-create-template-part-modal__area-radio"
88
+ }, (0, _element.createElement)(_components.Flex, {
89
+ align: "start",
90
+ justify: "start"
91
+ }, (0, _element.createElement)(_components.FlexItem, null, (0, _element.createElement)(_components.Icon, {
92
+ icon: icon
93
+ })), (0, _element.createElement)(_components.FlexBlock, {
94
+ className: "edit-site-create-template-part-modal__option-label"
95
+ }, label, (0, _element.createElement)("div", null, description)), (0, _element.createElement)(_components.FlexItem, {
96
+ className: "edit-site-create-template-part-modal__checkbox"
97
+ }, area === value && (0, _element.createElement)(_components.Icon, {
98
+ icon: _icons.check
99
+ }))));
100
+ }))), (0, _element.createElement)(_components.Flex, {
101
+ className: "edit-site-create-template-part-modal__modal-actions",
102
+ justify: "flex-end"
103
+ }, (0, _element.createElement)(_components.FlexItem, null, (0, _element.createElement)(_components.Button, {
104
+ variant: "secondary",
105
+ onClick: () => {
106
+ closeModal();
107
+ }
108
+ }, (0, _i18n.__)('Cancel'))), (0, _element.createElement)(_components.FlexItem, null, (0, _element.createElement)(_components.Button, {
109
+ variant: "primary",
110
+ type: "submit",
111
+ disabled: !title,
112
+ isBusy: isSubmitting
113
+ }, (0, _i18n.__)('Create'))))));
114
+ }
115
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["@wordpress/edit-site/src/components/create-template-part-modal/index.js"],"names":["CreateTemplatePartModal","closeModal","onCreate","title","setTitle","area","setArea","TEMPLATE_PART_AREA_GENERAL","isSubmitting","setIsSubmitting","instanceId","templatePartAreas","select","editorStore","__experimentalGetDefaultTemplatePartAreas","event","preventDefault","map","icon","label","value","description","check"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport {\n\tIcon,\n\tBaseControl,\n\tTextControl,\n\tFlex,\n\tFlexItem,\n\tFlexBlock,\n\tButton,\n\tModal,\n\t__experimentalRadioGroup as RadioGroup,\n\t__experimentalRadio as Radio,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useState } from '@wordpress/element';\nimport { useInstanceId } from '@wordpress/compose';\nimport { store as editorStore } from '@wordpress/editor';\nimport { check } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport { TEMPLATE_PART_AREA_GENERAL } from '../../store/constants';\n\nexport default function CreateTemplatePartModal( { closeModal, onCreate } ) {\n\tconst [ title, setTitle ] = useState( '' );\n\tconst [ area, setArea ] = useState( TEMPLATE_PART_AREA_GENERAL );\n\tconst [ isSubmitting, setIsSubmitting ] = useState( false );\n\tconst instanceId = useInstanceId( CreateTemplatePartModal );\n\n\tconst templatePartAreas = useSelect(\n\t\t( select ) =>\n\t\t\tselect( editorStore ).__experimentalGetDefaultTemplatePartAreas(),\n\t\t[]\n\t);\n\n\treturn (\n\t\t<Modal\n\t\t\ttitle={ __( 'Create a template part' ) }\n\t\t\tcloseLabel={ __( 'Close' ) }\n\t\t\tonRequestClose={ closeModal }\n\t\t\toverlayClassName=\"edit-site-create-template-part-modal\"\n\t\t>\n\t\t\t<form\n\t\t\t\tonSubmit={ async ( event ) => {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tif ( ! title ) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tsetIsSubmitting( true );\n\t\t\t\t\tawait onCreate( { title, area } );\n\t\t\t\t\tsetIsSubmitting( false );\n\t\t\t\t\tcloseModal();\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t<TextControl\n\t\t\t\t\tlabel={ __( 'Name' ) }\n\t\t\t\t\tvalue={ title }\n\t\t\t\t\tonChange={ setTitle }\n\t\t\t\t\trequired\n\t\t\t\t/>\n\t\t\t\t<BaseControl\n\t\t\t\t\tlabel={ __( 'Area' ) }\n\t\t\t\t\tid={ `edit-site-create-template-part-modal__area-selection-${ instanceId }` }\n\t\t\t\t\tclassName=\"edit-site-create-template-part-modal__area-base-control\"\n\t\t\t\t>\n\t\t\t\t\t<RadioGroup\n\t\t\t\t\t\tlabel={ __( 'Area' ) }\n\t\t\t\t\t\tclassName=\"edit-site-create-template-part-modal__area-radio-group\"\n\t\t\t\t\t\tid={ `edit-site-create-template-part-modal__area-selection-${ instanceId }` }\n\t\t\t\t\t\tonChange={ setArea }\n\t\t\t\t\t\tchecked={ area }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ templatePartAreas.map(\n\t\t\t\t\t\t\t( { icon, label, area: value, description } ) => (\n\t\t\t\t\t\t\t\t<Radio\n\t\t\t\t\t\t\t\t\tkey={ label }\n\t\t\t\t\t\t\t\t\tvalue={ value }\n\t\t\t\t\t\t\t\t\tclassName=\"edit-site-create-template-part-modal__area-radio\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<Flex align=\"start\" justify=\"start\">\n\t\t\t\t\t\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t\t\t\t\t\t<Icon icon={ icon } />\n\t\t\t\t\t\t\t\t\t\t</FlexItem>\n\t\t\t\t\t\t\t\t\t\t<FlexBlock className=\"edit-site-create-template-part-modal__option-label\">\n\t\t\t\t\t\t\t\t\t\t\t{ label }\n\t\t\t\t\t\t\t\t\t\t\t<div>{ description }</div>\n\t\t\t\t\t\t\t\t\t\t</FlexBlock>\n\n\t\t\t\t\t\t\t\t\t\t<FlexItem className=\"edit-site-create-template-part-modal__checkbox\">\n\t\t\t\t\t\t\t\t\t\t\t{ area === value && (\n\t\t\t\t\t\t\t\t\t\t\t\t<Icon icon={ check } />\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t</FlexItem>\n\t\t\t\t\t\t\t\t\t</Flex>\n\t\t\t\t\t\t\t\t</Radio>\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t) }\n\t\t\t\t\t</RadioGroup>\n\t\t\t\t</BaseControl>\n\t\t\t\t<Flex\n\t\t\t\t\tclassName=\"edit-site-create-template-part-modal__modal-actions\"\n\t\t\t\t\tjustify=\"flex-end\"\n\t\t\t\t>\n\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tcloseModal();\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</FlexItem>\n\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\ttype=\"submit\"\n\t\t\t\t\t\t\tdisabled={ ! title }\n\t\t\t\t\t\t\tisBusy={ isSubmitting }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Create' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</FlexItem>\n\t\t\t\t</Flex>\n\t\t\t</form>\n\t\t</Modal>\n\t);\n}\n"]}
@@ -31,6 +31,8 @@ var _header = _interopRequireDefault(require("../header"));
31
31
 
32
32
  var _sidebar = require("../sidebar");
33
33
 
34
+ var _navigationSidebar = _interopRequireDefault(require("../navigation-sidebar"));
35
+
34
36
  var _blockEditor2 = _interopRequireDefault(require("../block-editor"));
35
37
 
36
38
  var _keyboardShortcuts2 = _interopRequireDefault(require("../keyboard-shortcuts"));
@@ -43,6 +45,8 @@ var _listViewSidebar = _interopRequireDefault(require("../secondary-sidebar/list
43
45
 
44
46
  var _errorBoundary = _interopRequireDefault(require("../error-boundary"));
45
47
 
48
+ var _welcomeGuide = _interopRequireDefault(require("../welcome-guide"));
49
+
46
50
  var _store = require("../../store");
47
51
 
48
52
  var _globalStylesRenderer = require("./global-styles-renderer");
@@ -57,7 +61,8 @@ var _globalStylesProvider = require("../global-styles/global-styles-provider");
57
61
  * Internal dependencies
58
62
  */
59
63
  const interfaceLabels = {
60
- secondarySidebar: (0, _i18n.__)('Block Library')
64
+ secondarySidebar: (0, _i18n.__)('Block Library'),
65
+ drawer: (0, _i18n.__)('Navigation Sidebar')
61
66
  };
62
67
 
63
68
  function Editor(_ref) {
@@ -114,9 +119,6 @@ function Editor(_ref) {
114
119
  setIsInserterOpened,
115
120
  updateSettings
116
121
  } = (0, _data.useDispatch)(_store.store);
117
- const {
118
- enableComplementaryArea
119
- } = (0, _data.useDispatch)(_interface.store);
120
122
  (0, _element.useEffect)(() => {
121
123
  updateSettings(initialSettings);
122
124
  }, []); // Keep the defaultTemplateTypes in the core/editor settings too,
@@ -156,14 +158,7 @@ function Editor(_ref) {
156
158
  } else {
157
159
  document.body.classList.remove('is-navigation-sidebar-open');
158
160
  }
159
- }, [isNavigationOpen]);
160
- (0, _element.useEffect)(function openGlobalStylesOnLoad() {
161
- const searchParams = new URLSearchParams(window.location.search);
162
-
163
- if (searchParams.get('styles') === 'open') {
164
- enableComplementaryArea('core/edit-site', 'edit-site/global-styles');
165
- }
166
- }, [enableComplementaryArea]); // Don't render the Editor until the settings are set and loaded
161
+ }, [isNavigationOpen]); // Don't render the Editor until the settings are set and loaded
167
162
 
168
163
  const isReady = (settings === null || settings === void 0 ? void 0 : settings.siteUrl) && templateType !== undefined && entityId !== undefined;
169
164
 
@@ -198,6 +193,9 @@ function Editor(_ref) {
198
193
  sidebar: sidebarIsOpened && (0, _element.createElement)(_interface.ComplementaryArea.Slot, {
199
194
  scope: "core/edit-site"
200
195
  }),
196
+ drawer: (0, _element.createElement)(_navigationSidebar.default, {
197
+ defaultIsOpen: false
198
+ }),
201
199
  header: (0, _element.createElement)(_header.default, {
202
200
  openEntitiesSavedStates: openEntitiesSavedStates
203
201
  }),
@@ -221,7 +219,7 @@ function Editor(_ref) {
221
219
  "aria-expanded": false
222
220
  }, (0, _i18n.__)('Open save panel')))),
223
221
  footer: (0, _element.createElement)(_blockEditor.BlockBreadcrumb, null)
224
- }), (0, _element.createElement)(_components.Popover.Slot, null), (0, _element.createElement)(_plugins.PluginArea, null)))))))));
222
+ }), (0, _element.createElement)(_welcomeGuide.default, null), (0, _element.createElement)(_components.Popover.Slot, null), (0, _element.createElement)(_plugins.PluginArea, null)))))))));
225
223
  }
226
224
 
227
225
  var _default = Editor;
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/edit-site/src/components/editor/index.js"],"names":["interfaceLabels","secondarySidebar","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","enableComplementaryArea","defaultTemplateTypes","defaultTemplatePartAreas","isEntitiesSavedStatesOpen","setIsEntitiesSavedStatesOpen","openEntitiesSavedStates","closeEntitiesSavedStates","blockContext","context","queryContext","newQueryContext","document","body","classList","add","remove","openGlobalStylesOnLoad","searchParams","URLSearchParams","window","location","search","get","isReady","siteUrl","undefined"],"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 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';\nimport { GlobalStylesRenderer } from './global-styles-renderer';\nimport { GlobalStylesProvider } from '../global-styles/global-styles-provider';\n\nconst interfaceLabels = {\n\tsecondarySidebar: __( 'Block Library' ),\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\tconst { enableComplementaryArea } = useDispatch( interfaceStore );\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\tuseEffect(\n\t\tfunction openGlobalStylesOnLoad() {\n\t\t\tconst searchParams = new URLSearchParams( window.location.search );\n\t\t\tif ( searchParams.get( 'styles' ) === 'open' ) {\n\t\t\t\tenableComplementaryArea(\n\t\t\t\t\t'core/edit-site',\n\t\t\t\t\t'edit-site/global-styles'\n\t\t\t\t);\n\t\t\t}\n\t\t},\n\t\t[ enableComplementaryArea ]\n\t);\n\n\t// Don't render the Editor until the settings are set and loaded\n\tconst isReady =\n\t\tsettings?.siteUrl &&\n\t\ttemplateType !== undefined &&\n\t\tentityId !== undefined;\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<>\n\t\t\t<URLQueryController />\n\t\t\t{ isReady && (\n\t\t\t\t<ShortcutProvider>\n\t\t\t\t\t<SlotFillProvider>\n\t\t\t\t\t\t<EntityProvider kind=\"root\" type=\"site\">\n\t\t\t\t\t\t\t<EntityProvider\n\t\t\t\t\t\t\t\tkind=\"postType\"\n\t\t\t\t\t\t\t\ttype={ templateType }\n\t\t\t\t\t\t\t\tid={ entityId }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<GlobalStylesProvider>\n\t\t\t\t\t\t\t\t\t<BlockContextProvider\n\t\t\t\t\t\t\t\t\t\tvalue={ blockContext }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<GlobalStylesRenderer />\n\t\t\t\t\t\t\t\t\t\t<ErrorBoundary onError={ onError }>\n\t\t\t\t\t\t\t\t\t\t\t<FullscreenMode isActive />\n\t\t\t\t\t\t\t\t\t\t\t<UnsavedChangesWarning />\n\t\t\t\t\t\t\t\t\t\t\t<KeyboardShortcuts.Register />\n\t\t\t\t\t\t\t\t\t\t\t<SidebarComplementaryAreaFills />\n\t\t\t\t\t\t\t\t\t\t\t<InterfaceSkeleton\n\t\t\t\t\t\t\t\t\t\t\t\tlabels={ interfaceLabels }\n\t\t\t\t\t\t\t\t\t\t\t\tsecondarySidebar={ secondarySidebar() }\n\t\t\t\t\t\t\t\t\t\t\t\tsidebar={\n\t\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\t<ComplementaryArea.Slot scope=\"core/edit-site\" />\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\theader={\n\t\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\t\topenEntitiesSavedStates={\n\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}\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\tnotices={ <EditorSnackbars /> }\n\t\t\t\t\t\t\t\t\t\t\t\tcontent={\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<EditorNotices />\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\t\t<BlockEditor\n\t\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\t\tsetIsInserterOpened\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) }\n\t\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\t! template &&\n\t\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\t\tentityId && (\n\t\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\t\tstatus=\"warning\"\n\t\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\t\tfalse\n\t\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>\n\t\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\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\t) }\n\t\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) }\n\t\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\t\t\topenEntitiesSavedStates={\n\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}\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}\n\t\t\t\t\t\t\t\t\t\t\t\tactions={\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{ isEntitiesSavedStatesOpen ? (\n\t\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\t\tclose={\n\t\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\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) : (\n\t\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\t<Button\n\t\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\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\t\tonClick={\n\t\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\t}\n\t\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\t\tfalse\n\t\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>\n\t\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\t'Open save panel'\n\t\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</Button>\n\t\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\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}\n\t\t\t\t\t\t\t\t\t\t\t\tfooter={ <BlockBreadcrumb /> }\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t<Popover.Slot />\n\t\t\t\t\t\t\t\t\t\t\t<PluginArea />\n\t\t\t\t\t\t\t\t\t\t</ErrorBoundary>\n\t\t\t\t\t\t\t\t\t</BlockContextProvider>\n\t\t\t\t\t\t\t\t</GlobalStylesProvider>\n\t\t\t\t\t\t\t</EntityProvider>\n\t\t\t\t\t\t</EntityProvider>\n\t\t\t\t\t</SlotFillProvider>\n\t\t\t\t</ShortcutProvider>\n\t\t\t) }\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","isReady","siteUrl","undefined"],"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 NavigationSidebar from '../navigation-sidebar';\nimport BlockEditor from '../block-editor';\nimport KeyboardShortcuts from '../keyboard-shortcuts';\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 WelcomeGuide from '../welcome-guide';\nimport { store as editSiteStore } from '../../store';\nimport { GlobalStylesRenderer } from './global-styles-renderer';\nimport { GlobalStylesProvider } from '../global-styles/global-styles-provider';\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\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\tconst isReady =\n\t\tsettings?.siteUrl &&\n\t\ttemplateType !== undefined &&\n\t\tentityId !== undefined;\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<>\n\t\t\t<URLQueryController />\n\t\t\t{ isReady && (\n\t\t\t\t<ShortcutProvider>\n\t\t\t\t\t<SlotFillProvider>\n\t\t\t\t\t\t<EntityProvider kind=\"root\" type=\"site\">\n\t\t\t\t\t\t\t<EntityProvider\n\t\t\t\t\t\t\t\tkind=\"postType\"\n\t\t\t\t\t\t\t\ttype={ templateType }\n\t\t\t\t\t\t\t\tid={ entityId }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<GlobalStylesProvider>\n\t\t\t\t\t\t\t\t\t<BlockContextProvider\n\t\t\t\t\t\t\t\t\t\tvalue={ blockContext }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<GlobalStylesRenderer />\n\t\t\t\t\t\t\t\t\t\t<ErrorBoundary onError={ onError }>\n\t\t\t\t\t\t\t\t\t\t\t<FullscreenMode isActive />\n\t\t\t\t\t\t\t\t\t\t\t<UnsavedChangesWarning />\n\t\t\t\t\t\t\t\t\t\t\t<KeyboardShortcuts.Register />\n\t\t\t\t\t\t\t\t\t\t\t<SidebarComplementaryAreaFills />\n\t\t\t\t\t\t\t\t\t\t\t<InterfaceSkeleton\n\t\t\t\t\t\t\t\t\t\t\t\tlabels={ interfaceLabels }\n\t\t\t\t\t\t\t\t\t\t\t\tsecondarySidebar={ secondarySidebar() }\n\t\t\t\t\t\t\t\t\t\t\t\tsidebar={\n\t\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\t<ComplementaryArea.Slot scope=\"core/edit-site\" />\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\tdrawer={\n\t\t\t\t\t\t\t\t\t\t\t\t\t<NavigationSidebar\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdefaultIsOpen={ false }\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\theader={\n\t\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\t\topenEntitiesSavedStates={\n\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}\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\tnotices={ <EditorSnackbars /> }\n\t\t\t\t\t\t\t\t\t\t\t\tcontent={\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<EditorNotices />\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\t\t<BlockEditor\n\t\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\t\tsetIsInserterOpened\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) }\n\t\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\t! template &&\n\t\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\t\tentityId && (\n\t\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\t\tstatus=\"warning\"\n\t\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\t\tfalse\n\t\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>\n\t\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\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\t) }\n\t\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) }\n\t\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\t\t\topenEntitiesSavedStates={\n\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}\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}\n\t\t\t\t\t\t\t\t\t\t\t\tactions={\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{ isEntitiesSavedStatesOpen ? (\n\t\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\t\tclose={\n\t\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\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) : (\n\t\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\t<Button\n\t\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\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\t\tonClick={\n\t\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\t}\n\t\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\t\tfalse\n\t\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>\n\t\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\t'Open save panel'\n\t\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</Button>\n\t\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\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}\n\t\t\t\t\t\t\t\t\t\t\t\tfooter={ <BlockBreadcrumb /> }\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t<WelcomeGuide />\n\t\t\t\t\t\t\t\t\t\t\t<Popover.Slot />\n\t\t\t\t\t\t\t\t\t\t\t<PluginArea />\n\t\t\t\t\t\t\t\t\t\t</ErrorBoundary>\n\t\t\t\t\t\t\t\t\t</BlockContextProvider>\n\t\t\t\t\t\t\t\t</GlobalStylesProvider>\n\t\t\t\t\t\t\t</EntityProvider>\n\t\t\t\t\t\t</EntityProvider>\n\t\t\t\t\t</SlotFillProvider>\n\t\t\t\t</ShortcutProvider>\n\t\t\t) }\n\t\t</>\n\t);\n}\nexport default Editor;\n"]}
@@ -134,12 +134,12 @@ function useGlobalStylesBaseConfig() {
134
134
  const baseConfig = (0, _data.useSelect)(select => {
135
135
  return select(_coreData.store).__experimentalGetCurrentThemeBaseGlobalStyles();
136
136
  }, []);
137
- return baseConfig;
137
+ return [!!baseConfig, baseConfig];
138
138
  }
139
139
 
140
140
  function useGlobalStylesContext() {
141
141
  const [isUserConfigReady, userConfig, setUserConfig] = useGlobalStylesUserConfig();
142
- const baseConfig = useGlobalStylesBaseConfig();
142
+ const [isBaseConfigReady, baseConfig] = useGlobalStylesBaseConfig();
143
143
  const mergedConfig = (0, _element.useMemo)(() => {
144
144
  if (!baseConfig || !userConfig) {
145
145
  return {};
@@ -149,13 +149,13 @@ function useGlobalStylesContext() {
149
149
  }, [userConfig, baseConfig]);
150
150
  const context = (0, _element.useMemo)(() => {
151
151
  return {
152
- isReady: isUserConfigReady,
152
+ isReady: isUserConfigReady && isBaseConfigReady,
153
153
  user: userConfig,
154
154
  base: baseConfig,
155
155
  merged: mergedConfig,
156
156
  setUserConfig
157
157
  };
158
- }, [mergedConfig, userConfig, baseConfig, setUserConfig, isUserConfigReady]);
158
+ }, [mergedConfig, userConfig, baseConfig, setUserConfig, isUserConfigReady, isBaseConfigReady]);
159
159
  return context;
160
160
  }
161
161
 
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/edit-site/src/components/global-styles/global-styles-provider.js"],"names":["mergeTreesCustomizer","_","srcValue","Array","isArray","mergeBaseAndUserConfigs","base","user","addUserOriginToSettings","settingsToAdd","newSettings","PRESET_METADATA","forEach","path","presetData","removeUserOriginFromSettings","settingsToRemove","cleanEmptyObject","object","cleanedNestedObjects","identity","undefined","useGlobalStylesUserConfig","globalStylesId","settings","styles","select","_globalStylesId","coreStore","__experimentalGetCurrentGlobalStylesId","record","getEditedEntityRecord","editEntityRecord","config","setConfig","callback","currentConfig","updatedConfig","useGlobalStylesBaseConfig","baseConfig","__experimentalGetCurrentThemeBaseGlobalStyles","useGlobalStylesContext","isUserConfigReady","userConfig","setUserConfig","mergedConfig","context","isReady","merged","GlobalStylesProvider","children"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport {\n\tget,\n\tcloneDeep,\n\tset,\n\tmergeWith,\n\tpickBy,\n\tisEmpty,\n\tisObject,\n\tidentity,\n\tmapValues,\n} from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { useMemo, useCallback } from '@wordpress/element';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport { PRESET_METADATA } from './utils';\nimport { GlobalStylesContext } from './context';\n\nfunction mergeTreesCustomizer( _, 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\nfunction mergeBaseAndUserConfigs( base, user ) {\n\treturn mergeWith( {}, base, user, mergeTreesCustomizer );\n}\n\nfunction addUserOriginToSettings( settingsToAdd ) {\n\tconst newSettings = cloneDeep( settingsToAdd );\n\tPRESET_METADATA.forEach( ( { path } ) => {\n\t\tconst presetData = get( newSettings, path );\n\t\tif ( presetData ) {\n\t\t\tset( newSettings, path, {\n\t\t\t\tuser: presetData,\n\t\t\t} );\n\t\t}\n\t} );\n\treturn newSettings;\n}\n\nfunction removeUserOriginFromSettings( settingsToRemove ) {\n\tconst newSettings = cloneDeep( settingsToRemove );\n\tPRESET_METADATA.forEach( ( { path } ) => {\n\t\tconst presetData = get( newSettings, path );\n\t\tif ( presetData ) {\n\t\t\tset( newSettings, path, ( presetData ?? {} ).user );\n\t\t}\n\t} );\n\treturn newSettings;\n}\nconst cleanEmptyObject = ( object ) => {\n\tif ( ! isObject( object ) || Array.isArray( object ) ) {\n\t\treturn object;\n\t}\n\tconst cleanedNestedObjects = pickBy(\n\t\tmapValues( object, cleanEmptyObject ),\n\t\tidentity\n\t);\n\treturn isEmpty( cleanedNestedObjects ) ? undefined : cleanedNestedObjects;\n};\n\nfunction useGlobalStylesUserConfig() {\n\tconst { globalStylesId, settings, styles } = useSelect( ( select ) => {\n\t\tconst _globalStylesId = select(\n\t\t\tcoreStore\n\t\t).__experimentalGetCurrentGlobalStylesId();\n\t\tconst record = _globalStylesId\n\t\t\t? select( coreStore ).getEditedEntityRecord(\n\t\t\t\t\t'root',\n\t\t\t\t\t'globalStyles',\n\t\t\t\t\t_globalStylesId\n\t\t\t )\n\t\t\t: undefined;\n\t\treturn {\n\t\t\tglobalStylesId: _globalStylesId,\n\t\t\tsettings: record?.settings,\n\t\t\tstyles: record?.styles,\n\t\t};\n\t}, [] );\n\n\tconst { getEditedEntityRecord } = useSelect( coreStore );\n\tconst { editEntityRecord } = useDispatch( coreStore );\n\n\tconst config = useMemo( () => {\n\t\treturn {\n\t\t\tsettings: addUserOriginToSettings( settings ?? {} ),\n\t\t\tstyles: styles ?? {},\n\t\t};\n\t}, [ settings, styles ] );\n\n\tconst setConfig = useCallback(\n\t\t( callback ) => {\n\t\t\tconst record = getEditedEntityRecord(\n\t\t\t\t'root',\n\t\t\t\t'globalStyles',\n\t\t\t\tglobalStylesId\n\t\t\t);\n\t\t\tconst currentConfig = {\n\t\t\t\tstyles: record?.styles ?? {},\n\t\t\t\tsettings: addUserOriginToSettings( record?.settings ?? {} ),\n\t\t\t};\n\t\t\tconst updatedConfig = callback( currentConfig );\n\t\t\teditEntityRecord( 'root', 'globalStyles', globalStylesId, {\n\t\t\t\tstyles: cleanEmptyObject( updatedConfig.styles ) || {},\n\t\t\t\tsettings:\n\t\t\t\t\tcleanEmptyObject(\n\t\t\t\t\t\tremoveUserOriginFromSettings( updatedConfig.settings )\n\t\t\t\t\t) || {},\n\t\t\t} );\n\t\t},\n\t\t[ globalStylesId ]\n\t);\n\n\treturn [ !! settings || !! styles, config, setConfig ];\n}\n\nfunction useGlobalStylesBaseConfig() {\n\tconst baseConfig = useSelect( ( select ) => {\n\t\treturn select(\n\t\t\tcoreStore\n\t\t).__experimentalGetCurrentThemeBaseGlobalStyles();\n\t}, [] );\n\n\treturn baseConfig;\n}\n\nfunction useGlobalStylesContext() {\n\tconst [\n\t\tisUserConfigReady,\n\t\tuserConfig,\n\t\tsetUserConfig,\n\t] = useGlobalStylesUserConfig();\n\tconst baseConfig = useGlobalStylesBaseConfig();\n\tconst mergedConfig = useMemo( () => {\n\t\tif ( ! baseConfig || ! userConfig ) {\n\t\t\treturn {};\n\t\t}\n\t\treturn mergeBaseAndUserConfigs( baseConfig, userConfig );\n\t}, [ userConfig, baseConfig ] );\n\tconst context = useMemo( () => {\n\t\treturn {\n\t\t\tisReady: isUserConfigReady,\n\t\t\tuser: userConfig,\n\t\t\tbase: baseConfig,\n\t\t\tmerged: mergedConfig,\n\t\t\tsetUserConfig,\n\t\t};\n\t}, [\n\t\tmergedConfig,\n\t\tuserConfig,\n\t\tbaseConfig,\n\t\tsetUserConfig,\n\t\tisUserConfigReady,\n\t] );\n\n\treturn context;\n}\n\nexport function GlobalStylesProvider( { children } ) {\n\tconst context = useGlobalStylesContext();\n\tif ( ! context.isReady ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<GlobalStylesContext.Provider value={ context }>\n\t\t\t{ children }\n\t\t</GlobalStylesContext.Provider>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/edit-site/src/components/global-styles/global-styles-provider.js"],"names":["mergeTreesCustomizer","_","srcValue","Array","isArray","mergeBaseAndUserConfigs","base","user","addUserOriginToSettings","settingsToAdd","newSettings","PRESET_METADATA","forEach","path","presetData","removeUserOriginFromSettings","settingsToRemove","cleanEmptyObject","object","cleanedNestedObjects","identity","undefined","useGlobalStylesUserConfig","globalStylesId","settings","styles","select","_globalStylesId","coreStore","__experimentalGetCurrentGlobalStylesId","record","getEditedEntityRecord","editEntityRecord","config","setConfig","callback","currentConfig","updatedConfig","useGlobalStylesBaseConfig","baseConfig","__experimentalGetCurrentThemeBaseGlobalStyles","useGlobalStylesContext","isUserConfigReady","userConfig","setUserConfig","isBaseConfigReady","mergedConfig","context","isReady","merged","GlobalStylesProvider","children"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport {\n\tget,\n\tcloneDeep,\n\tset,\n\tmergeWith,\n\tpickBy,\n\tisEmpty,\n\tisObject,\n\tidentity,\n\tmapValues,\n} from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { useMemo, useCallback } from '@wordpress/element';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport { PRESET_METADATA } from './utils';\nimport { GlobalStylesContext } from './context';\n\nfunction mergeTreesCustomizer( _, 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\nfunction mergeBaseAndUserConfigs( base, user ) {\n\treturn mergeWith( {}, base, user, mergeTreesCustomizer );\n}\n\nfunction addUserOriginToSettings( settingsToAdd ) {\n\tconst newSettings = cloneDeep( settingsToAdd );\n\tPRESET_METADATA.forEach( ( { path } ) => {\n\t\tconst presetData = get( newSettings, path );\n\t\tif ( presetData ) {\n\t\t\tset( newSettings, path, {\n\t\t\t\tuser: presetData,\n\t\t\t} );\n\t\t}\n\t} );\n\treturn newSettings;\n}\n\nfunction removeUserOriginFromSettings( settingsToRemove ) {\n\tconst newSettings = cloneDeep( settingsToRemove );\n\tPRESET_METADATA.forEach( ( { path } ) => {\n\t\tconst presetData = get( newSettings, path );\n\t\tif ( presetData ) {\n\t\t\tset( newSettings, path, ( presetData ?? {} ).user );\n\t\t}\n\t} );\n\treturn newSettings;\n}\nconst cleanEmptyObject = ( object ) => {\n\tif ( ! isObject( object ) || Array.isArray( object ) ) {\n\t\treturn object;\n\t}\n\tconst cleanedNestedObjects = pickBy(\n\t\tmapValues( object, cleanEmptyObject ),\n\t\tidentity\n\t);\n\treturn isEmpty( cleanedNestedObjects ) ? undefined : cleanedNestedObjects;\n};\n\nfunction useGlobalStylesUserConfig() {\n\tconst { globalStylesId, settings, styles } = useSelect( ( select ) => {\n\t\tconst _globalStylesId = select(\n\t\t\tcoreStore\n\t\t).__experimentalGetCurrentGlobalStylesId();\n\t\tconst record = _globalStylesId\n\t\t\t? select( coreStore ).getEditedEntityRecord(\n\t\t\t\t\t'root',\n\t\t\t\t\t'globalStyles',\n\t\t\t\t\t_globalStylesId\n\t\t\t )\n\t\t\t: undefined;\n\t\treturn {\n\t\t\tglobalStylesId: _globalStylesId,\n\t\t\tsettings: record?.settings,\n\t\t\tstyles: record?.styles,\n\t\t};\n\t}, [] );\n\n\tconst { getEditedEntityRecord } = useSelect( coreStore );\n\tconst { editEntityRecord } = useDispatch( coreStore );\n\n\tconst config = useMemo( () => {\n\t\treturn {\n\t\t\tsettings: addUserOriginToSettings( settings ?? {} ),\n\t\t\tstyles: styles ?? {},\n\t\t};\n\t}, [ settings, styles ] );\n\n\tconst setConfig = useCallback(\n\t\t( callback ) => {\n\t\t\tconst record = getEditedEntityRecord(\n\t\t\t\t'root',\n\t\t\t\t'globalStyles',\n\t\t\t\tglobalStylesId\n\t\t\t);\n\t\t\tconst currentConfig = {\n\t\t\t\tstyles: record?.styles ?? {},\n\t\t\t\tsettings: addUserOriginToSettings( record?.settings ?? {} ),\n\t\t\t};\n\t\t\tconst updatedConfig = callback( currentConfig );\n\t\t\teditEntityRecord( 'root', 'globalStyles', globalStylesId, {\n\t\t\t\tstyles: cleanEmptyObject( updatedConfig.styles ) || {},\n\t\t\t\tsettings:\n\t\t\t\t\tcleanEmptyObject(\n\t\t\t\t\t\tremoveUserOriginFromSettings( updatedConfig.settings )\n\t\t\t\t\t) || {},\n\t\t\t} );\n\t\t},\n\t\t[ globalStylesId ]\n\t);\n\n\treturn [ !! settings || !! styles, config, setConfig ];\n}\n\nfunction useGlobalStylesBaseConfig() {\n\tconst baseConfig = useSelect( ( select ) => {\n\t\treturn select(\n\t\t\tcoreStore\n\t\t).__experimentalGetCurrentThemeBaseGlobalStyles();\n\t}, [] );\n\n\treturn [ !! baseConfig, baseConfig ];\n}\n\nfunction useGlobalStylesContext() {\n\tconst [\n\t\tisUserConfigReady,\n\t\tuserConfig,\n\t\tsetUserConfig,\n\t] = useGlobalStylesUserConfig();\n\tconst [ isBaseConfigReady, baseConfig ] = useGlobalStylesBaseConfig();\n\tconst mergedConfig = useMemo( () => {\n\t\tif ( ! baseConfig || ! userConfig ) {\n\t\t\treturn {};\n\t\t}\n\t\treturn mergeBaseAndUserConfigs( baseConfig, userConfig );\n\t}, [ userConfig, baseConfig ] );\n\tconst context = useMemo( () => {\n\t\treturn {\n\t\t\tisReady: isUserConfigReady && isBaseConfigReady,\n\t\t\tuser: userConfig,\n\t\t\tbase: baseConfig,\n\t\t\tmerged: mergedConfig,\n\t\t\tsetUserConfig,\n\t\t};\n\t}, [\n\t\tmergedConfig,\n\t\tuserConfig,\n\t\tbaseConfig,\n\t\tsetUserConfig,\n\t\tisUserConfigReady,\n\t\tisBaseConfigReady,\n\t] );\n\n\treturn context;\n}\n\nexport function GlobalStylesProvider( { children } ) {\n\tconst context = useGlobalStylesContext();\n\tif ( ! context.isReady ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<GlobalStylesContext.Provider value={ context }>\n\t\t\t{ children }\n\t\t</GlobalStylesContext.Provider>\n\t);\n}\n"]}