@wordpress/block-library 6.0.6 → 6.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.
- package/build/cover/edit.js +8 -3
- package/build/cover/edit.js.map +1 -1
- package/build/cover/transforms.js +2 -0
- package/build/cover/transforms.js.map +1 -1
- package/build/gallery/edit.js +1 -1
- package/build/gallery/edit.js.map +1 -1
- package/build/gallery/v1/update-gallery-modal.js +1 -1
- package/build/gallery/v1/update-gallery-modal.js.map +1 -1
- package/build/index.js +4 -3
- package/build/index.js.map +1 -1
- package/build/navigation/deprecated.js +118 -12
- package/build/navigation/deprecated.js.map +1 -1
- package/build/navigation/edit/index.js +59 -33
- package/build/navigation/edit/index.js.map +1 -1
- package/build/navigation/edit/inner-blocks.js +1 -1
- package/build/navigation/edit/inner-blocks.js.map +1 -1
- package/build/navigation/edit/navigation-menu-selector.js +2 -2
- package/build/navigation/edit/navigation-menu-selector.js.map +1 -1
- package/build/navigation/edit/placeholder/index.js +16 -48
- package/build/navigation/edit/placeholder/index.js.map +1 -1
- package/build/navigation/edit/responsive-wrapper.js +5 -2
- package/build/navigation/edit/responsive-wrapper.js.map +1 -1
- package/build/navigation/edit/unsaved-inner-blocks.js +4 -35
- package/build/navigation/edit/unsaved-inner-blocks.js.map +1 -1
- package/build/navigation/edit/use-create-navigation-menu.js +50 -0
- package/build/navigation/edit/use-create-navigation-menu.js.map +1 -0
- package/build/navigation/edit/use-generate-default-navigation-title.js +73 -0
- package/build/navigation/edit/use-generate-default-navigation-title.js.map +1 -0
- package/build/navigation/index.js +1 -1
- package/build/navigation/save.js +2 -2
- package/build/navigation/save.js.map +1 -1
- package/build/navigation/use-navigation-menu.js +19 -8
- package/build/navigation/use-navigation-menu.js.map +1 -1
- package/build/navigation-area/edit.js +5 -0
- package/build/navigation-area/edit.js.map +1 -1
- package/build/page-list/edit.js +40 -42
- package/build/page-list/edit.js.map +1 -1
- package/build/pattern/index.js +1 -1
- package/build/post-featured-image/edit.js +53 -23
- package/build/post-featured-image/edit.js.map +1 -1
- package/build/post-terms/index.js +1 -1
- package/build/post-title/edit.js +2 -2
- package/build/post-title/edit.js.map +1 -1
- package/build/query-title/index.js +1 -1
- package/build/site-logo/index.js +1 -1
- package/build/site-tagline/index.js +1 -1
- package/build/site-title/index.js +1 -1
- package/build/template-part/edit/placeholder/index.js +1 -1
- package/build/template-part/edit/placeholder/index.js.map +1 -1
- package/build/template-part/index.js +2 -1
- package/build/template-part/index.js.map +1 -1
- package/build-module/cover/edit.js +8 -3
- package/build-module/cover/edit.js.map +1 -1
- package/build-module/cover/transforms.js +2 -0
- package/build-module/cover/transforms.js.map +1 -1
- package/build-module/gallery/edit.js +1 -1
- package/build-module/gallery/edit.js.map +1 -1
- package/build-module/gallery/v1/update-gallery-modal.js +1 -1
- package/build-module/gallery/v1/update-gallery-modal.js.map +1 -1
- package/build-module/index.js +4 -3
- package/build-module/index.js.map +1 -1
- package/build-module/navigation/deprecated.js +118 -12
- package/build-module/navigation/deprecated.js.map +1 -1
- package/build-module/navigation/edit/index.js +60 -33
- package/build-module/navigation/edit/index.js.map +1 -1
- package/build-module/navigation/edit/inner-blocks.js +1 -1
- package/build-module/navigation/edit/inner-blocks.js.map +1 -1
- package/build-module/navigation/edit/navigation-menu-selector.js +2 -2
- package/build-module/navigation/edit/navigation-menu-selector.js.map +1 -1
- package/build-module/navigation/edit/placeholder/index.js +15 -45
- package/build-module/navigation/edit/placeholder/index.js.map +1 -1
- package/build-module/navigation/edit/responsive-wrapper.js +5 -2
- package/build-module/navigation/edit/responsive-wrapper.js.map +1 -1
- package/build-module/navigation/edit/unsaved-inner-blocks.js +6 -35
- package/build-module/navigation/edit/unsaved-inner-blocks.js.map +1 -1
- package/build-module/navigation/edit/use-create-navigation-menu.js +36 -0
- package/build-module/navigation/edit/use-create-navigation-menu.js.map +1 -0
- package/build-module/navigation/edit/use-generate-default-navigation-title.js +57 -0
- package/build-module/navigation/edit/use-generate-default-navigation-title.js.map +1 -0
- package/build-module/navigation/index.js +1 -1
- package/build-module/navigation/save.js +2 -2
- package/build-module/navigation/save.js.map +1 -1
- package/build-module/navigation/use-navigation-menu.js +19 -8
- package/build-module/navigation/use-navigation-menu.js.map +1 -1
- package/build-module/navigation-area/edit.js +4 -0
- package/build-module/navigation-area/edit.js.map +1 -1
- package/build-module/page-list/edit.js +41 -43
- package/build-module/page-list/edit.js.map +1 -1
- package/build-module/pattern/index.js +1 -1
- package/build-module/post-featured-image/edit.js +55 -26
- package/build-module/post-featured-image/edit.js.map +1 -1
- package/build-module/post-terms/index.js +1 -1
- package/build-module/post-title/edit.js +2 -2
- package/build-module/post-title/edit.js.map +1 -1
- package/build-module/query-title/index.js +1 -1
- package/build-module/site-logo/index.js +1 -1
- package/build-module/site-tagline/index.js +1 -1
- package/build-module/site-title/index.js +1 -1
- package/build-module/template-part/edit/placeholder/index.js +2 -2
- package/build-module/template-part/edit/placeholder/index.js.map +1 -1
- package/build-module/template-part/index.js +2 -1
- package/build-module/template-part/index.js.map +1 -1
- package/build-style/code/theme-rtl.css +1 -1
- package/build-style/code/theme.css +1 -1
- package/build-style/cover/style-rtl.css +8 -2
- package/build-style/cover/style.css +8 -2
- package/build-style/editor-rtl.css +104 -53
- package/build-style/editor.css +104 -53
- package/build-style/gallery/editor-rtl.css +1 -0
- package/build-style/gallery/editor.css +1 -0
- package/build-style/navigation/style-rtl.css +40 -3
- package/build-style/navigation/style.css +40 -3
- package/build-style/post-comments-form/style-rtl.css +18 -0
- package/build-style/post-comments-form/style.css +18 -0
- package/build-style/post-featured-image/editor-rtl.css +100 -16
- package/build-style/post-featured-image/editor.css +100 -16
- package/build-style/site-logo/editor-rtl.css +2 -2
- package/build-style/site-logo/editor.css +2 -2
- package/build-style/social-links/editor-rtl.css +1 -35
- package/build-style/social-links/editor.css +1 -35
- package/build-style/style-rtl.css +66 -27
- package/build-style/style.css +66 -27
- package/build-style/theme-rtl.css +1 -1
- package/build-style/theme.css +1 -1
- package/package.json +8 -8
- package/src/calendar/index.php +3 -3
- package/src/code/theme.scss +1 -1
- package/src/cover/edit.js +8 -1
- package/src/cover/style.scss +9 -2
- package/src/cover/transforms.js +2 -0
- package/src/gallery/edit.js +1 -1
- package/src/gallery/editor.scss +1 -0
- package/src/gallery/index.php +1 -1
- package/src/gallery/v1/update-gallery-modal.js +1 -1
- package/src/home-link/index.php +1 -1
- package/src/image/index.php +1 -1
- package/src/index.js +28 -26
- package/src/navigation/block.json +1 -1
- package/src/navigation/deprecated.js +105 -4
- package/src/navigation/edit/index.js +68 -36
- package/src/navigation/edit/inner-blocks.js +2 -1
- package/src/navigation/edit/navigation-menu-selector.js +2 -2
- package/src/navigation/edit/placeholder/index.js +16 -62
- package/src/navigation/edit/responsive-wrapper.js +8 -1
- package/src/navigation/edit/unsaved-inner-blocks.js +6 -57
- package/src/navigation/edit/use-create-navigation-menu.js +39 -0
- package/src/navigation/edit/use-generate-default-navigation-title.js +79 -0
- package/src/navigation/index.php +173 -19
- package/src/navigation/save.js +2 -2
- package/src/navigation/style.scss +56 -5
- package/src/navigation/use-navigation-menu.js +20 -9
- package/src/navigation-area/edit.js +5 -0
- package/src/navigation-area/index.php +2 -1
- package/src/navigation-link/index.php +1 -1
- package/src/navigation-submenu/index.php +2 -8
- package/src/page-list/edit.js +35 -44
- package/src/page-list/index.php +10 -5
- package/src/pattern/block.json +1 -1
- package/src/post-comments-form/style.scss +20 -1
- package/src/post-featured-image/edit.js +58 -26
- package/src/post-featured-image/editor.scss +124 -20
- package/src/post-terms/block.json +1 -1
- package/src/post-title/edit.js +2 -2
- package/src/query-title/block.json +1 -1
- package/src/site-logo/block.json +1 -1
- package/src/site-logo/editor.scss +3 -2
- package/src/site-tagline/block.json +1 -1
- package/src/site-title/block.json +1 -1
- package/src/social-links/editor.scss +1 -47
- package/src/style.scss +0 -1
- package/src/table-of-contents/index.php +1 -1
- package/src/template-part/block.json +2 -1
- package/src/template-part/edit/placeholder/index.js +2 -2
- package/src/template-part/index.php +2 -1
- package/build/navigation/edit/navigation-menu-name-modal.js +0 -55
- package/build/navigation/edit/navigation-menu-name-modal.js.map +0 -1
- package/build/navigation/edit/navigation-menu-publish-button.js +0 -53
- package/build/navigation/edit/navigation-menu-publish-button.js.map +0 -1
- package/build-module/navigation/edit/navigation-menu-name-modal.js +0 -47
- package/build-module/navigation/edit/navigation-menu-name-modal.js.map +0 -1
- package/build-module/navigation/edit/navigation-menu-publish-button.js +0 -40
- package/build-module/navigation/edit/navigation-menu-publish-button.js.map +0 -1
- package/build-style/navigation-submenu/style-rtl.css +0 -97
- package/build-style/navigation-submenu/style.css +0 -97
- package/src/navigation/edit/navigation-menu-name-modal.js +0 -69
- package/src/navigation/edit/navigation-menu-publish-button.js +0 -57
- package/src/navigation-submenu/style.scss +0 -25
|
@@ -0,0 +1,50 @@
|
|
|
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 = useCreateNavigationMenu;
|
|
9
|
+
|
|
10
|
+
var _blocks = require("@wordpress/blocks");
|
|
11
|
+
|
|
12
|
+
var _coreData = require("@wordpress/core-data");
|
|
13
|
+
|
|
14
|
+
var _data = require("@wordpress/data");
|
|
15
|
+
|
|
16
|
+
var _element = require("@wordpress/element");
|
|
17
|
+
|
|
18
|
+
var _useGenerateDefaultNavigationTitle = _interopRequireDefault(require("./use-generate-default-navigation-title"));
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* WordPress dependencies
|
|
22
|
+
*/
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* Internal dependencies
|
|
26
|
+
*/
|
|
27
|
+
function useCreateNavigationMenu(clientId) {
|
|
28
|
+
const {
|
|
29
|
+
saveEntityRecord
|
|
30
|
+
} = (0, _data.useDispatch)(_coreData.store);
|
|
31
|
+
const generateDefaultTitle = (0, _useGenerateDefaultNavigationTitle.default)(clientId); // This callback uses data from the two placeholder steps and only creates
|
|
32
|
+
// a new navigation menu when the user completes the final step.
|
|
33
|
+
|
|
34
|
+
return (0, _element.useCallback)(async function () {
|
|
35
|
+
let title = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
|
|
36
|
+
let blocks = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
|
|
37
|
+
|
|
38
|
+
if (!title) {
|
|
39
|
+
title = await generateDefaultTitle();
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
const record = {
|
|
43
|
+
title,
|
|
44
|
+
content: (0, _blocks.serialize)(blocks),
|
|
45
|
+
status: 'publish'
|
|
46
|
+
};
|
|
47
|
+
return await saveEntityRecord('postType', 'wp_navigation', record);
|
|
48
|
+
}, [_blocks.serialize, saveEntityRecord]);
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=use-create-navigation-menu.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/navigation/edit/use-create-navigation-menu.js"],"names":["useCreateNavigationMenu","clientId","saveEntityRecord","coreStore","generateDefaultTitle","title","blocks","record","content","status","serialize"],"mappings":";;;;;;;;;AAGA;;AACA;;AACA;;AACA;;AAKA;;AAXA;AACA;AACA;;AAMA;AACA;AACA;AAGe,SAASA,uBAAT,CAAkCC,QAAlC,EAA6C;AAC3D,QAAM;AAAEC,IAAAA;AAAF,MAAuB,uBAAaC,eAAb,CAA7B;AACA,QAAMC,oBAAoB,GAAG,gDAAmCH,QAAnC,CAA7B,CAF2D,CAI3D;AACA;;AACA,SAAO,0BACN,kBAAuC;AAAA,QAA/BI,KAA+B,uEAAvB,IAAuB;AAAA,QAAjBC,MAAiB,uEAAR,EAAQ;;AACtC,QAAK,CAAED,KAAP,EAAe;AACdA,MAAAA,KAAK,GAAG,MAAMD,oBAAoB,EAAlC;AACA;;AACD,UAAMG,MAAM,GAAG;AACdF,MAAAA,KADc;AAEdG,MAAAA,OAAO,EAAE,uBAAWF,MAAX,CAFK;AAGdG,MAAAA,MAAM,EAAE;AAHM,KAAf;AAMA,WAAO,MAAMP,gBAAgB,CAC5B,UAD4B,EAE5B,eAF4B,EAG5BK,MAH4B,CAA7B;AAKA,GAhBK,EAiBN,CAAEG,iBAAF,EAAaR,gBAAb,CAjBM,CAAP;AAmBA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { serialize } from '@wordpress/blocks';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useDispatch } from '@wordpress/data';\nimport { useCallback } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport useGenerateDefaultNavigationTitle from './use-generate-default-navigation-title';\n\nexport default function useCreateNavigationMenu( clientId ) {\n\tconst { saveEntityRecord } = useDispatch( coreStore );\n\tconst generateDefaultTitle = useGenerateDefaultNavigationTitle( clientId );\n\n\t// This callback uses data from the two placeholder steps and only creates\n\t// a new navigation menu when the user completes the final step.\n\treturn useCallback(\n\t\tasync ( title = null, blocks = [] ) => {\n\t\t\tif ( ! title ) {\n\t\t\t\ttitle = await generateDefaultTitle();\n\t\t\t}\n\t\t\tconst record = {\n\t\t\t\ttitle,\n\t\t\t\tcontent: serialize( blocks ),\n\t\t\t\tstatus: 'publish',\n\t\t\t};\n\n\t\t\treturn await saveEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\t'wp_navigation',\n\t\t\t\trecord\n\t\t\t);\n\t\t},\n\t\t[ serialize, saveEntityRecord ]\n\t);\n}\n"]}
|
|
@@ -0,0 +1,73 @@
|
|
|
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 = useGenerateDefaultNavigationTitle;
|
|
9
|
+
|
|
10
|
+
var _components = require("@wordpress/components");
|
|
11
|
+
|
|
12
|
+
var _coreData = require("@wordpress/core-data");
|
|
13
|
+
|
|
14
|
+
var _data = require("@wordpress/data");
|
|
15
|
+
|
|
16
|
+
var _element = require("@wordpress/element");
|
|
17
|
+
|
|
18
|
+
var _i18n = require("@wordpress/i18n");
|
|
19
|
+
|
|
20
|
+
var _useTemplatePartAreaLabel = _interopRequireDefault(require("../use-template-part-area-label"));
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* WordPress dependencies
|
|
24
|
+
*/
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* Internal dependencies
|
|
28
|
+
*/
|
|
29
|
+
const DRAFT_MENU_PARAMS = ['postType', 'wp_navigation', {
|
|
30
|
+
status: 'draft',
|
|
31
|
+
per_page: -1
|
|
32
|
+
}];
|
|
33
|
+
const PUBLISHED_MENU_PARAMS = ['postType', 'wp_navigation', {
|
|
34
|
+
per_page: -1,
|
|
35
|
+
status: 'publish'
|
|
36
|
+
}];
|
|
37
|
+
|
|
38
|
+
function useGenerateDefaultNavigationTitle(clientId) {
|
|
39
|
+
// The block will be disabled in a block preview, use this as a way of
|
|
40
|
+
// avoiding the side-effects of this component for block previews.
|
|
41
|
+
const isDisabled = (0, _element.useContext)(_components.Disabled.Context); // Because we can't conditionally call hooks, pass an undefined client id
|
|
42
|
+
// arg to bypass the expensive `useTemplateArea` code. The hook will return
|
|
43
|
+
// early.
|
|
44
|
+
|
|
45
|
+
const area = (0, _useTemplatePartAreaLabel.default)(isDisabled ? undefined : clientId);
|
|
46
|
+
const registry = (0, _data.useRegistry)();
|
|
47
|
+
return (0, _element.useCallback)(async () => {
|
|
48
|
+
// Ensure other navigation menus have loaded so an
|
|
49
|
+
// accurate name can be created.
|
|
50
|
+
if (isDisabled) {
|
|
51
|
+
return '';
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
const {
|
|
55
|
+
getEntityRecords
|
|
56
|
+
} = registry.resolveSelect(_coreData.store);
|
|
57
|
+
const [draftNavigationMenus, navigationMenus] = await Promise.all([getEntityRecords(...DRAFT_MENU_PARAMS), getEntityRecords(...PUBLISHED_MENU_PARAMS)]);
|
|
58
|
+
const title = area ? (0, _i18n.sprintf)( // translators: %s: the name of a menu (e.g. Header navigation).
|
|
59
|
+
(0, _i18n.__)('%s navigation'), area) : // translators: 'navigation' as in website navigation.
|
|
60
|
+
(0, _i18n.__)('Navigation'); // Determine how many menus start with the automatic title.
|
|
61
|
+
|
|
62
|
+
const matchingMenuTitleCount = [...draftNavigationMenus, ...navigationMenus].reduce((count, menu) => {
|
|
63
|
+
var _menu$title, _menu$title$raw;
|
|
64
|
+
|
|
65
|
+
return menu !== null && menu !== void 0 && (_menu$title = menu.title) !== null && _menu$title !== void 0 && (_menu$title$raw = _menu$title.raw) !== null && _menu$title$raw !== void 0 && _menu$title$raw.startsWith(title) ? count + 1 : count;
|
|
66
|
+
}, 0); // Append a number to the end of the title if a menu with
|
|
67
|
+
// the same name exists.
|
|
68
|
+
|
|
69
|
+
const titleWithCount = matchingMenuTitleCount > 0 ? `${title} ${matchingMenuTitleCount + 1}` : title;
|
|
70
|
+
return titleWithCount || '';
|
|
71
|
+
}, [isDisabled, area]);
|
|
72
|
+
}
|
|
73
|
+
//# sourceMappingURL=use-generate-default-navigation-title.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/navigation/edit/use-generate-default-navigation-title.js"],"names":["DRAFT_MENU_PARAMS","status","per_page","PUBLISHED_MENU_PARAMS","useGenerateDefaultNavigationTitle","clientId","isDisabled","Disabled","Context","area","undefined","registry","getEntityRecords","resolveSelect","coreStore","draftNavigationMenus","navigationMenus","Promise","all","title","matchingMenuTitleCount","reduce","count","menu","raw","startsWith","titleWithCount"],"mappings":";;;;;;;;;AAGA;;AACA;;AACA;;AACA;;AACA;;AAKA;;AAZA;AACA;AACA;;AAOA;AACA;AACA;AAGA,MAAMA,iBAAiB,GAAG,CACzB,UADyB,EAEzB,eAFyB,EAGzB;AAAEC,EAAAA,MAAM,EAAE,OAAV;AAAmBC,EAAAA,QAAQ,EAAE,CAAC;AAA9B,CAHyB,CAA1B;AAMA,MAAMC,qBAAqB,GAAG,CAC7B,UAD6B,EAE7B,eAF6B,EAG7B;AAAED,EAAAA,QAAQ,EAAE,CAAC,CAAb;AAAgBD,EAAAA,MAAM,EAAE;AAAxB,CAH6B,CAA9B;;AAMe,SAASG,iCAAT,CAA4CC,QAA5C,EAAuD;AACrE;AACA;AACA,QAAMC,UAAU,GAAG,yBAAYC,qBAASC,OAArB,CAAnB,CAHqE,CAKrE;AACA;AACA;;AACA,QAAMC,IAAI,GAAG,uCAA0BH,UAAU,GAAGI,SAAH,GAAeL,QAAnD,CAAb;AAEA,QAAMM,QAAQ,GAAG,wBAAjB;AACA,SAAO,0BAAa,YAAY;AAC/B;AACA;AACA,QAAKL,UAAL,EAAkB;AACjB,aAAO,EAAP;AACA;;AACD,UAAM;AAAEM,MAAAA;AAAF,QAAuBD,QAAQ,CAACE,aAAT,CAAwBC,eAAxB,CAA7B;AAEA,UAAM,CAAEC,oBAAF,EAAwBC,eAAxB,IAA4C,MAAMC,OAAO,CAACC,GAAR,CAAa,CACpEN,gBAAgB,CAAE,GAAGZ,iBAAL,CADoD,EAEpEY,gBAAgB,CAAE,GAAGT,qBAAL,CAFoD,CAAb,CAAxD;AAKA,UAAMgB,KAAK,GAAGV,IAAI,GACf,oBACA;AACA,kBAAI,eAAJ,CAFA,EAGAA,IAHA,CADe,GAMf;AACA,kBAAI,YAAJ,CAPH,CAb+B,CAsB/B;;AACA,UAAMW,sBAAsB,GAAG,CAC9B,GAAGL,oBAD2B,EAE9B,GAAGC,eAF2B,EAG7BK,MAH6B,CAI9B,CAAEC,KAAF,EAASC,IAAT;AAAA;;AAAA,aACCA,IAAI,SAAJ,IAAAA,IAAI,WAAJ,mBAAAA,IAAI,CAAEJ,KAAN,uEAAaK,GAAb,4DAAkBC,UAAlB,CAA8BN,KAA9B,IAAwCG,KAAK,GAAG,CAAhD,GAAoDA,KADrD;AAAA,KAJ8B,EAM9B,CAN8B,CAA/B,CAvB+B,CAgC/B;AACA;;AACA,UAAMI,cAAc,GACnBN,sBAAsB,GAAG,CAAzB,GACI,GAAGD,KAAO,IAAIC,sBAAsB,GAAG,CAAG,EAD9C,GAEGD,KAHJ;AAKA,WAAOO,cAAc,IAAI,EAAzB;AACA,GAxCM,EAwCJ,CAAEpB,UAAF,EAAcG,IAAd,CAxCI,CAAP;AAyCA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { Disabled } from '@wordpress/components';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useRegistry } from '@wordpress/data';\nimport { useContext, useCallback } from '@wordpress/element';\nimport { __, sprintf } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport useTemplatePartAreaLabel from '../use-template-part-area-label';\n\nconst DRAFT_MENU_PARAMS = [\n\t'postType',\n\t'wp_navigation',\n\t{ status: 'draft', per_page: -1 },\n];\n\nconst PUBLISHED_MENU_PARAMS = [\n\t'postType',\n\t'wp_navigation',\n\t{ per_page: -1, status: 'publish' },\n];\n\nexport default function useGenerateDefaultNavigationTitle( clientId ) {\n\t// The block will be disabled in a block preview, use this as a way of\n\t// avoiding the side-effects of this component for block previews.\n\tconst isDisabled = useContext( Disabled.Context );\n\n\t// Because we can't conditionally call hooks, pass an undefined client id\n\t// arg to bypass the expensive `useTemplateArea` code. The hook will return\n\t// early.\n\tconst area = useTemplatePartAreaLabel( isDisabled ? undefined : clientId );\n\n\tconst registry = useRegistry();\n\treturn useCallback( async () => {\n\t\t// Ensure other navigation menus have loaded so an\n\t\t// accurate name can be created.\n\t\tif ( isDisabled ) {\n\t\t\treturn '';\n\t\t}\n\t\tconst { getEntityRecords } = registry.resolveSelect( coreStore );\n\n\t\tconst [ draftNavigationMenus, navigationMenus ] = await Promise.all( [\n\t\t\tgetEntityRecords( ...DRAFT_MENU_PARAMS ),\n\t\t\tgetEntityRecords( ...PUBLISHED_MENU_PARAMS ),\n\t\t] );\n\n\t\tconst title = area\n\t\t\t? sprintf(\n\t\t\t\t\t// translators: %s: the name of a menu (e.g. Header navigation).\n\t\t\t\t\t__( '%s navigation' ),\n\t\t\t\t\tarea\n\t\t\t )\n\t\t\t: // translators: 'navigation' as in website navigation.\n\t\t\t __( 'Navigation' );\n\n\t\t// Determine how many menus start with the automatic title.\n\t\tconst matchingMenuTitleCount = [\n\t\t\t...draftNavigationMenus,\n\t\t\t...navigationMenus,\n\t\t].reduce(\n\t\t\t( count, menu ) =>\n\t\t\t\tmenu?.title?.raw?.startsWith( title ) ? count + 1 : count,\n\t\t\t0\n\t\t);\n\n\t\t// Append a number to the end of the title if a menu with\n\t\t// the same name exists.\n\t\tconst titleWithCount =\n\t\t\tmatchingMenuTitleCount > 0\n\t\t\t\t? `${ title } ${ matchingMenuTitleCount + 1 }`\n\t\t\t\t: title;\n\n\t\treturn titleWithCount || '';\n\t}, [ isDisabled, area ] );\n}\n"]}
|
package/build/navigation/save.js
CHANGED
|
@@ -17,8 +17,8 @@ function save(_ref) {
|
|
|
17
17
|
attributes
|
|
18
18
|
} = _ref;
|
|
19
19
|
|
|
20
|
-
if (attributes.
|
|
21
|
-
// Avoid rendering inner blocks when a
|
|
20
|
+
if (attributes.ref) {
|
|
21
|
+
// Avoid rendering inner blocks when a ref is defined.
|
|
22
22
|
// When this id is defined the inner blocks are loaded from the
|
|
23
23
|
// `wp_navigation` entity rather than the hard-coded block html.
|
|
24
24
|
return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/navigation/save.js"],"names":["save","attributes","
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/navigation/save.js"],"names":["save","attributes","ref"],"mappings":";;;;;;;;;AAGA;;AAHA;AACA;AACA;AAGe,SAASA,IAAT,OAAgC;AAAA,MAAjB;AAAEC,IAAAA;AAAF,GAAiB;;AAC9C,MAAKA,UAAU,CAACC,GAAhB,EAAsB;AACrB;AACA;AACA;AACA;AACA;;AACD,SAAO,4BAAC,wBAAD,CAAa,OAAb,OAAP;AACA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { InnerBlocks } from '@wordpress/block-editor';\n\nexport default function save( { attributes } ) {\n\tif ( attributes.ref ) {\n\t\t// Avoid rendering inner blocks when a ref is defined.\n\t\t// When this id is defined the inner blocks are loaded from the\n\t\t// `wp_navigation` entity rather than the hard-coded block html.\n\t\treturn;\n\t}\n\treturn <InnerBlocks.Content />;\n}\n"]}
|
|
@@ -12,29 +12,40 @@ var _data = require("@wordpress/data");
|
|
|
12
12
|
/**
|
|
13
13
|
* WordPress dependencies
|
|
14
14
|
*/
|
|
15
|
-
function useNavigationMenu(
|
|
15
|
+
function useNavigationMenu(ref) {
|
|
16
16
|
return (0, _data.useSelect)(select => {
|
|
17
|
+
var _navigationMenu;
|
|
18
|
+
|
|
17
19
|
const {
|
|
20
|
+
getEntityRecord,
|
|
18
21
|
getEditedEntityRecord,
|
|
19
22
|
getEntityRecords,
|
|
20
23
|
hasFinishedResolution
|
|
21
24
|
} = select(_coreData.store);
|
|
22
|
-
const navigationMenuSingleArgs = ['postType', 'wp_navigation',
|
|
23
|
-
const
|
|
24
|
-
|
|
25
|
+
const navigationMenuSingleArgs = ['postType', 'wp_navigation', ref];
|
|
26
|
+
const rawNavigationMenu = ref ? getEntityRecord(...navigationMenuSingleArgs) : null;
|
|
27
|
+
let navigationMenu = ref ? getEditedEntityRecord(...navigationMenuSingleArgs) : null; // getEditedEntityRecord will return the post regardless of status.
|
|
28
|
+
// Therefore if the found post is not published then we should ignore it.
|
|
29
|
+
|
|
30
|
+
if (((_navigationMenu = navigationMenu) === null || _navigationMenu === void 0 ? void 0 : _navigationMenu.status) !== 'publish') {
|
|
31
|
+
navigationMenu = null;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
const hasResolvedNavigationMenu = ref ? hasFinishedResolution('getEditedEntityRecord', navigationMenuSingleArgs) : false;
|
|
25
35
|
const navigationMenuMultipleArgs = ['postType', 'wp_navigation', {
|
|
26
|
-
per_page: -1
|
|
36
|
+
per_page: -1,
|
|
37
|
+
status: 'publish'
|
|
27
38
|
}];
|
|
28
39
|
const navigationMenus = getEntityRecords(...navigationMenuMultipleArgs);
|
|
29
|
-
const canSwitchNavigationMenu =
|
|
40
|
+
const canSwitchNavigationMenu = ref ? (navigationMenus === null || navigationMenus === void 0 ? void 0 : navigationMenus.length) > 1 : (navigationMenus === null || navigationMenus === void 0 ? void 0 : navigationMenus.length) > 0;
|
|
30
41
|
return {
|
|
31
42
|
isNavigationMenuResolved: hasResolvedNavigationMenu,
|
|
32
|
-
isNavigationMenuMissing: !
|
|
43
|
+
isNavigationMenuMissing: !ref || hasResolvedNavigationMenu && !rawNavigationMenu,
|
|
33
44
|
canSwitchNavigationMenu,
|
|
34
45
|
hasResolvedNavigationMenus: hasFinishedResolution('getEntityRecords', navigationMenuMultipleArgs),
|
|
35
46
|
navigationMenu,
|
|
36
47
|
navigationMenus
|
|
37
48
|
};
|
|
38
|
-
}, [
|
|
49
|
+
}, [ref]);
|
|
39
50
|
}
|
|
40
51
|
//# sourceMappingURL=use-navigation-menu.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/navigation/use-navigation-menu.js"],"names":["useNavigationMenu","
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/navigation/use-navigation-menu.js"],"names":["useNavigationMenu","ref","select","getEntityRecord","getEditedEntityRecord","getEntityRecords","hasFinishedResolution","coreStore","navigationMenuSingleArgs","rawNavigationMenu","navigationMenu","status","hasResolvedNavigationMenu","navigationMenuMultipleArgs","per_page","navigationMenus","canSwitchNavigationMenu","length","isNavigationMenuResolved","isNavigationMenuMissing","hasResolvedNavigationMenus"],"mappings":";;;;;;;AAGA;;AACA;;AAJA;AACA;AACA;AAIe,SAASA,iBAAT,CAA4BC,GAA5B,EAAkC;AAChD,SAAO,qBACJC,MAAF,IAAc;AAAA;;AACb,UAAM;AACLC,MAAAA,eADK;AAELC,MAAAA,qBAFK;AAGLC,MAAAA,gBAHK;AAILC,MAAAA;AAJK,QAKFJ,MAAM,CAAEK,eAAF,CALV;AAOA,UAAMC,wBAAwB,GAAG,CAChC,UADgC,EAEhC,eAFgC,EAGhCP,GAHgC,CAAjC;AAKA,UAAMQ,iBAAiB,GAAGR,GAAG,GAC1BE,eAAe,CAAE,GAAGK,wBAAL,CADW,GAE1B,IAFH;AAGA,QAAIE,cAAc,GAAGT,GAAG,GACrBG,qBAAqB,CAAE,GAAGI,wBAAL,CADA,GAErB,IAFH,CAhBa,CAoBb;AACA;;AACA,QAAK,oBAAAE,cAAc,UAAd,0DAAgBC,MAAhB,MAA2B,SAAhC,EAA4C;AAC3CD,MAAAA,cAAc,GAAG,IAAjB;AACA;;AAED,UAAME,yBAAyB,GAAGX,GAAG,GAClCK,qBAAqB,CACrB,uBADqB,EAErBE,wBAFqB,CADa,GAKlC,KALH;AAOA,UAAMK,0BAA0B,GAAG,CAClC,UADkC,EAElC,eAFkC,EAGlC;AAAEC,MAAAA,QAAQ,EAAE,CAAC,CAAb;AAAgBH,MAAAA,MAAM,EAAE;AAAxB,KAHkC,CAAnC;AAKA,UAAMI,eAAe,GAAGV,gBAAgB,CACvC,GAAGQ,0BADoC,CAAxC;AAIA,UAAMG,uBAAuB,GAAGf,GAAG,GAChC,CAAAc,eAAe,SAAf,IAAAA,eAAe,WAAf,YAAAA,eAAe,CAAEE,MAAjB,IAA0B,CADM,GAEhC,CAAAF,eAAe,SAAf,IAAAA,eAAe,WAAf,YAAAA,eAAe,CAAEE,MAAjB,IAA0B,CAF7B;AAIA,WAAO;AACNC,MAAAA,wBAAwB,EAAEN,yBADpB;AAENO,MAAAA,uBAAuB,EACtB,CAAElB,GAAF,IACEW,yBAAyB,IAAI,CAAEH,iBAJ5B;AAKNO,MAAAA,uBALM;AAMNI,MAAAA,0BAA0B,EAAEd,qBAAqB,CAChD,kBADgD,EAEhDO,0BAFgD,CAN3C;AAUNH,MAAAA,cAVM;AAWNK,MAAAA;AAXM,KAAP;AAaA,GA5DK,EA6DN,CAAEd,GAAF,CA7DM,CAAP;AA+DA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useSelect } from '@wordpress/data';\n\nexport default function useNavigationMenu( ref ) {\n\treturn useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetEntityRecord,\n\t\t\t\tgetEditedEntityRecord,\n\t\t\t\tgetEntityRecords,\n\t\t\t\thasFinishedResolution,\n\t\t\t} = select( coreStore );\n\n\t\t\tconst navigationMenuSingleArgs = [\n\t\t\t\t'postType',\n\t\t\t\t'wp_navigation',\n\t\t\t\tref,\n\t\t\t];\n\t\t\tconst rawNavigationMenu = ref\n\t\t\t\t? getEntityRecord( ...navigationMenuSingleArgs )\n\t\t\t\t: null;\n\t\t\tlet navigationMenu = ref\n\t\t\t\t? getEditedEntityRecord( ...navigationMenuSingleArgs )\n\t\t\t\t: null;\n\n\t\t\t// getEditedEntityRecord will return the post regardless of status.\n\t\t\t// Therefore if the found post is not published then we should ignore it.\n\t\t\tif ( navigationMenu?.status !== 'publish' ) {\n\t\t\t\tnavigationMenu = null;\n\t\t\t}\n\n\t\t\tconst hasResolvedNavigationMenu = ref\n\t\t\t\t? hasFinishedResolution(\n\t\t\t\t\t\t'getEditedEntityRecord',\n\t\t\t\t\t\tnavigationMenuSingleArgs\n\t\t\t\t )\n\t\t\t\t: false;\n\n\t\t\tconst navigationMenuMultipleArgs = [\n\t\t\t\t'postType',\n\t\t\t\t'wp_navigation',\n\t\t\t\t{ per_page: -1, status: 'publish' },\n\t\t\t];\n\t\t\tconst navigationMenus = getEntityRecords(\n\t\t\t\t...navigationMenuMultipleArgs\n\t\t\t);\n\n\t\t\tconst canSwitchNavigationMenu = ref\n\t\t\t\t? navigationMenus?.length > 1\n\t\t\t\t: navigationMenus?.length > 0;\n\n\t\t\treturn {\n\t\t\t\tisNavigationMenuResolved: hasResolvedNavigationMenu,\n\t\t\t\tisNavigationMenuMissing:\n\t\t\t\t\t! ref ||\n\t\t\t\t\t( hasResolvedNavigationMenu && ! rawNavigationMenu ),\n\t\t\t\tcanSwitchNavigationMenu,\n\t\t\t\thasResolvedNavigationMenus: hasFinishedResolution(\n\t\t\t\t\t'getEntityRecords',\n\t\t\t\t\tnavigationMenuMultipleArgs\n\t\t\t\t),\n\t\t\t\tnavigationMenu,\n\t\t\t\tnavigationMenus,\n\t\t\t};\n\t\t},\n\t\t[ ref ]\n\t);\n}\n"]}
|
|
@@ -11,6 +11,8 @@ var _element = require("@wordpress/element");
|
|
|
11
11
|
|
|
12
12
|
var _i18n = require("@wordpress/i18n");
|
|
13
13
|
|
|
14
|
+
var _deprecated = _interopRequireDefault(require("@wordpress/deprecated"));
|
|
15
|
+
|
|
14
16
|
var _coreData = require("@wordpress/core-data");
|
|
15
17
|
|
|
16
18
|
var _components = require("@wordpress/components");
|
|
@@ -62,6 +64,9 @@ function NavigationAreaBlock(_ref) {
|
|
|
62
64
|
value: name
|
|
63
65
|
};
|
|
64
66
|
}), [navigationAreas]);
|
|
67
|
+
(0, _deprecated.default)('wp.blockLibrary.NavigationArea', {
|
|
68
|
+
since: '5.9'
|
|
69
|
+
});
|
|
65
70
|
return (0, _element.createElement)(_element.Fragment, null, (0, _element.createElement)(_blockEditor.BlockControls, null, (0, _element.createElement)(_components.ToolbarGroup, null, (0, _element.createElement)(_components.ToolbarDropdownMenu, {
|
|
66
71
|
label: (0, _i18n.__)('Select Area'),
|
|
67
72
|
text: (0, _i18n.__)('Select Area'),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/navigation-area/edit.js"],"names":["NavigationAreaBlock","attributes","setAttributes","area","navigationAreas","hasResolvedNavigationAreas","select","getEntityRecords","hasFinishedResolution","coreStore","navigationMenuId","length","undefined","choices","map","name","description","label","value","onClose","selectedArea"],"mappings":";;;;;;;;;
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/navigation-area/edit.js"],"names":["NavigationAreaBlock","attributes","setAttributes","area","navigationAreas","hasResolvedNavigationAreas","select","getEntityRecords","hasFinishedResolution","coreStore","navigationMenuId","length","undefined","choices","map","name","description","label","value","since","onClose","selectedArea"],"mappings":";;;;;;;;;AAcA;;AAXA;;AACA;;AACA;;AACA;;AASA;;AACA;;AAKA;;AACA;;AAtBA;AACA;AACA;;AAgBA;AACA;AACA;AAIA,SAASA,mBAAT,OAA8D;AAAA,MAAhC;AAAEC,IAAAA,UAAF;AAAcC,IAAAA;AAAd,GAAgC;AAC7D,QAAM;AAAEC,IAAAA;AAAF,MAAWF,UAAjB;AAEA,QAAM;AAAEG,IAAAA,eAAF;AAAmBC,IAAAA;AAAnB,MAAkD,qBACrDC,MAAF,IAAc;AACb,UAAM;AAAEC,MAAAA,gBAAF;AAAoBC,MAAAA;AAApB,QAA8CF,MAAM,CACzDG,eADyD,CAA1D;AAGA,WAAO;AACNL,MAAAA,eAAe,EAAEG,gBAAgB,CAAE,MAAF,EAAU,gBAAV,CAD3B;AAENF,MAAAA,0BAA0B,EAAEG,qBAAqB,CAChD,kBADgD,EAEhD,CAAE,MAAF,EAAU,gBAAV,CAFgD;AAF3C,KAAP;AAOA,GAZsD,CAAxD;AAcA,QAAME,gBAAgB,GAAGN,eAAe,SAAf,IAAAA,eAAe,WAAf,IAAAA,eAAe,CAAEO,MAAjB,GACtBP,eAAe,CAAED,IAAF,CADO,GAEtBS,SAFH;AAIA,QAAMC,OAAO,GAAG,sBACf,MACCT,eADD,aACCA,eADD,uBACCA,eAAe,CAAEU,GAAjB,CAAsB;AAAA,QAAE;AAAEC,MAAAA,IAAF;AAAQC,MAAAA;AAAR,KAAF;AAAA,WAA+B;AACpDC,MAAAA,KAAK,EAAED,WAD6C;AAEpDE,MAAAA,KAAK,EAAEH;AAF6C,KAA/B;AAAA,GAAtB,CAFc,EAMf,CAAEX,eAAF,CANe,CAAhB;AASA,2BAAY,gCAAZ,EAA8C;AAC7Ce,IAAAA,KAAK,EAAE;AADsC,GAA9C;AAIA,SACC,qDACC,4BAAC,0BAAD,QACC,4BAAC,wBAAD,QACC,4BAAC,+BAAD;AACC,IAAA,KAAK,EAAG,cAAI,aAAJ,CADT;AAEC,IAAA,IAAI,EAAG,cAAI,aAAJ,CAFR;AAGC,IAAA,IAAI,EAAG;AAHR,KAKG;AAAA,QAAE;AAAEC,MAAAA;AAAF,KAAF;AAAA,WACD,4BAAC,qBAAD,QACC,4BAAC,2BAAD;AACC,MAAA,KAAK,EAAGjB,IADT;AAEC,MAAA,QAAQ,EAAKkB,YAAF,IAAoB;AAC9BnB,QAAAA,aAAa,CAAE;AAAEC,UAAAA,IAAI,EAAEkB;AAAR,SAAF,CAAb;AACAD,QAAAA,OAAO;AACP,OALF;AAMC,MAAA,OAAO,EAAGP;AANX,MADD,CADC;AAAA,GALH,CADD,CADD,CADD,EAuBC,4BAAC,8BAAD,QACC,4BAAC,qBAAD;AAAW,IAAA,KAAK,EAAG,cAAI,SAAJ;AAAnB,KACC,4BAAC,yBAAD;AACC,IAAA,KAAK,EAAG,cAAI,MAAJ,CADT;AAEC,IAAA,KAAK,EAAGV,IAFT,CAGC;AAHD;AAIC,IAAA,QAAQ,EAAKe,KAAF,IACVhB,aAAa,CAAE;AACdC,MAAAA,IAAI,EAAEe;AADQ,KAAF,CALf;AASC,IAAA,OAAO,EAAGL;AATX,IADD,CADD,CAvBD,EAsCG,CAAER,0BAAF,IAAgC,4BAAC,2BAAD;AAAoB,IAAA,SAAS;AAA7B,IAtCnC,EAwCE;AACA;AACAA,EAAAA,0BAA0B,IACzB,4BAAC,oBAAD;AAAa,IAAA,gBAAgB,EAAGK;AAAhC,IA3CH,CADD;AAiDA;;eAEcV,mB","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, _x } from '@wordpress/i18n';\nimport deprecated from '@wordpress/deprecated';\nimport { store as coreStore } from '@wordpress/core-data';\nimport {\n\tMenuGroup,\n\tMenuItemsChoice,\n\tPanelBody,\n\tSelectControl,\n\tToolbarDropdownMenu,\n\tToolbarGroup,\n} from '@wordpress/components';\nimport { useMemo } from '@wordpress/element';\nimport { BlockControls, InspectorControls } from '@wordpress/block-editor';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport InnerBlocks from './inner-blocks';\nimport PlaceholderPreview from '../navigation/edit/placeholder/placeholder-preview';\n\nfunction NavigationAreaBlock( { attributes, setAttributes } ) {\n\tconst { area } = attributes;\n\n\tconst { navigationAreas, hasResolvedNavigationAreas } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEntityRecords, hasFinishedResolution } = select(\n\t\t\t\tcoreStore\n\t\t\t);\n\t\t\treturn {\n\t\t\t\tnavigationAreas: getEntityRecords( 'root', 'navigationArea' ),\n\t\t\t\thasResolvedNavigationAreas: hasFinishedResolution(\n\t\t\t\t\t'getEntityRecords',\n\t\t\t\t\t[ 'root', 'navigationArea' ]\n\t\t\t\t),\n\t\t\t};\n\t\t}\n\t);\n\tconst navigationMenuId = navigationAreas?.length\n\t\t? navigationAreas[ area ]\n\t\t: undefined;\n\n\tconst choices = useMemo(\n\t\t() =>\n\t\t\tnavigationAreas?.map( ( { name, description } ) => ( {\n\t\t\t\tlabel: description,\n\t\t\t\tvalue: name,\n\t\t\t} ) ),\n\t\t[ navigationAreas ]\n\t);\n\n\tdeprecated( 'wp.blockLibrary.NavigationArea', {\n\t\tsince: '5.9',\n\t} );\n\n\treturn (\n\t\t<>\n\t\t\t<BlockControls>\n\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t<ToolbarDropdownMenu\n\t\t\t\t\t\tlabel={ __( 'Select Area' ) }\n\t\t\t\t\t\ttext={ __( 'Select Area' ) }\n\t\t\t\t\t\ticon={ null }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ ( { onClose } ) => (\n\t\t\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t\t\t<MenuItemsChoice\n\t\t\t\t\t\t\t\t\tvalue={ area }\n\t\t\t\t\t\t\t\t\tonSelect={ ( selectedArea ) => {\n\t\t\t\t\t\t\t\t\t\tsetAttributes( { area: selectedArea } );\n\t\t\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\tchoices={ choices }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</ToolbarDropdownMenu>\n\t\t\t\t</ToolbarGroup>\n\t\t\t</BlockControls>\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Options' ) }>\n\t\t\t\t\t<SelectControl\n\t\t\t\t\t\tlabel={ _x( 'Area' ) }\n\t\t\t\t\t\tvalue={ area }\n\t\t\t\t\t\t// `undefined` is required for the preload attribute to be unset.\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tarea: value,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t\toptions={ choices }\n\t\t\t\t\t/>\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t{ ! hasResolvedNavigationAreas && <PlaceholderPreview isLoading /> }\n\t\t\t{\n\t\t\t\t// Render inner blocks only when navigationMenuId is known so\n\t\t\t\t// that inner blocks template is correct from the start.\n\t\t\t\thasResolvedNavigationAreas && (\n\t\t\t\t\t<InnerBlocks navigationMenuId={ navigationMenuId } />\n\t\t\t\t)\n\t\t\t}\n\t\t</>\n\t);\n}\n\nexport default NavigationAreaBlock;\n"]}
|
package/build/page-list/edit.js
CHANGED
|
@@ -19,9 +19,9 @@ var _components = require("@wordpress/components");
|
|
|
19
19
|
|
|
20
20
|
var _i18n = require("@wordpress/i18n");
|
|
21
21
|
|
|
22
|
-
var
|
|
22
|
+
var _data = require("@wordpress/data");
|
|
23
23
|
|
|
24
|
-
var
|
|
24
|
+
var _coreData = require("@wordpress/core-data");
|
|
25
25
|
|
|
26
26
|
var _convertToLinksModal = _interopRequireDefault(require("./convert-to-links-modal"));
|
|
27
27
|
|
|
@@ -79,53 +79,51 @@ function PageListEdit(_ref) {
|
|
|
79
79
|
}, (0, _i18n.__)('Edit'))), allowConvertToLinks && isOpen && (0, _element.createElement)(_convertToLinksModal.default, {
|
|
80
80
|
onClose: closeModal,
|
|
81
81
|
clientId: clientId
|
|
82
|
-
}), totalPages ===
|
|
82
|
+
}), totalPages === undefined && (0, _element.createElement)("div", blockProps, (0, _element.createElement)(_components.Placeholder, null, (0, _element.createElement)(_components.Spinner, null))), totalPages === 0 && (0, _element.createElement)("div", blockProps, (0, _element.createElement)("span", null, (0, _i18n.__)('Page List: No pages to show.'))), totalPages > 0 && (0, _element.createElement)("ul", blockProps, (0, _element.createElement)(PageItems, {
|
|
83
83
|
context: context,
|
|
84
84
|
pagesByParentId: pagesByParentId
|
|
85
85
|
})));
|
|
86
86
|
}
|
|
87
87
|
|
|
88
88
|
function usePagesByParentId() {
|
|
89
|
-
const
|
|
90
|
-
|
|
91
|
-
(0,
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
// 'orderby', this can be removed.
|
|
104
|
-
// https://core.trac.wordpress.org/ticket/39037
|
|
105
|
-
|
|
106
|
-
pages = (0, _lodash.sortBy)(pages, ['menu_order', 'title.rendered']);
|
|
107
|
-
setPagesByParentId(pages.reduce((accumulator, page) => {
|
|
108
|
-
const {
|
|
109
|
-
parent
|
|
110
|
-
} = page;
|
|
111
|
-
|
|
112
|
-
if (accumulator.has(parent)) {
|
|
113
|
-
accumulator.get(parent).push(page);
|
|
114
|
-
} else {
|
|
115
|
-
accumulator.set(parent, [page]);
|
|
116
|
-
}
|
|
117
|
-
|
|
118
|
-
return accumulator;
|
|
119
|
-
}, new Map()));
|
|
120
|
-
setTotalPages(pages.length);
|
|
121
|
-
}
|
|
122
|
-
|
|
123
|
-
performFetch();
|
|
89
|
+
const {
|
|
90
|
+
pages
|
|
91
|
+
} = (0, _data.useSelect)(select => {
|
|
92
|
+
const {
|
|
93
|
+
getEntityRecords
|
|
94
|
+
} = select(_coreData.store);
|
|
95
|
+
return {
|
|
96
|
+
pages: getEntityRecords('postType', 'page', {
|
|
97
|
+
orderby: 'menu_order',
|
|
98
|
+
order: 'asc',
|
|
99
|
+
_fields: ['id', 'link', 'parent', 'title', 'menu_order'],
|
|
100
|
+
per_page: -1
|
|
101
|
+
})
|
|
102
|
+
};
|
|
124
103
|
}, []);
|
|
125
|
-
return {
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
104
|
+
return (0, _element.useMemo)(() => {
|
|
105
|
+
// TODO: Once the REST API supports passing multiple values to
|
|
106
|
+
// 'orderby', this can be removed.
|
|
107
|
+
// https://core.trac.wordpress.org/ticket/39037
|
|
108
|
+
const sortedPages = (0, _lodash.sortBy)(pages, ['menu_order', 'title.rendered']);
|
|
109
|
+
const pagesByParentId = sortedPages.reduce((accumulator, page) => {
|
|
110
|
+
const {
|
|
111
|
+
parent
|
|
112
|
+
} = page;
|
|
113
|
+
|
|
114
|
+
if (accumulator.has(parent)) {
|
|
115
|
+
accumulator.get(parent).push(page);
|
|
116
|
+
} else {
|
|
117
|
+
accumulator.set(parent, [page]);
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
return accumulator;
|
|
121
|
+
}, new Map());
|
|
122
|
+
return {
|
|
123
|
+
pagesByParentId,
|
|
124
|
+
totalPages: pages === null || pages === void 0 ? void 0 : pages.length
|
|
125
|
+
};
|
|
126
|
+
}, [pages]);
|
|
129
127
|
}
|
|
130
128
|
|
|
131
129
|
const PageItems = (0, _element.memo)(function PageItems(_ref2) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/page-list/edit.js"],"names":["MAX_PAGE_COUNT","PageListEdit","context","clientId","pagesByParentId","totalPages","usePagesByParentId","isNavigationChild","allowConvertToLinks","isOpen","setOpen","openModal","closeModal","blockProps","className","textColor","backgroundColor","style","color","setPagesByParentId","setTotalPages","performFetch","pages","path","orderby","order","_fields","per_page","reduce","accumulator","page","parent","has","get","push","set","Map","length","PageItems","parentId","depth","map","hasChildren","id","openSubmenusOnClick","showSubmenuIcon","title","rendered","link","ItemSubmenuToggle"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { sortBy } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tBlockControls,\n\tuseBlockProps,\n\tgetColorClassName,\n} from '@wordpress/block-editor';\nimport { ToolbarButton, Placeholder, Spinner } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useEffect, useState, memo } from '@wordpress/element';\nimport apiFetch from '@wordpress/api-fetch';\nimport { addQueryArgs } from '@wordpress/url';\n\n/**\n * Internal dependencies\n */\nimport ConvertToLinksModal from './convert-to-links-modal';\nimport { ItemSubmenuIcon } from '../navigation-link/icons';\n\n// We only show the edit option when page count is <= MAX_PAGE_COUNT\n// Performance of Navigation Links is not good past this value.\nconst MAX_PAGE_COUNT = 100;\n\nexport default function PageListEdit( { context, clientId } ) {\n\tconst { pagesByParentId, totalPages } = usePagesByParentId();\n\n\tconst isNavigationChild = 'showSubmenuIcon' in context;\n\tconst allowConvertToLinks =\n\t\tisNavigationChild && totalPages <= MAX_PAGE_COUNT;\n\n\tconst [ isOpen, setOpen ] = useState( false );\n\tconst openModal = () => setOpen( true );\n\tconst closeModal = () => setOpen( false );\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classnames( 'wp-block-page-list', {\n\t\t\t'has-text-color': !! context.textColor,\n\t\t\t[ getColorClassName(\n\t\t\t\t'color',\n\t\t\t\tcontext.textColor\n\t\t\t) ]: !! context.textColor,\n\t\t\t'has-background': !! context.backgroundColor,\n\t\t\t[ getColorClassName(\n\t\t\t\t'background-color',\n\t\t\t\tcontext.backgroundColor\n\t\t\t) ]: !! context.backgroundColor,\n\t\t} ),\n\t\tstyle: { ...context.style?.color },\n\t} );\n\n\treturn (\n\t\t<>\n\t\t\t{ allowConvertToLinks && (\n\t\t\t\t<BlockControls group=\"other\">\n\t\t\t\t\t<ToolbarButton title={ __( 'Edit' ) } onClick={ openModal }>\n\t\t\t\t\t\t{ __( 'Edit' ) }\n\t\t\t\t\t</ToolbarButton>\n\t\t\t\t</BlockControls>\n\t\t\t) }\n\t\t\t{ allowConvertToLinks && isOpen && (\n\t\t\t\t<ConvertToLinksModal\n\t\t\t\t\tonClose={ closeModal }\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ totalPages === null && (\n\t\t\t\t<div { ...blockProps }>\n\t\t\t\t\t<Placeholder>\n\t\t\t\t\t\t<Spinner />\n\t\t\t\t\t</Placeholder>\n\t\t\t\t</div>\n\t\t\t) }\n\t\t\t{ totalPages === 0 && (\n\t\t\t\t<div { ...blockProps }>\n\t\t\t\t\t<span>{ __( 'Page List: No pages to show.' ) }</span>\n\t\t\t\t</div>\n\t\t\t) }\n\t\t\t{ totalPages > 0 && (\n\t\t\t\t<ul { ...blockProps }>\n\t\t\t\t\t<PageItems\n\t\t\t\t\t\tcontext={ context }\n\t\t\t\t\t\tpagesByParentId={ pagesByParentId }\n\t\t\t\t\t/>\n\t\t\t\t</ul>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nfunction usePagesByParentId() {\n\tconst [ pagesByParentId, setPagesByParentId ] = useState( null );\n\tconst [ totalPages, setTotalPages ] = useState( null );\n\n\tuseEffect( () => {\n\t\tasync function performFetch() {\n\t\t\tsetPagesByParentId( null );\n\t\t\tsetTotalPages( null );\n\n\t\t\tlet pages = await apiFetch( {\n\t\t\t\tpath: addQueryArgs( '/wp/v2/pages', {\n\t\t\t\t\torderby: 'menu_order',\n\t\t\t\t\torder: 'asc',\n\t\t\t\t\t_fields: [ 'id', 'link', 'parent', 'title', 'menu_order' ],\n\t\t\t\t\tper_page: -1,\n\t\t\t\t} ),\n\t\t\t} );\n\n\t\t\t// TODO: Once the REST API supports passing multiple values to\n\t\t\t// 'orderby', this can be removed.\n\t\t\t// https://core.trac.wordpress.org/ticket/39037\n\t\t\tpages = sortBy( pages, [ 'menu_order', 'title.rendered' ] );\n\n\t\t\tsetPagesByParentId(\n\t\t\t\tpages.reduce( ( accumulator, page ) => {\n\t\t\t\t\tconst { parent } = page;\n\t\t\t\t\tif ( accumulator.has( parent ) ) {\n\t\t\t\t\t\taccumulator.get( parent ).push( page );\n\t\t\t\t\t} else {\n\t\t\t\t\t\taccumulator.set( parent, [ page ] );\n\t\t\t\t\t}\n\t\t\t\t\treturn accumulator;\n\t\t\t\t}, new Map() )\n\t\t\t);\n\t\t\tsetTotalPages( pages.length );\n\t\t}\n\t\tperformFetch();\n\t}, [] );\n\n\treturn {\n\t\tpagesByParentId,\n\t\ttotalPages,\n\t};\n}\n\nconst PageItems = memo( function PageItems( {\n\tcontext,\n\tpagesByParentId,\n\tparentId = 0,\n\tdepth = 0,\n} ) {\n\tconst pages = pagesByParentId.get( parentId );\n\n\tif ( ! pages?.length ) {\n\t\treturn [];\n\t}\n\n\treturn pages.map( ( page ) => {\n\t\tconst hasChildren = pagesByParentId.has( page.id );\n\t\tconst isNavigationChild = 'showSubmenuIcon' in context;\n\t\treturn (\n\t\t\t<li\n\t\t\t\tkey={ page.id }\n\t\t\t\tclassName={ classnames( 'wp-block-pages-list__item', {\n\t\t\t\t\t'has-child': hasChildren,\n\t\t\t\t\t'wp-block-navigation-item': isNavigationChild,\n\t\t\t\t\t'open-on-click': context.openSubmenusOnClick,\n\t\t\t\t\t'open-on-hover-click':\n\t\t\t\t\t\t! context.openSubmenusOnClick &&\n\t\t\t\t\t\tcontext.showSubmenuIcon,\n\t\t\t\t} ) }\n\t\t\t>\n\t\t\t\t{ hasChildren && context.openSubmenusOnClick ? (\n\t\t\t\t\t<ItemSubmenuToggle title={ page.title?.rendered } />\n\t\t\t\t) : (\n\t\t\t\t\t<a\n\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t'wp-block-pages-list__item__link',\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t'wp-block-navigation-item__content': isNavigationChild,\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t) }\n\t\t\t\t\t\thref={ page.link }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ page.title?.rendered }\n\t\t\t\t\t</a>\n\t\t\t\t) }\n\t\t\t\t{ hasChildren && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t{ ! context.openSubmenusOnClick &&\n\t\t\t\t\t\t\tcontext.showSubmenuIcon && <ItemSubmenuToggle /> }\n\t\t\t\t\t\t<ul\n\t\t\t\t\t\t\tclassName={ classnames( 'submenu-container', {\n\t\t\t\t\t\t\t\t'wp-block-navigation__submenu-container': isNavigationChild,\n\t\t\t\t\t\t\t} ) }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<PageItems\n\t\t\t\t\t\t\t\tcontext={ context }\n\t\t\t\t\t\t\t\tpagesByParentId={ pagesByParentId }\n\t\t\t\t\t\t\t\tparentId={ page.id }\n\t\t\t\t\t\t\t\tdepth={ depth + 1 }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ul>\n\t\t\t\t\t</>\n\t\t\t\t) }\n\t\t\t</li>\n\t\t);\n\t} );\n} );\n\nfunction ItemSubmenuToggle( { title } ) {\n\treturn (\n\t\t<button\n\t\t\tclassName=\"wp-block-navigation-item__content wp-block-navigation-submenu__toggle\"\n\t\t\taria-expanded=\"false\"\n\t\t>\n\t\t\t{ title }\n\t\t\t<span className=\"wp-block-page-list__submenu-icon wp-block-navigation__submenu-icon\">\n\t\t\t\t<ItemSubmenuIcon />\n\t\t\t</span>\n\t\t</button>\n\t);\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/page-list/edit.js"],"names":["MAX_PAGE_COUNT","PageListEdit","context","clientId","pagesByParentId","totalPages","usePagesByParentId","isNavigationChild","allowConvertToLinks","isOpen","setOpen","openModal","closeModal","blockProps","className","textColor","backgroundColor","style","color","undefined","pages","select","getEntityRecords","coreStore","orderby","order","_fields","per_page","sortedPages","reduce","accumulator","page","parent","has","get","push","set","Map","length","PageItems","parentId","depth","map","hasChildren","id","openSubmenusOnClick","showSubmenuIcon","title","rendered","link","ItemSubmenuToggle"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { sortBy } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tBlockControls,\n\tuseBlockProps,\n\tgetColorClassName,\n} from '@wordpress/block-editor';\nimport { ToolbarButton, Placeholder, Spinner } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useMemo, useState, memo } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport ConvertToLinksModal from './convert-to-links-modal';\nimport { ItemSubmenuIcon } from '../navigation-link/icons';\n\n// We only show the edit option when page count is <= MAX_PAGE_COUNT\n// Performance of Navigation Links is not good past this value.\nconst MAX_PAGE_COUNT = 100;\n\nexport default function PageListEdit( { context, clientId } ) {\n\tconst { pagesByParentId, totalPages } = usePagesByParentId();\n\n\tconst isNavigationChild = 'showSubmenuIcon' in context;\n\tconst allowConvertToLinks =\n\t\tisNavigationChild && totalPages <= MAX_PAGE_COUNT;\n\n\tconst [ isOpen, setOpen ] = useState( false );\n\tconst openModal = () => setOpen( true );\n\tconst closeModal = () => setOpen( false );\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classnames( 'wp-block-page-list', {\n\t\t\t'has-text-color': !! context.textColor,\n\t\t\t[ getColorClassName(\n\t\t\t\t'color',\n\t\t\t\tcontext.textColor\n\t\t\t) ]: !! context.textColor,\n\t\t\t'has-background': !! context.backgroundColor,\n\t\t\t[ getColorClassName(\n\t\t\t\t'background-color',\n\t\t\t\tcontext.backgroundColor\n\t\t\t) ]: !! context.backgroundColor,\n\t\t} ),\n\t\tstyle: { ...context.style?.color },\n\t} );\n\n\treturn (\n\t\t<>\n\t\t\t{ allowConvertToLinks && (\n\t\t\t\t<BlockControls group=\"other\">\n\t\t\t\t\t<ToolbarButton title={ __( 'Edit' ) } onClick={ openModal }>\n\t\t\t\t\t\t{ __( 'Edit' ) }\n\t\t\t\t\t</ToolbarButton>\n\t\t\t\t</BlockControls>\n\t\t\t) }\n\t\t\t{ allowConvertToLinks && isOpen && (\n\t\t\t\t<ConvertToLinksModal\n\t\t\t\t\tonClose={ closeModal }\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ totalPages === undefined && (\n\t\t\t\t<div { ...blockProps }>\n\t\t\t\t\t<Placeholder>\n\t\t\t\t\t\t<Spinner />\n\t\t\t\t\t</Placeholder>\n\t\t\t\t</div>\n\t\t\t) }\n\t\t\t{ totalPages === 0 && (\n\t\t\t\t<div { ...blockProps }>\n\t\t\t\t\t<span>{ __( 'Page List: No pages to show.' ) }</span>\n\t\t\t\t</div>\n\t\t\t) }\n\t\t\t{ totalPages > 0 && (\n\t\t\t\t<ul { ...blockProps }>\n\t\t\t\t\t<PageItems\n\t\t\t\t\t\tcontext={ context }\n\t\t\t\t\t\tpagesByParentId={ pagesByParentId }\n\t\t\t\t\t/>\n\t\t\t\t</ul>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nfunction usePagesByParentId() {\n\tconst { pages } = useSelect( ( select ) => {\n\t\tconst { getEntityRecords } = select( coreStore );\n\n\t\treturn {\n\t\t\tpages: getEntityRecords( 'postType', 'page', {\n\t\t\t\torderby: 'menu_order',\n\t\t\t\torder: 'asc',\n\t\t\t\t_fields: [ 'id', 'link', 'parent', 'title', 'menu_order' ],\n\t\t\t\tper_page: -1,\n\t\t\t} ),\n\t\t};\n\t}, [] );\n\n\treturn useMemo( () => {\n\t\t// TODO: Once the REST API supports passing multiple values to\n\t\t// 'orderby', this can be removed.\n\t\t// https://core.trac.wordpress.org/ticket/39037\n\t\tconst sortedPages = sortBy( pages, [ 'menu_order', 'title.rendered' ] );\n\t\tconst pagesByParentId = sortedPages.reduce( ( accumulator, page ) => {\n\t\t\tconst { parent } = page;\n\t\t\tif ( accumulator.has( parent ) ) {\n\t\t\t\taccumulator.get( parent ).push( page );\n\t\t\t} else {\n\t\t\t\taccumulator.set( parent, [ page ] );\n\t\t\t}\n\t\t\treturn accumulator;\n\t\t}, new Map() );\n\n\t\treturn {\n\t\t\tpagesByParentId,\n\t\t\ttotalPages: pages?.length,\n\t\t};\n\t}, [ pages ] );\n}\n\nconst PageItems = memo( function PageItems( {\n\tcontext,\n\tpagesByParentId,\n\tparentId = 0,\n\tdepth = 0,\n} ) {\n\tconst pages = pagesByParentId.get( parentId );\n\n\tif ( ! pages?.length ) {\n\t\treturn [];\n\t}\n\n\treturn pages.map( ( page ) => {\n\t\tconst hasChildren = pagesByParentId.has( page.id );\n\t\tconst isNavigationChild = 'showSubmenuIcon' in context;\n\t\treturn (\n\t\t\t<li\n\t\t\t\tkey={ page.id }\n\t\t\t\tclassName={ classnames( 'wp-block-pages-list__item', {\n\t\t\t\t\t'has-child': hasChildren,\n\t\t\t\t\t'wp-block-navigation-item': isNavigationChild,\n\t\t\t\t\t'open-on-click': context.openSubmenusOnClick,\n\t\t\t\t\t'open-on-hover-click':\n\t\t\t\t\t\t! context.openSubmenusOnClick &&\n\t\t\t\t\t\tcontext.showSubmenuIcon,\n\t\t\t\t} ) }\n\t\t\t>\n\t\t\t\t{ hasChildren && context.openSubmenusOnClick ? (\n\t\t\t\t\t<ItemSubmenuToggle title={ page.title?.rendered } />\n\t\t\t\t) : (\n\t\t\t\t\t<a\n\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t'wp-block-pages-list__item__link',\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t'wp-block-navigation-item__content': isNavigationChild,\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t) }\n\t\t\t\t\t\thref={ page.link }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ page.title?.rendered }\n\t\t\t\t\t</a>\n\t\t\t\t) }\n\t\t\t\t{ hasChildren && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t{ ! context.openSubmenusOnClick &&\n\t\t\t\t\t\t\tcontext.showSubmenuIcon && <ItemSubmenuToggle /> }\n\t\t\t\t\t\t<ul\n\t\t\t\t\t\t\tclassName={ classnames( 'submenu-container', {\n\t\t\t\t\t\t\t\t'wp-block-navigation__submenu-container': isNavigationChild,\n\t\t\t\t\t\t\t} ) }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<PageItems\n\t\t\t\t\t\t\t\tcontext={ context }\n\t\t\t\t\t\t\t\tpagesByParentId={ pagesByParentId }\n\t\t\t\t\t\t\t\tparentId={ page.id }\n\t\t\t\t\t\t\t\tdepth={ depth + 1 }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ul>\n\t\t\t\t\t</>\n\t\t\t\t) }\n\t\t\t</li>\n\t\t);\n\t} );\n} );\n\nfunction ItemSubmenuToggle( { title } ) {\n\treturn (\n\t\t<button\n\t\t\tclassName=\"wp-block-navigation-item__content wp-block-navigation-submenu__toggle\"\n\t\t\taria-expanded=\"false\"\n\t\t>\n\t\t\t{ title }\n\t\t\t<span className=\"wp-block-page-list__submenu-icon wp-block-navigation__submenu-icon\">\n\t\t\t\t<ItemSubmenuIcon />\n\t\t\t</span>\n\t\t</button>\n\t);\n}\n"]}
|
package/build/pattern/index.js
CHANGED
|
@@ -21,6 +21,10 @@ var _i18n = require("@wordpress/i18n");
|
|
|
21
21
|
|
|
22
22
|
var _icons = require("@wordpress/icons");
|
|
23
23
|
|
|
24
|
+
var _primitives = require("@wordpress/primitives");
|
|
25
|
+
|
|
26
|
+
var _notices = require("@wordpress/notices");
|
|
27
|
+
|
|
24
28
|
var _dimensionControls = _interopRequireDefault(require("./dimension-controls"));
|
|
25
29
|
|
|
26
30
|
/**
|
|
@@ -30,12 +34,20 @@ var _dimensionControls = _interopRequireDefault(require("./dimension-controls"))
|
|
|
30
34
|
/**
|
|
31
35
|
* Internal dependencies
|
|
32
36
|
*/
|
|
37
|
+
const placeholderIllustration = (0, _element.createElement)(_primitives.SVG, {
|
|
38
|
+
className: "components-placeholder__illustration",
|
|
39
|
+
fill: "none",
|
|
40
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
41
|
+
viewBox: "0 0 60 60",
|
|
42
|
+
preserveAspectRatio: "none"
|
|
43
|
+
}, (0, _element.createElement)(_primitives.Path, {
|
|
44
|
+
vectorEffect: "non-scaling-stroke",
|
|
45
|
+
d: "M60 60 0 0"
|
|
46
|
+
}));
|
|
33
47
|
const ALLOWED_MEDIA_TYPES = ['image'];
|
|
34
48
|
const placeholderChip = (0, _element.createElement)("div", {
|
|
35
|
-
className: "post-featured-
|
|
36
|
-
},
|
|
37
|
-
icon: _icons.postFeaturedImage
|
|
38
|
-
}), (0, _element.createElement)("p", null, " ", (0, _i18n.__)('Featured Image')));
|
|
49
|
+
className: "wp-block-post-featured-image__placeholder"
|
|
50
|
+
}, placeholderIllustration);
|
|
39
51
|
|
|
40
52
|
function PostFeaturedImageDisplay(_ref) {
|
|
41
53
|
let {
|
|
@@ -45,9 +57,7 @@ function PostFeaturedImageDisplay(_ref) {
|
|
|
45
57
|
postId,
|
|
46
58
|
postType,
|
|
47
59
|
queryId
|
|
48
|
-
}
|
|
49
|
-
noticeUI,
|
|
50
|
-
noticeOperations
|
|
60
|
+
}
|
|
51
61
|
} = _ref;
|
|
52
62
|
const isDescendentOfQueryLoop = !!queryId;
|
|
53
63
|
const {
|
|
@@ -62,20 +72,32 @@ function PostFeaturedImageDisplay(_ref) {
|
|
|
62
72
|
}), [featuredImage]);
|
|
63
73
|
const blockProps = (0, _blockEditor.useBlockProps)({
|
|
64
74
|
style: {
|
|
65
|
-
width
|
|
75
|
+
width,
|
|
76
|
+
height
|
|
66
77
|
}
|
|
67
78
|
});
|
|
68
79
|
|
|
80
|
+
const placeholder = content => {
|
|
81
|
+
return (0, _element.createElement)(_components.Placeholder, {
|
|
82
|
+
className: "block-editor-media-placeholder"
|
|
83
|
+
}, placeholderIllustration, content);
|
|
84
|
+
};
|
|
85
|
+
|
|
69
86
|
const onSelectImage = value => {
|
|
70
87
|
if (value !== null && value !== void 0 && value.id) {
|
|
71
88
|
setFeaturedImage(value.id);
|
|
72
89
|
}
|
|
73
90
|
};
|
|
74
91
|
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
92
|
+
const {
|
|
93
|
+
createErrorNotice
|
|
94
|
+
} = (0, _data.useDispatch)(_notices.store);
|
|
95
|
+
|
|
96
|
+
const onUploadError = message => {
|
|
97
|
+
createErrorNotice(message[2], {
|
|
98
|
+
type: 'snackbar'
|
|
99
|
+
});
|
|
100
|
+
};
|
|
79
101
|
|
|
80
102
|
let image;
|
|
81
103
|
|
|
@@ -83,19 +105,29 @@ function PostFeaturedImageDisplay(_ref) {
|
|
|
83
105
|
return (0, _element.createElement)("div", blockProps, placeholderChip);
|
|
84
106
|
}
|
|
85
107
|
|
|
108
|
+
const label = (0, _i18n.__)('Add a featured image');
|
|
109
|
+
|
|
86
110
|
if (!featuredImage) {
|
|
87
111
|
image = (0, _element.createElement)(_blockEditor.MediaPlaceholder, {
|
|
88
|
-
icon: (0, _element.createElement)(_blockEditor.BlockIcon, {
|
|
89
|
-
icon: _icons.postFeaturedImage
|
|
90
|
-
}),
|
|
91
112
|
onSelect: onSelectImage,
|
|
92
|
-
notices: noticeUI,
|
|
93
|
-
onError: onUploadError,
|
|
94
113
|
accept: "image/*",
|
|
95
114
|
allowedTypes: ALLOWED_MEDIA_TYPES,
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
115
|
+
onError: onUploadError,
|
|
116
|
+
placeholder: placeholder,
|
|
117
|
+
mediaLibraryButton: _ref2 => {
|
|
118
|
+
let {
|
|
119
|
+
open
|
|
120
|
+
} = _ref2;
|
|
121
|
+
return (0, _element.createElement)(_components.Button, {
|
|
122
|
+
icon: _icons.upload,
|
|
123
|
+
variant: "primary",
|
|
124
|
+
label: label,
|
|
125
|
+
showTooltip: true,
|
|
126
|
+
tooltipPosition: "top center",
|
|
127
|
+
onClick: () => {
|
|
128
|
+
open();
|
|
129
|
+
}
|
|
130
|
+
});
|
|
99
131
|
}
|
|
100
132
|
});
|
|
101
133
|
} else {
|
|
@@ -134,8 +166,6 @@ function PostFeaturedImageDisplay(_ref) {
|
|
|
134
166
|
})), (0, _element.createElement)("figure", blockProps, image));
|
|
135
167
|
}
|
|
136
168
|
|
|
137
|
-
const PostFeaturedImageWithNotices = (0, _components.withNotices)(PostFeaturedImageDisplay);
|
|
138
|
-
|
|
139
169
|
function PostFeaturedImageEdit(props) {
|
|
140
170
|
var _props$context;
|
|
141
171
|
|
|
@@ -145,6 +175,6 @@ function PostFeaturedImageEdit(props) {
|
|
|
145
175
|
return (0, _element.createElement)("div", blockProps, placeholderChip);
|
|
146
176
|
}
|
|
147
177
|
|
|
148
|
-
return (0, _element.createElement)(
|
|
178
|
+
return (0, _element.createElement)(PostFeaturedImageDisplay, props);
|
|
149
179
|
}
|
|
150
180
|
//# sourceMappingURL=edit.js.map
|