{
  "version": 3,
  "sources": ["../../../src/components/sidebar-navigation-screen-patterns/use-template-part-areas.js"],
  "sourcesContent": ["import { useEntityRecords, store as coreStore } from '@wordpress/core-data';\nimport { useSelect } from '@wordpress/data';\nimport { privateApis as blockLibraryPrivateApis } from '@wordpress/block-library';\nimport {\n\tTEMPLATE_PART_AREA_DEFAULT_CATEGORY,\n\tTEMPLATE_PART_POST_TYPE,\n} from '../../utils/constants';\nimport { unlock } from '../../lock-unlock';\n\nconst { NAVIGATION_OVERLAY_TEMPLATE_PART_AREA } = unlock(\n\tblockLibraryPrivateApis\n);\n\nconst useTemplatePartsGroupedByArea = ( items ) => {\n\tconst allItems = items || [];\n\n\tconst templatePartAreas = useSelect(\n\t\t( select ) =>\n\t\t\tselect( coreStore ).getCurrentTheme()\n\t\t\t\t?.default_template_part_areas || [],\n\t\t[]\n\t);\n\n\t// Create map of template areas ensuring that default areas are displayed before\n\t// any custom registered template part areas.\n\tconst knownAreas = {\n\t\theader: {},\n\t\tfooter: {},\n\t\tsidebar: {},\n\t\tuncategorized: {},\n\t\t[ NAVIGATION_OVERLAY_TEMPLATE_PART_AREA ]: {},\n\t};\n\n\ttemplatePartAreas.forEach(\n\t\t( templatePartArea ) =>\n\t\t\t( knownAreas[ templatePartArea.area ] = {\n\t\t\t\t...templatePartArea,\n\t\t\t\ttemplateParts: [],\n\t\t\t} )\n\t);\n\n\tconst groupedByArea = allItems.reduce( ( accumulator, item ) => {\n\t\tconst key = accumulator[ item.area ]\n\t\t\t? item.area\n\t\t\t: TEMPLATE_PART_AREA_DEFAULT_CATEGORY;\n\t\taccumulator[ key ]?.templateParts?.push( item );\n\t\treturn accumulator;\n\t}, knownAreas );\n\n\treturn groupedByArea;\n};\n\nexport default function useTemplatePartAreas() {\n\tconst { records: templateParts, isResolving: isLoading } = useEntityRecords(\n\t\t'postType',\n\t\tTEMPLATE_PART_POST_TYPE,\n\t\t{ per_page: -1 }\n\t);\n\n\treturn {\n\t\thasTemplateParts: templateParts ? !! templateParts.length : false,\n\t\tisLoading,\n\t\ttemplatePartAreas: useTemplatePartsGroupedByArea( templateParts ),\n\t};\n}\n"],
  "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAAqD;AACrD,kBAA0B;AAC1B,2BAAuD;AACvD,uBAGO;AACP,yBAAuB;AAEvB,IAAM,EAAE,sCAAsC,QAAI;AAAA,EACjD,qBAAAA;AACD;AAEA,IAAM,gCAAgC,CAAE,UAAW;AAClD,QAAM,WAAW,SAAS,CAAC;AAE3B,QAAM,wBAAoB;AAAA,IACzB,CAAE,WACD,OAAQ,iBAAAC,KAAU,EAAE,gBAAgB,GACjC,+BAA+B,CAAC;AAAA,IACpC,CAAC;AAAA,EACF;AAIA,QAAM,aAAa;AAAA,IAClB,QAAQ,CAAC;AAAA,IACT,QAAQ,CAAC;AAAA,IACT,SAAS,CAAC;AAAA,IACV,eAAe,CAAC;AAAA,IAChB,CAAE,qCAAsC,GAAG,CAAC;AAAA,EAC7C;AAEA,oBAAkB;AAAA,IACjB,CAAE,qBACC,WAAY,iBAAiB,IAAK,IAAI;AAAA,MACvC,GAAG;AAAA,MACH,eAAe,CAAC;AAAA,IACjB;AAAA,EACF;AAEA,QAAM,gBAAgB,SAAS,OAAQ,CAAE,aAAa,SAAU;AAC/D,UAAM,MAAM,YAAa,KAAK,IAAK,IAChC,KAAK,OACL;AACH,gBAAa,GAAI,GAAG,eAAe,KAAM,IAAK;AAC9C,WAAO;AAAA,EACR,GAAG,UAAW;AAEd,SAAO;AACR;AAEe,SAAR,uBAAwC;AAC9C,QAAM,EAAE,SAAS,eAAe,aAAa,UAAU,QAAI;AAAA,IAC1D;AAAA,IACA;AAAA,IACA,EAAE,UAAU,GAAG;AAAA,EAChB;AAEA,SAAO;AAAA,IACN,kBAAkB,gBAAgB,CAAC,CAAE,cAAc,SAAS;AAAA,IAC5D;AAAA,IACA,mBAAmB,8BAA+B,aAAc;AAAA,EACjE;AACD;",
  "names": ["blockLibraryPrivateApis", "coreStore"]
}
