UNPKG

@wordpress/editor

Version:
8 lines (7 loc) 3.09 kB
{ "version": 3, "sources": ["../../../src/components/post-taxonomies/panel.js"], "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { PanelBody } from '@wordpress/components';\nimport { useSelect, useDispatch } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\nimport PostTaxonomiesForm from './index';\nimport PostTaxonomiesCheck from './check';\n\n/**\n * Renders a panel for a specific taxonomy.\n *\n * @param {Object} props The component props.\n * @param {Object} props.taxonomy The taxonomy object.\n * @param {React.ReactNode} props.children The child components.\n *\n * @return {React.ReactNode} The rendered taxonomy panel.\n */\nfunction TaxonomyPanel( { taxonomy, children } ) {\n\tconst slug = taxonomy?.slug;\n\tconst panelName = slug ? `taxonomy-panel-${ slug }` : '';\n\tconst { isEnabled, isOpened } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { isEditorPanelEnabled, isEditorPanelOpened } =\n\t\t\t\tselect( editorStore );\n\t\t\treturn {\n\t\t\t\tisEnabled: slug ? isEditorPanelEnabled( panelName ) : false,\n\t\t\t\tisOpened: slug ? isEditorPanelOpened( panelName ) : false,\n\t\t\t};\n\t\t},\n\t\t[ panelName, slug ]\n\t);\n\tconst { toggleEditorPanelOpened } = useDispatch( editorStore );\n\n\tif ( ! isEnabled ) {\n\t\treturn null;\n\t}\n\n\tconst taxonomyMenuName = taxonomy?.labels?.menu_name;\n\tif ( ! taxonomyMenuName ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<PanelBody\n\t\t\ttitle={ taxonomyMenuName }\n\t\t\topened={ isOpened }\n\t\t\tonToggle={ () => toggleEditorPanelOpened( panelName ) }\n\t\t>\n\t\t\t{ children }\n\t\t</PanelBody>\n\t);\n}\n\n/**\n * Component that renders the post taxonomies panel.\n *\n * @return {React.ReactNode} The rendered component.\n */\nexport default function PostTaxonomies() {\n\treturn (\n\t\t<PostTaxonomiesCheck>\n\t\t\t<PostTaxonomiesForm\n\t\t\t\ttaxonomyWrapper={ ( content, taxonomy ) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<TaxonomyPanel taxonomy={ taxonomy }>\n\t\t\t\t\t\t\t{ content }\n\t\t\t\t\t\t</TaxonomyPanel>\n\t\t\t\t\t);\n\t\t\t\t} }\n\t\t\t/>\n\t\t</PostTaxonomiesCheck>\n\t);\n}\n"], "mappings": ";AAGA,SAAS,iBAAiB;AAC1B,SAAS,WAAW,mBAAmB;AAKvC,SAAS,SAAS,mBAAmB;AACrC,OAAO,wBAAwB;AAC/B,OAAO,yBAAyB;AAqC9B;AA1BF,SAAS,cAAe,EAAE,UAAU,SAAS,GAAI;AAChD,QAAM,OAAO,UAAU;AACvB,QAAM,YAAY,OAAO,kBAAmB,IAAK,KAAK;AACtD,QAAM,EAAE,WAAW,SAAS,IAAI;AAAA,IAC/B,CAAE,WAAY;AACb,YAAM,EAAE,sBAAsB,oBAAoB,IACjD,OAAQ,WAAY;AACrB,aAAO;AAAA,QACN,WAAW,OAAO,qBAAsB,SAAU,IAAI;AAAA,QACtD,UAAU,OAAO,oBAAqB,SAAU,IAAI;AAAA,MACrD;AAAA,IACD;AAAA,IACA,CAAE,WAAW,IAAK;AAAA,EACnB;AACA,QAAM,EAAE,wBAAwB,IAAI,YAAa,WAAY;AAE7D,MAAK,CAAE,WAAY;AAClB,WAAO;AAAA,EACR;AAEA,QAAM,mBAAmB,UAAU,QAAQ;AAC3C,MAAK,CAAE,kBAAmB;AACzB,WAAO;AAAA,EACR;AAEA,SACC;AAAA,IAAC;AAAA;AAAA,MACA,OAAQ;AAAA,MACR,QAAS;AAAA,MACT,UAAW,MAAM,wBAAyB,SAAU;AAAA,MAElD;AAAA;AAAA,EACH;AAEF;AAOe,SAAR,iBAAkC;AACxC,SACC,oBAAC,uBACA;AAAA,IAAC;AAAA;AAAA,MACA,iBAAkB,CAAE,SAAS,aAAc;AAC1C,eACC,oBAAC,iBAAc,UACZ,mBACH;AAAA,MAEF;AAAA;AAAA,EACD,GACD;AAEF;", "names": [] }