@wordpress/edit-site 6.35.2-next.dc3f6d3c1.0 → 6.36.1-next.8b30e05b0.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 (64) hide show
  1. package/CHANGELOG.md +1 -1
  2. package/build/components/add-new-template-legacy/add-custom-generic-template-modal-content.js +109 -0
  3. package/build/components/add-new-template-legacy/add-custom-generic-template-modal-content.js.map +7 -0
  4. package/build/components/add-new-template-legacy/add-custom-template-modal-content.js +328 -0
  5. package/build/components/add-new-template-legacy/add-custom-template-modal-content.js.map +7 -0
  6. package/build/components/add-new-template-legacy/index.js +389 -0
  7. package/build/components/add-new-template-legacy/index.js.map +7 -0
  8. package/build/components/add-new-template-legacy/utils.js +620 -0
  9. package/build/components/add-new-template-legacy/utils.js.map +7 -0
  10. package/build/components/page-templates/fields.js +3 -1
  11. package/build/components/page-templates/fields.js.map +2 -2
  12. package/build/components/page-templates/index-legacy.js +185 -0
  13. package/build/components/page-templates/index-legacy.js.map +7 -0
  14. package/build/components/post-list/index.js +10 -0
  15. package/build/components/post-list/index.js.map +2 -2
  16. package/build/components/sidebar-navigation-screen-templates-browse/content-legacy.js +101 -0
  17. package/build/components/sidebar-navigation-screen-templates-browse/content-legacy.js.map +7 -0
  18. package/build/components/sidebar-navigation-screen-templates-browse/index.js +2 -1
  19. package/build/components/sidebar-navigation-screen-templates-browse/index.js.map +3 -3
  20. package/build/components/site-editor-routes/templates.js +10 -2
  21. package/build/components/site-editor-routes/templates.js.map +3 -3
  22. package/build/components/site-hub/index.js +1 -1
  23. package/build/components/site-hub/index.js.map +2 -2
  24. package/build/utils/constants.js +6 -0
  25. package/build/utils/constants.js.map +2 -2
  26. package/build-module/components/add-new-template-legacy/add-custom-generic-template-modal-content.js +93 -0
  27. package/build-module/components/add-new-template-legacy/add-custom-generic-template-modal-content.js.map +7 -0
  28. package/build-module/components/add-new-template-legacy/add-custom-template-modal-content.js +316 -0
  29. package/build-module/components/add-new-template-legacy/add-custom-template-modal-content.js.map +7 -0
  30. package/build-module/components/add-new-template-legacy/index.js +390 -0
  31. package/build-module/components/add-new-template-legacy/index.js.map +7 -0
  32. package/build-module/components/add-new-template-legacy/utils.js +589 -0
  33. package/build-module/components/add-new-template-legacy/utils.js.map +7 -0
  34. package/build-module/components/page-templates/fields.js +3 -1
  35. package/build-module/components/page-templates/fields.js.map +2 -2
  36. package/build-module/components/page-templates/index-legacy.js +154 -0
  37. package/build-module/components/page-templates/index-legacy.js.map +7 -0
  38. package/build-module/components/post-list/index.js +12 -0
  39. package/build-module/components/post-list/index.js.map +2 -2
  40. package/build-module/components/sidebar-navigation-screen-templates-browse/content-legacy.js +70 -0
  41. package/build-module/components/sidebar-navigation-screen-templates-browse/content-legacy.js.map +7 -0
  42. package/build-module/components/sidebar-navigation-screen-templates-browse/index.js +2 -1
  43. package/build-module/components/sidebar-navigation-screen-templates-browse/index.js.map +2 -2
  44. package/build-module/components/site-editor-routes/templates.js +10 -2
  45. package/build-module/components/site-editor-routes/templates.js.map +2 -2
  46. package/build-module/components/site-hub/index.js +1 -1
  47. package/build-module/components/site-hub/index.js.map +2 -2
  48. package/build-module/utils/constants.js +4 -0
  49. package/build-module/utils/constants.js.map +2 -2
  50. package/build-style/style-rtl.css +263 -27
  51. package/build-style/style.css +263 -27
  52. package/package.json +46 -46
  53. package/src/components/add-new-template-legacy/add-custom-generic-template-modal-content.js +94 -0
  54. package/src/components/add-new-template-legacy/add-custom-template-modal-content.js +314 -0
  55. package/src/components/add-new-template-legacy/index.js +454 -0
  56. package/src/components/add-new-template-legacy/utils.js +760 -0
  57. package/src/components/page-templates/fields.js +13 -9
  58. package/src/components/page-templates/index-legacy.js +166 -0
  59. package/src/components/post-list/index.js +13 -0
  60. package/src/components/sidebar-navigation-screen-templates-browse/content-legacy.js +79 -0
  61. package/src/components/sidebar-navigation-screen-templates-browse/index.js +8 -1
  62. package/src/components/site-editor-routes/templates.js +22 -3
  63. package/src/components/site-hub/index.js +1 -1
  64. package/src/utils/constants.js +2 -0
