@wordpress/edit-site 6.38.0 → 6.39.0

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.
Files changed (34) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/build/components/editor/index.cjs +2 -0
  3. package/build/components/editor/index.cjs.map +3 -3
  4. package/build/components/editor/use-resolve-edited-entity.cjs +3 -0
  5. package/build/components/editor/use-resolve-edited-entity.cjs.map +2 -2
  6. package/build/components/page-patterns/index.cjs +9 -3
  7. package/build/components/page-patterns/index.cjs.map +2 -2
  8. package/build/components/site-editor-routes/attachment-item.cjs +60 -0
  9. package/build/components/site-editor-routes/attachment-item.cjs.map +7 -0
  10. package/build/components/site-editor-routes/index.cjs +2 -0
  11. package/build/components/site-editor-routes/index.cjs.map +2 -2
  12. package/build/utils/constants.cjs +3 -0
  13. package/build/utils/constants.cjs.map +2 -2
  14. package/build-module/components/editor/index.mjs +4 -1
  15. package/build-module/components/editor/index.mjs.map +2 -2
  16. package/build-module/components/editor/use-resolve-edited-entity.mjs +4 -0
  17. package/build-module/components/editor/use-resolve-edited-entity.mjs.map +2 -2
  18. package/build-module/components/page-patterns/index.mjs +9 -3
  19. package/build-module/components/page-patterns/index.mjs.map +2 -2
  20. package/build-module/components/site-editor-routes/attachment-item.mjs +25 -0
  21. package/build-module/components/site-editor-routes/attachment-item.mjs.map +7 -0
  22. package/build-module/components/site-editor-routes/index.mjs +2 -0
  23. package/build-module/components/site-editor-routes/index.mjs.map +2 -2
  24. package/build-module/utils/constants.mjs +2 -0
  25. package/build-module/utils/constants.mjs.map +2 -2
  26. package/build-style/style-rtl.css +18 -36
  27. package/build-style/style.css +18 -36
  28. package/package.json +46 -46
  29. package/src/components/editor/index.js +3 -0
  30. package/src/components/editor/use-resolve-edited-entity.js +4 -0
  31. package/src/components/page-patterns/index.js +6 -3
  32. package/src/components/site-editor-routes/attachment-item.js +27 -0
  33. package/src/components/site-editor-routes/index.js +2 -0
  34. package/src/utils/constants.js +3 -0
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/components/editor/use-resolve-edited-entity.js"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { useEffect, useMemo } from '@wordpress/element';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { store as coreDataStore } from '@wordpress/core-data';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\n\n/**\n * Internal dependencies\n */\nimport { store as editSiteStore } from '../../store';\nimport { unlock } from '../../lock-unlock';\nimport {\n\tTEMPLATE_POST_TYPE,\n\tTEMPLATE_PART_POST_TYPE,\n\tNAVIGATION_POST_TYPE,\n\tPATTERN_TYPES,\n} from '../../utils/constants';\n\nconst { useLocation } = unlock( routerPrivateApis );\n\nconst postTypesWithoutParentTemplate = [\n\tTEMPLATE_POST_TYPE,\n\tTEMPLATE_PART_POST_TYPE,\n\tNAVIGATION_POST_TYPE,\n\tPATTERN_TYPES.user,\n];\n\nconst authorizedPostTypes = [ 'page', 'post' ];\n\nfunction getPostType( name ) {\n\tlet postType;\n\tif ( name === 'navigation-item' ) {\n\t\tpostType = NAVIGATION_POST_TYPE;\n\t} else if ( name === 'pattern-item' ) {\n\t\tpostType = PATTERN_TYPES.user;\n\t} else if ( name === 'template-part-item' ) {\n\t\tpostType = TEMPLATE_PART_POST_TYPE;\n\t} else if ( name === 'templates' ) {\n\t\tpostType = TEMPLATE_POST_TYPE;\n\t} else if ( name === 'template-item' ) {\n\t\tpostType = TEMPLATE_POST_TYPE;\n\t} else if ( name === 'page-item' || name === 'pages' ) {\n\t\tpostType = 'page';\n\t} else if ( name === 'post-item' || name === 'posts' ) {\n\t\tpostType = 'post';\n\t}\n\n\treturn postType;\n}\n\nexport function useResolveEditedEntity() {\n\tconst { name, params = {}, query } = useLocation();\n\tconst { postId = query?.postId } = params; // Fallback to query param for postId for list view routes.\n\tconst postType = getPostType( name, postId ) ?? query?.postType;\n\n\tconst homePage = useSelect( ( select ) => {\n\t\tconst { getHomePage } = unlock( select( coreDataStore ) );\n\t\treturn getHomePage();\n\t}, [] );\n\n\t/**\n\t * This is a hook that recreates the logic to resolve a template for a given WordPress postID postTypeId\n\t * in order to match the frontend as closely as possible in the site editor.\n\t *\n\t * It is not possible to rely on the server logic because there maybe unsaved changes that impact the template resolution.\n\t */\n\tconst resolvedTemplateId = useSelect(\n\t\t( select ) => {\n\t\t\t// If we're rendering a post type that doesn't have a template\n\t\t\t// no need to resolve its template.\n\t\t\tif (\n\t\t\t\tpostTypesWithoutParentTemplate.includes( postType ) &&\n\t\t\t\tpostId\n\t\t\t) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Don't trigger resolution for multi-selected posts.\n\t\t\tif ( postId && postId.includes( ',' ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst { getTemplateId } = unlock( select( coreDataStore ) );\n\n\t\t\t// If we're rendering a specific page, we need to resolve its template.\n\t\t\t// The site editor only supports pages for now, not other CPTs.\n\t\t\tif (\n\t\t\t\tpostType &&\n\t\t\t\tpostId &&\n\t\t\t\tauthorizedPostTypes.includes( postType )\n\t\t\t) {\n\t\t\t\treturn getTemplateId( postType, postId );\n\t\t\t}\n\n\t\t\t// If we're rendering the home page, and we have a static home page, resolve its template.\n\t\t\tif ( homePage?.postType === 'page' ) {\n\t\t\t\treturn getTemplateId( 'page', homePage?.postId );\n\t\t\t}\n\n\t\t\tif ( homePage?.postType === 'wp_template' ) {\n\t\t\t\treturn homePage?.postId;\n\t\t\t}\n\t\t},\n\t\t[ homePage, postId, postType ]\n\t);\n\n\tconst context = useMemo( () => {\n\t\tif ( postTypesWithoutParentTemplate.includes( postType ) && postId ) {\n\t\t\treturn {};\n\t\t}\n\n\t\tif ( postType && postId && authorizedPostTypes.includes( postType ) ) {\n\t\t\treturn { postType, postId };\n\t\t}\n\t\t// TODO: for post types lists we should probably not render the front page, but maybe a placeholder\n\t\t// with a message like \"Select a page\" or something similar.\n\t\tif ( homePage?.postType === 'page' ) {\n\t\t\treturn { postType: 'page', postId: homePage?.postId };\n\t\t}\n\n\t\treturn {};\n\t}, [ homePage, postType, postId ] );\n\n\tif ( postTypesWithoutParentTemplate.includes( postType ) && postId ) {\n\t\treturn { isReady: true, postType, postId, context };\n\t}\n\n\tif ( !! homePage ) {\n\t\treturn {\n\t\t\tisReady: resolvedTemplateId !== undefined,\n\t\t\tpostType: TEMPLATE_POST_TYPE,\n\t\t\tpostId: resolvedTemplateId,\n\t\t\tcontext,\n\t\t};\n\t}\n\n\treturn { isReady: false };\n}\n\nexport function useSyncDeprecatedEntityIntoState( {\n\tpostType,\n\tpostId,\n\tcontext,\n\tisReady,\n} ) {\n\tconst { setEditedEntity } = useDispatch( editSiteStore );\n\n\tuseEffect( () => {\n\t\tif ( isReady ) {\n\t\t\t// setEditedEntity expects a string (because the postId used to be\n\t\t\t// the template slug, even for edited templates). Now the postId can\n\t\t\t// be a number (either because it's an auto-draft or edited\n\t\t\t// template). Passing a number could break plugins doing things like\n\t\t\t// `id.includes`. It would be way more complex to keep passing the\n\t\t\t// template slug, while also being incorrect, so the easiest\n\t\t\t// solution is to cast the postId to a string.\n\t\t\tsetEditedEntity( postType, String( postId ), context );\n\t\t}\n\t}, [ isReady, postType, postId, context, setEditedEntity ] );\n}\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { useEffect, useMemo } from '@wordpress/element';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { store as coreDataStore } from '@wordpress/core-data';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\n\n/**\n * Internal dependencies\n */\nimport { store as editSiteStore } from '../../store';\nimport { unlock } from '../../lock-unlock';\nimport {\n\tATTACHMENT_POST_TYPE,\n\tTEMPLATE_POST_TYPE,\n\tTEMPLATE_PART_POST_TYPE,\n\tNAVIGATION_POST_TYPE,\n\tPATTERN_TYPES,\n} from '../../utils/constants';\n\nconst { useLocation } = unlock( routerPrivateApis );\n\nconst postTypesWithoutParentTemplate = [\n\tATTACHMENT_POST_TYPE,\n\tTEMPLATE_POST_TYPE,\n\tTEMPLATE_PART_POST_TYPE,\n\tNAVIGATION_POST_TYPE,\n\tPATTERN_TYPES.user,\n];\n\nconst authorizedPostTypes = [ 'page', 'post' ];\n\nfunction getPostType( name ) {\n\tlet postType;\n\tif ( name === 'navigation-item' ) {\n\t\tpostType = NAVIGATION_POST_TYPE;\n\t} else if ( name === 'pattern-item' ) {\n\t\tpostType = PATTERN_TYPES.user;\n\t} else if ( name === 'template-part-item' ) {\n\t\tpostType = TEMPLATE_PART_POST_TYPE;\n\t} else if ( name === 'templates' ) {\n\t\tpostType = TEMPLATE_POST_TYPE;\n\t} else if ( name === 'template-item' ) {\n\t\tpostType = TEMPLATE_POST_TYPE;\n\t} else if ( name === 'page-item' || name === 'pages' ) {\n\t\tpostType = 'page';\n\t} else if ( name === 'post-item' || name === 'posts' ) {\n\t\tpostType = 'post';\n\t} else if ( name === 'attachment-item' ) {\n\t\tpostType = ATTACHMENT_POST_TYPE;\n\t}\n\n\treturn postType;\n}\n\nexport function useResolveEditedEntity() {\n\tconst { name, params = {}, query } = useLocation();\n\tconst { postId = query?.postId } = params; // Fallback to query param for postId for list view routes.\n\tconst postType = getPostType( name, postId ) ?? query?.postType;\n\n\tconst homePage = useSelect( ( select ) => {\n\t\tconst { getHomePage } = unlock( select( coreDataStore ) );\n\t\treturn getHomePage();\n\t}, [] );\n\n\t/**\n\t * This is a hook that recreates the logic to resolve a template for a given WordPress postID postTypeId\n\t * in order to match the frontend as closely as possible in the site editor.\n\t *\n\t * It is not possible to rely on the server logic because there maybe unsaved changes that impact the template resolution.\n\t */\n\tconst resolvedTemplateId = useSelect(\n\t\t( select ) => {\n\t\t\t// If we're rendering a post type that doesn't have a template\n\t\t\t// no need to resolve its template.\n\t\t\tif (\n\t\t\t\tpostTypesWithoutParentTemplate.includes( postType ) &&\n\t\t\t\tpostId\n\t\t\t) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Don't trigger resolution for multi-selected posts.\n\t\t\tif ( postId && postId.includes( ',' ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst { getTemplateId } = unlock( select( coreDataStore ) );\n\n\t\t\t// If we're rendering a specific page, we need to resolve its template.\n\t\t\t// The site editor only supports pages for now, not other CPTs.\n\t\t\tif (\n\t\t\t\tpostType &&\n\t\t\t\tpostId &&\n\t\t\t\tauthorizedPostTypes.includes( postType )\n\t\t\t) {\n\t\t\t\treturn getTemplateId( postType, postId );\n\t\t\t}\n\n\t\t\t// If we're rendering the home page, and we have a static home page, resolve its template.\n\t\t\tif ( homePage?.postType === 'page' ) {\n\t\t\t\treturn getTemplateId( 'page', homePage?.postId );\n\t\t\t}\n\n\t\t\tif ( homePage?.postType === 'wp_template' ) {\n\t\t\t\treturn homePage?.postId;\n\t\t\t}\n\t\t},\n\t\t[ homePage, postId, postType ]\n\t);\n\n\tconst context = useMemo( () => {\n\t\tif ( postTypesWithoutParentTemplate.includes( postType ) && postId ) {\n\t\t\treturn {};\n\t\t}\n\n\t\tif ( postType && postId && authorizedPostTypes.includes( postType ) ) {\n\t\t\treturn { postType, postId };\n\t\t}\n\t\t// TODO: for post types lists we should probably not render the front page, but maybe a placeholder\n\t\t// with a message like \"Select a page\" or something similar.\n\t\tif ( homePage?.postType === 'page' ) {\n\t\t\treturn { postType: 'page', postId: homePage?.postId };\n\t\t}\n\n\t\treturn {};\n\t}, [ homePage, postType, postId ] );\n\n\tif ( postTypesWithoutParentTemplate.includes( postType ) && postId ) {\n\t\treturn { isReady: true, postType, postId, context };\n\t}\n\n\tif ( !! homePage ) {\n\t\treturn {\n\t\t\tisReady: resolvedTemplateId !== undefined,\n\t\t\tpostType: TEMPLATE_POST_TYPE,\n\t\t\tpostId: resolvedTemplateId,\n\t\t\tcontext,\n\t\t};\n\t}\n\n\treturn { isReady: false };\n}\n\nexport function useSyncDeprecatedEntityIntoState( {\n\tpostType,\n\tpostId,\n\tcontext,\n\tisReady,\n} ) {\n\tconst { setEditedEntity } = useDispatch( editSiteStore );\n\n\tuseEffect( () => {\n\t\tif ( isReady ) {\n\t\t\t// setEditedEntity expects a string (because the postId used to be\n\t\t\t// the template slug, even for edited templates). Now the postId can\n\t\t\t// be a number (either because it's an auto-draft or edited\n\t\t\t// template). Passing a number could break plugins doing things like\n\t\t\t// `id.includes`. It would be way more complex to keep passing the\n\t\t\t// template slug, while also being incorrect, so the easiest\n\t\t\t// solution is to cast the postId to a string.\n\t\t\tsetEditedEntity( postType, String( postId ), context );\n\t\t}\n\t}, [ isReady, postType, postId, context, setEditedEntity ] );\n}\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -9,6 +9,8 @@ import { privateApis as editorPrivateApis } from "@wordpress/editor";
9
9
  import { privateApis as routerPrivateApis } from "@wordpress/router";
