{
  "version": 3,
  "sources": ["../../../src/components/post-publish-panel/maybe-category-panel.js"],
  "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useSelect } from '@wordpress/data';\nimport { PanelBody } from '@wordpress/components';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useState, useEffect } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport HierarchicalTermSelector from '../post-taxonomies/hierarchical-term-selector';\nimport { store as editorStore } from '../../store';\n\nfunction MaybeCategoryPanel() {\n\tconst { hasNoCategory, hasSiteCategories } = useSelect( ( select ) => {\n\t\tconst postType = select( editorStore ).getCurrentPostType();\n\t\tconst { canUser, getEntityRecord } = select( coreStore );\n\t\tconst categoriesTaxonomy = getEntityRecord(\n\t\t\t'root',\n\t\t\t'taxonomy',\n\t\t\t'category'\n\t\t);\n\t\tconst defaultCategoryId = canUser( 'read', {\n\t\t\tkind: 'root',\n\t\t\tname: 'site',\n\t\t} )\n\t\t\t? getEntityRecord( 'root', 'site' )?.default_category\n\t\t\t: undefined;\n\t\tconst defaultCategory = defaultCategoryId\n\t\t\t? getEntityRecord( 'taxonomy', 'category', defaultCategoryId )\n\t\t\t: undefined;\n\t\tconst postTypeSupportsCategories =\n\t\t\tcategoriesTaxonomy &&\n\t\t\tcategoriesTaxonomy.types.some( ( type ) => type === postType );\n\t\tconst categories =\n\t\t\tcategoriesTaxonomy &&\n\t\t\tselect( editorStore ).getEditedPostAttribute(\n\t\t\t\tcategoriesTaxonomy.rest_base\n\t\t\t);\n\t\tconst siteCategories = postTypeSupportsCategories\n\t\t\t? !! select( coreStore ).getEntityRecords( 'taxonomy', 'category', {\n\t\t\t\t\texclude: [ defaultCategoryId ],\n\t\t\t\t\tper_page: 1,\n\t\t\t  } )?.length\n\t\t\t: false;\n\n\t\t// This boolean should return true if everything is loaded\n\t\t// ( categoriesTaxonomy, defaultCategory )\n\t\t// and the post has not been assigned a category different than \"uncategorized\".\n\t\tconst noCategory =\n\t\t\t!! categoriesTaxonomy &&\n\t\t\t!! defaultCategory &&\n\t\t\tpostTypeSupportsCategories &&\n\t\t\t( categories?.length === 0 ||\n\t\t\t\t( categories?.length === 1 &&\n\t\t\t\t\tdefaultCategory?.id === categories[ 0 ] ) );\n\n\t\treturn {\n\t\t\thasNoCategory: noCategory,\n\t\t\thasSiteCategories: siteCategories,\n\t\t};\n\t}, [] );\n\n\tconst [ shouldShowPanel, setShouldShowPanel ] = useState( false );\n\tuseEffect( () => {\n\t\t// We use state to avoid hiding the panel if the user edits the categories\n\t\t// and adds one within the panel itself (while visible).\n\t\tif ( hasNoCategory ) {\n\t\t\tsetShouldShowPanel( true );\n\t\t}\n\t}, [ hasNoCategory ] );\n\n\t// We only want to show the category panel:\n\t// if the post type supports categories,\n\t// if the site has categories other than the default category,\n\t// and if the post has no other categories than the default category.\n\tif ( ! shouldShowPanel || ! hasSiteCategories ) {\n\t\treturn null;\n\t}\n\n\tconst panelBodyTitle = [\n\t\t__( 'Suggestion:' ),\n\t\t<span className=\"editor-post-publish-panel__link\" key=\"label\">\n\t\t\t{ __( 'Assign a category' ) }\n\t\t</span>,\n\t];\n\n\treturn (\n\t\t<PanelBody initialOpen={ false } title={ panelBodyTitle }>\n\t\t\t<p>\n\t\t\t\t{ __(\n\t\t\t\t\t'Categories provide a helpful way to group related posts together and to quickly tell readers what a post is about.'\n\t\t\t\t) }\n\t\t\t</p>\n\t\t\t<HierarchicalTermSelector slug=\"category\" />\n\t\t</PanelBody>\n\t);\n}\n\nexport default MaybeCategoryPanel;\n"],
  "mappings": ";AAGA,SAAS,UAAU;AACnB,SAAS,iBAAiB;AAC1B,SAAS,iBAAiB;AAC1B,SAAS,SAAS,iBAAiB;AACnC,SAAS,UAAU,iBAAiB;AAKpC,OAAO,8BAA8B;AACrC,SAAS,SAAS,mBAAmB;AAuEnC,cAMA,YANA;AArEF,SAAS,qBAAqB;AAC7B,QAAM,EAAE,eAAe,kBAAkB,IAAI,UAAW,CAAE,WAAY;AACrE,UAAM,WAAW,OAAQ,WAAY,EAAE,mBAAmB;AAC1D,UAAM,EAAE,SAAS,gBAAgB,IAAI,OAAQ,SAAU;AACvD,UAAM,qBAAqB;AAAA,MAC1B;AAAA,MACA;AAAA,MACA;AAAA,IACD;AACA,UAAM,oBAAoB,QAAS,QAAQ;AAAA,MAC1C,MAAM;AAAA,MACN,MAAM;AAAA,IACP,CAAE,IACC,gBAAiB,QAAQ,MAAO,GAAG,mBACnC;AACH,UAAM,kBAAkB,oBACrB,gBAAiB,YAAY,YAAY,iBAAkB,IAC3D;AACH,UAAM,6BACL,sBACA,mBAAmB,MAAM,KAAM,CAAE,SAAU,SAAS,QAAS;AAC9D,UAAM,aACL,sBACA,OAAQ,WAAY,EAAE;AAAA,MACrB,mBAAmB;AAAA,IACpB;AACD,UAAM,iBAAiB,6BACpB,CAAC,CAAE,OAAQ,SAAU,EAAE,iBAAkB,YAAY,YAAY;AAAA,MACjE,SAAS,CAAE,iBAAkB;AAAA,MAC7B,UAAU;AAAA,IACV,CAAE,GAAG,SACL;AAKH,UAAM,aACL,CAAC,CAAE,sBACH,CAAC,CAAE,mBACH,+BACE,YAAY,WAAW,KACtB,YAAY,WAAW,KACxB,iBAAiB,OAAO,WAAY,CAAE;AAEzC,WAAO;AAAA,MACN,eAAe;AAAA,MACf,mBAAmB;AAAA,IACpB;AAAA,EACD,GAAG,CAAC,CAAE;AAEN,QAAM,CAAE,iBAAiB,kBAAmB,IAAI,SAAU,KAAM;AAChE,YAAW,MAAM;AAGhB,QAAK,eAAgB;AACpB,yBAAoB,IAAK;AAAA,IAC1B;AAAA,EACD,GAAG,CAAE,aAAc,CAAE;AAMrB,MAAK,CAAE,mBAAmB,CAAE,mBAAoB;AAC/C,WAAO;AAAA,EACR;AAEA,QAAM,iBAAiB;AAAA,IACtB,GAAI,aAAc;AAAA,IAClB,oBAAC,UAAK,WAAU,mCACb,aAAI,mBAAoB,KAD2B,OAEtD;AAAA,EACD;AAEA,SACC,qBAAC,aAAU,aAAc,OAAQ,OAAQ,gBACxC;AAAA,wBAAC,OACE;AAAA,MACD;AAAA,IACD,GACD;AAAA,IACA,oBAAC,4BAAyB,MAAK,YAAW;AAAA,KAC3C;AAEF;AAEA,IAAO,+BAAQ;",
  "names": []
}
