@wordpress/editor
Version:
Enhanced block editor for WordPress posts.
8 lines (7 loc) • 1.72 kB
Source Map (JSON)
{
"version": 3,
"sources": ["../../../src/components/page-attributes/check.js"],
"sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\n\n/**\n * Wrapper component that renders its children only if the post type supports page attributes.\n *\n * @param {Object} props - The component props.\n * @param {React.ReactNode} props.children - The child components to render.\n *\n * @return {React.ReactNode} The rendered child components or null if page attributes are not supported.\n */\nexport function PageAttributesCheck( { children } ) {\n\tconst supportsPageAttributes = useSelect( ( select ) => {\n\t\tconst { getEditedPostAttribute } = select( editorStore );\n\t\tconst { getPostType } = select( coreStore );\n\t\tconst postType = getPostType( getEditedPostAttribute( 'type' ) );\n\n\t\treturn !! postType?.supports?.[ 'page-attributes' ];\n\t}, [] );\n\n\t// Only render fields if post type supports page attributes or available templates exist.\n\tif ( ! supportsPageAttributes ) {\n\t\treturn null;\n\t}\n\n\treturn children;\n}\n\nexport default PageAttributesCheck;\n"],
"mappings": ";AAGA,SAAS,iBAAiB;AAC1B,SAAS,SAAS,iBAAiB;AAKnC,SAAS,SAAS,mBAAmB;AAU9B,SAAS,oBAAqB,EAAE,SAAS,GAAI;AACnD,QAAM,yBAAyB,UAAW,CAAE,WAAY;AACvD,UAAM,EAAE,uBAAuB,IAAI,OAAQ,WAAY;AACvD,UAAM,EAAE,YAAY,IAAI,OAAQ,SAAU;AAC1C,UAAM,WAAW,YAAa,uBAAwB,MAAO,CAAE;AAE/D,WAAO,CAAC,CAAE,UAAU,WAAY,iBAAkB;AAAA,EACnD,GAAG,CAAC,CAAE;AAGN,MAAK,CAAE,wBAAyB;AAC/B,WAAO;AAAA,EACR;AAEA,SAAO;AACR;AAEA,IAAO,gBAAQ;",
"names": []
}