@@ -72,12 +72,14 @@ var previewField = {
72
72
  var descriptionField = {
73
73
  label: __("Description"),
74
74
  id: "description",
75
- render: function RenderDescription({ item }) {
75
+ render: window?.__experimentalTemplateActivate ? function RenderDescription({ item }) {
76
76
  const defaultTemplateTypes = useAllDefaultTemplateTypes();
77
77
  const defaultTemplateType = defaultTemplateTypes.find(
78
78
  (type) => type.slug === item.slug
79
79
  );
80
80
  return item.description ? decodeEntities(item.description) : defaultTemplateType?.description;
81
+ } : ({ item }) => {
82
+ return item.description && decodeEntities(item.description);
81
83
  },
82
84
  enableSorting: false,
83
85
  enableGlobalSearch: true
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/components/page-templates/fields.js"],
4
- "sourcesContent": ["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tIcon,\n\t__experimentalHStack as HStack,\n\tprivateApis as componentsPrivateApis,\n} from '@wordpress/components';\nimport { __, _x } from '@wordpress/i18n';\nimport { useState, useMemo } from '@wordpress/element';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { parse } from '@wordpress/blocks';\nimport { BlockPreview } from '@wordpress/block-editor';\nimport {\n\tEditorProvider,\n\tprivateApis as editorPrivateApis,\n} from '@wordpress/editor';\nimport {\n\tprivateApis as corePrivateApis,\n\tstore as coreStore,\n} from '@wordpress/core-data';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { useAddedBy } from './hooks';\nimport { useDefaultTemplateTypes } from '../add-new-template/utils';\nimport usePatternSettings from '../page-patterns/use-pattern-settings';\nimport { unlock } from '../../lock-unlock';\n\nconst { Badge } = unlock( componentsPrivateApis );\nconst { useEntityRecordsWithPermissions } = unlock( corePrivateApis );\nconst { useStyle } = unlock( editorPrivateApis );\n\nfunction useAllDefaultTemplateTypes() {\n\tconst defaultTemplateTypes = useDefaultTemplateTypes();\n\tconst { records: staticRecords } = useEntityRecordsWithPermissions(\n\t\t'root',\n\t\t'registeredTemplate'\n\t);\n\treturn [\n\t\t...defaultTemplateTypes,\n\t\t...staticRecords\n\t\t\t?.filter( ( record ) => ! record.is_custom )\n\t\t\t.map( ( record ) => {\n\t\t\t\treturn {\n\t\t\t\t\tslug: record.slug,\n\t\t\t\t\ttitle: record.title.rendered,\n\t\t\t\t\tdescription: record.description,\n\t\t\t\t};\n\t\t\t} ),\n\t];\n}\n\nfunction PreviewField( { item } ) {\n\tconst settings = usePatternSettings();\n\tconst backgroundColor = useStyle( 'color.background' ) ?? 'white';\n\tconst blocks = useMemo( () => {\n\t\treturn parse( item.content.raw );\n\t}, [ item.content.raw ] );\n\n\tconst isEmpty = ! blocks?.length;\n\t// Wrap everything in a block editor provider to ensure 'styles' that are needed\n\t// for the previews are synced between the site editor store and the block editor store.\n\t// Additionally we need to have the `__experimentalBlockPatterns` setting in order to\n\t// render patterns inside the previews.\n\t// TODO: Same approach is used in the patterns list and it becomes obvious that some of\n\t// the block editor settings are needed in context where we don't have the block editor.\n\t// Explore how we can solve this in a better way.\n\treturn (\n\t\t<EditorProvider post={ item } settings={ settings }>\n\t\t\t<div\n\t\t\t\tclassName=\"page-templates-preview-field\"\n\t\t\t\tstyle={ { backgroundColor } }\n\t\t\t>\n\t\t\t\t{ isEmpty && __( 'Empty template' ) }\n\t\t\t\t{ ! isEmpty && (\n\t\t\t\t\t<BlockPreview.Async>\n\t\t\t\t\t\t<BlockPreview blocks={ blocks } />\n\t\t\t\t\t</BlockPreview.Async>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t</EditorProvider>\n\t);\n}\n\nexport const previewField = {\n\tlabel: __( 'Preview' ),\n\tid: 'preview',\n\trender: PreviewField,\n\tenableSorting: false,\n};\n\nexport const descriptionField = {\n\tlabel: __( 'Description' ),\n\tid: 'description',\n\trender: function RenderDescription( { item } ) {\n\t\tconst defaultTemplateTypes = useAllDefaultTemplateTypes();\n\t\tconst defaultTemplateType = defaultTemplateTypes.find(\n\t\t\t( type ) => type.slug === item.slug\n\t\t);\n\t\treturn item.description\n\t\t\t? decodeEntities( item.description )\n\t\t\t: defaultTemplateType?.description;\n\t},\n\tenableSorting: false,\n\tenableGlobalSearch: true,\n};\n\nfunction AuthorField( { item } ) {\n\tconst [ isImageLoaded, setIsImageLoaded ] = useState( false );\n\tconst { text, icon, imageUrl } = useAddedBy( item.type, item.id );\n\n\treturn (\n\t\t<HStack alignment=\"left\" spacing={ 0 }>\n\t\t\t{ imageUrl && (\n\t\t\t\t<div\n\t\t\t\t\tclassName={ clsx( 'page-templates-author-field__avatar', {\n\t\t\t\t\t\t'is-loaded': isImageLoaded,\n\t\t\t\t\t} ) }\n\t\t\t\t>\n\t\t\t\t\t<img\n\t\t\t\t\t\tonLoad={ () => setIsImageLoaded( true ) }\n\t\t\t\t\t\talt=\"\"\n\t\t\t\t\t\tsrc={ imageUrl }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t) }\n\t\t\t{ ! imageUrl && (\n\t\t\t\t<div className=\"page-templates-author-field__icon\">\n\t\t\t\t\t<Icon icon={ icon } />\n\t\t\t\t</div>\n\t\t\t) }\n\t\t\t<span className=\"page-templates-author-field__name\">{ text }</span>\n\t\t</HStack>\n\t);\n}\n\nexport const authorField = {\n\tlabel: __( 'Author' ),\n\tid: 'author',\n\tgetValue: ( { item } ) => item.author_text ?? item.author,\n\trender: AuthorField,\n};\n\nexport const activeField = {\n\tlabel: __( 'Status' ),\n\tid: 'active',\n\ttype: 'boolean',\n\tgetValue: ( { item } ) => item._isActive,\n\trender: function Render( { item } ) {\n\t\tconst activeLabel = item._isCustom\n\t\t\t? _x( 'Active when used', 'template' )\n\t\t\t: _x( 'Active', 'template' );\n\t\tconst activeIntent = item._isCustom ? 'info' : 'success';\n\t\tconst isActive = item._isActive;\n\t\treturn (\n\t\t\t<Badge intent={ isActive ? activeIntent : 'default' }>\n\t\t\t\t{ isActive ? activeLabel : _x( 'Inactive', 'template' ) }\n\t\t\t</Badge>\n\t\t);\n\t},\n};\n\nexport const useThemeField = () => {\n\tconst activeTheme = useSelect( ( select ) =>\n\t\tselect( coreStore ).getCurrentTheme()\n\t);\n\treturn useMemo(\n\t\t() => ( {\n\t\t\tlabel: __( 'Compatible Theme' ),\n\t\t\tid: 'theme',\n\t\t\tgetValue: ( { item } ) => item.theme,\n\t\t\trender: function Render( { item } ) {\n\t\t\t\tif ( item.theme === activeTheme.stylesheet ) {\n\t\t\t\t\treturn <Badge intent=\"success\">{ item.theme }</Badge>;\n\t\t\t\t}\n\t\t\t\treturn <Badge intent=\"error\">{ item.theme }</Badge>;\n\t\t\t},\n\t\t} ),\n\t\t[ activeTheme ]\n\t);\n};\n\nexport const slugField = {\n\tlabel: __( 'Template Type' ),\n\tid: 'slug',\n\tgetValue: ( { item } ) => item.slug,\n\trender: function Render( { item } ) {\n\t\tconst defaultTemplateTypes = useAllDefaultTemplateTypes();\n\t\tconst defaultTemplateType = defaultTemplateTypes.find(\n\t\t\t( type ) => type.slug === item.slug\n\t\t);\n\t\treturn defaultTemplateType?.title || _x( 'Custom', 'template type' );\n\t},\n};\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tIcon,\n\t__experimentalHStack as HStack,\n\tprivateApis as componentsPrivateApis,\n} from '@wordpress/components';\nimport { __, _x } from '@wordpress/i18n';\nimport { useState, useMemo } from '@wordpress/element';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { parse } from '@wordpress/blocks';\nimport { BlockPreview } from '@wordpress/block-editor';\nimport {\n\tEditorProvider,\n\tprivateApis as editorPrivateApis,\n} from '@wordpress/editor';\nimport {\n\tprivateApis as corePrivateApis,\n\tstore as coreStore,\n} from '@wordpress/core-data';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { useAddedBy } from './hooks';\nimport { useDefaultTemplateTypes } from '../add-new-template/utils';\nimport usePatternSettings from '../page-patterns/use-pattern-settings';\nimport { unlock } from '../../lock-unlock';\n\nconst { Badge } = unlock( componentsPrivateApis );\nconst { useEntityRecordsWithPermissions } = unlock( corePrivateApis );\nconst { useStyle } = unlock( editorPrivateApis );\n\nfunction useAllDefaultTemplateTypes() {\n\tconst defaultTemplateTypes = useDefaultTemplateTypes();\n\tconst { records: staticRecords } = useEntityRecordsWithPermissions(\n\t\t'root',\n\t\t'registeredTemplate'\n\t);\n\treturn [\n\t\t...defaultTemplateTypes,\n\t\t...staticRecords\n\t\t\t?.filter( ( record ) => ! record.is_custom )\n\t\t\t.map( ( record ) => {\n\t\t\t\treturn {\n\t\t\t\t\tslug: record.slug,\n\t\t\t\t\ttitle: record.title.rendered,\n\t\t\t\t\tdescription: record.description,\n\t\t\t\t};\n\t\t\t} ),\n\t];\n}\n\nfunction PreviewField( { item } ) {\n\tconst settings = usePatternSettings();\n\tconst backgroundColor = useStyle( 'color.background' ) ?? 'white';\n\tconst blocks = useMemo( () => {\n\t\treturn parse( item.content.raw );\n\t}, [ item.content.raw ] );\n\n\tconst isEmpty = ! blocks?.length;\n\t// Wrap everything in a block editor provider to ensure 'styles' that are needed\n\t// for the previews are synced between the site editor store and the block editor store.\n\t// Additionally we need to have the `__experimentalBlockPatterns` setting in order to\n\t// render patterns inside the previews.\n\t// TODO: Same approach is used in the patterns list and it becomes obvious that some of\n\t// the block editor settings are needed in context where we don't have the block editor.\n\t// Explore how we can solve this in a better way.\n\treturn (\n\t\t<EditorProvider post={ item } settings={ settings }>\n\t\t\t<div\n\t\t\t\tclassName=\"page-templates-preview-field\"\n\t\t\t\tstyle={ { backgroundColor } }\n\t\t\t>\n\t\t\t\t{ isEmpty && __( 'Empty template' ) }\n\t\t\t\t{ ! isEmpty && (\n\t\t\t\t\t<BlockPreview.Async>\n\t\t\t\t\t\t<BlockPreview blocks={ blocks } />\n\t\t\t\t\t</BlockPreview.Async>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t</EditorProvider>\n\t);\n}\n\nexport const previewField = {\n\tlabel: __( 'Preview' ),\n\tid: 'preview',\n\trender: PreviewField,\n\tenableSorting: false,\n};\n\nexport const descriptionField = {\n\tlabel: __( 'Description' ),\n\tid: 'description',\n\trender: window?.__experimentalTemplateActivate\n\t\t? function RenderDescription( { item } ) {\n\t\t\t\tconst defaultTemplateTypes = useAllDefaultTemplateTypes();\n\t\t\t\tconst defaultTemplateType = defaultTemplateTypes.find(\n\t\t\t\t\t( type ) => type.slug === item.slug\n\t\t\t\t);\n\t\t\t\treturn item.description\n\t\t\t\t\t? decodeEntities( item.description )\n\t\t\t\t\t: defaultTemplateType?.description;\n\t\t }\n\t\t: ( { item } ) => {\n\t\t\t\treturn item.description && decodeEntities( item.description );\n\t\t },\n\tenableSorting: false,\n\tenableGlobalSearch: true,\n};\n\nfunction AuthorField( { item } ) {\n\tconst [ isImageLoaded, setIsImageLoaded ] = useState( false );\n\tconst { text, icon, imageUrl } = useAddedBy( item.type, item.id );\n\n\treturn (\n\t\t<HStack alignment=\"left\" spacing={ 0 }>\n\t\t\t{ imageUrl && (\n\t\t\t\t<div\n\t\t\t\t\tclassName={ clsx( 'page-templates-author-field__avatar', {\n\t\t\t\t\t\t'is-loaded': isImageLoaded,\n\t\t\t\t\t} ) }\n\t\t\t\t>\n\t\t\t\t\t<img\n\t\t\t\t\t\tonLoad={ () => setIsImageLoaded( true ) }\n\t\t\t\t\t\talt=\"\"\n\t\t\t\t\t\tsrc={ imageUrl }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t) }\n\t\t\t{ ! imageUrl && (\n\t\t\t\t<div className=\"page-templates-author-field__icon\">\n\t\t\t\t\t<Icon icon={ icon } />\n\t\t\t\t</div>\n\t\t\t) }\n\t\t\t<span className=\"page-templates-author-field__name\">{ text }</span>\n\t\t</HStack>\n\t);\n}\n\nexport const authorField = {\n\tlabel: __( 'Author' ),\n\tid: 'author',\n\tgetValue: ( { item } ) => item.author_text ?? item.author,\n\trender: AuthorField,\n};\n\nexport const activeField = {\n\tlabel: __( 'Status' ),\n\tid: 'active',\n\ttype: 'boolean',\n\tgetValue: ( { item } ) => item._isActive,\n\trender: function Render( { item } ) {\n\t\tconst activeLabel = item._isCustom\n\t\t\t? _x( 'Active when used', 'template' )\n\t\t\t: _x( 'Active', 'template' );\n\t\tconst activeIntent = item._isCustom ? 'info' : 'success';\n\t\tconst isActive = item._isActive;\n\t\treturn (\n\t\t\t<Badge intent={ isActive ? activeIntent : 'default' }>\n\t\t\t\t{ isActive ? activeLabel : _x( 'Inactive', 'template' ) }\n\t\t\t</Badge>\n\t\t);\n\t},\n};\n\nexport const useThemeField = () => {\n\tconst activeTheme = useSelect( ( select ) =>\n\t\tselect( coreStore ).getCurrentTheme()\n\t);\n\treturn useMemo(\n\t\t() => ( {\n\t\t\tlabel: __( 'Compatible Theme' ),\n\t\t\tid: 'theme',\n\t\t\tgetValue: ( { item } ) => item.theme,\n\t\t\trender: function Render( { item } ) {\n\t\t\t\tif ( item.theme === activeTheme.stylesheet ) {\n\t\t\t\t\treturn <Badge intent=\"success\">{ item.theme }</Badge>;\n\t\t\t\t}\n\t\t\t\treturn <Badge intent=\"error\">{ item.theme }</Badge>;\n\t\t\t},\n\t\t} ),\n\t\t[ activeTheme ]\n\t);\n};\n\nexport const slugField = {\n\tlabel: __( 'Template Type' ),\n\tid: 'slug',\n\tgetValue: ( { item } ) => item.slug,\n\trender: function Render( { item } ) {\n\t\tconst defaultTemplateTypes = useAllDefaultTemplateTypes();\n\t\tconst defaultTemplateType = defaultTemplateTypes.find(\n\t\t\t( type ) => type.slug === item.slug\n\t\t);\n\t\treturn defaultTemplateType?.title || _x( 'Custom', 'template type' );\n\t},\n};\n"],
5
+ "mappings": "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",
6
6
  "names": ["Render"]
7
7
  }
@@ -0,0 +1,154 @@
1
+ // packages/edit-site/src/components/page-templates/index-legacy.js
2
+ import { Page } from "@wordpress/admin-ui";
3
+ import { __ } from "@wordpress/i18n";
4
+ import { useState, useMemo, useCallback } from "@wordpress/element";
5
+ import { privateApis as corePrivateApis } from "@wordpress/core-data";
6
+ import { DataViews, filterSortAndPaginate } from "@wordpress/dataviews";
7
+ import { privateApis as routerPrivateApis } from "@wordpress/router";
8
+ import { privateApis as editorPrivateApis } from "@wordpress/editor";
9
+ import { addQueryArgs } from "@wordpress/url";
10
+ import { useEvent } from "@wordpress/compose";
11
+ import { useView } from "@wordpress/views";
12
+ import { Button } from "@wordpress/components";
13
+ import AddNewTemplate from "../add-new-template-legacy";
14
+ import { TEMPLATE_POST_TYPE } from "../../utils/constants";
15
+ import { unlock } from "../../lock-unlock";
16
+ import { useEditPostAction } from "../dataviews-actions";
17
+ import { authorField, descriptionField, previewField } from "./fields";
18
+ import { defaultLayouts, getDefaultView } from "./view-utils";
19
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
20
+ var { usePostActions, templateTitleField } = unlock(editorPrivateApis);
21
+ var { useHistory, useLocation } = unlock(routerPrivateApis);
22
+ var { useEntityRecordsWithPermissions } = unlock(corePrivateApis);
23
+ function PageTemplates() {
24
+ const { path, query } = useLocation();
25
+ const { activeView = "active", postId } = query;
26
+ const [selection, setSelection] = useState([postId]);
27
+ const defaultView = useMemo(() => {
28
+ return getDefaultView(activeView);
29
+ }, [activeView]);
30
+ const { view, updateView, isModified, resetToDefault } = useView({
31
+ kind: "postType",
32
+ name: TEMPLATE_POST_TYPE,
33
+ slug: activeView,
34
+ defaultView,
35
+ queryParams: {
36
+ page: query.pageNumber,
37
+ search: query.search
38
+ },
39
+ onChangeQueryParams: (newQueryParams) => {
40
+ history.navigate(
41
+ addQueryArgs(path, {
42
+ ...query,
43
+ pageNumber: newQueryParams.page,
44
+ search: newQueryParams.search || void 0
45
+ })
46
+ );
47
+ }
48
+ });
49
+ const { records, isResolving: isLoadingData } = useEntityRecordsWithPermissions("postType", TEMPLATE_POST_TYPE, {
50
+ per_page: -1
51
+ });
52
+ const history = useHistory();
53
+ const onChangeSelection = useCallback(
54
+ (items) => {
55
+ setSelection(items);
56
+ if (view?.type === "list") {
57
+ history.navigate(
58
+ addQueryArgs(path, {
59
+ postId: items.length === 1 ? items[0] : void 0
60
+ })
61
+ );
62
+ }
63
+ },
64
+ [history, path, view?.type]
65
+ );
66
+ const authors = useMemo(() => {
67
+ if (!records) {
68
+ return [];
69
+ }
70
+ const authorsSet = /* @__PURE__ */ new Set();
71
+ records.forEach((template) => {
72
+ authorsSet.add(template.author_text);
73
+ });
74
+ return Array.from(authorsSet).map((author) => ({
75
+ value: author,
76
+ label: author
77
+ }));
78
+ }, [records]);
79
+ const fields = useMemo(
80
+ () => [
81
+ previewField,
82
+ templateTitleField,
83
+ descriptionField,
84
+ {
85
+ ...authorField,
86
+ elements: authors
87
+ }
88
+ ],
89
+ [authors]
90
+ );
91
+ const { data, paginationInfo } = useMemo(() => {
92
+ return filterSortAndPaginate(records, view, fields);
93
+ }, [records, view, fields]);
94
+ const postTypeActions = usePostActions({
95
+ postType: TEMPLATE_POST_TYPE,
96
+ context: "list"
97
+ });
98
+ const editAction = useEditPostAction();
99
+ const actions = useMemo(
100
+ () => [editAction, ...postTypeActions],
101
+ [postTypeActions, editAction]
102
+ );
103
+ const onChangeView = useEvent((newView) => {
104
+ if (newView.type !== view.type) {
105
+ history.invalidate();
106
+ }
107
+ updateView(newView);
108
+ });
109
+ return /* @__PURE__ */ jsx(
110
+ Page,
111
+ {
112
+ className: "edit-site-page-templates",
113
+ title: __("Templates"),
114
+ actions: /* @__PURE__ */ jsxs(Fragment, { children: [
115
+ isModified && /* @__PURE__ */ jsx(
116
+ Button,
117
+ {
118
+ __next40pxDefaultSize: true,
119
+ onClick: () => {
120
+ resetToDefault();
121
+ history.invalidate();
122
+ },
123
+ children: __("Reset view")
124
+ }
125
+ ),
126
+ /* @__PURE__ */ jsx(AddNewTemplate, {})
127
+ ] }),
128
+ children: /* @__PURE__ */ jsx(
129
+ DataViews,
130
+ {
131
+ paginationInfo,
132
+ fields,
133
+ actions,
134
+ data,
135
+ isLoading: isLoadingData,
136
+ view,
137
+ onChangeView,
138
+ onChangeSelection,
139
+ isItemClickable: () => true,
140
+ onClickItem: ({ id }) => {
141
+ history.navigate(`/wp_template/${id}?canvas=edit`);
142
+ },
143
+ selection,
144
+ defaultLayouts
145
+ },
146
+ activeView
147
+ )
148
+ }
149
+ );
150
+ }
151
+ export {
152
+ PageTemplates as default
153
+ };
154
+ //# sourceMappingURL=index-legacy.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/components/page-templates/index-legacy.js"],
4
+ "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { Page } from '@wordpress/admin-ui';\nimport { __ } from '@wordpress/i18n';\nimport { useState, useMemo, useCallback } from '@wordpress/element';\nimport { privateApis as corePrivateApis } from '@wordpress/core-data';\nimport { DataViews, filterSortAndPaginate } from '@wordpress/dataviews';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\nimport { privateApis as editorPrivateApis } from '@wordpress/editor';\nimport { addQueryArgs } from '@wordpress/url';\nimport { useEvent } from '@wordpress/compose';\nimport { useView } from '@wordpress/views';\nimport { Button } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport AddNewTemplate from '../add-new-template-legacy';\nimport { TEMPLATE_POST_TYPE } from '../../utils/constants';\nimport { unlock } from '../../lock-unlock';\nimport { useEditPostAction } from '../dataviews-actions';\nimport { authorField, descriptionField, previewField } from './fields';\nimport { defaultLayouts, getDefaultView } from './view-utils';\n\nconst { usePostActions, templateTitleField } = unlock( editorPrivateApis );\nconst { useHistory, useLocation } = unlock( routerPrivateApis );\nconst { useEntityRecordsWithPermissions } = unlock( corePrivateApis );\n\nexport default function PageTemplates() {\n\tconst { path, query } = useLocation();\n\tconst { activeView = 'active', postId } = query;\n\tconst [ selection, setSelection ] = useState( [ postId ] );\n\n\tconst defaultView = useMemo( () => {\n\t\treturn getDefaultView( activeView );\n\t}, [ activeView ] );\n\tconst { view, updateView, isModified, resetToDefault } = useView( {\n\t\tkind: 'postType',\n\t\tname: TEMPLATE_POST_TYPE,\n\t\tslug: activeView,\n\t\tdefaultView,\n\t\tqueryParams: {\n\t\t\tpage: query.pageNumber,\n\t\t\tsearch: query.search,\n\t\t},\n\t\tonChangeQueryParams: ( newQueryParams ) => {\n\t\t\thistory.navigate(\n\t\t\t\taddQueryArgs( path, {\n\t\t\t\t\t...query,\n\t\t\t\t\tpageNumber: newQueryParams.page,\n\t\t\t\t\tsearch: newQueryParams.search || undefined,\n\t\t\t\t} )\n\t\t\t);\n\t\t},\n\t} );\n\n\tconst { records, isResolving: isLoadingData } =\n\t\tuseEntityRecordsWithPermissions( 'postType', TEMPLATE_POST_TYPE, {\n\t\t\tper_page: -1,\n\t\t} );\n\tconst history = useHistory();\n\tconst onChangeSelection = useCallback(\n\t\t( items ) => {\n\t\t\tsetSelection( items );\n\t\t\tif ( view?.type === 'list' ) {\n\t\t\t\thistory.navigate(\n\t\t\t\t\taddQueryArgs( path, {\n\t\t\t\t\t\tpostId: items.length === 1 ? items[ 0 ] : undefined,\n\t\t\t\t\t} )\n\t\t\t\t);\n\t\t\t}\n\t\t},\n\t\t[ history, path, view?.type ]\n\t);\n\n\tconst authors = useMemo( () => {\n\t\tif ( ! records ) {\n\t\t\treturn [];\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\t() => [\n\t\t\tpreviewField,\n\t\t\ttemplateTitleField,\n\t\t\tdescriptionField,\n\t\t\t{\n\t\t\t\t...authorField,\n\t\t\t\telements: authors,\n\t\t\t},\n\t\t],\n\t\t[ authors ]\n\t);\n\n\tconst { data, paginationInfo } = useMemo( () => {\n\t\treturn filterSortAndPaginate( records, view, fields );\n\t}, [ records, view, fields ] );\n\n\tconst postTypeActions = usePostActions( {\n\t\tpostType: TEMPLATE_POST_TYPE,\n\t\tcontext: 'list',\n\t} );\n\tconst editAction = useEditPostAction();\n\tconst actions = useMemo(\n\t\t() => [ editAction, ...postTypeActions ],\n\t\t[ postTypeActions, editAction ]\n\t);\n\n\tconst onChangeView = useEvent( ( newView ) => {\n\t\tif ( newView.type !== view.type ) {\n\t\t\t// Retrigger the routing areas resolution.\n\t\t\thistory.invalidate();\n\t\t}\n\t\tupdateView( newView );\n\t} );\n\n\treturn (\n\t\t<Page\n\t\t\tclassName=\"edit-site-page-templates\"\n\t\t\ttitle={ __( 'Templates' ) }\n\t\t\tactions={\n\t\t\t\t<>\n\t\t\t\t\t{ isModified && (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tresetToDefault();\n\t\t\t\t\t\t\t\thistory.invalidate();\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Reset view' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t) }\n\t\t\t\t\t<AddNewTemplate />\n\t\t\t\t</>\n\t\t\t}\n\t\t>\n\t\t\t<DataViews\n\t\t\t\tkey={ activeView }\n\t\t\t\tpaginationInfo={ paginationInfo }\n\t\t\t\tfields={ fields }\n\t\t\t\tactions={ actions }\n\t\t\t\tdata={ data }\n\t\t\t\tisLoading={ isLoadingData }\n\t\t\t\tview={ view }\n\t\t\t\tonChangeView={ onChangeView }\n\t\t\t\tonChangeSelection={ onChangeSelection }\n\t\t\t\tisItemClickable={ () => true }\n\t\t\t\tonClickItem={ ( { id } ) => {\n\t\t\t\t\thistory.navigate( `/wp_template/${ id }?canvas=edit` );\n\t\t\t\t} }\n\t\t\t\tselection={ selection }\n\t\t\t\tdefaultLayouts={ defaultLayouts }\n\t\t\t/>\n\t\t</Page>\n\t);\n}\n"],
5
+ "mappings": "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",
6
+ "names": []
7
+ }
@@ -18,6 +18,8 @@ import { useView } from "@wordpress/views";
18
18
  import {
19
19
  OPERATOR_IS_ANY,
20
20
  OPERATOR_IS_NONE,
21
+ OPERATOR_BEFORE,
22
+ OPERATOR_AFTER,
21
23
  LAYOUT_LIST
22
24
  } from "../../utils/constants";
