@wordpress/edit-site 3.0.19 → 3.0.20

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 (110) hide show
  1. package/build/components/block-editor/index.js +1 -1
  2. package/build/components/block-editor/index.js.map +1 -1
  3. package/build/components/block-editor/resizable-editor.js +37 -7
  4. package/build/components/block-editor/resizable-editor.js.map +1 -1
  5. package/build/components/navigation-sidebar/navigation-panel/constants.js +1 -11
  6. package/build/components/navigation-sidebar/navigation-panel/constants.js.map +1 -1
  7. package/build/plugins/site-export.js +1 -1
  8. package/build/plugins/site-export.js.map +1 -1
  9. package/build-module/components/block-editor/index.js +2 -2
  10. package/build-module/components/block-editor/index.js.map +1 -1
  11. package/build-module/components/block-editor/resizable-editor.js +37 -7
  12. package/build-module/components/block-editor/resizable-editor.js.map +1 -1
  13. package/build-module/components/navigation-sidebar/navigation-panel/constants.js +0 -5
  14. package/build-module/components/navigation-sidebar/navigation-panel/constants.js.map +1 -1
  15. package/build-module/plugins/site-export.js +2 -2
  16. package/build-module/plugins/site-export.js.map +1 -1
  17. package/build-style/style-rtl.css +7 -3
  18. package/build-style/style.css +7 -3
  19. package/package.json +8 -8
  20. package/src/components/block-editor/index.js +2 -2
  21. package/src/components/block-editor/resizable-editor.js +52 -12
  22. package/src/components/global-styles/style.scss +2 -1
  23. package/src/components/navigation-sidebar/navigation-panel/constants.js +0 -15
  24. package/src/components/navigation-sidebar/navigation-toggle/style.scss +8 -4
  25. package/src/plugins/site-export.js +2 -2
  26. package/build/components/navigation-sidebar/navigation-panel/content-navigation-item.js +0 -101
  27. package/build/components/navigation-sidebar/navigation-panel/content-navigation-item.js.map +0 -1
  28. package/build/components/navigation-sidebar/navigation-panel/menus/content-categories.js +0 -82
  29. package/build/components/navigation-sidebar/navigation-panel/menus/content-categories.js.map +0 -1
  30. package/build/components/navigation-sidebar/navigation-panel/menus/content-pages.js +0 -82
  31. package/build/components/navigation-sidebar/navigation-panel/menus/content-pages.js.map +0 -1
  32. package/build/components/navigation-sidebar/navigation-panel/menus/content-posts.js +0 -107
  33. package/build/components/navigation-sidebar/navigation-panel/menus/content-posts.js.map +0 -1
  34. package/build/components/navigation-sidebar/navigation-panel/menus/index.js +0 -57
  35. package/build/components/navigation-sidebar/navigation-panel/menus/index.js.map +0 -1
  36. package/build/components/navigation-sidebar/navigation-panel/menus/template-parts-sub.js +0 -48
  37. package/build/components/navigation-sidebar/navigation-panel/menus/template-parts-sub.js.map +0 -1
  38. package/build/components/navigation-sidebar/navigation-panel/menus/template-parts.js +0 -100
  39. package/build/components/navigation-sidebar/navigation-panel/menus/template-parts.js.map +0 -1
  40. package/build/components/navigation-sidebar/navigation-panel/menus/templates-sub.js +0 -62
  41. package/build/components/navigation-sidebar/navigation-panel/menus/templates-sub.js.map +0 -1
  42. package/build/components/navigation-sidebar/navigation-panel/menus/templates.js +0 -143
  43. package/build/components/navigation-sidebar/navigation-panel/menus/templates.js.map +0 -1
  44. package/build/components/navigation-sidebar/navigation-panel/navigation-entity-items.js +0 -76
  45. package/build/components/navigation-sidebar/navigation-panel/navigation-entity-items.js.map +0 -1
  46. package/build/components/navigation-sidebar/navigation-panel/new-template-dropdown.js +0 -125
  47. package/build/components/navigation-sidebar/navigation-panel/new-template-dropdown.js.map +0 -1
  48. package/build/components/navigation-sidebar/navigation-panel/search-results.js +0 -132
  49. package/build/components/navigation-sidebar/navigation-panel/search-results.js.map +0 -1
  50. package/build/components/navigation-sidebar/navigation-panel/template-navigation-item.js +0 -86
  51. package/build/components/navigation-sidebar/navigation-panel/template-navigation-item.js.map +0 -1
  52. package/build/components/navigation-sidebar/navigation-panel/template-preview.js +0 -46
  53. package/build/components/navigation-sidebar/navigation-panel/template-preview.js.map +0 -1
  54. package/build/components/navigation-sidebar/navigation-panel/use-debounced-search.js +0 -47
  55. package/build/components/navigation-sidebar/navigation-panel/use-debounced-search.js.map +0 -1
  56. package/build/components/navigation-sidebar/navigation-panel/utils.js +0 -21
  57. package/build/components/navigation-sidebar/navigation-panel/utils.js.map +0 -1
  58. package/build/utils/get-closest-available-template.js +0 -48
  59. package/build/utils/get-closest-available-template.js.map +0 -1
  60. package/build-module/components/navigation-sidebar/navigation-panel/content-navigation-item.js +0 -86
  61. package/build-module/components/navigation-sidebar/navigation-panel/content-navigation-item.js.map +0 -1
  62. package/build-module/components/navigation-sidebar/navigation-panel/menus/content-categories.js +0 -65
  63. package/build-module/components/navigation-sidebar/navigation-panel/menus/content-categories.js.map +0 -1
  64. package/build-module/components/navigation-sidebar/navigation-panel/menus/content-pages.js +0 -65
  65. package/build-module/components/navigation-sidebar/navigation-panel/menus/content-pages.js.map +0 -1
  66. package/build-module/components/navigation-sidebar/navigation-panel/menus/content-posts.js +0 -90
  67. package/build-module/components/navigation-sidebar/navigation-panel/menus/content-posts.js.map +0 -1
  68. package/build-module/components/navigation-sidebar/navigation-panel/menus/index.js +0 -40
  69. package/build-module/components/navigation-sidebar/navigation-panel/menus/index.js.map +0 -1
  70. package/build-module/components/navigation-sidebar/navigation-panel/menus/template-parts-sub.js +0 -35
  71. package/build-module/components/navigation-sidebar/navigation-panel/menus/template-parts-sub.js.map +0 -1
  72. package/build-module/components/navigation-sidebar/navigation-panel/menus/template-parts.js +0 -84
  73. package/build-module/components/navigation-sidebar/navigation-panel/menus/template-parts.js.map +0 -1
  74. package/build-module/components/navigation-sidebar/navigation-panel/menus/templates-sub.js +0 -50
  75. package/build-module/components/navigation-sidebar/navigation-panel/menus/templates-sub.js.map +0 -1
  76. package/build-module/components/navigation-sidebar/navigation-panel/menus/templates.js +0 -124
  77. package/build-module/components/navigation-sidebar/navigation-panel/menus/templates.js.map +0 -1
  78. package/build-module/components/navigation-sidebar/navigation-panel/navigation-entity-items.js +0 -65
  79. package/build-module/components/navigation-sidebar/navigation-panel/navigation-entity-items.js.map +0 -1
  80. package/build-module/components/navigation-sidebar/navigation-panel/new-template-dropdown.js +0 -106
  81. package/build-module/components/navigation-sidebar/navigation-panel/new-template-dropdown.js.map +0 -1
  82. package/build-module/components/navigation-sidebar/navigation-panel/search-results.js +0 -116
  83. package/build-module/components/navigation-sidebar/navigation-panel/search-results.js.map +0 -1
  84. package/build-module/components/navigation-sidebar/navigation-panel/template-navigation-item.js +0 -71
  85. package/build-module/components/navigation-sidebar/navigation-panel/template-navigation-item.js.map +0 -1
  86. package/build-module/components/navigation-sidebar/navigation-panel/template-preview.js +0 -38
  87. package/build-module/components/navigation-sidebar/navigation-panel/template-preview.js.map +0 -1
  88. package/build-module/components/navigation-sidebar/navigation-panel/use-debounced-search.js +0 -37
  89. package/build-module/components/navigation-sidebar/navigation-panel/use-debounced-search.js.map +0 -1
  90. package/build-module/components/navigation-sidebar/navigation-panel/utils.js +0 -8
  91. package/build-module/components/navigation-sidebar/navigation-panel/utils.js.map +0 -1
  92. package/build-module/utils/get-closest-available-template.js +0 -40
  93. package/build-module/utils/get-closest-available-template.js.map +0 -1
  94. package/src/components/navigation-sidebar/navigation-panel/content-navigation-item.js +0 -89
  95. package/src/components/navigation-sidebar/navigation-panel/menus/content-categories.js +0 -85
  96. package/src/components/navigation-sidebar/navigation-panel/menus/content-pages.js +0 -85
  97. package/src/components/navigation-sidebar/navigation-panel/menus/content-posts.js +0 -117
  98. package/src/components/navigation-sidebar/navigation-panel/menus/index.js +0 -61
  99. package/src/components/navigation-sidebar/navigation-panel/menus/template-parts-sub.js +0 -34
  100. package/src/components/navigation-sidebar/navigation-panel/menus/template-parts.js +0 -94
  101. package/src/components/navigation-sidebar/navigation-panel/menus/templates-sub.js +0 -42
  102. package/src/components/navigation-sidebar/navigation-panel/menus/templates.js +0 -147
  103. package/src/components/navigation-sidebar/navigation-panel/navigation-entity-items.js +0 -53
  104. package/src/components/navigation-sidebar/navigation-panel/new-template-dropdown.js +0 -110
  105. package/src/components/navigation-sidebar/navigation-panel/search-results.js +0 -117
  106. package/src/components/navigation-sidebar/navigation-panel/template-navigation-item.js +0 -83
  107. package/src/components/navigation-sidebar/navigation-panel/template-preview.js +0 -32
  108. package/src/components/navigation-sidebar/navigation-panel/use-debounced-search.js +0 -47
  109. package/src/components/navigation-sidebar/navigation-panel/utils.js +0 -11
  110. package/src/utils/get-closest-available-template.js +0 -31