10
10
  import { useView } from "@wordpress/views";
11
11
  import { useSelect } from "@wordpress/data";
12
+ import { addQueryArgs } from "@wordpress/url";
13
+ import { Button } from "@wordpress/components";
12
14
  import {
13
15
  LAYOUT_GRID,
14
16
  LAYOUT_TABLE,
@@ -26,9 +28,7 @@ import {
26
28
  previewField,
27
29
  templatePartAuthorField
28
30
  } from "./fields.mjs";
29
- import { addQueryArgs } from "@wordpress/url";
30
31
  import usePatternCategories from "../sidebar-navigation-screen-patterns/use-pattern-categories.mjs";
31
- import { Button } from "@wordpress/components";
32
32
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
33
33
  var { ExperimentalBlockEditorProvider } = unlock(blockEditorPrivateApis);
34
34
  var { usePostActions, patternTitleField } = unlock(editorPrivateApis);
@@ -184,7 +184,13 @@ function DataviewsPatterns() {
184
184
  children: __("Reset view")
185
185
  }
186
186
  ),
187
- /* @__PURE__ */ jsx(PatternsActions, {})
187
+ /* @__PURE__ */ jsx(
188
+ PatternsActions,
189
+ {
190
+ categoryId,
191
+ postType
192
+ }
193
+ )
188
194
  ] }),