23
25
  import AddNewPostModal from "../add-new-post";
@@ -98,6 +100,16 @@ function PostList({ postType }) {
98
100
  } else if (filter.field === "author" && filter.operator === OPERATOR_IS_NONE) {
99
101
  filters.author_exclude = filter.value;
100
102
  }
103
+ if (filter.field === "date") {
104
+ if (!filter.value) {
105
+ return;
106
+ }
107
+ if (filter.operator === OPERATOR_BEFORE) {
108
+ filters.before = filter.value;
109
+ } else if (filter.operator === OPERATOR_AFTER) {
110
+ filters.after = filter.value;
111
+ }
112
+ }
101
113
  });
102
114
  if (!filters.status || filters.status === "") {
103
115
  filters.status = DEFAULT_STATUSES;
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/components/post-list/index.js"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { Page } from '@wordpress/admin-ui';\nimport { Button } from '@wordpress/components';\nimport {\n\tstore as coreStore,\n\tprivateApis as coreDataPrivateApis,\n} from '@wordpress/core-data';\nimport { useState, useMemo, useCallback, useEffect } from '@wordpress/element';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\nimport { useSelect } from '@wordpress/data';\nimport { DataViews, filterSortAndPaginate } from '@wordpress/dataviews';\nimport { privateApis as editorPrivateApis } from '@wordpress/editor';\nimport { __ } from '@wordpress/i18n';\nimport { drawerRight } from '@wordpress/icons';\nimport { useEvent, usePrevious } from '@wordpress/compose';\nimport { addQueryArgs } from '@wordpress/url';\nimport { useView } from '@wordpress/views';\n\n/**\n * Internal dependencies\n */\nimport {\n\tOPERATOR_IS_ANY,\n\tOPERATOR_IS_NONE,\n\tLAYOUT_LIST,\n} from '../../utils/constants';\n\nimport AddNewPostModal from '../add-new-post';\nimport { unlock } from '../../lock-unlock';\nimport { useEditPostAction } from '../dataviews-actions';\nimport { defaultLayouts, getDefaultView } from './view-utils';\n\nconst { usePostActions, usePostFields } = unlock( editorPrivateApis );\nconst { useLocation, useHistory } = unlock( routerPrivateApis );\nconst { useEntityRecordsWithPermissions } = unlock( coreDataPrivateApis );\nconst EMPTY_ARRAY = [];\n\nconst DEFAULT_STATUSES = 'draft,future,pending,private,publish'; // All but 'trash'.\n\nfunction getItemId( item ) {\n\treturn item.id.toString();\n}\n\nfunction getItemLevel( item ) {\n\treturn item.level;\n}\n\nexport default function PostList( { postType } ) {\n\tconst { path, query } = useLocation();\n\tconst { activeView = 'all', postId, quickEdit = false } = query;\n\tconst history = useHistory();\n\tconst postTypeObject = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getPostType } = select( coreStore );\n\t\t\treturn getPostType( postType );\n\t\t},\n\t\t[ postType ]\n\t);\n\tconst { view, updateView, isModified, resetToDefault } = useView( {\n\t\tkind: 'postType',\n\t\tname: postType,\n\t\tslug: activeView,\n\t\tqueryParams: {\n\t\t\tpage: query.pageNumber,\n\t\t\tsearch: query.search,\n\t\t},\n\t\tonChangeQueryParams: ( newQueryParams ) => {\n\t\t\thistory.navigate(\n\t\t\t\taddQueryArgs( path, {\n\t\t\t\t\t...query,\n\t\t\t\t\tpageNumber: newQueryParams.page,\n\t\t\t\t\tsearch: newQueryParams.search || undefined,\n\t\t\t\t} )\n\t\t\t);\n\t\t},\n\t\tdefaultView: getDefaultView( postTypeObject, activeView ),\n\t} );\n\n\tconst onChangeView = useEvent( ( newView ) => {\n\t\tif ( newView.type !== view.type ) {\n\t\t\t// Retrigger the routing areas resolution.\n\t\t\thistory.invalidate();\n\t\t}\n\t\tupdateView( newView );\n\t} );\n\n\tconst [ selection, setSelection ] = useState( postId?.split( ',' ) ?? [] );\n\tconst onChangeSelection = useCallback(\n\t\t( items ) => {\n\t\t\tsetSelection( items );\n\t\t\thistory.navigate(\n\t\t\t\taddQueryArgs( path, {\n\t\t\t\t\tpostId: items.join( ',' ),\n\t\t\t\t} )\n\t\t\t);\n\t\t},\n\t\t[ path, history ]\n\t);\n\n\tconst fields = usePostFields( {\n\t\tpostType,\n\t} );\n\n\tconst queryArgs = useMemo( () => {\n\t\tconst filters = {};\n\t\tview.filters?.forEach( ( filter ) => {\n\t\t\tif (\n\t\t\t\tfilter.field === 'status' &&\n\t\t\t\tfilter.operator === OPERATOR_IS_ANY\n\t\t\t) {\n\t\t\t\tfilters.status = filter.value;\n\t\t\t}\n\t\t\tif (\n\t\t\t\tfilter.field === 'author' &&\n\t\t\t\tfilter.operator === OPERATOR_IS_ANY\n\t\t\t) {\n\t\t\t\tfilters.author = filter.value;\n\t\t\t} else if (\n\t\t\t\tfilter.field === 'author' &&\n\t\t\t\tfilter.operator === OPERATOR_IS_NONE\n\t\t\t) {\n\t\t\t\tfilters.author_exclude = filter.value;\n\t\t\t}\n\t\t} );\n\n\t\t// We want to provide a different default item for the status filter\n\t\t// than the REST API provides.\n\t\tif ( ! filters.status || filters.status === '' ) {\n\t\t\tfilters.status = DEFAULT_STATUSES;\n\t\t}\n\n\t\treturn {\n\t\t\tper_page: view.perPage,\n\t\t\tpage: view.page,\n\t\t\t_embed: 'author,wp:featuredmedia',\n\t\t\torder: view.sort?.direction,\n\t\t\torderby: view.sort?.field,\n\t\t\torderby_hierarchy: !! view.showLevels,\n\t\t\tsearch: view.search,\n\t\t\t...filters,\n\t\t};\n\t}, [ view ] );\n\tconst {\n\t\trecords,\n\t\tisResolving: isLoadingData,\n\t\ttotalItems,\n\t\ttotalPages,\n\t} = useEntityRecordsWithPermissions( 'postType', postType, queryArgs );\n\n\t// The REST API sort the authors by ID, but we want to sort them by name.\n\tconst data = useMemo( () => {\n\t\tif ( view?.sort?.field === 'author' ) {\n\t\t\treturn filterSortAndPaginate(\n\t\t\t\trecords,\n\t\t\t\t{ sort: { ...view.sort } },\n\t\t\t\tfields\n\t\t\t).data;\n\t\t}\n\n\t\treturn records;\n\t}, [ records, fields, view?.sort ] );\n\n\tconst ids = data?.map( ( record ) => getItemId( record ) ) ?? [];\n\tconst prevIds = usePrevious( ids ) ?? [];\n\tconst deletedIds = prevIds.filter( ( id ) => ! ids.includes( id ) );\n\tconst postIdWasDeleted = deletedIds.includes( postId );\n\n\tuseEffect( () => {\n\t\tif ( postIdWasDeleted ) {\n\t\t\thistory.navigate(\n\t\t\t\taddQueryArgs( path, {\n\t\t\t\t\tpostId: undefined,\n\t\t\t\t} )\n\t\t\t);\n\t\t}\n\t}, [ history, postIdWasDeleted, path ] );\n\n\tconst paginationInfo = useMemo(\n\t\t() => ( {\n\t\t\ttotalItems,\n\t\t\ttotalPages,\n\t\t} ),\n\t\t[ totalItems, totalPages ]\n\t);\n\n\tconst { labels, canCreateRecord } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getPostType, canUser } = select( coreStore );\n\t\t\treturn {\n\t\t\t\tlabels: getPostType( postType )?.labels,\n\t\t\t\tcanCreateRecord: canUser( 'create', {\n\t\t\t\t\tkind: 'postType',\n\t\t\t\t\tname: postType,\n\t\t\t\t} ),\n\t\t\t};\n\t\t},\n\t\t[ postType ]\n\t);\n\n\tconst postTypeActions = usePostActions( {\n\t\tpostType,\n\t\tcontext: 'list',\n\t} );\n\tconst editAction = useEditPostAction();\n\tconst actions = useMemo(\n\t\t() => [ editAction, ...postTypeActions ],\n\t\t[ postTypeActions, editAction ]\n\t);\n\n\tconst [ showAddPostModal, setShowAddPostModal ] = useState( false );\n\n\tconst openModal = () => setShowAddPostModal( true );\n\tconst closeModal = () => setShowAddPostModal( false );\n\tconst handleNewPage = ( { type, id } ) => {\n\t\thistory.navigate( `/${ type }/${ id }?canvas=edit` );\n\t\tcloseModal();\n\t};\n\n\treturn (\n\t\t<Page\n\t\t\ttitle={ labels?.name }\n\t\t\tactions={\n\t\t\t\t<>\n\t\t\t\t\t{ isModified && (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tresetToDefault();\n\t\t\t\t\t\t\t\thistory.invalidate();\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Reset view' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t) }\n\t\t\t\t\t{ labels?.add_new_item && canCreateRecord && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\t\tonClick={ openModal }\n\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ labels.add_new_item }\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t{ showAddPostModal && (\n\t\t\t\t\t\t\t\t<AddNewPostModal\n\t\t\t\t\t\t\t\t\tpostType={ postType }\n\t\t\t\t\t\t\t\t\tonSave={ handleNewPage }\n\t\t\t\t\t\t\t\t\tonClose={ closeModal }\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\t\t<DataViews\n\t\t\t\tkey={ activeView }\n\t\t\t\tpaginationInfo={ paginationInfo }\n\t\t\t\tfields={ fields }\n\t\t\t\tactions={ actions }\n\t\t\t\tdata={ data || EMPTY_ARRAY }\n\t\t\t\tisLoading={ isLoadingData }\n\t\t\t\tview={ view }\n\t\t\t\tonChangeView={ onChangeView }\n\t\t\t\tselection={ selection }\n\t\t\t\tonChangeSelection={ onChangeSelection }\n\t\t\t\tisItemClickable={ ( item ) => item.status !== 'trash' }\n\t\t\t\tonClickItem={ ( { id } ) => {\n\t\t\t\t\thistory.navigate( `/${ postType }/${ id }?canvas=edit` );\n\t\t\t\t} }\n\t\t\t\tgetItemId={ getItemId }\n\t\t\t\tgetItemLevel={ getItemLevel }\n\t\t\t\tdefaultLayouts={ defaultLayouts }\n\t\t\t\theader={\n\t\t\t\t\twindow.__experimentalQuickEditDataViews &&\n\t\t\t\t\tview.type !== LAYOUT_LIST &&\n\t\t\t\t\tpostType === 'page' && (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\t\t\tisPressed={ quickEdit }\n\t\t\t\t\t\t\ticon={ drawerRight }\n\t\t\t\t\t\t\tlabel={ __( 'Details' ) }\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\thistory.navigate(\n\t\t\t\t\t\t\t\t\taddQueryArgs( path, {\n\t\t\t\t\t\t\t\t\t\tquickEdit: quickEdit ? undefined : true,\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/>\n\t\t\t\t\t)\n\t\t\t\t}\n\t\t\t/>\n\t\t</Page>\n\t);\n}\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { Page } from '@wordpress/admin-ui';\nimport { Button } from '@wordpress/components';\nimport {\n\tstore as coreStore,\n\tprivateApis as coreDataPrivateApis,\n} from '@wordpress/core-data';\nimport { useState, useMemo, useCallback, useEffect } from '@wordpress/element';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\nimport { useSelect } from '@wordpress/data';\nimport { DataViews, filterSortAndPaginate } from '@wordpress/dataviews';\nimport { privateApis as editorPrivateApis } from '@wordpress/editor';\nimport { __ } from '@wordpress/i18n';\nimport { drawerRight } from '@wordpress/icons';\nimport { useEvent, usePrevious } from '@wordpress/compose';\nimport { addQueryArgs } from '@wordpress/url';\nimport { useView } from '@wordpress/views';\n\n/**\n * Internal dependencies\n */\nimport {\n\tOPERATOR_IS_ANY,\n\tOPERATOR_IS_NONE,\n\tOPERATOR_BEFORE,\n\tOPERATOR_AFTER,\n\tLAYOUT_LIST,\n} from '../../utils/constants';\n\nimport AddNewPostModal from '../add-new-post';\nimport { unlock } from '../../lock-unlock';\nimport { useEditPostAction } from '../dataviews-actions';\nimport { defaultLayouts, getDefaultView } from './view-utils';\n\nconst { usePostActions, usePostFields } = unlock( editorPrivateApis );\nconst { useLocation, useHistory } = unlock( routerPrivateApis );\nconst { useEntityRecordsWithPermissions } = unlock( coreDataPrivateApis );\nconst EMPTY_ARRAY = [];\n\nconst DEFAULT_STATUSES = 'draft,future,pending,private,publish'; // All but 'trash'.\n\nfunction getItemId( item ) {\n\treturn item.id.toString();\n}\n\nfunction getItemLevel( item ) {\n\treturn item.level;\n}\n\nexport default function PostList( { postType } ) {\n\tconst { path, query } = useLocation();\n\tconst { activeView = 'all', postId, quickEdit = false } = query;\n\tconst history = useHistory();\n\tconst postTypeObject = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getPostType } = select( coreStore );\n\t\t\treturn getPostType( postType );\n\t\t},\n\t\t[ postType ]\n\t);\n\tconst { view, updateView, isModified, resetToDefault } = useView( {\n\t\tkind: 'postType',\n\t\tname: postType,\n\t\tslug: activeView,\n\t\tqueryParams: {\n\t\t\tpage: query.pageNumber,\n\t\t\tsearch: query.search,\n\t\t},\n\t\tonChangeQueryParams: ( newQueryParams ) => {\n\t\t\thistory.navigate(\n\t\t\t\taddQueryArgs( path, {\n\t\t\t\t\t...query,\n\t\t\t\t\tpageNumber: newQueryParams.page,\n\t\t\t\t\tsearch: newQueryParams.search || undefined,\n\t\t\t\t} )\n\t\t\t);\n\t\t},\n\t\tdefaultView: getDefaultView( postTypeObject, activeView ),\n\t} );\n\n\tconst onChangeView = useEvent( ( newView ) => {\n\t\tif ( newView.type !== view.type ) {\n\t\t\t// Retrigger the routing areas resolution.\n\t\t\thistory.invalidate();\n\t\t}\n\t\tupdateView( newView );\n\t} );\n\n\tconst [ selection, setSelection ] = useState( postId?.split( ',' ) ?? [] );\n\tconst onChangeSelection = useCallback(\n\t\t( items ) => {\n\t\t\tsetSelection( items );\n\t\t\thistory.navigate(\n\t\t\t\taddQueryArgs( path, {\n\t\t\t\t\tpostId: items.join( ',' ),\n\t\t\t\t} )\n\t\t\t);\n\t\t},\n\t\t[ path, history ]\n\t);\n\n\tconst fields = usePostFields( {\n\t\tpostType,\n\t} );\n\n\tconst queryArgs = useMemo( () => {\n\t\tconst filters = {};\n\t\tview.filters?.forEach( ( filter ) => {\n\t\t\tif (\n\t\t\t\tfilter.field === 'status' &&\n\t\t\t\tfilter.operator === OPERATOR_IS_ANY\n\t\t\t) {\n\t\t\t\tfilters.status = filter.value;\n\t\t\t}\n\t\t\tif (\n\t\t\t\tfilter.field === 'author' &&\n\t\t\t\tfilter.operator === OPERATOR_IS_ANY\n\t\t\t) {\n\t\t\t\tfilters.author = filter.value;\n\t\t\t} else if (\n\t\t\t\tfilter.field === 'author' &&\n\t\t\t\tfilter.operator === OPERATOR_IS_NONE\n\t\t\t) {\n\t\t\t\tfilters.author_exclude = filter.value;\n\t\t\t}\n\t\t\tif ( filter.field === 'date' ) {\n\t\t\t\t// Skip if no value is set yet\n\t\t\t\tif ( ! filter.value ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tif ( filter.operator === OPERATOR_BEFORE ) {\n\t\t\t\t\tfilters.before = filter.value;\n\t\t\t\t} else if ( filter.operator === OPERATOR_AFTER ) {\n\t\t\t\t\tfilters.after = filter.value;\n\t\t\t\t}\n\t\t\t}\n\t\t} );\n\n\t\t// We want to provide a different default item for the status filter\n\t\t// than the REST API provides.\n\t\tif ( ! filters.status || filters.status === '' ) {\n\t\t\tfilters.status = DEFAULT_STATUSES;\n\t\t}\n\n\t\treturn {\n\t\t\tper_page: view.perPage,\n\t\t\tpage: view.page,\n\t\t\t_embed: 'author,wp:featuredmedia',\n\t\t\torder: view.sort?.direction,\n\t\t\torderby: view.sort?.field,\n\t\t\torderby_hierarchy: !! view.showLevels,\n\t\t\tsearch: view.search,\n\t\t\t...filters,\n\t\t};\n\t}, [ view ] );\n\tconst {\n\t\trecords,\n\t\tisResolving: isLoadingData,\n\t\ttotalItems,\n\t\ttotalPages,\n\t} = useEntityRecordsWithPermissions( 'postType', postType, queryArgs );\n\n\t// The REST API sort the authors by ID, but we want to sort them by name.\n\tconst data = useMemo( () => {\n\t\tif ( view?.sort?.field === 'author' ) {\n\t\t\treturn filterSortAndPaginate(\n\t\t\t\trecords,\n\t\t\t\t{ sort: { ...view.sort } },\n\t\t\t\tfields\n\t\t\t).data;\n\t\t}\n\n\t\treturn records;\n\t}, [ records, fields, view?.sort ] );\n\n\tconst ids = data?.map( ( record ) => getItemId( record ) ) ?? [];\n\tconst prevIds = usePrevious( ids ) ?? [];\n\tconst deletedIds = prevIds.filter( ( id ) => ! ids.includes( id ) );\n\tconst postIdWasDeleted = deletedIds.includes( postId );\n\n\tuseEffect( () => {\n\t\tif ( postIdWasDeleted ) {\n\t\t\thistory.navigate(\n\t\t\t\taddQueryArgs( path, {\n\t\t\t\t\tpostId: undefined,\n\t\t\t\t} )\n\t\t\t);\n\t\t}\n\t}, [ history, postIdWasDeleted, path ] );\n\n\tconst paginationInfo = useMemo(\n\t\t() => ( {\n\t\t\ttotalItems,\n\t\t\ttotalPages,\n\t\t} ),\n\t\t[ totalItems, totalPages ]\n\t);\n\n\tconst { labels, canCreateRecord } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getPostType, canUser } = select( coreStore );\n\t\t\treturn {\n\t\t\t\tlabels: getPostType( postType )?.labels,\n\t\t\t\tcanCreateRecord: canUser( 'create', {\n\t\t\t\t\tkind: 'postType',\n\t\t\t\t\tname: postType,\n\t\t\t\t} ),\n\t\t\t};\n\t\t},\n\t\t[ postType ]\n\t);\n\n\tconst postTypeActions = usePostActions( {\n\t\tpostType,\n\t\tcontext: 'list',\n\t} );\n\tconst editAction = useEditPostAction();\n\tconst actions = useMemo(\n\t\t() => [ editAction, ...postTypeActions ],\n\t\t[ postTypeActions, editAction ]\n\t);\n\n\tconst [ showAddPostModal, setShowAddPostModal ] = useState( false );\n\n\tconst openModal = () => setShowAddPostModal( true );\n\tconst closeModal = () => setShowAddPostModal( false );\n\tconst handleNewPage = ( { type, id } ) => {\n\t\thistory.navigate( `/${ type }/${ id }?canvas=edit` );\n\t\tcloseModal();\n\t};\n\n\treturn (\n\t\t<Page\n\t\t\ttitle={ labels?.name }\n\t\t\tactions={\n\t\t\t\t<>\n\t\t\t\t\t{ isModified && (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tresetToDefault();\n\t\t\t\t\t\t\t\thistory.invalidate();\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Reset view' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t) }\n\t\t\t\t\t{ labels?.add_new_item && canCreateRecord && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\t\tonClick={ openModal }\n\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ labels.add_new_item }\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t{ showAddPostModal && (\n\t\t\t\t\t\t\t\t<AddNewPostModal\n\t\t\t\t\t\t\t\t\tpostType={ postType }\n\t\t\t\t\t\t\t\t\tonSave={ handleNewPage }\n\t\t\t\t\t\t\t\t\tonClose={ closeModal }\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\t\t<DataViews\n\t\t\t\tkey={ activeView }\n\t\t\t\tpaginationInfo={ paginationInfo }\n\t\t\t\tfields={ fields }\n\t\t\t\tactions={ actions }\n\t\t\t\tdata={ data || EMPTY_ARRAY }\n\t\t\t\tisLoading={ isLoadingData }\n\t\t\t\tview={ view }\n\t\t\t\tonChangeView={ onChangeView }\n\t\t\t\tselection={ selection }\n\t\t\t\tonChangeSelection={ onChangeSelection }\n\t\t\t\tisItemClickable={ ( item ) => item.status !== 'trash' }\n\t\t\t\tonClickItem={ ( { id } ) => {\n\t\t\t\t\thistory.navigate( `/${ postType }/${ id }?canvas=edit` );\n\t\t\t\t} }\n\t\t\t\tgetItemId={ getItemId }\n\t\t\t\tgetItemLevel={ getItemLevel }\n\t\t\t\tdefaultLayouts={ defaultLayouts }\n\t\t\t\theader={\n\t\t\t\t\twindow.__experimentalQuickEditDataViews &&\n\t\t\t\t\tview.type !== LAYOUT_LIST &&\n\t\t\t\t\tpostType === 'page' && (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\t\t\tisPressed={ quickEdit }\n\t\t\t\t\t\t\ticon={ drawerRight }\n\t\t\t\t\t\t\tlabel={ __( 'Details' ) }\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\thistory.navigate(\n\t\t\t\t\t\t\t\t\taddQueryArgs( path, {\n\t\t\t\t\t\t\t\t\t\tquickEdit: quickEdit ? undefined : true,\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/>\n\t\t\t\t\t)\n\t\t\t\t}\n\t\t\t/>\n\t\t</Page>\n\t);\n}\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -0,0 +1,70 @@
1
+ // packages/edit-site/src/components/sidebar-navigation-screen-templates-browse/content-legacy.js
2
+ import { useEntityRecords } from "@wordpress/core-data";
3
+ import { useMemo } from "@wordpress/element";
4
+ import { __experimentalItemGroup as ItemGroup } from "@wordpress/components";
5
+ import { __ } from "@wordpress/i18n";
6
+ import { privateApis as routerPrivateApis } from "@wordpress/router";
7
+ import { addQueryArgs } from "@wordpress/url";
8
+ import SidebarNavigationItem from "../sidebar-navigation-item";
9
+ import { useAddedBy } from "../page-templates/hooks";
10
+ import { layout } from "@wordpress/icons";
11
+ import { TEMPLATE_POST_TYPE } from "../../utils/constants";
12
+ import { unlock } from "../../lock-unlock";
13
+ import { jsx, jsxs } from "react/jsx-runtime";
14
+ var { useLocation } = unlock(routerPrivateApis);
15
+ var EMPTY_ARRAY = [];
16
+ function TemplateDataviewItem({ template, isActive }) {
17
+ const { text, icon } = useAddedBy(template.type, template.id);
18
+ return /* @__PURE__ */ jsx(
19
+ SidebarNavigationItem,
20
+ {
21
+ to: addQueryArgs("/template", { activeView: text }),
22
+ icon,
23
+ "aria-current": isActive,
24
+ children: text
25
+ }
26
+ );
27
+ }
28
+ function DataviewsTemplatesSidebarContent() {
29
+ const {
30
+ query: { activeView = "all" }
31
+ } = useLocation();
32
+ const { records } = useEntityRecords("postType", TEMPLATE_POST_TYPE, {
33
+ per_page: -1
34
+ });
35
+ const firstItemPerAuthorText = useMemo(() => {
36
+ const firstItemPerAuthor = records?.reduce((acc, template) => {
37
+ const author = template.author_text;
38
+ if (author && !acc[author]) {
39
+ acc[author] = template;
40
+ }
41
+ return acc;
42
+ }, {});
43
+ return (firstItemPerAuthor && Object.values(firstItemPerAuthor)) ?? EMPTY_ARRAY;
44
+ }, [records]);
45
+ return /* @__PURE__ */ jsxs(ItemGroup, { className: "edit-site-sidebar-navigation-screen-templates-browse", children: [
46
+ /* @__PURE__ */ jsx(
47
+ SidebarNavigationItem,
48
+ {
49
+ to: "/template",
50
+ icon: layout,
51
+ "aria-current": activeView === "all",
52
+ children: __("All templates")
53
+ }
54
+ ),
55
+ firstItemPerAuthorText.map((template) => {
56
+ return /* @__PURE__ */ jsx(
57
+ TemplateDataviewItem,
58
+ {
59
+ template,
60
+ isActive: activeView === template.author_text
61
+ },
62
+ template.author_text
63
+ );
64
+ })
65
+ ] });
66
+ }
67
+ export {
68
+ DataviewsTemplatesSidebarContent as default
69
+ };
70
+ //# sourceMappingURL=content-legacy.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/components/sidebar-navigation-screen-templates-browse/content-legacy.js"],
4
+ "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { useEntityRecords } from '@wordpress/core-data';\nimport { useMemo } from '@wordpress/element';\nimport { __experimentalItemGroup as ItemGroup } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\nimport { addQueryArgs } from '@wordpress/url';\n\n/**\n * Internal dependencies\n */\nimport SidebarNavigationItem from '../sidebar-navigation-item';\nimport { useAddedBy } from '../page-templates/hooks';\nimport { layout } from '@wordpress/icons';\nimport { TEMPLATE_POST_TYPE } from '../../utils/constants';\nimport { unlock } from '../../lock-unlock';\n\nconst { useLocation } = unlock( routerPrivateApis );\n\nconst EMPTY_ARRAY = [];\n\nfunction TemplateDataviewItem( { template, isActive } ) {\n\tconst { text, icon } = useAddedBy( template.type, template.id );\n\n\treturn (\n\t\t<SidebarNavigationItem\n\t\t\tto={ addQueryArgs( '/template', { activeView: text } ) }\n\t\t\ticon={ icon }\n\t\t\taria-current={ isActive }\n\t\t>\n\t\t\t{ text }\n\t\t</SidebarNavigationItem>\n\t);\n}\n\nexport default function DataviewsTemplatesSidebarContent() {\n\tconst {\n\t\tquery: { activeView = 'all' },\n\t} = useLocation();\n\tconst { records } = useEntityRecords( 'postType', TEMPLATE_POST_TYPE, {\n\t\tper_page: -1,\n\t} );\n\tconst firstItemPerAuthorText = useMemo( () => {\n\t\tconst firstItemPerAuthor = records?.reduce( ( acc, template ) => {\n\t\t\tconst author = template.author_text;\n\t\t\tif ( author && ! acc[ author ] ) {\n\t\t\t\tacc[ author ] = template;\n\t\t\t}\n\t\t\treturn acc;\n\t\t}, {} );\n\t\treturn (\n\t\t\t( firstItemPerAuthor && Object.values( firstItemPerAuthor ) ) ??\n\t\t\tEMPTY_ARRAY\n\t\t);\n\t}, [ records ] );\n\n\treturn (\n\t\t<ItemGroup className=\"edit-site-sidebar-navigation-screen-templates-browse\">\n\t\t\t<SidebarNavigationItem\n\t\t\t\tto=\"/template\"\n\t\t\t\ticon={ layout }\n\t\t\t\taria-current={ activeView === 'all' }\n\t\t\t>\n\t\t\t\t{ __( 'All templates' ) }\n\t\t\t</SidebarNavigationItem>\n\t\t\t{ firstItemPerAuthorText.map( ( template ) => {\n\t\t\t\treturn (\n\t\t\t\t\t<TemplateDataviewItem\n\t\t\t\t\t\tkey={ template.author_text }\n\t\t\t\t\t\ttemplate={ template }\n\t\t\t\t\t\tisActive={ activeView === template.author_text }\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</ItemGroup>\n\t);\n}\n"],
5
+ "mappings": ";AAGA,SAAS,wBAAwB;AACjC,SAAS,eAAe;AACxB,SAAS,2BAA2B,iBAAiB;AACrD,SAAS,UAAU;AACnB,SAAS,eAAe,yBAAyB;AACjD,SAAS,oBAAoB;AAK7B,OAAO,2BAA2B;AAClC,SAAS,kBAAkB;AAC3B,SAAS,cAAc;AACvB,SAAS,0BAA0B;AACnC,SAAS,cAAc;AAUrB,cAgCA,YAhCA;AARF,IAAM,EAAE,YAAY,IAAI,OAAQ,iBAAkB;AAElD,IAAM,cAAc,CAAC;AAErB,SAAS,qBAAsB,EAAE,UAAU,SAAS,GAAI;AACvD,QAAM,EAAE,MAAM,KAAK,IAAI,WAAY,SAAS,MAAM,SAAS,EAAG;AAE9D,SACC;AAAA,IAAC;AAAA;AAAA,MACA,IAAK,aAAc,aAAa,EAAE,YAAY,KAAK,CAAE;AAAA,MACrD;AAAA,MACA,gBAAe;AAAA,MAEb;AAAA;AAAA,EACH;AAEF;AAEe,SAAR,mCAAoD;AAC1D,QAAM;AAAA,IACL,OAAO,EAAE,aAAa,MAAM;AAAA,EAC7B,IAAI,YAAY;AAChB,QAAM,EAAE,QAAQ,IAAI,iBAAkB,YAAY,oBAAoB;AAAA,IACrE,UAAU;AAAA,EACX,CAAE;AACF,QAAM,yBAAyB,QAAS,MAAM;AAC7C,UAAM,qBAAqB,SAAS,OAAQ,CAAE,KAAK,aAAc;AAChE,YAAM,SAAS,SAAS;AACxB,UAAK,UAAU,CAAE,IAAK,MAAO,GAAI;AAChC,YAAK,MAAO,IAAI;AAAA,MACjB;AACA,aAAO;AAAA,IACR,GAAG,CAAC,CAAE;AACN,YACG,sBAAsB,OAAO,OAAQ,kBAAmB,MAC1D;AAAA,EAEF,GAAG,CAAE,OAAQ,CAAE;AAEf,SACC,qBAAC,aAAU,WAAU,wDACpB;AAAA;AAAA,MAAC;AAAA;AAAA,QACA,IAAG;AAAA,QACH,MAAO;AAAA,QACP,gBAAe,eAAe;AAAA,QAE5B,aAAI,eAAgB;AAAA;AAAA,IACvB;AAAA,IACE,uBAAuB,IAAK,CAAE,aAAc;AAC7C,aACC;AAAA,QAAC;AAAA;AAAA,UAEA;AAAA,UACA,UAAW,eAAe,SAAS;AAAA;AAAA,QAF7B,SAAS;AAAA,MAGhB;AAAA,IAEF,CAAE;AAAA,KACH;AAEF;",
6
+ "names": []
7
+ }
@@ -2,6 +2,7 @@
2
2
  import { __ } from "@wordpress/i18n";
