{
  "version": 3,
  "sources": ["../../../src/components/page-patterns/use-patterns.js"],
  "sourcesContent": ["import { parse } from '@wordpress/blocks';\nimport { useSelect, createSelector } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useMemo } from '@wordpress/element';\nimport { filterOutDuplicatesByName } from './utils';\nimport {\n\tEXCLUDED_PATTERN_SOURCES,\n\tPATTERN_TYPES,\n\tPATTERN_SYNC_TYPES,\n\tTEMPLATE_PART_POST_TYPE,\n\tTEMPLATE_PART_AREA_DEFAULT_CATEGORY,\n} from '../../utils/constants';\nimport { unlock } from '../../lock-unlock';\nimport { searchItems } from './search-items';\nimport { store as editSiteStore } from '../../store';\n\nconst EMPTY_PATTERN_LIST = [];\n\nconst selectTemplateParts = createSelector(\n\t( select, categoryId, search = '' ) => {\n\t\tconst {\n\t\t\tgetEntityRecords,\n\t\t\tgetCurrentTheme,\n\t\t\tisResolving: isResolvingSelector,\n\t\t} = select( coreStore );\n\n\t\tconst query = { per_page: -1 };\n\t\tconst templateParts =\n\t\t\tgetEntityRecords( 'postType', TEMPLATE_PART_POST_TYPE, query ) ??\n\t\t\tEMPTY_PATTERN_LIST;\n\n\t\t// In the case where a custom template part area has been removed we need\n\t\t// the current list of areas to cross check against so orphaned template\n\t\t// parts can be treated as uncategorized.\n\t\tconst knownAreas = getCurrentTheme()?.default_template_part_areas || [];\n\n\t\tconst templatePartAreas = knownAreas.map( ( area ) => area.area );\n\n\t\tconst templatePartHasCategory = ( item, category ) => {\n\t\t\tif ( category !== TEMPLATE_PART_AREA_DEFAULT_CATEGORY ) {\n\t\t\t\treturn item.area === category;\n\t\t\t}\n\n\t\t\treturn (\n\t\t\t\titem.area === category ||\n\t\t\t\t! templatePartAreas.includes( item.area )\n\t\t\t);\n\t\t};\n\n\t\tconst isResolving = isResolvingSelector( 'getEntityRecords', [\n\t\t\t'postType',\n\t\t\tTEMPLATE_PART_POST_TYPE,\n\t\t\tquery,\n\t\t] );\n\n\t\tconst patterns = searchItems( templateParts, search, {\n\t\t\tcategoryId,\n\t\t\thasCategory: templatePartHasCategory,\n\t\t} );\n\n\t\treturn { patterns, isResolving };\n\t},\n\t( select ) => [\n\t\tselect( coreStore ).getEntityRecords(\n\t\t\t'postType',\n\t\t\tTEMPLATE_PART_POST_TYPE,\n\t\t\t{\n\t\t\t\tper_page: -1,\n\t\t\t}\n\t\t),\n\t\tselect( coreStore ).isResolving( 'getEntityRecords', [\n\t\t\t'postType',\n\t\t\tTEMPLATE_PART_POST_TYPE,\n\t\t\t{ per_page: -1 },\n\t\t] ),\n\t\tselect( coreStore ).getCurrentTheme()?.default_template_part_areas,\n\t]\n);\n\nconst selectThemePatterns = createSelector(\n\t( select ) => {\n\t\tconst { getSettings } = unlock( select( editSiteStore ) );\n\t\tconst { isResolving: isResolvingSelector } = select( coreStore );\n\t\tconst settings = getSettings();\n\t\tconst blockPatterns =\n\t\t\tsettings.__experimentalAdditionalBlockPatterns ??\n\t\t\tsettings.__experimentalBlockPatterns;\n\n\t\tconst restBlockPatterns = select( coreStore ).getBlockPatterns();\n\n\t\tconst patterns = [\n\t\t\t...( blockPatterns || [] ),\n\t\t\t...( restBlockPatterns || [] ),\n\t\t]\n\t\t\t.filter(\n\t\t\t\t( pattern ) =>\n\t\t\t\t\t! EXCLUDED_PATTERN_SOURCES.includes( pattern.source )\n\t\t\t)\n\t\t\t.filter( filterOutDuplicatesByName )\n\t\t\t.filter( ( pattern ) => pattern.inserter !== false )\n\t\t\t.map( ( pattern ) => ( {\n\t\t\t\t...pattern,\n\t\t\t\tkeywords: pattern.keywords || [],\n\t\t\t\ttype: PATTERN_TYPES.theme,\n\t\t\t\tblocks: parse( pattern.content, {\n\t\t\t\t\t__unstableSkipMigrationLogs: true,\n\t\t\t\t} ),\n\t\t\t} ) );\n\t\treturn {\n\t\t\tpatterns,\n\t\t\tisResolving: isResolvingSelector( 'getBlockPatterns' ),\n\t\t};\n\t},\n\t( select ) => [\n\t\tselect( coreStore ).getBlockPatterns(),\n\t\tselect( coreStore ).isResolving( 'getBlockPatterns' ),\n\t\tunlock( select( editSiteStore ) ).getSettings(),\n\t]\n);\n\nconst selectPatterns = createSelector(\n\t( select, categoryId, syncStatus, search = '' ) => {\n\t\tconst {\n\t\t\tpatterns: themePatterns,\n\t\t\tisResolving: isResolvingThemePatterns,\n\t\t} = selectThemePatterns( select );\n\t\tconst {\n\t\t\tpatterns: userPatterns,\n\t\t\tisResolving: isResolvingUserPatterns,\n\t\t\tcategories: userPatternCategories,\n\t\t} = selectUserPatterns( select );\n\n\t\tlet patterns = [\n\t\t\t...( themePatterns || [] ),\n\t\t\t...( userPatterns || [] ),\n\t\t];\n\n\t\tif ( syncStatus ) {\n\t\t\t// User patterns can have their sync statuses checked directly\n\t\t\t// Non-user patterns are all unsynced for the time being.\n\t\t\tpatterns = patterns.filter( ( pattern ) => {\n\t\t\t\treturn pattern.type === PATTERN_TYPES.user\n\t\t\t\t\t? ( pattern.wp_pattern_sync_status ||\n\t\t\t\t\t\t\tPATTERN_SYNC_TYPES.full ) === syncStatus\n\t\t\t\t\t: syncStatus === PATTERN_SYNC_TYPES.unsynced;\n\t\t\t} );\n\t\t}\n\n\t\tif ( categoryId ) {\n\t\t\tpatterns = searchItems( patterns, search, {\n\t\t\t\tcategoryId,\n\t\t\t\thasCategory: ( item, currentCategory ) => {\n\t\t\t\t\tif ( item.type === PATTERN_TYPES.user ) {\n\t\t\t\t\t\treturn item.wp_pattern_category?.some(\n\t\t\t\t\t\t\t( catId ) =>\n\t\t\t\t\t\t\t\tuserPatternCategories.find(\n\t\t\t\t\t\t\t\t\t( cat ) => cat.id === catId\n\t\t\t\t\t\t\t\t)?.slug === currentCategory\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\treturn item.categories?.includes( currentCategory );\n\t\t\t\t},\n\t\t\t} );\n\t\t} else {\n\t\t\tpatterns = searchItems( patterns, search, {\n\t\t\t\thasCategory: ( item ) => {\n\t\t\t\t\tif ( item.type === PATTERN_TYPES.user ) {\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\tuserPatternCategories?.length &&\n\t\t\t\t\t\t\t( ! item.wp_pattern_category?.length ||\n\t\t\t\t\t\t\t\t! item.wp_pattern_category?.some( ( catId ) =>\n\t\t\t\t\t\t\t\t\tuserPatternCategories.find(\n\t\t\t\t\t\t\t\t\t\t( cat ) => cat.id === catId\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t) )\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\n\t\t\t\t\treturn ! item.hasOwnProperty( 'categories' );\n\t\t\t\t},\n\t\t\t} );\n\t\t}\n\t\treturn {\n\t\t\tpatterns,\n\t\t\tisResolving: isResolvingThemePatterns || isResolvingUserPatterns,\n\t\t};\n\t},\n\t( select ) => [\n\t\tselectThemePatterns( select ),\n\t\tselectUserPatterns( select ),\n\t]\n);\n\nconst selectUserPatterns = createSelector(\n\t( select, syncStatus, search = '' ) => {\n\t\tconst {\n\t\t\tgetEntityRecords,\n\t\t\tisResolving: isResolvingSelector,\n\t\t\tgetUserPatternCategories,\n\t\t} = select( coreStore );\n\n\t\tconst query = { per_page: -1 };\n\t\tconst patternPosts = getEntityRecords(\n\t\t\t'postType',\n\t\t\tPATTERN_TYPES.user,\n\t\t\tquery\n\t\t);\n\t\tconst userPatternCategories = getUserPatternCategories();\n\t\tconst categories = new Map();\n\t\tuserPatternCategories.forEach( ( userCategory ) =>\n\t\t\tcategories.set( userCategory.id, userCategory )\n\t\t);\n\t\tlet patterns = patternPosts ?? EMPTY_PATTERN_LIST;\n\t\tconst isResolving = isResolvingSelector( 'getEntityRecords', [\n\t\t\t'postType',\n\t\t\tPATTERN_TYPES.user,\n\t\t\tquery,\n\t\t] );\n\n\t\tif ( syncStatus ) {\n\t\t\tpatterns = patterns.filter(\n\t\t\t\t( pattern ) =>\n\t\t\t\t\tpattern.wp_pattern_sync_status ||\n\t\t\t\t\tPATTERN_SYNC_TYPES.full === syncStatus\n\t\t\t);\n\t\t}\n\n\t\tpatterns = searchItems( patterns, search, {\n\t\t\t// We exit user pattern retrieval early if we aren't in the\n\t\t\t// catch-all category for user created patterns, so it has\n\t\t\t// to be in the category.\n\t\t\thasCategory: () => true,\n\t\t} );\n\n\t\treturn {\n\t\t\tpatterns,\n\t\t\tisResolving,\n\t\t\tcategories: userPatternCategories,\n\t\t};\n\t},\n\t( select ) => [\n\t\tselect( coreStore ).getEntityRecords( 'postType', PATTERN_TYPES.user, {\n\t\t\tper_page: -1,\n\t\t} ),\n\t\tselect( coreStore ).isResolving( 'getEntityRecords', [\n\t\t\t'postType',\n\t\t\tPATTERN_TYPES.user,\n\t\t\t{ per_page: -1 },\n\t\t] ),\n\t\tselect( coreStore ).getUserPatternCategories(),\n\t]\n);\n\nexport function useAugmentPatternsWithPermissions( patterns ) {\n\tconst idsAndTypes = useMemo(\n\t\t() =>\n\t\t\tpatterns\n\t\t\t\t?.filter( ( record ) => record.type !== PATTERN_TYPES.theme )\n\t\t\t\t.map( ( record ) => [ record.type, record.id ] ) ?? [],\n\t\t[ patterns ]\n\t);\n\n\tconst permissions = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEntityRecordPermissions } = unlock(\n\t\t\t\tselect( coreStore )\n\t\t\t);\n\t\t\treturn idsAndTypes.reduce( ( acc, [ type, id ] ) => {\n\t\t\t\tacc[ id ] = getEntityRecordPermissions( 'postType', type, id );\n\t\t\t\treturn acc;\n\t\t\t}, {} );\n\t\t},\n\t\t[ idsAndTypes ]\n\t);\n\n\treturn useMemo(\n\t\t() =>\n\t\t\tpatterns?.map( ( record ) => ( {\n\t\t\t\t...record,\n\t\t\t\tpermissions: permissions?.[ record.id ] ?? {},\n\t\t\t} ) ) ?? [],\n\t\t[ patterns, permissions ]\n\t);\n}\n\nexport const usePatterns = (\n\tpostType,\n\tcategoryId,\n\t{ search = '', syncStatus } = {}\n) => {\n\treturn useSelect(\n\t\t( select ) => {\n\t\t\tif ( postType === TEMPLATE_PART_POST_TYPE ) {\n\t\t\t\treturn selectTemplateParts( select, categoryId, search );\n\t\t\t} else if ( postType === PATTERN_TYPES.user && !! categoryId ) {\n\t\t\t\tconst appliedCategory =\n\t\t\t\t\tcategoryId === 'uncategorized' ? '' : categoryId;\n\t\t\t\treturn selectPatterns(\n\t\t\t\t\tselect,\n\t\t\t\t\tappliedCategory,\n\t\t\t\t\tsyncStatus,\n\t\t\t\t\tsearch\n\t\t\t\t);\n\t\t\t} else if ( postType === PATTERN_TYPES.user ) {\n\t\t\t\treturn selectUserPatterns( select, syncStatus, search );\n\t\t\t}\n\t\t\treturn {\n\t\t\t\tpatterns: EMPTY_PATTERN_LIST,\n\t\t\t\tisResolving: false,\n\t\t\t};\n\t\t},\n\t\t[ categoryId, postType, search, syncStatus ]\n\t);\n};\n\nexport default usePatterns;\n"],
  "mappings": "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",
  "names": []
}
