{
  "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;AAAA;AAAA;AAAA;AAAA,0BAIO;AACP,kBAAuC;AACvC,oBAA4B;AAC5B,qBAA4B;AAC5B,uBAAmC;AACnC,2BAAuD;AACvD,yBAAuB;AACvB,4BAAyB;AAiFvB;AA/EF,IAAM,EAAE,gBAAgB,QAAI,2BAAQ,oBAAAA,WAAuB;AAC3D,IAAM,EAAE,iBAAiB,QAAI,2BAAQ,qBAAAC,WAAwB;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,QAAI;AAAA,IAC3C,CAAE,WAAY;AACb,YAAM;AAAA,QACL;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACD,IAAI,OAAQ,oBAAAC,KAAiB;AAC7B,YAAM,EAAE,YAAY,IAAI,OAAQ,iBAAAC,KAAU;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,QAC7D,yBAAa,oBAAAD,KAAiB;AAE/B,QAAM,wBAAoB;AAAA,IACzB,CAAE,UAAW;AACZ,UACC,MAAM,SAAS,0BACf,CAAE,MAAM,WAAW,KAClB;AACD,gDAAwC;AACxC;AAAA,UACC,MAAM;AAAA,cACN,2BAAa,wBAAwB,MAAM,UAAW;AAAA,QACvD;AAAA,MACD;AAAA,IACD;AAAA,IACA,CAAE,yCAAyC,YAAa;AAAA,EACzD;AAIA,SACC,4EACG;AAAA,KAAE,aACH;AAAA,MAAC;AAAA;AAAA,QACA,cAAe;AAAA,QACf,UAAW;AAAA,QACX,mBAAoB,sBAAAE;AAAA,QACpB,cAAY;AAAA,QACZ,wBAAyB;AAAA,QACzB,YAAU;AAAA;AAAA,IACX;AAAA,IAED,4CAAC,SAAI,WAAU,6EACd,sDAAC,iCAAU,GACZ;AAAA,KACD;AAEF;",
  "names": ["blockEditorPrivateApis", "blockLibraryPrivateApis", "blockEditorStore", "coreStore", "LeafMoreMenu"]
}
