@wordpress/edit-site 6.30.1-next.a730c9c8c.0 → 6.31.1-next.233ccab9b.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 (77) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/build/components/add-new-template/add-custom-template-modal-content.js +3 -2
  3. package/build/components/add-new-template/add-custom-template-modal-content.js.map +1 -1
  4. package/build/components/add-new-template/index.js +1 -5
  5. package/build/components/add-new-template/index.js.map +1 -1
  6. package/build/components/add-new-template/utils.js +26 -87
  7. package/build/components/add-new-template/utils.js.map +1 -1
  8. package/build/components/dataviews-actions/index.js +51 -1
  9. package/build/components/dataviews-actions/index.js.map +1 -1
  10. package/build/components/editor/index.js +1 -1
  11. package/build/components/editor/index.js.map +1 -1
  12. package/build/components/editor/use-resolve-edited-entity.js +42 -14
  13. package/build/components/editor/use-resolve-edited-entity.js.map +1 -1
  14. package/build/components/global-styles/screen-css.js +2 -3
  15. package/build/components/global-styles/screen-css.js.map +1 -1
  16. package/build/components/global-styles/screen-root.js +3 -35
  17. package/build/components/global-styles/screen-root.js.map +1 -1
  18. package/build/components/page-templates/fields.js +65 -5
  19. package/build/components/page-templates/fields.js.map +1 -1
  20. package/build/components/page-templates/hooks.js +1 -1
  21. package/build/components/page-templates/hooks.js.map +1 -1
  22. package/build/components/page-templates/index.js +103 -29
  23. package/build/components/page-templates/index.js.map +1 -1
  24. package/build/components/sidebar-global-styles-wrapper/index.js +45 -13
  25. package/build/components/sidebar-global-styles-wrapper/index.js.map +1 -1
  26. package/build/components/sidebar-navigation-screen-templates-browse/content.js +11 -5
  27. package/build/components/sidebar-navigation-screen-templates-browse/content.js.map +1 -1
  28. package/build/components/site-editor-routes/index.js +1 -1
  29. package/build/components/site-editor-routes/index.js.map +1 -1
  30. package/build/components/site-editor-routes/template-item.js +29 -23
  31. package/build/components/site-editor-routes/template-item.js.map +1 -1
  32. package/build-module/components/add-new-template/add-custom-template-modal-content.js +3 -2
  33. package/build-module/components/add-new-template/add-custom-template-modal-content.js.map +1 -1
  34. package/build-module/components/add-new-template/index.js +2 -6
  35. package/build-module/components/add-new-template/index.js.map +1 -1
  36. package/build-module/components/add-new-template/utils.js +26 -87
  37. package/build-module/components/add-new-template/utils.js.map +1 -1
  38. package/build-module/components/dataviews-actions/index.js +49 -0
  39. package/build-module/components/dataviews-actions/index.js.map +1 -1
  40. package/build-module/components/editor/index.js +1 -1
  41. package/build-module/components/editor/index.js.map +1 -1
  42. package/build-module/components/editor/use-resolve-edited-entity.js +42 -14
  43. package/build-module/components/editor/use-resolve-edited-entity.js.map +1 -1
  44. package/build-module/components/global-styles/screen-css.js +2 -3
  45. package/build-module/components/global-styles/screen-css.js.map +1 -1
  46. package/build-module/components/global-styles/screen-root.js +4 -36
  47. package/build-module/components/global-styles/screen-root.js.map +1 -1
  48. package/build-module/components/page-templates/fields.js +65 -5
  49. package/build-module/components/page-templates/fields.js.map +1 -1
  50. package/build-module/components/page-templates/hooks.js +1 -1
  51. package/build-module/components/page-templates/hooks.js.map +1 -1
  52. package/build-module/components/page-templates/index.js +105 -31
  53. package/build-module/components/page-templates/index.js.map +1 -1
  54. package/build-module/components/sidebar-global-styles-wrapper/index.js +48 -16
  55. package/build-module/components/sidebar-global-styles-wrapper/index.js.map +1 -1
  56. package/build-module/components/sidebar-navigation-screen-templates-browse/content.js +11 -5
  57. package/build-module/components/sidebar-navigation-screen-templates-browse/content.js.map +1 -1
  58. package/build-module/components/site-editor-routes/index.js +2 -2
  59. package/build-module/components/site-editor-routes/index.js.map +1 -1
  60. package/build-module/components/site-editor-routes/template-item.js +28 -22
  61. package/build-module/components/site-editor-routes/template-item.js.map +1 -1
  62. package/package.json +41 -41
  63. package/src/components/add-new-template/add-custom-template-modal-content.js +3 -4
  64. package/src/components/add-new-template/index.js +1 -8
  65. package/src/components/add-new-template/utils.js +36 -121
  66. package/src/components/dataviews-actions/index.js +51 -0
  67. package/src/components/editor/index.js +1 -0
  68. package/src/components/editor/use-resolve-edited-entity.js +54 -7
  69. package/src/components/global-styles/screen-css.js +4 -5
  70. package/src/components/global-styles/screen-root.js +5 -51
  71. package/src/components/page-templates/fields.js +70 -4
  72. package/src/components/page-templates/hooks.js +1 -1
  73. package/src/components/page-templates/index.js +160 -57
  74. package/src/components/sidebar-global-styles-wrapper/index.js +62 -16
  75. package/src/components/sidebar-navigation-screen-templates-browse/content.js +17 -7
  76. package/src/components/site-editor-routes/index.js +2 -1
  77. package/src/components/site-editor-routes/template-item.js +34 -26