3
3
  import SidebarNavigationScreen from "../sidebar-navigation-screen";
4
4
  import DataviewsTemplatesSidebarContent from "./content";
5
+ import DataviewsTemplatesSidebarContentLegacy from "./content-legacy";
5
6
  import { jsx } from "react/jsx-runtime";
6
7
  function SidebarNavigationScreenTemplatesBrowse({ backPath }) {
7
8
  return /* @__PURE__ */ jsx(
@@ -12,7 +13,7 @@ function SidebarNavigationScreenTemplatesBrowse({ backPath }) {
12
13
  "Create new templates, or reset any customizations made to the templates supplied by your theme."
13
14
  ),
14
15
  backPath,
15
- content: /* @__PURE__ */ jsx(DataviewsTemplatesSidebarContent, {})
16
+ content: window?.__experimentalTemplateActivate ? /* @__PURE__ */ jsx(DataviewsTemplatesSidebarContent, {}) : /* @__PURE__ */ jsx(DataviewsTemplatesSidebarContentLegacy, {})
16
17
  }
17
18
  );
18
19
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/components/sidebar-navigation-screen-templates-browse/index.js"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport SidebarNavigationScreen from '../sidebar-navigation-screen';\nimport DataviewsTemplatesSidebarContent from './content';\n\nexport default function SidebarNavigationScreenTemplatesBrowse( { backPath } ) {\n\treturn (\n\t\t<SidebarNavigationScreen\n\t\t\ttitle={ __( 'Templates' ) }\n\t\t\tdescription={ __(\n\t\t\t\t'Create new templates, or reset any customizations made to the templates supplied by your theme.'\n\t\t\t) }\n\t\t\tbackPath={ backPath }\n\t\t\tcontent={ <DataviewsTemplatesSidebarContent /> }\n\t\t/>\n\t);\n}\n"],
5
- "mappings": ";AAGA,SAAS,UAAU;AAKnB,OAAO,6BAA6B;AACpC,OAAO,sCAAsC;AAUhC;AARE,SAAR,uCAAyD,EAAE,SAAS,GAAI;AAC9E,SACC;AAAA,IAAC;AAAA;AAAA,MACA,OAAQ,GAAI,WAAY;AAAA,MACxB,aAAc;AAAA,QACb;AAAA,MACD;AAAA,MACA;AAAA,MACA,SAAU,oBAAC,oCAAiC;AAAA;AAAA,EAC7C;AAEF;",
4
+ "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport SidebarNavigationScreen from '../sidebar-navigation-screen';\nimport DataviewsTemplatesSidebarContent from './content';\nimport DataviewsTemplatesSidebarContentLegacy from './content-legacy';\n\nexport default function SidebarNavigationScreenTemplatesBrowse( { backPath } ) {\n\treturn (\n\t\t<SidebarNavigationScreen\n\t\t\ttitle={ __( 'Templates' ) }\n\t\t\tdescription={ __(\n\t\t\t\t'Create new templates, or reset any customizations made to the templates supplied by your theme.'\n\t\t\t) }\n\t\t\tbackPath={ backPath }\n\t\t\tcontent={\n\t\t\t\twindow?.__experimentalTemplateActivate ? (\n\t\t\t\t\t<DataviewsTemplatesSidebarContent />\n\t\t\t\t) : (\n\t\t\t\t\t<DataviewsTemplatesSidebarContentLegacy />\n\t\t\t\t)\n\t\t\t}\n\t\t/>\n\t);\n}\n"],
5
+ "mappings": ";AAGA,SAAS,UAAU;AAKnB,OAAO,6BAA6B;AACpC,OAAO,sCAAsC;AAC7C,OAAO,4CAA4C;AAY9C;AAVU,SAAR,uCAAyD,EAAE,SAAS,GAAI;AAC9E,SACC;AAAA,IAAC;AAAA;AAAA,MACA,OAAQ,GAAI,WAAY;AAAA,MACxB,aAAc;AAAA,QACb;AAAA,MACD;AAAA,MACA;AAAA,MACA,SACC,QAAQ,iCACP,oBAAC,oCAAiC,IAElC,oBAAC,0CAAuC;AAAA;AAAA,EAG3C;AAEF;",
6
6
  "names": []