189
195
  children: /* @__PURE__ */ jsx(
190
196
  DataViews,
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/components/page-patterns/index.js"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { Page } from '@wordpress/admin-ui';\nimport { __ } from '@wordpress/i18n';\nimport { useMemo } from '@wordpress/element';\nimport { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';\nimport { DataViews, filterSortAndPaginate } from '@wordpress/dataviews';\nimport { useEntityRecords, store as coreStore } from '@wordpress/core-data';\nimport { privateApis as editorPrivateApis } from '@wordpress/editor';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\nimport { useView } from '@wordpress/views';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport {\n\tLAYOUT_GRID,\n\tLAYOUT_TABLE,\n\tPATTERN_TYPES,\n\tTEMPLATE_PART_POST_TYPE,\n\tPATTERN_DEFAULT_CATEGORY,\n} from '../../utils/constants';\nimport usePatternSettings from './use-pattern-settings';\nimport { unlock } from '../../lock-unlock';\nimport usePatterns, { useAugmentPatternsWithPermissions } from './use-patterns';\nimport PatternsActions from './actions';\nimport { useEditPostAction } from '../dataviews-actions';\nimport {\n\tpatternStatusField,\n\tpreviewField,\n\ttemplatePartAuthorField,\n} from './fields';\nimport { addQueryArgs } from '@wordpress/url';\nimport usePatternCategories from '../sidebar-navigation-screen-patterns/use-pattern-categories';\nimport { Button } from '@wordpress/components';\n\nconst { ExperimentalBlockEditorProvider } = unlock( blockEditorPrivateApis );\nconst { usePostActions, patternTitleField } = unlock( editorPrivateApis );\nconst { useLocation, useHistory } = unlock( routerPrivateApis );\n\nconst EMPTY_ARRAY = [];\nconst defaultLayouts = {\n\t[ LAYOUT_TABLE ]: {\n\t\tlayout: {\n\t\t\tstyles: {\n\t\t\t\tauthor: {\n\t\t\t\t\twidth: '1%',\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n\t[ LAYOUT_GRID ]: {\n\t\tlayout: {\n\t\t\tbadgeFields: [ 'sync-status' ],\n\t\t},\n\t},\n};\nconst DEFAULT_VIEW = {\n\ttype: LAYOUT_GRID,\n\tperPage: 20,\n\ttitleField: 'title',\n\tmediaField: 'preview',\n\tfields: [ 'sync-status' ],\n\tfilters: [],\n\t...defaultLayouts[ LAYOUT_GRID ],\n};\n\nfunction usePagePatternsHeader( type, categoryId ) {\n\tconst { patternCategories } = usePatternCategories();\n\tconst templatePartAreas = useSelect(\n\t\t( select ) =>\n\t\t\tselect( coreStore ).getCurrentTheme()\n\t\t\t\t?.default_template_part_areas || [],\n\t\t[]\n\t);\n\tlet title, description, patternCategory;\n\tif ( type === TEMPLATE_PART_POST_TYPE ) {\n\t\tconst templatePartArea = templatePartAreas.find(\n\t\t\t( area ) => area.area === categoryId\n\t\t);\n\t\ttitle = templatePartArea?.label || __( 'All Template Parts' );\n\t\tdescription =\n\t\t\ttemplatePartArea?.description ||\n\t\t\t__( 'Includes every template part defined for any area.' );\n\t} else if ( type === PATTERN_TYPES.user && !! categoryId ) {\n\t\tpatternCategory = patternCategories.find(\n\t\t\t( category ) => category.name === categoryId\n\t\t);\n\t\ttitle = patternCategory?.label;\n\t\tdescription = patternCategory?.description;\n\t}\n\n\treturn { title, description };\n}\n\nexport default function DataviewsPatterns() {\n\tconst { path, query } = useLocation();\n\tconst { postType = 'wp_block', categoryId: categoryIdFromURL } = query;\n\tconst history = useHistory();\n\tconst categoryId = categoryIdFromURL || PATTERN_DEFAULT_CATEGORY;\n\tconst { view, updateView, isModified, resetToDefault } = useView( {\n\t\tkind: 'postType',\n\t\tname: postType,\n\t\tslug: categoryId,\n\t\tdefaultView: DEFAULT_VIEW,\n\t\tqueryParams: {\n\t\t\tpage: query.pageNumber,\n\t\t\tsearch: query.search,\n\t\t},\n\t\tonChangeQueryParams: ( params ) => {\n\t\t\thistory.navigate(\n\t\t\t\taddQueryArgs( path, {\n\t\t\t\t\t...query,\n\t\t\t\t\tpageNumber: params.page,\n\t\t\t\t\tsearch: params.search,\n\t\t\t\t} )\n\t\t\t);\n\t\t},\n\t} );\n\tconst viewSyncStatus = view.filters?.find(\n\t\t( { field } ) => field === 'sync-status'\n\t)?.value;\n\tconst { patterns, isResolving } = usePatterns( postType, categoryId, {\n\t\tsearch: view.search,\n\t\tsyncStatus: viewSyncStatus,\n\t} );\n\n\tconst { records } = useEntityRecords( 'postType', TEMPLATE_PART_POST_TYPE, {\n\t\tper_page: -1,\n\t} );\n\n\tconst authors = useMemo( () => {\n\t\tif ( ! records ) {\n\t\t\treturn EMPTY_ARRAY;\n\t\t}\n\t\tconst authorsSet = new Set();\n\t\trecords.forEach( ( template ) => {\n\t\t\tauthorsSet.add( template.author_text );\n\t\t} );\n\t\treturn Array.from( authorsSet ).map( ( author ) => ( {\n\t\t\tvalue: author,\n\t\t\tlabel: author,\n\t\t} ) );\n\t}, [ records ] );\n\n\tconst fields = useMemo( () => {\n\t\tconst _fields = [ previewField, patternTitleField ];\n\n\t\tif ( postType === PATTERN_TYPES.user ) {\n\t\t\t_fields.push( patternStatusField );\n\t\t} else if ( postType === TEMPLATE_PART_POST_TYPE ) {\n\t\t\t_fields.push( {\n\t\t\t\t...templatePartAuthorField,\n\t\t\t\telements: authors,\n\t\t\t} );\n\t\t}\n\n\t\treturn _fields;\n\t}, [ postType, authors ] );\n\n\tconst { data, paginationInfo } = useMemo( () => {\n\t\t// Search is managed server-side as well as filters for patterns.\n\t\t// However, the author filter in template parts is done client-side.\n\t\tconst viewWithoutFilters = { ...view };\n\t\tdelete viewWithoutFilters.search;\n\t\tif ( postType !== TEMPLATE_PART_POST_TYPE ) {\n\t\t\tviewWithoutFilters.filters = [];\n\t\t}\n\t\treturn filterSortAndPaginate( patterns, viewWithoutFilters, fields );\n\t}, [ patterns, view, fields, postType ] );\n\n\tconst dataWithPermissions = useAugmentPatternsWithPermissions( data );\n\n\tconst templatePartActions = usePostActions( {\n\t\tpostType: TEMPLATE_PART_POST_TYPE,\n\t\tcontext: 'list',\n\t} );\n\tconst patternActions = usePostActions( {\n\t\tpostType: PATTERN_TYPES.user,\n\t\tcontext: 'list',\n\t} );\n\tconst editAction = useEditPostAction();\n\n\tconst actions = useMemo( () => {\n\t\tif ( postType === TEMPLATE_PART_POST_TYPE ) {\n\t\t\treturn [ editAction, ...templatePartActions ].filter( Boolean );\n\t\t}\n\t\treturn [ editAction, ...patternActions ].filter( Boolean );\n\t}, [ editAction, postType, templatePartActions, patternActions ] );\n\tconst settings = usePatternSettings();\n\tconst { title, description } = usePagePatternsHeader(\n\t\tpostType,\n\t\tcategoryId\n\t);\n\n\t// Wrap everything in a block editor provider.\n\t// This ensures 'styles' that are needed for the previews are synced\n\t// from the site editor store to the block editor store.\n\treturn (\n\t\t<ExperimentalBlockEditorProvider settings={ settings }>\n\t\t\t<Page\n\t\t\t\tclassName=\"edit-site-page-patterns-dataviews\"\n\t\t\t\ttitle={ title }\n\t\t\t\tsubTitle={ description }\n\t\t\t\tactions={\n\t\t\t\t\t<>\n\t\t\t\t\t\t{ isModified && (\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\tonClick={ resetToDefault }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ __( 'Reset view' ) }\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t<PatternsActions />\n\t\t\t\t\t</>\n\t\t\t\t}\n\t\t\t>\n\t\t\t\t<DataViews\n\t\t\t\t\tkey={ categoryId + postType }\n\t\t\t\t\tpaginationInfo={ paginationInfo }\n\t\t\t\t\tfields={ fields }\n\t\t\t\t\tactions={ actions }\n\t\t\t\t\tdata={ dataWithPermissions || EMPTY_ARRAY }\n\t\t\t\t\tgetItemId={ ( item ) => item.name ?? item.id }\n\t\t\t\t\tisLoading={ isResolving }\n\t\t\t\t\tisItemClickable={ ( item ) =>\n\t\t\t\t\t\titem.type !== PATTERN_TYPES.theme\n\t\t\t\t\t}\n\t\t\t\t\tonClickItem={ ( item ) => {\n\t\t\t\t\t\thistory.navigate(\n\t\t\t\t\t\t\t`/${ item.type }/${\n\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\tPATTERN_TYPES.user,\n\t\t\t\t\t\t\t\t\tTEMPLATE_PART_POST_TYPE,\n\t\t\t\t\t\t\t\t].includes( item.type )\n\t\t\t\t\t\t\t\t\t? item.id\n\t\t\t\t\t\t\t\t\t: item.name\n\t\t\t\t\t\t\t}?canvas=edit`\n\t\t\t\t\t\t);\n\t\t\t\t\t} }\n\t\t\t\t\tview={ view }\n\t\t\t\t\tonChangeView={ updateView }\n\t\t\t\t\tdefaultLayouts={ defaultLayouts }\n\t\t\t\t/>\n\t\t\t</Page>\n\t\t</ExperimentalBlockEditorProvider>\n\t);\n}\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { Page } from '@wordpress/admin-ui';\nimport { __ } from '@wordpress/i18n';\nimport { useMemo } from '@wordpress/element';\nimport { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';\nimport { DataViews, filterSortAndPaginate } from '@wordpress/dataviews';\nimport { useEntityRecords, store as coreStore } from '@wordpress/core-data';\nimport { privateApis as editorPrivateApis } from '@wordpress/editor';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\nimport { useView } from '@wordpress/views';\nimport { useSelect } from '@wordpress/data';\nimport { addQueryArgs } from '@wordpress/url';\nimport { Button } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport {\n\tLAYOUT_GRID,\n\tLAYOUT_TABLE,\n\tPATTERN_TYPES,\n\tTEMPLATE_PART_POST_TYPE,\n\tPATTERN_DEFAULT_CATEGORY,\n} from '../../utils/constants';\nimport usePatternSettings from './use-pattern-settings';\nimport { unlock } from '../../lock-unlock';\nimport usePatterns, { useAugmentPatternsWithPermissions } from './use-patterns';\nimport PatternsActions from './actions';\nimport { useEditPostAction } from '../dataviews-actions';\nimport {\n\tpatternStatusField,\n\tpreviewField,\n\ttemplatePartAuthorField,\n} from './fields';\nimport usePatternCategories from '../sidebar-navigation-screen-patterns/use-pattern-categories';\n\nconst { ExperimentalBlockEditorProvider } = unlock( blockEditorPrivateApis );\nconst { usePostActions, patternTitleField } = unlock( editorPrivateApis );\nconst { useLocation, useHistory } = unlock( routerPrivateApis );\n\nconst EMPTY_ARRAY = [];\nconst defaultLayouts = {\n\t[ LAYOUT_TABLE ]: {\n\t\tlayout: {\n\t\t\tstyles: {\n\t\t\t\tauthor: {\n\t\t\t\t\twidth: '1%',\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n\t[ LAYOUT_GRID ]: {\n\t\tlayout: {\n\t\t\tbadgeFields: [ 'sync-status' ],\n\t\t},\n\t},\n};\nconst DEFAULT_VIEW = {\n\ttype: LAYOUT_GRID,\n\tperPage: 20,\n\ttitleField: 'title',\n\tmediaField: 'preview',\n\tfields: [ 'sync-status' ],\n\tfilters: [],\n\t...defaultLayouts[ LAYOUT_GRID ],\n};\n\nfunction usePagePatternsHeader( type, categoryId ) {\n\tconst { patternCategories } = usePatternCategories();\n\tconst templatePartAreas = useSelect(\n\t\t( select ) =>\n\t\t\tselect( coreStore ).getCurrentTheme()\n\t\t\t\t?.default_template_part_areas || [],\n\t\t[]\n\t);\n\tlet title, description, patternCategory;\n\tif ( type === TEMPLATE_PART_POST_TYPE ) {\n\t\tconst templatePartArea = templatePartAreas.find(\n\t\t\t( area ) => area.area === categoryId\n\t\t);\n\t\ttitle = templatePartArea?.label || __( 'All Template Parts' );\n\t\tdescription =\n\t\t\ttemplatePartArea?.description ||\n\t\t\t__( 'Includes every template part defined for any area.' );\n\t} else if ( type === PATTERN_TYPES.user && !! categoryId ) {\n\t\tpatternCategory = patternCategories.find(\n\t\t\t( category ) => category.name === categoryId\n\t\t);\n\t\ttitle = patternCategory?.label;\n\t\tdescription = patternCategory?.description;\n\t}\n\n\treturn { title, description };\n}\n\nexport default function DataviewsPatterns() {\n\tconst { path, query } = useLocation();\n\tconst { postType = 'wp_block', categoryId: categoryIdFromURL } = query;\n\tconst history = useHistory();\n\tconst categoryId = categoryIdFromURL || PATTERN_DEFAULT_CATEGORY;\n\tconst { view, updateView, isModified, resetToDefault } = useView( {\n\t\tkind: 'postType',\n\t\tname: postType,\n\t\tslug: categoryId,\n\t\tdefaultView: DEFAULT_VIEW,\n\t\tqueryParams: {\n\t\t\tpage: query.pageNumber,\n\t\t\tsearch: query.search,\n\t\t},\n\t\tonChangeQueryParams: ( params ) => {\n\t\t\thistory.navigate(\n\t\t\t\taddQueryArgs( path, {\n\t\t\t\t\t...query,\n\t\t\t\t\tpageNumber: params.page,\n\t\t\t\t\tsearch: params.search,\n\t\t\t\t} )\n\t\t\t);\n\t\t},\n\t} );\n\tconst viewSyncStatus = view.filters?.find(\n\t\t( { field } ) => field === 'sync-status'\n\t)?.value;\n\tconst { patterns, isResolving } = usePatterns( postType, categoryId, {\n\t\tsearch: view.search,\n\t\tsyncStatus: viewSyncStatus,\n\t} );\n\n\tconst { records } = useEntityRecords( 'postType', TEMPLATE_PART_POST_TYPE, {\n\t\tper_page: -1,\n\t} );\n\n\tconst authors = useMemo( () => {\n\t\tif ( ! records ) {\n\t\t\treturn EMPTY_ARRAY;\n\t\t}\n\t\tconst authorsSet = new Set();\n\t\trecords.forEach( ( template ) => {\n\t\t\tauthorsSet.add( template.author_text );\n\t\t} );\n\t\treturn Array.from( authorsSet ).map( ( author ) => ( {\n\t\t\tvalue: author,\n\t\t\tlabel: author,\n\t\t} ) );\n\t}, [ records ] );\n\n\tconst fields = useMemo( () => {\n\t\tconst _fields = [ previewField, patternTitleField ];\n\n\t\tif ( postType === PATTERN_TYPES.user ) {\n\t\t\t_fields.push( patternStatusField );\n\t\t} else if ( postType === TEMPLATE_PART_POST_TYPE ) {\n\t\t\t_fields.push( {\n\t\t\t\t...templatePartAuthorField,\n\t\t\t\telements: authors,\n\t\t\t} );\n\t\t}\n\n\t\treturn _fields;\n\t}, [ postType, authors ] );\n\n\tconst { data, paginationInfo } = useMemo( () => {\n\t\t// Search is managed server-side as well as filters for patterns.\n\t\t// However, the author filter in template parts is done client-side.\n\t\tconst viewWithoutFilters = { ...view };\n\t\tdelete viewWithoutFilters.search;\n\t\tif ( postType !== TEMPLATE_PART_POST_TYPE ) {\n\t\t\tviewWithoutFilters.filters = [];\n\t\t}\n\t\treturn filterSortAndPaginate( patterns, viewWithoutFilters, fields );\n\t}, [ patterns, view, fields, postType ] );\n\n\tconst dataWithPermissions = useAugmentPatternsWithPermissions( data );\n\n\tconst templatePartActions = usePostActions( {\n\t\tpostType: TEMPLATE_PART_POST_TYPE,\n\t\tcontext: 'list',\n\t} );\n\tconst patternActions = usePostActions( {\n\t\tpostType: PATTERN_TYPES.user,\n\t\tcontext: 'list',\n\t} );\n\tconst editAction = useEditPostAction();\n\n\tconst actions = useMemo( () => {\n\t\tif ( postType === TEMPLATE_PART_POST_TYPE ) {\n\t\t\treturn [ editAction, ...templatePartActions ].filter( Boolean );\n\t\t}\n\t\treturn [ editAction, ...patternActions ].filter( Boolean );\n\t}, [ editAction, postType, templatePartActions, patternActions ] );\n\tconst settings = usePatternSettings();\n\tconst { title, description } = usePagePatternsHeader(\n\t\tpostType,\n\t\tcategoryId\n\t);\n\n\t// Wrap everything in a block editor provider.\n\t// This ensures 'styles' that are needed for the previews are synced\n\t// from the site editor store to the block editor store.\n\treturn (\n\t\t<ExperimentalBlockEditorProvider settings={ settings }>\n\t\t\t<Page\n\t\t\t\tclassName=\"edit-site-page-patterns-dataviews\"\n\t\t\t\ttitle={ title }\n\t\t\t\tsubTitle={ description }\n\t\t\t\tactions={\n\t\t\t\t\t<>\n\t\t\t\t\t\t{ isModified && (\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\tonClick={ resetToDefault }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ __( 'Reset view' ) }\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t<PatternsActions\n\t\t\t\t\t\t\tcategoryId={ categoryId }\n\t\t\t\t\t\t\tpostType={ postType }\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\t\t<DataViews\n\t\t\t\t\tkey={ categoryId + postType }\n\t\t\t\t\tpaginationInfo={ paginationInfo }\n\t\t\t\t\tfields={ fields }\n\t\t\t\t\tactions={ actions }\n\t\t\t\t\tdata={ dataWithPermissions || EMPTY_ARRAY }\n\t\t\t\t\tgetItemId={ ( item ) => item.name ?? item.id }\n\t\t\t\t\tisLoading={ isResolving }\n\t\t\t\t\tisItemClickable={ ( item ) =>\n\t\t\t\t\t\titem.type !== PATTERN_TYPES.theme\n\t\t\t\t\t}\n\t\t\t\t\tonClickItem={ ( item ) => {\n\t\t\t\t\t\thistory.navigate(\n\t\t\t\t\t\t\t`/${ item.type }/${\n\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\tPATTERN_TYPES.user,\n\t\t\t\t\t\t\t\t\tTEMPLATE_PART_POST_TYPE,\n\t\t\t\t\t\t\t\t].includes( item.type )\n\t\t\t\t\t\t\t\t\t? item.id\n\t\t\t\t\t\t\t\t\t: item.name\n\t\t\t\t\t\t\t}?canvas=edit`\n\t\t\t\t\t\t);\n\t\t\t\t\t} }\n\t\t\t\t\tview={ view }\n\t\t\t\t\tonChangeView={ updateView }\n\t\t\t\t\tdefaultLayouts={ defaultLayouts }\n\t\t\t\t/>\n\t\t\t</Page>\n\t\t</ExperimentalBlockEditorProvider>\n\t);\n}\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -0,0 +1,25 @@
1
+ // packages/edit-site/src/components/site-editor-routes/attachment-item.js
2
+ import { __ } from "@wordpress/i18n";
3
+ import Editor from "../editor/index.mjs";
4
+ import SidebarNavigationScreen from "../sidebar-navigation-screen/index.mjs";
5
+ import { jsx } from "react/jsx-runtime";
6
+ var attachmentItemRoute = {
7
+ name: "attachment-item",
8
+ path: "/attachment/:postId",
9
+ areas: {
10
+ sidebar: /* @__PURE__ */ jsx(
11
+ SidebarNavigationScreen,
12
+ {
13
+ title: __("Media"),
14
+ backPath: "/",
15
+ content: null
16
+ }
17
+ ),
18
+ mobile: /* @__PURE__ */ jsx(Editor, {}),
19
+ preview: /* @__PURE__ */ jsx(Editor, {})
20
+ }
21
+ };
22
+ export {
23
+ attachmentItemRoute
24
+ };
25
+ //# sourceMappingURL=attachment-item.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/components/site-editor-routes/attachment-item.js"],
4
+ "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport Editor from '../editor';\nimport SidebarNavigationScreen from '../sidebar-navigation-screen';\n\nexport const attachmentItemRoute = {\n\tname: 'attachment-item',\n\tpath: '/attachment/:postId',\n\tareas: {\n\t\tsidebar: (\n\t\t\t<SidebarNavigationScreen\n\t\t\t\ttitle={ __( 'Media' ) }\n\t\t\t\tbackPath=\"/\"\n\t\t\t\t// Empty content - no sidebar list needed for attachments\n\t\t\t\tcontent={ null }\n\t\t\t/>\n\t\t),\n\t\tmobile: <Editor />,\n\t\tpreview: <Editor />,\n\t},\n};\n"],
5
+ "mappings": ";AAGA,SAAS,UAAU;AAKnB,OAAO,YAAY;AACnB,OAAO,6BAA6B;AAOjC;AALI,IAAM,sBAAsB;AAAA,EAClC,MAAM;AAAA,EACN,MAAM;AAAA,EACN,OAAO;AAAA,IACN,SACC;AAAA,MAAC;AAAA;AAAA,QACA,OAAQ,GAAI,OAAQ;AAAA,QACpB,UAAS;AAAA,QAET,SAAU;AAAA;AAAA,IACX;AAAA,IAED,QAAQ,oBAAC,UAAO;AAAA,IAChB,SAAS,oBAAC,UAAO;AAAA,EAClB;AACD;",
6
+ "names": []
7
+ }
@@ -14,9 +14,11 @@ import { templatesRoute } from "./templates.mjs";
14
14
  import { templateItemRoute } from "./template-item.mjs";
