@wordpress/edit-site 5.19.2 → 5.19.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/components/add-new-pattern/index.js +5 -9
- package/build/components/add-new-pattern/index.js.map +1 -1
- package/build/components/global-styles/font-library-modal/collection-font-details.js +3 -1
- package/build/components/global-styles/font-library-modal/collection-font-details.js.map +1 -1
- package/build/components/global-styles/font-library-modal/context.js +26 -30
- package/build/components/global-styles/font-library-modal/context.js.map +1 -1
- package/build/components/global-styles/font-library-modal/font-collection.js +31 -11
- package/build/components/global-styles/font-library-modal/font-collection.js.map +1 -1
- package/build/components/global-styles/font-library-modal/index.js +10 -3
- package/build/components/global-styles/font-library-modal/index.js.map +1 -1
- package/build/components/global-styles/font-library-modal/installed-fonts.js +27 -7
- package/build/components/global-styles/font-library-modal/installed-fonts.js.map +1 -1
- package/build/components/global-styles/font-library-modal/local-fonts.js +35 -8
- package/build/components/global-styles/font-library-modal/local-fonts.js.map +1 -1
- package/build/components/global-styles/font-library-modal/upload-fonts.js +26 -0
- package/build/components/global-styles/font-library-modal/upload-fonts.js.map +1 -0
- package/build/components/global-styles/font-library-modal/utils/fonts-outline.js +4 -1
- package/build/components/global-styles/font-library-modal/utils/fonts-outline.js.map +1 -1
- package/build/components/global-styles/font-library-modal/utils/get-notice-from-response.js +71 -0
- package/build/components/global-styles/font-library-modal/utils/get-notice-from-response.js.map +1 -0
- package/build/components/global-styles/font-library-modal/utils/index.js +3 -0
- package/build/components/global-styles/font-library-modal/utils/index.js.map +1 -1
- package/build/components/page-patterns/grid.js +0 -1
- package/build/components/page-patterns/grid.js.map +1 -1
- package/build/components/page-patterns/patterns-list.js +1 -1
- package/build/components/page-patterns/patterns-list.js.map +1 -1
- package/build/components/page-patterns/use-patterns.js +5 -1
- package/build/components/page-patterns/use-patterns.js.map +1 -1
- package/build/components/page-template-parts/index.js +12 -1
- package/build/components/page-template-parts/index.js.map +1 -1
- package/build/components/sidebar-edit-mode/page-panels/reset-default-template.js +1 -1
- package/build/components/sidebar-edit-mode/page-panels/reset-default-template.js.map +1 -1
- package/build/components/sidebar-edit-mode/template-panel/pattern-categories.js +2 -2
- package/build/components/sidebar-edit-mode/template-panel/pattern-categories.js.map +1 -1
- package/build/components/sidebar-edit-mode/template-panel/template-areas.js +1 -1
- package/build/components/sidebar-edit-mode/template-panel/template-areas.js.map +1 -1
- package/build/components/sidebar-navigation-screen-patterns/index.js +14 -2
- package/build/components/sidebar-navigation-screen-patterns/index.js.map +1 -1
- package/build/components/sidebar-navigation-screen-template/home-template-details.js +13 -18
- package/build/components/sidebar-navigation-screen-template/home-template-details.js.map +1 -1
- package/build/components/sidebar-navigation-screen-templates-browse/index.js +16 -4
- package/build/components/sidebar-navigation-screen-templates-browse/index.js.map +1 -1
- package/build-module/components/add-new-pattern/index.js +5 -9
- package/build-module/components/add-new-pattern/index.js.map +1 -1
- package/build-module/components/global-styles/font-library-modal/collection-font-details.js +3 -1
- package/build-module/components/global-styles/font-library-modal/collection-font-details.js.map +1 -1
- package/build-module/components/global-styles/font-library-modal/context.js +26 -30
- package/build-module/components/global-styles/font-library-modal/context.js.map +1 -1
- package/build-module/components/global-styles/font-library-modal/font-collection.js +32 -12
- package/build-module/components/global-styles/font-library-modal/font-collection.js.map +1 -1
- package/build-module/components/global-styles/font-library-modal/index.js +10 -3
- package/build-module/components/global-styles/font-library-modal/index.js.map +1 -1
- package/build-module/components/global-styles/font-library-modal/installed-fonts.js +28 -8
- package/build-module/components/global-styles/font-library-modal/installed-fonts.js.map +1 -1
- package/build-module/components/global-styles/font-library-modal/local-fonts.js +38 -11
- package/build-module/components/global-styles/font-library-modal/local-fonts.js.map +1 -1
- package/build-module/components/global-styles/font-library-modal/upload-fonts.js +17 -0
- package/build-module/components/global-styles/font-library-modal/upload-fonts.js.map +1 -0
- package/build-module/components/global-styles/font-library-modal/utils/fonts-outline.js +4 -1
- package/build-module/components/global-styles/font-library-modal/utils/fonts-outline.js.map +1 -1
- package/build-module/components/global-styles/font-library-modal/utils/get-notice-from-response.js +63 -0
- package/build-module/components/global-styles/font-library-modal/utils/get-notice-from-response.js.map +1 -0
- package/build-module/components/global-styles/font-library-modal/utils/index.js +3 -0
- package/build-module/components/global-styles/font-library-modal/utils/index.js.map +1 -1
- package/build-module/components/page-patterns/grid.js +0 -1
- package/build-module/components/page-patterns/grid.js.map +1 -1
- package/build-module/components/page-patterns/patterns-list.js +1 -1
- package/build-module/components/page-patterns/patterns-list.js.map +1 -1
- package/build-module/components/page-patterns/use-patterns.js +5 -1
- package/build-module/components/page-patterns/use-patterns.js.map +1 -1
- package/build-module/components/page-template-parts/index.js +12 -1
- package/build-module/components/page-template-parts/index.js.map +1 -1
- package/build-module/components/sidebar-edit-mode/page-panels/reset-default-template.js +1 -1
- package/build-module/components/sidebar-edit-mode/page-panels/reset-default-template.js.map +1 -1
- package/build-module/components/sidebar-edit-mode/template-panel/pattern-categories.js +3 -3
- package/build-module/components/sidebar-edit-mode/template-panel/pattern-categories.js.map +1 -1
- package/build-module/components/sidebar-edit-mode/template-panel/template-areas.js +1 -1
- package/build-module/components/sidebar-edit-mode/template-panel/template-areas.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-patterns/index.js +14 -2
- package/build-module/components/sidebar-navigation-screen-patterns/index.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-template/home-template-details.js +14 -19
- package/build-module/components/sidebar-navigation-screen-template/home-template-details.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-templates-browse/index.js +16 -4
- package/build-module/components/sidebar-navigation-screen-templates-browse/index.js.map +1 -1
- package/build-style/style-rtl.css +16 -2
- package/build-style/style.css +16 -2
- package/package.json +40 -40
- package/src/components/add-new-pattern/index.js +5 -8
- package/src/components/global-styles/font-library-modal/collection-font-details.js +1 -1
- package/src/components/global-styles/font-library-modal/context.js +36 -38
- package/src/components/global-styles/font-library-modal/font-collection.js +41 -12
- package/src/components/global-styles/font-library-modal/index.js +16 -6
- package/src/components/global-styles/font-library-modal/installed-fonts.js +36 -6
- package/src/components/global-styles/font-library-modal/local-fonts.js +65 -23
- package/src/components/global-styles/font-library-modal/style.scss +18 -1
- package/src/components/global-styles/font-library-modal/upload-fonts.js +20 -0
- package/src/components/global-styles/font-library-modal/utils/fonts-outline.js +4 -3
- package/src/components/global-styles/font-library-modal/utils/get-notice-from-response.js +62 -0
- package/src/components/global-styles/font-library-modal/utils/index.js +4 -0
- package/src/components/page-patterns/grid.js +1 -1
- package/src/components/page-patterns/patterns-list.js +1 -1
- package/src/components/page-patterns/use-patterns.js +7 -3
- package/src/components/page-template-parts/index.js +14 -1
- package/src/components/sidebar-edit-mode/page-panels/reset-default-template.js +1 -1
- package/src/components/sidebar-edit-mode/template-panel/pattern-categories.js +18 -16
- package/src/components/sidebar-edit-mode/template-panel/template-areas.js +1 -1
- package/src/components/sidebar-navigation-screen/style.scss +0 -1
- package/src/components/sidebar-navigation-screen-patterns/index.js +25 -4
- package/src/components/sidebar-navigation-screen-template/home-template-details.js +27 -35
- package/src/components/sidebar-navigation-screen-templates-browse/index.js +12 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_element","require","_components","_i18n","_icons","_router","_compose","_header","_interopRequireDefault","_grid","_noPatterns","_usePatterns","_sidebarButton","_useDebouncedInput","_lockUnlock","_constants","_pagination","useLocation","useHistory","unlock","routerPrivateApis","SYNC_FILTERS","all","__","PATTERN_SYNC_TYPES","full","unsynced","SYNC_DESCRIPTIONS","PAGE_SIZE","PatternsList","categoryId","type","location","history","isMobileViewport","useViewportMatch","filterValue","setFilterValue","delayedFilterValue","useDebouncedInput","deferredFilterValue","useDeferredValue","syncFilter","setSyncFilter","useState","currentPage","setCurrentPage","deferredSyncedFilter","isUncategorizedThemePatterns","PATTERN_TYPES","theme","patterns","isResolving","usePatterns","search","syncStatus","undefined","updateSearchFilter","value","updateSyncFilter","id","useId","titleId","descriptionId","hasPatterns","length","title","description","totalItems","pageIndex","numPages","Math","ceil","list","useMemo","slice","asyncList","useAsyncList","step","changePage","page","scrollContainer","document","querySelector","scrollTo","createElement","Fragment","__experimentalVStack","className","spacing","default","Flex","alignment","wrap","icon","isRTL","chevronRight","chevronLeft","label","onClick","state","backPath","back","push","path","FlexBlock","SearchControl","onChange","placeholder","__nextHasNoMarginBottom","__experimentalToggleGroupControl","hideLabelFromVision","isBlock","Object","entries","map","key","__experimentalToggleGroupControlOption","justify","__experimentalHeading","as","level","__experimentalText","variant","items"],"sources":["@wordpress/edit-site/src/components/page-patterns/patterns-list.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useState, useDeferredValue, useId, useMemo } from '@wordpress/element';\nimport {\n\tSearchControl,\n\t__experimentalVStack as VStack,\n\tFlex,\n\tFlexBlock,\n\t__experimentalToggleGroupControl as ToggleGroupControl,\n\t__experimentalToggleGroupControlOption as ToggleGroupControlOption,\n\t__experimentalHeading as Heading,\n\t__experimentalText as Text,\n} from '@wordpress/components';\nimport { __, isRTL } from '@wordpress/i18n';\nimport { chevronLeft, chevronRight } from '@wordpress/icons';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\nimport { useAsyncList, useViewportMatch } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport PatternsHeader from './header';\nimport Grid from './grid';\nimport NoPatterns from './no-patterns';\nimport usePatterns from './use-patterns';\nimport SidebarButton from '../sidebar-button';\nimport useDebouncedInput from '../../utils/use-debounced-input';\nimport { unlock } from '../../lock-unlock';\nimport { PATTERN_SYNC_TYPES, PATTERN_TYPES } from '../../utils/constants';\nimport Pagination from './pagination';\n\nconst { useLocation, useHistory } = unlock( routerPrivateApis );\n\nconst SYNC_FILTERS = {\n\tall: __( 'All' ),\n\t[ PATTERN_SYNC_TYPES.full ]: __( 'Synced' ),\n\t[ PATTERN_SYNC_TYPES.unsynced ]: __( 'Standard' ),\n};\n\nconst SYNC_DESCRIPTIONS = {\n\tall: '',\n\t[ PATTERN_SYNC_TYPES.full ]: __(\n\t\t'Patterns that are kept in sync across the site.'\n\t),\n\t[ PATTERN_SYNC_TYPES.unsynced ]: __(\n\t\t'Patterns that can be changed freely without affecting the site.'\n\t),\n};\n\nconst PAGE_SIZE = 20;\n\nexport default function PatternsList( { categoryId, type } ) {\n\tconst location = useLocation();\n\tconst history = useHistory();\n\tconst isMobileViewport = useViewportMatch( 'medium', '<' );\n\tconst [ filterValue, setFilterValue, delayedFilterValue ] =\n\t\tuseDebouncedInput( '' );\n\tconst deferredFilterValue = useDeferredValue( delayedFilterValue );\n\n\tconst [ syncFilter, setSyncFilter ] = useState( 'all' );\n\tconst [ currentPage, setCurrentPage ] = useState( 1 );\n\n\tconst deferredSyncedFilter = useDeferredValue( syncFilter );\n\n\tconst isUncategorizedThemePatterns =\n\t\ttype === PATTERN_TYPES.theme && categoryId === 'uncategorized';\n\n\tconst { patterns, isResolving } = usePatterns(\n\t\ttype,\n\t\tisUncategorizedThemePatterns ? '' : categoryId,\n\t\t{\n\t\t\tsearch: deferredFilterValue,\n\t\t\tsyncStatus:\n\t\t\t\tdeferredSyncedFilter === 'all'\n\t\t\t\t\t? undefined\n\t\t\t\t\t: deferredSyncedFilter,\n\t\t}\n\t);\n\n\tconst updateSearchFilter = ( value ) => {\n\t\tsetCurrentPage( 1 );\n\t\tsetFilterValue( value );\n\t};\n\n\tconst updateSyncFilter = ( value ) => {\n\t\tsetCurrentPage( 1 );\n\t\tsetSyncFilter( value );\n\t};\n\n\tconst id = useId();\n\tconst titleId = `${ id }-title`;\n\tconst descriptionId = `${ id }-description`;\n\n\tconst hasPatterns = patterns.length;\n\tconst title = SYNC_FILTERS[ syncFilter ];\n\tconst description = SYNC_DESCRIPTIONS[ syncFilter ];\n\n\tconst totalItems = patterns.length;\n\tconst pageIndex = currentPage - 1;\n\tconst numPages = Math.ceil( patterns.length / PAGE_SIZE );\n\n\tconst list = useMemo( () => {\n\t\treturn patterns.slice(\n\t\t\tpageIndex * PAGE_SIZE,\n\t\t\tpageIndex * PAGE_SIZE + PAGE_SIZE\n\t\t);\n\t}, [ pageIndex, patterns ] );\n\n\tconst asyncList = useAsyncList( list, { step: 10 } );\n\n\tconst changePage = ( page ) => {\n\t\tconst scrollContainer = document.querySelector( '.edit-site-patterns' );\n\t\tscrollContainer?.scrollTo( 0, 0 );\n\n\t\tsetCurrentPage( page );\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t<VStack className=\"edit-site-patterns__header\" spacing={ 6 }>\n\t\t\t\t<PatternsHeader\n\t\t\t\t\tcategoryId={ categoryId }\n\t\t\t\t\ttype={ type }\n\t\t\t\t\ttitleId={ titleId }\n\t\t\t\t\tdescriptionId={ descriptionId }\n\t\t\t\t/>\n\t\t\t\t<Flex alignment=\"stretch\" wrap>\n\t\t\t\t\t{ isMobileViewport && (\n\t\t\t\t\t\t<SidebarButton\n\t\t\t\t\t\t\ticon={ isRTL() ? chevronRight : chevronLeft }\n\t\t\t\t\t\t\tlabel={ __( 'Back' ) }\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t// Go back in history if we came from the Patterns page.\n\t\t\t\t\t\t\t\t// Otherwise push a stack onto the history.\n\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\tlocation.state?.backPath === '/patterns'\n\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\thistory.back();\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\thistory.push( { path: '/patterns' } );\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t<FlexBlock className=\"edit-site-patterns__search-block\">\n\t\t\t\t\t\t<SearchControl\n\t\t\t\t\t\t\tclassName=\"edit-site-patterns__search\"\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tupdateSearchFilter( value )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tplaceholder={ __( 'Search patterns' ) }\n\t\t\t\t\t\t\tlabel={ __( 'Search patterns' ) }\n\t\t\t\t\t\t\tvalue={ filterValue }\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t/>\n\t\t\t\t\t</FlexBlock>\n\t\t\t\t\t{ type === PATTERN_TYPES.theme && (\n\t\t\t\t\t\t<ToggleGroupControl\n\t\t\t\t\t\t\tclassName=\"edit-site-patterns__sync-status-filter\"\n\t\t\t\t\t\t\thideLabelFromVision\n\t\t\t\t\t\t\tlabel={ __( 'Filter by sync status' ) }\n\t\t\t\t\t\t\tvalue={ syncFilter }\n\t\t\t\t\t\t\tisBlock\n\t\t\t\t\t\t\tonChange={ ( value ) => updateSyncFilter( value ) }\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ Object.entries( SYNC_FILTERS ).map(\n\t\t\t\t\t\t\t\t( [ key, label ] ) => (\n\t\t\t\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\t\t\t\tclassName=\"edit-site-patterns__sync-status-filter-option\"\n\t\t\t\t\t\t\t\t\t\tkey={ key }\n\t\t\t\t\t\t\t\t\t\tvalue={ key }\n\t\t\t\t\t\t\t\t\t\tlabel={ label }\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\t) }\n\t\t\t\t\t\t</ToggleGroupControl>\n\t\t\t\t\t) }\n\t\t\t\t</Flex>\n\t\t\t</VStack>\n\t\t\t<VStack\n\t\t\t\tclassName=\"edit-site-patterns__section\"\n\t\t\t\tjustify=\"flex-start\"\n\t\t\t\tspacing={ 6 }\n\t\t\t>\n\t\t\t\t{ syncFilter !== 'all' && (\n\t\t\t\t\t<VStack className=\"edit-site-patterns__section-header\">\n\t\t\t\t\t\t<Heading as=\"h3\" level={ 5 } id={ titleId }>\n\t\t\t\t\t\t\t{ title }\n\t\t\t\t\t\t</Heading>\n\t\t\t\t\t\t{ description ? (\n\t\t\t\t\t\t\t<Text variant=\"muted\" as=\"p\" id={ descriptionId }>\n\t\t\t\t\t\t\t\t{ description }\n\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t) : null }\n\t\t\t\t\t</VStack>\n\t\t\t\t) }\n\t\t\t\t{ hasPatterns && (\n\t\t\t\t\t<Grid\n\t\t\t\t\t\tcategoryId={ categoryId }\n\t\t\t\t\t\titems={ asyncList }\n\t\t\t\t\t\taria-labelledby={ titleId }\n\t\t\t\t\t\taria-describedby={ descriptionId }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ ! isResolving && ! hasPatterns && <NoPatterns /> }\n\t\t\t</VStack>\n\t\t\t{ numPages > 1 && (\n\t\t\t\t<Pagination\n\t\t\t\t\tcurrentPage={ currentPage }\n\t\t\t\t\tnumPages={ numPages }\n\t\t\t\t\tchangePage={ changePage }\n\t\t\t\t\ttotalItems={ totalItems }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_element","require","_components","_i18n","_icons","_router","_compose","_header","_interopRequireDefault","_grid","_noPatterns","_usePatterns","_sidebarButton","_useDebouncedInput","_lockUnlock","_constants","_pagination","useLocation","useHistory","unlock","routerPrivateApis","SYNC_FILTERS","all","__","PATTERN_SYNC_TYPES","full","unsynced","SYNC_DESCRIPTIONS","PAGE_SIZE","PatternsList","categoryId","type","location","history","isMobileViewport","useViewportMatch","filterValue","setFilterValue","delayedFilterValue","useDebouncedInput","deferredFilterValue","useDeferredValue","syncFilter","setSyncFilter","useState","currentPage","setCurrentPage","deferredSyncedFilter","isUncategorizedThemePatterns","PATTERN_TYPES","theme","patterns","isResolving","usePatterns","search","syncStatus","undefined","updateSearchFilter","value","updateSyncFilter","id","useId","titleId","descriptionId","hasPatterns","length","title","description","totalItems","pageIndex","numPages","Math","ceil","list","useMemo","slice","asyncList","useAsyncList","step","changePage","page","scrollContainer","document","querySelector","scrollTo","createElement","Fragment","__experimentalVStack","className","spacing","default","Flex","alignment","wrap","icon","isRTL","chevronRight","chevronLeft","label","onClick","state","backPath","back","push","path","FlexBlock","SearchControl","onChange","placeholder","__nextHasNoMarginBottom","__experimentalToggleGroupControl","hideLabelFromVision","isBlock","Object","entries","map","key","__experimentalToggleGroupControlOption","justify","__experimentalHeading","as","level","__experimentalText","variant","items"],"sources":["@wordpress/edit-site/src/components/page-patterns/patterns-list.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useState, useDeferredValue, useId, useMemo } from '@wordpress/element';\nimport {\n\tSearchControl,\n\t__experimentalVStack as VStack,\n\tFlex,\n\tFlexBlock,\n\t__experimentalToggleGroupControl as ToggleGroupControl,\n\t__experimentalToggleGroupControlOption as ToggleGroupControlOption,\n\t__experimentalHeading as Heading,\n\t__experimentalText as Text,\n} from '@wordpress/components';\nimport { __, isRTL } from '@wordpress/i18n';\nimport { chevronLeft, chevronRight } from '@wordpress/icons';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\nimport { useAsyncList, useViewportMatch } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport PatternsHeader from './header';\nimport Grid from './grid';\nimport NoPatterns from './no-patterns';\nimport usePatterns from './use-patterns';\nimport SidebarButton from '../sidebar-button';\nimport useDebouncedInput from '../../utils/use-debounced-input';\nimport { unlock } from '../../lock-unlock';\nimport { PATTERN_SYNC_TYPES, PATTERN_TYPES } from '../../utils/constants';\nimport Pagination from './pagination';\n\nconst { useLocation, useHistory } = unlock( routerPrivateApis );\n\nconst SYNC_FILTERS = {\n\tall: __( 'All' ),\n\t[ PATTERN_SYNC_TYPES.full ]: __( 'Synced' ),\n\t[ PATTERN_SYNC_TYPES.unsynced ]: __( 'Not synced' ),\n};\n\nconst SYNC_DESCRIPTIONS = {\n\tall: '',\n\t[ PATTERN_SYNC_TYPES.full ]: __(\n\t\t'Patterns that are kept in sync across the site.'\n\t),\n\t[ PATTERN_SYNC_TYPES.unsynced ]: __(\n\t\t'Patterns that can be changed freely without affecting the site.'\n\t),\n};\n\nconst PAGE_SIZE = 20;\n\nexport default function PatternsList( { categoryId, type } ) {\n\tconst location = useLocation();\n\tconst history = useHistory();\n\tconst isMobileViewport = useViewportMatch( 'medium', '<' );\n\tconst [ filterValue, setFilterValue, delayedFilterValue ] =\n\t\tuseDebouncedInput( '' );\n\tconst deferredFilterValue = useDeferredValue( delayedFilterValue );\n\n\tconst [ syncFilter, setSyncFilter ] = useState( 'all' );\n\tconst [ currentPage, setCurrentPage ] = useState( 1 );\n\n\tconst deferredSyncedFilter = useDeferredValue( syncFilter );\n\n\tconst isUncategorizedThemePatterns =\n\t\ttype === PATTERN_TYPES.theme && categoryId === 'uncategorized';\n\n\tconst { patterns, isResolving } = usePatterns(\n\t\ttype,\n\t\tisUncategorizedThemePatterns ? '' : categoryId,\n\t\t{\n\t\t\tsearch: deferredFilterValue,\n\t\t\tsyncStatus:\n\t\t\t\tdeferredSyncedFilter === 'all'\n\t\t\t\t\t? undefined\n\t\t\t\t\t: deferredSyncedFilter,\n\t\t}\n\t);\n\n\tconst updateSearchFilter = ( value ) => {\n\t\tsetCurrentPage( 1 );\n\t\tsetFilterValue( value );\n\t};\n\n\tconst updateSyncFilter = ( value ) => {\n\t\tsetCurrentPage( 1 );\n\t\tsetSyncFilter( value );\n\t};\n\n\tconst id = useId();\n\tconst titleId = `${ id }-title`;\n\tconst descriptionId = `${ id }-description`;\n\n\tconst hasPatterns = patterns.length;\n\tconst title = SYNC_FILTERS[ syncFilter ];\n\tconst description = SYNC_DESCRIPTIONS[ syncFilter ];\n\n\tconst totalItems = patterns.length;\n\tconst pageIndex = currentPage - 1;\n\tconst numPages = Math.ceil( patterns.length / PAGE_SIZE );\n\n\tconst list = useMemo( () => {\n\t\treturn patterns.slice(\n\t\t\tpageIndex * PAGE_SIZE,\n\t\t\tpageIndex * PAGE_SIZE + PAGE_SIZE\n\t\t);\n\t}, [ pageIndex, patterns ] );\n\n\tconst asyncList = useAsyncList( list, { step: 10 } );\n\n\tconst changePage = ( page ) => {\n\t\tconst scrollContainer = document.querySelector( '.edit-site-patterns' );\n\t\tscrollContainer?.scrollTo( 0, 0 );\n\n\t\tsetCurrentPage( page );\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t<VStack className=\"edit-site-patterns__header\" spacing={ 6 }>\n\t\t\t\t<PatternsHeader\n\t\t\t\t\tcategoryId={ categoryId }\n\t\t\t\t\ttype={ type }\n\t\t\t\t\ttitleId={ titleId }\n\t\t\t\t\tdescriptionId={ descriptionId }\n\t\t\t\t/>\n\t\t\t\t<Flex alignment=\"stretch\" wrap>\n\t\t\t\t\t{ isMobileViewport && (\n\t\t\t\t\t\t<SidebarButton\n\t\t\t\t\t\t\ticon={ isRTL() ? chevronRight : chevronLeft }\n\t\t\t\t\t\t\tlabel={ __( 'Back' ) }\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t// Go back in history if we came from the Patterns page.\n\t\t\t\t\t\t\t\t// Otherwise push a stack onto the history.\n\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\tlocation.state?.backPath === '/patterns'\n\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\thistory.back();\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\thistory.push( { path: '/patterns' } );\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t<FlexBlock className=\"edit-site-patterns__search-block\">\n\t\t\t\t\t\t<SearchControl\n\t\t\t\t\t\t\tclassName=\"edit-site-patterns__search\"\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tupdateSearchFilter( value )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tplaceholder={ __( 'Search patterns' ) }\n\t\t\t\t\t\t\tlabel={ __( 'Search patterns' ) }\n\t\t\t\t\t\t\tvalue={ filterValue }\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t/>\n\t\t\t\t\t</FlexBlock>\n\t\t\t\t\t{ type === PATTERN_TYPES.theme && (\n\t\t\t\t\t\t<ToggleGroupControl\n\t\t\t\t\t\t\tclassName=\"edit-site-patterns__sync-status-filter\"\n\t\t\t\t\t\t\thideLabelFromVision\n\t\t\t\t\t\t\tlabel={ __( 'Filter by sync status' ) }\n\t\t\t\t\t\t\tvalue={ syncFilter }\n\t\t\t\t\t\t\tisBlock\n\t\t\t\t\t\t\tonChange={ ( value ) => updateSyncFilter( value ) }\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ Object.entries( SYNC_FILTERS ).map(\n\t\t\t\t\t\t\t\t( [ key, label ] ) => (\n\t\t\t\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\t\t\t\tclassName=\"edit-site-patterns__sync-status-filter-option\"\n\t\t\t\t\t\t\t\t\t\tkey={ key }\n\t\t\t\t\t\t\t\t\t\tvalue={ key }\n\t\t\t\t\t\t\t\t\t\tlabel={ label }\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\t) }\n\t\t\t\t\t\t</ToggleGroupControl>\n\t\t\t\t\t) }\n\t\t\t\t</Flex>\n\t\t\t</VStack>\n\t\t\t<VStack\n\t\t\t\tclassName=\"edit-site-patterns__section\"\n\t\t\t\tjustify=\"flex-start\"\n\t\t\t\tspacing={ 6 }\n\t\t\t>\n\t\t\t\t{ syncFilter !== 'all' && (\n\t\t\t\t\t<VStack className=\"edit-site-patterns__section-header\">\n\t\t\t\t\t\t<Heading as=\"h3\" level={ 5 } id={ titleId }>\n\t\t\t\t\t\t\t{ title }\n\t\t\t\t\t\t</Heading>\n\t\t\t\t\t\t{ description ? (\n\t\t\t\t\t\t\t<Text variant=\"muted\" as=\"p\" id={ descriptionId }>\n\t\t\t\t\t\t\t\t{ description }\n\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t) : null }\n\t\t\t\t\t</VStack>\n\t\t\t\t) }\n\t\t\t\t{ hasPatterns && (\n\t\t\t\t\t<Grid\n\t\t\t\t\t\tcategoryId={ categoryId }\n\t\t\t\t\t\titems={ asyncList }\n\t\t\t\t\t\taria-labelledby={ titleId }\n\t\t\t\t\t\taria-describedby={ descriptionId }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ ! isResolving && ! hasPatterns && <NoPatterns /> }\n\t\t\t</VStack>\n\t\t\t{ numPages > 1 && (\n\t\t\t\t<Pagination\n\t\t\t\t\tcurrentPage={ currentPage }\n\t\t\t\t\tnumPages={ numPages }\n\t\t\t\t\tchangePage={ changePage }\n\t\t\t\t\ttotalItems={ totalItems }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"],"mappings":"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"}
|
|
@@ -114,7 +114,11 @@ const selectPatterns = (0, _rememo.default)((select, categoryId, syncStatus, sea
|
|
|
114
114
|
} = selectUserPatterns(select);
|
|
115
115
|
let patterns = [...(themePatterns || []), ...(userPatterns || [])];
|
|
116
116
|
if (syncStatus) {
|
|
117
|
-
|
|
117
|
+
// User patterns can have their sync statuses checked directly
|
|
118
|
+
// Non-user patterns are all unsynced for the time being.
|
|
119
|
+
patterns = patterns.filter(pattern => {
|
|
120
|
+
return pattern.id ? pattern.syncStatus === syncStatus : syncStatus === _constants.PATTERN_SYNC_TYPES.unsynced;
|
|
121
|
+
});
|
|
118
122
|
}
|
|
119
123
|
if (categoryId) {
|
|
120
124
|
patterns = (0, _searchItems.searchItems)(patterns, search, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_rememo","_interopRequireDefault","require","_blocks","_data","_coreData","_editor","_htmlEntities","_utils","_constants","_lockUnlock","_searchItems","_store","EMPTY_PATTERN_LIST","createTemplatePartId","theme","slug","templatePartToPattern","templatePart","blocks","parse","content","raw","__unstableSkipMigrationLogs","categories","area","description","isCustom","source","TEMPLATE_ORIGINS","custom","keywords","id","name","title","decodeEntities","rendered","type","selectTemplatePartsAsPatterns","createSelector","select","categoryId","search","_getEntityRecords","getEntityRecords","getIsResolving","coreStore","__experimentalGetDefaultTemplatePartAreas","editorStore","query","per_page","rawTemplateParts","TEMPLATE_PART_POST_TYPE","templateParts","map","knownAreas","templatePartAreas","templatePartHasCategory","item","category","TEMPLATE_PART_AREA_DEFAULT_CATEGORY","includes","isResolving","patterns","searchItems","hasCategory","selectThemePatterns","_settings$__experimen","getSettings","unlock","editSiteStore","settings","blockPatterns","__experimentalAdditionalBlockPatterns","__experimentalBlockPatterns","restBlockPatterns","getBlockPatterns","filter","pattern","PATTERN_CORE_SOURCES","filterOutDuplicatesByName","inserter","PATTERN_TYPES","selectPatterns","syncStatus","themePatterns","userPatterns","selectUserPatterns","currentCategory","hasOwnProperty","patternBlockToPattern","patternBlock","wp_pattern_category","length","patternCategoryId","get","wp_pattern_sync_status","PATTERN_SYNC_TYPES","full","user","getUserPatternCategories","records","userPatternCategories","Map","forEach","userCategory","set","record","usePatterns","categoryType","useSelect","exports","_default","default"],"sources":["@wordpress/edit-site/src/components/page-patterns/use-patterns.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport createSelector from 'rememo';\n\n/**\n * WordPress dependencies\n */\nimport { parse } from '@wordpress/blocks';\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { store as editorStore } from '@wordpress/editor';\nimport { decodeEntities } from '@wordpress/html-entities';\n\n/**\n * Internal dependencies\n */\nimport { filterOutDuplicatesByName } from './utils';\nimport {\n\tPATTERN_CORE_SOURCES,\n\tPATTERN_TYPES,\n\tPATTERN_SYNC_TYPES,\n\tTEMPLATE_PART_POST_TYPE,\n\tTEMPLATE_ORIGINS,\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 createTemplatePartId = ( theme, slug ) =>\n\ttheme && slug ? theme + '//' + slug : null;\n\nconst templatePartToPattern = ( templatePart ) => ( {\n\tblocks: parse( templatePart.content.raw, {\n\t\t__unstableSkipMigrationLogs: true,\n\t} ),\n\tcategories: [ templatePart.area ],\n\tdescription: templatePart.description || '',\n\tisCustom: templatePart.source === TEMPLATE_ORIGINS.custom,\n\tkeywords: templatePart.keywords || [],\n\tid: createTemplatePartId( templatePart.theme, templatePart.slug ),\n\tname: createTemplatePartId( templatePart.theme, templatePart.slug ),\n\ttitle: decodeEntities( templatePart.title.rendered ),\n\ttype: templatePart.type,\n\ttemplatePart,\n} );\n\nconst selectTemplatePartsAsPatterns = createSelector(\n\t( select, categoryId, search = '' ) => {\n\t\tconst { getEntityRecords, getIsResolving } = select( coreStore );\n\t\tconst { __experimentalGetDefaultTemplatePartAreas } =\n\t\t\tselect( editorStore );\n\t\tconst query = { per_page: -1 };\n\t\tconst rawTemplateParts =\n\t\t\tgetEntityRecords( 'postType', TEMPLATE_PART_POST_TYPE, query ) ??\n\t\t\tEMPTY_PATTERN_LIST;\n\t\tconst templateParts = rawTemplateParts.map( ( templatePart ) =>\n\t\t\ttemplatePartToPattern( templatePart )\n\t\t);\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 = __experimentalGetDefaultTemplatePartAreas() || [];\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.templatePart.area === category;\n\t\t\t}\n\n\t\t\treturn (\n\t\t\t\titem.templatePart.area === category ||\n\t\t\t\t! templatePartAreas.includes( item.templatePart.area )\n\t\t\t);\n\t\t};\n\n\t\tconst isResolving = getIsResolving( '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 ).getIsResolving( '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( editorStore ).__experimentalGetDefaultTemplatePartAreas(),\n\t]\n);\n\nconst selectThemePatterns = createSelector(\n\t( select ) => {\n\t\tconst { getSettings } = unlock( select( editSiteStore ) );\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 ) => ! PATTERN_CORE_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\n\t\treturn { patterns, isResolving: false };\n\t},\n\t( select ) => [\n\t\tselect( coreStore ).getBlockPatterns(),\n\t\tunlock( select( editSiteStore ) ).getSettings(),\n\t]\n);\n\nconst selectPatterns = createSelector(\n\t( select, categoryId, syncStatus, search = '' ) => {\n\t\tconst { patterns: themePatterns } = selectThemePatterns( select );\n\t\tconst { patterns: userPatterns } = 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\tpatterns = patterns.filter(\n\t\t\t\t( pattern ) => pattern.syncStatus === syncStatus\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\titem.categories?.includes( currentCategory ),\n\t\t\t} );\n\t\t} else {\n\t\t\tpatterns = searchItems( patterns, search, {\n\t\t\t\thasCategory: ( item ) => ! item.hasOwnProperty( 'categories' ),\n\t\t\t} );\n\t\t}\n\t\treturn { patterns, isResolving: false };\n\t},\n\t( select ) => [\n\t\tselectThemePatterns( select ),\n\t\tselectUserPatterns( select ),\n\t]\n);\n\nconst patternBlockToPattern = ( patternBlock, categories ) => ( {\n\tblocks: parse( patternBlock.content.raw, {\n\t\t__unstableSkipMigrationLogs: true,\n\t} ),\n\t...( patternBlock.wp_pattern_category.length > 0 && {\n\t\tcategories: patternBlock.wp_pattern_category.map(\n\t\t\t( patternCategoryId ) =>\n\t\t\t\tcategories && categories.get( patternCategoryId )\n\t\t\t\t\t? categories.get( patternCategoryId ).slug\n\t\t\t\t\t: patternCategoryId\n\t\t),\n\t} ),\n\tid: patternBlock.id,\n\tname: patternBlock.slug,\n\tsyncStatus: patternBlock.wp_pattern_sync_status || PATTERN_SYNC_TYPES.full,\n\ttitle: patternBlock.title.raw,\n\ttype: PATTERN_TYPES.user,\n\tpatternBlock,\n} );\n\nconst selectUserPatterns = createSelector(\n\t( select, syncStatus, search = '' ) => {\n\t\tconst { getEntityRecords, getIsResolving, getUserPatternCategories } =\n\t\t\tselect( coreStore );\n\n\t\tconst query = { per_page: -1 };\n\t\tconst records = 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 = records\n\t\t\t? records.map( ( record ) =>\n\t\t\t\t\tpatternBlockToPattern( record, categories )\n\t\t\t )\n\t\t\t: EMPTY_PATTERN_LIST;\n\n\t\tconst isResolving = getIsResolving( '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 ) => pattern.syncStatus === 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 ).getIsResolving( '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 const usePatterns = (\n\tcategoryType,\n\tcategoryId,\n\t{ search = '', syncStatus } = {}\n) => {\n\treturn useSelect(\n\t\t( select ) => {\n\t\t\tif ( categoryType === TEMPLATE_PART_POST_TYPE ) {\n\t\t\t\treturn selectTemplatePartsAsPatterns(\n\t\t\t\t\tselect,\n\t\t\t\t\tcategoryId,\n\t\t\t\t\tsearch\n\t\t\t\t);\n\t\t\t} else if ( categoryType === PATTERN_TYPES.theme ) {\n\t\t\t\treturn selectPatterns( select, categoryId, syncStatus, search );\n\t\t\t} else if ( categoryType === 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, categoryType, search, syncStatus ]\n\t);\n};\n\nexport default usePatterns;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_rememo","_interopRequireDefault","require","_blocks","_data","_coreData","_editor","_htmlEntities","_utils","_constants","_lockUnlock","_searchItems","_store","EMPTY_PATTERN_LIST","createTemplatePartId","theme","slug","templatePartToPattern","templatePart","blocks","parse","content","raw","__unstableSkipMigrationLogs","categories","area","description","isCustom","source","TEMPLATE_ORIGINS","custom","keywords","id","name","title","decodeEntities","rendered","type","selectTemplatePartsAsPatterns","createSelector","select","categoryId","search","_getEntityRecords","getEntityRecords","getIsResolving","coreStore","__experimentalGetDefaultTemplatePartAreas","editorStore","query","per_page","rawTemplateParts","TEMPLATE_PART_POST_TYPE","templateParts","map","knownAreas","templatePartAreas","templatePartHasCategory","item","category","TEMPLATE_PART_AREA_DEFAULT_CATEGORY","includes","isResolving","patterns","searchItems","hasCategory","selectThemePatterns","_settings$__experimen","getSettings","unlock","editSiteStore","settings","blockPatterns","__experimentalAdditionalBlockPatterns","__experimentalBlockPatterns","restBlockPatterns","getBlockPatterns","filter","pattern","PATTERN_CORE_SOURCES","filterOutDuplicatesByName","inserter","PATTERN_TYPES","selectPatterns","syncStatus","themePatterns","userPatterns","selectUserPatterns","PATTERN_SYNC_TYPES","unsynced","currentCategory","hasOwnProperty","patternBlockToPattern","patternBlock","wp_pattern_category","length","patternCategoryId","get","wp_pattern_sync_status","full","user","getUserPatternCategories","records","userPatternCategories","Map","forEach","userCategory","set","record","usePatterns","categoryType","useSelect","exports","_default","default"],"sources":["@wordpress/edit-site/src/components/page-patterns/use-patterns.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport createSelector from 'rememo';\n\n/**\n * WordPress dependencies\n */\nimport { parse } from '@wordpress/blocks';\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { store as editorStore } from '@wordpress/editor';\nimport { decodeEntities } from '@wordpress/html-entities';\n\n/**\n * Internal dependencies\n */\nimport { filterOutDuplicatesByName } from './utils';\nimport {\n\tPATTERN_CORE_SOURCES,\n\tPATTERN_TYPES,\n\tPATTERN_SYNC_TYPES,\n\tTEMPLATE_PART_POST_TYPE,\n\tTEMPLATE_ORIGINS,\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 createTemplatePartId = ( theme, slug ) =>\n\ttheme && slug ? theme + '//' + slug : null;\n\nconst templatePartToPattern = ( templatePart ) => ( {\n\tblocks: parse( templatePart.content.raw, {\n\t\t__unstableSkipMigrationLogs: true,\n\t} ),\n\tcategories: [ templatePart.area ],\n\tdescription: templatePart.description || '',\n\tisCustom: templatePart.source === TEMPLATE_ORIGINS.custom,\n\tkeywords: templatePart.keywords || [],\n\tid: createTemplatePartId( templatePart.theme, templatePart.slug ),\n\tname: createTemplatePartId( templatePart.theme, templatePart.slug ),\n\ttitle: decodeEntities( templatePart.title.rendered ),\n\ttype: templatePart.type,\n\ttemplatePart,\n} );\n\nconst selectTemplatePartsAsPatterns = createSelector(\n\t( select, categoryId, search = '' ) => {\n\t\tconst { getEntityRecords, getIsResolving } = select( coreStore );\n\t\tconst { __experimentalGetDefaultTemplatePartAreas } =\n\t\t\tselect( editorStore );\n\t\tconst query = { per_page: -1 };\n\t\tconst rawTemplateParts =\n\t\t\tgetEntityRecords( 'postType', TEMPLATE_PART_POST_TYPE, query ) ??\n\t\t\tEMPTY_PATTERN_LIST;\n\t\tconst templateParts = rawTemplateParts.map( ( templatePart ) =>\n\t\t\ttemplatePartToPattern( templatePart )\n\t\t);\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 = __experimentalGetDefaultTemplatePartAreas() || [];\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.templatePart.area === category;\n\t\t\t}\n\n\t\t\treturn (\n\t\t\t\titem.templatePart.area === category ||\n\t\t\t\t! templatePartAreas.includes( item.templatePart.area )\n\t\t\t);\n\t\t};\n\n\t\tconst isResolving = getIsResolving( '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 ).getIsResolving( '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( editorStore ).__experimentalGetDefaultTemplatePartAreas(),\n\t]\n);\n\nconst selectThemePatterns = createSelector(\n\t( select ) => {\n\t\tconst { getSettings } = unlock( select( editSiteStore ) );\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 ) => ! PATTERN_CORE_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\n\t\treturn { patterns, isResolving: false };\n\t},\n\t( select ) => [\n\t\tselect( coreStore ).getBlockPatterns(),\n\t\tunlock( select( editSiteStore ) ).getSettings(),\n\t]\n);\n\nconst selectPatterns = createSelector(\n\t( select, categoryId, syncStatus, search = '' ) => {\n\t\tconst { patterns: themePatterns } = selectThemePatterns( select );\n\t\tconst { patterns: userPatterns } = 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.id\n\t\t\t\t\t? pattern.syncStatus === 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\titem.categories?.includes( currentCategory ),\n\t\t\t} );\n\t\t} else {\n\t\t\tpatterns = searchItems( patterns, search, {\n\t\t\t\thasCategory: ( item ) => ! item.hasOwnProperty( 'categories' ),\n\t\t\t} );\n\t\t}\n\t\treturn { patterns, isResolving: false };\n\t},\n\t( select ) => [\n\t\tselectThemePatterns( select ),\n\t\tselectUserPatterns( select ),\n\t]\n);\n\nconst patternBlockToPattern = ( patternBlock, categories ) => ( {\n\tblocks: parse( patternBlock.content.raw, {\n\t\t__unstableSkipMigrationLogs: true,\n\t} ),\n\t...( patternBlock.wp_pattern_category.length > 0 && {\n\t\tcategories: patternBlock.wp_pattern_category.map(\n\t\t\t( patternCategoryId ) =>\n\t\t\t\tcategories && categories.get( patternCategoryId )\n\t\t\t\t\t? categories.get( patternCategoryId ).slug\n\t\t\t\t\t: patternCategoryId\n\t\t),\n\t} ),\n\tid: patternBlock.id,\n\tname: patternBlock.slug,\n\tsyncStatus: patternBlock.wp_pattern_sync_status || PATTERN_SYNC_TYPES.full,\n\ttitle: patternBlock.title.raw,\n\ttype: PATTERN_TYPES.user,\n\tpatternBlock,\n} );\n\nconst selectUserPatterns = createSelector(\n\t( select, syncStatus, search = '' ) => {\n\t\tconst { getEntityRecords, getIsResolving, getUserPatternCategories } =\n\t\t\tselect( coreStore );\n\n\t\tconst query = { per_page: -1 };\n\t\tconst records = 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 = records\n\t\t\t? records.map( ( record ) =>\n\t\t\t\t\tpatternBlockToPattern( record, categories )\n\t\t\t )\n\t\t\t: EMPTY_PATTERN_LIST;\n\n\t\tconst isResolving = getIsResolving( '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 ) => pattern.syncStatus === 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 ).getIsResolving( '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 const usePatterns = (\n\tcategoryType,\n\tcategoryId,\n\t{ search = '', syncStatus } = {}\n) => {\n\treturn useSelect(\n\t\t( select ) => {\n\t\t\tif ( categoryType === TEMPLATE_PART_POST_TYPE ) {\n\t\t\t\treturn selectTemplatePartsAsPatterns(\n\t\t\t\t\tselect,\n\t\t\t\t\tcategoryId,\n\t\t\t\t\tsearch\n\t\t\t\t);\n\t\t\t} else if ( categoryType === PATTERN_TYPES.theme ) {\n\t\t\t\treturn selectPatterns( select, categoryId, syncStatus, search );\n\t\t\t} else if ( categoryType === 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, categoryType, search, syncStatus ]\n\t);\n};\n\nexport default usePatterns;\n"],"mappings":"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"}
|
|
@@ -10,6 +10,7 @@ var _components = require("@wordpress/components");
|
|
|
10
10
|
var _i18n = require("@wordpress/i18n");
|
|
11
11
|
var _coreData = require("@wordpress/core-data");
|
|
12
12
|
var _htmlEntities = require("@wordpress/html-entities");
|
|
13
|
+
var _router = require("@wordpress/router");
|
|
13
14
|
var _page = _interopRequireDefault(require("../page"));
|
|
14
15
|
var _table = _interopRequireDefault(require("../table"));
|
|
15
16
|
var _link = _interopRequireDefault(require("../routes/link"));
|
|
@@ -17,6 +18,7 @@ var _addedBy = _interopRequireDefault(require("../list/added-by"));
|
|
|
17
18
|
var _templateActions = _interopRequireDefault(require("../template-actions"));
|
|
18
19
|
var _addNewTemplatePart = _interopRequireDefault(require("./add-new-template-part"));
|
|
19
20
|
var _constants = require("../../utils/constants");
|
|
21
|
+
var _lockUnlock = require("../../lock-unlock");
|
|
20
22
|
/**
|
|
21
23
|
* WordPress dependencies
|
|
22
24
|
*/
|
|
@@ -25,7 +27,15 @@ var _constants = require("../../utils/constants");
|
|
|
25
27
|
* Internal dependencies
|
|
26
28
|
*/
|
|
27
29
|
|
|
30
|
+
const {
|
|
31
|
+
useLocation
|
|
32
|
+
} = (0, _lockUnlock.unlock)(_router.privateApis);
|
|
28
33
|
function PageTemplateParts() {
|
|
34
|
+
const {
|
|
35
|
+
params: {
|
|
36
|
+
didAccessPatternsPage
|
|
37
|
+
}
|
|
38
|
+
} = useLocation();
|
|
29
39
|
const {
|
|
30
40
|
records: templateParts
|
|
31
41
|
} = (0, _coreData.useEntityRecords)('postType', _constants.TEMPLATE_PART_POST_TYPE, {
|
|
@@ -39,7 +49,8 @@ function PageTemplateParts() {
|
|
|
39
49
|
}, (0, _element.createElement)(_link.default, {
|
|
40
50
|
params: {
|
|
41
51
|
postId: templatePart.id,
|
|
42
|
-
postType: templatePart.type
|
|
52
|
+
postType: templatePart.type,
|
|
53
|
+
didAccessPatternsPage: !!didAccessPatternsPage ? 1 : undefined
|
|
43
54
|
},
|
|
44
55
|
state: {
|
|
45
56
|
backPath: '/wp_template_part/all'
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_components","require","_i18n","_coreData","_htmlEntities","_page","_interopRequireDefault","_table","_link","_addedBy","_templateActions","_addNewTemplatePart","_constants","PageTemplateParts","records","templateParts","useEntityRecords","TEMPLATE_PART_POST_TYPE","per_page","columns","header","__","cell","templatePart","_element","createElement","__experimentalVStack","__experimentalHeading","as","level","default","
|
|
1
|
+
{"version":3,"names":["_components","require","_i18n","_coreData","_htmlEntities","_router","_page","_interopRequireDefault","_table","_link","_addedBy","_templateActions","_addNewTemplatePart","_constants","_lockUnlock","useLocation","unlock","routerPrivateApis","PageTemplateParts","params","didAccessPatternsPage","records","templateParts","useEntityRecords","TEMPLATE_PART_POST_TYPE","per_page","columns","header","__","cell","templatePart","_element","createElement","__experimentalVStack","__experimentalHeading","as","level","default","postId","id","postType","type","undefined","state","backPath","decodeEntities","title","rendered","slug","maxWidth","VisuallyHidden","actions","data"],"sources":["@wordpress/edit-site/src/components/page-template-parts/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tVisuallyHidden,\n\t__experimentalHeading as Heading,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useEntityRecords } from '@wordpress/core-data';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\n\n/**\n * Internal dependencies\n */\nimport Page from '../page';\nimport Table from '../table';\nimport Link from '../routes/link';\nimport AddedBy from '../list/added-by';\nimport TemplateActions from '../template-actions';\nimport AddNewTemplatePart from './add-new-template-part';\nimport { TEMPLATE_PART_POST_TYPE } from '../../utils/constants';\nimport { unlock } from '../../lock-unlock';\n\nconst { useLocation } = unlock( routerPrivateApis );\n\nexport default function PageTemplateParts() {\n\tconst {\n\t\tparams: { didAccessPatternsPage },\n\t} = useLocation();\n\n\tconst { records: templateParts } = useEntityRecords(\n\t\t'postType',\n\t\tTEMPLATE_PART_POST_TYPE,\n\t\t{\n\t\t\tper_page: -1,\n\t\t}\n\t);\n\n\tconst columns = [\n\t\t{\n\t\t\theader: __( 'Template Part' ),\n\t\t\tcell: ( templatePart ) => (\n\t\t\t\t<VStack>\n\t\t\t\t\t<Heading as=\"h3\" level={ 5 }>\n\t\t\t\t\t\t<Link\n\t\t\t\t\t\t\tparams={ {\n\t\t\t\t\t\t\t\tpostId: templatePart.id,\n\t\t\t\t\t\t\t\tpostType: templatePart.type,\n\t\t\t\t\t\t\t\tdidAccessPatternsPage: !! didAccessPatternsPage\n\t\t\t\t\t\t\t\t\t? 1\n\t\t\t\t\t\t\t\t\t: undefined,\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tstate={ {\n\t\t\t\t\t\t\t\tbackPath: '/wp_template_part/all',\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ decodeEntities(\n\t\t\t\t\t\t\t\ttemplatePart.title?.rendered ||\n\t\t\t\t\t\t\t\t\ttemplatePart.slug\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</Link>\n\t\t\t\t\t</Heading>\n\t\t\t\t</VStack>\n\t\t\t),\n\t\t\tmaxWidth: 400,\n\t\t},\n\t\t{\n\t\t\theader: __( 'Added by' ),\n\t\t\tcell: ( templatePart ) => (\n\t\t\t\t<AddedBy\n\t\t\t\t\tpostType={ templatePart.type }\n\t\t\t\t\tpostId={ templatePart.id }\n\t\t\t\t/>\n\t\t\t),\n\t\t},\n\t\t{\n\t\t\theader: <VisuallyHidden>{ __( 'Actions' ) }</VisuallyHidden>,\n\t\t\tcell: ( templatePart ) => (\n\t\t\t\t<TemplateActions\n\t\t\t\t\tpostType={ templatePart.type }\n\t\t\t\t\tpostId={ templatePart.id }\n\t\t\t\t/>\n\t\t\t),\n\t\t},\n\t];\n\n\treturn (\n\t\t<Page\n\t\t\ttitle={ __( 'Template Parts' ) }\n\t\t\tactions={ <AddNewTemplatePart /> }\n\t\t>\n\t\t\t{ templateParts && (\n\t\t\t\t<Table data={ templateParts } columns={ columns } />\n\t\t\t) }\n\t\t</Page>\n\t);\n}\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_data","require","_components","_i18n","_coreData","_hooks","_store","ResetDefaultTemplate","onClick","currentTemplateSlug","useCurrentTemplateSlug","isPostsPage","useIsPostsPage","postType","postId","useEditedPostContext","entity","useEntityRecord","setPage","useDispatch","editSiteStore","_element","createElement","MenuGroup","MenuItem","edit","template","undoIgnore","context","__"],"sources":["@wordpress/edit-site/src/components/sidebar-edit-mode/page-panels/reset-default-template.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useDispatch } from '@wordpress/data';\nimport { MenuGroup, MenuItem } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useEntityRecord } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport {\n\tuseCurrentTemplateSlug,\n\tuseEditedPostContext,\n\tuseIsPostsPage,\n} from './hooks';\nimport { store as editSiteStore } from '../../../store';\n\nexport default function ResetDefaultTemplate( { onClick } ) {\n\tconst currentTemplateSlug = useCurrentTemplateSlug();\n\tconst isPostsPage = useIsPostsPage();\n\tconst { postType, postId } = useEditedPostContext();\n\tconst entity = useEntityRecord( 'postType', postType, postId );\n\tconst { setPage } = useDispatch( editSiteStore );\n\t// The default template in a post is indicated by an empty string.\n\tif ( ! currentTemplateSlug || isPostsPage ) {\n\t\treturn null;\n\t}\n\treturn (\n\t\t<MenuGroup>\n\t\t\t<MenuItem\n\t\t\t\tonClick={ async () => {\n\t\t\t\t\tentity.edit( { template: '' }, { undoIgnore: true } );\n\t\t\t\t\tonClick();\n\t\t\t\t\tawait setPage( {\n\t\t\t\t\t\tcontext: { postType, postId },\n\t\t\t\t\t} );\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t{ __( '
|
|
1
|
+
{"version":3,"names":["_data","require","_components","_i18n","_coreData","_hooks","_store","ResetDefaultTemplate","onClick","currentTemplateSlug","useCurrentTemplateSlug","isPostsPage","useIsPostsPage","postType","postId","useEditedPostContext","entity","useEntityRecord","setPage","useDispatch","editSiteStore","_element","createElement","MenuGroup","MenuItem","edit","template","undoIgnore","context","__"],"sources":["@wordpress/edit-site/src/components/sidebar-edit-mode/page-panels/reset-default-template.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useDispatch } from '@wordpress/data';\nimport { MenuGroup, MenuItem } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useEntityRecord } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport {\n\tuseCurrentTemplateSlug,\n\tuseEditedPostContext,\n\tuseIsPostsPage,\n} from './hooks';\nimport { store as editSiteStore } from '../../../store';\n\nexport default function ResetDefaultTemplate( { onClick } ) {\n\tconst currentTemplateSlug = useCurrentTemplateSlug();\n\tconst isPostsPage = useIsPostsPage();\n\tconst { postType, postId } = useEditedPostContext();\n\tconst entity = useEntityRecord( 'postType', postType, postId );\n\tconst { setPage } = useDispatch( editSiteStore );\n\t// The default template in a post is indicated by an empty string.\n\tif ( ! currentTemplateSlug || isPostsPage ) {\n\t\treturn null;\n\t}\n\treturn (\n\t\t<MenuGroup>\n\t\t\t<MenuItem\n\t\t\t\tonClick={ async () => {\n\t\t\t\t\tentity.edit( { template: '' }, { undoIgnore: true } );\n\t\t\t\t\tonClick();\n\t\t\t\t\tawait setPage( {\n\t\t\t\t\t\tcontext: { postType, postId },\n\t\t\t\t\t} );\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t{ __( 'Use default template' ) }\n\t\t\t</MenuItem>\n\t\t</MenuGroup>\n\t);\n}\n"],"mappings":";;;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AACA,IAAAE,KAAA,GAAAF,OAAA;AACA,IAAAG,SAAA,GAAAH,OAAA;AAKA,IAAAI,MAAA,GAAAJ,OAAA;AAKA,IAAAK,MAAA,GAAAL,OAAA;AAhBA;AACA;AACA;;AAMA;AACA;AACA;;AAQe,SAASM,oBAAoBA,CAAE;EAAEC;AAAQ,CAAC,EAAG;EAC3D,MAAMC,mBAAmB,GAAG,IAAAC,6BAAsB,EAAC,CAAC;EACpD,MAAMC,WAAW,GAAG,IAAAC,qBAAc,EAAC,CAAC;EACpC,MAAM;IAAEC,QAAQ;IAAEC;EAAO,CAAC,GAAG,IAAAC,2BAAoB,EAAC,CAAC;EACnD,MAAMC,MAAM,GAAG,IAAAC,yBAAe,EAAE,UAAU,EAAEJ,QAAQ,EAAEC,MAAO,CAAC;EAC9D,MAAM;IAAEI;EAAQ,CAAC,GAAG,IAAAC,iBAAW,EAAEC,YAAc,CAAC;EAChD;EACA,IAAK,CAAEX,mBAAmB,IAAIE,WAAW,EAAG;IAC3C,OAAO,IAAI;EACZ;EACA,OACC,IAAAU,QAAA,CAAAC,aAAA,EAACpB,WAAA,CAAAqB,SAAS,QACT,IAAAF,QAAA,CAAAC,aAAA,EAACpB,WAAA,CAAAsB,QAAQ;IACRhB,OAAO,EAAG,MAAAA,CAAA,KAAY;MACrBQ,MAAM,CAACS,IAAI,CAAE;QAAEC,QAAQ,EAAE;MAAG,CAAC,EAAE;QAAEC,UAAU,EAAE;MAAK,CAAE,CAAC;MACrDnB,OAAO,CAAC,CAAC;MACT,MAAMU,OAAO,CAAE;QACdU,OAAO,EAAE;UAAEf,QAAQ;UAAEC;QAAO;MAC7B,CAAE,CAAC;IACJ;EAAG,GAED,IAAAe,QAAE,EAAE,sBAAuB,CACpB,CACA,CAAC;AAEd"}
|
|
@@ -199,7 +199,7 @@ function PatternCategories({
|
|
|
199
199
|
return (0, _element.createElement)(_components.PanelRow, {
|
|
200
200
|
initialOpen: true,
|
|
201
201
|
title: (0, _i18n.__)('Categories')
|
|
202
|
-
}, (0, _element.createElement)(_components.FormTokenField, {
|
|
202
|
+
}, (0, _element.createElement)(_components.FlexBlock, null, (0, _element.createElement)(_components.FormTokenField, {
|
|
203
203
|
__next40pxDefaultSize: true,
|
|
204
204
|
value: values,
|
|
205
205
|
suggestions: suggestions,
|
|
@@ -213,6 +213,6 @@ function PatternCategories({
|
|
|
213
213
|
remove: removeTermLabel
|
|
214
214
|
},
|
|
215
215
|
tokenizeOnBlur: true
|
|
216
|
-
}));
|
|
216
|
+
})));
|
|
217
217
|
}
|
|
218
218
|
//# sourceMappingURL=pattern-categories.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_element","require","_i18n","_components","_data","_coreData","_compose","_notices","_htmlEntities","_constants","unescapeString","arg","decodeEntities","exports","unescapeTerm","term","name","EMPTY_ARRAY","MAX_TERMS_SUGGESTIONS","DEFAULT_QUERY","per_page","_fields","context","isSameTermName","termA","termB","toLowerCase","termNamesToIds","names","terms","map","termName","find","id","PatternCategories","post","_taxonomy$labels$sing","slug","values","setValues","useState","search","setSearch","debouncedSearch","useDebounce","taxonomy","hasAssignAction","hasCreateAction","hasResolvedTerms","useSelect","select","_post$_links","_post$_links2","getEntityRecords","getTaxonomy","hasFinishedResolution","coreStore","_taxonomy","_termIds","wp_pattern_category","length","query","include","join","_links","rest_base","termIds","searchResults","useEffect","newValues","suggestions","useMemo","saveEntityRecord","editEntityRecord","invalidateResolution","useDispatch","createErrorNotice","noticesStore","findOrCreateTerm","newTerm","throwOnError","error","code","data","term_id","onUpdateTerms","newTermIds","PATTERN_TYPES","user","onChange","termNames","availableTerms","uniqueTerms","reduce","acc","some","n","push","newTermNames","filter","Promise","all","then","newTerms","newAvailableTerms","concat","catch","message","type","singularName","labels","singular_name","__","termAddedLabel","sprintf","_x","termRemovedLabel","removeTermLabel","createElement","PanelRow","initialOpen","title","FormTokenField","__next40pxDefaultSize","value","onInputChange","maxSuggestions","label","messages","added","removed","remove","tokenizeOnBlur"],"sources":["@wordpress/edit-site/src/components/sidebar-edit-mode/template-panel/pattern-categories.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, _x, sprintf } from '@wordpress/i18n';\nimport { useEffect, useMemo, useState } from '@wordpress/element';\nimport { FormTokenField, PanelRow } from '@wordpress/components';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useDebounce } from '@wordpress/compose';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { decodeEntities } from '@wordpress/html-entities';\n\n/**\n * Internal dependencies\n */\nimport { PATTERN_TYPES } from '../../../utils/constants';\n\nexport const unescapeString = ( arg ) => {\n\treturn decodeEntities( arg );\n};\n\n/**\n * Returns a term object with name unescaped.\n *\n * @param {Object} term The term object to unescape.\n *\n * @return {Object} Term object with name property unescaped.\n */\nexport const unescapeTerm = ( term ) => {\n\treturn {\n\t\t...term,\n\t\tname: unescapeString( term.name ),\n\t};\n};\n\n/**\n * Shared reference to an empty array for cases where it is important to avoid\n * returning a new array reference on every invocation.\n *\n * @type {Array<any>}\n */\nconst EMPTY_ARRAY = [];\n\n/**\n * Module constants\n */\nconst MAX_TERMS_SUGGESTIONS = 20;\nconst DEFAULT_QUERY = {\n\tper_page: MAX_TERMS_SUGGESTIONS,\n\t_fields: 'id,name',\n\tcontext: 'view',\n};\n\nconst isSameTermName = ( termA, termB ) =>\n\tunescapeString( termA ).toLowerCase() ===\n\tunescapeString( termB ).toLowerCase();\n\nconst termNamesToIds = ( names, terms ) => {\n\treturn names.map(\n\t\t( termName ) =>\n\t\t\tterms.find( ( term ) => isSameTermName( term.name, termName ) ).id\n\t);\n};\n\nexport default function PatternCategories( { post } ) {\n\tconst slug = 'wp_pattern_category';\n\tconst [ values, setValues ] = useState( [] );\n\tconst [ search, setSearch ] = useState( '' );\n\tconst debouncedSearch = useDebounce( setSearch, 500 );\n\n\tconst {\n\t\tterms,\n\t\ttaxonomy,\n\t\thasAssignAction,\n\t\thasCreateAction,\n\t\thasResolvedTerms,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEntityRecords, getTaxonomy, hasFinishedResolution } =\n\t\t\t\tselect( coreStore );\n\t\t\tconst _taxonomy = getTaxonomy( slug );\n\t\t\tconst _termIds =\n\t\t\t\tpost?.wp_pattern_category?.length > 0\n\t\t\t\t\t? post?.wp_pattern_category\n\t\t\t\t\t: EMPTY_ARRAY;\n\t\t\tconst query = {\n\t\t\t\t...DEFAULT_QUERY,\n\t\t\t\tinclude: _termIds?.join( ',' ),\n\t\t\t\tper_page: -1,\n\t\t\t};\n\n\t\t\treturn {\n\t\t\t\thasCreateAction: _taxonomy\n\t\t\t\t\t? post._links?.[\n\t\t\t\t\t\t\t'wp:action-create-' + _taxonomy.rest_base\n\t\t\t\t\t ] ?? false\n\t\t\t\t\t: false,\n\t\t\t\thasAssignAction: _taxonomy\n\t\t\t\t\t? post._links?.[\n\t\t\t\t\t\t\t'wp:action-assign-' + _taxonomy.rest_base\n\t\t\t\t\t ] ?? false\n\t\t\t\t\t: false,\n\t\t\t\ttaxonomy: _taxonomy,\n\t\t\t\ttermIds: _termIds,\n\t\t\t\tterms: _termIds?.length\n\t\t\t\t\t? getEntityRecords( 'taxonomy', slug, query )\n\t\t\t\t\t: EMPTY_ARRAY,\n\t\t\t\thasResolvedTerms: hasFinishedResolution( 'getEntityRecords', [\n\t\t\t\t\t'taxonomy',\n\t\t\t\t\tslug,\n\t\t\t\t\tquery,\n\t\t\t\t] ),\n\t\t\t};\n\t\t},\n\t\t[ slug, post ]\n\t);\n\n\tconst { searchResults } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEntityRecords } = select( coreStore );\n\n\t\t\treturn {\n\t\t\t\tsearchResults: !! search\n\t\t\t\t\t? getEntityRecords( 'taxonomy', slug, {\n\t\t\t\t\t\t\t...DEFAULT_QUERY,\n\t\t\t\t\t\t\tsearch,\n\t\t\t\t\t } )\n\t\t\t\t\t: EMPTY_ARRAY,\n\t\t\t};\n\t\t},\n\t\t[ search, slug ]\n\t);\n\n\t// Update terms state only after the selectors are resolved.\n\t// We're using this to avoid terms temporarily disappearing on slow networks\n\t// while core data makes REST API requests.\n\tuseEffect( () => {\n\t\tif ( hasResolvedTerms ) {\n\t\t\tconst newValues = ( terms ?? [] ).map( ( term ) =>\n\t\t\t\tunescapeString( term.name )\n\t\t\t);\n\n\t\t\tsetValues( newValues );\n\t\t}\n\t}, [ terms, hasResolvedTerms ] );\n\n\tconst suggestions = useMemo( () => {\n\t\treturn ( searchResults ?? [] ).map( ( term ) =>\n\t\t\tunescapeString( term.name )\n\t\t);\n\t}, [ searchResults ] );\n\n\tconst { saveEntityRecord, editEntityRecord, invalidateResolution } =\n\t\tuseDispatch( coreStore );\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\n\tif ( ! hasAssignAction ) {\n\t\treturn null;\n\t}\n\n\tasync function findOrCreateTerm( term ) {\n\t\ttry {\n\t\t\tconst newTerm = await saveEntityRecord( 'taxonomy', slug, term, {\n\t\t\t\tthrowOnError: true,\n\t\t\t} );\n\t\t\tinvalidateResolution( 'getUserPatternCategories' );\n\t\t\treturn unescapeTerm( newTerm );\n\t\t} catch ( error ) {\n\t\t\tif ( error.code !== 'term_exists' ) {\n\t\t\t\tthrow error;\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\tid: error.data.term_id,\n\t\t\t\tname: term.name,\n\t\t\t};\n\t\t}\n\t}\n\n\tfunction onUpdateTerms( newTermIds ) {\n\t\teditEntityRecord( 'postType', PATTERN_TYPES.user, post.id, {\n\t\t\twp_pattern_category: newTermIds,\n\t\t} );\n\t}\n\n\tfunction onChange( termNames ) {\n\t\tconst availableTerms = [\n\t\t\t...( terms ?? [] ),\n\t\t\t...( searchResults ?? [] ),\n\t\t];\n\t\tconst uniqueTerms = termNames.reduce( ( acc, name ) => {\n\t\t\tif (\n\t\t\t\t! acc.some( ( n ) => n.toLowerCase() === name.toLowerCase() )\n\t\t\t) {\n\t\t\t\tacc.push( name );\n\t\t\t}\n\t\t\treturn acc;\n\t\t}, [] );\n\n\t\tconst newTermNames = uniqueTerms.filter(\n\t\t\t( termName ) =>\n\t\t\t\t! availableTerms.find( ( term ) =>\n\t\t\t\t\tisSameTermName( term.name, termName )\n\t\t\t\t)\n\t\t);\n\n\t\t// Optimistically update term values.\n\t\t// The selector will always re-fetch terms later.\n\t\tsetValues( uniqueTerms );\n\n\t\tif ( newTermNames.length === 0 ) {\n\t\t\treturn onUpdateTerms(\n\t\t\t\ttermNamesToIds( uniqueTerms, availableTerms )\n\t\t\t);\n\t\t}\n\n\t\tif ( ! hasCreateAction ) {\n\t\t\treturn;\n\t\t}\n\n\t\tPromise.all(\n\t\t\tnewTermNames.map( ( termName ) =>\n\t\t\t\tfindOrCreateTerm( { name: termName } )\n\t\t\t)\n\t\t)\n\t\t\t.then( ( newTerms ) => {\n\t\t\t\tconst newAvailableTerms = availableTerms.concat( newTerms );\n\t\t\t\treturn onUpdateTerms(\n\t\t\t\t\ttermNamesToIds( uniqueTerms, newAvailableTerms )\n\t\t\t\t);\n\t\t\t} )\n\t\t\t.catch( ( error ) => {\n\t\t\t\tcreateErrorNotice( error.message, {\n\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t} );\n\t\t\t} );\n\t}\n\n\tconst singularName =\n\t\ttaxonomy?.labels?.singular_name ??\n\t\t( slug === 'post_tag' ? __( 'Tag' ) : __( 'Term' ) );\n\tconst termAddedLabel = sprintf(\n\t\t/* translators: %s: term name. */\n\t\t_x( '%s added', 'term' ),\n\t\tsingularName\n\t);\n\tconst termRemovedLabel = sprintf(\n\t\t/* translators: %s: term name. */\n\t\t_x( '%s removed', 'term' ),\n\t\tsingularName\n\t);\n\tconst removeTermLabel = sprintf(\n\t\t/* translators: %s: term name. */\n\t\t_x( 'Remove %s', 'term' ),\n\t\tsingularName\n\t);\n\n\treturn (\n\t\t<PanelRow initialOpen={ true } title={ __( 'Categories' ) }>\n\t\t\t<FormTokenField\n\t\t\t\t__next40pxDefaultSize\n\t\t\t\tvalue={ values }\n\t\t\t\tsuggestions={ suggestions }\n\t\t\t\tonChange={ onChange }\n\t\t\t\tonInputChange={ debouncedSearch }\n\t\t\t\tmaxSuggestions={ MAX_TERMS_SUGGESTIONS }\n\t\t\t\tlabel={ __( 'Pattern categories' ) }\n\t\t\t\tmessages={ {\n\t\t\t\t\tadded: termAddedLabel,\n\t\t\t\t\tremoved: termRemovedLabel,\n\t\t\t\t\tremove: removeTermLabel,\n\t\t\t\t} }\n\t\t\t\ttokenizeOnBlur\n\t\t\t/>\n\t\t</PanelRow>\n\t);\n}\n"],"mappings":";;;;;;;AAIA,IAAAA,QAAA,GAAAC,OAAA;AADA,IAAAC,KAAA,GAAAD,OAAA;AAEA,IAAAE,WAAA,GAAAF,OAAA;AACA,IAAAG,KAAA,GAAAH,OAAA;AACA,IAAAI,SAAA,GAAAJ,OAAA;AACA,IAAAK,QAAA,GAAAL,OAAA;AACA,IAAAM,QAAA,GAAAN,OAAA;AACA,IAAAO,aAAA,GAAAP,OAAA;AAKA,IAAAQ,UAAA,GAAAR,OAAA;AAfA;AACA;AACA;;AAUA;AACA;AACA;;AAGO,MAAMS,cAAc,GAAKC,GAAG,IAAM;EACxC,OAAO,IAAAC,4BAAc,EAAED,GAAI,CAAC;AAC7B,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AANAE,OAAA,CAAAH,cAAA,GAAAA,cAAA;AAOO,MAAMI,YAAY,GAAKC,IAAI,IAAM;EACvC,OAAO;IACN,GAAGA,IAAI;IACPC,IAAI,EAAEN,cAAc,CAAEK,IAAI,CAACC,IAAK;EACjC,CAAC;AACF,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AALAH,OAAA,CAAAC,YAAA,GAAAA,YAAA;AAMA,MAAMG,WAAW,GAAG,EAAE;;AAEtB;AACA;AACA;AACA,MAAMC,qBAAqB,GAAG,EAAE;AAChC,MAAMC,aAAa,GAAG;EACrBC,QAAQ,EAAEF,qBAAqB;EAC/BG,OAAO,EAAE,SAAS;EAClBC,OAAO,EAAE;AACV,CAAC;AAED,MAAMC,cAAc,GAAGA,CAAEC,KAAK,EAAEC,KAAK,KACpCf,cAAc,CAAEc,KAAM,CAAC,CAACE,WAAW,CAAC,CAAC,KACrChB,cAAc,CAAEe,KAAM,CAAC,CAACC,WAAW,CAAC,CAAC;AAEtC,MAAMC,cAAc,GAAGA,CAAEC,KAAK,EAAEC,KAAK,KAAM;EAC1C,OAAOD,KAAK,CAACE,GAAG,CACbC,QAAQ,IACTF,KAAK,CAACG,IAAI,CAAIjB,IAAI,IAAMQ,cAAc,CAAER,IAAI,CAACC,IAAI,EAAEe,QAAS,CAAE,CAAC,CAACE,EAClE,CAAC;AACF,CAAC;AAEc,SAASC,iBAAiBA,CAAE;EAAEC;AAAK,CAAC,EAAG;EAAA,IAAAC,qBAAA;EACrD,MAAMC,IAAI,GAAG,qBAAqB;EAClC,MAAM,CAAEC,MAAM,EAAEC,SAAS,CAAE,GAAG,IAAAC,iBAAQ,EAAE,EAAG,CAAC;EAC5C,MAAM,CAAEC,MAAM,EAAEC,SAAS,CAAE,GAAG,IAAAF,iBAAQ,EAAE,EAAG,CAAC;EAC5C,MAAMG,eAAe,GAAG,IAAAC,oBAAW,EAAEF,SAAS,EAAE,GAAI,CAAC;EAErD,MAAM;IACLb,KAAK;IACLgB,QAAQ;IACRC,eAAe;IACfC,eAAe;IACfC;EACD,CAAC,GAAG,IAAAC,eAAS,EACVC,MAAM,IAAM;IAAA,IAAAC,YAAA,EAAAC,aAAA;IACb,MAAM;MAAEC,gBAAgB;MAAEC,WAAW;MAAEC;IAAsB,CAAC,GAC7DL,MAAM,CAAEM,eAAU,CAAC;IACpB,MAAMC,SAAS,GAAGH,WAAW,CAAEjB,IAAK,CAAC;IACrC,MAAMqB,QAAQ,GACbvB,IAAI,EAAEwB,mBAAmB,EAAEC,MAAM,GAAG,CAAC,GAClCzB,IAAI,EAAEwB,mBAAmB,GACzB1C,WAAW;IACf,MAAM4C,KAAK,GAAG;MACb,GAAG1C,aAAa;MAChB2C,OAAO,EAAEJ,QAAQ,EAAEK,IAAI,CAAE,GAAI,CAAC;MAC9B3C,QAAQ,EAAE,CAAC;IACZ,CAAC;IAED,OAAO;MACN2B,eAAe,EAAEU,SAAS,IAAAN,YAAA,GACvBhB,IAAI,CAAC6B,MAAM,GACX,mBAAmB,GAAGP,SAAS,CAACQ,SAAS,CACxC,cAAAd,YAAA,cAAAA,YAAA,GAAI,KAAK,GACV,KAAK;MACRL,eAAe,EAAEW,SAAS,IAAAL,aAAA,GACvBjB,IAAI,CAAC6B,MAAM,GACX,mBAAmB,GAAGP,SAAS,CAACQ,SAAS,CACxC,cAAAb,aAAA,cAAAA,aAAA,GAAI,KAAK,GACV,KAAK;MACRP,QAAQ,EAAEY,SAAS;MACnBS,OAAO,EAAER,QAAQ;MACjB7B,KAAK,EAAE6B,QAAQ,EAAEE,MAAM,GACpBP,gBAAgB,CAAE,UAAU,EAAEhB,IAAI,EAAEwB,KAAM,CAAC,GAC3C5C,WAAW;MACd+B,gBAAgB,EAAEO,qBAAqB,CAAE,kBAAkB,EAAE,CAC5D,UAAU,EACVlB,IAAI,EACJwB,KAAK,CACJ;IACH,CAAC;EACF,CAAC,EACD,CAAExB,IAAI,EAAEF,IAAI,CACb,CAAC;EAED,MAAM;IAAEgC;EAAc,CAAC,GAAG,IAAAlB,eAAS,EAChCC,MAAM,IAAM;IACb,MAAM;MAAEG;IAAiB,CAAC,GAAGH,MAAM,CAAEM,eAAU,CAAC;IAEhD,OAAO;MACNW,aAAa,EAAE,CAAC,CAAE1B,MAAM,GACrBY,gBAAgB,CAAE,UAAU,EAAEhB,IAAI,EAAE;QACpC,GAAGlB,aAAa;QAChBsB;MACA,CAAE,CAAC,GACHxB;IACJ,CAAC;EACF,CAAC,EACD,CAAEwB,MAAM,EAAEJ,IAAI,CACf,CAAC;;EAED;EACA;EACA;EACA,IAAA+B,kBAAS,EAAE,MAAM;IAChB,IAAKpB,gBAAgB,EAAG;MACvB,MAAMqB,SAAS,GAAG,CAAExC,KAAK,aAALA,KAAK,cAALA,KAAK,GAAI,EAAE,EAAGC,GAAG,CAAIf,IAAI,IAC5CL,cAAc,CAAEK,IAAI,CAACC,IAAK,CAC3B,CAAC;MAEDuB,SAAS,CAAE8B,SAAU,CAAC;IACvB;EACD,CAAC,EAAE,CAAExC,KAAK,EAAEmB,gBAAgB,CAAG,CAAC;EAEhC,MAAMsB,WAAW,GAAG,IAAAC,gBAAO,EAAE,MAAM;IAClC,OAAO,CAAEJ,aAAa,aAAbA,aAAa,cAAbA,aAAa,GAAI,EAAE,EAAGrC,GAAG,CAAIf,IAAI,IACzCL,cAAc,CAAEK,IAAI,CAACC,IAAK,CAC3B,CAAC;EACF,CAAC,EAAE,CAAEmD,aAAa,CAAG,CAAC;EAEtB,MAAM;IAAEK,gBAAgB;IAAEC,gBAAgB;IAAEC;EAAqB,CAAC,GACjE,IAAAC,iBAAW,EAAEnB,eAAU,CAAC;EACzB,MAAM;IAAEoB;EAAkB,CAAC,GAAG,IAAAD,iBAAW,EAAEE,cAAa,CAAC;EAEzD,IAAK,CAAE/B,eAAe,EAAG;IACxB,OAAO,IAAI;EACZ;EAEA,eAAegC,gBAAgBA,CAAE/D,IAAI,EAAG;IACvC,IAAI;MACH,MAAMgE,OAAO,GAAG,MAAMP,gBAAgB,CAAE,UAAU,EAAEnC,IAAI,EAAEtB,IAAI,EAAE;QAC/DiE,YAAY,EAAE;MACf,CAAE,CAAC;MACHN,oBAAoB,CAAE,0BAA2B,CAAC;MAClD,OAAO5D,YAAY,CAAEiE,OAAQ,CAAC;IAC/B,CAAC,CAAC,OAAQE,KAAK,EAAG;MACjB,IAAKA,KAAK,CAACC,IAAI,KAAK,aAAa,EAAG;QACnC,MAAMD,KAAK;MACZ;MAEA,OAAO;QACNhD,EAAE,EAAEgD,KAAK,CAACE,IAAI,CAACC,OAAO;QACtBpE,IAAI,EAAED,IAAI,CAACC;MACZ,CAAC;IACF;EACD;EAEA,SAASqE,aAAaA,CAAEC,UAAU,EAAG;IACpCb,gBAAgB,CAAE,UAAU,EAAEc,wBAAa,CAACC,IAAI,EAAErD,IAAI,CAACF,EAAE,EAAE;MAC1D0B,mBAAmB,EAAE2B;IACtB,CAAE,CAAC;EACJ;EAEA,SAASG,QAAQA,CAAEC,SAAS,EAAG;IAC9B,MAAMC,cAAc,GAAG,CACtB,IAAK9D,KAAK,aAALA,KAAK,cAALA,KAAK,GAAI,EAAE,CAAE,EAClB,IAAKsC,aAAa,aAAbA,aAAa,cAAbA,aAAa,GAAI,EAAE,CAAE,CAC1B;IACD,MAAMyB,WAAW,GAAGF,SAAS,CAACG,MAAM,CAAE,CAAEC,GAAG,EAAE9E,IAAI,KAAM;MACtD,IACC,CAAE8E,GAAG,CAACC,IAAI,CAAIC,CAAC,IAAMA,CAAC,CAACtE,WAAW,CAAC,CAAC,KAAKV,IAAI,CAACU,WAAW,CAAC,CAAE,CAAC,EAC5D;QACDoE,GAAG,CAACG,IAAI,CAAEjF,IAAK,CAAC;MACjB;MACA,OAAO8E,GAAG;IACX,CAAC,EAAE,EAAG,CAAC;IAEP,MAAMI,YAAY,GAAGN,WAAW,CAACO,MAAM,CACpCpE,QAAQ,IACT,CAAE4D,cAAc,CAAC3D,IAAI,CAAIjB,IAAI,IAC5BQ,cAAc,CAAER,IAAI,CAACC,IAAI,EAAEe,QAAS,CACrC,CACF,CAAC;;IAED;IACA;IACAQ,SAAS,CAAEqD,WAAY,CAAC;IAExB,IAAKM,YAAY,CAACtC,MAAM,KAAK,CAAC,EAAG;MAChC,OAAOyB,aAAa,CACnB1D,cAAc,CAAEiE,WAAW,EAAED,cAAe,CAC7C,CAAC;IACF;IAEA,IAAK,CAAE5C,eAAe,EAAG;MACxB;IACD;IAEAqD,OAAO,CAACC,GAAG,CACVH,YAAY,CAACpE,GAAG,CAAIC,QAAQ,IAC3B+C,gBAAgB,CAAE;MAAE9D,IAAI,EAAEe;IAAS,CAAE,CACtC,CACD,CAAC,CACCuE,IAAI,CAAIC,QAAQ,IAAM;MACtB,MAAMC,iBAAiB,GAAGb,cAAc,CAACc,MAAM,CAAEF,QAAS,CAAC;MAC3D,OAAOlB,aAAa,CACnB1D,cAAc,CAAEiE,WAAW,EAAEY,iBAAkB,CAChD,CAAC;IACF,CAAE,CAAC,CACFE,KAAK,CAAIzB,KAAK,IAAM;MACpBL,iBAAiB,CAAEK,KAAK,CAAC0B,OAAO,EAAE;QACjCC,IAAI,EAAE;MACP,CAAE,CAAC;IACJ,CAAE,CAAC;EACL;EAEA,MAAMC,YAAY,IAAAzE,qBAAA,GACjBS,QAAQ,EAAEiE,MAAM,EAAEC,aAAa,cAAA3E,qBAAA,cAAAA,qBAAA,GAC7BC,IAAI,KAAK,UAAU,GAAG,IAAA2E,QAAE,EAAE,KAAM,CAAC,GAAG,IAAAA,QAAE,EAAE,MAAO,CAAG;EACrD,MAAMC,cAAc,GAAG,IAAAC,aAAO,GAC7B;EACA,IAAAC,QAAE,EAAE,UAAU,EAAE,MAAO,CAAC,EACxBN,YACD,CAAC;EACD,MAAMO,gBAAgB,GAAG,IAAAF,aAAO,GAC/B;EACA,IAAAC,QAAE,EAAE,YAAY,EAAE,MAAO,CAAC,EAC1BN,YACD,CAAC;EACD,MAAMQ,eAAe,GAAG,IAAAH,aAAO,GAC9B;EACA,IAAAC,QAAE,EAAE,WAAW,EAAE,MAAO,CAAC,EACzBN,YACD,CAAC;EAED,OACC,IAAA7G,QAAA,CAAAsH,aAAA,EAACnH,WAAA,CAAAoH,QAAQ;IAACC,WAAW,EAAG,IAAM;IAACC,KAAK,EAAG,IAAAT,QAAE,EAAE,YAAa;EAAG,GAC1D,IAAAhH,QAAA,CAAAsH,aAAA,EAACnH,WAAA,CAAAuH,cAAc;IACdC,qBAAqB;IACrBC,KAAK,EAAGtF,MAAQ;IAChBgC,WAAW,EAAGA,WAAa;IAC3BmB,QAAQ,EAAGA,QAAU;IACrBoC,aAAa,EAAGlF,eAAiB;IACjCmF,cAAc,EAAG5G,qBAAuB;IACxC6G,KAAK,EAAG,IAAAf,QAAE,EAAE,oBAAqB,CAAG;IACpCgB,QAAQ,EAAG;MACVC,KAAK,EAAEhB,cAAc;MACrBiB,OAAO,EAAEd,gBAAgB;MACzBe,MAAM,EAAEd;IACT,CAAG;IACHe,cAAc;EAAA,CACd,CACQ,CAAC;AAEb"}
|
|
1
|
+
{"version":3,"names":["_element","require","_i18n","_components","_data","_coreData","_compose","_notices","_htmlEntities","_constants","unescapeString","arg","decodeEntities","exports","unescapeTerm","term","name","EMPTY_ARRAY","MAX_TERMS_SUGGESTIONS","DEFAULT_QUERY","per_page","_fields","context","isSameTermName","termA","termB","toLowerCase","termNamesToIds","names","terms","map","termName","find","id","PatternCategories","post","_taxonomy$labels$sing","slug","values","setValues","useState","search","setSearch","debouncedSearch","useDebounce","taxonomy","hasAssignAction","hasCreateAction","hasResolvedTerms","useSelect","select","_post$_links","_post$_links2","getEntityRecords","getTaxonomy","hasFinishedResolution","coreStore","_taxonomy","_termIds","wp_pattern_category","length","query","include","join","_links","rest_base","termIds","searchResults","useEffect","newValues","suggestions","useMemo","saveEntityRecord","editEntityRecord","invalidateResolution","useDispatch","createErrorNotice","noticesStore","findOrCreateTerm","newTerm","throwOnError","error","code","data","term_id","onUpdateTerms","newTermIds","PATTERN_TYPES","user","onChange","termNames","availableTerms","uniqueTerms","reduce","acc","some","n","push","newTermNames","filter","Promise","all","then","newTerms","newAvailableTerms","concat","catch","message","type","singularName","labels","singular_name","__","termAddedLabel","sprintf","_x","termRemovedLabel","removeTermLabel","createElement","PanelRow","initialOpen","title","FlexBlock","FormTokenField","__next40pxDefaultSize","value","onInputChange","maxSuggestions","label","messages","added","removed","remove","tokenizeOnBlur"],"sources":["@wordpress/edit-site/src/components/sidebar-edit-mode/template-panel/pattern-categories.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, _x, sprintf } from '@wordpress/i18n';\nimport { useEffect, useMemo, useState } from '@wordpress/element';\nimport { FormTokenField, FlexBlock, PanelRow } from '@wordpress/components';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useDebounce } from '@wordpress/compose';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { decodeEntities } from '@wordpress/html-entities';\n\n/**\n * Internal dependencies\n */\nimport { PATTERN_TYPES } from '../../../utils/constants';\n\nexport const unescapeString = ( arg ) => {\n\treturn decodeEntities( arg );\n};\n\n/**\n * Returns a term object with name unescaped.\n *\n * @param {Object} term The term object to unescape.\n *\n * @return {Object} Term object with name property unescaped.\n */\nexport const unescapeTerm = ( term ) => {\n\treturn {\n\t\t...term,\n\t\tname: unescapeString( term.name ),\n\t};\n};\n\n/**\n * Shared reference to an empty array for cases where it is important to avoid\n * returning a new array reference on every invocation.\n *\n * @type {Array<any>}\n */\nconst EMPTY_ARRAY = [];\n\n/**\n * Module constants\n */\nconst MAX_TERMS_SUGGESTIONS = 20;\nconst DEFAULT_QUERY = {\n\tper_page: MAX_TERMS_SUGGESTIONS,\n\t_fields: 'id,name',\n\tcontext: 'view',\n};\n\nconst isSameTermName = ( termA, termB ) =>\n\tunescapeString( termA ).toLowerCase() ===\n\tunescapeString( termB ).toLowerCase();\n\nconst termNamesToIds = ( names, terms ) => {\n\treturn names.map(\n\t\t( termName ) =>\n\t\t\tterms.find( ( term ) => isSameTermName( term.name, termName ) ).id\n\t);\n};\n\nexport default function PatternCategories( { post } ) {\n\tconst slug = 'wp_pattern_category';\n\tconst [ values, setValues ] = useState( [] );\n\tconst [ search, setSearch ] = useState( '' );\n\tconst debouncedSearch = useDebounce( setSearch, 500 );\n\n\tconst {\n\t\tterms,\n\t\ttaxonomy,\n\t\thasAssignAction,\n\t\thasCreateAction,\n\t\thasResolvedTerms,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEntityRecords, getTaxonomy, hasFinishedResolution } =\n\t\t\t\tselect( coreStore );\n\t\t\tconst _taxonomy = getTaxonomy( slug );\n\t\t\tconst _termIds =\n\t\t\t\tpost?.wp_pattern_category?.length > 0\n\t\t\t\t\t? post?.wp_pattern_category\n\t\t\t\t\t: EMPTY_ARRAY;\n\t\t\tconst query = {\n\t\t\t\t...DEFAULT_QUERY,\n\t\t\t\tinclude: _termIds?.join( ',' ),\n\t\t\t\tper_page: -1,\n\t\t\t};\n\n\t\t\treturn {\n\t\t\t\thasCreateAction: _taxonomy\n\t\t\t\t\t? post._links?.[\n\t\t\t\t\t\t\t'wp:action-create-' + _taxonomy.rest_base\n\t\t\t\t\t ] ?? false\n\t\t\t\t\t: false,\n\t\t\t\thasAssignAction: _taxonomy\n\t\t\t\t\t? post._links?.[\n\t\t\t\t\t\t\t'wp:action-assign-' + _taxonomy.rest_base\n\t\t\t\t\t ] ?? false\n\t\t\t\t\t: false,\n\t\t\t\ttaxonomy: _taxonomy,\n\t\t\t\ttermIds: _termIds,\n\t\t\t\tterms: _termIds?.length\n\t\t\t\t\t? getEntityRecords( 'taxonomy', slug, query )\n\t\t\t\t\t: EMPTY_ARRAY,\n\t\t\t\thasResolvedTerms: hasFinishedResolution( 'getEntityRecords', [\n\t\t\t\t\t'taxonomy',\n\t\t\t\t\tslug,\n\t\t\t\t\tquery,\n\t\t\t\t] ),\n\t\t\t};\n\t\t},\n\t\t[ slug, post ]\n\t);\n\n\tconst { searchResults } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEntityRecords } = select( coreStore );\n\n\t\t\treturn {\n\t\t\t\tsearchResults: !! search\n\t\t\t\t\t? getEntityRecords( 'taxonomy', slug, {\n\t\t\t\t\t\t\t...DEFAULT_QUERY,\n\t\t\t\t\t\t\tsearch,\n\t\t\t\t\t } )\n\t\t\t\t\t: EMPTY_ARRAY,\n\t\t\t};\n\t\t},\n\t\t[ search, slug ]\n\t);\n\n\t// Update terms state only after the selectors are resolved.\n\t// We're using this to avoid terms temporarily disappearing on slow networks\n\t// while core data makes REST API requests.\n\tuseEffect( () => {\n\t\tif ( hasResolvedTerms ) {\n\t\t\tconst newValues = ( terms ?? [] ).map( ( term ) =>\n\t\t\t\tunescapeString( term.name )\n\t\t\t);\n\n\t\t\tsetValues( newValues );\n\t\t}\n\t}, [ terms, hasResolvedTerms ] );\n\n\tconst suggestions = useMemo( () => {\n\t\treturn ( searchResults ?? [] ).map( ( term ) =>\n\t\t\tunescapeString( term.name )\n\t\t);\n\t}, [ searchResults ] );\n\n\tconst { saveEntityRecord, editEntityRecord, invalidateResolution } =\n\t\tuseDispatch( coreStore );\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\n\tif ( ! hasAssignAction ) {\n\t\treturn null;\n\t}\n\n\tasync function findOrCreateTerm( term ) {\n\t\ttry {\n\t\t\tconst newTerm = await saveEntityRecord( 'taxonomy', slug, term, {\n\t\t\t\tthrowOnError: true,\n\t\t\t} );\n\t\t\tinvalidateResolution( 'getUserPatternCategories' );\n\t\t\treturn unescapeTerm( newTerm );\n\t\t} catch ( error ) {\n\t\t\tif ( error.code !== 'term_exists' ) {\n\t\t\t\tthrow error;\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\tid: error.data.term_id,\n\t\t\t\tname: term.name,\n\t\t\t};\n\t\t}\n\t}\n\n\tfunction onUpdateTerms( newTermIds ) {\n\t\teditEntityRecord( 'postType', PATTERN_TYPES.user, post.id, {\n\t\t\twp_pattern_category: newTermIds,\n\t\t} );\n\t}\n\n\tfunction onChange( termNames ) {\n\t\tconst availableTerms = [\n\t\t\t...( terms ?? [] ),\n\t\t\t...( searchResults ?? [] ),\n\t\t];\n\t\tconst uniqueTerms = termNames.reduce( ( acc, name ) => {\n\t\t\tif (\n\t\t\t\t! acc.some( ( n ) => n.toLowerCase() === name.toLowerCase() )\n\t\t\t) {\n\t\t\t\tacc.push( name );\n\t\t\t}\n\t\t\treturn acc;\n\t\t}, [] );\n\n\t\tconst newTermNames = uniqueTerms.filter(\n\t\t\t( termName ) =>\n\t\t\t\t! availableTerms.find( ( term ) =>\n\t\t\t\t\tisSameTermName( term.name, termName )\n\t\t\t\t)\n\t\t);\n\n\t\t// Optimistically update term values.\n\t\t// The selector will always re-fetch terms later.\n\t\tsetValues( uniqueTerms );\n\n\t\tif ( newTermNames.length === 0 ) {\n\t\t\treturn onUpdateTerms(\n\t\t\t\ttermNamesToIds( uniqueTerms, availableTerms )\n\t\t\t);\n\t\t}\n\n\t\tif ( ! hasCreateAction ) {\n\t\t\treturn;\n\t\t}\n\n\t\tPromise.all(\n\t\t\tnewTermNames.map( ( termName ) =>\n\t\t\t\tfindOrCreateTerm( { name: termName } )\n\t\t\t)\n\t\t)\n\t\t\t.then( ( newTerms ) => {\n\t\t\t\tconst newAvailableTerms = availableTerms.concat( newTerms );\n\t\t\t\treturn onUpdateTerms(\n\t\t\t\t\ttermNamesToIds( uniqueTerms, newAvailableTerms )\n\t\t\t\t);\n\t\t\t} )\n\t\t\t.catch( ( error ) => {\n\t\t\t\tcreateErrorNotice( error.message, {\n\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t} );\n\t\t\t} );\n\t}\n\n\tconst singularName =\n\t\ttaxonomy?.labels?.singular_name ??\n\t\t( slug === 'post_tag' ? __( 'Tag' ) : __( 'Term' ) );\n\tconst termAddedLabel = sprintf(\n\t\t/* translators: %s: term name. */\n\t\t_x( '%s added', 'term' ),\n\t\tsingularName\n\t);\n\tconst termRemovedLabel = sprintf(\n\t\t/* translators: %s: term name. */\n\t\t_x( '%s removed', 'term' ),\n\t\tsingularName\n\t);\n\tconst removeTermLabel = sprintf(\n\t\t/* translators: %s: term name. */\n\t\t_x( 'Remove %s', 'term' ),\n\t\tsingularName\n\t);\n\n\treturn (\n\t\t<PanelRow initialOpen={ true } title={ __( 'Categories' ) }>\n\t\t\t<FlexBlock>\n\t\t\t\t<FormTokenField\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\tvalue={ values }\n\t\t\t\t\tsuggestions={ suggestions }\n\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\tonInputChange={ debouncedSearch }\n\t\t\t\t\tmaxSuggestions={ MAX_TERMS_SUGGESTIONS }\n\t\t\t\t\tlabel={ __( 'Pattern categories' ) }\n\t\t\t\t\tmessages={ {\n\t\t\t\t\t\tadded: termAddedLabel,\n\t\t\t\t\t\tremoved: termRemovedLabel,\n\t\t\t\t\t\tremove: removeTermLabel,\n\t\t\t\t\t} }\n\t\t\t\t\ttokenizeOnBlur\n\t\t\t\t/>\n\t\t\t</FlexBlock>\n\t\t</PanelRow>\n\t);\n}\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_data","require","_components","_editor","_blockEditor","_i18n","_store","TemplateAreaItem","area","clientId","selectBlock","toggleBlockHighlight","useDispatch","blockEditorStore","templatePartArea","useSelect","select","defaultAreas","editorStore","__experimentalGetDefaultTemplatePartAreas","find","defaultArea","highlightBlock","cancelHighlightBlock","_element","createElement","Button","className","icon","onMouseOver","onMouseLeave","onFocus","onBlur","onClick","label","TemplateAreas","templateParts","editSiteStore","getCurrentTemplateTemplateParts","length","__experimentalHeading","level","__","map","templatePart","block","key"
|
|
1
|
+
{"version":3,"names":["_data","require","_components","_editor","_blockEditor","_i18n","_store","TemplateAreaItem","area","clientId","selectBlock","toggleBlockHighlight","useDispatch","blockEditorStore","templatePartArea","useSelect","select","defaultAreas","editorStore","__experimentalGetDefaultTemplatePartAreas","find","defaultArea","highlightBlock","cancelHighlightBlock","_element","createElement","Button","className","icon","onMouseOver","onMouseLeave","onFocus","onBlur","onClick","label","TemplateAreas","templateParts","editSiteStore","getCurrentTemplateTemplateParts","length","__experimentalHeading","level","__","map","templatePart","block","key"],"sources":["@wordpress/edit-site/src/components/sidebar-edit-mode/template-panel/template-areas.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tButton,\n\t__experimentalHeading as Heading,\n} from '@wordpress/components';\nimport { store as editorStore } from '@wordpress/editor';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { store as editSiteStore } from '../../../store';\n\nfunction TemplateAreaItem( { area, clientId } ) {\n\tconst { selectBlock, toggleBlockHighlight } =\n\t\tuseDispatch( blockEditorStore );\n\tconst templatePartArea = useSelect(\n\t\t( select ) => {\n\t\t\tconst defaultAreas =\n\t\t\t\tselect(\n\t\t\t\t\teditorStore\n\t\t\t\t).__experimentalGetDefaultTemplatePartAreas();\n\n\t\t\treturn defaultAreas.find(\n\t\t\t\t( defaultArea ) => defaultArea.area === area\n\t\t\t);\n\t\t},\n\t\t[ area ]\n\t);\n\n\tconst highlightBlock = () => toggleBlockHighlight( clientId, true );\n\tconst cancelHighlightBlock = () => toggleBlockHighlight( clientId, false );\n\n\treturn (\n\t\t<Button\n\t\t\tclassName=\"edit-site-template-card__template-areas-item\"\n\t\t\ticon={ templatePartArea?.icon }\n\t\t\tonMouseOver={ highlightBlock }\n\t\t\tonMouseLeave={ cancelHighlightBlock }\n\t\t\tonFocus={ highlightBlock }\n\t\t\tonBlur={ cancelHighlightBlock }\n\t\t\tonClick={ () => {\n\t\t\t\tselectBlock( clientId );\n\t\t\t} }\n\t\t>\n\t\t\t{ templatePartArea?.label }\n\t\t</Button>\n\t);\n}\n\nexport default function TemplateAreas() {\n\tconst templateParts = useSelect(\n\t\t( select ) => select( editSiteStore ).getCurrentTemplateTemplateParts(),\n\t\t[]\n\t);\n\n\tif ( ! templateParts.length ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<section className=\"edit-site-template-card__template-areas\">\n\t\t\t<Heading\n\t\t\t\tlevel={ 3 }\n\t\t\t\tclassName=\"edit-site-template-card__template-areas-title\"\n\t\t\t>\n\t\t\t\t{ __( 'Areas' ) }\n\t\t\t</Heading>\n\n\t\t\t<ul className=\"edit-site-template-card__template-areas-list\">\n\t\t\t\t{ templateParts.map( ( { templatePart, block } ) => (\n\t\t\t\t\t<li key={ block.clientId }>\n\t\t\t\t\t\t<TemplateAreaItem\n\t\t\t\t\t\t\tarea={ templatePart.area }\n\t\t\t\t\t\t\tclientId={ block.clientId }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</li>\n\t\t\t\t) ) }\n\t\t\t</ul>\n\t\t</section>\n\t);\n}\n"],"mappings":";;;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AAIA,IAAAE,OAAA,GAAAF,OAAA;AACA,IAAAG,YAAA,GAAAH,OAAA;AACA,IAAAI,KAAA,GAAAJ,OAAA;AAKA,IAAAK,MAAA,GAAAL,OAAA;AAfA;AACA;AACA;;AAUA;AACA;AACA;;AAGA,SAASM,gBAAgBA,CAAE;EAAEC,IAAI;EAAEC;AAAS,CAAC,EAAG;EAC/C,MAAM;IAAEC,WAAW;IAAEC;EAAqB,CAAC,GAC1C,IAAAC,iBAAW,EAAEC,kBAAiB,CAAC;EAChC,MAAMC,gBAAgB,GAAG,IAAAC,eAAS,EAC/BC,MAAM,IAAM;IACb,MAAMC,YAAY,GACjBD,MAAM,CACLE,aACD,CAAC,CAACC,yCAAyC,CAAC,CAAC;IAE9C,OAAOF,YAAY,CAACG,IAAI,CACrBC,WAAW,IAAMA,WAAW,CAACb,IAAI,KAAKA,IACzC,CAAC;EACF,CAAC,EACD,CAAEA,IAAI,CACP,CAAC;EAED,MAAMc,cAAc,GAAGA,CAAA,KAAMX,oBAAoB,CAAEF,QAAQ,EAAE,IAAK,CAAC;EACnE,MAAMc,oBAAoB,GAAGA,CAAA,KAAMZ,oBAAoB,CAAEF,QAAQ,EAAE,KAAM,CAAC;EAE1E,OACC,IAAAe,QAAA,CAAAC,aAAA,EAACvB,WAAA,CAAAwB,MAAM;IACNC,SAAS,EAAC,8CAA8C;IACxDC,IAAI,EAAGd,gBAAgB,EAAEc,IAAM;IAC/BC,WAAW,EAAGP,cAAgB;IAC9BQ,YAAY,EAAGP,oBAAsB;IACrCQ,OAAO,EAAGT,cAAgB;IAC1BU,MAAM,EAAGT,oBAAsB;IAC/BU,OAAO,EAAGA,CAAA,KAAM;MACfvB,WAAW,CAAED,QAAS,CAAC;IACxB;EAAG,GAEDK,gBAAgB,EAAEoB,KACb,CAAC;AAEX;AAEe,SAASC,aAAaA,CAAA,EAAG;EACvC,MAAMC,aAAa,GAAG,IAAArB,eAAS,EAC5BC,MAAM,IAAMA,MAAM,CAAEqB,YAAc,CAAC,CAACC,+BAA+B,CAAC,CAAC,EACvE,EACD,CAAC;EAED,IAAK,CAAEF,aAAa,CAACG,MAAM,EAAG;IAC7B,OAAO,IAAI;EACZ;EAEA,OACC,IAAAf,QAAA,CAAAC,aAAA;IAASE,SAAS,EAAC;EAAyC,GAC3D,IAAAH,QAAA,CAAAC,aAAA,EAACvB,WAAA,CAAAsC,qBAAO;IACPC,KAAK,EAAG,CAAG;IACXd,SAAS,EAAC;EAA+C,GAEvD,IAAAe,QAAE,EAAE,OAAQ,CACN,CAAC,EAEV,IAAAlB,QAAA,CAAAC,aAAA;IAAIE,SAAS,EAAC;EAA8C,GACzDS,aAAa,CAACO,GAAG,CAAE,CAAE;IAAEC,YAAY;IAAEC;EAAM,CAAC,KAC7C,IAAArB,QAAA,CAAAC,aAAA;IAAIqB,GAAG,EAAGD,KAAK,CAACpC;EAAU,GACzB,IAAAe,QAAA,CAAAC,aAAA,EAAClB,gBAAgB;IAChBC,IAAI,EAAGoC,YAAY,CAACpC,IAAM;IAC1BC,QAAQ,EAAGoC,KAAK,CAACpC;EAAU,CAC3B,CACE,CACH,CACC,CACI,CAAC;AAEZ"}
|
|
@@ -11,6 +11,8 @@ var _compose = require("@wordpress/compose");
|
|
|
11
11
|
var _editor = require("@wordpress/editor");
|
|
12
12
|
var _i18n = require("@wordpress/i18n");
|
|
13
13
|
var _url = require("@wordpress/url");
|
|
14
|
+
var _coreData = require("@wordpress/core-data");
|
|
15
|
+
var _data = require("@wordpress/data");
|
|
14
16
|
var _icons = require("@wordpress/icons");
|
|
15
17
|
var _addNewPattern = _interopRequireDefault(require("../add-new-pattern"));
|
|
16
18
|
var _sidebarNavigationItem = _interopRequireDefault(require("../sidebar-navigation-item"));
|
|
@@ -20,6 +22,7 @@ var _constants = require("../../utils/constants");
|
|
|
20
22
|
var _link = require("../routes/link");
|
|
21
23
|
var _usePatternCategories = _interopRequireDefault(require("./use-pattern-categories"));
|
|
22
24
|
var _useTemplatePartAreas = _interopRequireDefault(require("./use-template-part-areas"));
|
|
25
|
+
var _store = require("../../store");
|
|
23
26
|
/**
|
|
24
27
|
* WordPress dependencies
|
|
25
28
|
*/
|
|
@@ -86,18 +89,27 @@ function SidebarNavigationScreenPatterns() {
|
|
|
86
89
|
patternCategories,
|
|
87
90
|
hasPatterns
|
|
88
91
|
} = (0, _usePatternCategories.default)();
|
|
92
|
+
const isBlockBasedTheme = (0, _data.useSelect)(select => select(_coreData.store).getCurrentTheme()?.is_block_theme, []);
|
|
93
|
+
const isTemplatePartsMode = (0, _data.useSelect)(select => {
|
|
94
|
+
const settings = select(_store.store).getSettings();
|
|
95
|
+
return !!settings.supportsTemplatePartsMode;
|
|
96
|
+
}, []);
|
|
89
97
|
const templatePartsLink = (0, _link.useLink)({
|
|
90
|
-
path: '/wp_template_part/all'
|
|
98
|
+
path: '/wp_template_part/all',
|
|
99
|
+
// If a classic theme that supports template parts accessed
|
|
100
|
+
// the Patterns page directly, preserve that state in the URL.
|
|
101
|
+
didAccessPatternsPage: !isBlockBasedTheme && isTemplatePartsMode ? 1 : undefined
|
|
91
102
|
});
|
|
92
103
|
const footer = !isMobileViewport ? (0, _element.createElement)(_components.__experimentalItemGroup, null, (0, _element.createElement)(_sidebarNavigationItem.default, {
|
|
93
104
|
as: "a",
|
|
94
105
|
href: "edit.php?post_type=wp_block",
|
|
95
106
|
withChevron: true
|
|
96
|
-
}, (0, _i18n.__)('Manage all of my patterns')), (0, _element.createElement)(_sidebarNavigationItem.default, {
|
|
107
|
+
}, (0, _i18n.__)('Manage all of my patterns')), (isBlockBasedTheme || isTemplatePartsMode) && (0, _element.createElement)(_sidebarNavigationItem.default, {
|
|
97
108
|
withChevron: true,
|
|
98
109
|
...templatePartsLink
|
|
99
110
|
}, (0, _i18n.__)('Manage all template parts'))) : undefined;
|
|
100
111
|
return (0, _element.createElement)(_sidebarNavigationScreen.default, {
|
|
112
|
+
isRoot: !isBlockBasedTheme,
|
|
101
113
|
title: (0, _i18n.__)('Patterns'),
|
|
102
114
|
description: (0, _i18n.__)('Manage what patterns are available when editing the site.'),
|
|
103
115
|
actions: (0, _element.createElement)(_addNewPattern.default, null),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_components","require","_compose","_editor","_i18n","_url","_icons","_addNewPattern","_interopRequireDefault","_sidebarNavigationItem","_sidebarNavigationScreen","_categoryItem","_constants","_link","_usePatternCategories","_useTemplatePartAreas","TemplatePartGroup","areas","currentArea","currentType","_element","createElement","Fragment","className","__experimentalHeading","level","__","__experimentalItemGroup","Object","entries","map","area","label","templateParts","default","key","count","length","icon","getTemplatePartIcon","id","type","TEMPLATE_PART_POST_TYPE","isActive","PatternCategoriesGroup","categories","currentCategory","category","name","file","PATTERN_TYPES","theme","user","SidebarNavigationScreenPatterns","isMobileViewport","useViewportMatch","categoryType","categoryId","getQueryArgs","window","location","href","PATTERN_DEFAULT_CATEGORY","templatePartAreas","hasTemplateParts","isLoading","useTemplatePartAreas","patternCategories","hasPatterns","usePatternCategories","templatePartsLink","useLink","path","footer","as","withChevron","undefined","title","description","actions","content","__experimentalItem"],"sources":["@wordpress/edit-site/src/components/sidebar-navigation-screen-patterns/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalItemGroup as ItemGroup,\n\t__experimentalItem as Item,\n\t__experimentalHeading as Heading,\n} from '@wordpress/components';\nimport { useViewportMatch } from '@wordpress/compose';\nimport { getTemplatePartIcon } from '@wordpress/editor';\nimport { __ } from '@wordpress/i18n';\nimport { getQueryArgs } from '@wordpress/url';\nimport { file } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport AddNewPattern from '../add-new-pattern';\nimport SidebarNavigationItem from '../sidebar-navigation-item';\nimport SidebarNavigationScreen from '../sidebar-navigation-screen';\nimport CategoryItem from './category-item';\nimport {\n\tPATTERN_DEFAULT_CATEGORY,\n\tPATTERN_TYPES,\n\tTEMPLATE_PART_POST_TYPE,\n} from '../../utils/constants';\nimport { useLink } from '../routes/link';\nimport usePatternCategories from './use-pattern-categories';\nimport useTemplatePartAreas from './use-template-part-areas';\n\nfunction TemplatePartGroup( { areas, currentArea, currentType } ) {\n\treturn (\n\t\t<>\n\t\t\t<div className=\"edit-site-sidebar-navigation-screen-patterns__group-header\">\n\t\t\t\t<Heading level={ 2 }>{ __( 'Template parts' ) }</Heading>\n\t\t\t</div>\n\t\t\t<ItemGroup className=\"edit-site-sidebar-navigation-screen-patterns__group\">\n\t\t\t\t{ Object.entries( areas ).map(\n\t\t\t\t\t( [ area, { label, templateParts } ] ) => (\n\t\t\t\t\t\t<CategoryItem\n\t\t\t\t\t\t\tkey={ area }\n\t\t\t\t\t\t\tcount={ templateParts?.length }\n\t\t\t\t\t\t\ticon={ getTemplatePartIcon( area ) }\n\t\t\t\t\t\t\tlabel={ label }\n\t\t\t\t\t\t\tid={ area }\n\t\t\t\t\t\t\ttype={ TEMPLATE_PART_POST_TYPE }\n\t\t\t\t\t\t\tisActive={\n\t\t\t\t\t\t\t\tcurrentArea === area &&\n\t\t\t\t\t\t\t\tcurrentType === TEMPLATE_PART_POST_TYPE\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)\n\t\t\t\t) }\n\t\t\t</ItemGroup>\n\t\t</>\n\t);\n}\n\nfunction PatternCategoriesGroup( {\n\tcategories,\n\tcurrentCategory,\n\tcurrentType,\n} ) {\n\treturn (\n\t\t<>\n\t\t\t<ItemGroup className=\"edit-site-sidebar-navigation-screen-patterns__group\">\n\t\t\t\t{ categories.map( ( category ) => (\n\t\t\t\t\t<CategoryItem\n\t\t\t\t\t\tkey={ category.name }\n\t\t\t\t\t\tcount={ category.count }\n\t\t\t\t\t\tlabel={ category.label }\n\t\t\t\t\t\ticon={ file }\n\t\t\t\t\t\tid={ category.name }\n\t\t\t\t\t\ttype=\"pattern\"\n\t\t\t\t\t\tisActive={\n\t\t\t\t\t\t\tcurrentCategory === `${ category.name }` &&\n\t\t\t\t\t\t\t( currentType === PATTERN_TYPES.theme ||\n\t\t\t\t\t\t\t\tcurrentType === PATTERN_TYPES.user )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t) ) }\n\t\t\t</ItemGroup>\n\t\t</>\n\t);\n}\n\nexport default function SidebarNavigationScreenPatterns() {\n\tconst isMobileViewport = useViewportMatch( 'medium', '<' );\n\tconst { categoryType, categoryId } = getQueryArgs( window.location.href );\n\tconst currentCategory = categoryId || PATTERN_DEFAULT_CATEGORY;\n\tconst currentType = categoryType || PATTERN_TYPES.theme;\n\n\tconst { templatePartAreas, hasTemplateParts, isLoading } =\n\t\tuseTemplatePartAreas();\n\tconst { patternCategories, hasPatterns } = usePatternCategories();\n\n\tconst templatePartsLink = useLink( { path: '/wp_template_part/all' } );\n\tconst footer = ! isMobileViewport ? (\n\t\t<ItemGroup>\n\t\t\t<SidebarNavigationItem\n\t\t\t\tas=\"a\"\n\t\t\t\thref=\"edit.php?post_type=wp_block\"\n\t\t\t\twithChevron\n\t\t\t>\n\t\t\t\t{ __( 'Manage all of my patterns' ) }\n\t\t\t</SidebarNavigationItem>\n\t\t\t<SidebarNavigationItem withChevron { ...templatePartsLink }>\n\t\t\t\t{ __( 'Manage all template parts' ) }\n\t\t\t</SidebarNavigationItem>\n\t\t</ItemGroup>\n\t) : undefined;\n\n\treturn (\n\t\t<SidebarNavigationScreen\n\t\t\ttitle={ __( 'Patterns' ) }\n\t\t\tdescription={ __(\n\t\t\t\t'Manage what patterns are available when editing the site.'\n\t\t\t) }\n\t\t\tactions={ <AddNewPattern /> }\n\t\t\tfooter={ footer }\n\t\t\tcontent={\n\t\t\t\t<>\n\t\t\t\t\t{ isLoading && __( 'Loading patterns…' ) }\n\t\t\t\t\t{ ! isLoading && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t{ ! hasTemplateParts && ! hasPatterns && (\n\t\t\t\t\t\t\t\t<ItemGroup className=\"edit-site-sidebar-navigation-screen-patterns__group\">\n\t\t\t\t\t\t\t\t\t<Item>\n\t\t\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t\t\t'No template parts or patterns found'\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t</Item>\n\t\t\t\t\t\t\t\t</ItemGroup>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t{ hasPatterns && (\n\t\t\t\t\t\t\t\t<PatternCategoriesGroup\n\t\t\t\t\t\t\t\t\tcategories={ patternCategories }\n\t\t\t\t\t\t\t\t\tcurrentCategory={ currentCategory }\n\t\t\t\t\t\t\t\t\tcurrentType={ currentType }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t{ hasTemplateParts && (\n\t\t\t\t\t\t\t\t<TemplatePartGroup\n\t\t\t\t\t\t\t\t\tareas={ templatePartAreas }\n\t\t\t\t\t\t\t\t\tcurrentArea={ currentCategory }\n\t\t\t\t\t\t\t\t\tcurrentType={ currentType }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</>\n\t\t\t\t\t) }\n\t\t\t\t</>\n\t\t\t}\n\t\t/>\n\t);\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_components","require","_compose","_editor","_i18n","_url","_coreData","_data","_icons","_addNewPattern","_interopRequireDefault","_sidebarNavigationItem","_sidebarNavigationScreen","_categoryItem","_constants","_link","_usePatternCategories","_useTemplatePartAreas","_store","TemplatePartGroup","areas","currentArea","currentType","_element","createElement","Fragment","className","__experimentalHeading","level","__","__experimentalItemGroup","Object","entries","map","area","label","templateParts","default","key","count","length","icon","getTemplatePartIcon","id","type","TEMPLATE_PART_POST_TYPE","isActive","PatternCategoriesGroup","categories","currentCategory","category","name","file","PATTERN_TYPES","theme","user","SidebarNavigationScreenPatterns","isMobileViewport","useViewportMatch","categoryType","categoryId","getQueryArgs","window","location","href","PATTERN_DEFAULT_CATEGORY","templatePartAreas","hasTemplateParts","isLoading","useTemplatePartAreas","patternCategories","hasPatterns","usePatternCategories","isBlockBasedTheme","useSelect","select","coreStore","getCurrentTheme","is_block_theme","isTemplatePartsMode","settings","editSiteStore","getSettings","supportsTemplatePartsMode","templatePartsLink","useLink","path","didAccessPatternsPage","undefined","footer","as","withChevron","isRoot","title","description","actions","content","__experimentalItem"],"sources":["@wordpress/edit-site/src/components/sidebar-navigation-screen-patterns/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalItemGroup as ItemGroup,\n\t__experimentalItem as Item,\n\t__experimentalHeading as Heading,\n} from '@wordpress/components';\nimport { useViewportMatch } from '@wordpress/compose';\nimport { getTemplatePartIcon } from '@wordpress/editor';\nimport { __ } from '@wordpress/i18n';\nimport { getQueryArgs } from '@wordpress/url';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useSelect } from '@wordpress/data';\nimport { file } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport AddNewPattern from '../add-new-pattern';\nimport SidebarNavigationItem from '../sidebar-navigation-item';\nimport SidebarNavigationScreen from '../sidebar-navigation-screen';\nimport CategoryItem from './category-item';\nimport {\n\tPATTERN_DEFAULT_CATEGORY,\n\tPATTERN_TYPES,\n\tTEMPLATE_PART_POST_TYPE,\n} from '../../utils/constants';\nimport { useLink } from '../routes/link';\nimport usePatternCategories from './use-pattern-categories';\nimport useTemplatePartAreas from './use-template-part-areas';\nimport { store as editSiteStore } from '../../store';\n\nfunction TemplatePartGroup( { areas, currentArea, currentType } ) {\n\treturn (\n\t\t<>\n\t\t\t<div className=\"edit-site-sidebar-navigation-screen-patterns__group-header\">\n\t\t\t\t<Heading level={ 2 }>{ __( 'Template parts' ) }</Heading>\n\t\t\t</div>\n\t\t\t<ItemGroup className=\"edit-site-sidebar-navigation-screen-patterns__group\">\n\t\t\t\t{ Object.entries( areas ).map(\n\t\t\t\t\t( [ area, { label, templateParts } ] ) => (\n\t\t\t\t\t\t<CategoryItem\n\t\t\t\t\t\t\tkey={ area }\n\t\t\t\t\t\t\tcount={ templateParts?.length }\n\t\t\t\t\t\t\ticon={ getTemplatePartIcon( area ) }\n\t\t\t\t\t\t\tlabel={ label }\n\t\t\t\t\t\t\tid={ area }\n\t\t\t\t\t\t\ttype={ TEMPLATE_PART_POST_TYPE }\n\t\t\t\t\t\t\tisActive={\n\t\t\t\t\t\t\t\tcurrentArea === area &&\n\t\t\t\t\t\t\t\tcurrentType === TEMPLATE_PART_POST_TYPE\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)\n\t\t\t\t) }\n\t\t\t</ItemGroup>\n\t\t</>\n\t);\n}\n\nfunction PatternCategoriesGroup( {\n\tcategories,\n\tcurrentCategory,\n\tcurrentType,\n} ) {\n\treturn (\n\t\t<>\n\t\t\t<ItemGroup className=\"edit-site-sidebar-navigation-screen-patterns__group\">\n\t\t\t\t{ categories.map( ( category ) => (\n\t\t\t\t\t<CategoryItem\n\t\t\t\t\t\tkey={ category.name }\n\t\t\t\t\t\tcount={ category.count }\n\t\t\t\t\t\tlabel={ category.label }\n\t\t\t\t\t\ticon={ file }\n\t\t\t\t\t\tid={ category.name }\n\t\t\t\t\t\ttype=\"pattern\"\n\t\t\t\t\t\tisActive={\n\t\t\t\t\t\t\tcurrentCategory === `${ category.name }` &&\n\t\t\t\t\t\t\t( currentType === PATTERN_TYPES.theme ||\n\t\t\t\t\t\t\t\tcurrentType === PATTERN_TYPES.user )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t) ) }\n\t\t\t</ItemGroup>\n\t\t</>\n\t);\n}\n\nexport default function SidebarNavigationScreenPatterns() {\n\tconst isMobileViewport = useViewportMatch( 'medium', '<' );\n\tconst { categoryType, categoryId } = getQueryArgs( window.location.href );\n\tconst currentCategory = categoryId || PATTERN_DEFAULT_CATEGORY;\n\tconst currentType = categoryType || PATTERN_TYPES.theme;\n\n\tconst { templatePartAreas, hasTemplateParts, isLoading } =\n\t\tuseTemplatePartAreas();\n\tconst { patternCategories, hasPatterns } = usePatternCategories();\n\tconst isBlockBasedTheme = useSelect(\n\t\t( select ) => select( coreStore ).getCurrentTheme()?.is_block_theme,\n\t\t[]\n\t);\n\tconst isTemplatePartsMode = useSelect( ( select ) => {\n\t\tconst settings = select( editSiteStore ).getSettings();\n\t\treturn !! settings.supportsTemplatePartsMode;\n\t}, [] );\n\n\tconst templatePartsLink = useLink( {\n\t\tpath: '/wp_template_part/all',\n\t\t// If a classic theme that supports template parts accessed\n\t\t// the Patterns page directly, preserve that state in the URL.\n\t\tdidAccessPatternsPage:\n\t\t\t! isBlockBasedTheme && isTemplatePartsMode ? 1 : undefined,\n\t} );\n\n\tconst footer = ! isMobileViewport ? (\n\t\t<ItemGroup>\n\t\t\t<SidebarNavigationItem\n\t\t\t\tas=\"a\"\n\t\t\t\thref=\"edit.php?post_type=wp_block\"\n\t\t\t\twithChevron\n\t\t\t>\n\t\t\t\t{ __( 'Manage all of my patterns' ) }\n\t\t\t</SidebarNavigationItem>\n\t\t\t{ ( isBlockBasedTheme || isTemplatePartsMode ) && (\n\t\t\t\t<SidebarNavigationItem withChevron { ...templatePartsLink }>\n\t\t\t\t\t{ __( 'Manage all template parts' ) }\n\t\t\t\t</SidebarNavigationItem>\n\t\t\t) }\n\t\t</ItemGroup>\n\t) : undefined;\n\n\treturn (\n\t\t<SidebarNavigationScreen\n\t\t\tisRoot={ ! isBlockBasedTheme }\n\t\t\ttitle={ __( 'Patterns' ) }\n\t\t\tdescription={ __(\n\t\t\t\t'Manage what patterns are available when editing the site.'\n\t\t\t) }\n\t\t\tactions={ <AddNewPattern /> }\n\t\t\tfooter={ footer }\n\t\t\tcontent={\n\t\t\t\t<>\n\t\t\t\t\t{ isLoading && __( 'Loading patterns…' ) }\n\t\t\t\t\t{ ! isLoading && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t{ ! hasTemplateParts && ! hasPatterns && (\n\t\t\t\t\t\t\t\t<ItemGroup className=\"edit-site-sidebar-navigation-screen-patterns__group\">\n\t\t\t\t\t\t\t\t\t<Item>\n\t\t\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t\t\t'No template parts or patterns found'\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t</Item>\n\t\t\t\t\t\t\t\t</ItemGroup>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t{ hasPatterns && (\n\t\t\t\t\t\t\t\t<PatternCategoriesGroup\n\t\t\t\t\t\t\t\t\tcategories={ patternCategories }\n\t\t\t\t\t\t\t\t\tcurrentCategory={ currentCategory }\n\t\t\t\t\t\t\t\t\tcurrentType={ currentType }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t{ hasTemplateParts && (\n\t\t\t\t\t\t\t\t<TemplatePartGroup\n\t\t\t\t\t\t\t\t\tareas={ templatePartAreas }\n\t\t\t\t\t\t\t\t\tcurrentArea={ currentCategory }\n\t\t\t\t\t\t\t\t\tcurrentType={ currentType }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</>\n\t\t\t\t\t) }\n\t\t\t\t</>\n\t\t\t}\n\t\t/>\n\t);\n}\n"],"mappings":"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"}
|