@@ -1,124 +0,0 @@
1
- import { createElement, Fragment } from "@wordpress/element";
2
-
3
- /**
4
- * External dependencies
5
- */
6
- import { map, find } from 'lodash';
7
- /**
8
- * WordPress dependencies
9
- */
10
-
11
- import { __experimentalNavigationItem as NavigationItem, __experimentalNavigationMenu as NavigationMenu } from '@wordpress/components';
12
- import { useSelect } from '@wordpress/data';
13
- import { __ } from '@wordpress/i18n';
14
- import { useState, useCallback, useMemo } from '@wordpress/element';
15
- import { store as coreStore } from '@wordpress/core-data';
16
- /**
17
- * Internal dependencies
18
- */
19
-
20
- import { MENU_ROOT, MENU_TEMPLATES, MENU_TEMPLATES_GENERAL, MENU_TEMPLATES_PAGES, MENU_TEMPLATES_POSTS, MENU_TEMPLATES_UNUSED } from '../constants';
21
- import NewTemplateDropdown from '../new-template-dropdown';
22
- import TemplateNavigationItem from '../template-navigation-item';
23
- import SearchResults from '../search-results';
24
- import TemplatesSubMenu from './templates-sub';
25
- import { getTemplatesLocationMap, getUnusedTemplates } from '../template-hierarchy';
26
- export default function TemplatesMenu() {
27
- const [search, setSearch] = useState('');
28
- const onSearch = useCallback(value => {
29
- setSearch(value);
30
- });
31
- const {
32
- templates,
33
- showOnFront
34
- } = useSelect(select => {
35
- const {
36
- getEntityRecords,
37
- getEditedEntityRecord
38
- } = select(coreStore);
39
- return {
40
- templates: getEntityRecords('postType', 'wp_template'),
41
- showOnFront: getEditedEntityRecord('root', 'site').show_on_front
42
- };
43
- }, []);
44
- const templatesWithLocation = useMemo(() => {
45
- if (!templates) {
46
- return null;
47
- }
48
-
49
- const unusedTemplates = getUnusedTemplates(templates, showOnFront);
50
- const templateLocations = getTemplatesLocationMap(templates);
51
- return templates.map(template => ({
52
- template,
53
- location: find(unusedTemplates, {
54
- slug: template.slug
55
- }) ? MENU_TEMPLATES_UNUSED : templateLocations[template.slug]
56
- }));
57
- }, [templates]);
58
- const topLevelTemplates = useMemo(() => {
59
- var _templatesWithLocatio, _templatesWithLocatio2;
60
-
61
- return (_templatesWithLocatio = templatesWithLocation === null || templatesWithLocation === void 0 ? void 0 : (_templatesWithLocatio2 = templatesWithLocation.filter(_ref => {
62
- let {
63
- location
64
- } = _ref;
65
- return location === MENU_TEMPLATES;
66
- })) === null || _templatesWithLocatio2 === void 0 ? void 0 : _templatesWithLocatio2.map(_ref2 => {
67
- let {
68
- template
69
- } = _ref2;
70
- return template;
71
- })) !== null && _templatesWithLocatio !== void 0 ? _templatesWithLocatio : [];
72
- }, [templatesWithLocation]);
73
- return createElement(NavigationMenu, {
74
- menu: MENU_TEMPLATES,
75
- title: __('Templates'),
76
- titleAction: createElement(NewTemplateDropdown, null),
77
- parentMenu: MENU_ROOT,
78
- hasSearch: true,
79
- onSearch: onSearch,
80
- search: search
81
- }, search && createElement(SearchResults, {
82
- items: templates,
83
- search: search
84
- }), !search && createElement(Fragment, null, map(topLevelTemplates, template => createElement(TemplateNavigationItem, {
85
- item: template,
86
- key: `wp_template-${template.id}`
87
- })), createElement(NavigationItem, {
88
- navigateToMenu: MENU_TEMPLATES_POSTS,
89
- title: __('Post templates'),
90
- hideIfTargetMenuEmpty: true
91
- }), createElement(NavigationItem, {
92
- navigateToMenu: MENU_TEMPLATES_PAGES,
93
- title: __('Page templates'),
94
- hideIfTargetMenuEmpty: true
95
- }), createElement(NavigationItem, {
96
- navigateToMenu: MENU_TEMPLATES_GENERAL,
97
- title: __('General templates'),
98
- hideIfTargetMenuEmpty: true
99
- }), createElement(NavigationItem, {
100
- navigateToMenu: MENU_TEMPLATES_UNUSED,
101
- title: __('Unused templates'),
102
- hideIfTargetMenuEmpty: true
103
- })), !search && templates === null && createElement(NavigationItem, {
104
- title: __('Loading…'),
105
- isText: true
106
- }), createElement(TemplatesSubMenu, {
107
- menu: MENU_TEMPLATES_POSTS,
108
- title: __('Post templates'),
109
- templates: templatesWithLocation
110
- }), createElement(TemplatesSubMenu, {
111
- menu: MENU_TEMPLATES_PAGES,
112
- title: __('Page templates'),
113
- templates: templatesWithLocation
114
- }), createElement(TemplatesSubMenu, {
115
- menu: MENU_TEMPLATES_GENERAL,
116
- title: __('General templates'),
117
- templates: templatesWithLocation
118
- }), createElement(TemplatesSubMenu, {
119
- menu: MENU_TEMPLATES_UNUSED,
120
- title: __('Unused templates'),
121
- templates: templatesWithLocation
122
- }));
123
- }
124
- //# sourceMappingURL=templates.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["@wordpress/edit-site/src/components/navigation-sidebar/navigation-panel/menus/templates.js"],"names":["map","find","__experimentalNavigationItem","NavigationItem","__experimentalNavigationMenu","NavigationMenu","useSelect","__","useState","useCallback","useMemo","store","coreStore","MENU_ROOT","MENU_TEMPLATES","MENU_TEMPLATES_GENERAL","MENU_TEMPLATES_PAGES","MENU_TEMPLATES_POSTS","MENU_TEMPLATES_UNUSED","NewTemplateDropdown","TemplateNavigationItem","SearchResults","TemplatesSubMenu","getTemplatesLocationMap","getUnusedTemplates","TemplatesMenu","search","setSearch","onSearch","value","templates","showOnFront","select","getEntityRecords","getEditedEntityRecord","show_on_front","templatesWithLocation","unusedTemplates","templateLocations","template","location","slug","topLevelTemplates","filter","id"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { map, find } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalNavigationItem as NavigationItem,\n\t__experimentalNavigationMenu as NavigationMenu,\n} from '@wordpress/components';\nimport { useSelect } from '@wordpress/data';\nimport { __ } from '@wordpress/i18n';\nimport { useState, useCallback, useMemo } from '@wordpress/element';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport {\n\tMENU_ROOT,\n\tMENU_TEMPLATES,\n\tMENU_TEMPLATES_GENERAL,\n\tMENU_TEMPLATES_PAGES,\n\tMENU_TEMPLATES_POSTS,\n\tMENU_TEMPLATES_UNUSED,\n} from '../constants';\nimport NewTemplateDropdown from '../new-template-dropdown';\nimport TemplateNavigationItem from '../template-navigation-item';\nimport SearchResults from '../search-results';\nimport TemplatesSubMenu from './templates-sub';\nimport {\n\tgetTemplatesLocationMap,\n\tgetUnusedTemplates,\n} from '../template-hierarchy';\n\nexport default function TemplatesMenu() {\n\tconst [ search, setSearch ] = useState( '' );\n\tconst onSearch = useCallback( ( value ) => {\n\t\tsetSearch( value );\n\t} );\n\n\tconst { templates, showOnFront } = useSelect( ( select ) => {\n\t\tconst { getEntityRecords, getEditedEntityRecord } = select( coreStore );\n\t\treturn {\n\t\t\ttemplates: getEntityRecords( 'postType', 'wp_template' ),\n\t\t\tshowOnFront: getEditedEntityRecord( 'root', 'site' ).show_on_front,\n\t\t};\n\t}, [] );\n\n\tconst templatesWithLocation = useMemo( () => {\n\t\tif ( ! templates ) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst unusedTemplates = getUnusedTemplates( templates, showOnFront );\n\t\tconst templateLocations = getTemplatesLocationMap( templates );\n\n\t\treturn templates.map( ( template ) => ( {\n\t\t\ttemplate,\n\t\t\tlocation: find( unusedTemplates, { slug: template.slug } )\n\t\t\t\t? MENU_TEMPLATES_UNUSED\n\t\t\t\t: templateLocations[ template.slug ],\n\t\t} ) );\n\t}, [ templates ] );\n\n\tconst topLevelTemplates = useMemo(\n\t\t() =>\n\t\t\ttemplatesWithLocation\n\t\t\t\t?.filter( ( { location } ) => location === MENU_TEMPLATES )\n\t\t\t\t?.map( ( { template } ) => template ) ?? [],\n\t\t[ templatesWithLocation ]\n\t);\n\n\treturn (\n\t\t<NavigationMenu\n\t\t\tmenu={ MENU_TEMPLATES }\n\t\t\ttitle={ __( 'Templates' ) }\n\t\t\ttitleAction={ <NewTemplateDropdown /> }\n\t\t\tparentMenu={ MENU_ROOT }\n\t\t\thasSearch={ true }\n\t\t\tonSearch={ onSearch }\n\t\t\tsearch={ search }\n\t\t>\n\t\t\t{ search && (\n\t\t\t\t<SearchResults items={ templates } search={ search } />\n\t\t\t) }\n\n\t\t\t{ ! search && (\n\t\t\t\t<>\n\t\t\t\t\t{ map( topLevelTemplates, ( template ) => (\n\t\t\t\t\t\t<TemplateNavigationItem\n\t\t\t\t\t\t\titem={ template }\n\t\t\t\t\t\t\tkey={ `wp_template-${ template.id }` }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) ) }\n\t\t\t\t\t<NavigationItem\n\t\t\t\t\t\tnavigateToMenu={ MENU_TEMPLATES_POSTS }\n\t\t\t\t\t\ttitle={ __( 'Post templates' ) }\n\t\t\t\t\t\thideIfTargetMenuEmpty\n\t\t\t\t\t/>\n\t\t\t\t\t<NavigationItem\n\t\t\t\t\t\tnavigateToMenu={ MENU_TEMPLATES_PAGES }\n\t\t\t\t\t\ttitle={ __( 'Page templates' ) }\n\t\t\t\t\t\thideIfTargetMenuEmpty\n\t\t\t\t\t/>\n\t\t\t\t\t<NavigationItem\n\t\t\t\t\t\tnavigateToMenu={ MENU_TEMPLATES_GENERAL }\n\t\t\t\t\t\ttitle={ __( 'General templates' ) }\n\t\t\t\t\t\thideIfTargetMenuEmpty\n\t\t\t\t\t/>\n\t\t\t\t\t<NavigationItem\n\t\t\t\t\t\tnavigateToMenu={ MENU_TEMPLATES_UNUSED }\n\t\t\t\t\t\ttitle={ __( 'Unused templates' ) }\n\t\t\t\t\t\thideIfTargetMenuEmpty\n\t\t\t\t\t/>\n\t\t\t\t</>\n\t\t\t) }\n\n\t\t\t{ ! search && templates === null && (\n\t\t\t\t<NavigationItem title={ __( 'Loading…' ) } isText />\n\t\t\t) }\n\n\t\t\t<TemplatesSubMenu\n\t\t\t\tmenu={ MENU_TEMPLATES_POSTS }\n\t\t\t\ttitle={ __( 'Post templates' ) }\n\t\t\t\ttemplates={ templatesWithLocation }\n\t\t\t/>\n\t\t\t<TemplatesSubMenu\n\t\t\t\tmenu={ MENU_TEMPLATES_PAGES }\n\t\t\t\ttitle={ __( 'Page templates' ) }\n\t\t\t\ttemplates={ templatesWithLocation }\n\t\t\t/>\n\t\t\t<TemplatesSubMenu\n\t\t\t\tmenu={ MENU_TEMPLATES_GENERAL }\n\t\t\t\ttitle={ __( 'General templates' ) }\n\t\t\t\ttemplates={ templatesWithLocation }\n\t\t\t/>\n\t\t\t<TemplatesSubMenu\n\t\t\t\tmenu={ MENU_TEMPLATES_UNUSED }\n\t\t\t\ttitle={ __( 'Unused templates' ) }\n\t\t\t\ttemplates={ templatesWithLocation }\n\t\t\t/>\n\t\t</NavigationMenu>\n\t);\n}\n"]}
@@ -1,65 +0,0 @@
1
- import { createElement } from "@wordpress/element";
2
-
3
- /**
4
- * WordPress dependencies
5
- */
6
- import { useDispatch, useSelect } from '@wordpress/data';
7
- import { __experimentalNavigationItem as NavigationItem } from '@wordpress/components';
8
- import { getPathAndQueryString } from '@wordpress/url';
9
- import { store as coreStore } from '@wordpress/core-data';
10
- /**
11
- * Internal dependencies
12
- */
13
-
14
- import { store as editSiteStore } from '../../../store';
15
-
16
- const getEntityTitle = (kind, entity) => {
17
- var _entity$title;
18
-
19
- return 'taxonomy' === kind ? entity.name : entity === null || entity === void 0 ? void 0 : (_entity$title = entity.title) === null || _entity$title === void 0 ? void 0 : _entity$title.rendered;
20
- };
21
-
22
- export default function NavigationEntityItems(_ref) {
23
- let {
24
- kind,
25
- name,
26
- query = {}
27
- } = _ref;
28
- const entities = useSelect(select => select(coreStore).getEntityRecords(kind, name, query), [kind, name, query]);
29
- const {
30
- setPage
31
- } = useDispatch(editSiteStore);
32
-
33
- if (!entities) {
34
- return null;
35
- }
36
-
37
- const onActivateItem = _ref2 => {
38
- let {
39
- type,
40
- slug,
41
- link,
42
- id
43
- } = _ref2;
44
- setPage({
45
- type,
46
- slug,
47
- path: getPathAndQueryString(link),
48
- context: {
49
- postType: type,
50
- postId: id
51
- }
52
- });
53
- };
54
-
55
- return entities.map(entity => {
56
- const key = `content-${getPathAndQueryString(entity.link)}`;
57
- return createElement(NavigationItem, {
58
- key: key,
59
- item: key,
60
- title: getEntityTitle(kind, entity),
61
- onClick: () => onActivateItem(entity)
62
- });
63
- });
64
- }
65
- //# sourceMappingURL=navigation-entity-items.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["@wordpress/edit-site/src/components/navigation-sidebar/navigation-panel/navigation-entity-items.js"],"names":["useDispatch","useSelect","__experimentalNavigationItem","NavigationItem","getPathAndQueryString","store","coreStore","editSiteStore","getEntityTitle","kind","entity","name","title","rendered","NavigationEntityItems","query","entities","select","getEntityRecords","setPage","onActivateItem","type","slug","link","id","path","context","postType","postId","map","key"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,WAAT,EAAsBC,SAAtB,QAAuC,iBAAvC;AACA,SAASC,4BAA4B,IAAIC,cAAzC,QAA+D,uBAA/D;AACA,SAASC,qBAAT,QAAsC,gBAAtC;AACA,SAASC,KAAK,IAAIC,SAAlB,QAAmC,sBAAnC;AAEA;AACA;AACA;;AACA,SAASD,KAAK,IAAIE,aAAlB,QAAuC,gBAAvC;;AAEA,MAAMC,cAAc,GAAG,CAAEC,IAAF,EAAQC,MAAR;AAAA;;AAAA,SACtB,eAAeD,IAAf,GAAsBC,MAAM,CAACC,IAA7B,GAAoCD,MAApC,aAAoCA,MAApC,wCAAoCA,MAAM,CAAEE,KAA5C,kDAAoC,cAAeC,QAD7B;AAAA,CAAvB;;AAGA,eAAe,SAASC,qBAAT,OAA6D;AAAA,MAA7B;AAAEL,IAAAA,IAAF;AAAQE,IAAAA,IAAR;AAAcI,IAAAA,KAAK,GAAG;AAAtB,GAA6B;AAC3E,QAAMC,QAAQ,GAAGf,SAAS,CACvBgB,MAAF,IAAcA,MAAM,CAAEX,SAAF,CAAN,CAAoBY,gBAApB,CAAsCT,IAAtC,EAA4CE,IAA5C,EAAkDI,KAAlD,CADW,EAEzB,CAAEN,IAAF,EAAQE,IAAR,EAAcI,KAAd,CAFyB,CAA1B;AAKA,QAAM;AAAEI,IAAAA;AAAF,MAAcnB,WAAW,CAAEO,aAAF,CAA/B;;AAEA,MAAK,CAAES,QAAP,EAAkB;AACjB,WAAO,IAAP;AACA;;AAED,QAAMI,cAAc,GAAG,SAAgC;AAAA,QAA9B;AAAEC,MAAAA,IAAF;AAAQC,MAAAA,IAAR;AAAcC,MAAAA,IAAd;AAAoBC,MAAAA;AAApB,KAA8B;AACtDL,IAAAA,OAAO,CAAE;AACRE,MAAAA,IADQ;AAERC,MAAAA,IAFQ;AAGRG,MAAAA,IAAI,EAAErB,qBAAqB,CAAEmB,IAAF,CAHnB;AAIRG,MAAAA,OAAO,EAAE;AACRC,QAAAA,QAAQ,EAAEN,IADF;AAERO,QAAAA,MAAM,EAAEJ;AAFA;AAJD,KAAF,CAAP;AASA,GAVD;;AAYA,SAAOR,QAAQ,CAACa,GAAT,CAAgBnB,MAAF,IAAc;AAClC,UAAMoB,GAAG,GAAI,WAAW1B,qBAAqB,CAAEM,MAAM,CAACa,IAAT,CAAiB,EAA9D;AAEA,WACC,cAAC,cAAD;AACC,MAAA,GAAG,EAAGO,GADP;AAEC,MAAA,IAAI,EAAGA,GAFR;AAGC,MAAA,KAAK,EAAGtB,cAAc,CAAEC,IAAF,EAAQC,MAAR,CAHvB;AAIC,MAAA,OAAO,EAAG,MAAMU,cAAc,CAAEV,MAAF;AAJ/B,MADD;AAQA,GAXM,CAAP;AAYA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { __experimentalNavigationItem as NavigationItem } from '@wordpress/components';\nimport { getPathAndQueryString } from '@wordpress/url';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport { store as editSiteStore } from '../../../store';\n\nconst getEntityTitle = ( kind, entity ) =>\n\t'taxonomy' === kind ? entity.name : entity?.title?.rendered;\n\nexport default function NavigationEntityItems( { kind, name, query = {} } ) {\n\tconst entities = useSelect(\n\t\t( select ) => select( coreStore ).getEntityRecords( kind, name, query ),\n\t\t[ kind, name, query ]\n\t);\n\n\tconst { setPage } = useDispatch( editSiteStore );\n\n\tif ( ! entities ) {\n\t\treturn null;\n\t}\n\n\tconst onActivateItem = ( { type, slug, link, id } ) => {\n\t\tsetPage( {\n\t\t\ttype,\n\t\t\tslug,\n\t\t\tpath: getPathAndQueryString( link ),\n\t\t\tcontext: {\n\t\t\t\tpostType: type,\n\t\t\t\tpostId: id,\n\t\t\t},\n\t\t} );\n\t};\n\n\treturn entities.map( ( entity ) => {\n\t\tconst key = `content-${ getPathAndQueryString( entity.link ) }`;\n\n\t\treturn (\n\t\t\t<NavigationItem\n\t\t\t\tkey={ key }\n\t\t\t\titem={ key }\n\t\t\t\ttitle={ getEntityTitle( kind, entity ) }\n\t\t\t\tonClick={ () => onActivateItem( entity ) }\n\t\t\t/>\n\t\t);\n\t} );\n}\n"]}
@@ -1,106 +0,0 @@
1
- import { createElement } from "@wordpress/element";
2
-
3
- /**
4
- * External dependencies
5
- */
6
- import { filter, find, includes, map } from 'lodash';
7
- /**
8
- * WordPress dependencies
9
- */
10
-
11
- import { DropdownMenu, MenuGroup, MenuItem, NavigableMenu } from '@wordpress/components';
12
- import { useDispatch, useSelect } from '@wordpress/data';
13
- import { __ } from '@wordpress/i18n';
14
- import { Icon, plus } from '@wordpress/icons';
15
- import { store as editorStore } from '@wordpress/editor';
16
- import { store as coreStore } from '@wordpress/core-data';
17
- /**
18
- * Internal dependencies
19
- */
20
-
21
- import getClosestAvailableTemplate from '../../../utils/get-closest-available-template';
22
- import { TEMPLATES_NEW_OPTIONS } from './constants';
23
- import { store as editSiteStore } from '../../../store';
24
- export default function NewTemplateDropdown() {
25
- const {
26
- defaultTemplateTypes,
27
- templates
28
- } = useSelect(select => {
29
- const {
30
- __experimentalGetDefaultTemplateTypes: getDefaultTemplateTypes
31
- } = select(editorStore);
32
- const templateEntities = select(coreStore).getEntityRecords('postType', 'wp_template');
33
- return {
34
- defaultTemplateTypes: getDefaultTemplateTypes(),
35
- templates: templateEntities
36
- };
37
- }, []);
38
- const {
39
- addTemplate
40
- } = useDispatch(editSiteStore);
41
-
42
- const createTemplate = slug => {
43
- const closestAvailableTemplate = getClosestAvailableTemplate(slug, templates);
44
- const {
45
- title,
46
- description
47
- } = find(defaultTemplateTypes, {
48
- slug
49
- });
50
- addTemplate({
51
- content: closestAvailableTemplate.content.raw,
52
- excerpt: description,
53
- // Slugs need to be strings, so this is for template `404`
54
- slug: slug.toString(),
55
- status: 'publish',
56
- title
57
- });
58
- };
59
-
60
- const existingTemplateSlugs = map(templates, 'slug');
61
- const missingTemplates = filter(defaultTemplateTypes, template => includes(TEMPLATES_NEW_OPTIONS, template.slug) && !includes(existingTemplateSlugs, template.slug));
62
-
63
- if (!missingTemplates.length) {
64
- return null;
65
- }
66
-
67
- return createElement(DropdownMenu, {
68
- className: "edit-site-navigation-panel__new-template-dropdown",
69
- icon: null,
70
- label: __('Add Template'),
71
- popoverProps: {
72
- noArrow: false
73
- },
74
- toggleProps: {
75
- children: createElement(Icon, {
76
- icon: plus
77
- }),
78
- isSmall: true,
79
- variant: 'tertiary'
80
- }
81
- }, _ref => {
82
- let {
83
- onClose
84
- } = _ref;
85
- return createElement(NavigableMenu, {
86
- className: "edit-site-navigation-panel__new-template-popover"
87
- }, createElement(MenuGroup, {
88
- label: __('Add Template')
89
- }, map(missingTemplates, _ref2 => {
90
- let {
91
- title,
92
- description,
93
- slug
94
- } = _ref2;
95
- return createElement(MenuItem, {
96
- info: description,
97
- key: slug,
98
- onClick: () => {
99
- createTemplate(slug);
100
- onClose();
101
- }
102
- }, title);
103
- })));
104
- });
105
- }
106
- //# sourceMappingURL=new-template-dropdown.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["@wordpress/edit-site/src/components/navigation-sidebar/navigation-panel/new-template-dropdown.js"],"names":["filter","find","includes","map","DropdownMenu","MenuGroup","MenuItem","NavigableMenu","useDispatch","useSelect","__","Icon","plus","store","editorStore","coreStore","getClosestAvailableTemplate","TEMPLATES_NEW_OPTIONS","editSiteStore","NewTemplateDropdown","defaultTemplateTypes","templates","select","__experimentalGetDefaultTemplateTypes","getDefaultTemplateTypes","templateEntities","getEntityRecords","addTemplate","createTemplate","slug","closestAvailableTemplate","title","description","content","raw","excerpt","toString","status","existingTemplateSlugs","missingTemplates","template","length","noArrow","children","isSmall","variant","onClose"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { filter, find, includes, map } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tDropdownMenu,\n\tMenuGroup,\n\tMenuItem,\n\tNavigableMenu,\n} from '@wordpress/components';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { __ } from '@wordpress/i18n';\nimport { Icon, plus } from '@wordpress/icons';\nimport { store as editorStore } from '@wordpress/editor';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport getClosestAvailableTemplate from '../../../utils/get-closest-available-template';\nimport { TEMPLATES_NEW_OPTIONS } from './constants';\nimport { store as editSiteStore } from '../../../store';\n\nexport default function NewTemplateDropdown() {\n\tconst { defaultTemplateTypes, templates } = useSelect( ( select ) => {\n\t\tconst {\n\t\t\t__experimentalGetDefaultTemplateTypes: getDefaultTemplateTypes,\n\t\t} = select( editorStore );\n\t\tconst templateEntities = select( coreStore ).getEntityRecords(\n\t\t\t'postType',\n\t\t\t'wp_template'\n\t\t);\n\t\treturn {\n\t\t\tdefaultTemplateTypes: getDefaultTemplateTypes(),\n\t\t\ttemplates: templateEntities,\n\t\t};\n\t}, [] );\n\tconst { addTemplate } = useDispatch( editSiteStore );\n\n\tconst createTemplate = ( slug ) => {\n\t\tconst closestAvailableTemplate = getClosestAvailableTemplate(\n\t\t\tslug,\n\t\t\ttemplates\n\t\t);\n\t\tconst { title, description } = find( defaultTemplateTypes, { slug } );\n\t\taddTemplate( {\n\t\t\tcontent: closestAvailableTemplate.content.raw,\n\t\t\texcerpt: description,\n\t\t\t// Slugs need to be strings, so this is for template `404`\n\t\t\tslug: slug.toString(),\n\t\t\tstatus: 'publish',\n\t\t\ttitle,\n\t\t} );\n\t};\n\n\tconst existingTemplateSlugs = map( templates, 'slug' );\n\n\tconst missingTemplates = filter(\n\t\tdefaultTemplateTypes,\n\t\t( template ) =>\n\t\t\tincludes( TEMPLATES_NEW_OPTIONS, template.slug ) &&\n\t\t\t! includes( existingTemplateSlugs, template.slug )\n\t);\n\n\tif ( ! missingTemplates.length ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<DropdownMenu\n\t\t\tclassName=\"edit-site-navigation-panel__new-template-dropdown\"\n\t\t\ticon={ null }\n\t\t\tlabel={ __( 'Add Template' ) }\n\t\t\tpopoverProps={ {\n\t\t\t\tnoArrow: false,\n\t\t\t} }\n\t\t\ttoggleProps={ {\n\t\t\t\tchildren: <Icon icon={ plus } />,\n\t\t\t\tisSmall: true,\n\t\t\t\tvariant: 'tertiary',\n\t\t\t} }\n\t\t>\n\t\t\t{ ( { onClose } ) => (\n\t\t\t\t<NavigableMenu className=\"edit-site-navigation-panel__new-template-popover\">\n\t\t\t\t\t<MenuGroup label={ __( 'Add Template' ) }>\n\t\t\t\t\t\t{ map(\n\t\t\t\t\t\t\tmissingTemplates,\n\t\t\t\t\t\t\t( { title, description, slug } ) => (\n\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\tinfo={ description }\n\t\t\t\t\t\t\t\t\tkey={ slug }\n\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\tcreateTemplate( slug );\n\t\t\t\t\t\t\t\t\t\tonClose();\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\t\t{ title }\n\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t) }\n\t\t\t\t\t</MenuGroup>\n\t\t\t\t</NavigableMenu>\n\t\t\t) }\n\t\t</DropdownMenu>\n\t);\n}\n"]}
@@ -1,116 +0,0 @@
1
- import { createElement } from "@wordpress/element";
2
-
3
- /**
4
- * External dependencies
5
- */
6
- import { map, sortBy, keyBy } from 'lodash';
7
- /**
8
- * WordPress dependencies
9
- */
10
-
11
- import { useMemo } from '@wordpress/element';
12
- import { __experimentalNavigationGroup as NavigationGroup } from '@wordpress/components';
13
- import { __ } from '@wordpress/i18n';
14
- /**
15
- * Internal dependencies
16
- */
17
-
18
- import { normalizedSearch } from './utils';
19
- import { useSelect } from '@wordpress/data';
20
- import { store as editorStore } from '@wordpress/editor';
21
- import TemplateNavigationItem from './template-navigation-item';
22
- import ContentNavigationItem from './content-navigation-item';
23
- export default function SearchResults(_ref) {
24
- let {
25
- items,
26
- search,
27
- disableFilter
28
- } = _ref;
29
- let itemType = null;
30
-
31
- if ((items === null || items === void 0 ? void 0 : items.length) > 0) {
32
- if (items[0].taxonomy) {
33
- itemType = 'taxonomy';
34
- } else {
35
- itemType = items[0].type;
36
- }
37
- }
38
-
39
- const itemInfos = useSelect(select => {
40
- if (itemType === null || items === null) {
41
- return [];
42
- }
43
-
44
- if (itemType === 'wp_template') {
45
- const {
46
- __experimentalGetTemplateInfo: getTemplateInfo
47
- } = select(editorStore);
48
- return items.map(item => ({
49
- slug: item.slug,
50
- ...getTemplateInfo(item)
51
- }));
52
- }
53
-
54
- if (itemType === 'taxonomy') {
55
- return items.map(item => ({
56
- slug: item.slug,
57
- title: item.name,
58
- description: item.description
59
- }));
60
- }
61
-
62
- return items.map(item => {
63
- var _item$title, _item$excerpt;
64
-
65
- return {
66
- slug: item.slug,
67
- title: (_item$title = item.title) === null || _item$title === void 0 ? void 0 : _item$title.rendered,
68
- description: (_item$excerpt = item.excerpt) === null || _item$excerpt === void 0 ? void 0 : _item$excerpt.rendered
69
- };
70
- });
71
- }, [items, itemType]);
72
- const itemInfosMap = useMemo(() => keyBy(itemInfos, 'slug'), [itemInfos]);
73
- const itemsFiltered = useMemo(() => {
74
- if (items === null || search.length === 0) {
75
- return [];
76
- }
77
-
78
- if (disableFilter) {
79
- return items;
80
- }
81
-
82
- return items.filter(_ref2 => {
83
- let {
84
- slug
85
- } = _ref2;
86
- const {
87
- title,
88
- description
89
- } = itemInfosMap[slug];
90
- return normalizedSearch(slug, search) || normalizedSearch(title, search) || normalizedSearch(description, search);
91
- });
92
- }, [items, itemInfos, search]);
93
- const itemsSorted = useMemo(() => {
94
- if (!itemsFiltered) {
95
- return [];
96
- }
97
-
98
- return sortBy(itemsFiltered, [_ref3 => {
99
- let {
100
- slug
101
- } = _ref3;
102
- const {
103
- title
104
- } = itemInfosMap[slug];
105
- return !normalizedSearch(title, search);
106
- }]);
107
- }, [itemsFiltered, search]);
108
- const ItemComponent = itemType === 'wp_template' || itemType === 'wp_template_part' ? TemplateNavigationItem : ContentNavigationItem;
109
- return createElement(NavigationGroup, {
110
- title: __('Search results')
111
- }, map(itemsSorted, item => createElement(ItemComponent, {
112
- item: item,
113
- key: `${item.taxonomy || item.type}-${item.id}`
114
- })));
115
- }
116
- //# sourceMappingURL=search-results.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["@wordpress/edit-site/src/components/navigation-sidebar/navigation-panel/search-results.js"],"names":["map","sortBy","keyBy","useMemo","__experimentalNavigationGroup","NavigationGroup","__","normalizedSearch","useSelect","store","editorStore","TemplateNavigationItem","ContentNavigationItem","SearchResults","items","search","disableFilter","itemType","length","taxonomy","type","itemInfos","select","__experimentalGetTemplateInfo","getTemplateInfo","item","slug","title","name","description","rendered","excerpt","itemInfosMap","itemsFiltered","filter","itemsSorted","ItemComponent","id"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { map, sortBy, keyBy } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { useMemo } from '@wordpress/element';\nimport { __experimentalNavigationGroup as NavigationGroup } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { normalizedSearch } from './utils';\nimport { useSelect } from '@wordpress/data';\nimport { store as editorStore } from '@wordpress/editor';\nimport TemplateNavigationItem from './template-navigation-item';\nimport ContentNavigationItem from './content-navigation-item';\n\nexport default function SearchResults( { items, search, disableFilter } ) {\n\tlet itemType = null;\n\tif ( items?.length > 0 ) {\n\t\tif ( items[ 0 ].taxonomy ) {\n\t\t\titemType = 'taxonomy';\n\t\t} else {\n\t\t\titemType = items[ 0 ].type;\n\t\t}\n\t}\n\n\tconst itemInfos = useSelect(\n\t\t( select ) => {\n\t\t\tif ( itemType === null || items === null ) {\n\t\t\t\treturn [];\n\t\t\t}\n\n\t\t\tif ( itemType === 'wp_template' ) {\n\t\t\t\tconst {\n\t\t\t\t\t__experimentalGetTemplateInfo: getTemplateInfo,\n\t\t\t\t} = select( editorStore );\n\n\t\t\t\treturn items.map( ( item ) => ( {\n\t\t\t\t\tslug: item.slug,\n\t\t\t\t\t...getTemplateInfo( item ),\n\t\t\t\t} ) );\n\t\t\t}\n\n\t\t\tif ( itemType === 'taxonomy' ) {\n\t\t\t\treturn items.map( ( item ) => ( {\n\t\t\t\t\tslug: item.slug,\n\t\t\t\t\ttitle: item.name,\n\t\t\t\t\tdescription: item.description,\n\t\t\t\t} ) );\n\t\t\t}\n\n\t\t\treturn items.map( ( item ) => ( {\n\t\t\t\tslug: item.slug,\n\t\t\t\ttitle: item.title?.rendered,\n\t\t\t\tdescription: item.excerpt?.rendered,\n\t\t\t} ) );\n\t\t},\n\t\t[ items, itemType ]\n\t);\n\tconst itemInfosMap = useMemo( () => keyBy( itemInfos, 'slug' ), [\n\t\titemInfos,\n\t] );\n\n\tconst itemsFiltered = useMemo( () => {\n\t\tif ( items === null || search.length === 0 ) {\n\t\t\treturn [];\n\t\t}\n\n\t\tif ( disableFilter ) {\n\t\t\treturn items;\n\t\t}\n\n\t\treturn items.filter( ( { slug } ) => {\n\t\t\tconst { title, description } = itemInfosMap[ slug ];\n\n\t\t\treturn (\n\t\t\t\tnormalizedSearch( slug, search ) ||\n\t\t\t\tnormalizedSearch( title, search ) ||\n\t\t\t\tnormalizedSearch( description, search )\n\t\t\t);\n\t\t} );\n\t}, [ items, itemInfos, search ] );\n\n\tconst itemsSorted = useMemo( () => {\n\t\tif ( ! itemsFiltered ) {\n\t\t\treturn [];\n\t\t}\n\n\t\treturn sortBy( itemsFiltered, [\n\t\t\t( { slug } ) => {\n\t\t\t\tconst { title } = itemInfosMap[ slug ];\n\t\t\t\treturn ! normalizedSearch( title, search );\n\t\t\t},\n\t\t] );\n\t}, [ itemsFiltered, search ] );\n\n\tconst ItemComponent =\n\t\titemType === 'wp_template' || itemType === 'wp_template_part'\n\t\t\t? TemplateNavigationItem\n\t\t\t: ContentNavigationItem;\n\n\treturn (\n\t\t<NavigationGroup title={ __( 'Search results' ) }>\n\t\t\t{ map( itemsSorted, ( item ) => (\n\t\t\t\t<ItemComponent\n\t\t\t\t\titem={ item }\n\t\t\t\t\tkey={ `${ item.taxonomy || item.type }-${ item.id }` }\n\t\t\t\t/>\n\t\t\t) ) }\n\t\t</NavigationGroup>\n\t);\n}\n"]}
@@ -1,71 +0,0 @@
1
- import { createElement } from "@wordpress/element";
2
-
3
- /**
4
- * WordPress dependencies
5
- */
6
- import { Button, __experimentalNavigationItem as NavigationItem } from '@wordpress/components';
7
- import { useDispatch, useSelect } from '@wordpress/data';
8
- import { useState } from '@wordpress/element';
9
- import { __ } from '@wordpress/i18n';
10
- import { store as editorStore } from '@wordpress/editor';
11
- /**
12
- * Internal dependencies
13
- */
14
-
15
- import TemplatePreview from './template-preview';
16
- import { NavigationPanelPreviewFill } from '../index';
17
- import { store as editSiteStore } from '../../../store';
18
- export default function TemplateNavigationItem(_ref) {
19
- let {
20
- item
21
- } = _ref;
22
- const {
23
- title,
24
- description
25
- } = useSelect(select => {
26
- var _item$title;
27
-
28
- return 'wp_template' === item.type ? select(editorStore).__experimentalGetTemplateInfo(item) : {
29
- title: (item === null || item === void 0 ? void 0 : (_item$title = item.title) === null || _item$title === void 0 ? void 0 : _item$title.rendered) || (item === null || item === void 0 ? void 0 : item.slug),
30
- description: ''
31
- };
32
- }, []);
33
- const {
34
- setTemplate,
35
- setTemplatePart,
36
- setIsNavigationPanelOpened
37
- } = useDispatch(editSiteStore);
38
- const [isPreviewVisible, setIsPreviewVisible] = useState(false);
39
-
40
- if (!item) {
41
- return null;
42
- }
43
-
44
- const onActivateItem = () => {
45
- if ('wp_template' === item.type) {
46
- setTemplate(item.id, item.slug);
47
- } else {
48
- setTemplatePart(item.id);
49
- }
50
-
51
- setIsNavigationPanelOpened(false);
52
- };
53
-
54
- return createElement(NavigationItem, {
55
- className: "edit-site-navigation-panel__template-item",
56
- item: `${item.type}-${item.id}`
57
- }, createElement(Button, {
58
- onClick: onActivateItem,
59
- onMouseEnter: () => setIsPreviewVisible(true),
60
- onMouseLeave: () => setIsPreviewVisible(false)
61
- }, createElement("span", {
62
- className: "edit-site-navigation-panel__info-wrapper"
63
- }, createElement("div", {
64
- className: "edit-site-navigation-panel__template-item-title"
65
- }, 'draft' === item.status && createElement("em", null, __('[Draft]')), title), description && createElement("div", {
66
- className: "edit-site-navigation-panel__template-item-description"
67
- }, description))), isPreviewVisible && createElement(NavigationPanelPreviewFill, null, createElement(TemplatePreview, {
68
- rawContent: item.content.raw
69
- })));
70
- }
71
- //# sourceMappingURL=template-navigation-item.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["@wordpress/edit-site/src/components/navigation-sidebar/navigation-panel/template-navigation-item.js"],"names":["Button","__experimentalNavigationItem","NavigationItem","useDispatch","useSelect","useState","__","store","editorStore","TemplatePreview","NavigationPanelPreviewFill","editSiteStore","TemplateNavigationItem","item","title","description","select","type","__experimentalGetTemplateInfo","rendered","slug","setTemplate","setTemplatePart","setIsNavigationPanelOpened","isPreviewVisible","setIsPreviewVisible","onActivateItem","id","status","content","raw"],"mappings":";;AAAA;AACA;AACA;AACA,SACCA,MADD,EAECC,4BAA4B,IAAIC,cAFjC,QAGO,uBAHP;AAIA,SAASC,WAAT,EAAsBC,SAAtB,QAAuC,iBAAvC;AACA,SAASC,QAAT,QAAyB,oBAAzB;AACA,SAASC,EAAT,QAAmB,iBAAnB;AACA,SAASC,KAAK,IAAIC,WAAlB,QAAqC,mBAArC;AAEA;AACA;AACA;;AACA,OAAOC,eAAP,MAA4B,oBAA5B;AACA,SAASC,0BAAT,QAA2C,UAA3C;AACA,SAASH,KAAK,IAAII,aAAlB,QAAuC,gBAAvC;AAEA,eAAe,SAASC,sBAAT,OAA4C;AAAA,MAAX;AAAEC,IAAAA;AAAF,GAAW;AAC1D,QAAM;AAAEC,IAAAA,KAAF;AAASC,IAAAA;AAAT,MAAyBX,SAAS,CACrCY,MAAF;AAAA;;AAAA,WACC,kBAAkBH,IAAI,CAACI,IAAvB,GACGD,MAAM,CAAER,WAAF,CAAN,CAAsBU,6BAAtB,CAAqDL,IAArD,CADH,GAEG;AACAC,MAAAA,KAAK,EAAE,CAAAD,IAAI,SAAJ,IAAAA,IAAI,WAAJ,2BAAAA,IAAI,CAAEC,KAAN,4DAAaK,QAAb,MAAyBN,IAAzB,aAAyBA,IAAzB,uBAAyBA,IAAI,CAAEO,IAA/B,CADP;AAEAL,MAAAA,WAAW,EAAE;AAFb,KAHJ;AAAA,GADuC,EAQvC,EARuC,CAAxC;AAUA,QAAM;AACLM,IAAAA,WADK;AAELC,IAAAA,eAFK;AAGLC,IAAAA;AAHK,MAIFpB,WAAW,CAAEQ,aAAF,CAJf;AAKA,QAAM,CAAEa,gBAAF,EAAoBC,mBAApB,IAA4CpB,QAAQ,CAAE,KAAF,CAA1D;;AAEA,MAAK,CAAEQ,IAAP,EAAc;AACb,WAAO,IAAP;AACA;;AAED,QAAMa,cAAc,GAAG,MAAM;AAC5B,QAAK,kBAAkBb,IAAI,CAACI,IAA5B,EAAmC;AAClCI,MAAAA,WAAW,CAAER,IAAI,CAACc,EAAP,EAAWd,IAAI,CAACO,IAAhB,CAAX;AACA,KAFD,MAEO;AACNE,MAAAA,eAAe,CAAET,IAAI,CAACc,EAAP,CAAf;AACA;;AACDJ,IAAAA,0BAA0B,CAAE,KAAF,CAA1B;AACA,GAPD;;AASA,SACC,cAAC,cAAD;AACC,IAAA,SAAS,EAAC,2CADX;AAEC,IAAA,IAAI,EAAI,GAAGV,IAAI,CAACI,IAAM,IAAIJ,IAAI,CAACc,EAAI;AAFpC,KAIC,cAAC,MAAD;AACC,IAAA,OAAO,EAAGD,cADX;AAEC,IAAA,YAAY,EAAG,MAAMD,mBAAmB,CAAE,IAAF,CAFzC;AAGC,IAAA,YAAY,EAAG,MAAMA,mBAAmB,CAAE,KAAF;AAHzC,KAKC;AAAM,IAAA,SAAS,EAAC;AAAhB,KACC;AAAK,IAAA,SAAS,EAAC;AAAf,KACG,YAAYZ,IAAI,CAACe,MAAjB,IACD,0BAAMtB,EAAE,CAAE,SAAF,CAAR,CAFF,EAIGQ,KAJH,CADD,EAOGC,WAAW,IACZ;AAAK,IAAA,SAAS,EAAC;AAAf,KACGA,WADH,CARF,CALD,CAJD,EAwBGS,gBAAgB,IACjB,cAAC,0BAAD,QACC,cAAC,eAAD;AAAiB,IAAA,UAAU,EAAGX,IAAI,CAACgB,OAAL,CAAaC;AAA3C,IADD,CAzBF,CADD;AAgCA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tButton,\n\t__experimentalNavigationItem as NavigationItem,\n} from '@wordpress/components';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { useState } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { store as editorStore } from '@wordpress/editor';\n\n/**\n * Internal dependencies\n */\nimport TemplatePreview from './template-preview';\nimport { NavigationPanelPreviewFill } from '../index';\nimport { store as editSiteStore } from '../../../store';\n\nexport default function TemplateNavigationItem( { item } ) {\n\tconst { title, description } = useSelect(\n\t\t( select ) =>\n\t\t\t'wp_template' === item.type\n\t\t\t\t? select( editorStore ).__experimentalGetTemplateInfo( item )\n\t\t\t\t: {\n\t\t\t\t\t\ttitle: item?.title?.rendered || item?.slug,\n\t\t\t\t\t\tdescription: '',\n\t\t\t\t },\n\t\t[]\n\t);\n\tconst {\n\t\tsetTemplate,\n\t\tsetTemplatePart,\n\t\tsetIsNavigationPanelOpened,\n\t} = useDispatch( editSiteStore );\n\tconst [ isPreviewVisible, setIsPreviewVisible ] = useState( false );\n\n\tif ( ! item ) {\n\t\treturn null;\n\t}\n\n\tconst onActivateItem = () => {\n\t\tif ( 'wp_template' === item.type ) {\n\t\t\tsetTemplate( item.id, item.slug );\n\t\t} else {\n\t\t\tsetTemplatePart( item.id );\n\t\t}\n\t\tsetIsNavigationPanelOpened( false );\n\t};\n\n\treturn (\n\t\t<NavigationItem\n\t\t\tclassName=\"edit-site-navigation-panel__template-item\"\n\t\t\titem={ `${ item.type }-${ item.id }` }\n\t\t>\n\t\t\t<Button\n\t\t\t\tonClick={ onActivateItem }\n\t\t\t\tonMouseEnter={ () => setIsPreviewVisible( true ) }\n\t\t\t\tonMouseLeave={ () => setIsPreviewVisible( false ) }\n\t\t\t>\n\t\t\t\t<span className=\"edit-site-navigation-panel__info-wrapper\">\n\t\t\t\t\t<div className=\"edit-site-navigation-panel__template-item-title\">\n\t\t\t\t\t\t{ 'draft' === item.status && (\n\t\t\t\t\t\t\t<em>{ __( '[Draft]' ) }</em>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ title }\n\t\t\t\t\t</div>\n\t\t\t\t\t{ description && (\n\t\t\t\t\t\t<div className=\"edit-site-navigation-panel__template-item-description\">\n\t\t\t\t\t\t\t{ description }\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) }\n\t\t\t\t</span>\n\t\t\t</Button>\n\n\t\t\t{ isPreviewVisible && (\n\t\t\t\t<NavigationPanelPreviewFill>\n\t\t\t\t\t<TemplatePreview rawContent={ item.content.raw } />\n\t\t\t\t</NavigationPanelPreviewFill>\n\t\t\t) }\n\t\t</NavigationItem>\n\t);\n}\n"]}
@@ -1,38 +0,0 @@
1
- import { createElement } from "@wordpress/element";
2
-
3
- /**
4
- * WordPress dependencies
5
- */
6
- import { parse } from '@wordpress/blocks';
7
- import { BlockPreview, BlockContextProvider } from '@wordpress/block-editor';
8
- import { useMemo } from '@wordpress/element';
9
- export default function TemplatePreview(_ref) {
10
- let {
11
- rawContent,
12
- blockContext
13
- } = _ref;
14
- const blocks = useMemo(() => rawContent ? parse(rawContent) : [], [rawContent]);
15
-
16
- if (!blocks || blocks.length === 0) {
17
- return null;
18
- }
19
-
20
- if (blockContext) {
21
- return createElement("div", {
22
- className: "edit-site-navigation-panel__preview"
23
- }, createElement(BlockContextProvider, {
24
- value: blockContext
25
- }, createElement(BlockPreview, {
26
- blocks: blocks,
27
- viewportWidth: 1200
28
- })));
29
- }
30
-
31
- return createElement("div", {
32
- className: "edit-site-navigation-panel__preview"
33
- }, createElement(BlockPreview, {
34
- blocks: blocks,
35
- viewportWidth: 1200
36
- }));
37
- }
38
- //# sourceMappingURL=template-preview.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["@wordpress/edit-site/src/components/navigation-sidebar/navigation-panel/template-preview.js"],"names":["parse","BlockPreview","BlockContextProvider","useMemo","TemplatePreview","rawContent","blockContext","blocks","length"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,KAAT,QAAsB,mBAAtB;AACA,SAASC,YAAT,EAAuBC,oBAAvB,QAAmD,yBAAnD;AACA,SAASC,OAAT,QAAwB,oBAAxB;AAEA,eAAe,SAASC,eAAT,OAAyD;AAAA,MAA/B;AAAEC,IAAAA,UAAF;AAAcC,IAAAA;AAAd,GAA+B;AACvE,QAAMC,MAAM,GAAGJ,OAAO,CAAE,MAAQE,UAAU,GAAGL,KAAK,CAAEK,UAAF,CAAR,GAAyB,EAA7C,EAAmD,CACxEA,UADwE,CAAnD,CAAtB;;AAIA,MAAK,CAAEE,MAAF,IAAYA,MAAM,CAACC,MAAP,KAAkB,CAAnC,EAAuC;AACtC,WAAO,IAAP;AACA;;AAED,MAAKF,YAAL,EAAoB;AACnB,WACC;AAAK,MAAA,SAAS,EAAC;AAAf,OACC,cAAC,oBAAD;AAAsB,MAAA,KAAK,EAAGA;AAA9B,OACC,cAAC,YAAD;AAAc,MAAA,MAAM,EAAGC,MAAvB;AAAgC,MAAA,aAAa,EAAG;AAAhD,MADD,CADD,CADD;AAOA;;AAED,SACC;AAAK,IAAA,SAAS,EAAC;AAAf,KACC,cAAC,YAAD;AAAc,IAAA,MAAM,EAAGA,MAAvB;AAAgC,IAAA,aAAa,EAAG;AAAhD,IADD,CADD;AAKA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { parse } from '@wordpress/blocks';\nimport { BlockPreview, BlockContextProvider } from '@wordpress/block-editor';\nimport { useMemo } from '@wordpress/element';\n\nexport default function TemplatePreview( { rawContent, blockContext } ) {\n\tconst blocks = useMemo( () => ( rawContent ? parse( rawContent ) : [] ), [\n\t\trawContent,\n\t] );\n\n\tif ( ! blocks || blocks.length === 0 ) {\n\t\treturn null;\n\t}\n\n\tif ( blockContext ) {\n\t\treturn (\n\t\t\t<div className=\"edit-site-navigation-panel__preview\">\n\t\t\t\t<BlockContextProvider value={ blockContext }>\n\t\t\t\t\t<BlockPreview blocks={ blocks } viewportWidth={ 1200 } />\n\t\t\t\t</BlockContextProvider>\n\t\t\t</div>\n\t\t);\n\t}\n\n\treturn (\n\t\t<div className=\"edit-site-navigation-panel__preview\">\n\t\t\t<BlockPreview blocks={ blocks } viewportWidth={ 1200 } />\n\t\t</div>\n\t);\n}\n"]}
@@ -1,37 +0,0 @@
1
- /**
2
- * External dependencies
3
- */
4
- import { debounce } from 'lodash';
5
- /**
6
- * WordPress dependencies
7
- */
8
-
9
- import { useState, useCallback, useEffect } from '@wordpress/element';
10
- /**
11
- * Internal dependencies
12
- */
13
-
14
- import { SEARCH_DEBOUNCE_IN_MS } from './constants';
15
- export default function useDebouncedSearch() {
16
- // The value used by the NavigationMenu to control the input field.
17
- const [search, setSearch] = useState(''); // The value used to actually perform the search query.
18
-
19
- const [searchQuery, setSearchQuery] = useState('');
20
- const [isDebouncing, setIsDebouncing] = useState(false);
21
- useEffect(() => {
22
- setIsDebouncing(false);
23
- }, [searchQuery]);
24
- const debouncedSetSearchQuery = useCallback(debounce(setSearchQuery, SEARCH_DEBOUNCE_IN_MS), [setSearchQuery]);
25
- const onSearch = useCallback(value => {
26
- setSearch(value);
27
- debouncedSetSearchQuery(value);
28
- setIsDebouncing(true);
29
- }, [setSearch, setIsDebouncing, debouncedSetSearchQuery]);
30
- return {
31
- search,
32
- searchQuery,
33
- isDebouncing,
34
- onSearch
35
- };
36
- }
37
- //# sourceMappingURL=use-debounced-search.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["@wordpress/edit-site/src/components/navigation-sidebar/navigation-panel/use-debounced-search.js"],"names":["debounce","useState","useCallback","useEffect","SEARCH_DEBOUNCE_IN_MS","useDebouncedSearch","search","setSearch","searchQuery","setSearchQuery","isDebouncing","setIsDebouncing","debouncedSetSearchQuery","onSearch","value"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,QAAT,QAAyB,QAAzB;AAEA;AACA;AACA;;AACA,SAASC,QAAT,EAAmBC,WAAnB,EAAgCC,SAAhC,QAAiD,oBAAjD;AAEA;AACA;AACA;;AACA,SAASC,qBAAT,QAAsC,aAAtC;AAEA,eAAe,SAASC,kBAAT,GAA8B;AAC5C;AACA,QAAM,CAAEC,MAAF,EAAUC,SAAV,IAAwBN,QAAQ,CAAE,EAAF,CAAtC,CAF4C,CAG5C;;AACA,QAAM,CAAEO,WAAF,EAAeC,cAAf,IAAkCR,QAAQ,CAAE,EAAF,CAAhD;AACA,QAAM,CAAES,YAAF,EAAgBC,eAAhB,IAAoCV,QAAQ,CAAE,KAAF,CAAlD;AAEAE,EAAAA,SAAS,CAAE,MAAM;AAChBQ,IAAAA,eAAe,CAAE,KAAF,CAAf;AACA,GAFQ,EAEN,CAAEH,WAAF,CAFM,CAAT;AAIA,QAAMI,uBAAuB,GAAGV,WAAW,CAC1CF,QAAQ,CAAES,cAAF,EAAkBL,qBAAlB,CADkC,EAE1C,CAAEK,cAAF,CAF0C,CAA3C;AAKA,QAAMI,QAAQ,GAAGX,WAAW,CACzBY,KAAF,IAAa;AACZP,IAAAA,SAAS,CAAEO,KAAF,CAAT;AACAF,IAAAA,uBAAuB,CAAEE,KAAF,CAAvB;AACAH,IAAAA,eAAe,CAAE,IAAF,CAAf;AACA,GAL0B,EAM3B,CAAEJ,SAAF,EAAaI,eAAb,EAA8BC,uBAA9B,CAN2B,CAA5B;AASA,SAAO;AACNN,IAAAA,MADM;AAENE,IAAAA,WAFM;AAGNE,IAAAA,YAHM;AAING,IAAAA;AAJM,GAAP;AAMA","sourcesContent":["/**\n * External dependencies\n */\nimport { debounce } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { useState, useCallback, useEffect } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { SEARCH_DEBOUNCE_IN_MS } from './constants';\n\nexport default function useDebouncedSearch() {\n\t// The value used by the NavigationMenu to control the input field.\n\tconst [ search, setSearch ] = useState( '' );\n\t// The value used to actually perform the search query.\n\tconst [ searchQuery, setSearchQuery ] = useState( '' );\n\tconst [ isDebouncing, setIsDebouncing ] = useState( false );\n\n\tuseEffect( () => {\n\t\tsetIsDebouncing( false );\n\t}, [ searchQuery ] );\n\n\tconst debouncedSetSearchQuery = useCallback(\n\t\tdebounce( setSearchQuery, SEARCH_DEBOUNCE_IN_MS ),\n\t\t[ setSearchQuery ]\n\t);\n\n\tconst onSearch = useCallback(\n\t\t( value ) => {\n\t\t\tsetSearch( value );\n\t\t\tdebouncedSetSearchQuery( value );\n\t\t\tsetIsDebouncing( true );\n\t\t},\n\t\t[ setSearch, setIsDebouncing, debouncedSetSearchQuery ]\n\t);\n\n\treturn {\n\t\tsearch,\n\t\tsearchQuery,\n\t\tisDebouncing,\n\t\tonSearch,\n\t};\n}\n"]}