7
7
  }
@@ -4,6 +4,7 @@ import Editor from "../editor";
4
4
  import SidebarNavigationScreenTemplatesBrowse from "../sidebar-navigation-screen-templates-browse";
5
5
  import SidebarNavigationScreenUnsupported from "../sidebar-navigation-screen-unsupported";
6
6
  import PageTemplates from "../page-templates";
7
+ import PageTemplatesLegacy from "../page-templates/index-legacy";
7
8
  import { getDefaultView } from "../page-templates/view-utils";
8
9
  import { jsx } from "react/jsx-runtime";
9
10
  async function isTemplateListView(query) {
@@ -26,7 +27,10 @@ var templatesRoute = {
26
27
  },
27
28
  content({ siteData }) {
28
29
  const isBlockTheme = siteData.currentTheme?.is_block_theme;
29
- return isBlockTheme ? /* @__PURE__ */ jsx(PageTemplates, {}) : void 0;
30
+ if (!isBlockTheme) {
31
+ return void 0;
32
+ }
33
+ return window?.__experimentalTemplateActivate ? /* @__PURE__ */ jsx(PageTemplates, {}) : /* @__PURE__ */ jsx(PageTemplatesLegacy, {});
30
34
  },
31
35
  async preview({ query, siteData }) {
32
36
  const isBlockTheme = siteData.currentTheme?.is_block_theme;
@@ -38,7 +42,11 @@ var templatesRoute = {
38
42
  },
39
43
  mobile({ siteData }) {
40
44
  const isBlockTheme = siteData.currentTheme?.is_block_theme;
41
- return isBlockTheme ? /* @__PURE__ */ jsx(PageTemplates, {}) : /* @__PURE__ */ jsx(SidebarNavigationScreenUnsupported, {});
45
+ if (!isBlockTheme) {
46
+ return /* @__PURE__ */ jsx(SidebarNavigationScreenUnsupported, {});
47
+ }
48
+ const isTemplateActivateEnabled = typeof window !== "undefined" && window.__experimentalTemplateActivate;
49
+ return isTemplateActivateEnabled ? /* @__PURE__ */ jsx(PageTemplates, {}) : /* @__PURE__ */ jsx(PageTemplatesLegacy, {});
42
50
  }
43
51
  },
44
52
  widths: {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/components/site-editor-routes/templates.js"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { loadView } from '@wordpress/views';\n\n/**\n * Internal dependencies\n */\nimport Editor from '../editor';\nimport SidebarNavigationScreenTemplatesBrowse from '../sidebar-navigation-screen-templates-browse';\nimport SidebarNavigationScreenUnsupported from '../sidebar-navigation-screen-unsupported';\nimport PageTemplates from '../page-templates';\nimport { getDefaultView } from '../page-templates/view-utils';\n\nasync function isTemplateListView( query ) {\n\tconst { activeView = 'active' } = query;\n\tconst view = await loadView( {\n\t\tkind: 'postType',\n\t\tname: 'wp_template',\n\t\tslug: activeView,\n\t\tdefaultView: getDefaultView( activeView ),\n\t} );\n\treturn view.type === 'list';\n}\n\nexport const templatesRoute = {\n\tname: 'templates',\n\tpath: '/template',\n\tareas: {\n\t\tsidebar( { siteData } ) {\n\t\t\tconst isBlockTheme = siteData.currentTheme?.is_block_theme;\n\t\t\treturn isBlockTheme ? (\n\t\t\t\t<SidebarNavigationScreenTemplatesBrowse backPath=\"/\" />\n\t\t\t) : (\n\t\t\t\t<SidebarNavigationScreenUnsupported />\n\t\t\t);\n\t\t},\n\t\tcontent( { siteData } ) {\n\t\t\tconst isBlockTheme = siteData.currentTheme?.is_block_theme;\n\t\t\treturn isBlockTheme ? <PageTemplates /> : undefined;\n\t\t},\n\t\tasync preview( { query, siteData } ) {\n\t\t\tconst isBlockTheme = siteData.currentTheme?.is_block_theme;\n\t\t\tif ( ! isBlockTheme ) {\n\t\t\t\treturn undefined;\n\t\t\t}\n\t\t\tconst isListView = await isTemplateListView( query );\n\t\t\treturn isListView ? <Editor /> : undefined;\n\t\t},\n\t\tmobile( { siteData } ) {\n\t\t\tconst isBlockTheme = siteData.currentTheme?.is_block_theme;\n\t\t\treturn isBlockTheme ? (\n\t\t\t\t<PageTemplates />\n\t\t\t) : (\n\t\t\t\t<SidebarNavigationScreenUnsupported />\n\t\t\t);\n\t\t},\n\t},\n\twidths: {\n\t\tasync content( { query } ) {\n\t\t\tconst isListView = await isTemplateListView( query );\n\t\t\treturn isListView ? 380 : undefined;\n\t\t},\n\t},\n};\n"],
5
- "mappings": ";AAGA,SAAS,gBAAgB;AAKzB,OAAO,YAAY;AACnB,OAAO,4CAA4C;AACnD,OAAO,wCAAwC;AAC/C,OAAO,mBAAmB;AAC1B,SAAS,sBAAsB;AAoB3B;AAlBJ,eAAe,mBAAoB,OAAQ;AAC1C,QAAM,EAAE,aAAa,SAAS,IAAI;AAClC,QAAM,OAAO,MAAM,SAAU;AAAA,IAC5B,MAAM;AAAA,IACN,MAAM;AAAA,IACN,MAAM;AAAA,IACN,aAAa,eAAgB,UAAW;AAAA,EACzC,CAAE;AACF,SAAO,KAAK,SAAS;AACtB;AAEO,IAAM,iBAAiB;AAAA,EAC7B,MAAM;AAAA,EACN,MAAM;AAAA,EACN,OAAO;AAAA,IACN,QAAS,EAAE,SAAS,GAAI;AACvB,YAAM,eAAe,SAAS,cAAc;AAC5C,aAAO,eACN,oBAAC,0CAAuC,UAAS,KAAI,IAErD,oBAAC,sCAAmC;AAAA,IAEtC;AAAA,IACA,QAAS,EAAE,SAAS,GAAI;AACvB,YAAM,eAAe,SAAS,cAAc;AAC5C,aAAO,eAAe,oBAAC,iBAAc,IAAK;AAAA,IAC3C;AAAA,IACA,MAAM,QAAS,EAAE,OAAO,SAAS,GAAI;AACpC,YAAM,eAAe,SAAS,cAAc;AAC5C,UAAK,CAAE,cAAe;AACrB,eAAO;AAAA,MACR;AACA,YAAM,aAAa,MAAM,mBAAoB,KAAM;AACnD,aAAO,aAAa,oBAAC,UAAO,IAAK;AAAA,IAClC;AAAA,IACA,OAAQ,EAAE,SAAS,GAAI;AACtB,YAAM,eAAe,SAAS,cAAc;AAC5C,aAAO,eACN,oBAAC,iBAAc,IAEf,oBAAC,sCAAmC;AAAA,IAEtC;AAAA,EACD;AAAA,EACA,QAAQ;AAAA,IACP,MAAM,QAAS,EAAE,MAAM,GAAI;AAC1B,YAAM,aAAa,MAAM,mBAAoB,KAAM;AACnD,aAAO,aAAa,MAAM;AAAA,IAC3B;AAAA,EACD;AACD;",
4
+ "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { loadView } from '@wordpress/views';\n\n/**\n * Internal dependencies\n */\nimport Editor from '../editor';\nimport SidebarNavigationScreenTemplatesBrowse from '../sidebar-navigation-screen-templates-browse';\nimport SidebarNavigationScreenUnsupported from '../sidebar-navigation-screen-unsupported';\nimport PageTemplates from '../page-templates';\nimport PageTemplatesLegacy from '../page-templates/index-legacy';\nimport { getDefaultView } from '../page-templates/view-utils';\n\nasync function isTemplateListView( query ) {\n\tconst { activeView = 'active' } = query;\n\tconst view = await loadView( {\n\t\tkind: 'postType',\n\t\tname: 'wp_template',\n\t\tslug: activeView,\n\t\tdefaultView: getDefaultView( activeView ),\n\t} );\n\treturn view.type === 'list';\n}\n\nexport const templatesRoute = {\n\tname: 'templates',\n\tpath: '/template',\n\tareas: {\n\t\tsidebar( { siteData } ) {\n\t\t\tconst isBlockTheme = siteData.currentTheme?.is_block_theme;\n\t\t\treturn isBlockTheme ? (\n\t\t\t\t<SidebarNavigationScreenTemplatesBrowse backPath=\"/\" />\n\t\t\t) : (\n\t\t\t\t<SidebarNavigationScreenUnsupported />\n\t\t\t);\n\t\t},\n\t\tcontent( { siteData } ) {\n\t\t\tconst isBlockTheme = siteData.currentTheme?.is_block_theme;\n\t\t\tif ( ! isBlockTheme ) {\n\t\t\t\treturn undefined;\n\t\t\t}\n\t\t\t// Use the new template activation system if experiment is enabled,\n\t\t\t// otherwise use the legacy simple template list.\n\t\t\treturn window?.__experimentalTemplateActivate ? (\n\t\t\t\t<PageTemplates />\n\t\t\t) : (\n\t\t\t\t<PageTemplatesLegacy />\n\t\t\t);\n\t\t},\n\t\tasync preview( { query, siteData } ) {\n\t\t\tconst isBlockTheme = siteData.currentTheme?.is_block_theme;\n\t\t\tif ( ! isBlockTheme ) {\n\t\t\t\treturn undefined;\n\t\t\t}\n\t\t\tconst isListView = await isTemplateListView( query );\n\t\t\treturn isListView ? <Editor /> : undefined;\n\t\t},\n\t\tmobile( { siteData } ) {\n\t\t\tconst isBlockTheme = siteData.currentTheme?.is_block_theme;\n\t\t\tif ( ! isBlockTheme ) {\n\t\t\t\treturn <SidebarNavigationScreenUnsupported />;\n\t\t\t}\n\t\t\t// Check if the template activation experiment is enabled.\n\t\t\tconst isTemplateActivateEnabled =\n\t\t\t\ttypeof window !== 'undefined' &&\n\t\t\t\twindow.__experimentalTemplateActivate;\n\t\t\t// Use the new template activation system if experiment is enabled,\n\t\t\t// otherwise use the legacy simple template list.\n\t\t\treturn isTemplateActivateEnabled ? (\n\t\t\t\t<PageTemplates />\n\t\t\t) : (\n\t\t\t\t<PageTemplatesLegacy />\n\t\t\t);\n\t\t},\n\t},\n\twidths: {\n\t\tasync content( { query } ) {\n\t\t\tconst isListView = await isTemplateListView( query );\n\t\t\treturn isListView ? 380 : undefined;\n\t\t},\n\t},\n};\n"],
5
+ "mappings": ";AAGA,SAAS,gBAAgB;AAKzB,OAAO,YAAY;AACnB,OAAO,4CAA4C;AACnD,OAAO,wCAAwC;AAC/C,OAAO,mBAAmB;AAC1B,OAAO,yBAAyB;AAChC,SAAS,sBAAsB;AAoB3B;AAlBJ,eAAe,mBAAoB,OAAQ;AAC1C,QAAM,EAAE,aAAa,SAAS,IAAI;AAClC,QAAM,OAAO,MAAM,SAAU;AAAA,IAC5B,MAAM;AAAA,IACN,MAAM;AAAA,IACN,MAAM;AAAA,IACN,aAAa,eAAgB,UAAW;AAAA,EACzC,CAAE;AACF,SAAO,KAAK,SAAS;AACtB;AAEO,IAAM,iBAAiB;AAAA,EAC7B,MAAM;AAAA,EACN,MAAM;AAAA,EACN,OAAO;AAAA,IACN,QAAS,EAAE,SAAS,GAAI;AACvB,YAAM,eAAe,SAAS,cAAc;AAC5C,aAAO,eACN,oBAAC,0CAAuC,UAAS,KAAI,IAErD,oBAAC,sCAAmC;AAAA,IAEtC;AAAA,IACA,QAAS,EAAE,SAAS,GAAI;AACvB,YAAM,eAAe,SAAS,cAAc;AAC5C,UAAK,CAAE,cAAe;AACrB,eAAO;AAAA,MACR;AAGA,aAAO,QAAQ,iCACd,oBAAC,iBAAc,IAEf,oBAAC,uBAAoB;AAAA,IAEvB;AAAA,IACA,MAAM,QAAS,EAAE,OAAO,SAAS,GAAI;AACpC,YAAM,eAAe,SAAS,cAAc;AAC5C,UAAK,CAAE,cAAe;AACrB,eAAO;AAAA,MACR;AACA,YAAM,aAAa,MAAM,mBAAoB,KAAM;AACnD,aAAO,aAAa,oBAAC,UAAO,IAAK;AAAA,IAClC;AAAA,IACA,OAAQ,EAAE,SAAS,GAAI;AACtB,YAAM,eAAe,SAAS,cAAc;AAC5C,UAAK,CAAE,cAAe;AACrB,eAAO,oBAAC,sCAAmC;AAAA,MAC5C;AAEA,YAAM,4BACL,OAAO,WAAW,eAClB,OAAO;AAGR,aAAO,4BACN,oBAAC,iBAAc,IAEf,oBAAC,uBAAoB;AAAA,IAEvB;AAAA,EACD;AAAA,EACA,QAAQ;AAAA,IACP,MAAM,QAAS,EAAE,MAAM,GAAI;AAC1B,YAAM,aAAa,MAAM,mBAAoB,KAAM;AACnD,aAAO,aAAa,MAAM;AAAA,IAC3B;AAAA,EACD;AACD;",
6
6
  "names": []