15
15
  import { pagesRoute } from "./pages.mjs";
16
16
  import { pageItemRoute } from "./page-item.mjs";
17
+ import { attachmentItemRoute } from "./attachment-item.mjs";
17
18
  import { stylebookRoute } from "./stylebook.mjs";
18
19
  import { notFoundRoute } from "./notfound.mjs";
19
20
  var routes = [
21
+ ...window?.__experimentalMediaEditor ? [attachmentItemRoute] : [],
20
22
  pageItemRoute,
21
23
  pagesRoute,
22
24
  templateItemRoute,
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/components/site-editor-routes/index.js"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { useRegistry, useDispatch } from '@wordpress/data';\nimport { useEffect } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\nimport { store as siteEditorStore } from '../../store';\nimport { homeRoute } from './home';\nimport { stylesRoute } from './styles';\nimport { navigationRoute } from './navigation';\nimport { navigationItemRoute } from './navigation-item';\nimport { patternsRoute } from './patterns';\nimport { patternItemRoute } from './pattern-item';\nimport { templatePartItemRoute } from './template-part-item';\nimport { templatesRoute } from './templates';\nimport { templateItemRoute } from './template-item';\nimport { pagesRoute } from './pages';\nimport { pageItemRoute } from './page-item';\nimport { stylebookRoute } from './stylebook';\nimport { notFoundRoute } from './notfound';\n\nconst routes = [\n\tpageItemRoute,\n\tpagesRoute,\n\ttemplateItemRoute,\n\ttemplatesRoute,\n\ttemplatePartItemRoute,\n\tpatternItemRoute,\n\tpatternsRoute,\n\tnavigationItemRoute,\n\tnavigationRoute,\n\tstylesRoute,\n\thomeRoute,\n\tstylebookRoute,\n\tnotFoundRoute,\n];\n\nexport function useRegisterSiteEditorRoutes() {\n\tconst registry = useRegistry();\n\tconst { registerRoute } = unlock( useDispatch( siteEditorStore ) );\n\tuseEffect( () => {\n\t\tregistry.batch( () => {\n\t\t\troutes.forEach( registerRoute );\n\t\t} );\n\t}, [ registry, registerRoute ] );\n}\n"],
5
- "mappings": ";AAGA,SAAS,aAAa,mBAAmB;AACzC,SAAS,iBAAiB;AAK1B,SAAS,cAAc;AACvB,SAAS,SAAS,uBAAuB;AACzC,SAAS,iBAAiB;AAC1B,SAAS,mBAAmB;AAC5B,SAAS,uBAAuB;AAChC,SAAS,2BAA2B;AACpC,SAAS,qBAAqB;AAC9B,SAAS,wBAAwB;AACjC,SAAS,6BAA6B;AACtC,SAAS,sBAAsB;AAC/B,SAAS,yBAAyB;AAClC,SAAS,kBAAkB;AAC3B,SAAS,qBAAqB;AAC9B,SAAS,sBAAsB;AAC/B,SAAS,qBAAqB;AAE9B,IAAM,SAAS;AAAA,EACd;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD;AAEO,SAAS,8BAA8B;AAC7C,QAAM,WAAW,YAAY;AAC7B,QAAM,EAAE,cAAc,IAAI,OAAQ,YAAa,eAAgB,CAAE;AACjE,YAAW,MAAM;AAChB,aAAS,MAAO,MAAM;AACrB,aAAO,QAAS,aAAc;AAAA,IAC/B,CAAE;AAAA,EACH,GAAG,CAAE,UAAU,aAAc,CAAE;AAChC;",
4
+ "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { useRegistry, useDispatch } from '@wordpress/data';\nimport { useEffect } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\nimport { store as siteEditorStore } from '../../store';\nimport { homeRoute } from './home';\nimport { stylesRoute } from './styles';\nimport { navigationRoute } from './navigation';\nimport { navigationItemRoute } from './navigation-item';\nimport { patternsRoute } from './patterns';\nimport { patternItemRoute } from './pattern-item';\nimport { templatePartItemRoute } from './template-part-item';\nimport { templatesRoute } from './templates';\nimport { templateItemRoute } from './template-item';\nimport { pagesRoute } from './pages';\nimport { pageItemRoute } from './page-item';\nimport { attachmentItemRoute } from './attachment-item';\nimport { stylebookRoute } from './stylebook';\nimport { notFoundRoute } from './notfound';\n\nconst routes = [\n\t...( window?.__experimentalMediaEditor ? [ attachmentItemRoute ] : [] ),\n\tpageItemRoute,\n\tpagesRoute,\n\ttemplateItemRoute,\n\ttemplatesRoute,\n\ttemplatePartItemRoute,\n\tpatternItemRoute,\n\tpatternsRoute,\n\tnavigationItemRoute,\n\tnavigationRoute,\n\tstylesRoute,\n\thomeRoute,\n\tstylebookRoute,\n\tnotFoundRoute,\n];\n\nexport function useRegisterSiteEditorRoutes() {\n\tconst registry = useRegistry();\n\tconst { registerRoute } = unlock( useDispatch( siteEditorStore ) );\n\tuseEffect( () => {\n\t\tregistry.batch( () => {\n\t\t\troutes.forEach( registerRoute );\n\t\t} );\n\t}, [ registry, registerRoute ] );\n}\n"],
5
+ "mappings": ";AAGA,SAAS,aAAa,mBAAmB;AACzC,SAAS,iBAAiB;AAK1B,SAAS,cAAc;AACvB,SAAS,SAAS,uBAAuB;AACzC,SAAS,iBAAiB;AAC1B,SAAS,mBAAmB;AAC5B,SAAS,uBAAuB;AAChC,SAAS,2BAA2B;AACpC,SAAS,qBAAqB;AAC9B,SAAS,wBAAwB;AACjC,SAAS,6BAA6B;AACtC,SAAS,sBAAsB;AAC/B,SAAS,yBAAyB;AAClC,SAAS,kBAAkB;AAC3B,SAAS,qBAAqB;AAC9B,SAAS,2BAA2B;AACpC,SAAS,sBAAsB;AAC/B,SAAS,qBAAqB;AAE9B,IAAM,SAAS;AAAA,EACd,GAAK,QAAQ,4BAA4B,CAAE,mBAAoB,IAAI,CAAC;AAAA,EACpE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD;AAEO,SAAS,8BAA8B;AAC7C,QAAM,WAAW,YAAY;AAC7B,QAAM,EAAE,cAAc,IAAI,OAAQ,YAAa,eAAgB,CAAE;AACjE,YAAW,MAAM;AAChB,aAAS,MAAO,MAAM;AACrB,aAAO,QAAS,aAAc;AAAA,IAC/B,CAAE;AAAA,EACH,GAAG,CAAE,UAAU,aAAc,CAAE;AAChC;",
6
6
  "names": []
7
7
  }
@@ -2,6 +2,7 @@
2
2
  import { __ } from "@wordpress/i18n";
3
3
  import { privateApis as patternPrivateApis } from "@wordpress/patterns";
4
4
  import { unlock } from "../lock-unlock.mjs";
5
+ var ATTACHMENT_POST_TYPE = "attachment";
5
6
  var NAVIGATION_POST_TYPE = "wp_navigation";
6
7
  var TEMPLATE_POST_TYPE = "wp_template";
7
8
  var TEMPLATE_PART_POST_TYPE = "wp_template_part";
@@ -40,6 +41,7 @@ var OPERATOR_IS_NONE = "isNone";
40
41
  var OPERATOR_BEFORE = "before";
41
42
  var OPERATOR_AFTER = "after";
42
43
  export {
44
+ ATTACHMENT_POST_TYPE,
43
45
  EXCLUDED_PATTERN_SOURCES,
44
46
  FOCUSABLE_ENTITIES,
45
47
  LAYOUT_GRID,
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/utils/constants.js"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { privateApis as patternPrivateApis } from '@wordpress/patterns';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../lock-unlock';\n\n// Navigation\nexport const NAVIGATION_POST_TYPE = 'wp_navigation';\n\n// Templates.\nexport const TEMPLATE_POST_TYPE = 'wp_template';\nexport const TEMPLATE_PART_POST_TYPE = 'wp_template_part';\nexport const TEMPLATE_ORIGINS = {\n\tcustom: 'custom',\n\ttheme: 'theme',\n\tplugin: 'plugin',\n};\nexport const TEMPLATE_PART_AREA_DEFAULT_CATEGORY = 'uncategorized';\nexport const TEMPLATE_PART_ALL_AREAS_CATEGORY = 'all-parts';\n\n// Patterns.\nexport const {\n\tPATTERN_TYPES,\n\tPATTERN_DEFAULT_CATEGORY,\n\tPATTERN_USER_CATEGORY,\n\tEXCLUDED_PATTERN_SOURCES,\n\tPATTERN_SYNC_TYPES,\n} = unlock( patternPrivateApis );\n\n// Entities that are editable in focus mode.\nexport const FOCUSABLE_ENTITIES = [\n\tTEMPLATE_PART_POST_TYPE,\n\tNAVIGATION_POST_TYPE,\n\tPATTERN_TYPES.user,\n];\n\nexport const POST_TYPE_LABELS = {\n\t[ TEMPLATE_POST_TYPE ]: __( 'Template' ),\n\t[ TEMPLATE_PART_POST_TYPE ]: __( 'Template part' ),\n\t[ PATTERN_TYPES.user ]: __( 'Pattern' ),\n\t[ NAVIGATION_POST_TYPE ]: __( 'Navigation' ),\n};\n\n// DataViews constants\nexport const LAYOUT_GRID = 'grid';\nexport const LAYOUT_TABLE = 'table';\nexport const LAYOUT_LIST = 'list';\n\nexport const OPERATOR_IS = 'is';\nexport const OPERATOR_IS_NOT = 'isNot';\nexport const OPERATOR_IS_ANY = 'isAny';\nexport const OPERATOR_IS_NONE = 'isNone';\nexport const OPERATOR_BEFORE = 'before';\nexport const OPERATOR_AFTER = 'after';\n"],
5
- "mappings": ";AAGA,SAAS,UAAU;AACnB,SAAS,eAAe,0BAA0B;AAKlD,SAAS,cAAc;AAGhB,IAAM,uBAAuB;AAG7B,IAAM,qBAAqB;AAC3B,IAAM,0BAA0B;AAChC,IAAM,mBAAmB;AAAA,EAC/B,QAAQ;AAAA,EACR,OAAO;AAAA,EACP,QAAQ;AACT;AACO,IAAM,sCAAsC;AAC5C,IAAM,mCAAmC;AAGzC,IAAM;AAAA,EACZ;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD,IAAI,OAAQ,kBAAmB;AAGxB,IAAM,qBAAqB;AAAA,EACjC;AAAA,EACA;AAAA,EACA,cAAc;AACf;AAEO,IAAM,mBAAmB;AAAA,EAC/B,CAAE,kBAAmB,GAAG,GAAI,UAAW;AAAA,EACvC,CAAE,uBAAwB,GAAG,GAAI,eAAgB;AAAA,EACjD,CAAE,cAAc,IAAK,GAAG,GAAI,SAAU;AAAA,EACtC,CAAE,oBAAqB,GAAG,GAAI,YAAa;AAC5C;AAGO,IAAM,cAAc;AACpB,IAAM,eAAe;AACrB,IAAM,cAAc;AAEpB,IAAM,cAAc;AACpB,IAAM,kBAAkB;AACxB,IAAM,kBAAkB;AACxB,IAAM,mBAAmB;AACzB,IAAM,kBAAkB;AACxB,IAAM,iBAAiB;",
4
+ "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { privateApis as patternPrivateApis } from '@wordpress/patterns';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../lock-unlock';\n\n// Attachments / media\nexport const ATTACHMENT_POST_TYPE = 'attachment';\n\n// Navigation\nexport const NAVIGATION_POST_TYPE = 'wp_navigation';\n\n// Templates.\nexport const TEMPLATE_POST_TYPE = 'wp_template';\nexport const TEMPLATE_PART_POST_TYPE = 'wp_template_part';\nexport const TEMPLATE_ORIGINS = {\n\tcustom: 'custom',\n\ttheme: 'theme',\n\tplugin: 'plugin',\n};\nexport const TEMPLATE_PART_AREA_DEFAULT_CATEGORY = 'uncategorized';\nexport const TEMPLATE_PART_ALL_AREAS_CATEGORY = 'all-parts';\n\n// Patterns.\nexport const {\n\tPATTERN_TYPES,\n\tPATTERN_DEFAULT_CATEGORY,\n\tPATTERN_USER_CATEGORY,\n\tEXCLUDED_PATTERN_SOURCES,\n\tPATTERN_SYNC_TYPES,\n} = unlock( patternPrivateApis );\n\n// Entities that are editable in focus mode.\nexport const FOCUSABLE_ENTITIES = [\n\tTEMPLATE_PART_POST_TYPE,\n\tNAVIGATION_POST_TYPE,\n\tPATTERN_TYPES.user,\n];\n\nexport const POST_TYPE_LABELS = {\n\t[ TEMPLATE_POST_TYPE ]: __( 'Template' ),\n\t[ TEMPLATE_PART_POST_TYPE ]: __( 'Template part' ),\n\t[ PATTERN_TYPES.user ]: __( 'Pattern' ),\n\t[ NAVIGATION_POST_TYPE ]: __( 'Navigation' ),\n};\n\n// DataViews constants\nexport const LAYOUT_GRID = 'grid';\nexport const LAYOUT_TABLE = 'table';\nexport const LAYOUT_LIST = 'list';\n\nexport const OPERATOR_IS = 'is';\nexport const OPERATOR_IS_NOT = 'isNot';\nexport const OPERATOR_IS_ANY = 'isAny';\nexport const OPERATOR_IS_NONE = 'isNone';\nexport const OPERATOR_BEFORE = 'before';\nexport const OPERATOR_AFTER = 'after';\n"],
5
+ "mappings": ";AAGA,SAAS,UAAU;AACnB,SAAS,eAAe,0BAA0B;AAKlD,SAAS,cAAc;AAGhB,IAAM,uBAAuB;AAG7B,IAAM,uBAAuB;AAG7B,IAAM,qBAAqB;AAC3B,IAAM,0BAA0B;AAChC,IAAM,mBAAmB;AAAA,EAC/B,QAAQ;AAAA,EACR,OAAO;AAAA,EACP,QAAQ;AACT;AACO,IAAM,sCAAsC;AAC5C,IAAM,mCAAmC;AAGzC,IAAM;AAAA,EACZ;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD,IAAI,OAAQ,kBAAmB;AAGxB,IAAM,qBAAqB;AAAA,EACjC;AAAA,EACA;AAAA,EACA,cAAc;AACf;AAEO,IAAM,mBAAmB;AAAA,EAC/B,CAAE,kBAAmB,GAAG,GAAI,UAAW;AAAA,EACvC,CAAE,uBAAwB,GAAG,GAAI,eAAgB;AAAA,EACjD,CAAE,cAAc,IAAK,GAAG,GAAI,SAAU;AAAA,EACtC,CAAE,oBAAqB,GAAG,GAAI,YAAa;AAC5C;AAGO,IAAM,cAAc;AACpB,IAAM,eAAe;AACrB,IAAM,cAAc;AAEpB,IAAM,cAAc;AACpB,IAAM,kBAAkB;AACxB,IAAM,kBAAkB;AACxB,IAAM,mBAAmB;AACzB,IAAM,kBAAkB;AACxB,IAAM,iBAAiB;",
6
6
  "names": []