@@ -2,12 +2,20 @@
2
2
  * WordPress dependencies
3
3
  */
4
4
  import { __ } from '@wordpress/i18n';
5
+ import { useSelect } from '@wordpress/data';
6
+ import { store as coreStore } from '@wordpress/core-data';
5
7
  import { useMemo, useState } from '@wordpress/element';
6
8
  import { privateApis as routerPrivateApis } from '@wordpress/router';
7
9
  import { useViewportMatch } from '@wordpress/compose';
8
- import { Button } from '@wordpress/components';
10
+ import {
11
+ Button,
12
+ __experimentalHStack as HStack,
13
+ DropdownMenu,
14
+ MenuGroup,
15
+ MenuItem,
16
+ } from '@wordpress/components';
9
17
  import { addQueryArgs, removeQueryArgs } from '@wordpress/url';
10
- import { seen } from '@wordpress/icons';
18
+ import { seen, moreVertical } from '@wordpress/icons';
11
19
 
12
20
  /**
13
21
  * Internal dependencies
@@ -24,21 +32,59 @@ const GlobalStylesPageActions = ( {
24
32
  path,
25
33
  } ) => {
26
34
  const history = useHistory();
35
+ const canEditCSS = useSelect( ( select ) => {
36
+ const { getEntityRecord, __experimentalGetCurrentGlobalStylesId } =
37
+ select( coreStore );
38
+ const globalStylesId = __experimentalGetCurrentGlobalStylesId();
39
+ const globalStyles = globalStylesId
40
+ ? getEntityRecord( 'root', 'globalStyles', globalStylesId )
41
+ : undefined;
42
+ return !! globalStyles?._links?.[ 'wp:action-edit-css' ];
43
+ }, [] );
44
+
27
45
  return (
28
- <Button
29
- isPressed={ isStyleBookOpened }
30
- icon={ seen }
31
- label={ __( 'Style Book' ) }
32
- onClick={ () => {
33
- setIsStyleBookOpened( ! isStyleBookOpened );
34
- const updatedPath = ! isStyleBookOpened
35
- ? addQueryArgs( path, { preview: 'stylebook' } )
36
- : removeQueryArgs( path, 'preview' );
37
- // Navigate to the updated path.
38
- history.navigate( updatedPath );
39
- } }
40
- size="compact"
41
- />
46
+ <HStack>
47
+ <Button
48
+ isPressed={ isStyleBookOpened }
49
+ icon={ seen }
50
+ label={ __( 'Style Book' ) }
51
+ onClick={ () => {
52
+ setIsStyleBookOpened( ! isStyleBookOpened );
53
+ const updatedPath = ! isStyleBookOpened
54
+ ? addQueryArgs( path, { preview: 'stylebook' } )
55
+ : removeQueryArgs( path, 'preview' );
56
+ // Navigate to the updated path.
57
+ history.navigate( updatedPath );
58
+ } }
59
+ size="compact"
60
+ />
61
+ { canEditCSS && (
62
+ <DropdownMenu
63
+ icon={ moreVertical }
64
+ label={ __( 'More' ) }
65
+ toggleProps={ { size: 'compact' } }
66
+ >
67
+ { ( { onClose } ) => (
68
+ <MenuGroup>
69
+ { canEditCSS && (
70
+ <MenuItem
71
+ onClick={ () => {
72
+ onClose();
73
+ history.navigate(
74
+ addQueryArgs( path, {
75
+ section: '/css',
76
+ } )
77
+ );
78
+ } }
79
+ >
80
+ { __( 'Additional CSS' ) }
81
+ </MenuItem>
82
+ ) }
83
+ </MenuGroup>
84
+ ) }
85
+ </DropdownMenu>
86
+ ) }
87
+ </HStack>
42
88
  );
43
89
  };
44
90
 
@@ -14,7 +14,6 @@ import { addQueryArgs } from '@wordpress/url';
14
14
  import SidebarNavigationItem from '../sidebar-navigation-item';
15
15
  import { useAddedBy } from '../page-templates/hooks';
16
16
  import { layout } from '@wordpress/icons';
17
- import { TEMPLATE_POST_TYPE } from '../../utils/constants';
18
17
  import { unlock } from '../../lock-unlock';
19
18
 
20
19
  const { useLocation } = unlock( routerPrivateApis );
@@ -37,11 +36,15 @@ function TemplateDataviewItem( { template, isActive } ) {
37
36
 
38
37
  export default function DataviewsTemplatesSidebarContent() {
39
38
  const {
40
- query: { activeView = 'all' },
39
+ query: { activeView = 'active' },
41
40
  } = useLocation();
42
- const { records } = useEntityRecords( 'postType', TEMPLATE_POST_TYPE, {
43
- per_page: -1,
44
- } );
41
+ const { records } = useEntityRecords(
42
+ 'postType',
43
+ 'wp_registered_template',
44
+ {
45
+ per_page: -1,
46
+ }
47
+ );
45
48
  const firstItemPerAuthorText = useMemo( () => {
46
49
  const firstItemPerAuthor = records?.reduce( ( acc, template ) => {
47
50
  const author = template.author_text;
@@ -61,9 +64,16 @@ export default function DataviewsTemplatesSidebarContent() {
61
64
  <SidebarNavigationItem
62
65
  to="/template"
63
66
  icon={ layout }
64
- aria-current={ activeView === 'all' }
67
+ aria-current={ activeView === 'active' }
68
+ >
69
+ { __( 'Active templates' ) }
70
+ </SidebarNavigationItem>
71
+ <SidebarNavigationItem
72
+ to={ addQueryArgs( '/template', { activeView: 'user' } ) }
73
+ icon={ layout }
74
+ aria-current={ activeView === 'user' }
65
75
  >
66
- { __( 'All templates' ) }
76
+ { __( 'Custom templates' ) }
67
77
  </SidebarNavigationItem>
68
78
  { firstItemPerAuthorText.map( ( template ) => {
69
79
  return (
@@ -17,7 +17,7 @@ import { patternsRoute } from './patterns';
17
17
  import { patternItemRoute } from './pattern-item';
18
18
  import { templatePartItemRoute } from './template-part-item';
19
19
  import { templatesRoute } from './templates';
20
- import { templateItemRoute } from './template-item';
20
+ import { templateItemRoute, staticTemplateItemRoute } from './template-item';
21
21
  import { pagesRoute } from './pages';
22
22
  import { pageItemRoute } from './page-item';
23
23
  import { stylebookRoute } from './stylebook';
@@ -27,6 +27,7 @@ const routes = [
27
27
  pageItemRoute,
28
28
  pagesRoute,
29
29
  templateItemRoute,
30
+ staticTemplateItemRoute,
30
31
  templatesRoute,
31
32
  templatePartItemRoute,
32
33
  patternItemRoute,
@@ -5,33 +5,41 @@ import Editor from '../editor';
5
5
  import SidebarNavigationScreenTemplatesBrowse from '../sidebar-navigation-screen-templates-browse';
6
6
  import SidebarNavigationScreenUnsupported from '../sidebar-navigation-screen-unsupported';
7
7
 
8
+ const areas = {
9
+ sidebar( { siteData } ) {
10
+ const isBlockTheme = siteData.currentTheme?.is_block_theme;
11
+ return isBlockTheme ? (
12
+ <SidebarNavigationScreenTemplatesBrowse backPath="/" />
13
+ ) : (
14
+ <SidebarNavigationScreenUnsupported />
15
+ );
16
+ },
17
+ mobile( { siteData } ) {
18
+ const isBlockTheme = siteData.currentTheme?.is_block_theme;
19
+ return isBlockTheme ? (
20
+ <Editor />
21
+ ) : (
22
+ <SidebarNavigationScreenUnsupported />
23
+ );
24
+ },
25
+ preview( { siteData } ) {
26
+ const isBlockTheme = siteData.currentTheme?.is_block_theme;
27
+ return isBlockTheme ? (
28
+ <Editor />
29
+ ) : (
30
+ <SidebarNavigationScreenUnsupported />
31
+ );
32
+ },
33
+ };
34
+
8
35
  export const templateItemRoute = {
9
36
  name: 'template-item',
10
37
  path: '/wp_template/*postId',
11
- areas: {
12
- sidebar( { siteData } ) {
13
- const isBlockTheme = siteData.currentTheme?.is_block_theme;
14
- return isBlockTheme ? (
15
- <SidebarNavigationScreenTemplatesBrowse backPath="/" />
16
- ) : (
17
- <SidebarNavigationScreenUnsupported />
18
- );
19
- },
20
- mobile( { siteData } ) {
21
- const isBlockTheme = siteData.currentTheme?.is_block_theme;
22
- return isBlockTheme ? (
23
- <Editor />
24
- ) : (
25
- <SidebarNavigationScreenUnsupported />
26
- );
27
- },
28
- preview( { siteData } ) {
29
- const isBlockTheme = siteData.currentTheme?.is_block_theme;
30
- return isBlockTheme ? (
31
- <Editor />
32
- ) : (
33
- <SidebarNavigationScreenUnsupported />
34
- );
35
- },
36
- },
38
+ areas,
39
+ };
40
+
41
+ export const staticTemplateItemRoute = {
42
+ name: 'static-template-item',
43
+ path: '/wp_registered_template/*postId',
44
+ areas,
37
45
  };