{
  "version": 3,
  "sources": ["../../../src/components/sidebar-navigation-screen-navigation-menus/index.jsx"],
  "sourcesContent": ["import { __, _x, sprintf } from '@wordpress/i18n';\nimport { useEntityRecords, store as coreStore } from '@wordpress/core-data';\nimport { useSelect } from '@wordpress/data';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport {\n\t__experimentalItemGroup as ItemGroup,\n\tSpinner,\n} from '@wordpress/components';\nimport { navigation } from '@wordpress/icons';\nimport SidebarNavigationScreen from '../sidebar-navigation-screen';\nimport SidebarNavigationItem from '../sidebar-navigation-item';\nimport { PRELOADED_NAVIGATION_MENUS_QUERY } from './constants';\nimport SingleNavigationMenu from '../sidebar-navigation-screen-navigation-menu/single-navigation-menu';\nimport useNavigationMenuHandlers from '../sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers';\nimport { unlock } from '../../lock-unlock';\nimport { NAVIGATION_POST_TYPE } from '../../utils/constants';\n\n// Copied from packages/block-library/src/navigation/edit/navigation-menu-selector.jsx.\nfunction buildMenuLabel( title, id, status ) {\n\tif ( ! title ) {\n\t\t/* translators: %s: the index of the menu in the list of menus. */\n\t\treturn sprintf( __( '(no title %s)' ), id );\n\t}\n\n\tif ( status === 'publish' ) {\n\t\treturn decodeEntities( title );\n\t}\n\n\treturn sprintf(\n\t\t// translators: 1: title of the menu. 2: status of the menu (draft, pending, etc.).\n\t\t_x( '%1$s (%2$s)', 'menu label' ),\n\t\tdecodeEntities( title ),\n\t\tstatus\n\t);\n}\n\nexport default function SidebarNavigationScreenNavigationMenus( { backPath } ) {\n\tconst {\n\t\trecords: navigationMenus,\n\t\tisResolving: isResolvingNavigationMenus,\n\t\thasResolved: hasResolvedNavigationMenus,\n\t} = useEntityRecords(\n\t\t'postType',\n\t\tNAVIGATION_POST_TYPE,\n\t\tPRELOADED_NAVIGATION_MENUS_QUERY\n\t);\n\n\tconst isLoading =\n\t\tisResolvingNavigationMenus && ! hasResolvedNavigationMenus;\n\n\tconst { getNavigationFallbackId } = unlock( useSelect( coreStore ) );\n\tconst isCreatingNavigationFallback = useSelect(\n\t\t( select ) =>\n\t\t\tselect( coreStore ).isResolving( 'getNavigationFallbackId' ),\n\t\t[]\n\t);\n\n\tconst firstNavigationMenu = navigationMenus?.[ 0 ];\n\n\t// If there is no navigation menu found\n\t// then trigger fallback algorithm to create one.\n\tif (\n\t\t! firstNavigationMenu &&\n\t\t! isResolvingNavigationMenus &&\n\t\thasResolvedNavigationMenus &&\n\t\t// Ensure a fallback navigation is created only once\n\t\t! isCreatingNavigationFallback\n\t) {\n\t\tgetNavigationFallbackId();\n\t}\n\n\tconst { handleSave, handleDelete, handleDuplicate } =\n\t\tuseNavigationMenuHandlers();\n\n\tconst hasNavigationMenus = !! navigationMenus?.length;\n\n\tif ( isLoading ) {\n\t\treturn (\n\t\t\t<SidebarNavigationScreenWrapper backPath={ backPath }>\n\t\t\t\t<Spinner className=\"edit-site-sidebar-navigation-screen-navigation-menus__loading\" />\n\t\t\t</SidebarNavigationScreenWrapper>\n\t\t);\n\t}\n\n\tif ( ! isLoading && ! hasNavigationMenus ) {\n\t\treturn (\n\t\t\t<SidebarNavigationScreenWrapper\n\t\t\t\tdescription={ __( 'No Navigation Menus found.' ) }\n\t\t\t\tbackPath={ backPath }\n\t\t\t/>\n\t\t);\n\t}\n\n\t// if single menu then render it\n\tif ( navigationMenus?.length === 1 ) {\n\t\treturn (\n\t\t\t<SingleNavigationMenu\n\t\t\t\tnavigationMenu={ firstNavigationMenu }\n\t\t\t\tbackPath={ backPath }\n\t\t\t\thandleDelete={ () => handleDelete( firstNavigationMenu ) }\n\t\t\t\thandleDuplicate={ () => handleDuplicate( firstNavigationMenu ) }\n\t\t\t\thandleSave={ ( edits ) =>\n\t\t\t\t\thandleSave( firstNavigationMenu, edits )\n\t\t\t\t}\n\t\t\t/>\n\t\t);\n\t}\n\n\treturn (\n\t\t<SidebarNavigationScreenWrapper backPath={ backPath }>\n\t\t\t<ItemGroup className=\"edit-site-sidebar-navigation-screen-navigation-menus\">\n\t\t\t\t{ navigationMenus?.map( ( { id, title, status }, index ) => (\n\t\t\t\t\t<NavMenuItem\n\t\t\t\t\t\tpostId={ id }\n\t\t\t\t\t\tkey={ id }\n\t\t\t\t\t\twithChevron\n\t\t\t\t\t\ticon={ navigation }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ buildMenuLabel( title?.rendered, index + 1, status ) }\n\t\t\t\t\t</NavMenuItem>\n\t\t\t\t) ) }\n\t\t\t</ItemGroup>\n\t\t</SidebarNavigationScreenWrapper>\n\t);\n}\n\nexport function SidebarNavigationScreenWrapper( {\n\tchildren,\n\tactions,\n\ttitle,\n\tdescription,\n\tbackPath,\n} ) {\n\treturn (\n\t\t<SidebarNavigationScreen\n\t\t\ttitle={ title || __( 'Navigation' ) }\n\t\t\tactions={ actions }\n\t\t\tdescription={\n\t\t\t\tdescription ||\n\t\t\t\t__(\n\t\t\t\t\t'Manage the menus that help visitors find their way around your site.'\n\t\t\t\t)\n\t\t\t}\n\t\t\tbackPath={ backPath }\n\t\t\tcontent={ children }\n\t\t/>\n\t);\n}\n\nconst NavMenuItem = ( { postId, ...props } ) => {\n\treturn (\n\t\t<SidebarNavigationItem\n\t\t\tto={ `/wp_navigation/${ postId }` }\n\t\t\t{ ...props }\n\t\t/>\n\t);\n};\n"],
  "mappings": "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",
  "names": []
}
