@wordpress/block-library 7.14.10 → 7.14.12
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/index.js +3 -1
- package/build/cover/edit/index.js.map +1 -1
- package/build/list/utils.js +4 -8
- package/build/list/utils.js.map +1 -1
- package/build/list-item/edit.js +2 -1
- package/build/list-item/edit.js.map +1 -1
- package/build/page-list/edit.js +29 -10
- package/build/page-list/edit.js.map +1 -1
- package/build-module/cover/edit/index.js +3 -1
- package/build-module/cover/edit/index.js.map +1 -1
- package/build-module/list/utils.js +5 -9
- package/build-module/list/utils.js.map +1 -1
- package/build-module/list-item/edit.js +2 -1
- package/build-module/list-item/edit.js.map +1 -1
- package/build-module/page-list/edit.js +29 -10
- package/build-module/page-list/edit.js.map +1 -1
- package/build-style/common-rtl.css +3 -1
- package/build-style/common.css +3 -1
- package/build-style/cover/style-rtl.css +2 -1
- package/build-style/cover/style.css +2 -1
- package/build-style/editor-rtl.css +1 -0
- package/build-style/editor.css +1 -0
- package/build-style/gallery/style-rtl.css +4 -2
- package/build-style/gallery/style.css +4 -2
- package/build-style/style-rtl.css +16 -5
- package/build-style/style.css +16 -5
- package/build-style/table/editor-rtl.css +1 -0
- package/build-style/table/editor.css +1 -0
- package/build-style/table/style-rtl.css +5 -0
- package/build-style/table/style.css +5 -0
- package/build-style/table/theme-rtl.css +0 -2
- package/build-style/table/theme.css +0 -2
- package/build-style/theme-rtl.css +0 -2
- package/build-style/theme.css +0 -2
- package/build-style/video/style-rtl.css +2 -1
- package/build-style/video/style.css +2 -1
- package/package.json +6 -6
- package/src/cover/edit/index.js +3 -1
- package/src/list/utils.js +3 -11
- package/src/list-item/edit.js +1 -0
- package/src/page-list/edit.js +36 -22
- package/src/post-featured-image/index.php +17 -18
- package/src/table/editor.scss +1 -0
- package/src/table/style.scss +7 -0
- package/src/table/theme.scss +0 -2
- package/src/template-part/index.php +5 -0
|
@@ -53,6 +53,34 @@ export default function PageListEdit(_ref) {
|
|
|
53
53
|
style: { ...((_context$style = context.style) === null || _context$style === void 0 ? void 0 : _context$style.color)
|
|
54
54
|
}
|
|
55
55
|
});
|
|
56
|
+
|
|
57
|
+
const getBlockContent = () => {
|
|
58
|
+
if (!hasResolvedPages) {
|
|
59
|
+
return createElement("div", blockProps, createElement(Spinner, null));
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
if (totalPages === null) {
|
|
63
|
+
return createElement("div", blockProps, createElement(Notice, {
|
|
64
|
+
status: 'warning',
|
|
65
|
+
isDismissible: false
|
|
66
|
+
}, __('Page List: Cannot retrieve Pages.')));
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
if (totalPages === 0) {
|
|
70
|
+
return createElement("div", blockProps, createElement(Notice, {
|
|
71
|
+
status: 'info',
|
|
72
|
+
isDismissible: false
|
|
73
|
+
}, __('Page List: Cannot retrieve Pages.')));
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
if (totalPages > 0) {
|
|
77
|
+
return createElement("ul", blockProps, createElement(PageItems, {
|
|
78
|
+
context: context,
|
|
79
|
+
pagesByParentId: pagesByParentId
|
|
80
|
+
}));
|
|
81
|
+
}
|
|
82
|
+
};
|
|
83
|
+
|
|
56
84
|
return createElement(Fragment, null, allowConvertToLinks && createElement(BlockControls, {
|
|
57
85
|
group: "other"
|
|
58
86
|
}, createElement(ToolbarButton, {
|
|
@@ -61,16 +89,7 @@ export default function PageListEdit(_ref) {
|
|
|
61
89
|
}, __('Edit'))), allowConvertToLinks && isOpen && createElement(ConvertToLinksModal, {
|
|
62
90
|
onClose: closeModal,
|
|
63
91
|
clientId: clientId
|
|
64
|
-
}),
|
|
65
|
-
status: 'warning',
|
|
66
|
-
isDismissible: false
|
|
67
|
-
}, __('Page List: Cannot retrieve Pages.'))), totalPages === 0 && createElement("div", blockProps, createElement(Notice, {
|
|
68
|
-
status: 'info',
|
|
69
|
-
isDismissible: false
|
|
70
|
-
}, __('Page List: Cannot retrieve Pages.'))), totalPages > 0 && createElement("ul", blockProps, createElement(PageItems, {
|
|
71
|
-
context: context,
|
|
72
|
-
pagesByParentId: pagesByParentId
|
|
73
|
-
})));
|
|
92
|
+
}), getBlockContent());
|
|
74
93
|
}
|
|
75
94
|
|
|
76
95
|
function useFrontPageId() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/page-list/edit.js"],"names":["classnames","BlockControls","useBlockProps","getColorClassName","ToolbarButton","Spinner","Notice","__","useMemo","useState","memo","useSelect","store","coreStore","useEntityRecords","ConvertToLinksModal","ItemSubmenuIcon","MAX_PAGE_COUNT","PageListEdit","context","clientId","pagesByParentId","totalPages","hasResolvedPages","usePageData","isNavigationChild","allowConvertToLinks","isOpen","setOpen","openModal","closeModal","blockProps","className","textColor","backgroundColor","style","color","useFrontPageId","select","canReadSettings","canUser","undefined","site","getEntityRecord","show_on_front","page_on_front","records","pages","hasResolved","orderby","order","_fields","per_page","sortedPages","sort","a","b","menu_order","title","rendered","localeCompare","reduce","accumulator","page","parent","has","get","push","set","Map","length","PageItems","parentId","depth","frontPageId","map","hasChildren","id","openSubmenusOnClick","showSubmenuIcon","link"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tBlockControls,\n\tuseBlockProps,\n\tgetColorClassName,\n} from '@wordpress/block-editor';\nimport { ToolbarButton, Spinner, Notice } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useMemo, useState, memo } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore, useEntityRecords } 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, hasResolvedPages } = usePageData();\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( 'color', context.textColor ) ]:\n\t\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{ ! hasResolvedPages && (\n\t\t\t\t<div { ...blockProps }>\n\t\t\t\t\t<Spinner />\n\t\t\t\t</div>\n\t\t\t) }\n\n\t\t\t{ hasResolvedPages && totalPages === null && (\n\t\t\t\t<div { ...blockProps }>\n\t\t\t\t\t<Notice status={ 'warning' } isDismissible={ false }>\n\t\t\t\t\t\t{ __( 'Page List: Cannot retrieve Pages.' ) }\n\t\t\t\t\t</Notice>\n\t\t\t\t</div>\n\t\t\t) }\n\n\t\t\t{ totalPages === 0 && (\n\t\t\t\t<div { ...blockProps }>\n\t\t\t\t\t<Notice status={ 'info' } isDismissible={ false }>\n\t\t\t\t\t\t{ __( 'Page List: Cannot retrieve Pages.' ) }\n\t\t\t\t\t</Notice>\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 useFrontPageId() {\n\treturn useSelect( ( select ) => {\n\t\tconst canReadSettings = select( coreStore ).canUser(\n\t\t\t'read',\n\t\t\t'settings'\n\t\t);\n\t\tif ( ! canReadSettings ) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\tconst site = select( coreStore ).getEntityRecord( 'root', 'site' );\n\t\treturn site?.show_on_front === 'page' && site?.page_on_front;\n\t}, [] );\n}\n\nfunction usePageData() {\n\tconst { records: pages, hasResolved: hasResolvedPages } = useEntityRecords(\n\t\t'postType',\n\t\t'page',\n\t\t{\n\t\t\torderby: 'menu_order',\n\t\t\torder: 'asc',\n\t\t\t_fields: [ 'id', 'link', 'parent', 'title', 'menu_order' ],\n\t\t\tper_page: -1,\n\t\t\tcontext: 'view',\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 = [ ...( pages ?? [] ) ].sort( ( a, b ) => {\n\t\t\tif ( a.menu_order === b.menu_order ) {\n\t\t\t\treturn a.title.rendered.localeCompare( b.title.rendered );\n\t\t\t}\n\t\t\treturn a.menu_order - b.menu_order;\n\t\t} );\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\thasResolvedPages,\n\t\t\ttotalPages: pages?.length ?? null,\n\t\t};\n\t}, [ pages, hasResolvedPages ] );\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\tconst frontPageId = useFrontPageId();\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\t'menu-item-home': page.id === frontPageId,\n\t\t\t\t} ) }\n\t\t\t>\n\t\t\t\t{ hasChildren && context.openSubmenusOnClick ? (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<button\n\t\t\t\t\t\t\tclassName=\"wp-block-navigation-item__content wp-block-navigation-submenu__toggle\"\n\t\t\t\t\t\t\taria-expanded=\"false\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ page.title?.rendered }\n\t\t\t\t\t\t</button>\n\t\t\t\t\t\t<span className=\"wp-block-page-list__submenu-icon wp-block-navigation__submenu-icon\">\n\t\t\t\t\t\t\t<ItemSubmenuIcon />\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</>\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':\n\t\t\t\t\t\t\t\t\tisNavigationChild,\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 && (\n\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\tclassName=\"wp-block-navigation-item__content wp-block-navigation-submenu__toggle wp-block-page-list__submenu-icon wp-block-navigation__submenu-icon\"\n\t\t\t\t\t\t\t\t\taria-expanded=\"false\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<ItemSubmenuIcon />\n\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t) }\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':\n\t\t\t\t\t\t\t\t\tisNavigationChild,\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"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/page-list/edit.js"],"names":["classnames","BlockControls","useBlockProps","getColorClassName","ToolbarButton","Spinner","Notice","__","useMemo","useState","memo","useSelect","store","coreStore","useEntityRecords","ConvertToLinksModal","ItemSubmenuIcon","MAX_PAGE_COUNT","PageListEdit","context","clientId","pagesByParentId","totalPages","hasResolvedPages","usePageData","isNavigationChild","allowConvertToLinks","isOpen","setOpen","openModal","closeModal","blockProps","className","textColor","backgroundColor","style","color","getBlockContent","useFrontPageId","select","canReadSettings","canUser","undefined","site","getEntityRecord","show_on_front","page_on_front","records","pages","hasResolved","orderby","order","_fields","per_page","sortedPages","sort","a","b","menu_order","title","rendered","localeCompare","reduce","accumulator","page","parent","has","get","push","set","Map","length","PageItems","parentId","depth","frontPageId","map","hasChildren","id","openSubmenusOnClick","showSubmenuIcon","link"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tBlockControls,\n\tuseBlockProps,\n\tgetColorClassName,\n} from '@wordpress/block-editor';\nimport { ToolbarButton, Spinner, Notice } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useMemo, useState, memo } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore, useEntityRecords } 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, hasResolvedPages } = usePageData();\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( 'color', context.textColor ) ]:\n\t\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\tconst getBlockContent = () => {\n\t\tif ( ! hasResolvedPages ) {\n\t\t\treturn (\n\t\t\t\t<div { ...blockProps }>\n\t\t\t\t\t<Spinner />\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\n\t\tif ( totalPages === null ) {\n\t\t\treturn (\n\t\t\t\t<div { ...blockProps }>\n\t\t\t\t\t<Notice status={ 'warning' } isDismissible={ false }>\n\t\t\t\t\t\t{ __( 'Page List: Cannot retrieve Pages.' ) }\n\t\t\t\t\t</Notice>\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\n\t\tif ( totalPages === 0 ) {\n\t\t\treturn (\n\t\t\t\t<div { ...blockProps }>\n\t\t\t\t\t<Notice status={ 'info' } isDismissible={ false }>\n\t\t\t\t\t\t{ __( 'Page List: Cannot retrieve Pages.' ) }\n\t\t\t\t\t</Notice>\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\n\t\tif ( totalPages > 0 ) {\n\t\t\treturn (\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\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\n\t\t\t{ getBlockContent() }\n\t\t</>\n\t);\n}\n\nfunction useFrontPageId() {\n\treturn useSelect( ( select ) => {\n\t\tconst canReadSettings = select( coreStore ).canUser(\n\t\t\t'read',\n\t\t\t'settings'\n\t\t);\n\t\tif ( ! canReadSettings ) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\tconst site = select( coreStore ).getEntityRecord( 'root', 'site' );\n\t\treturn site?.show_on_front === 'page' && site?.page_on_front;\n\t}, [] );\n}\n\nfunction usePageData() {\n\tconst { records: pages, hasResolved: hasResolvedPages } = useEntityRecords(\n\t\t'postType',\n\t\t'page',\n\t\t{\n\t\t\torderby: 'menu_order',\n\t\t\torder: 'asc',\n\t\t\t_fields: [ 'id', 'link', 'parent', 'title', 'menu_order' ],\n\t\t\tper_page: -1,\n\t\t\tcontext: 'view',\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 = [ ...( pages ?? [] ) ].sort( ( a, b ) => {\n\t\t\tif ( a.menu_order === b.menu_order ) {\n\t\t\t\treturn a.title.rendered.localeCompare( b.title.rendered );\n\t\t\t}\n\t\t\treturn a.menu_order - b.menu_order;\n\t\t} );\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\thasResolvedPages,\n\t\t\ttotalPages: pages?.length ?? null,\n\t\t};\n\t}, [ pages, hasResolvedPages ] );\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\tconst frontPageId = useFrontPageId();\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\t'menu-item-home': page.id === frontPageId,\n\t\t\t\t} ) }\n\t\t\t>\n\t\t\t\t{ hasChildren && context.openSubmenusOnClick ? (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<button\n\t\t\t\t\t\t\tclassName=\"wp-block-navigation-item__content wp-block-navigation-submenu__toggle\"\n\t\t\t\t\t\t\taria-expanded=\"false\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ page.title?.rendered }\n\t\t\t\t\t\t</button>\n\t\t\t\t\t\t<span className=\"wp-block-page-list__submenu-icon wp-block-navigation__submenu-icon\">\n\t\t\t\t\t\t\t<ItemSubmenuIcon />\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</>\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':\n\t\t\t\t\t\t\t\t\tisNavigationChild,\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 && (\n\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\tclassName=\"wp-block-navigation-item__content wp-block-navigation-submenu__toggle wp-block-page-list__submenu-icon wp-block-navigation__submenu-icon\"\n\t\t\t\t\t\t\t\t\taria-expanded=\"false\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<ItemSubmenuIcon />\n\t\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t\t) }\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':\n\t\t\t\t\t\t\t\t\tisNavigationChild,\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"]}
|
|
@@ -195,6 +195,7 @@
|
|
|
195
195
|
.screen-reader-text {
|
|
196
196
|
border: 0;
|
|
197
197
|
clip: rect(1px, 1px, 1px, 1px);
|
|
198
|
+
-webkit-clip-path: inset(50%);
|
|
198
199
|
clip-path: inset(50%);
|
|
199
200
|
height: 1px;
|
|
200
201
|
margin: -1px;
|
|
@@ -208,7 +209,8 @@
|
|
|
208
209
|
.screen-reader-text:focus {
|
|
209
210
|
background-color: #ddd;
|
|
210
211
|
clip: auto !important;
|
|
211
|
-
clip-path: none;
|
|
212
|
+
-webkit-clip-path: none;
|
|
213
|
+
clip-path: none;
|
|
212
214
|
color: #444;
|
|
213
215
|
display: block;
|
|
214
216
|
font-size: 1em;
|
package/build-style/common.css
CHANGED
|
@@ -197,6 +197,7 @@
|
|
|
197
197
|
.screen-reader-text {
|
|
198
198
|
border: 0;
|
|
199
199
|
clip: rect(1px, 1px, 1px, 1px);
|
|
200
|
+
-webkit-clip-path: inset(50%);
|
|
200
201
|
clip-path: inset(50%);
|
|
201
202
|
height: 1px;
|
|
202
203
|
margin: -1px;
|
|
@@ -210,7 +211,8 @@
|
|
|
210
211
|
.screen-reader-text:focus {
|
|
211
212
|
background-color: #ddd;
|
|
212
213
|
clip: auto !important;
|
|
213
|
-
clip-path: none;
|
|
214
|
+
-webkit-clip-path: none;
|
|
215
|
+
clip-path: none;
|
|
214
216
|
color: #444;
|
|
215
217
|
display: block;
|
|
216
218
|
font-size: 1em;
|
|
@@ -2437,6 +2437,7 @@ body.editor-styles-wrapper .wp-block-navigation__responsive-container.is-menu-op
|
|
|
2437
2437
|
.wp-block-table td,
|
|
2438
2438
|
.wp-block-table th {
|
|
2439
2439
|
border: 1px solid;
|
|
2440
|
+
padding: 0.5em;
|
|
2440
2441
|
}
|
|
2441
2442
|
.wp-block-table td.is-selected,
|
|
2442
2443
|
.wp-block-table th.is-selected {
|
package/build-style/editor.css
CHANGED
|
@@ -2445,6 +2445,7 @@ body.editor-styles-wrapper .wp-block-navigation__responsive-container.is-menu-op
|
|
|
2445
2445
|
.wp-block-table td,
|
|
2446
2446
|
.wp-block-table th {
|
|
2447
2447
|
border: 1px solid;
|
|
2448
|
+
padding: 0.5em;
|
|
2448
2449
|
}
|
|
2449
2450
|
.wp-block-table td.is-selected,
|
|
2450
2451
|
.wp-block-table th.is-selected {
|
|
@@ -157,7 +157,8 @@
|
|
|
157
157
|
width: 100%;
|
|
158
158
|
height: 100%;
|
|
159
159
|
flex: 1;
|
|
160
|
-
object-fit: cover;
|
|
160
|
+
-o-object-fit: cover;
|
|
161
|
+
object-fit: cover;
|
|
161
162
|
}
|
|
162
163
|
.wp-block-gallery:not(.has-nested-images).columns-1 .blocks-gallery-image, .wp-block-gallery:not(.has-nested-images).columns-1 .blocks-gallery-item,
|
|
163
164
|
.blocks-gallery-grid:not(.has-nested-images).columns-1 .blocks-gallery-image,
|
|
@@ -351,7 +352,8 @@ figure.wp-block-gallery.has-nested-images {
|
|
|
351
352
|
width: 100%;
|
|
352
353
|
flex: 1 0 0%;
|
|
353
354
|
height: 100%;
|
|
354
|
-
object-fit: cover;
|
|
355
|
+
-o-object-fit: cover;
|
|
356
|
+
object-fit: cover;
|
|
355
357
|
}
|
|
356
358
|
.wp-block-gallery.has-nested-images.columns-1 figure.wp-block-image:not(#individual-image) {
|
|
357
359
|
width: 100%;
|
|
@@ -157,7 +157,8 @@
|
|
|
157
157
|
width: 100%;
|
|
158
158
|
height: 100%;
|
|
159
159
|
flex: 1;
|
|
160
|
-
object-fit: cover;
|
|
160
|
+
-o-object-fit: cover;
|
|
161
|
+
object-fit: cover;
|
|
161
162
|
}
|
|
162
163
|
.wp-block-gallery:not(.has-nested-images).columns-1 .blocks-gallery-image, .wp-block-gallery:not(.has-nested-images).columns-1 .blocks-gallery-item,
|
|
163
164
|
.blocks-gallery-grid:not(.has-nested-images).columns-1 .blocks-gallery-image,
|
|
@@ -351,7 +352,8 @@ figure.wp-block-gallery.has-nested-images {
|
|
|
351
352
|
width: 100%;
|
|
352
353
|
flex: 1 0 0%;
|
|
353
354
|
height: 100%;
|
|
354
|
-
object-fit: cover;
|
|
355
|
+
-o-object-fit: cover;
|
|
356
|
+
object-fit: cover;
|
|
355
357
|
}
|
|
356
358
|
.wp-block-gallery.has-nested-images.columns-1 figure.wp-block-image:not(#individual-image) {
|
|
357
359
|
width: 100%;
|
|
@@ -844,7 +844,8 @@
|
|
|
844
844
|
height: 100%;
|
|
845
845
|
max-width: none;
|
|
846
846
|
max-height: none;
|
|
847
|
-
object-fit: cover;
|
|
847
|
+
-o-object-fit: cover;
|
|
848
|
+
object-fit: cover;
|
|
848
849
|
outline: none;
|
|
849
850
|
border: none;
|
|
850
851
|
box-shadow: none;
|
|
@@ -1128,7 +1129,8 @@ section.wp-block-cover-image > h2,
|
|
|
1128
1129
|
width: 100%;
|
|
1129
1130
|
height: 100%;
|
|
1130
1131
|
flex: 1;
|
|
1131
|
-
object-fit: cover;
|
|
1132
|
+
-o-object-fit: cover;
|
|
1133
|
+
object-fit: cover;
|
|
1132
1134
|
}
|
|
1133
1135
|
.wp-block-gallery:not(.has-nested-images).columns-1 .blocks-gallery-image, .wp-block-gallery:not(.has-nested-images).columns-1 .blocks-gallery-item,
|
|
1134
1136
|
.blocks-gallery-grid:not(.has-nested-images).columns-1 .blocks-gallery-image,
|
|
@@ -1322,7 +1324,8 @@ figure.wp-block-gallery.has-nested-images {
|
|
|
1322
1324
|
width: 100%;
|
|
1323
1325
|
flex: 1 0 0%;
|
|
1324
1326
|
height: 100%;
|
|
1325
|
-
object-fit: cover;
|
|
1327
|
+
-o-object-fit: cover;
|
|
1328
|
+
object-fit: cover;
|
|
1326
1329
|
}
|
|
1327
1330
|
.wp-block-gallery.has-nested-images.columns-1 figure.wp-block-image:not(#individual-image) {
|
|
1328
1331
|
width: 100%;
|
|
@@ -3206,6 +3209,11 @@ ul.wp-block-rss.is-grid li {
|
|
|
3206
3209
|
border-collapse: collapse;
|
|
3207
3210
|
width: 100%;
|
|
3208
3211
|
}
|
|
3212
|
+
.wp-block-table td,
|
|
3213
|
+
.wp-block-table th {
|
|
3214
|
+
border: 1px solid;
|
|
3215
|
+
padding: 0.5em;
|
|
3216
|
+
}
|
|
3209
3217
|
.wp-block-table .has-fixed-layout {
|
|
3210
3218
|
table-layout: fixed;
|
|
3211
3219
|
width: 100%;
|
|
@@ -3359,7 +3367,8 @@ pre.wp-block-verse {
|
|
|
3359
3367
|
}
|
|
3360
3368
|
@supports (position: sticky) {
|
|
3361
3369
|
.wp-block-video [poster] {
|
|
3362
|
-
object-fit: cover;
|
|
3370
|
+
-o-object-fit: cover;
|
|
3371
|
+
object-fit: cover;
|
|
3363
3372
|
}
|
|
3364
3373
|
}
|
|
3365
3374
|
.wp-block-video.aligncenter {
|
|
@@ -3476,6 +3485,7 @@ pre.wp-block-verse {
|
|
|
3476
3485
|
.screen-reader-text {
|
|
3477
3486
|
border: 0;
|
|
3478
3487
|
clip: rect(1px, 1px, 1px, 1px);
|
|
3488
|
+
-webkit-clip-path: inset(50%);
|
|
3479
3489
|
clip-path: inset(50%);
|
|
3480
3490
|
height: 1px;
|
|
3481
3491
|
margin: -1px;
|
|
@@ -3489,7 +3499,8 @@ pre.wp-block-verse {
|
|
|
3489
3499
|
.screen-reader-text:focus {
|
|
3490
3500
|
background-color: #ddd;
|
|
3491
3501
|
clip: auto !important;
|
|
3492
|
-
clip-path: none;
|
|
3502
|
+
-webkit-clip-path: none;
|
|
3503
|
+
clip-path: none;
|
|
3493
3504
|
color: #444;
|
|
3494
3505
|
display: block;
|
|
3495
3506
|
font-size: 1em;
|
package/build-style/style.css
CHANGED
|
@@ -851,7 +851,8 @@
|
|
|
851
851
|
height: 100%;
|
|
852
852
|
max-width: none;
|
|
853
853
|
max-height: none;
|
|
854
|
-
object-fit: cover;
|
|
854
|
+
-o-object-fit: cover;
|
|
855
|
+
object-fit: cover;
|
|
855
856
|
outline: none;
|
|
856
857
|
border: none;
|
|
857
858
|
box-shadow: none;
|
|
@@ -1136,7 +1137,8 @@ section.wp-block-cover-image > h2,
|
|
|
1136
1137
|
width: 100%;
|
|
1137
1138
|
height: 100%;
|
|
1138
1139
|
flex: 1;
|
|
1139
|
-
object-fit: cover;
|
|
1140
|
+
-o-object-fit: cover;
|
|
1141
|
+
object-fit: cover;
|
|
1140
1142
|
}
|
|
1141
1143
|
.wp-block-gallery:not(.has-nested-images).columns-1 .blocks-gallery-image, .wp-block-gallery:not(.has-nested-images).columns-1 .blocks-gallery-item,
|
|
1142
1144
|
.blocks-gallery-grid:not(.has-nested-images).columns-1 .blocks-gallery-image,
|
|
@@ -1330,7 +1332,8 @@ figure.wp-block-gallery.has-nested-images {
|
|
|
1330
1332
|
width: 100%;
|
|
1331
1333
|
flex: 1 0 0%;
|
|
1332
1334
|
height: 100%;
|
|
1333
|
-
object-fit: cover;
|
|
1335
|
+
-o-object-fit: cover;
|
|
1336
|
+
object-fit: cover;
|
|
1334
1337
|
}
|
|
1335
1338
|
.wp-block-gallery.has-nested-images.columns-1 figure.wp-block-image:not(#individual-image) {
|
|
1336
1339
|
width: 100%;
|
|
@@ -3239,6 +3242,11 @@ ul.wp-block-rss.is-grid li {
|
|
|
3239
3242
|
border-collapse: collapse;
|
|
3240
3243
|
width: 100%;
|
|
3241
3244
|
}
|
|
3245
|
+
.wp-block-table td,
|
|
3246
|
+
.wp-block-table th {
|
|
3247
|
+
border: 1px solid;
|
|
3248
|
+
padding: 0.5em;
|
|
3249
|
+
}
|
|
3242
3250
|
.wp-block-table .has-fixed-layout {
|
|
3243
3251
|
table-layout: fixed;
|
|
3244
3252
|
width: 100%;
|
|
@@ -3392,7 +3400,8 @@ pre.wp-block-verse {
|
|
|
3392
3400
|
}
|
|
3393
3401
|
@supports (position: sticky) {
|
|
3394
3402
|
.wp-block-video [poster] {
|
|
3395
|
-
object-fit: cover;
|
|
3403
|
+
-o-object-fit: cover;
|
|
3404
|
+
object-fit: cover;
|
|
3396
3405
|
}
|
|
3397
3406
|
}
|
|
3398
3407
|
.wp-block-video.aligncenter {
|
|
@@ -3511,6 +3520,7 @@ pre.wp-block-verse {
|
|
|
3511
3520
|
.screen-reader-text {
|
|
3512
3521
|
border: 0;
|
|
3513
3522
|
clip: rect(1px, 1px, 1px, 1px);
|
|
3523
|
+
-webkit-clip-path: inset(50%);
|
|
3514
3524
|
clip-path: inset(50%);
|
|
3515
3525
|
height: 1px;
|
|
3516
3526
|
margin: -1px;
|
|
@@ -3524,7 +3534,8 @@ pre.wp-block-verse {
|
|
|
3524
3534
|
.screen-reader-text:focus {
|
|
3525
3535
|
background-color: #ddd;
|
|
3526
3536
|
clip: auto !important;
|
|
3527
|
-
clip-path: none;
|
|
3537
|
+
-webkit-clip-path: none;
|
|
3538
|
+
clip-path: none;
|
|
3528
3539
|
color: #444;
|
|
3529
3540
|
display: block;
|
|
3530
3541
|
font-size: 1em;
|
package/build-style/theme.css
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wordpress/block-library",
|
|
3
|
-
"version": "7.14.
|
|
3
|
+
"version": "7.14.12",
|
|
4
4
|
"description": "Block library for the WordPress editor.",
|
|
5
5
|
"author": "The WordPress Contributors",
|
|
6
6
|
"license": "GPL-2.0-or-later",
|
|
@@ -35,9 +35,9 @@
|
|
|
35
35
|
"@wordpress/api-fetch": "^6.14.1",
|
|
36
36
|
"@wordpress/autop": "^3.17.1",
|
|
37
37
|
"@wordpress/blob": "^3.17.1",
|
|
38
|
-
"@wordpress/block-editor": "^10.0.
|
|
38
|
+
"@wordpress/block-editor": "^10.0.10",
|
|
39
39
|
"@wordpress/blocks": "^11.16.4",
|
|
40
|
-
"@wordpress/components": "^21.0.
|
|
40
|
+
"@wordpress/components": "^21.0.7",
|
|
41
41
|
"@wordpress/compose": "^5.15.2",
|
|
42
42
|
"@wordpress/core-data": "^5.0.4",
|
|
43
43
|
"@wordpress/data": "^7.1.3",
|
|
@@ -52,9 +52,9 @@
|
|
|
52
52
|
"@wordpress/keycodes": "^3.17.1",
|
|
53
53
|
"@wordpress/notices": "^3.17.3",
|
|
54
54
|
"@wordpress/primitives": "^3.15.1",
|
|
55
|
-
"@wordpress/reusable-blocks": "^3.15.
|
|
55
|
+
"@wordpress/reusable-blocks": "^3.15.10",
|
|
56
56
|
"@wordpress/rich-text": "^5.15.3",
|
|
57
|
-
"@wordpress/server-side-render": "^3.15.
|
|
57
|
+
"@wordpress/server-side-render": "^3.15.7",
|
|
58
58
|
"@wordpress/url": "^3.18.1",
|
|
59
59
|
"@wordpress/viewport": "^4.15.3",
|
|
60
60
|
"change-case": "^4.1.2",
|
|
@@ -73,5 +73,5 @@
|
|
|
73
73
|
"publishConfig": {
|
|
74
74
|
"access": "public"
|
|
75
75
|
},
|
|
76
|
-
"gitHead": "
|
|
76
|
+
"gitHead": "ef24619c1f6949dbdcaa7e5538dd83715a461c3a"
|
|
77
77
|
}
|
package/src/cover/edit/index.js
CHANGED
|
@@ -194,7 +194,9 @@ function CoverEdit( {
|
|
|
194
194
|
className: 'wp-block-cover__inner-container',
|
|
195
195
|
},
|
|
196
196
|
{
|
|
197
|
-
template
|
|
197
|
+
// Avoid template sync when the `templateLock` value is `all` or `contentOnly`.
|
|
198
|
+
// See: https://github.com/WordPress/gutenberg/pull/45632
|
|
199
|
+
template: ! hasInnerBlocks ? innerBlocksTemplate : undefined,
|
|
198
200
|
templateInsertUpdatesSelection: true,
|
|
199
201
|
allowedBlocks,
|
|
200
202
|
templateLock,
|
package/src/list/utils.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* WordPress dependencies
|
|
3
3
|
*/
|
|
4
|
-
import { createBlock } from '@wordpress/blocks';
|
|
4
|
+
import { createBlock, rawHandler } from '@wordpress/blocks';
|
|
5
5
|
|
|
6
6
|
export function createListBlockFromDOMElement( listElement ) {
|
|
7
7
|
const listAttributes = {
|
|
@@ -70,15 +70,7 @@ export function migrateToListV2( attributes ) {
|
|
|
70
70
|
list.setAttribute( 'type', type );
|
|
71
71
|
}
|
|
72
72
|
|
|
73
|
-
const listBlock =
|
|
73
|
+
const [ listBlock ] = rawHandler( { HTML: list.outerHTML } );
|
|
74
74
|
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
return [
|
|
78
|
-
{
|
|
79
|
-
...restAttributes,
|
|
80
|
-
...listBlock.attributes,
|
|
81
|
-
},
|
|
82
|
-
listBlock.innerBlocks,
|
|
83
|
-
];
|
|
75
|
+
return [ listBlock.attributes, listBlock.innerBlocks ];
|
|
84
76
|
}
|
package/src/list-item/edit.js
CHANGED
|
@@ -66,6 +66,7 @@ export default function ListItemEdit( {
|
|
|
66
66
|
const blockProps = useBlockProps( { ref: useCopy( clientId ) } );
|
|
67
67
|
const innerBlocksProps = useInnerBlocksProps( blockProps, {
|
|
68
68
|
allowedBlocks: [ 'core/list' ],
|
|
69
|
+
__unstableDisableDropZone: true,
|
|
69
70
|
} );
|
|
70
71
|
const useEnterRef = useEnter( { content, clientId } );
|
|
71
72
|
const useSpaceRef = useSpace( clientId );
|
package/src/page-list/edit.js
CHANGED
|
@@ -52,50 +52,64 @@ export default function PageListEdit( { context, clientId } ) {
|
|
|
52
52
|
style: { ...context.style?.color },
|
|
53
53
|
} );
|
|
54
54
|
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
<BlockControls group="other">
|
|
59
|
-
<ToolbarButton title={ __( 'Edit' ) } onClick={ openModal }>
|
|
60
|
-
{ __( 'Edit' ) }
|
|
61
|
-
</ToolbarButton>
|
|
62
|
-
</BlockControls>
|
|
63
|
-
) }
|
|
64
|
-
{ allowConvertToLinks && isOpen && (
|
|
65
|
-
<ConvertToLinksModal
|
|
66
|
-
onClose={ closeModal }
|
|
67
|
-
clientId={ clientId }
|
|
68
|
-
/>
|
|
69
|
-
) }
|
|
70
|
-
{ ! hasResolvedPages && (
|
|
55
|
+
const getBlockContent = () => {
|
|
56
|
+
if ( ! hasResolvedPages ) {
|
|
57
|
+
return (
|
|
71
58
|
<div { ...blockProps }>
|
|
72
59
|
<Spinner />
|
|
73
60
|
</div>
|
|
74
|
-
)
|
|
61
|
+
);
|
|
62
|
+
}
|
|
75
63
|
|
|
76
|
-
|
|
64
|
+
if ( totalPages === null ) {
|
|
65
|
+
return (
|
|
77
66
|
<div { ...blockProps }>
|
|
78
67
|
<Notice status={ 'warning' } isDismissible={ false }>
|
|
79
68
|
{ __( 'Page List: Cannot retrieve Pages.' ) }
|
|
80
69
|
</Notice>
|
|
81
70
|
</div>
|
|
82
|
-
)
|
|
71
|
+
);
|
|
72
|
+
}
|
|
83
73
|
|
|
84
|
-
|
|
74
|
+
if ( totalPages === 0 ) {
|
|
75
|
+
return (
|
|
85
76
|
<div { ...blockProps }>
|
|
86
77
|
<Notice status={ 'info' } isDismissible={ false }>
|
|
87
78
|
{ __( 'Page List: Cannot retrieve Pages.' ) }
|
|
88
79
|
</Notice>
|
|
89
80
|
</div>
|
|
90
|
-
)
|
|
91
|
-
|
|
81
|
+
);
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
if ( totalPages > 0 ) {
|
|
85
|
+
return (
|
|
92
86
|
<ul { ...blockProps }>
|
|
93
87
|
<PageItems
|
|
94
88
|
context={ context }
|
|
95
89
|
pagesByParentId={ pagesByParentId }
|
|
96
90
|
/>
|
|
97
91
|
</ul>
|
|
92
|
+
);
|
|
93
|
+
}
|
|
94
|
+
};
|
|
95
|
+
|
|
96
|
+
return (
|
|
97
|
+
<>
|
|
98
|
+
{ allowConvertToLinks && (
|
|
99
|
+
<BlockControls group="other">
|
|
100
|
+
<ToolbarButton title={ __( 'Edit' ) } onClick={ openModal }>
|
|
101
|
+
{ __( 'Edit' ) }
|
|
102
|
+
</ToolbarButton>
|
|
103
|
+
</BlockControls>
|
|
98
104
|
) }
|
|
105
|
+
{ allowConvertToLinks && isOpen && (
|
|
106
|
+
<ConvertToLinksModal
|
|
107
|
+
onClose={ closeModal }
|
|
108
|
+
clientId={ clientId }
|
|
109
|
+
/>
|
|
110
|
+
) }
|
|
111
|
+
|
|
112
|
+
{ getBlockContent() }
|
|
99
113
|
</>
|
|
100
114
|
);
|
|
101
115
|
}
|