{
  "version": 3,
  "sources": ["../../../src/components/sidebar-navigation-screen-navigation-menus/navigation-menu-content.jsx"],
  "sourcesContent": ["import {\n\tprivateApis as blockEditorPrivateApis,\n\tstore as blockEditorStore,\n\tBlockList,\n} from '@wordpress/block-editor';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { createBlock } from '@wordpress/blocks';\nimport { useCallback } from '@wordpress/element';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { privateApis as blockLibraryPrivateApis } from '@wordpress/block-library';\nimport { unlock } from '../../lock-unlock';\nimport LeafMoreMenu from './leaf-more-menu';\n\nconst { PrivateListView } = unlock( blockEditorPrivateApis );\nconst { NavigationLinkUI } = unlock( blockLibraryPrivateApis );\n\n// Needs to be kept in sync with the query used at packages/block-library/src/page-list/edit.jsx.\nconst MAX_PAGE_COUNT = 100;\nconst PAGES_QUERY = [\n\t'postType',\n\t'page',\n\t{\n\t\tper_page: MAX_PAGE_COUNT,\n\t\t_fields: [ 'id', 'link', 'menu_order', 'parent', 'title', 'type' ],\n\t\t// TODO: When https://core.trac.wordpress.org/ticket/39037 REST API support for multiple orderby\n\t\t// values is resolved, update 'orderby' to [ 'menu_order', 'post_title' ] to provide a consistent\n\t\t// sort.\n\t\torderby: 'menu_order',\n\t\torder: 'asc',\n\t},\n];\n\nexport default function NavigationMenuContent( { rootClientId } ) {\n\tconst { listViewRootClientId, isLoading } = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tareInnerBlocksControlled,\n\t\t\t\tgetBlockName,\n\t\t\t\tgetBlockCount,\n\t\t\t\tgetBlockOrder,\n\t\t\t} = select( blockEditorStore );\n\t\t\tconst { isResolving } = select( coreStore );\n\n\t\t\tconst blockClientIds = getBlockOrder( rootClientId );\n\n\t\t\tconst hasOnlyPageListBlock =\n\t\t\t\tblockClientIds.length === 1 &&\n\t\t\t\tgetBlockName( blockClientIds[ 0 ] ) === 'core/page-list';\n\t\t\tconst pageListHasBlocks =\n\t\t\t\thasOnlyPageListBlock &&\n\t\t\t\tgetBlockCount( blockClientIds[ 0 ] ) > 0;\n\n\t\t\tconst isLoadingPages = isResolving(\n\t\t\t\t'getEntityRecords',\n\t\t\t\tPAGES_QUERY\n\t\t\t);\n\n\t\t\treturn {\n\t\t\t\tlistViewRootClientId: pageListHasBlocks\n\t\t\t\t\t? blockClientIds[ 0 ]\n\t\t\t\t\t: rootClientId,\n\t\t\t\t// This is a small hack to wait for the navigation block\n\t\t\t\t// to actually load its inner blocks.\n\t\t\t\tisLoading:\n\t\t\t\t\t! areInnerBlocksControlled( rootClientId ) ||\n\t\t\t\t\tisLoadingPages,\n\t\t\t};\n\t\t},\n\t\t[ rootClientId ]\n\t);\n\tconst { replaceBlock, __unstableMarkNextChangeAsNotPersistent } =\n\t\tuseDispatch( blockEditorStore );\n\n\tconst offCanvasOnselect = useCallback(\n\t\t( block ) => {\n\t\t\tif (\n\t\t\t\tblock.name === 'core/navigation-link' &&\n\t\t\t\t! block.attributes.url\n\t\t\t) {\n\t\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\t\treplaceBlock(\n\t\t\t\t\tblock.clientId,\n\t\t\t\t\tcreateBlock( 'core/navigation-link', block.attributes )\n\t\t\t\t);\n\t\t\t}\n\t\t},\n\t\t[ __unstableMarkNextChangeAsNotPersistent, replaceBlock ]\n\t);\n\n\t// The hidden block is needed because it makes block edit side effects trigger.\n\t// For example a navigation page list load its items has an effect on edit to load its items.\n\treturn (\n\t\t<>\n\t\t\t{ ! isLoading && (\n\t\t\t\t<PrivateListView\n\t\t\t\t\trootClientId={ listViewRootClientId }\n\t\t\t\t\tonSelect={ offCanvasOnselect }\n\t\t\t\t\tblockSettingsMenu={ LeafMoreMenu }\n\t\t\t\t\tshowAppender\n\t\t\t\t\tadditionalBlockContent={ NavigationLinkUI }\n\t\t\t\t\tisExpanded\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t<div className=\"edit-site-sidebar-navigation-screen-navigation-menus__helper-block-editor\">\n\t\t\t\t<BlockList />\n\t\t\t</div>\n\t\t</>\n\t);\n}\n"],
  "mappings": ";AAAA;AAAA,EACC,eAAe;AAAA,EACf,SAAS;AAAA,EACT;AAAA,OACM;AACP,SAAS,aAAa,iBAAiB;AACvC,SAAS,mBAAmB;AAC5B,SAAS,mBAAmB;AAC5B,SAAS,SAAS,iBAAiB;AACnC,SAAS,eAAe,+BAA+B;AACvD,SAAS,cAAc;AACvB,OAAO,kBAAkB;AAiFvB,mBAEE,KAFF;AA/EF,IAAM,EAAE,gBAAgB,IAAI,OAAQ,sBAAuB;AAC3D,IAAM,EAAE,iBAAiB,IAAI,OAAQ,uBAAwB;AAG7D,IAAM,iBAAiB;AACvB,IAAM,cAAc;AAAA,EACnB;AAAA,EACA;AAAA,EACA;AAAA,IACC,UAAU;AAAA,IACV,SAAS,CAAE,MAAM,QAAQ,cAAc,UAAU,SAAS,MAAO;AAAA;AAAA;AAAA;AAAA,IAIjE,SAAS;AAAA,IACT,OAAO;AAAA,EACR;AACD;AAEe,SAAR,sBAAwC,EAAE,aAAa,GAAI;AACjE,QAAM,EAAE,sBAAsB,UAAU,IAAI;AAAA,IAC3C,CAAE,WAAY;AACb,YAAM;AAAA,QACL;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACD,IAAI,OAAQ,gBAAiB;AAC7B,YAAM,EAAE,YAAY,IAAI,OAAQ,SAAU;AAE1C,YAAM,iBAAiB,cAAe,YAAa;AAEnD,YAAM,uBACL,eAAe,WAAW,KAC1B,aAAc,eAAgB,CAAE,CAAE,MAAM;AACzC,YAAM,oBACL,wBACA,cAAe,eAAgB,CAAE,CAAE,IAAI;AAExC,YAAM,iBAAiB;AAAA,QACtB;AAAA,QACA;AAAA,MACD;AAEA,aAAO;AAAA,QACN,sBAAsB,oBACnB,eAAgB,CAAE,IAClB;AAAA;AAAA;AAAA,QAGH,WACC,CAAE,yBAA0B,YAAa,KACzC;AAAA,MACF;AAAA,IACD;AAAA,IACA,CAAE,YAAa;AAAA,EAChB;AACA,QAAM,EAAE,cAAc,wCAAwC,IAC7D,YAAa,gBAAiB;AAE/B,QAAM,oBAAoB;AAAA,IACzB,CAAE,UAAW;AACZ,UACC,MAAM,SAAS,0BACf,CAAE,MAAM,WAAW,KAClB;AACD,gDAAwC;AACxC;AAAA,UACC,MAAM;AAAA,UACN,YAAa,wBAAwB,MAAM,UAAW;AAAA,QACvD;AAAA,MACD;AAAA,IACD;AAAA,IACA,CAAE,yCAAyC,YAAa;AAAA,EACzD;AAIA,SACC,iCACG;AAAA,KAAE,aACH;AAAA,MAAC;AAAA;AAAA,QACA,cAAe;AAAA,QACf,UAAW;AAAA,QACX,mBAAoB;AAAA,QACpB,cAAY;AAAA,QACZ,wBAAyB;AAAA,QACzB,YAAU;AAAA;AAAA,IACX;AAAA,IAED,oBAAC,SAAI,WAAU,6EACd,8BAAC,aAAU,GACZ;AAAA,KACD;AAEF;",
  "names": []
}