7
7
  }
@@ -121,7 +121,7 @@ var SiteHubMobile = memo(
121
121
  const _site = getEntityRecord("root", "site");
122
122
  const currentTheme = getCurrentTheme();
123
123
  const settings = getSettings();
124
- const supportsEditorStyles = currentTheme.theme_supports["editor-styles"];
124
+ const supportsEditorStyles = currentTheme?.theme_supports["editor-styles"];
125
125
  const hasThemeJson = settings.supportsLayout;
126
126
  return {
127
127
  dashboardLink: settings.__experimentalDashboardLink,
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/components/site-hub/index.js"],
4
- "sourcesContent": ["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tButton,\n\t__experimentalHStack as HStack,\n\tVisuallyHidden,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { memo, forwardRef, useContext } from '@wordpress/element';\nimport { search } from '@wordpress/icons';\nimport { store as commandsStore } from '@wordpress/commands';\nimport { displayShortcut } from '@wordpress/keycodes';\nimport { filterURLForDisplay } from '@wordpress/url';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\n\n/**\n * Internal dependencies\n */\nimport { store as editSiteStore } from '../../store';\nimport SiteIcon from '../site-icon';\nimport { unlock } from '../../lock-unlock';\nimport { SidebarNavigationContext } from '../sidebar';\nconst { useLocation, useHistory } = unlock( routerPrivateApis );\n\nconst SiteHub = memo(\n\tforwardRef( ( { isTransparent }, ref ) => {\n\t\tconst { dashboardLink, homeUrl, siteTitle } = useSelect( ( select ) => {\n\t\t\tconst { getSettings } = unlock( select( editSiteStore ) );\n\n\t\t\tconst { getEntityRecord } = select( coreStore );\n\t\t\tconst _site = getEntityRecord( 'root', 'site' );\n\t\t\treturn {\n\t\t\t\tdashboardLink: getSettings().__experimentalDashboardLink,\n\t\t\t\thomeUrl: getEntityRecord( 'root', '__unstableBase' )?.home,\n\t\t\t\tsiteTitle:\n\t\t\t\t\t! _site?.title && !! _site?.url\n\t\t\t\t\t\t? filterURLForDisplay( _site?.url )\n\t\t\t\t\t\t: _site?.title,\n\t\t\t};\n\t\t}, [] );\n\t\tconst { open: openCommandCenter } = useDispatch( commandsStore );\n\n\t\treturn (\n\t\t\t<div className=\"edit-site-site-hub\">\n\t\t\t\t<HStack justify=\"flex-start\" spacing=\"0\">\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t'edit-site-site-hub__view-mode-toggle-container',\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t'has-transparent-background': isTransparent,\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\t<Button\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tref={ ref }\n\t\t\t\t\t\t\thref={ dashboardLink }\n\t\t\t\t\t\t\tlabel={ __( 'Go to the Dashboard' ) }\n\t\t\t\t\t\t\tclassName=\"edit-site-layout__view-mode-toggle\"\n\t\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\t\ttransform: 'scale(0.5333) translateX(-4px)', // Offset to position the icon 12px from viewport edge\n\t\t\t\t\t\t\t\tborderRadius: 4,\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<SiteIcon className=\"edit-site-layout__view-mode-toggle-icon\" />\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<HStack>\n\t\t\t\t\t\t<div className=\"edit-site-site-hub__title\">\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\tvariant=\"link\"\n\t\t\t\t\t\t\t\thref={ homeUrl }\n\t\t\t\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ decodeEntities( siteTitle ) }\n\t\t\t\t\t\t\t\t<VisuallyHidden as=\"span\">\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t/* translators: accessibility text */\n\t\t\t\t\t\t\t\t\t\t__( '(opens in a new tab)' )\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t</VisuallyHidden>\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<HStack\n\t\t\t\t\t\t\tspacing={ 0 }\n\t\t\t\t\t\t\texpanded={ false }\n\t\t\t\t\t\t\tclassName=\"edit-site-site-hub__actions\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\t\t\t\tclassName=\"edit-site-site-hub_toggle-command-center\"\n\t\t\t\t\t\t\t\ticon={ search }\n\t\t\t\t\t\t\t\tonClick={ () => openCommandCenter() }\n\t\t\t\t\t\t\t\tlabel={ __( 'Open command palette' ) }\n\t\t\t\t\t\t\t\tshortcut={ displayShortcut.primary( 'k' ) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</HStack>\n\t\t\t\t\t</HStack>\n\t\t\t\t</HStack>\n\t\t\t</div>\n\t\t);\n\t} )\n);\n\nexport default SiteHub;\n\nexport const SiteHubMobile = memo(\n\tforwardRef( ( { isTransparent }, ref ) => {\n\t\tconst { path } = useLocation();\n\t\tconst history = useHistory();\n\t\tconst { navigate } = useContext( SidebarNavigationContext );\n\n\t\tconst {\n\t\t\tdashboardLink,\n\t\t\thomeUrl,\n\t\t\tsiteTitle,\n\t\t\tisBlockTheme,\n\t\t\tisClassicThemeWithStyleBookSupport,\n\t\t} = useSelect( ( select ) => {\n\t\t\tconst { getSettings } = unlock( select( editSiteStore ) );\n\t\t\tconst { getEntityRecord, getCurrentTheme } = select( coreStore );\n\t\t\tconst _site = getEntityRecord( 'root', 'site' );\n\t\t\tconst currentTheme = getCurrentTheme();\n\t\t\tconst settings = getSettings();\n\t\t\tconst supportsEditorStyles =\n\t\t\t\tcurrentTheme.theme_supports[ 'editor-styles' ];\n\t\t\t// This is a temp solution until the has_theme_json value is available for the current theme.\n\t\t\tconst hasThemeJson = settings.supportsLayout;\n\n\t\t\treturn {\n\t\t\t\tdashboardLink: settings.__experimentalDashboardLink,\n\t\t\t\thomeUrl: getEntityRecord( 'root', '__unstableBase' )?.home,\n\t\t\t\tsiteTitle:\n\t\t\t\t\t! _site?.title && !! _site?.url\n\t\t\t\t\t\t? filterURLForDisplay( _site?.url )\n\t\t\t\t\t\t: _site?.title,\n\t\t\t\tisBlockTheme: currentTheme?.is_block_theme,\n\t\t\t\tisClassicThemeWithStyleBookSupport:\n\t\t\t\t\t! currentTheme?.is_block_theme &&\n\t\t\t\t\t( supportsEditorStyles || hasThemeJson ),\n\t\t\t};\n\t\t}, [] );\n\t\tconst { open: openCommandCenter } = useDispatch( commandsStore );\n\n\t\tlet backPath;\n\n\t\t// If the current path is not the root page, find a page to back to.\n\t\tif ( path !== '/' ) {\n\t\t\tif ( isBlockTheme || isClassicThemeWithStyleBookSupport ) {\n\t\t\t\t// If the current theme is a block theme or a classic theme that supports StyleBook,\n\t\t\t\t// back to the Design screen.\n\t\t\t\tbackPath = '/';\n\t\t\t} else if ( path !== '/pattern' ) {\n\t\t\t\t// If the current theme is a classic theme that does not support StyleBook,\n\t\t\t\t// back to the Patterns page.\n\t\t\t\tbackPath = '/pattern';\n\t\t\t}\n\t\t}\n\n\t\tconst backButtonProps = {\n\t\t\thref: !! backPath ? undefined : dashboardLink,\n\t\t\tlabel: !! backPath\n\t\t\t\t? __( 'Go to Site Editor' )\n\t\t\t\t: __( 'Go to the Dashboard' ),\n\t\t\tonClick: !! backPath\n\t\t\t\t? () => {\n\t\t\t\t\t\thistory.navigate( backPath );\n\t\t\t\t\t\tnavigate( 'back' );\n\t\t\t\t }\n\t\t\t\t: undefined,\n\t\t};\n\n\t\treturn (\n\t\t\t<div className=\"edit-site-site-hub\">\n\t\t\t\t<HStack justify=\"flex-start\" spacing=\"0\">\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t'edit-site-site-hub__view-mode-toggle-container',\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t'has-transparent-background': isTransparent,\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\t<Button\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tref={ ref }\n\t\t\t\t\t\t\tclassName=\"edit-site-layout__view-mode-toggle\"\n\t\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\t\ttransform: 'scale(0.5)',\n\t\t\t\t\t\t\t\tborderRadius: 4,\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t{ ...backButtonProps }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<SiteIcon className=\"edit-site-layout__view-mode-toggle-icon\" />\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<HStack>\n\t\t\t\t\t\t<div className=\"edit-site-site-hub__title\">\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\tvariant=\"link\"\n\t\t\t\t\t\t\t\thref={ homeUrl }\n\t\t\t\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t\t\t\t\tlabel={ __( 'View site (opens in a new tab)' ) }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ decodeEntities( siteTitle ) }\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<HStack\n\t\t\t\t\t\t\tspacing={ 0 }\n\t\t\t\t\t\t\texpanded={ false }\n\t\t\t\t\t\t\tclassName=\"edit-site-site-hub__actions\"\n\t\t\t\t\t\t>\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\tclassName=\"edit-site-site-hub_toggle-command-center\"\n\t\t\t\t\t\t\t\ticon={ search }\n\t\t\t\t\t\t\t\tonClick={ () => openCommandCenter() }\n\t\t\t\t\t\t\t\tlabel={ __( 'Open command palette' ) }\n\t\t\t\t\t\t\t\tshortcut={ displayShortcut.primary( 'k' ) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</HStack>\n\t\t\t\t\t</HStack>\n\t\t\t\t</HStack>\n\t\t\t</div>\n\t\t);\n\t} )\n);\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tButton,\n\t__experimentalHStack as HStack,\n\tVisuallyHidden,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { memo, forwardRef, useContext } from '@wordpress/element';\nimport { search } from '@wordpress/icons';\nimport { store as commandsStore } from '@wordpress/commands';\nimport { displayShortcut } from '@wordpress/keycodes';\nimport { filterURLForDisplay } from '@wordpress/url';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\n\n/**\n * Internal dependencies\n */\nimport { store as editSiteStore } from '../../store';\nimport SiteIcon from '../site-icon';\nimport { unlock } from '../../lock-unlock';\nimport { SidebarNavigationContext } from '../sidebar';\nconst { useLocation, useHistory } = unlock( routerPrivateApis );\n\nconst SiteHub = memo(\n\tforwardRef( ( { isTransparent }, ref ) => {\n\t\tconst { dashboardLink, homeUrl, siteTitle } = useSelect( ( select ) => {\n\t\t\tconst { getSettings } = unlock( select( editSiteStore ) );\n\n\t\t\tconst { getEntityRecord } = select( coreStore );\n\t\t\tconst _site = getEntityRecord( 'root', 'site' );\n\t\t\treturn {\n\t\t\t\tdashboardLink: getSettings().__experimentalDashboardLink,\n\t\t\t\thomeUrl: getEntityRecord( 'root', '__unstableBase' )?.home,\n\t\t\t\tsiteTitle:\n\t\t\t\t\t! _site?.title && !! _site?.url\n\t\t\t\t\t\t? filterURLForDisplay( _site?.url )\n\t\t\t\t\t\t: _site?.title,\n\t\t\t};\n\t\t}, [] );\n\t\tconst { open: openCommandCenter } = useDispatch( commandsStore );\n\n\t\treturn (\n\t\t\t<div className=\"edit-site-site-hub\">\n\t\t\t\t<HStack justify=\"flex-start\" spacing=\"0\">\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t'edit-site-site-hub__view-mode-toggle-container',\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t'has-transparent-background': isTransparent,\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\t<Button\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tref={ ref }\n\t\t\t\t\t\t\thref={ dashboardLink }\n\t\t\t\t\t\t\tlabel={ __( 'Go to the Dashboard' ) }\n\t\t\t\t\t\t\tclassName=\"edit-site-layout__view-mode-toggle\"\n\t\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\t\ttransform: 'scale(0.5333) translateX(-4px)', // Offset to position the icon 12px from viewport edge\n\t\t\t\t\t\t\t\tborderRadius: 4,\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<SiteIcon className=\"edit-site-layout__view-mode-toggle-icon\" />\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<HStack>\n\t\t\t\t\t\t<div className=\"edit-site-site-hub__title\">\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\tvariant=\"link\"\n\t\t\t\t\t\t\t\thref={ homeUrl }\n\t\t\t\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ decodeEntities( siteTitle ) }\n\t\t\t\t\t\t\t\t<VisuallyHidden as=\"span\">\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t/* translators: accessibility text */\n\t\t\t\t\t\t\t\t\t\t__( '(opens in a new tab)' )\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t</VisuallyHidden>\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<HStack\n\t\t\t\t\t\t\tspacing={ 0 }\n\t\t\t\t\t\t\texpanded={ false }\n\t\t\t\t\t\t\tclassName=\"edit-site-site-hub__actions\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\t\t\t\tclassName=\"edit-site-site-hub_toggle-command-center\"\n\t\t\t\t\t\t\t\ticon={ search }\n\t\t\t\t\t\t\t\tonClick={ () => openCommandCenter() }\n\t\t\t\t\t\t\t\tlabel={ __( 'Open command palette' ) }\n\t\t\t\t\t\t\t\tshortcut={ displayShortcut.primary( 'k' ) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</HStack>\n\t\t\t\t\t</HStack>\n\t\t\t\t</HStack>\n\t\t\t</div>\n\t\t);\n\t} )\n);\n\nexport default SiteHub;\n\nexport const SiteHubMobile = memo(\n\tforwardRef( ( { isTransparent }, ref ) => {\n\t\tconst { path } = useLocation();\n\t\tconst history = useHistory();\n\t\tconst { navigate } = useContext( SidebarNavigationContext );\n\n\t\tconst {\n\t\t\tdashboardLink,\n\t\t\thomeUrl,\n\t\t\tsiteTitle,\n\t\t\tisBlockTheme,\n\t\t\tisClassicThemeWithStyleBookSupport,\n\t\t} = useSelect( ( select ) => {\n\t\t\tconst { getSettings } = unlock( select( editSiteStore ) );\n\t\t\tconst { getEntityRecord, getCurrentTheme } = select( coreStore );\n\t\t\tconst _site = getEntityRecord( 'root', 'site' );\n\t\t\tconst currentTheme = getCurrentTheme();\n\t\t\tconst settings = getSettings();\n\t\t\tconst supportsEditorStyles =\n\t\t\t\tcurrentTheme?.theme_supports[ 'editor-styles' ];\n\t\t\t// This is a temp solution until the has_theme_json value is available for the current theme.\n\t\t\tconst hasThemeJson = settings.supportsLayout;\n\n\t\t\treturn {\n\t\t\t\tdashboardLink: settings.__experimentalDashboardLink,\n\t\t\t\thomeUrl: getEntityRecord( 'root', '__unstableBase' )?.home,\n\t\t\t\tsiteTitle:\n\t\t\t\t\t! _site?.title && !! _site?.url\n\t\t\t\t\t\t? filterURLForDisplay( _site?.url )\n\t\t\t\t\t\t: _site?.title,\n\t\t\t\tisBlockTheme: currentTheme?.is_block_theme,\n\t\t\t\tisClassicThemeWithStyleBookSupport:\n\t\t\t\t\t! currentTheme?.is_block_theme &&\n\t\t\t\t\t( supportsEditorStyles || hasThemeJson ),\n\t\t\t};\n\t\t}, [] );\n\t\tconst { open: openCommandCenter } = useDispatch( commandsStore );\n\n\t\tlet backPath;\n\n\t\t// If the current path is not the root page, find a page to back to.\n\t\tif ( path !== '/' ) {\n\t\t\tif ( isBlockTheme || isClassicThemeWithStyleBookSupport ) {\n\t\t\t\t// If the current theme is a block theme or a classic theme that supports StyleBook,\n\t\t\t\t// back to the Design screen.\n\t\t\t\tbackPath = '/';\n\t\t\t} else if ( path !== '/pattern' ) {\n\t\t\t\t// If the current theme is a classic theme that does not support StyleBook,\n\t\t\t\t// back to the Patterns page.\n\t\t\t\tbackPath = '/pattern';\n\t\t\t}\n\t\t}\n\n\t\tconst backButtonProps = {\n\t\t\thref: !! backPath ? undefined : dashboardLink,\n\t\t\tlabel: !! backPath\n\t\t\t\t? __( 'Go to Site Editor' )\n\t\t\t\t: __( 'Go to the Dashboard' ),\n\t\t\tonClick: !! backPath\n\t\t\t\t? () => {\n\t\t\t\t\t\thistory.navigate( backPath );\n\t\t\t\t\t\tnavigate( 'back' );\n\t\t\t\t }\n\t\t\t\t: undefined,\n\t\t};\n\n\t\treturn (\n\t\t\t<div className=\"edit-site-site-hub\">\n\t\t\t\t<HStack justify=\"flex-start\" spacing=\"0\">\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t'edit-site-site-hub__view-mode-toggle-container',\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t'has-transparent-background': isTransparent,\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\t<Button\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tref={ ref }\n\t\t\t\t\t\t\tclassName=\"edit-site-layout__view-mode-toggle\"\n\t\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\t\ttransform: 'scale(0.5)',\n\t\t\t\t\t\t\t\tborderRadius: 4,\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t{ ...backButtonProps }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<SiteIcon className=\"edit-site-layout__view-mode-toggle-icon\" />\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<HStack>\n\t\t\t\t\t\t<div className=\"edit-site-site-hub__title\">\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\tvariant=\"link\"\n\t\t\t\t\t\t\t\thref={ homeUrl }\n\t\t\t\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t\t\t\t\tlabel={ __( 'View site (opens in a new tab)' ) }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ decodeEntities( siteTitle ) }\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<HStack\n\t\t\t\t\t\t\tspacing={ 0 }\n\t\t\t\t\t\t\texpanded={ false }\n\t\t\t\t\t\t\tclassName=\"edit-site-site-hub__actions\"\n\t\t\t\t\t\t>\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\tclassName=\"edit-site-site-hub_toggle-command-center\"\n\t\t\t\t\t\t\t\ticon={ search }\n\t\t\t\t\t\t\t\tonClick={ () => openCommandCenter() }\n\t\t\t\t\t\t\t\tlabel={ __( 'Open command palette' ) }\n\t\t\t\t\t\t\t\tshortcut={ displayShortcut.primary( 'k' ) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</HStack>\n\t\t\t\t\t</HStack>\n\t\t\t\t</HStack>\n\t\t\t</div>\n\t\t);\n\t} )\n);\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }