@wordpress/edit-site 5.28.3 → 5.29.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.
- package/CHANGELOG.md +2 -0
- package/build/components/block-editor/use-site-editor-settings.js +2 -1
- package/build/components/block-editor/use-site-editor-settings.js.map +1 -1
- package/build/components/code-editor/index.js +3 -2
- package/build/components/code-editor/index.js.map +1 -1
- package/build/components/editor/index.js +4 -4
- package/build/components/editor/index.js.map +1 -1
- package/build/components/editor-canvas-container/index.js +1 -1
- package/build/components/editor-canvas-container/index.js.map +1 -1
- package/build/components/header-edit-mode/document-tools/index.js +1 -2
- package/build/components/header-edit-mode/document-tools/index.js.map +1 -1
- package/build/components/header-edit-mode/index.js +3 -1
- package/build/components/header-edit-mode/index.js.map +1 -1
- package/build/components/header-edit-mode/more-menu/index.js +7 -4
- package/build/components/header-edit-mode/more-menu/index.js.map +1 -1
- package/build/components/keyboard-shortcuts/edit-mode.js +0 -13
- package/build/components/keyboard-shortcuts/edit-mode.js.map +1 -1
- package/build/components/keyboard-shortcuts/register.js +0 -18
- package/build/components/keyboard-shortcuts/register.js.map +1 -1
- package/build/components/layout/index.js +0 -1
- package/build/components/layout/index.js.map +1 -1
- package/build/components/page-patterns/dataviews-pattern-actions.js +25 -8
- package/build/components/page-patterns/dataviews-pattern-actions.js.map +1 -1
- package/build/components/page-patterns/header.js +2 -1
- package/build/components/page-patterns/header.js.map +1 -1
- package/build/components/page-patterns/index.js +0 -1
- package/build/components/page-patterns/index.js.map +1 -1
- package/build/components/save-button/index.js +2 -1
- package/build/components/save-button/index.js.map +1 -1
- package/build/components/sidebar/index.js +3 -2
- package/build/components/sidebar/index.js.map +1 -1
- package/build/components/sidebar-edit-mode/global-styles-sidebar.js +5 -5
- package/build/components/sidebar-edit-mode/global-styles-sidebar.js.map +1 -1
- package/build/components/sidebar-edit-mode/template-panel/hooks.js +20 -5
- package/build/components/sidebar-edit-mode/template-panel/hooks.js.map +1 -1
- package/build/components/sidebar-edit-mode/template-panel/index.js +48 -5
- package/build/components/sidebar-edit-mode/template-panel/index.js.map +1 -1
- package/build/components/sidebar-edit-mode/template-panel/template-actions.js +2 -9
- package/build/components/sidebar-edit-mode/template-panel/template-actions.js.map +1 -1
- package/build/components/sidebar-navigation-screen-global-styles/index.js +6 -2
- package/build/components/sidebar-navigation-screen-global-styles/index.js.map +1 -1
- package/build/components/style-book/index.js +2 -0
- package/build/components/style-book/index.js.map +1 -1
- package/build/hooks/commands/use-edit-mode-commands.js +3 -171
- package/build/hooks/commands/use-edit-mode-commands.js.map +1 -1
- package/build/hooks/index.js +0 -1
- package/build/hooks/index.js.map +1 -1
- package/build/hooks/push-changes-to-global-styles/index.js +4 -5
- package/build/hooks/push-changes-to-global-styles/index.js.map +1 -1
- package/build/hooks/use-theme-style-variations/use-theme-style-variations-by-property.js +91 -0
- package/build/hooks/use-theme-style-variations/use-theme-style-variations-by-property.js.map +1 -0
- package/build/store/actions.js +19 -50
- package/build/store/actions.js.map +1 -1
- package/build/utils/clone-deep.js +15 -0
- package/build/utils/clone-deep.js.map +1 -0
- package/build-module/components/block-editor/use-site-editor-settings.js +2 -1
- package/build-module/components/block-editor/use-site-editor-settings.js.map +1 -1
- package/build-module/components/code-editor/index.js +3 -2
- package/build-module/components/code-editor/index.js.map +1 -1
- package/build-module/components/editor/index.js +4 -4
- package/build-module/components/editor/index.js.map +1 -1
- package/build-module/components/editor-canvas-container/index.js +2 -2
- package/build-module/components/editor-canvas-container/index.js.map +1 -1
- package/build-module/components/header-edit-mode/document-tools/index.js +1 -2
- package/build-module/components/header-edit-mode/document-tools/index.js.map +1 -1
- package/build-module/components/header-edit-mode/index.js +3 -1
- package/build-module/components/header-edit-mode/index.js.map +1 -1
- package/build-module/components/header-edit-mode/more-menu/index.js +6 -3
- package/build-module/components/header-edit-mode/more-menu/index.js.map +1 -1
- package/build-module/components/keyboard-shortcuts/edit-mode.js +0 -13
- package/build-module/components/keyboard-shortcuts/edit-mode.js.map +1 -1
- package/build-module/components/keyboard-shortcuts/register.js +0 -18
- package/build-module/components/keyboard-shortcuts/register.js.map +1 -1
- package/build-module/components/layout/index.js +1 -2
- package/build-module/components/layout/index.js.map +1 -1
- package/build-module/components/page-patterns/dataviews-pattern-actions.js +25 -8
- package/build-module/components/page-patterns/dataviews-pattern-actions.js.map +1 -1
- package/build-module/components/page-patterns/header.js +2 -1
- package/build-module/components/page-patterns/header.js.map +1 -1
- package/build-module/components/page-patterns/index.js +0 -1
- package/build-module/components/page-patterns/index.js.map +1 -1
- package/build-module/components/save-button/index.js +2 -1
- package/build-module/components/save-button/index.js.map +1 -1
- package/build-module/components/sidebar/index.js +3 -2
- package/build-module/components/sidebar/index.js.map +1 -1
- package/build-module/components/sidebar-edit-mode/global-styles-sidebar.js +5 -5
- package/build-module/components/sidebar-edit-mode/global-styles-sidebar.js.map +1 -1
- package/build-module/components/sidebar-edit-mode/template-panel/hooks.js +20 -5
- package/build-module/components/sidebar-edit-mode/template-panel/hooks.js.map +1 -1
- package/build-module/components/sidebar-edit-mode/template-panel/index.js +50 -7
- package/build-module/components/sidebar-edit-mode/template-panel/index.js.map +1 -1
- package/build-module/components/sidebar-edit-mode/template-panel/template-actions.js +2 -9
- package/build-module/components/sidebar-edit-mode/template-panel/template-actions.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-global-styles/index.js +6 -2
- package/build-module/components/sidebar-navigation-screen-global-styles/index.js.map +1 -1
- package/build-module/components/style-book/index.js +2 -0
- package/build-module/components/style-book/index.js.map +1 -1
- package/build-module/hooks/commands/use-edit-mode-commands.js +4 -172
- package/build-module/hooks/commands/use-edit-mode-commands.js.map +1 -1
- package/build-module/hooks/index.js +0 -1
- package/build-module/hooks/index.js.map +1 -1
- package/build-module/hooks/push-changes-to-global-styles/index.js +1 -3
- package/build-module/hooks/push-changes-to-global-styles/index.js.map +1 -1
- package/build-module/hooks/use-theme-style-variations/use-theme-style-variations-by-property.js +82 -0
- package/build-module/hooks/use-theme-style-variations/use-theme-style-variations-by-property.js.map +1 -0
- package/build-module/store/actions.js +19 -50
- package/build-module/store/actions.js.map +1 -1
- package/build-module/utils/clone-deep.js +9 -0
- package/build-module/utils/clone-deep.js.map +1 -0
- package/build-style/style-rtl.css +24 -208
- package/build-style/style.css +24 -208
- package/package.json +43 -42
- package/src/components/block-editor/use-site-editor-settings.js +1 -0
- package/src/components/code-editor/index.js +3 -2
- package/src/components/editor/index.js +10 -7
- package/src/components/editor-canvas-container/index.js +2 -5
- package/src/components/{test → error-boundary/test}/error-boundary.js +7 -5
- package/src/components/global-styles/screen-revisions/style.scss +2 -2
- package/src/components/global-styles/style.scss +1 -1
- package/src/components/header-edit-mode/document-tools/index.js +1 -2
- package/src/components/header-edit-mode/index.js +1 -1
- package/src/components/header-edit-mode/more-menu/index.js +8 -3
- package/src/components/keyboard-shortcuts/edit-mode.js +0 -11
- package/src/components/keyboard-shortcuts/register.js +0 -19
- package/src/components/layout/index.js +0 -2
- package/src/components/page-patterns/dataviews-pattern-actions.js +41 -10
- package/src/components/page-patterns/header.js +1 -0
- package/src/components/page-patterns/index.js +0 -1
- package/src/components/page-patterns/style.scss +0 -182
- package/src/components/save-button/index.js +2 -1
- package/src/components/save-hub/style.scss +1 -1
- package/src/components/sidebar/index.js +2 -1
- package/src/components/sidebar-button/style.scss +1 -1
- package/src/components/sidebar-edit-mode/global-styles-sidebar.js +5 -7
- package/src/components/sidebar-edit-mode/style.scss +4 -0
- package/src/components/sidebar-edit-mode/template-panel/hooks.js +37 -24
- package/src/components/sidebar-edit-mode/template-panel/index.js +76 -18
- package/src/components/sidebar-edit-mode/template-panel/style.scss +5 -14
- package/src/components/sidebar-edit-mode/template-panel/template-actions.js +1 -12
- package/src/components/sidebar-navigation-screen-global-styles/index.js +4 -1
- package/src/components/style-book/index.js +5 -1
- package/src/hooks/commands/use-edit-mode-commands.js +3 -184
- package/src/hooks/index.js +0 -1
- package/src/hooks/push-changes-to-global-styles/index.js +1 -4
- package/src/hooks/use-theme-style-variations/test/use-theme-style-variations-by-property.js +964 -0
- package/src/hooks/use-theme-style-variations/use-theme-style-variations-by-property.js +92 -0
- package/src/store/actions.js +21 -85
- package/src/store/test/actions.js +0 -75
- package/src/style.scss +1 -6
- package/src/utils/clone-deep.js +8 -0
- package/build/components/header-edit-mode/mode-switcher/index.js +0 -62
- package/build/components/header-edit-mode/mode-switcher/index.js.map +0 -1
- package/build/components/page-patterns/duplicate-menu-item.js +0 -93
- package/build/components/page-patterns/duplicate-menu-item.js.map +0 -1
- package/build/components/page-patterns/grid-item.js +0 -223
- package/build/components/page-patterns/grid-item.js.map +0 -1
- package/build/components/page-patterns/grid.js +0 -31
- package/build/components/page-patterns/grid.js.map +0 -1
- package/build/components/page-patterns/no-patterns.js +0 -18
- package/build/components/page-patterns/no-patterns.js.map +0 -1
- package/build/components/page-patterns/patterns-list.js +0 -168
- package/build/components/page-patterns/patterns-list.js.map +0 -1
- package/build/components/page-patterns/rename-menu-item.js +0 -105
- package/build/components/page-patterns/rename-menu-item.js.map +0 -1
- package/build/components/sidebar-edit-mode/template-panel/replace-template-button.js +0 -83
- package/build/components/sidebar-edit-mode/template-panel/replace-template-button.js.map +0 -1
- package/build/hooks/navigation-menu-edit.js +0 -82
- package/build/hooks/navigation-menu-edit.js.map +0 -1
- package/build-module/components/header-edit-mode/mode-switcher/index.js +0 -56
- package/build-module/components/header-edit-mode/mode-switcher/index.js.map +0 -1
- package/build-module/components/page-patterns/duplicate-menu-item.js +0 -85
- package/build-module/components/page-patterns/duplicate-menu-item.js.map +0 -1
- package/build-module/components/page-patterns/grid-item.js +0 -215
- package/build-module/components/page-patterns/grid-item.js.map +0 -1
- package/build-module/components/page-patterns/grid.js +0 -23
- package/build-module/components/page-patterns/grid.js.map +0 -1
- package/build-module/components/page-patterns/no-patterns.js +0 -11
- package/build-module/components/page-patterns/no-patterns.js.map +0 -1
- package/build-module/components/page-patterns/patterns-list.js +0 -160
- package/build-module/components/page-patterns/patterns-list.js.map +0 -1
- package/build-module/components/page-patterns/rename-menu-item.js +0 -98
- package/build-module/components/page-patterns/rename-menu-item.js.map +0 -1
- package/build-module/components/sidebar-edit-mode/template-panel/replace-template-button.js +0 -76
- package/build-module/components/sidebar-edit-mode/template-panel/replace-template-button.js.map +0 -1
- package/build-module/hooks/navigation-menu-edit.js +0 -75
- package/build-module/hooks/navigation-menu-edit.js.map +0 -1
- package/src/components/header-edit-mode/mode-switcher/index.js +0 -60
- package/src/components/page-patterns/duplicate-menu-item.js +0 -105
- package/src/components/page-patterns/grid-item.js +0 -331
- package/src/components/page-patterns/grid.js +0 -22
- package/src/components/page-patterns/no-patterns.js +0 -12
- package/src/components/page-patterns/patterns-list.js +0 -229
- package/src/components/page-patterns/rename-menu-item.js +0 -132
- package/src/components/sidebar-edit-mode/template-panel/replace-template-button.js +0 -89
- package/src/hooks/navigation-menu-edit.js +0 -92
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useSelect","useMemo","store","coreStore","parse","editSiteStore","EXCLUDED_PATTERN_SOURCES","PATTERN_TYPES","unlock","injectThemeAttributeInBlockTemplateContent","block","currentThemeStylesheet","innerBlocks","map","innerBlock","name","attributes","theme","undefined","
|
|
1
|
+
{"version":3,"names":["useSelect","useMemo","store","coreStore","parse","editSiteStore","EXCLUDED_PATTERN_SOURCES","PATTERN_TYPES","unlock","injectThemeAttributeInBlockTemplateContent","block","currentThemeStylesheet","innerBlocks","map","innerBlock","name","attributes","theme","undefined","filterPatterns","patterns","template","filterOutDuplicatesByName","currentItem","index","items","findIndex","item","filterOutExcludedPatternSources","pattern","includes","source","filterCompatiblePatterns","templateTypes","slug","blockTypes","area","filter","preparePatterns","keywords","type","blocks","content","__unstableSkipMigrationLogs","useAvailablePatterns","blockPatterns","restBlockPatterns","select","_settings$__experimen","getSettings","settings","__experimentalAdditionalBlockPatterns","__experimentalBlockPatterns","getBlockPatterns","getCurrentTheme","stylesheet","mergedPatterns","filteredPatterns"],"sources":["@wordpress/edit-site/src/components/sidebar-edit-mode/template-panel/hooks.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { useMemo } from '@wordpress/element';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { parse } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport { store as editSiteStore } from '../../../store';\nimport {\n\tEXCLUDED_PATTERN_SOURCES,\n\tPATTERN_TYPES,\n} from '../../../utils/constants';\nimport { unlock } from '../../../lock-unlock';\n\nfunction injectThemeAttributeInBlockTemplateContent(\n\tblock,\n\tcurrentThemeStylesheet\n) {\n\tblock.innerBlocks = block.innerBlocks.map( ( innerBlock ) => {\n\t\treturn injectThemeAttributeInBlockTemplateContent(\n\t\t\tinnerBlock,\n\t\t\tcurrentThemeStylesheet\n\t\t);\n\t} );\n\n\tif (\n\t\tblock.name === 'core/template-part' &&\n\t\tblock.attributes.theme === undefined\n\t) {\n\t\tblock.attributes.theme = currentThemeStylesheet;\n\t}\n\treturn block;\n}\n\n/**\n * Filter all patterns and return only the ones that are compatible with the current template.\n *\n * @param {Array} patterns An array of patterns.\n * @param {Object} template The current template.\n * @return {Array} Array of patterns that are compatible with the current template.\n */\nfunction filterPatterns( patterns, template ) {\n\t// Filter out duplicates.\n\tconst filterOutDuplicatesByName = ( currentItem, index, items ) =>\n\t\tindex === items.findIndex( ( item ) => currentItem.name === item.name );\n\n\t// Filter out core/directory patterns not included in theme.json.\n\tconst filterOutExcludedPatternSources = ( pattern ) =>\n\t\t! EXCLUDED_PATTERN_SOURCES.includes( pattern.source );\n\n\t// Looks for patterns that have the same template type as the current template,\n\t// or have a block type that matches the current template area.\n\tconst filterCompatiblePatterns = ( pattern ) =>\n\t\tpattern.templateTypes?.includes( template.slug ) ||\n\t\tpattern.blockTypes?.includes( 'core/template-part/' + template.area );\n\n\treturn patterns.filter( ( pattern, index, items ) => {\n\t\treturn (\n\t\t\tfilterOutDuplicatesByName( pattern, index, items ) &&\n\t\t\tfilterOutExcludedPatternSources( pattern ) &&\n\t\t\tfilterCompatiblePatterns( pattern )\n\t\t);\n\t} );\n}\n\nfunction preparePatterns( patterns, template, currentThemeStylesheet ) {\n\treturn patterns.map( ( pattern ) => ( {\n\t\t...pattern,\n\t\tkeywords: pattern.keywords || [],\n\t\ttype: PATTERN_TYPES.theme,\n\t\tblocks: parse( pattern.content, {\n\t\t\t__unstableSkipMigrationLogs: true,\n\t\t} ).map( ( block ) =>\n\t\t\tinjectThemeAttributeInBlockTemplateContent(\n\t\t\t\tblock,\n\t\t\t\tcurrentThemeStylesheet\n\t\t\t)\n\t\t),\n\t} ) );\n}\n\nexport function useAvailablePatterns( template ) {\n\tconst { blockPatterns, restBlockPatterns, currentThemeStylesheet } =\n\t\tuseSelect( ( select ) => {\n\t\t\tconst { getSettings } = unlock( select( editSiteStore ) );\n\t\t\tconst settings = getSettings();\n\n\t\t\treturn {\n\t\t\t\tblockPatterns:\n\t\t\t\t\tsettings.__experimentalAdditionalBlockPatterns ??\n\t\t\t\t\tsettings.__experimentalBlockPatterns,\n\t\t\t\trestBlockPatterns: select( coreStore ).getBlockPatterns(),\n\t\t\t\tcurrentThemeStylesheet:\n\t\t\t\t\tselect( coreStore ).getCurrentTheme().stylesheet,\n\t\t\t};\n\t\t}, [] );\n\n\treturn useMemo( () => {\n\t\tconst mergedPatterns = [\n\t\t\t...( blockPatterns || [] ),\n\t\t\t...( restBlockPatterns || [] ),\n\t\t];\n\t\tconst filteredPatterns = filterPatterns( mergedPatterns, template );\n\t\treturn preparePatterns(\n\t\t\tfilteredPatterns,\n\t\t\ttemplate,\n\t\t\tcurrentThemeStylesheet\n\t\t);\n\t}, [ blockPatterns, restBlockPatterns, template, currentThemeStylesheet ] );\n}\n"],"mappings":"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"}
|
|
@@ -2,12 +2,16 @@ import { createElement, Fragment } from "react";
|
|
|
2
2
|
/**
|
|
3
3
|
* WordPress dependencies
|
|
4
4
|
*/
|
|
5
|
-
import { useSelect } from '@wordpress/data';
|
|
6
|
-
import { PanelBody } from '@wordpress/components';
|
|
5
|
+
import { useSelect, useDispatch } from '@wordpress/data';
|
|
6
|
+
import { PanelBody, PanelRow } from '@wordpress/components';
|
|
7
7
|
import { PageAttributesPanel, PostDiscussionPanel, PostExcerptPanel, PostFeaturedImagePanel, PostLastRevisionPanel, PostTaxonomiesPanel, store as editorStore } from '@wordpress/editor';
|
|
8
8
|
import { store as coreStore } from '@wordpress/core-data';
|
|
9
9
|
import { decodeEntities } from '@wordpress/html-entities';
|
|
10
10
|
import { navigation, symbol } from '@wordpress/icons';
|
|
11
|
+
import { __ } from '@wordpress/i18n';
|
|
12
|
+
import { useAsyncList } from '@wordpress/compose';
|
|
13
|
+
import { serialize } from '@wordpress/blocks';
|
|
14
|
+
import { __experimentalBlockPatternsList as BlockPatternsList } from '@wordpress/block-editor';
|
|
11
15
|
|
|
12
16
|
/**
|
|
13
17
|
* Internal dependencies
|
|
@@ -16,17 +20,37 @@ import { store as editSiteStore } from '../../../store';
|
|
|
16
20
|
import TemplateActions from './template-actions';
|
|
17
21
|
import TemplateAreas from './template-areas';
|
|
18
22
|
import SidebarCard from '../sidebar-card';
|
|
23
|
+
import { useAvailablePatterns } from './hooks';
|
|
24
|
+
import { TEMPLATE_PART_POST_TYPE } from '../../../utils/constants';
|
|
19
25
|
const CARD_ICONS = {
|
|
20
26
|
wp_block: symbol,
|
|
21
27
|
wp_navigation: navigation
|
|
22
28
|
};
|
|
29
|
+
function TemplatesList({
|
|
30
|
+
availableTemplates,
|
|
31
|
+
onSelect
|
|
32
|
+
}) {
|
|
33
|
+
const shownTemplates = useAsyncList(availableTemplates);
|
|
34
|
+
if (!availableTemplates || availableTemplates?.length === 0) {
|
|
35
|
+
return null;
|
|
36
|
+
}
|
|
37
|
+
return createElement(BlockPatternsList, {
|
|
38
|
+
label: __('Templates'),
|
|
39
|
+
blockPatterns: availableTemplates,
|
|
40
|
+
shownPatterns: shownTemplates,
|
|
41
|
+
onClickPattern: onSelect,
|
|
42
|
+
showTitlesAsTooltip: true
|
|
43
|
+
});
|
|
44
|
+
}
|
|
23
45
|
export default function TemplatePanel() {
|
|
24
46
|
var _CARD_ICONS$record$ty;
|
|
25
47
|
const {
|
|
26
48
|
title,
|
|
27
49
|
description,
|
|
28
50
|
icon,
|
|
29
|
-
record
|
|
51
|
+
record,
|
|
52
|
+
postType,
|
|
53
|
+
postId
|
|
30
54
|
} = useSelect(select => {
|
|
31
55
|
const {
|
|
32
56
|
getEditedPostType,
|
|
@@ -39,19 +63,31 @@ export default function TemplatePanel() {
|
|
|
39
63
|
__experimentalGetTemplateInfo: getTemplateInfo
|
|
40
64
|
} = select(editorStore);
|
|
41
65
|
const type = getEditedPostType();
|
|
42
|
-
const
|
|
43
|
-
const _record = getEditedEntityRecord('postType', type,
|
|
66
|
+
const _postId = getEditedPostId();
|
|
67
|
+
const _record = getEditedEntityRecord('postType', type, _postId);
|
|
44
68
|
const info = getTemplateInfo(_record);
|
|
45
69
|
return {
|
|
46
70
|
title: info.title,
|
|
47
71
|
description: info.description,
|
|
48
72
|
icon: info.icon,
|
|
49
|
-
record: _record
|
|
73
|
+
record: _record,
|
|
74
|
+
postType: type,
|
|
75
|
+
postId: _postId
|
|
50
76
|
};
|
|
51
77
|
}, []);
|
|
78
|
+
const availablePatterns = useAvailablePatterns(record);
|
|
79
|
+
const {
|
|
80
|
+
editEntityRecord
|
|
81
|
+
} = useDispatch(coreStore);
|
|
52
82
|
if (!title && !description) {
|
|
53
83
|
return null;
|
|
54
84
|
}
|
|
85
|
+
const onTemplateSelect = async selectedTemplate => {
|
|
86
|
+
await editEntityRecord('postType', postType, postId, {
|
|
87
|
+
blocks: selectedTemplate.blocks,
|
|
88
|
+
content: serialize(selectedTemplate.blocks)
|
|
89
|
+
});
|
|
90
|
+
};
|
|
55
91
|
return createElement(Fragment, null, createElement(PanelBody, null, createElement(SidebarCard, {
|
|
56
92
|
className: "edit-site-template-card",
|
|
57
93
|
title: decodeEntities(title),
|
|
@@ -60,6 +96,13 @@ export default function TemplatePanel() {
|
|
|
60
96
|
actions: createElement(TemplateActions, {
|
|
61
97
|
template: record
|
|
62
98
|
})
|
|
63
|
-
}, createElement(TemplateAreas, null))),
|
|
99
|
+
}, createElement(TemplateAreas, null))), availablePatterns?.length > 0 && createElement(PanelBody, {
|
|
100
|
+
title: __('Transform into:'),
|
|
101
|
+
initialOpen: postType === TEMPLATE_PART_POST_TYPE
|
|
102
|
+
}, createElement(PanelRow, null, createElement("p", null, __('Choose a predefined pattern to switch up the look of your template.' // TODO - make this dynamic?
|
|
103
|
+
))), createElement(TemplatesList, {
|
|
104
|
+
availableTemplates: availablePatterns,
|
|
105
|
+
onSelect: onTemplateSelect
|
|
106
|
+
})), createElement(PostLastRevisionPanel, null), createElement(PostTaxonomiesPanel, null), createElement(PostFeaturedImagePanel, null), createElement(PostExcerptPanel, null), createElement(PostDiscussionPanel, null), createElement(PageAttributesPanel, null));
|
|
64
107
|
}
|
|
65
108
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useSelect","PanelBody","PageAttributesPanel","PostDiscussionPanel","PostExcerptPanel","PostFeaturedImagePanel","PostLastRevisionPanel","PostTaxonomiesPanel","store","editorStore","coreStore","decodeEntities","navigation","symbol","editSiteStore","TemplateActions","TemplateAreas","SidebarCard","CARD_ICONS","wp_block","wp_navigation","TemplatePanel","_CARD_ICONS$record$ty","title","description","icon","record","select","getEditedPostType","getEditedPostId","getEditedEntityRecord","__experimentalGetTemplateInfo","getTemplateInfo","type","
|
|
1
|
+
{"version":3,"names":["useSelect","useDispatch","PanelBody","PanelRow","PageAttributesPanel","PostDiscussionPanel","PostExcerptPanel","PostFeaturedImagePanel","PostLastRevisionPanel","PostTaxonomiesPanel","store","editorStore","coreStore","decodeEntities","navigation","symbol","__","useAsyncList","serialize","__experimentalBlockPatternsList","BlockPatternsList","editSiteStore","TemplateActions","TemplateAreas","SidebarCard","useAvailablePatterns","TEMPLATE_PART_POST_TYPE","CARD_ICONS","wp_block","wp_navigation","TemplatesList","availableTemplates","onSelect","shownTemplates","length","createElement","label","blockPatterns","shownPatterns","onClickPattern","showTitlesAsTooltip","TemplatePanel","_CARD_ICONS$record$ty","title","description","icon","record","postType","postId","select","getEditedPostType","getEditedPostId","getEditedEntityRecord","__experimentalGetTemplateInfo","getTemplateInfo","type","_postId","_record","info","availablePatterns","editEntityRecord","onTemplateSelect","selectedTemplate","blocks","content","Fragment","className","actions","template","initialOpen"],"sources":["@wordpress/edit-site/src/components/sidebar-edit-mode/template-panel/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { PanelBody, PanelRow } from '@wordpress/components';\nimport {\n\tPageAttributesPanel,\n\tPostDiscussionPanel,\n\tPostExcerptPanel,\n\tPostFeaturedImagePanel,\n\tPostLastRevisionPanel,\n\tPostTaxonomiesPanel,\n\tstore as editorStore,\n} from '@wordpress/editor';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { navigation, symbol } from '@wordpress/icons';\nimport { __ } from '@wordpress/i18n';\nimport { useAsyncList } from '@wordpress/compose';\nimport { serialize } from '@wordpress/blocks';\nimport { __experimentalBlockPatternsList as BlockPatternsList } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport { store as editSiteStore } from '../../../store';\nimport TemplateActions from './template-actions';\nimport TemplateAreas from './template-areas';\nimport SidebarCard from '../sidebar-card';\nimport { useAvailablePatterns } from './hooks';\nimport { TEMPLATE_PART_POST_TYPE } from '../../../utils/constants';\n\nconst CARD_ICONS = {\n\twp_block: symbol,\n\twp_navigation: navigation,\n};\n\nfunction TemplatesList( { availableTemplates, onSelect } ) {\n\tconst shownTemplates = useAsyncList( availableTemplates );\n\tif ( ! availableTemplates || availableTemplates?.length === 0 ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<BlockPatternsList\n\t\t\tlabel={ __( 'Templates' ) }\n\t\t\tblockPatterns={ availableTemplates }\n\t\t\tshownPatterns={ shownTemplates }\n\t\t\tonClickPattern={ onSelect }\n\t\t\tshowTitlesAsTooltip={ true }\n\t\t/>\n\t);\n}\n\nexport default function TemplatePanel() {\n\tconst { title, description, icon, record, postType, postId } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEditedPostType, getEditedPostId } =\n\t\t\t\tselect( editSiteStore );\n\t\t\tconst { getEditedEntityRecord } = select( coreStore );\n\t\t\tconst { __experimentalGetTemplateInfo: getTemplateInfo } =\n\t\t\t\tselect( editorStore );\n\n\t\t\tconst type = getEditedPostType();\n\t\t\tconst _postId = getEditedPostId();\n\t\t\tconst _record = getEditedEntityRecord( 'postType', type, _postId );\n\t\t\tconst info = getTemplateInfo( _record );\n\n\t\t\treturn {\n\t\t\t\ttitle: info.title,\n\t\t\t\tdescription: info.description,\n\t\t\t\ticon: info.icon,\n\t\t\t\trecord: _record,\n\t\t\t\tpostType: type,\n\t\t\t\tpostId: _postId,\n\t\t\t};\n\t\t},\n\t\t[]\n\t);\n\n\tconst availablePatterns = useAvailablePatterns( record );\n\tconst { editEntityRecord } = useDispatch( coreStore );\n\n\tif ( ! title && ! description ) {\n\t\treturn null;\n\t}\n\n\tconst onTemplateSelect = async ( selectedTemplate ) => {\n\t\tawait editEntityRecord( 'postType', postType, postId, {\n\t\t\tblocks: selectedTemplate.blocks,\n\t\t\tcontent: serialize( selectedTemplate.blocks ),\n\t\t} );\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t<PanelBody>\n\t\t\t\t<SidebarCard\n\t\t\t\t\tclassName=\"edit-site-template-card\"\n\t\t\t\t\ttitle={ decodeEntities( title ) }\n\t\t\t\t\ticon={ CARD_ICONS[ record?.type ] ?? icon }\n\t\t\t\t\tdescription={ decodeEntities( description ) }\n\t\t\t\t\tactions={ <TemplateActions template={ record } /> }\n\t\t\t\t>\n\t\t\t\t\t<TemplateAreas />\n\t\t\t\t</SidebarCard>\n\t\t\t</PanelBody>\n\t\t\t{ availablePatterns?.length > 0 && (\n\t\t\t\t<PanelBody\n\t\t\t\t\ttitle={ __( 'Transform into:' ) }\n\t\t\t\t\tinitialOpen={ postType === TEMPLATE_PART_POST_TYPE }\n\t\t\t\t>\n\t\t\t\t\t<PanelRow>\n\t\t\t\t\t\t<p>\n\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t'Choose a predefined pattern to switch up the look of your template.' // TODO - make this dynamic?\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</p>\n\t\t\t\t\t</PanelRow>\n\n\t\t\t\t\t<TemplatesList\n\t\t\t\t\t\tavailableTemplates={ availablePatterns }\n\t\t\t\t\t\tonSelect={ onTemplateSelect }\n\t\t\t\t\t/>\n\t\t\t\t</PanelBody>\n\t\t\t) }\n\t\t\t<PostLastRevisionPanel />\n\t\t\t<PostTaxonomiesPanel />\n\t\t\t<PostFeaturedImagePanel />\n\t\t\t<PostExcerptPanel />\n\t\t\t<PostDiscussionPanel />\n\t\t\t<PageAttributesPanel />\n\t\t</>\n\t);\n}\n"],"mappings":"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"}
|
|
@@ -12,17 +12,14 @@ import { moreVertical } from '@wordpress/icons';
|
|
|
12
12
|
*/
|
|
13
13
|
import { store as editSiteStore } from '../../../store';
|
|
14
14
|
import isTemplateRevertable from '../../../utils/is-template-revertable';
|
|
15
|
-
import ReplaceTemplateButton from './replace-template-button';
|
|
16
|
-
import { useAvailablePatterns } from './hooks';
|
|
17
15
|
export default function Actions({
|
|
18
16
|
template
|
|
19
17
|
}) {
|
|
20
|
-
const availablePatterns = useAvailablePatterns(template);
|
|
21
18
|
const {
|
|
22
19
|
revertTemplate
|
|
23
20
|
} = useDispatch(editSiteStore);
|
|
24
21
|
const isRevertable = isTemplateRevertable(template);
|
|
25
|
-
if (!isRevertable
|
|
22
|
+
if (!isRevertable) {
|
|
26
23
|
return null;
|
|
27
24
|
}
|
|
28
25
|
return createElement(DropdownMenu, {
|
|
@@ -40,10 +37,6 @@ export default function Actions({
|
|
|
40
37
|
revertTemplate(template);
|
|
41
38
|
onClose();
|
|
42
39
|
}
|
|
43
|
-
}, __('Clear customizations'))
|
|
44
|
-
availableTemplates: availablePatterns,
|
|
45
|
-
template: template,
|
|
46
|
-
onClick: onClose
|
|
47
|
-
})));
|
|
40
|
+
}, __('Clear customizations'))));
|
|
48
41
|
}
|
|
49
42
|
//# sourceMappingURL=template-actions.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useDispatch","__","DropdownMenu","MenuGroup","MenuItem","moreVertical","store","editSiteStore","isTemplateRevertable","
|
|
1
|
+
{"version":3,"names":["useDispatch","__","DropdownMenu","MenuGroup","MenuItem","moreVertical","store","editSiteStore","isTemplateRevertable","Actions","template","revertTemplate","isRevertable","createElement","icon","label","className","toggleProps","isSmall","onClose","info","onClick"],"sources":["@wordpress/edit-site/src/components/sidebar-edit-mode/template-panel/template-actions.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useDispatch } from '@wordpress/data';\nimport { __ } from '@wordpress/i18n';\nimport { DropdownMenu, MenuGroup, MenuItem } from '@wordpress/components';\nimport { moreVertical } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport { store as editSiteStore } from '../../../store';\nimport isTemplateRevertable from '../../../utils/is-template-revertable';\n\nexport default function Actions( { template } ) {\n\tconst { revertTemplate } = useDispatch( editSiteStore );\n\tconst isRevertable = isTemplateRevertable( template );\n\n\tif ( ! isRevertable ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<DropdownMenu\n\t\t\ticon={ moreVertical }\n\t\t\tlabel={ __( 'Actions' ) }\n\t\t\tclassName=\"edit-site-template-card__actions\"\n\t\t\ttoggleProps={ { isSmall: true } }\n\t\t>\n\t\t\t{ ( { onClose } ) => (\n\t\t\t\t<MenuGroup>\n\t\t\t\t\t{ isRevertable && (\n\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\tinfo={ __(\n\t\t\t\t\t\t\t\t'Use the template as supplied by the theme.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\trevertTemplate( template );\n\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Clear customizations' ) }\n\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t) }\n\t\t\t\t</MenuGroup>\n\t\t\t) }\n\t\t</DropdownMenu>\n\t);\n}\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,WAAW,QAAQ,iBAAiB;AAC7C,SAASC,EAAE,QAAQ,iBAAiB;AACpC,SAASC,YAAY,EAAEC,SAAS,EAAEC,QAAQ,QAAQ,uBAAuB;AACzE,SAASC,YAAY,QAAQ,kBAAkB;;AAE/C;AACA;AACA;AACA,SAASC,KAAK,IAAIC,aAAa,QAAQ,gBAAgB;AACvD,OAAOC,oBAAoB,MAAM,uCAAuC;AAExE,eAAe,SAASC,OAAOA,CAAE;EAAEC;AAAS,CAAC,EAAG;EAC/C,MAAM;IAAEC;EAAe,CAAC,GAAGX,WAAW,CAAEO,aAAc,CAAC;EACvD,MAAMK,YAAY,GAAGJ,oBAAoB,CAAEE,QAAS,CAAC;EAErD,IAAK,CAAEE,YAAY,EAAG;IACrB,OAAO,IAAI;EACZ;EAEA,OACCC,aAAA,CAACX,YAAY;IACZY,IAAI,EAAGT,YAAc;IACrBU,KAAK,EAAGd,EAAE,CAAE,SAAU,CAAG;IACzBe,SAAS,EAAC,kCAAkC;IAC5CC,WAAW,EAAG;MAAEC,OAAO,EAAE;IAAK;EAAG,GAE/B,CAAE;IAAEC;EAAQ,CAAC,KACdN,aAAA,CAACV,SAAS,QACPS,YAAY,IACbC,aAAA,CAACT,QAAQ;IACRgB,IAAI,EAAGnB,EAAE,CACR,4CACD,CAAG;IACHoB,OAAO,EAAGA,CAAA,KAAM;MACfV,cAAc,CAAED,QAAS,CAAC;MAC1BS,OAAO,CAAC,CAAC;IACV;EAAG,GAEDlB,EAAE,CAAE,sBAAuB,CACpB,CAED,CAEC,CAAC;AAEjB"}
|
|
@@ -11,6 +11,7 @@ import { useViewportMatch } from '@wordpress/compose';
|
|
|
11
11
|
import { BlockEditorProvider } from '@wordpress/block-editor';
|
|
12
12
|
import { useCallback } from '@wordpress/element';
|
|
13
13
|
import { store as editorStore } from '@wordpress/editor';
|
|
14
|
+
import { store as preferencesStore } from '@wordpress/preferences';
|
|
14
15
|
|
|
15
16
|
/**
|
|
16
17
|
* Internal dependencies
|
|
@@ -111,9 +112,12 @@ export default function SidebarNavigationScreenGlobalStyles() {
|
|
|
111
112
|
revisionsCount: (_globalStyles$_links$ = globalStyles?._links?.['version-history']?.[0]?.count) !== null && _globalStyles$_links$ !== void 0 ? _globalStyles$_links$ : 0
|
|
112
113
|
};
|
|
113
114
|
}, []);
|
|
115
|
+
const {
|
|
116
|
+
set: setPreference
|
|
117
|
+
} = useDispatch(preferencesStore);
|
|
114
118
|
const openGlobalStyles = useCallback(async () => {
|
|
115
|
-
return Promise.all([setCanvasMode('edit'), openGeneralSidebar('edit-site/global-styles')]);
|
|
116
|
-
}, [setCanvasMode, openGeneralSidebar]);
|
|
119
|
+
return Promise.all([setPreference('core', 'distractionFree', false), setCanvasMode('edit'), openGeneralSidebar('edit-site/global-styles')]);
|
|
120
|
+
}, [setCanvasMode, openGeneralSidebar, setPreference]);
|
|
117
121
|
const openStyleBook = useCallback(async () => {
|
|
118
122
|
await openGlobalStyles();
|
|
119
123
|
// Open the Style Book once the canvas mode is set to edit,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["__","edit","seen","useSelect","useDispatch","store","coreStore","__experimentalNavigatorButton","NavigatorButton","useViewportMatch","BlockEditorProvider","useCallback","editorStore","SidebarNavigationScreen","StyleVariationsContainer","unlock","editSiteStore","SidebarButton","SidebarNavigationItem","StyleBook","useGlobalStylesRevisions","SidebarNavigationScreenDetailsFooter","noop","SidebarNavigationItemGlobalStyles","props","openGeneralSidebar","setCanvasMode","hasGlobalStyleVariations","select","__experimentalGetCurrentThemeGlobalStylesVariations","length","createElement","as","path","onClick","SidebarNavigationScreenGlobalStylesContent","storedSettings","getSettings","settings","onChange","onInput","SidebarNavigationScreenGlobalStyles","revisions","isLoading","isLoadingRevisions","setIsListViewOpened","isMobileViewport","setEditorCanvasContainerView","isViewMode","isStyleBookOpened","revisionsCount","_globalStyles$_links$","getCanvasMode","getEditorCanvasContainerView","getEntityRecord","__experimentalGetCurrentGlobalStylesId","globalStylesId","globalStyles","undefined","_links","count","openGlobalStyles","Promise","all","openStyleBook","openRevisions","hasRevisions","modifiedDateTime","modified","shouldShowGlobalStylesFooter","Fragment","title","description","content","footer","record","actions","icon","label","isPressed","enableResizing","isSelected","onSelect","showCloseButton","showTabs"],"sources":["@wordpress/edit-site/src/components/sidebar-navigation-screen-global-styles/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { edit, seen } from '@wordpress/icons';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { __experimentalNavigatorButton as NavigatorButton } from '@wordpress/components';\nimport { useViewportMatch } from '@wordpress/compose';\nimport { BlockEditorProvider } from '@wordpress/block-editor';\nimport { useCallback } from '@wordpress/element';\nimport { store as editorStore } from '@wordpress/editor';\n\n/**\n * Internal dependencies\n */\nimport SidebarNavigationScreen from '../sidebar-navigation-screen';\nimport StyleVariationsContainer from '../global-styles/style-variations-container';\nimport { unlock } from '../../lock-unlock';\nimport { store as editSiteStore } from '../../store';\nimport SidebarButton from '../sidebar-button';\nimport SidebarNavigationItem from '../sidebar-navigation-item';\nimport StyleBook from '../style-book';\nimport useGlobalStylesRevisions from '../global-styles/screen-revisions/use-global-styles-revisions';\nimport SidebarNavigationScreenDetailsFooter from '../sidebar-navigation-screen-details-footer';\n\nconst noop = () => {};\n\nexport function SidebarNavigationItemGlobalStyles( props ) {\n\tconst { openGeneralSidebar } = useDispatch( editSiteStore );\n\tconst { setCanvasMode } = unlock( useDispatch( editSiteStore ) );\n\n\tconst hasGlobalStyleVariations = useSelect(\n\t\t( select ) =>\n\t\t\t!! select(\n\t\t\t\tcoreStore\n\t\t\t).__experimentalGetCurrentThemeGlobalStylesVariations()?.length,\n\t\t[]\n\t);\n\tif ( hasGlobalStyleVariations ) {\n\t\treturn (\n\t\t\t<NavigatorButton\n\t\t\t\t{ ...props }\n\t\t\t\tas={ SidebarNavigationItem }\n\t\t\t\tpath=\"/wp_global_styles\"\n\t\t\t/>\n\t\t);\n\t}\n\treturn (\n\t\t<SidebarNavigationItem\n\t\t\t{ ...props }\n\t\t\tonClick={ () => {\n\t\t\t\t// Switch to edit mode.\n\t\t\t\tsetCanvasMode( 'edit' );\n\t\t\t\t// Open global styles sidebar.\n\t\t\t\topenGeneralSidebar( 'edit-site/global-styles' );\n\t\t\t} }\n\t\t/>\n\t);\n}\n\nfunction SidebarNavigationScreenGlobalStylesContent() {\n\tconst { storedSettings } = useSelect( ( select ) => {\n\t\tconst { getSettings } = unlock( select( editSiteStore ) );\n\n\t\treturn {\n\t\t\tstoredSettings: getSettings(),\n\t\t};\n\t}, [] );\n\n\t// Wrap in a BlockEditorProvider to ensure that the Iframe's dependencies are\n\t// loaded. This is necessary because the Iframe component waits until\n\t// the block editor store's `__internalIsInitialized` is true before\n\t// rendering the iframe. Without this, the iframe previews will not render\n\t// in mobile viewport sizes, where the editor canvas is hidden.\n\treturn (\n\t\t<BlockEditorProvider\n\t\t\tsettings={ storedSettings }\n\t\t\tonChange={ noop }\n\t\t\tonInput={ noop }\n\t\t>\n\t\t\t<StyleVariationsContainer />\n\t\t</BlockEditorProvider>\n\t);\n}\n\nexport default function SidebarNavigationScreenGlobalStyles() {\n\tconst { revisions, isLoading: isLoadingRevisions } =\n\t\tuseGlobalStylesRevisions();\n\tconst { openGeneralSidebar } = useDispatch( editSiteStore );\n\tconst { setIsListViewOpened } = useDispatch( editorStore );\n\tconst isMobileViewport = useViewportMatch( 'medium', '<' );\n\tconst { setCanvasMode, setEditorCanvasContainerView } = unlock(\n\t\tuseDispatch( editSiteStore )\n\t);\n\tconst { isViewMode, isStyleBookOpened, revisionsCount } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getCanvasMode, getEditorCanvasContainerView } = unlock(\n\t\t\t\tselect( editSiteStore )\n\t\t\t);\n\t\t\tconst { getEntityRecord, __experimentalGetCurrentGlobalStylesId } =\n\t\t\t\tselect( coreStore );\n\t\t\tconst globalStylesId = __experimentalGetCurrentGlobalStylesId();\n\t\t\tconst globalStyles = globalStylesId\n\t\t\t\t? getEntityRecord( 'root', 'globalStyles', globalStylesId )\n\t\t\t\t: undefined;\n\t\t\treturn {\n\t\t\t\tisViewMode: 'view' === getCanvasMode(),\n\t\t\t\tisStyleBookOpened:\n\t\t\t\t\t'style-book' === getEditorCanvasContainerView(),\n\t\t\t\trevisionsCount:\n\t\t\t\t\tglobalStyles?._links?.[ 'version-history' ]?.[ 0 ]?.count ??\n\t\t\t\t\t0,\n\t\t\t};\n\t\t},\n\t\t[]\n\t);\n\n\tconst openGlobalStyles = useCallback( async () => {\n\t\treturn Promise.all( [\n\t\t\tsetCanvasMode( 'edit' ),\n\t\t\topenGeneralSidebar( 'edit-site/global-styles' ),\n\t\t] );\n\t}, [ setCanvasMode, openGeneralSidebar ] );\n\n\tconst openStyleBook = useCallback( async () => {\n\t\tawait openGlobalStyles();\n\t\t// Open the Style Book once the canvas mode is set to edit,\n\t\t// and the global styles sidebar is open. This ensures that\n\t\t// the Style Book is not prematurely closed.\n\t\tsetEditorCanvasContainerView( 'style-book' );\n\t\tsetIsListViewOpened( false );\n\t}, [\n\t\topenGlobalStyles,\n\t\tsetEditorCanvasContainerView,\n\t\tsetIsListViewOpened,\n\t] );\n\n\tconst openRevisions = useCallback( async () => {\n\t\tawait openGlobalStyles();\n\t\t// Open the global styles revisions once the canvas mode is set to edit,\n\t\t// and the global styles sidebar is open. The global styles UI is responsible\n\t\t// for redirecting to the revisions screen once the editor canvas container\n\t\t// has been set to 'global-styles-revisions'.\n\t\tsetEditorCanvasContainerView( 'global-styles-revisions' );\n\t}, [ openGlobalStyles, setEditorCanvasContainerView ] );\n\n\t// If there are no revisions, do not render a footer.\n\tconst hasRevisions = revisionsCount > 0;\n\tconst modifiedDateTime = revisions?.[ 0 ]?.modified;\n\tconst shouldShowGlobalStylesFooter =\n\t\thasRevisions && ! isLoadingRevisions && modifiedDateTime;\n\n\treturn (\n\t\t<>\n\t\t\t<SidebarNavigationScreen\n\t\t\t\ttitle={ __( 'Styles' ) }\n\t\t\t\tdescription={ __(\n\t\t\t\t\t'Choose a different style combination for the theme styles.'\n\t\t\t\t) }\n\t\t\t\tcontent={ <SidebarNavigationScreenGlobalStylesContent /> }\n\t\t\t\tfooter={\n\t\t\t\t\tshouldShowGlobalStylesFooter && (\n\t\t\t\t\t\t<SidebarNavigationScreenDetailsFooter\n\t\t\t\t\t\t\trecord={ revisions?.[ 0 ] }\n\t\t\t\t\t\t\tonClick={ openRevisions }\n\t\t\t\t\t\t/>\n\t\t\t\t\t)\n\t\t\t\t}\n\t\t\t\tactions={\n\t\t\t\t\t<>\n\t\t\t\t\t\t{ ! isMobileViewport && (\n\t\t\t\t\t\t\t<SidebarButton\n\t\t\t\t\t\t\t\ticon={ seen }\n\t\t\t\t\t\t\t\tlabel={ __( 'Style Book' ) }\n\t\t\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\t\t\tsetEditorCanvasContainerView(\n\t\t\t\t\t\t\t\t\t\t! isStyleBookOpened\n\t\t\t\t\t\t\t\t\t\t\t? 'style-book'\n\t\t\t\t\t\t\t\t\t\t\t: undefined\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\tisPressed={ isStyleBookOpened }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t<SidebarButton\n\t\t\t\t\t\t\ticon={ edit }\n\t\t\t\t\t\t\tlabel={ __( 'Edit styles' ) }\n\t\t\t\t\t\t\tonClick={ async () => await openGlobalStyles() }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</>\n\t\t\t\t}\n\t\t\t/>\n\t\t\t{ isStyleBookOpened && ! isMobileViewport && isViewMode && (\n\t\t\t\t<StyleBook\n\t\t\t\t\tenableResizing={ false }\n\t\t\t\t\tisSelected={ () => false }\n\t\t\t\t\tonClick={ openStyleBook }\n\t\t\t\t\tonSelect={ openStyleBook }\n\t\t\t\t\tshowCloseButton={ false }\n\t\t\t\t\tshowTabs={ false }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["__","edit","seen","useSelect","useDispatch","store","coreStore","__experimentalNavigatorButton","NavigatorButton","useViewportMatch","BlockEditorProvider","useCallback","editorStore","preferencesStore","SidebarNavigationScreen","StyleVariationsContainer","unlock","editSiteStore","SidebarButton","SidebarNavigationItem","StyleBook","useGlobalStylesRevisions","SidebarNavigationScreenDetailsFooter","noop","SidebarNavigationItemGlobalStyles","props","openGeneralSidebar","setCanvasMode","hasGlobalStyleVariations","select","__experimentalGetCurrentThemeGlobalStylesVariations","length","createElement","as","path","onClick","SidebarNavigationScreenGlobalStylesContent","storedSettings","getSettings","settings","onChange","onInput","SidebarNavigationScreenGlobalStyles","revisions","isLoading","isLoadingRevisions","setIsListViewOpened","isMobileViewport","setEditorCanvasContainerView","isViewMode","isStyleBookOpened","revisionsCount","_globalStyles$_links$","getCanvasMode","getEditorCanvasContainerView","getEntityRecord","__experimentalGetCurrentGlobalStylesId","globalStylesId","globalStyles","undefined","_links","count","set","setPreference","openGlobalStyles","Promise","all","openStyleBook","openRevisions","hasRevisions","modifiedDateTime","modified","shouldShowGlobalStylesFooter","Fragment","title","description","content","footer","record","actions","icon","label","isPressed","enableResizing","isSelected","onSelect","showCloseButton","showTabs"],"sources":["@wordpress/edit-site/src/components/sidebar-navigation-screen-global-styles/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { edit, seen } from '@wordpress/icons';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { __experimentalNavigatorButton as NavigatorButton } from '@wordpress/components';\nimport { useViewportMatch } from '@wordpress/compose';\nimport { BlockEditorProvider } from '@wordpress/block-editor';\nimport { useCallback } from '@wordpress/element';\nimport { store as editorStore } from '@wordpress/editor';\nimport { store as preferencesStore } from '@wordpress/preferences';\n\n/**\n * Internal dependencies\n */\nimport SidebarNavigationScreen from '../sidebar-navigation-screen';\nimport StyleVariationsContainer from '../global-styles/style-variations-container';\nimport { unlock } from '../../lock-unlock';\nimport { store as editSiteStore } from '../../store';\nimport SidebarButton from '../sidebar-button';\nimport SidebarNavigationItem from '../sidebar-navigation-item';\nimport StyleBook from '../style-book';\nimport useGlobalStylesRevisions from '../global-styles/screen-revisions/use-global-styles-revisions';\nimport SidebarNavigationScreenDetailsFooter from '../sidebar-navigation-screen-details-footer';\n\nconst noop = () => {};\n\nexport function SidebarNavigationItemGlobalStyles( props ) {\n\tconst { openGeneralSidebar } = useDispatch( editSiteStore );\n\tconst { setCanvasMode } = unlock( useDispatch( editSiteStore ) );\n\n\tconst hasGlobalStyleVariations = useSelect(\n\t\t( select ) =>\n\t\t\t!! select(\n\t\t\t\tcoreStore\n\t\t\t).__experimentalGetCurrentThemeGlobalStylesVariations()?.length,\n\t\t[]\n\t);\n\tif ( hasGlobalStyleVariations ) {\n\t\treturn (\n\t\t\t<NavigatorButton\n\t\t\t\t{ ...props }\n\t\t\t\tas={ SidebarNavigationItem }\n\t\t\t\tpath=\"/wp_global_styles\"\n\t\t\t/>\n\t\t);\n\t}\n\treturn (\n\t\t<SidebarNavigationItem\n\t\t\t{ ...props }\n\t\t\tonClick={ () => {\n\t\t\t\t// Switch to edit mode.\n\t\t\t\tsetCanvasMode( 'edit' );\n\t\t\t\t// Open global styles sidebar.\n\t\t\t\topenGeneralSidebar( 'edit-site/global-styles' );\n\t\t\t} }\n\t\t/>\n\t);\n}\n\nfunction SidebarNavigationScreenGlobalStylesContent() {\n\tconst { storedSettings } = useSelect( ( select ) => {\n\t\tconst { getSettings } = unlock( select( editSiteStore ) );\n\n\t\treturn {\n\t\t\tstoredSettings: getSettings(),\n\t\t};\n\t}, [] );\n\n\t// Wrap in a BlockEditorProvider to ensure that the Iframe's dependencies are\n\t// loaded. This is necessary because the Iframe component waits until\n\t// the block editor store's `__internalIsInitialized` is true before\n\t// rendering the iframe. Without this, the iframe previews will not render\n\t// in mobile viewport sizes, where the editor canvas is hidden.\n\treturn (\n\t\t<BlockEditorProvider\n\t\t\tsettings={ storedSettings }\n\t\t\tonChange={ noop }\n\t\t\tonInput={ noop }\n\t\t>\n\t\t\t<StyleVariationsContainer />\n\t\t</BlockEditorProvider>\n\t);\n}\n\nexport default function SidebarNavigationScreenGlobalStyles() {\n\tconst { revisions, isLoading: isLoadingRevisions } =\n\t\tuseGlobalStylesRevisions();\n\tconst { openGeneralSidebar } = useDispatch( editSiteStore );\n\tconst { setIsListViewOpened } = useDispatch( editorStore );\n\tconst isMobileViewport = useViewportMatch( 'medium', '<' );\n\tconst { setCanvasMode, setEditorCanvasContainerView } = unlock(\n\t\tuseDispatch( editSiteStore )\n\t);\n\tconst { isViewMode, isStyleBookOpened, revisionsCount } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getCanvasMode, getEditorCanvasContainerView } = unlock(\n\t\t\t\tselect( editSiteStore )\n\t\t\t);\n\t\t\tconst { getEntityRecord, __experimentalGetCurrentGlobalStylesId } =\n\t\t\t\tselect( coreStore );\n\t\t\tconst globalStylesId = __experimentalGetCurrentGlobalStylesId();\n\t\t\tconst globalStyles = globalStylesId\n\t\t\t\t? getEntityRecord( 'root', 'globalStyles', globalStylesId )\n\t\t\t\t: undefined;\n\t\t\treturn {\n\t\t\t\tisViewMode: 'view' === getCanvasMode(),\n\t\t\t\tisStyleBookOpened:\n\t\t\t\t\t'style-book' === getEditorCanvasContainerView(),\n\t\t\t\trevisionsCount:\n\t\t\t\t\tglobalStyles?._links?.[ 'version-history' ]?.[ 0 ]?.count ??\n\t\t\t\t\t0,\n\t\t\t};\n\t\t},\n\t\t[]\n\t);\n\tconst { set: setPreference } = useDispatch( preferencesStore );\n\n\tconst openGlobalStyles = useCallback( async () => {\n\t\treturn Promise.all( [\n\t\t\tsetPreference( 'core', 'distractionFree', false ),\n\t\t\tsetCanvasMode( 'edit' ),\n\t\t\topenGeneralSidebar( 'edit-site/global-styles' ),\n\t\t] );\n\t}, [ setCanvasMode, openGeneralSidebar, setPreference ] );\n\n\tconst openStyleBook = useCallback( async () => {\n\t\tawait openGlobalStyles();\n\t\t// Open the Style Book once the canvas mode is set to edit,\n\t\t// and the global styles sidebar is open. This ensures that\n\t\t// the Style Book is not prematurely closed.\n\t\tsetEditorCanvasContainerView( 'style-book' );\n\t\tsetIsListViewOpened( false );\n\t}, [\n\t\topenGlobalStyles,\n\t\tsetEditorCanvasContainerView,\n\t\tsetIsListViewOpened,\n\t] );\n\n\tconst openRevisions = useCallback( async () => {\n\t\tawait openGlobalStyles();\n\t\t// Open the global styles revisions once the canvas mode is set to edit,\n\t\t// and the global styles sidebar is open. The global styles UI is responsible\n\t\t// for redirecting to the revisions screen once the editor canvas container\n\t\t// has been set to 'global-styles-revisions'.\n\t\tsetEditorCanvasContainerView( 'global-styles-revisions' );\n\t}, [ openGlobalStyles, setEditorCanvasContainerView ] );\n\n\t// If there are no revisions, do not render a footer.\n\tconst hasRevisions = revisionsCount > 0;\n\tconst modifiedDateTime = revisions?.[ 0 ]?.modified;\n\tconst shouldShowGlobalStylesFooter =\n\t\thasRevisions && ! isLoadingRevisions && modifiedDateTime;\n\n\treturn (\n\t\t<>\n\t\t\t<SidebarNavigationScreen\n\t\t\t\ttitle={ __( 'Styles' ) }\n\t\t\t\tdescription={ __(\n\t\t\t\t\t'Choose a different style combination for the theme styles.'\n\t\t\t\t) }\n\t\t\t\tcontent={ <SidebarNavigationScreenGlobalStylesContent /> }\n\t\t\t\tfooter={\n\t\t\t\t\tshouldShowGlobalStylesFooter && (\n\t\t\t\t\t\t<SidebarNavigationScreenDetailsFooter\n\t\t\t\t\t\t\trecord={ revisions?.[ 0 ] }\n\t\t\t\t\t\t\tonClick={ openRevisions }\n\t\t\t\t\t\t/>\n\t\t\t\t\t)\n\t\t\t\t}\n\t\t\t\tactions={\n\t\t\t\t\t<>\n\t\t\t\t\t\t{ ! isMobileViewport && (\n\t\t\t\t\t\t\t<SidebarButton\n\t\t\t\t\t\t\t\ticon={ seen }\n\t\t\t\t\t\t\t\tlabel={ __( 'Style Book' ) }\n\t\t\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\t\t\tsetEditorCanvasContainerView(\n\t\t\t\t\t\t\t\t\t\t! isStyleBookOpened\n\t\t\t\t\t\t\t\t\t\t\t? 'style-book'\n\t\t\t\t\t\t\t\t\t\t\t: undefined\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\tisPressed={ isStyleBookOpened }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t<SidebarButton\n\t\t\t\t\t\t\ticon={ edit }\n\t\t\t\t\t\t\tlabel={ __( 'Edit styles' ) }\n\t\t\t\t\t\t\tonClick={ async () => await openGlobalStyles() }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</>\n\t\t\t\t}\n\t\t\t/>\n\t\t\t{ isStyleBookOpened && ! isMobileViewport && isViewMode && (\n\t\t\t\t<StyleBook\n\t\t\t\t\tenableResizing={ false }\n\t\t\t\t\tisSelected={ () => false }\n\t\t\t\t\tonClick={ openStyleBook }\n\t\t\t\t\tonSelect={ openStyleBook }\n\t\t\t\t\tshowCloseButton={ false }\n\t\t\t\t\tshowTabs={ false }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"],"mappings":"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"}
|
|
@@ -332,6 +332,8 @@ const Example = ({
|
|
|
332
332
|
const originalSettings = useSelect(select => select(blockEditorStore).getSettings(), []);
|
|
333
333
|
const settings = useMemo(() => ({
|
|
334
334
|
...originalSettings,
|
|
335
|
+
focusMode: false,
|
|
336
|
+
// Disable "Spotlight mode".
|
|
335
337
|
__unstableIsPreviewMode: true
|
|
336
338
|
}), [originalSettings]);
|
|
337
339
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["classnames","Disabled","privateApis","componentsPrivateApis","__","sprintf","getCategories","getBlockTypes","getBlockFromExample","createBlock","BlockList","blockEditorPrivateApis","store","blockEditorStore","__unstableEditorStyles","EditorStyles","__unstableIframe","Iframe","useSelect","useResizeObserver","useMemo","useState","memo","useContext","ENTER","SPACE","unlock","EditorCanvasContainer","mergeBaseAndUserConfigs","ExperimentalBlockEditorProvider","useGlobalStyle","GlobalStylesContext","useGlobalStylesOutputWithConfig","CompositeV2","Composite","CompositeItemV2","CompositeItem","useCompositeStoreV2","useCompositeStore","Tabs","STYLE_BOOK_IFRAME_STYLES","isObjectEmpty","object","Object","keys","length","getExamples","headingsExample","name","title","category","blocks","content","level","otherExamples","filter","blockType","example","supports","inserter","map","StyleBook","enableResizing","isSelected","onClick","onSelect","showCloseButton","onClose","showTabs","userConfig","resizeObserver","sizes","textColor","backgroundColor","examples","tabs","some","slug","icon","base","baseConfig","mergedConfig","originalSettings","select","getSettings","settings","__unstableIsPreviewMode","globalStyles","styles","createElement","closeButtonLabel","className","width","style","color","background","TabList","tab","Tab","tabId","key","TabPanel","focusable","StyleBookBody","isFocused","setIsFocused","buttonModeProps","role","onFocus","onBlur","onKeyDown","event","defaultPrevented","keyCode","preventDefault","readonly","buttonModeStyles","tabIndex","Examples","label","compositeStore","orientation","Example","id","renderedBlocks","Array","isArray","render","value","renderAppender"],"sources":["@wordpress/edit-site/src/components/style-book/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tDisabled,\n\tprivateApis as componentsPrivateApis,\n} from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport {\n\tgetCategories,\n\tgetBlockTypes,\n\tgetBlockFromExample,\n\tcreateBlock,\n} from '@wordpress/blocks';\nimport {\n\tBlockList,\n\tprivateApis as blockEditorPrivateApis,\n\tstore as blockEditorStore,\n\t__unstableEditorStyles as EditorStyles,\n\t__unstableIframe as Iframe,\n} from '@wordpress/block-editor';\nimport { useSelect } from '@wordpress/data';\nimport { useResizeObserver } from '@wordpress/compose';\nimport { useMemo, useState, memo, useContext } from '@wordpress/element';\nimport { ENTER, SPACE } from '@wordpress/keycodes';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\nimport EditorCanvasContainer from '../editor-canvas-container';\nimport { mergeBaseAndUserConfigs } from '../global-styles/global-styles-provider';\n\nconst {\n\tExperimentalBlockEditorProvider,\n\tuseGlobalStyle,\n\tGlobalStylesContext,\n\tuseGlobalStylesOutputWithConfig,\n} = unlock( blockEditorPrivateApis );\n\nconst {\n\tCompositeV2: Composite,\n\tCompositeItemV2: CompositeItem,\n\tuseCompositeStoreV2: useCompositeStore,\n\tTabs,\n} = unlock( componentsPrivateApis );\n\n// The content area of the Style Book is rendered within an iframe so that global styles\n// are applied to elements within the entire content area. To support elements that are\n// not part of the block previews, such as headings and layout for the block previews,\n// additional CSS rules need to be passed into the iframe. These are hard-coded below.\n// Note that button styles are unset, and then focus rules from the `Button` component are\n// applied to the `button` element, targeted via `.edit-site-style-book__example`.\n// This is to ensure that browser default styles for buttons are not applied to the previews.\nconst STYLE_BOOK_IFRAME_STYLES = `\n\t.edit-site-style-book__examples {\n\t\tmax-width: 900px;\n\t\tmargin: 0 auto;\n\t}\n\n\t.edit-site-style-book__example {\n\t\tborder-radius: 2px;\n\t\tcursor: pointer;\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\tgap: 40px;\n\t\tmargin-bottom: 40px;\n\t\tpadding: 16px;\n\t\twidth: 100%;\n\t\tbox-sizing: border-box;\n\t\tscroll-margin-top: 32px;\n\t\tscroll-margin-bottom: 32px;\n\t}\n\n\t.edit-site-style-book__example.is-selected {\n\t\tbox-shadow: 0 0 0 1px var(--wp-components-color-accent, var(--wp-admin-theme-color, #007cba));\n\t}\n\n\t.edit-site-style-book__example:focus:not(:disabled) {\n\t\tbox-shadow: 0 0 0 var(--wp-admin-border-width-focus) var(--wp-components-color-accent, var(--wp-admin-theme-color, #007cba));\n\t\toutline: 3px solid transparent;\n\t}\n\n\t.edit-site-style-book__examples.is-wide .edit-site-style-book__example {\n\t\tflex-direction: row;\n\t}\n\n\t.edit-site-style-book__example-title {\n\t\tfont-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Oxygen-Sans, Ubuntu, Cantarell, \"Helvetica Neue\", sans-serif;\n\t\tfont-size: 11px;\n\t\tfont-weight: 500;\n\t\tline-height: normal;\n\t\tmargin: 0;\n\t\ttext-align: left;\n\t\ttext-transform: uppercase;\n\t}\n\n\t.edit-site-style-book__examples.is-wide .edit-site-style-book__example-title {\n\t\ttext-align: right;\n\t\twidth: 120px;\n\t}\n\n\t.edit-site-style-book__example-preview {\n\t\twidth: 100%;\n\t}\n\n\t.edit-site-style-book__example-preview .block-editor-block-list__insertion-point,\n\t.edit-site-style-book__example-preview .block-list-appender {\n\t\tdisplay: none;\n\t}\n\n\t.edit-site-style-book__example-preview .is-root-container > .wp-block:first-child {\n\t\tmargin-top: 0;\n\t}\n\t.edit-site-style-book__example-preview .is-root-container > .wp-block:last-child {\n\t\tmargin-bottom: 0;\n\t}\n`;\n\nfunction isObjectEmpty( object ) {\n\treturn ! object || Object.keys( object ).length === 0;\n}\n\nfunction getExamples() {\n\t// Use our own example for the Heading block so that we can show multiple\n\t// heading levels.\n\tconst headingsExample = {\n\t\tname: 'core/heading',\n\t\ttitle: __( 'Headings' ),\n\t\tcategory: 'text',\n\t\tblocks: [\n\t\t\tcreateBlock( 'core/heading', {\n\t\t\t\tcontent: __( 'Code Is Poetry' ),\n\t\t\t\tlevel: 1,\n\t\t\t} ),\n\t\t\tcreateBlock( 'core/heading', {\n\t\t\t\tcontent: __( 'Code Is Poetry' ),\n\t\t\t\tlevel: 2,\n\t\t\t} ),\n\t\t\tcreateBlock( 'core/heading', {\n\t\t\t\tcontent: __( 'Code Is Poetry' ),\n\t\t\t\tlevel: 3,\n\t\t\t} ),\n\t\t\tcreateBlock( 'core/heading', {\n\t\t\t\tcontent: __( 'Code Is Poetry' ),\n\t\t\t\tlevel: 4,\n\t\t\t} ),\n\t\t\tcreateBlock( 'core/heading', {\n\t\t\t\tcontent: __( 'Code Is Poetry' ),\n\t\t\t\tlevel: 5,\n\t\t\t} ),\n\t\t],\n\t};\n\n\tconst otherExamples = getBlockTypes()\n\t\t.filter( ( blockType ) => {\n\t\t\tconst { name, example, supports } = blockType;\n\t\t\treturn (\n\t\t\t\tname !== 'core/heading' &&\n\t\t\t\t!! example &&\n\t\t\t\tsupports.inserter !== false\n\t\t\t);\n\t\t} )\n\t\t.map( ( blockType ) => ( {\n\t\t\tname: blockType.name,\n\t\t\ttitle: blockType.title,\n\t\t\tcategory: blockType.category,\n\t\t\tblocks: getBlockFromExample( blockType.name, blockType.example ),\n\t\t} ) );\n\n\treturn [ headingsExample, ...otherExamples ];\n}\n\nfunction StyleBook( {\n\tenableResizing = true,\n\tisSelected,\n\tonClick,\n\tonSelect,\n\tshowCloseButton = true,\n\tonClose,\n\tshowTabs = true,\n\tuserConfig = {},\n} ) {\n\tconst [ resizeObserver, sizes ] = useResizeObserver();\n\tconst [ textColor ] = useGlobalStyle( 'color.text' );\n\tconst [ backgroundColor ] = useGlobalStyle( 'color.background' );\n\tconst examples = useMemo( getExamples, [] );\n\tconst tabs = useMemo(\n\t\t() =>\n\t\t\tgetCategories()\n\t\t\t\t.filter( ( category ) =>\n\t\t\t\t\texamples.some(\n\t\t\t\t\t\t( example ) => example.category === category.slug\n\t\t\t\t\t)\n\t\t\t\t)\n\t\t\t\t.map( ( category ) => ( {\n\t\t\t\t\tname: category.slug,\n\t\t\t\t\ttitle: category.title,\n\t\t\t\t\ticon: category.icon,\n\t\t\t\t} ) ),\n\t\t[ examples ]\n\t);\n\tconst { base: baseConfig } = useContext( GlobalStylesContext );\n\n\tconst mergedConfig = useMemo( () => {\n\t\tif ( ! isObjectEmpty( userConfig ) && ! isObjectEmpty( baseConfig ) ) {\n\t\t\treturn mergeBaseAndUserConfigs( baseConfig, userConfig );\n\t\t}\n\t\treturn {};\n\t}, [ baseConfig, userConfig ] );\n\n\t// Copied from packages/edit-site/src/components/revisions/index.js\n\t// could we create a shared hook?\n\tconst originalSettings = useSelect(\n\t\t( select ) => select( blockEditorStore ).getSettings(),\n\t\t[]\n\t);\n\n\tconst settings = useMemo(\n\t\t() => ( { ...originalSettings, __unstableIsPreviewMode: true } ),\n\t\t[ originalSettings ]\n\t);\n\n\tconst [ globalStyles ] = useGlobalStylesOutputWithConfig( mergedConfig );\n\n\tsettings.styles =\n\t\t! isObjectEmpty( globalStyles ) && ! isObjectEmpty( userConfig )\n\t\t\t? globalStyles\n\t\t\t: settings.styles;\n\n\treturn (\n\t\t<EditorCanvasContainer\n\t\t\tonClose={ onClose }\n\t\t\tenableResizing={ enableResizing }\n\t\t\tcloseButtonLabel={\n\t\t\t\tshowCloseButton ? __( 'Close Style Book' ) : null\n\t\t\t}\n\t\t>\n\t\t\t<div\n\t\t\t\tclassName={ classnames( 'edit-site-style-book', {\n\t\t\t\t\t'is-wide': sizes.width > 600,\n\t\t\t\t\t'is-button': !! onClick,\n\t\t\t\t} ) }\n\t\t\t\tstyle={ {\n\t\t\t\t\tcolor: textColor,\n\t\t\t\t\tbackground: backgroundColor,\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t{ resizeObserver }\n\t\t\t\t{ showTabs ? (\n\t\t\t\t\t<div className=\"edit-site-style-book__tabs\">\n\t\t\t\t\t\t<Tabs>\n\t\t\t\t\t\t\t<Tabs.TabList>\n\t\t\t\t\t\t\t\t{ tabs.map( ( tab ) => (\n\t\t\t\t\t\t\t\t\t<Tabs.Tab\n\t\t\t\t\t\t\t\t\t\ttabId={ tab.name }\n\t\t\t\t\t\t\t\t\t\tkey={ tab.name }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ tab.title }\n\t\t\t\t\t\t\t\t\t</Tabs.Tab>\n\t\t\t\t\t\t\t\t) ) }\n\t\t\t\t\t\t\t</Tabs.TabList>\n\t\t\t\t\t\t\t{ tabs.map( ( tab ) => (\n\t\t\t\t\t\t\t\t<Tabs.TabPanel\n\t\t\t\t\t\t\t\t\tkey={ tab.name }\n\t\t\t\t\t\t\t\t\ttabId={ tab.name }\n\t\t\t\t\t\t\t\t\tfocusable={ false }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<StyleBookBody\n\t\t\t\t\t\t\t\t\t\tcategory={ tab.name }\n\t\t\t\t\t\t\t\t\t\texamples={ examples }\n\t\t\t\t\t\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\t\t\t\t\t\tonSelect={ onSelect }\n\t\t\t\t\t\t\t\t\t\tsettings={ settings }\n\t\t\t\t\t\t\t\t\t\tsizes={ sizes }\n\t\t\t\t\t\t\t\t\t\ttitle={ tab.title }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</Tabs.TabPanel>\n\t\t\t\t\t\t\t) ) }\n\t\t\t\t\t\t</Tabs>\n\t\t\t\t\t</div>\n\t\t\t\t) : (\n\t\t\t\t\t<StyleBookBody\n\t\t\t\t\t\texamples={ examples }\n\t\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\t\tonClick={ onClick }\n\t\t\t\t\t\tonSelect={ onSelect }\n\t\t\t\t\t\tsettings={ settings }\n\t\t\t\t\t\tsizes={ sizes }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t</EditorCanvasContainer>\n\t);\n}\n\nconst StyleBookBody = ( {\n\tcategory,\n\texamples,\n\tisSelected,\n\tonClick,\n\tonSelect,\n\tsettings,\n\tsizes,\n\ttitle,\n} ) => {\n\tconst [ isFocused, setIsFocused ] = useState( false );\n\n\t// The presence of an `onClick` prop indicates that the Style Book is being used as a button.\n\t// In this case, add additional props to the iframe to make it behave like a button.\n\tconst buttonModeProps = {\n\t\trole: 'button',\n\t\tonFocus: () => setIsFocused( true ),\n\t\tonBlur: () => setIsFocused( false ),\n\t\tonKeyDown: ( event ) => {\n\t\t\tif ( event.defaultPrevented ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst { keyCode } = event;\n\t\t\tif ( onClick && ( keyCode === ENTER || keyCode === SPACE ) ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tonClick( event );\n\t\t\t}\n\t\t},\n\t\tonClick: ( event ) => {\n\t\t\tif ( event.defaultPrevented ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif ( onClick ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tonClick( event );\n\t\t\t}\n\t\t},\n\t\treadonly: true,\n\t};\n\n\tconst buttonModeStyles = onClick\n\t\t? 'body { cursor: pointer; } body * { pointer-events: none; }'\n\t\t: '';\n\n\treturn (\n\t\t<Iframe\n\t\t\tclassName={ classnames( 'edit-site-style-book__iframe', {\n\t\t\t\t'is-focused': isFocused && !! onClick,\n\t\t\t\t'is-button': !! onClick,\n\t\t\t} ) }\n\t\t\tname=\"style-book-canvas\"\n\t\t\ttabIndex={ 0 }\n\t\t\t{ ...( onClick ? buttonModeProps : {} ) }\n\t\t>\n\t\t\t<EditorStyles styles={ settings.styles } />\n\t\t\t<style>\n\t\t\t\t{\n\t\t\t\t\t// Forming a \"block formatting context\" to prevent margin collapsing.\n\t\t\t\t\t// @see https://developer.mozilla.org/en-US/docs/Web/Guide/CSS/Block_formatting_context\n\t\t\t\t\t`.is-root-container { display: flow-root; }\n\t\t\t\t\t\tbody { position: relative; padding: 32px !important; }` +\n\t\t\t\t\t\tSTYLE_BOOK_IFRAME_STYLES +\n\t\t\t\t\t\tbuttonModeStyles\n\t\t\t\t}\n\t\t\t</style>\n\t\t\t<Examples\n\t\t\t\tclassName={ classnames( 'edit-site-style-book__examples', {\n\t\t\t\t\t'is-wide': sizes.width > 600,\n\t\t\t\t} ) }\n\t\t\t\texamples={ examples }\n\t\t\t\tcategory={ category }\n\t\t\t\tlabel={\n\t\t\t\t\ttitle\n\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t// translators: %s: Category of blocks, e.g. Text.\n\t\t\t\t\t\t\t\t__( 'Examples of blocks in the %s category' ),\n\t\t\t\t\t\t\t\ttitle\n\t\t\t\t\t\t )\n\t\t\t\t\t\t: __( 'Examples of blocks' )\n\t\t\t\t}\n\t\t\t\tisSelected={ isSelected }\n\t\t\t\tonSelect={ onSelect }\n\t\t\t\tkey={ category }\n\t\t\t/>\n\t\t</Iframe>\n\t);\n};\n\nconst Examples = memo(\n\t( { className, examples, category, label, isSelected, onSelect } ) => {\n\t\tconst compositeStore = useCompositeStore( { orientation: 'vertical' } );\n\n\t\treturn (\n\t\t\t<Composite\n\t\t\t\tstore={ compositeStore }\n\t\t\t\tclassName={ className }\n\t\t\t\taria-label={ label }\n\t\t\t\trole=\"grid\"\n\t\t\t>\n\t\t\t\t{ examples\n\t\t\t\t\t.filter( ( example ) =>\n\t\t\t\t\t\tcategory ? example.category === category : true\n\t\t\t\t\t)\n\t\t\t\t\t.map( ( example ) => (\n\t\t\t\t\t\t<Example\n\t\t\t\t\t\t\tkey={ example.name }\n\t\t\t\t\t\t\tid={ `example-${ example.name }` }\n\t\t\t\t\t\t\ttitle={ example.title }\n\t\t\t\t\t\t\tblocks={ example.blocks }\n\t\t\t\t\t\t\tisSelected={ isSelected( example.name ) }\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tonSelect?.( example.name );\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</Composite>\n\t\t);\n\t}\n);\n\nconst Example = ( { id, title, blocks, isSelected, onClick } ) => {\n\tconst originalSettings = useSelect(\n\t\t( select ) => select( blockEditorStore ).getSettings(),\n\t\t[]\n\t);\n\tconst settings = useMemo(\n\t\t() => ( { ...originalSettings, __unstableIsPreviewMode: true } ),\n\t\t[ originalSettings ]\n\t);\n\n\t// Cache the list of blocks to avoid additional processing when the component is re-rendered.\n\tconst renderedBlocks = useMemo(\n\t\t() => ( Array.isArray( blocks ) ? blocks : [ blocks ] ),\n\t\t[ blocks ]\n\t);\n\n\treturn (\n\t\t<div role=\"row\">\n\t\t\t<div role=\"gridcell\">\n\t\t\t\t<CompositeItem\n\t\t\t\t\tclassName={ classnames( 'edit-site-style-book__example', {\n\t\t\t\t\t\t'is-selected': isSelected,\n\t\t\t\t\t} ) }\n\t\t\t\t\tid={ id }\n\t\t\t\t\taria-label={ sprintf(\n\t\t\t\t\t\t// translators: %s: Title of a block, e.g. Heading.\n\t\t\t\t\t\t__( 'Open %s styles in Styles panel' ),\n\t\t\t\t\t\ttitle\n\t\t\t\t\t) }\n\t\t\t\t\trender={ <div /> }\n\t\t\t\t\trole=\"button\"\n\t\t\t\t\tonClick={ onClick }\n\t\t\t\t>\n\t\t\t\t\t<span className=\"edit-site-style-book__example-title\">\n\t\t\t\t\t\t{ title }\n\t\t\t\t\t</span>\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName=\"edit-site-style-book__example-preview\"\n\t\t\t\t\t\taria-hidden\n\t\t\t\t\t>\n\t\t\t\t\t\t<Disabled className=\"edit-site-style-book__example-preview__content\">\n\t\t\t\t\t\t\t<ExperimentalBlockEditorProvider\n\t\t\t\t\t\t\t\tvalue={ renderedBlocks }\n\t\t\t\t\t\t\t\tsettings={ settings }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<BlockList renderAppender={ false } />\n\t\t\t\t\t\t\t</ExperimentalBlockEditorProvider>\n\t\t\t\t\t\t</Disabled>\n\t\t\t\t\t</div>\n\t\t\t\t</CompositeItem>\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n\nexport default StyleBook;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["classnames","Disabled","privateApis","componentsPrivateApis","__","sprintf","getCategories","getBlockTypes","getBlockFromExample","createBlock","BlockList","blockEditorPrivateApis","store","blockEditorStore","__unstableEditorStyles","EditorStyles","__unstableIframe","Iframe","useSelect","useResizeObserver","useMemo","useState","memo","useContext","ENTER","SPACE","unlock","EditorCanvasContainer","mergeBaseAndUserConfigs","ExperimentalBlockEditorProvider","useGlobalStyle","GlobalStylesContext","useGlobalStylesOutputWithConfig","CompositeV2","Composite","CompositeItemV2","CompositeItem","useCompositeStoreV2","useCompositeStore","Tabs","STYLE_BOOK_IFRAME_STYLES","isObjectEmpty","object","Object","keys","length","getExamples","headingsExample","name","title","category","blocks","content","level","otherExamples","filter","blockType","example","supports","inserter","map","StyleBook","enableResizing","isSelected","onClick","onSelect","showCloseButton","onClose","showTabs","userConfig","resizeObserver","sizes","textColor","backgroundColor","examples","tabs","some","slug","icon","base","baseConfig","mergedConfig","originalSettings","select","getSettings","settings","__unstableIsPreviewMode","globalStyles","styles","createElement","closeButtonLabel","className","width","style","color","background","TabList","tab","Tab","tabId","key","TabPanel","focusable","StyleBookBody","isFocused","setIsFocused","buttonModeProps","role","onFocus","onBlur","onKeyDown","event","defaultPrevented","keyCode","preventDefault","readonly","buttonModeStyles","tabIndex","Examples","label","compositeStore","orientation","Example","id","focusMode","renderedBlocks","Array","isArray","render","value","renderAppender"],"sources":["@wordpress/edit-site/src/components/style-book/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tDisabled,\n\tprivateApis as componentsPrivateApis,\n} from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport {\n\tgetCategories,\n\tgetBlockTypes,\n\tgetBlockFromExample,\n\tcreateBlock,\n} from '@wordpress/blocks';\nimport {\n\tBlockList,\n\tprivateApis as blockEditorPrivateApis,\n\tstore as blockEditorStore,\n\t__unstableEditorStyles as EditorStyles,\n\t__unstableIframe as Iframe,\n} from '@wordpress/block-editor';\nimport { useSelect } from '@wordpress/data';\nimport { useResizeObserver } from '@wordpress/compose';\nimport { useMemo, useState, memo, useContext } from '@wordpress/element';\nimport { ENTER, SPACE } from '@wordpress/keycodes';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\nimport EditorCanvasContainer from '../editor-canvas-container';\nimport { mergeBaseAndUserConfigs } from '../global-styles/global-styles-provider';\n\nconst {\n\tExperimentalBlockEditorProvider,\n\tuseGlobalStyle,\n\tGlobalStylesContext,\n\tuseGlobalStylesOutputWithConfig,\n} = unlock( blockEditorPrivateApis );\n\nconst {\n\tCompositeV2: Composite,\n\tCompositeItemV2: CompositeItem,\n\tuseCompositeStoreV2: useCompositeStore,\n\tTabs,\n} = unlock( componentsPrivateApis );\n\n// The content area of the Style Book is rendered within an iframe so that global styles\n// are applied to elements within the entire content area. To support elements that are\n// not part of the block previews, such as headings and layout for the block previews,\n// additional CSS rules need to be passed into the iframe. These are hard-coded below.\n// Note that button styles are unset, and then focus rules from the `Button` component are\n// applied to the `button` element, targeted via `.edit-site-style-book__example`.\n// This is to ensure that browser default styles for buttons are not applied to the previews.\nconst STYLE_BOOK_IFRAME_STYLES = `\n\t.edit-site-style-book__examples {\n\t\tmax-width: 900px;\n\t\tmargin: 0 auto;\n\t}\n\n\t.edit-site-style-book__example {\n\t\tborder-radius: 2px;\n\t\tcursor: pointer;\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\tgap: 40px;\n\t\tmargin-bottom: 40px;\n\t\tpadding: 16px;\n\t\twidth: 100%;\n\t\tbox-sizing: border-box;\n\t\tscroll-margin-top: 32px;\n\t\tscroll-margin-bottom: 32px;\n\t}\n\n\t.edit-site-style-book__example.is-selected {\n\t\tbox-shadow: 0 0 0 1px var(--wp-components-color-accent, var(--wp-admin-theme-color, #007cba));\n\t}\n\n\t.edit-site-style-book__example:focus:not(:disabled) {\n\t\tbox-shadow: 0 0 0 var(--wp-admin-border-width-focus) var(--wp-components-color-accent, var(--wp-admin-theme-color, #007cba));\n\t\toutline: 3px solid transparent;\n\t}\n\n\t.edit-site-style-book__examples.is-wide .edit-site-style-book__example {\n\t\tflex-direction: row;\n\t}\n\n\t.edit-site-style-book__example-title {\n\t\tfont-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Oxygen-Sans, Ubuntu, Cantarell, \"Helvetica Neue\", sans-serif;\n\t\tfont-size: 11px;\n\t\tfont-weight: 500;\n\t\tline-height: normal;\n\t\tmargin: 0;\n\t\ttext-align: left;\n\t\ttext-transform: uppercase;\n\t}\n\n\t.edit-site-style-book__examples.is-wide .edit-site-style-book__example-title {\n\t\ttext-align: right;\n\t\twidth: 120px;\n\t}\n\n\t.edit-site-style-book__example-preview {\n\t\twidth: 100%;\n\t}\n\n\t.edit-site-style-book__example-preview .block-editor-block-list__insertion-point,\n\t.edit-site-style-book__example-preview .block-list-appender {\n\t\tdisplay: none;\n\t}\n\n\t.edit-site-style-book__example-preview .is-root-container > .wp-block:first-child {\n\t\tmargin-top: 0;\n\t}\n\t.edit-site-style-book__example-preview .is-root-container > .wp-block:last-child {\n\t\tmargin-bottom: 0;\n\t}\n`;\n\nfunction isObjectEmpty( object ) {\n\treturn ! object || Object.keys( object ).length === 0;\n}\n\nfunction getExamples() {\n\t// Use our own example for the Heading block so that we can show multiple\n\t// heading levels.\n\tconst headingsExample = {\n\t\tname: 'core/heading',\n\t\ttitle: __( 'Headings' ),\n\t\tcategory: 'text',\n\t\tblocks: [\n\t\t\tcreateBlock( 'core/heading', {\n\t\t\t\tcontent: __( 'Code Is Poetry' ),\n\t\t\t\tlevel: 1,\n\t\t\t} ),\n\t\t\tcreateBlock( 'core/heading', {\n\t\t\t\tcontent: __( 'Code Is Poetry' ),\n\t\t\t\tlevel: 2,\n\t\t\t} ),\n\t\t\tcreateBlock( 'core/heading', {\n\t\t\t\tcontent: __( 'Code Is Poetry' ),\n\t\t\t\tlevel: 3,\n\t\t\t} ),\n\t\t\tcreateBlock( 'core/heading', {\n\t\t\t\tcontent: __( 'Code Is Poetry' ),\n\t\t\t\tlevel: 4,\n\t\t\t} ),\n\t\t\tcreateBlock( 'core/heading', {\n\t\t\t\tcontent: __( 'Code Is Poetry' ),\n\t\t\t\tlevel: 5,\n\t\t\t} ),\n\t\t],\n\t};\n\n\tconst otherExamples = getBlockTypes()\n\t\t.filter( ( blockType ) => {\n\t\t\tconst { name, example, supports } = blockType;\n\t\t\treturn (\n\t\t\t\tname !== 'core/heading' &&\n\t\t\t\t!! example &&\n\t\t\t\tsupports.inserter !== false\n\t\t\t);\n\t\t} )\n\t\t.map( ( blockType ) => ( {\n\t\t\tname: blockType.name,\n\t\t\ttitle: blockType.title,\n\t\t\tcategory: blockType.category,\n\t\t\tblocks: getBlockFromExample( blockType.name, blockType.example ),\n\t\t} ) );\n\n\treturn [ headingsExample, ...otherExamples ];\n}\n\nfunction StyleBook( {\n\tenableResizing = true,\n\tisSelected,\n\tonClick,\n\tonSelect,\n\tshowCloseButton = true,\n\tonClose,\n\tshowTabs = true,\n\tuserConfig = {},\n} ) {\n\tconst [ resizeObserver, sizes ] = useResizeObserver();\n\tconst [ textColor ] = useGlobalStyle( 'color.text' );\n\tconst [ backgroundColor ] = useGlobalStyle( 'color.background' );\n\tconst examples = useMemo( getExamples, [] );\n\tconst tabs = useMemo(\n\t\t() =>\n\t\t\tgetCategories()\n\t\t\t\t.filter( ( category ) =>\n\t\t\t\t\texamples.some(\n\t\t\t\t\t\t( example ) => example.category === category.slug\n\t\t\t\t\t)\n\t\t\t\t)\n\t\t\t\t.map( ( category ) => ( {\n\t\t\t\t\tname: category.slug,\n\t\t\t\t\ttitle: category.title,\n\t\t\t\t\ticon: category.icon,\n\t\t\t\t} ) ),\n\t\t[ examples ]\n\t);\n\tconst { base: baseConfig } = useContext( GlobalStylesContext );\n\n\tconst mergedConfig = useMemo( () => {\n\t\tif ( ! isObjectEmpty( userConfig ) && ! isObjectEmpty( baseConfig ) ) {\n\t\t\treturn mergeBaseAndUserConfigs( baseConfig, userConfig );\n\t\t}\n\t\treturn {};\n\t}, [ baseConfig, userConfig ] );\n\n\t// Copied from packages/edit-site/src/components/revisions/index.js\n\t// could we create a shared hook?\n\tconst originalSettings = useSelect(\n\t\t( select ) => select( blockEditorStore ).getSettings(),\n\t\t[]\n\t);\n\n\tconst settings = useMemo(\n\t\t() => ( { ...originalSettings, __unstableIsPreviewMode: true } ),\n\t\t[ originalSettings ]\n\t);\n\n\tconst [ globalStyles ] = useGlobalStylesOutputWithConfig( mergedConfig );\n\n\tsettings.styles =\n\t\t! isObjectEmpty( globalStyles ) && ! isObjectEmpty( userConfig )\n\t\t\t? globalStyles\n\t\t\t: settings.styles;\n\n\treturn (\n\t\t<EditorCanvasContainer\n\t\t\tonClose={ onClose }\n\t\t\tenableResizing={ enableResizing }\n\t\t\tcloseButtonLabel={\n\t\t\t\tshowCloseButton ? __( 'Close Style Book' ) : null\n\t\t\t}\n\t\t>\n\t\t\t<div\n\t\t\t\tclassName={ classnames( 'edit-site-style-book', {\n\t\t\t\t\t'is-wide': sizes.width > 600,\n\t\t\t\t\t'is-button': !! onClick,\n\t\t\t\t} ) }\n\t\t\t\tstyle={ {\n\t\t\t\t\tcolor: textColor,\n\t\t\t\t\tbackground: backgroundColor,\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t{ resizeObserver }\n\t\t\t\t{ showTabs ? (\n\t\t\t\t\t<div className=\"edit-site-style-book__tabs\">\n\t\t\t\t\t\t<Tabs>\n\t\t\t\t\t\t\t<Tabs.TabList>\n\t\t\t\t\t\t\t\t{ tabs.map( ( tab ) => (\n\t\t\t\t\t\t\t\t\t<Tabs.Tab\n\t\t\t\t\t\t\t\t\t\ttabId={ tab.name }\n\t\t\t\t\t\t\t\t\t\tkey={ tab.name }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ tab.title }\n\t\t\t\t\t\t\t\t\t</Tabs.Tab>\n\t\t\t\t\t\t\t\t) ) }\n\t\t\t\t\t\t\t</Tabs.TabList>\n\t\t\t\t\t\t\t{ tabs.map( ( tab ) => (\n\t\t\t\t\t\t\t\t<Tabs.TabPanel\n\t\t\t\t\t\t\t\t\tkey={ tab.name }\n\t\t\t\t\t\t\t\t\ttabId={ tab.name }\n\t\t\t\t\t\t\t\t\tfocusable={ false }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<StyleBookBody\n\t\t\t\t\t\t\t\t\t\tcategory={ tab.name }\n\t\t\t\t\t\t\t\t\t\texamples={ examples }\n\t\t\t\t\t\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\t\t\t\t\t\tonSelect={ onSelect }\n\t\t\t\t\t\t\t\t\t\tsettings={ settings }\n\t\t\t\t\t\t\t\t\t\tsizes={ sizes }\n\t\t\t\t\t\t\t\t\t\ttitle={ tab.title }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</Tabs.TabPanel>\n\t\t\t\t\t\t\t) ) }\n\t\t\t\t\t\t</Tabs>\n\t\t\t\t\t</div>\n\t\t\t\t) : (\n\t\t\t\t\t<StyleBookBody\n\t\t\t\t\t\texamples={ examples }\n\t\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\t\tonClick={ onClick }\n\t\t\t\t\t\tonSelect={ onSelect }\n\t\t\t\t\t\tsettings={ settings }\n\t\t\t\t\t\tsizes={ sizes }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t</EditorCanvasContainer>\n\t);\n}\n\nconst StyleBookBody = ( {\n\tcategory,\n\texamples,\n\tisSelected,\n\tonClick,\n\tonSelect,\n\tsettings,\n\tsizes,\n\ttitle,\n} ) => {\n\tconst [ isFocused, setIsFocused ] = useState( false );\n\n\t// The presence of an `onClick` prop indicates that the Style Book is being used as a button.\n\t// In this case, add additional props to the iframe to make it behave like a button.\n\tconst buttonModeProps = {\n\t\trole: 'button',\n\t\tonFocus: () => setIsFocused( true ),\n\t\tonBlur: () => setIsFocused( false ),\n\t\tonKeyDown: ( event ) => {\n\t\t\tif ( event.defaultPrevented ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst { keyCode } = event;\n\t\t\tif ( onClick && ( keyCode === ENTER || keyCode === SPACE ) ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tonClick( event );\n\t\t\t}\n\t\t},\n\t\tonClick: ( event ) => {\n\t\t\tif ( event.defaultPrevented ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif ( onClick ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tonClick( event );\n\t\t\t}\n\t\t},\n\t\treadonly: true,\n\t};\n\n\tconst buttonModeStyles = onClick\n\t\t? 'body { cursor: pointer; } body * { pointer-events: none; }'\n\t\t: '';\n\n\treturn (\n\t\t<Iframe\n\t\t\tclassName={ classnames( 'edit-site-style-book__iframe', {\n\t\t\t\t'is-focused': isFocused && !! onClick,\n\t\t\t\t'is-button': !! onClick,\n\t\t\t} ) }\n\t\t\tname=\"style-book-canvas\"\n\t\t\ttabIndex={ 0 }\n\t\t\t{ ...( onClick ? buttonModeProps : {} ) }\n\t\t>\n\t\t\t<EditorStyles styles={ settings.styles } />\n\t\t\t<style>\n\t\t\t\t{\n\t\t\t\t\t// Forming a \"block formatting context\" to prevent margin collapsing.\n\t\t\t\t\t// @see https://developer.mozilla.org/en-US/docs/Web/Guide/CSS/Block_formatting_context\n\t\t\t\t\t`.is-root-container { display: flow-root; }\n\t\t\t\t\t\tbody { position: relative; padding: 32px !important; }` +\n\t\t\t\t\t\tSTYLE_BOOK_IFRAME_STYLES +\n\t\t\t\t\t\tbuttonModeStyles\n\t\t\t\t}\n\t\t\t</style>\n\t\t\t<Examples\n\t\t\t\tclassName={ classnames( 'edit-site-style-book__examples', {\n\t\t\t\t\t'is-wide': sizes.width > 600,\n\t\t\t\t} ) }\n\t\t\t\texamples={ examples }\n\t\t\t\tcategory={ category }\n\t\t\t\tlabel={\n\t\t\t\t\ttitle\n\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t// translators: %s: Category of blocks, e.g. Text.\n\t\t\t\t\t\t\t\t__( 'Examples of blocks in the %s category' ),\n\t\t\t\t\t\t\t\ttitle\n\t\t\t\t\t\t )\n\t\t\t\t\t\t: __( 'Examples of blocks' )\n\t\t\t\t}\n\t\t\t\tisSelected={ isSelected }\n\t\t\t\tonSelect={ onSelect }\n\t\t\t\tkey={ category }\n\t\t\t/>\n\t\t</Iframe>\n\t);\n};\n\nconst Examples = memo(\n\t( { className, examples, category, label, isSelected, onSelect } ) => {\n\t\tconst compositeStore = useCompositeStore( { orientation: 'vertical' } );\n\n\t\treturn (\n\t\t\t<Composite\n\t\t\t\tstore={ compositeStore }\n\t\t\t\tclassName={ className }\n\t\t\t\taria-label={ label }\n\t\t\t\trole=\"grid\"\n\t\t\t>\n\t\t\t\t{ examples\n\t\t\t\t\t.filter( ( example ) =>\n\t\t\t\t\t\tcategory ? example.category === category : true\n\t\t\t\t\t)\n\t\t\t\t\t.map( ( example ) => (\n\t\t\t\t\t\t<Example\n\t\t\t\t\t\t\tkey={ example.name }\n\t\t\t\t\t\t\tid={ `example-${ example.name }` }\n\t\t\t\t\t\t\ttitle={ example.title }\n\t\t\t\t\t\t\tblocks={ example.blocks }\n\t\t\t\t\t\t\tisSelected={ isSelected( example.name ) }\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tonSelect?.( example.name );\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</Composite>\n\t\t);\n\t}\n);\n\nconst Example = ( { id, title, blocks, isSelected, onClick } ) => {\n\tconst originalSettings = useSelect(\n\t\t( select ) => select( blockEditorStore ).getSettings(),\n\t\t[]\n\t);\n\tconst settings = useMemo(\n\t\t() => ( {\n\t\t\t...originalSettings,\n\t\t\tfocusMode: false, // Disable \"Spotlight mode\".\n\t\t\t__unstableIsPreviewMode: true,\n\t\t} ),\n\t\t[ originalSettings ]\n\t);\n\n\t// Cache the list of blocks to avoid additional processing when the component is re-rendered.\n\tconst renderedBlocks = useMemo(\n\t\t() => ( Array.isArray( blocks ) ? blocks : [ blocks ] ),\n\t\t[ blocks ]\n\t);\n\n\treturn (\n\t\t<div role=\"row\">\n\t\t\t<div role=\"gridcell\">\n\t\t\t\t<CompositeItem\n\t\t\t\t\tclassName={ classnames( 'edit-site-style-book__example', {\n\t\t\t\t\t\t'is-selected': isSelected,\n\t\t\t\t\t} ) }\n\t\t\t\t\tid={ id }\n\t\t\t\t\taria-label={ sprintf(\n\t\t\t\t\t\t// translators: %s: Title of a block, e.g. Heading.\n\t\t\t\t\t\t__( 'Open %s styles in Styles panel' ),\n\t\t\t\t\t\ttitle\n\t\t\t\t\t) }\n\t\t\t\t\trender={ <div /> }\n\t\t\t\t\trole=\"button\"\n\t\t\t\t\tonClick={ onClick }\n\t\t\t\t>\n\t\t\t\t\t<span className=\"edit-site-style-book__example-title\">\n\t\t\t\t\t\t{ title }\n\t\t\t\t\t</span>\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName=\"edit-site-style-book__example-preview\"\n\t\t\t\t\t\taria-hidden\n\t\t\t\t\t>\n\t\t\t\t\t\t<Disabled className=\"edit-site-style-book__example-preview__content\">\n\t\t\t\t\t\t\t<ExperimentalBlockEditorProvider\n\t\t\t\t\t\t\t\tvalue={ renderedBlocks }\n\t\t\t\t\t\t\t\tsettings={ settings }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<BlockList renderAppender={ false } />\n\t\t\t\t\t\t\t</ExperimentalBlockEditorProvider>\n\t\t\t\t\t\t</Disabled>\n\t\t\t\t\t</div>\n\t\t\t\t</CompositeItem>\n\t\t\t</div>\n\t\t</div>\n\t);\n};\n\nexport default StyleBook;\n"],"mappings":"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"}
|