7
7
  }
@@ -278,15 +278,15 @@
278
278
  * Autogenerated by ⛋ Terrazzo. DO NOT EDIT!
279
279
  * ------------------------------------------- */
280
280
  :root {
281
- --wpds-border-radius-surface-lg: 8px; /* Large radius for surfaces */
282
- --wpds-border-radius-surface-md: 4px; /* Medium radius for surfaces */
283
- --wpds-border-radius-surface-sm: 2px; /* Small radius for surfaces */
284
- --wpds-border-radius-surface-xs: 1px; /* Extra small radius for surfaces */
285
- --wpds-border-width-interactive-focus: 2px; /* Border width for focus ring */
286
- --wpds-border-width-surface-lg: 8px; /* Large width for surfaces */
287
- --wpds-border-width-surface-md: 4px; /* Medium width for surfaces */
288
- --wpds-border-width-surface-sm: 2px; /* Small width for surfaces */
289
- --wpds-border-width-surface-xs: 1px; /* Extra small width for surfaces */
281
+ --wpds-border-radius-lg: 8px; /* Large radius */
282
+ --wpds-border-radius-md: 4px; /* Medium radius */
283
+ --wpds-border-radius-sm: 2px; /* Small radius */
284
+ --wpds-border-radius-xs: 1px; /* Extra small radius */
285
+ --wpds-border-width-focus: 2px; /* Border width for focus ring */
286
+ --wpds-border-width-lg: 8px; /* Large width */
287
+ --wpds-border-width-md: 4px; /* Medium width */
288
+ --wpds-border-width-sm: 2px; /* Small width */
289
+ --wpds-border-width-xs: 1px; /* Extra small width */
290
290
  --wpds-color-bg-interactive-brand-strong: #3858e9; /* Background color for interactive elements with brand tone and strong emphasis. */
291
291
  --wpds-color-bg-interactive-brand-strong-active: #2e49d9; /* Background color for interactive elements with brand tone and strong emphasis that are hovered, focused, or active. */
292
292
  --wpds-color-bg-interactive-brand-weak: #00000000; /* Background color for interactive elements with brand tone and weak emphasis. */
@@ -461,7 +461,7 @@
461
461
 
462
462
  @media (min-resolution: 192dpi) {
463
463
  :root {
464
- --wpds-border-width-interactive-focus: 1.5px; /* Border width for focus ring */
464
+ --wpds-border-width-focus: 1.5px; /* Border width for focus ring */
465
465
  }
466
466
  }
467
467
  /**
@@ -679,9 +679,6 @@
679
679
 
680
680
  .dataviews-bulk-actions-footer__item-count {
681
681
  color: #1e1e1e;
682
- font-weight: 499;
683
- font-size: 11px;
684
- text-transform: uppercase;
685
682
  }
686
683
 
687
684
  .dataviews-bulk-actions-footer__container {
@@ -2003,7 +2000,7 @@ div.dataviews-view-list {
2003
2000
  background-color: color-mix(in srgb, rgb(var(--wp-admin-theme-color--rgb)) 4%, #fff);
2004
2001
  }
2005
2002
 
2006
- .dataviews-view-table.has-bulk-actions tr:focus-within .dataviews-item-actions .components-button:not(.dataviews-all-actions-button), .dataviews-view-table.has-bulk-actions tr:hover .dataviews-item-actions .components-button:not(.dataviews-all-actions-button) {
2003
+ .dataviews-view-table tr:focus-within .dataviews-item-actions .components-button:not(.dataviews-all-actions-button), .dataviews-view-table tr.is-hovered .dataviews-item-actions .components-button:not(.dataviews-all-actions-button), .dataviews-view-table tr:hover .dataviews-item-actions .components-button:not(.dataviews-all-actions-button) {
2007
2004
  opacity: 1;
2008
2005
  }
2009
2006
 
@@ -2138,6 +2135,8 @@ div.dataviews-view-list {
2138
2135
  }
2139
2136
  .dataviews-column-primary__media {
2140
2137
  max-width: 60px;
2138
+ min-width: 32px;
2139
+ min-height: 32px;
2141
2140
  overflow: hidden;
2142
2141
  position: relative;
2143
2142
  flex-shrink: 0;
@@ -2146,8 +2145,8 @@ div.dataviews-view-list {
2146
2145
  }
2147
2146
 
2148
2147
  .dataviews-column-primary__media img {
2149
- width: 100%;
2150
- height: 100%;
2148
+ width: 32px;
2149
+ height: 32px;
2151
2150
  object-fit: cover;
2152
2151
  }
2153
2152
 
@@ -3208,36 +3207,19 @@ fieldset.fields__media-edit .fields__media-edit-expanded:not(.is-empty) .fields_
3208
3207
  font-weight: 600;
3209
3208
  }
3210
3209
 
3211
- .dataviews-view-grid__media .fields-controls__featured-image-image,
3212
- .dataviews-view-grid__media .fields-controls__featured-image-placeholder,
3213
- .dataviews-view-table__cell-content-wrapper.dataviews-column-primary__media .fields-controls__featured-image-image,
3214
- .dataviews-view-table__cell-content-wrapper.dataviews-column-primary__media .fields-controls__featured-image-placeholder,
3215
- .dataviews-view-list__media-wrapper .fields-controls__featured-image-image,
3216
- .dataviews-view-list__media-wrapper .fields-controls__featured-image-placeholder {
3210
+ .fields-controls__featured-image-image,
3211
+ .fields-controls__featured-image-placeholder {
3217
3212
  width: 100%;
3218
3213
  height: 100%;
3219
3214
  display: block;
3220
3215
  border-radius: 4px;
3221
3216
  }
3222
3217
 
3223
- .dataviews-view-grid__media .fields-controls__featured-image-placeholder,
3224
- .dataviews-view-table__cell-content-wrapper.dataviews-column-primary__media .fields-controls__featured-image-placeholder,
3225
- .dataviews-view-list__media-wrapper .fields-controls__featured-image-placeholder {
3218
+ .fields-controls__featured-image-placeholder {
3226
3219
  box-shadow: none;
3227
3220
  background: #f0f0f0;
3228
3221
  }
3229
3222
 
3230
- .dataviews-view-table__cell-content-wrapper.dataviews-column-primary__media .fields-controls__featured-image-image,
3231
- .dataviews-view-table__cell-content-wrapper.dataviews-column-primary__media .fields-controls__featured-image-placeholder {
3232
- width: 32px;
3233
- height: 32px;
3234
- }
3235
-
3236
- .dataforms-layouts-panel__field-control .fields-controls__featured-image-image {
3237
- width: 16px;
3238
- height: 16px;
3239
- }
3240
-
3241
3223
  .fields-controls__parent {
3242
3224
  border: 0;
3243
3225
  padding: 0;
@@ -278,15 +278,15 @@
278
278
  * Autogenerated by ⛋ Terrazzo. DO NOT EDIT!
279
279
  * ------------------------------------------- */
280
280
  :root {
281
- --wpds-border-radius-surface-lg: 8px; /* Large radius for surfaces */
282
- --wpds-border-radius-surface-md: 4px; /* Medium radius for surfaces */
283
- --wpds-border-radius-surface-sm: 2px; /* Small radius for surfaces */
284
- --wpds-border-radius-surface-xs: 1px; /* Extra small radius for surfaces */
285
- --wpds-border-width-interactive-focus: 2px; /* Border width for focus ring */
286
- --wpds-border-width-surface-lg: 8px; /* Large width for surfaces */
287
- --wpds-border-width-surface-md: 4px; /* Medium width for surfaces */
288
- --wpds-border-width-surface-sm: 2px; /* Small width for surfaces */
289
- --wpds-border-width-surface-xs: 1px; /* Extra small width for surfaces */
281
+ --wpds-border-radius-lg: 8px; /* Large radius */
282
+ --wpds-border-radius-md: 4px; /* Medium radius */
283
+ --wpds-border-radius-sm: 2px; /* Small radius */
284
+ --wpds-border-radius-xs: 1px; /* Extra small radius */
285
+ --wpds-border-width-focus: 2px; /* Border width for focus ring */
286
+ --wpds-border-width-lg: 8px; /* Large width */
287
+ --wpds-border-width-md: 4px; /* Medium width */
288
+ --wpds-border-width-sm: 2px; /* Small width */
289
+ --wpds-border-width-xs: 1px; /* Extra small width */
290
290
  --wpds-color-bg-interactive-brand-strong: #3858e9; /* Background color for interactive elements with brand tone and strong emphasis. */
291
291
  --wpds-color-bg-interactive-brand-strong-active: #2e49d9; /* Background color for interactive elements with brand tone and strong emphasis that are hovered, focused, or active. */
292
292
  --wpds-color-bg-interactive-brand-weak: #00000000; /* Background color for interactive elements with brand tone and weak emphasis. */
@@ -461,7 +461,7 @@
461
461
 
462
462
  @media (min-resolution: 192dpi) {
463
463
  :root {
464
- --wpds-border-width-interactive-focus: 1.5px; /* Border width for focus ring */
464
+ --wpds-border-width-focus: 1.5px; /* Border width for focus ring */
465
465
  }
466
466
  }
467
467
  /**
@@ -679,9 +679,6 @@
679
679
 
680
680
  .dataviews-bulk-actions-footer__item-count {
681
681
  color: #1e1e1e;
682
- font-weight: 499;
683
- font-size: 11px;
684
- text-transform: uppercase;
685
682
  }
686
683
 
687
684
  .dataviews-bulk-actions-footer__container {
@@ -2003,7 +2000,7 @@ div.dataviews-view-list {
2003
2000
  background-color: color-mix(in srgb, rgb(var(--wp-admin-theme-color--rgb)) 4%, #fff);
2004
2001
  }
2005
2002
 
2006
- .dataviews-view-table.has-bulk-actions tr:focus-within .dataviews-item-actions .components-button:not(.dataviews-all-actions-button), .dataviews-view-table.has-bulk-actions tr:hover .dataviews-item-actions .components-button:not(.dataviews-all-actions-button) {
2003
+ .dataviews-view-table tr:focus-within .dataviews-item-actions .components-button:not(.dataviews-all-actions-button), .dataviews-view-table tr.is-hovered .dataviews-item-actions .components-button:not(.dataviews-all-actions-button), .dataviews-view-table tr:hover .dataviews-item-actions .components-button:not(.dataviews-all-actions-button) {
2007
2004
  opacity: 1;
2008
2005
  }
2009
2006
 
@@ -2138,6 +2135,8 @@ div.dataviews-view-list {
2138
2135
  }
2139
2136
  .dataviews-column-primary__media {
2140
2137
  max-width: 60px;
2138
+ min-width: 32px;
2139
+ min-height: 32px;
2141
2140
  overflow: hidden;
2142
2141
  position: relative;
2143
2142
  flex-shrink: 0;
@@ -2146,8 +2145,8 @@ div.dataviews-view-list {
2146
2145
  }
2147
2146
 
2148
2147
  .dataviews-column-primary__media img {
2149
- width: 100%;
2150
- height: 100%;
2148
+ width: 32px;
2149
+ height: 32px;
2151
2150
  object-fit: cover;
2152
2151
  }
2153
2152
 
@@ -3208,36 +3207,19 @@ fieldset.fields__media-edit .fields__media-edit-expanded:not(.is-empty) .fields_
3208
3207
  font-weight: 600;
3209
3208
  }
3210
3209
 
3211
- .dataviews-view-grid__media .fields-controls__featured-image-image,
3212
- .dataviews-view-grid__media .fields-controls__featured-image-placeholder,
3213
- .dataviews-view-table__cell-content-wrapper.dataviews-column-primary__media .fields-controls__featured-image-image,
3214
- .dataviews-view-table__cell-content-wrapper.dataviews-column-primary__media .fields-controls__featured-image-placeholder,
3215
- .dataviews-view-list__media-wrapper .fields-controls__featured-image-image,
3216
- .dataviews-view-list__media-wrapper .fields-controls__featured-image-placeholder {
3210
+ .fields-controls__featured-image-image,
3211
+ .fields-controls__featured-image-placeholder {
3217
3212
  width: 100%;
3218
3213
  height: 100%;
3219
3214
  display: block;
3220
3215
  border-radius: 4px;
3221
3216
  }
3222
3217
 
3223
- .dataviews-view-grid__media .fields-controls__featured-image-placeholder,
3224
- .dataviews-view-table__cell-content-wrapper.dataviews-column-primary__media .fields-controls__featured-image-placeholder,
3225
- .dataviews-view-list__media-wrapper .fields-controls__featured-image-placeholder {
3218
+ .fields-controls__featured-image-placeholder {
3226
3219
  box-shadow: none;
3227
3220
  background: #f0f0f0;
3228
3221
  }
3229
3222
 
3230
- .dataviews-view-table__cell-content-wrapper.dataviews-column-primary__media .fields-controls__featured-image-image,
3231
- .dataviews-view-table__cell-content-wrapper.dataviews-column-primary__media .fields-controls__featured-image-placeholder {
3232
- width: 32px;
3233
- height: 32px;
3234
- }
3235
-
3236
- .dataforms-layouts-panel__field-control .fields-controls__featured-image-image {
3237
- width: 16px;
3238
- height: 16px;
3239
- }
3240
-
3241
3223
  .fields-controls__parent {
3242
3224
  border: 0;
3243
3225
  padding: 0;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wordpress/edit-site",
3
- "version": "6.38.0",
3
+ "version": "6.39.0",
4
4
  "description": "Edit Site Page module for WordPress.",
5
5
  "author": "The WordPress Contributors",
6
6
  "license": "GPL-2.0-or-later",
@@ -48,50 +48,50 @@
48
48
  ],
49
49
  "dependencies": {
50
50
  "@react-spring/web": "^9.4.5",
51
- "@wordpress/a11y": "^4.38.0",
52
- "@wordpress/admin-ui": "^1.6.0",
53
- "@wordpress/api-fetch": "^7.38.0",
54
- "@wordpress/base-styles": "^6.14.0",
55
- "@wordpress/blob": "^4.38.0",
56
- "@wordpress/block-editor": "^15.11.0",
57
- "@wordpress/block-library": "^9.38.0",
58
- "@wordpress/blocks": "^15.11.0",
59
- "@wordpress/commands": "^1.38.0",
60
- "@wordpress/components": "^32.0.0",
61
- "@wordpress/compose": "^7.38.0",
62
- "@wordpress/core-data": "^7.38.0",
63
- "@wordpress/data": "^10.38.0",
64
- "@wordpress/dataviews": "^11.2.0",
65
- "@wordpress/date": "^5.38.0",
66
- "@wordpress/deprecated": "^4.38.0",
67
- "@wordpress/dom": "^4.38.0",
68
- "@wordpress/editor": "^14.38.0",
69
- "@wordpress/element": "^6.38.0",
70
- "@wordpress/escape-html": "^3.38.0",
71
- "@wordpress/fields": "^0.30.0",
72
- "@wordpress/global-styles-engine": "^1.5.0",
73
- "@wordpress/global-styles-ui": "^1.5.0",
74
- "@wordpress/hooks": "^4.38.0",
75
- "@wordpress/html-entities": "^4.38.0",
76
- "@wordpress/i18n": "^6.11.0",
77
- "@wordpress/icons": "^11.5.0",
78
- "@wordpress/keyboard-shortcuts": "^5.38.0",
79
- "@wordpress/keycodes": "^4.38.0",
80
- "@wordpress/media-utils": "^5.38.0",
81
- "@wordpress/notices": "^5.38.0",
82
- "@wordpress/patterns": "^2.38.0",
83
- "@wordpress/plugins": "^7.38.0",
84
- "@wordpress/preferences": "^4.38.0",
85
- "@wordpress/primitives": "^4.38.0",
86
- "@wordpress/private-apis": "^1.38.0",
87
- "@wordpress/reusable-blocks": "^5.38.0",
88
- "@wordpress/router": "^1.38.0",
89
- "@wordpress/style-engine": "^2.38.0",
90
- "@wordpress/url": "^4.38.0",
91
- "@wordpress/viewport": "^6.38.0",
92
- "@wordpress/views": "^1.5.0",
93
- "@wordpress/widgets": "^4.38.0",
94
- "@wordpress/wordcount": "^4.38.0",
51
+ "@wordpress/a11y": "^4.39.0",
52
+ "@wordpress/admin-ui": "^1.7.0",
53
+ "@wordpress/api-fetch": "^7.39.0",
54
+ "@wordpress/base-styles": "^6.15.0",
55
+ "@wordpress/blob": "^4.39.0",
56
+ "@wordpress/block-editor": "^15.12.0",
57
+ "@wordpress/block-library": "^9.39.0",
58
+ "@wordpress/blocks": "^15.12.0",
59
+ "@wordpress/commands": "^1.39.0",
60
+ "@wordpress/components": "^32.1.0",
61
+ "@wordpress/compose": "^7.39.0",
62
+ "@wordpress/core-data": "^7.39.0",
63
+ "@wordpress/data": "^10.39.0",
64
+ "@wordpress/dataviews": "^11.3.0",
65
+ "@wordpress/date": "^5.39.0",
66
+ "@wordpress/deprecated": "^4.39.0",
67
+ "@wordpress/dom": "^4.39.0",
68
+ "@wordpress/editor": "^14.39.0",
69
+ "@wordpress/element": "^6.39.0",
70
+ "@wordpress/escape-html": "^3.39.0",
71
+ "@wordpress/fields": "^0.31.0",
72
+ "@wordpress/global-styles-engine": "^1.6.0",
73
+ "@wordpress/global-styles-ui": "^1.6.0",
74
+ "@wordpress/hooks": "^4.39.0",
75
+ "@wordpress/html-entities": "^4.39.0",
76
+ "@wordpress/i18n": "^6.12.0",
77
+ "@wordpress/icons": "^11.6.0",
78
+ "@wordpress/keyboard-shortcuts": "^5.39.0",
79
+ "@wordpress/keycodes": "^4.39.0",
80
+ "@wordpress/media-utils": "^5.39.0",
81
+ "@wordpress/notices": "^5.39.0",
82
+ "@wordpress/patterns": "^2.39.0",
83
+ "@wordpress/plugins": "^7.39.0",
84
+ "@wordpress/preferences": "^4.39.0",
85
+ "@wordpress/primitives": "^4.39.0",
86
+ "@wordpress/private-apis": "^1.39.0",
87
+ "@wordpress/reusable-blocks": "^5.39.0",
88
+ "@wordpress/router": "^1.39.0",
89
+ "@wordpress/style-engine": "^2.39.0",
90
+ "@wordpress/url": "^4.39.0",
91
+ "@wordpress/viewport": "^6.39.0",
92
+ "@wordpress/views": "^1.6.0",
93
+ "@wordpress/widgets": "^4.39.0",
94
+ "@wordpress/wordcount": "^4.39.0",
95
95
  "change-case": "^4.1.2",
96
96
  "clsx": "^2.1.1",
97
97
  "colord": "^2.9.2",
@@ -106,5 +106,5 @@
106
106
  "publishConfig": {
107
107
  "access": "public"
108
108
  },
109
- "gitHead": "50c4c0f51e4797c217946ce42adfaa5eb026f33f"
109
+ "gitHead": "eee1cfb1472f11183e40fb77465a5f13145df7ad"
110
110
  }
@@ -12,6 +12,7 @@ import { useInstanceId, useReducedMotion } from '@wordpress/compose';
12
12
  import {
13
13
  EditorKeyboardShortcutsRegister,
14
14
  privateApis as editorPrivateApis,
15
+ store as editorStore,
15
16
  } from '@wordpress/editor';
16
17
  import { __, sprintf } from '@wordpress/i18n';
17
18
  import { store as coreDataStore } from '@wordpress/core-data';
@@ -145,6 +146,7 @@ export default function EditSiteEditor( { isHomeRoute = false } ) {
145
146
  const settings = useSpecificEditorSettings();
146
147
  const { initialBlockSelection, ...editorSettings } = settings;
147
148
  const { resetZoomLevel } = unlock( useDispatch( blockEditorStore ) );
149
+ const { setCurrentRevisionId } = unlock( useDispatch( editorStore ) );
148
150
  const { createSuccessNotice } = useDispatch( noticesStore );
149
151
  const history = useHistory();
150
152
  const onActionPerformed = useCallback(
@@ -257,6 +259,7 @@ export default function EditSiteEditor( { isHomeRoute = false } ) {
257
259
  tooltipPosition="middle right"
258
260
  onClick={ () => {
259
261
  resetZoomLevel();
262
+ setCurrentRevisionId( null );
260
263
  history.navigate(
261
264
  getNavigationPath(
262
265
  location,