@wordpress/edit-site 6.3.0 → 6.4.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/add-new-pattern/index.js +8 -2
- package/build/components/add-new-pattern/index.js.map +1 -1
- package/build/components/add-new-template/index.js +3 -1
- package/build/components/add-new-template/index.js.map +1 -1
- package/build/components/block-editor/use-site-editor-settings.js +1 -82
- package/build/components/block-editor/use-site-editor-settings.js.map +1 -1
- package/build/components/global-styles/block-preview-panel.js +14 -5
- package/build/components/global-styles/block-preview-panel.js.map +1 -1
- package/build/components/global-styles/font-families.js +42 -23
- package/build/components/global-styles/font-families.js.map +1 -1
- package/build/components/global-styles/font-library-modal/index.js +4 -4
- package/build/components/global-styles/font-library-modal/index.js.map +1 -1
- package/build/components/global-styles/font-library-modal/installed-fonts.js +58 -10
- package/build/components/global-styles/font-library-modal/installed-fonts.js.map +1 -1
- package/build/components/global-styles/font-sizes/confirm-delete-font-size-dialog.js +39 -0
- package/build/components/global-styles/font-sizes/confirm-delete-font-size-dialog.js.map +1 -0
- package/build/components/global-styles/font-sizes/confirm-reset-font-sizes-dialog.js +39 -0
- package/build/components/global-styles/font-sizes/confirm-reset-font-sizes-dialog.js.map +1 -0
- package/build/components/global-styles/font-sizes/font-size-preview.js +44 -0
- package/build/components/global-styles/font-sizes/font-size-preview.js.map +1 -0
- package/build/components/global-styles/font-sizes/font-size.js +213 -0
- package/build/components/global-styles/font-sizes/font-size.js.map +1 -0
- package/build/components/global-styles/font-sizes/font-sizes-count.js +50 -0
- package/build/components/global-styles/font-sizes/font-sizes-count.js.map +1 -0
- package/build/components/global-styles/font-sizes/font-sizes.js +163 -0
- package/build/components/global-styles/font-sizes/font-sizes.js.map +1 -0
- package/build/components/global-styles/font-sizes/rename-font-size-dialog.js +67 -0
- package/build/components/global-styles/font-sizes/rename-font-size-dialog.js.map +1 -0
- package/build/components/global-styles/screen-block.js +10 -8
- package/build/components/global-styles/screen-block.js.map +1 -1
- package/build/components/global-styles/screen-style-variations.js +2 -2
- package/build/components/global-styles/screen-style-variations.js.map +1 -1
- package/build/components/global-styles/screen-typography.js +3 -2
- package/build/components/global-styles/screen-typography.js.map +1 -1
- package/build/components/global-styles/size-control/index.js +85 -0
- package/build/components/global-styles/size-control/index.js.map +1 -0
- package/build/components/global-styles/style-variations-container.js +3 -0
- package/build/components/global-styles/style-variations-container.js.map +1 -1
- package/build/components/global-styles/ui.js +8 -0
- package/build/components/global-styles/ui.js.map +1 -1
- package/build/components/global-styles/variations/variations-color.js.map +1 -1
- package/build/components/global-styles/variations/variations-typography.js +1 -1
- package/build/components/global-styles/variations/variations-typography.js.map +1 -1
- package/build/components/layout/index.js +6 -0
- package/build/components/layout/index.js.map +1 -1
- package/build/components/layout/router.js +14 -6
- package/build/components/layout/router.js.map +1 -1
- package/build/components/page-patterns/header.js +1 -1
- package/build/components/page-patterns/header.js.map +1 -1
- package/build/components/page-patterns/index.js +23 -11
- package/build/components/page-patterns/index.js.map +1 -1
- package/build/components/page-templates/index.js +41 -34
- package/build/components/page-templates/index.js.map +1 -1
- package/build/components/post-edit/index.js +105 -0
- package/build/components/post-edit/index.js.map +1 -0
- package/build/components/post-fields/index.js +314 -0
- package/build/components/post-fields/index.js.map +1 -0
- package/build/components/post-list/index.js +281 -0
- package/build/components/post-list/index.js.map +1 -0
- package/build/components/posts-app/router.js +3 -3
- package/build/components/posts-app/router.js.map +1 -1
- package/build/components/sidebar-dataviews/default-views.js +22 -10
- package/build/components/sidebar-dataviews/default-views.js.map +1 -1
- package/build/components/sidebar-dataviews/index.js +40 -1
- package/build/components/sidebar-dataviews/index.js.map +1 -1
- package/build/components/sidebar-navigation-screen-global-styles/content.js +64 -0
- package/build/components/sidebar-navigation-screen-global-styles/content.js.map +1 -0
- package/build/components/sidebar-navigation-screen-global-styles/index.js +2 -47
- package/build/components/sidebar-navigation-screen-global-styles/index.js.map +1 -1
- package/build/hooks/push-changes-to-global-styles/index.js +1 -1
- package/build/hooks/push-changes-to-global-styles/index.js.map +1 -1
- package/build/index.js +5 -1
- package/build/index.js.map +1 -1
- package/build/store/selectors.js +34 -6
- package/build/store/selectors.js.map +1 -1
- package/build/utils/get-filtered-template-parts.js +64 -0
- package/build/utils/get-filtered-template-parts.js.map +1 -0
- package/build-module/components/add-new-pattern/index.js +8 -2
- package/build-module/components/add-new-pattern/index.js.map +1 -1
- package/build-module/components/add-new-template/index.js +3 -1
- package/build-module/components/add-new-template/index.js.map +1 -1
- package/build-module/components/block-editor/use-site-editor-settings.js +1 -82
- package/build-module/components/block-editor/use-site-editor-settings.js.map +1 -1
- package/build-module/components/global-styles/block-preview-panel.js +14 -5
- package/build-module/components/global-styles/block-preview-panel.js.map +1 -1
- package/build-module/components/global-styles/font-families.js +44 -25
- package/build-module/components/global-styles/font-families.js.map +1 -1
- package/build-module/components/global-styles/font-library-modal/index.js +4 -4
- package/build-module/components/global-styles/font-library-modal/index.js.map +1 -1
- package/build-module/components/global-styles/font-library-modal/installed-fonts.js +61 -13
- package/build-module/components/global-styles/font-library-modal/installed-fonts.js.map +1 -1
- package/build-module/components/global-styles/font-sizes/confirm-delete-font-size-dialog.js +32 -0
- package/build-module/components/global-styles/font-sizes/confirm-delete-font-size-dialog.js.map +1 -0
- package/build-module/components/global-styles/font-sizes/confirm-reset-font-sizes-dialog.js +32 -0
- package/build-module/components/global-styles/font-sizes/confirm-reset-font-sizes-dialog.js.map +1 -0
- package/build-module/components/global-styles/font-sizes/font-size-preview.js +37 -0
- package/build-module/components/global-styles/font-sizes/font-size-preview.js.map +1 -0
- package/build-module/components/global-styles/font-sizes/font-size.js +207 -0
- package/build-module/components/global-styles/font-sizes/font-size.js.map +1 -0
- package/build-module/components/global-styles/font-sizes/font-sizes-count.js +43 -0
- package/build-module/components/global-styles/font-sizes/font-sizes-count.js.map +1 -0
- package/build-module/components/global-styles/font-sizes/font-sizes.js +157 -0
- package/build-module/components/global-styles/font-sizes/font-sizes.js.map +1 -0
- package/build-module/components/global-styles/font-sizes/rename-font-size-dialog.js +61 -0
- package/build-module/components/global-styles/font-sizes/rename-font-size-dialog.js.map +1 -0
- package/build-module/components/global-styles/screen-block.js +10 -8
- package/build-module/components/global-styles/screen-block.js.map +1 -1
- package/build-module/components/global-styles/screen-style-variations.js +2 -2
- package/build-module/components/global-styles/screen-style-variations.js.map +1 -1
- package/build-module/components/global-styles/screen-typography.js +3 -2
- package/build-module/components/global-styles/screen-typography.js.map +1 -1
- package/build-module/components/global-styles/size-control/index.js +79 -0
- package/build-module/components/global-styles/size-control/index.js.map +1 -0
- package/build-module/components/global-styles/style-variations-container.js +3 -0
- package/build-module/components/global-styles/style-variations-container.js.map +1 -1
- package/build-module/components/global-styles/ui.js +8 -0
- package/build-module/components/global-styles/ui.js.map +1 -1
- package/build-module/components/global-styles/variations/variations-color.js +1 -1
- package/build-module/components/global-styles/variations/variations-color.js.map +1 -1
- package/build-module/components/global-styles/variations/variations-typography.js +1 -2
- package/build-module/components/global-styles/variations/variations-typography.js.map +1 -1
- package/build-module/components/layout/index.js +6 -0
- package/build-module/components/layout/index.js.map +1 -1
- package/build-module/components/layout/router.js +14 -6
- package/build-module/components/layout/router.js.map +1 -1
- package/build-module/components/page-patterns/header.js +1 -1
- package/build-module/components/page-patterns/header.js.map +1 -1
- package/build-module/components/page-patterns/index.js +23 -11
- package/build-module/components/page-patterns/index.js.map +1 -1
- package/build-module/components/page-templates/index.js +43 -37
- package/build-module/components/page-templates/index.js.map +1 -1
- package/build-module/components/post-edit/index.js +98 -0
- package/build-module/components/post-edit/index.js.map +1 -0
- package/build-module/components/post-fields/index.js +306 -0
- package/build-module/components/post-fields/index.js.map +1 -0
- package/build-module/components/post-list/index.js +275 -0
- package/build-module/components/post-list/index.js.map +1 -0
- package/build-module/components/posts-app/router.js +3 -3
- package/build-module/components/posts-app/router.js.map +1 -1
- package/build-module/components/sidebar-dataviews/default-views.js +21 -9
- package/build-module/components/sidebar-dataviews/default-views.js.map +1 -1
- package/build-module/components/sidebar-dataviews/index.js +42 -3
- package/build-module/components/sidebar-dataviews/index.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-global-styles/content.js +57 -0
- package/build-module/components/sidebar-navigation-screen-global-styles/content.js.map +1 -0
- package/build-module/components/sidebar-navigation-screen-global-styles/index.js +2 -47
- package/build-module/components/sidebar-navigation-screen-global-styles/index.js.map +1 -1
- package/build-module/hooks/push-changes-to-global-styles/index.js +1 -1
- package/build-module/hooks/push-changes-to-global-styles/index.js.map +1 -1
- package/build-module/index.js +5 -1
- package/build-module/index.js.map +1 -1
- package/build-module/store/selectors.js +35 -7
- package/build-module/store/selectors.js.map +1 -1
- package/build-module/utils/get-filtered-template-parts.js +57 -0
- package/build-module/utils/get-filtered-template-parts.js.map +1 -0
- package/build-style/posts-rtl.css +581 -503
- package/build-style/posts.css +581 -503
- package/build-style/style-rtl.css +621 -519
- package/build-style/style.css +621 -519
- package/package.json +41 -41
- package/src/components/add-new-pattern/index.js +8 -2
- package/src/components/add-new-template/index.js +4 -1
- package/src/components/add-new-template/style.scss +4 -6
- package/src/components/block-editor/use-site-editor-settings.js +15 -111
- package/src/components/global-styles/block-preview-panel.js +22 -9
- package/src/components/global-styles/font-families.js +66 -31
- package/src/components/global-styles/font-library-modal/index.js +4 -2
- package/src/components/global-styles/font-library-modal/installed-fonts.js +92 -11
- package/src/components/global-styles/font-library-modal/style.scss +9 -0
- package/src/components/global-styles/font-sizes/confirm-delete-font-size-dialog.js +43 -0
- package/src/components/global-styles/font-sizes/confirm-reset-font-sizes-dialog.js +37 -0
- package/src/components/global-styles/font-sizes/font-size-preview.js +43 -0
- package/src/components/global-styles/font-sizes/font-size.js +250 -0
- package/src/components/global-styles/font-sizes/font-sizes-count.js +40 -0
- package/src/components/global-styles/font-sizes/font-sizes.js +263 -0
- package/src/components/global-styles/font-sizes/rename-font-size-dialog.js +70 -0
- package/src/components/global-styles/screen-block.js +12 -14
- package/src/components/global-styles/screen-style-variations.js +2 -2
- package/src/components/global-styles/screen-typography.js +3 -2
- package/src/components/global-styles/size-control/index.js +86 -0
- package/src/components/global-styles/style-variations-container.js +4 -0
- package/src/components/global-styles/style.scss +13 -3
- package/src/components/global-styles/ui.js +10 -0
- package/src/components/global-styles/variations/variations-color.js +1 -1
- package/src/components/global-styles/variations/variations-typography.js +1 -2
- package/src/components/layout/index.js +11 -0
- package/src/components/layout/router.js +13 -5
- package/src/components/layout/style.scss +26 -8
- package/src/components/page-patterns/header.js +1 -1
- package/src/components/page-patterns/index.js +15 -8
- package/src/components/page-templates/index.js +51 -46
- package/src/components/page-templates/style.scss +5 -3
- package/src/components/post-edit/index.js +96 -0
- package/src/components/post-edit/style.scss +9 -0
- package/src/components/post-fields/index.js +345 -0
- package/src/components/post-list/index.js +326 -0
- package/src/components/{posts-app → post-list}/style.scss +12 -9
- package/src/components/posts-app/router.js +3 -3
- package/src/components/sidebar-dataviews/default-views.js +21 -9
- package/src/components/sidebar-dataviews/index.js +36 -1
- package/src/components/sidebar-navigation-screen-global-styles/content.js +55 -0
- package/src/components/sidebar-navigation-screen-global-styles/index.js +1 -55
- package/src/hooks/push-changes-to-global-styles/index.js +1 -1
- package/src/index.js +7 -1
- package/src/posts.scss +1 -1
- package/src/store/selectors.js +53 -14
- package/src/store/test/selectors.js +1 -26
- package/src/style.scss +2 -1
- package/src/utils/get-filtered-template-parts.js +61 -0
- package/src/utils/test/get-filtered-template-parts.js +127 -0
- package/build/components/global-styles/screen-background.js +0 -36
- package/build/components/global-styles/screen-background.js.map +0 -1
- package/build/components/posts-app/posts-list.js +0 -568
- package/build/components/posts-app/posts-list.js.map +0 -1
- package/build-module/components/global-styles/screen-background.js +0 -30
- package/build-module/components/global-styles/screen-background.js.map +0 -1
- package/build-module/components/posts-app/posts-list.js +0 -560
- package/build-module/components/posts-app/posts-list.js.map +0 -1
- package/src/components/global-styles/screen-background.js +0 -29
- package/src/components/posts-app/posts-list.js +0 -651
package/CHANGELOG.md
CHANGED
|
@@ -65,8 +65,14 @@ function AddNewPattern() {
|
|
|
65
65
|
addNewPatternLabel: getPostType(_constants.PATTERN_TYPES.user)?.labels?.add_new_item,
|
|
66
66
|
addNewTemplatePartLabel: getPostType(_constants.TEMPLATE_PART_POST_TYPE)?.labels?.add_new_item,
|
|
67
67
|
// Blocks refers to the wp_block post type, this checks the ability to create a post of that type.
|
|
68
|
-
canCreatePattern: canUser('create',
|
|
69
|
-
|
|
68
|
+
canCreatePattern: canUser('create', {
|
|
69
|
+
kind: 'postType',
|
|
70
|
+
name: _constants.PATTERN_TYPES.user
|
|
71
|
+
}),
|
|
72
|
+
canCreateTemplatePart: canUser('create', {
|
|
73
|
+
kind: 'postType',
|
|
74
|
+
name: _constants.TEMPLATE_PART_POST_TYPE
|
|
75
|
+
})
|
|
70
76
|
};
|
|
71
77
|
}, []);
|
|
72
78
|
function handleCreatePattern({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_components","require","_element","_i18n","_icons","_data","_router","_patterns","_notices","_coreData","_editor","_lockUnlock","_constants","_jsxRuntime","useHistory","unlock","routerPrivateApis","CreatePatternModal","useAddPatternCategory","editPatternsPrivateApis","CreateTemplatePartModal","editorPrivateApis","AddNewPattern","history","showPatternModal","setShowPatternModal","useState","showTemplatePartModal","setShowTemplatePartModal","createPatternFromFile","useDispatch","patternsStore","createSuccessNotice","createErrorNotice","noticesStore","patternUploadInputRef","useRef","isBlockBasedTheme","addNewPatternLabel","addNewTemplatePartLabel","canCreatePattern","canCreateTemplatePart","useSelect","select","getCurrentTheme","getPostType","canUser","coreStore","is_block_theme","PATTERN_TYPES","user","labels","add_new_item","TEMPLATE_PART_POST_TYPE","handleCreatePattern","pattern","push","postId","id","postType","canvas","handleCreateTemplatePart","templatePart","handleError","controls","icon","symbol","onClick","title","symbolFilled","upload","current","click","__","categoryMap","findOrCreateTerm","length","jsxs","Fragment","children","jsx","DropdownMenu","toggleProps","variant","showTooltip","__next40pxDefaultSize","text","label","onClose","onSuccess","onError","closeModal","blocks","onCreate","type","accept","hidden","ref","onChange","event","file","target","files","params","categoryId","getLocationWithParams","currentCategoryId","currentCategory","values","find","term","name","undefined","PATTERN_DEFAULT_CATEGORY","sprintf","raw","err","message","value"],"sources":["@wordpress/edit-site/src/components/add-new-pattern/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { DropdownMenu } from '@wordpress/components';\nimport { useState, useRef } from '@wordpress/element';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { symbol, symbolFilled, upload } from '@wordpress/icons';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\nimport {\n\tprivateApis as editPatternsPrivateApis,\n\tstore as patternsStore,\n} from '@wordpress/patterns';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { privateApis as editorPrivateApis } from '@wordpress/editor';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\nimport {\n\tPATTERN_TYPES,\n\tPATTERN_DEFAULT_CATEGORY,\n\tTEMPLATE_PART_POST_TYPE,\n} from '../../utils/constants';\n\nconst { useHistory } = unlock( routerPrivateApis );\nconst { CreatePatternModal, useAddPatternCategory } = unlock(\n\teditPatternsPrivateApis\n);\nconst { CreateTemplatePartModal } = unlock( editorPrivateApis );\n\nexport default function AddNewPattern() {\n\tconst history = useHistory();\n\tconst [ showPatternModal, setShowPatternModal ] = useState( false );\n\tconst [ showTemplatePartModal, setShowTemplatePartModal ] =\n\t\tuseState( false );\n\t// eslint-disable-next-line @wordpress/no-unused-vars-before-return\n\tconst { createPatternFromFile } = unlock( useDispatch( patternsStore ) );\n\tconst { createSuccessNotice, createErrorNotice } =\n\t\tuseDispatch( noticesStore );\n\tconst patternUploadInputRef = useRef();\n\tconst {\n\t\tisBlockBasedTheme,\n\t\taddNewPatternLabel,\n\t\taddNewTemplatePartLabel,\n\t\tcanCreatePattern,\n\t\tcanCreateTemplatePart,\n\t} = useSelect( ( select ) => {\n\t\tconst { getCurrentTheme, getPostType, canUser } = select( coreStore );\n\t\treturn {\n\t\t\tisBlockBasedTheme: getCurrentTheme()?.is_block_theme,\n\t\t\taddNewPatternLabel: getPostType( PATTERN_TYPES.user )?.labels\n\t\t\t\t?.add_new_item,\n\t\t\taddNewTemplatePartLabel: getPostType( TEMPLATE_PART_POST_TYPE )\n\t\t\t\t?.labels?.add_new_item,\n\t\t\t// Blocks refers to the wp_block post type, this checks the ability to create a post of that type.\n\t\t\tcanCreatePattern: canUser( 'create', 'blocks' ),\n\t\t\tcanCreateTemplatePart: canUser( 'create', 'template-parts' ),\n\t\t};\n\t}, [] );\n\n\tfunction handleCreatePattern( { pattern } ) {\n\t\tsetShowPatternModal( false );\n\n\t\thistory.push( {\n\t\t\tpostId: pattern.id,\n\t\t\tpostType: PATTERN_TYPES.user,\n\t\t\tcanvas: 'edit',\n\t\t} );\n\t}\n\n\tfunction handleCreateTemplatePart( templatePart ) {\n\t\tsetShowTemplatePartModal( false );\n\n\t\t// Navigate to the created template part editor.\n\t\thistory.push( {\n\t\t\tpostId: templatePart.id,\n\t\t\tpostType: TEMPLATE_PART_POST_TYPE,\n\t\t\tcanvas: 'edit',\n\t\t} );\n\t}\n\n\tfunction handleError() {\n\t\tsetShowPatternModal( false );\n\t\tsetShowTemplatePartModal( false );\n\t}\n\n\tconst controls = [];\n\tif ( canCreatePattern ) {\n\t\tcontrols.push( {\n\t\t\ticon: symbol,\n\t\t\tonClick: () => setShowPatternModal( true ),\n\t\t\ttitle: addNewPatternLabel,\n\t\t} );\n\t}\n\n\tif ( isBlockBasedTheme && canCreateTemplatePart ) {\n\t\tcontrols.push( {\n\t\t\ticon: symbolFilled,\n\t\t\tonClick: () => setShowTemplatePartModal( true ),\n\t\t\ttitle: addNewTemplatePartLabel,\n\t\t} );\n\t}\n\n\tif ( canCreatePattern ) {\n\t\tcontrols.push( {\n\t\t\ticon: upload,\n\t\t\tonClick: () => {\n\t\t\t\tpatternUploadInputRef.current.click();\n\t\t\t},\n\t\t\ttitle: __( 'Import pattern from JSON' ),\n\t\t} );\n\t}\n\n\tconst { categoryMap, findOrCreateTerm } = useAddPatternCategory();\n\tif ( controls.length === 0 ) {\n\t\treturn null;\n\t}\n\treturn (\n\t\t<>\n\t\t\t{ addNewPatternLabel && (\n\t\t\t\t<DropdownMenu\n\t\t\t\t\tcontrols={ controls }\n\t\t\t\t\ticon={ null }\n\t\t\t\t\ttoggleProps={ {\n\t\t\t\t\t\tvariant: 'primary',\n\t\t\t\t\t\tshowTooltip: false,\n\t\t\t\t\t\t__next40pxDefaultSize: true,\n\t\t\t\t\t} }\n\t\t\t\t\ttext={ addNewPatternLabel }\n\t\t\t\t\tlabel={ addNewPatternLabel }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ showPatternModal && (\n\t\t\t\t<CreatePatternModal\n\t\t\t\t\tonClose={ () => setShowPatternModal( false ) }\n\t\t\t\t\tonSuccess={ handleCreatePattern }\n\t\t\t\t\tonError={ handleError }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ showTemplatePartModal && (\n\t\t\t\t<CreateTemplatePartModal\n\t\t\t\t\tcloseModal={ () => setShowTemplatePartModal( false ) }\n\t\t\t\t\tblocks={ [] }\n\t\t\t\t\tonCreate={ handleCreateTemplatePart }\n\t\t\t\t\tonError={ handleError }\n\t\t\t\t/>\n\t\t\t) }\n\n\t\t\t<input\n\t\t\t\ttype=\"file\"\n\t\t\t\taccept=\".json\"\n\t\t\t\thidden\n\t\t\t\tref={ patternUploadInputRef }\n\t\t\t\tonChange={ async ( event ) => {\n\t\t\t\t\tconst file = event.target.files?.[ 0 ];\n\t\t\t\t\tif ( ! file ) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\ttry {\n\t\t\t\t\t\tconst {\n\t\t\t\t\t\t\tparams: { postType, categoryId },\n\t\t\t\t\t\t} = history.getLocationWithParams();\n\t\t\t\t\t\tlet currentCategoryId;\n\t\t\t\t\t\t// When we're not handling template parts, we should\n\t\t\t\t\t\t// add or create the proper pattern category.\n\t\t\t\t\t\tif ( postType !== TEMPLATE_PART_POST_TYPE ) {\n\t\t\t\t\t\t\tconst currentCategory = categoryMap\n\t\t\t\t\t\t\t\t.values()\n\t\t\t\t\t\t\t\t.find( ( term ) => term.name === categoryId );\n\t\t\t\t\t\t\tif ( currentCategory ) {\n\t\t\t\t\t\t\t\tcurrentCategoryId =\n\t\t\t\t\t\t\t\t\tcurrentCategory.id ||\n\t\t\t\t\t\t\t\t\t( await findOrCreateTerm(\n\t\t\t\t\t\t\t\t\t\tcurrentCategory.label\n\t\t\t\t\t\t\t\t\t) );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tconst pattern = await createPatternFromFile(\n\t\t\t\t\t\t\tfile,\n\t\t\t\t\t\t\tcurrentCategoryId\n\t\t\t\t\t\t\t\t? [ currentCategoryId ]\n\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\t// Navigate to the All patterns category for the newly created pattern\n\t\t\t\t\t\t// if we're not on that page already and if we're not in the `my-patterns`\n\t\t\t\t\t\t// category.\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t! currentCategoryId &&\n\t\t\t\t\t\t\tcategoryId !== 'my-patterns'\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\thistory.push( {\n\t\t\t\t\t\t\t\tpostType: PATTERN_TYPES.user,\n\t\t\t\t\t\t\t\tcategoryId: PATTERN_DEFAULT_CATEGORY,\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tcreateSuccessNotice(\n\t\t\t\t\t\t\tsprintf(\n\t\t\t\t\t\t\t\t// translators: %s: The imported pattern's title.\n\t\t\t\t\t\t\t\t__( 'Imported \"%s\" from JSON.' ),\n\t\t\t\t\t\t\t\tpattern.title.raw\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t\t\t\tid: 'import-pattern-success',\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t);\n\t\t\t\t\t} catch ( err ) {\n\t\t\t\t\t\tcreateErrorNotice( err.message, {\n\t\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t\t\tid: 'import-pattern-error',\n\t\t\t\t\t\t} );\n\t\t\t\t\t} finally {\n\t\t\t\t\t\tevent.target.value = '';\n\t\t\t\t\t}\n\t\t\t\t} }\n\t\t\t/>\n\t\t</>\n\t);\n}\n"],"mappings":";;;;;;AAGA,IAAAA,WAAA,GAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AACA,IAAAE,KAAA,GAAAF,OAAA;AACA,IAAAG,MAAA,GAAAH,OAAA;AACA,IAAAI,KAAA,GAAAJ,OAAA;AACA,IAAAK,OAAA,GAAAL,OAAA;AACA,IAAAM,SAAA,GAAAN,OAAA;AAIA,IAAAO,QAAA,GAAAP,OAAA;AACA,IAAAQ,SAAA,GAAAR,OAAA;AACA,IAAAS,OAAA,GAAAT,OAAA;AAKA,IAAAU,WAAA,GAAAV,OAAA;AACA,IAAAW,UAAA,GAAAX,OAAA;AAI+B,IAAAY,WAAA,GAAAZ,OAAA;AAzB/B;AACA;AACA;;AAeA;AACA;AACA;;AAQA,MAAM;EAAEa;AAAW,CAAC,GAAG,IAAAC,kBAAM,EAAEC,mBAAkB,CAAC;AAClD,MAAM;EAAEC,kBAAkB;EAAEC;AAAsB,CAAC,GAAG,IAAAH,kBAAM,EAC3DI,qBACD,CAAC;AACD,MAAM;EAAEC;AAAwB,CAAC,GAAG,IAAAL,kBAAM,EAAEM,mBAAkB,CAAC;AAEhD,SAASC,aAAaA,CAAA,EAAG;EACvC,MAAMC,OAAO,GAAGT,UAAU,CAAC,CAAC;EAC5B,MAAM,CAAEU,gBAAgB,EAAEC,mBAAmB,CAAE,GAAG,IAAAC,iBAAQ,EAAE,KAAM,CAAC;EACnE,MAAM,CAAEC,qBAAqB,EAAEC,wBAAwB,CAAE,GACxD,IAAAF,iBAAQ,EAAE,KAAM,CAAC;EAClB;EACA,MAAM;IAAEG;EAAsB,CAAC,GAAG,IAAAd,kBAAM,EAAE,IAAAe,iBAAW,EAAEC,eAAc,CAAE,CAAC;EACxE,MAAM;IAAEC,mBAAmB;IAAEC;EAAkB,CAAC,GAC/C,IAAAH,iBAAW,EAAEI,cAAa,CAAC;EAC5B,MAAMC,qBAAqB,GAAG,IAAAC,eAAM,EAAC,CAAC;EACtC,MAAM;IACLC,iBAAiB;IACjBC,kBAAkB;IAClBC,uBAAuB;IACvBC,gBAAgB;IAChBC;EACD,CAAC,GAAG,IAAAC,eAAS,EAAIC,MAAM,IAAM;IAC5B,MAAM;MAAEC,eAAe;MAAEC,WAAW;MAAEC;IAAQ,CAAC,GAAGH,MAAM,CAAEI,eAAU,CAAC;IACrE,OAAO;MACNV,iBAAiB,EAAEO,eAAe,CAAC,CAAC,EAAEI,cAAc;MACpDV,kBAAkB,EAAEO,WAAW,CAAEI,wBAAa,CAACC,IAAK,CAAC,EAAEC,MAAM,EAC1DC,YAAY;MACfb,uBAAuB,EAAEM,WAAW,CAAEQ,kCAAwB,CAAC,EAC5DF,MAAM,EAAEC,YAAY;MACvB;MACAZ,gBAAgB,EAAEM,OAAO,CAAE,QAAQ,EAAE,QAAS,CAAC;MAC/CL,qBAAqB,EAAEK,OAAO,CAAE,QAAQ,EAAE,gBAAiB;IAC5D,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;EAEP,SAASQ,mBAAmBA,CAAE;IAAEC;EAAQ,CAAC,EAAG;IAC3C9B,mBAAmB,CAAE,KAAM,CAAC;IAE5BF,OAAO,CAACiC,IAAI,CAAE;MACbC,MAAM,EAAEF,OAAO,CAACG,EAAE;MAClBC,QAAQ,EAAEV,wBAAa,CAACC,IAAI;MAC5BU,MAAM,EAAE;IACT,CAAE,CAAC;EACJ;EAEA,SAASC,wBAAwBA,CAAEC,YAAY,EAAG;IACjDlC,wBAAwB,CAAE,KAAM,CAAC;;IAEjC;IACAL,OAAO,CAACiC,IAAI,CAAE;MACbC,MAAM,EAAEK,YAAY,CAACJ,EAAE;MACvBC,QAAQ,EAAEN,kCAAuB;MACjCO,MAAM,EAAE;IACT,CAAE,CAAC;EACJ;EAEA,SAASG,WAAWA,CAAA,EAAG;IACtBtC,mBAAmB,CAAE,KAAM,CAAC;IAC5BG,wBAAwB,CAAE,KAAM,CAAC;EAClC;EAEA,MAAMoC,QAAQ,GAAG,EAAE;EACnB,IAAKxB,gBAAgB,EAAG;IACvBwB,QAAQ,CAACR,IAAI,CAAE;MACdS,IAAI,EAAEC,aAAM;MACZC,OAAO,EAAEA,CAAA,KAAM1C,mBAAmB,CAAE,IAAK,CAAC;MAC1C2C,KAAK,EAAE9B;IACR,CAAE,CAAC;EACJ;EAEA,IAAKD,iBAAiB,IAAII,qBAAqB,EAAG;IACjDuB,QAAQ,CAACR,IAAI,CAAE;MACdS,IAAI,EAAEI,mBAAY;MAClBF,OAAO,EAAEA,CAAA,KAAMvC,wBAAwB,CAAE,IAAK,CAAC;MAC/CwC,KAAK,EAAE7B;IACR,CAAE,CAAC;EACJ;EAEA,IAAKC,gBAAgB,EAAG;IACvBwB,QAAQ,CAACR,IAAI,CAAE;MACdS,IAAI,EAAEK,aAAM;MACZH,OAAO,EAAEA,CAAA,KAAM;QACdhC,qBAAqB,CAACoC,OAAO,CAACC,KAAK,CAAC,CAAC;MACtC,CAAC;MACDJ,KAAK,EAAE,IAAAK,QAAE,EAAE,0BAA2B;IACvC,CAAE,CAAC;EACJ;EAEA,MAAM;IAAEC,WAAW;IAAEC;EAAiB,CAAC,GAAGzD,qBAAqB,CAAC,CAAC;EACjE,IAAK8C,QAAQ,CAACY,MAAM,KAAK,CAAC,EAAG;IAC5B,OAAO,IAAI;EACZ;EACA,oBACC,IAAA/D,WAAA,CAAAgE,IAAA,EAAAhE,WAAA,CAAAiE,QAAA;IAAAC,QAAA,GACGzC,kBAAkB,iBACnB,IAAAzB,WAAA,CAAAmE,GAAA,EAAChF,WAAA,CAAAiF,YAAY;MACZjB,QAAQ,EAAGA,QAAU;MACrBC,IAAI,EAAG,IAAM;MACbiB,WAAW,EAAG;QACbC,OAAO,EAAE,SAAS;QAClBC,WAAW,EAAE,KAAK;QAClBC,qBAAqB,EAAE;MACxB,CAAG;MACHC,IAAI,EAAGhD,kBAAoB;MAC3BiD,KAAK,EAAGjD;IAAoB,CAC5B,CACD,EACCd,gBAAgB,iBACjB,IAAAX,WAAA,CAAAmE,GAAA,EAAC/D,kBAAkB;MAClBuE,OAAO,EAAGA,CAAA,KAAM/D,mBAAmB,CAAE,KAAM,CAAG;MAC9CgE,SAAS,EAAGnC,mBAAqB;MACjCoC,OAAO,EAAG3B;IAAa,CACvB,CACD,EACCpC,qBAAqB,iBACtB,IAAAd,WAAA,CAAAmE,GAAA,EAAC5D,uBAAuB;MACvBuE,UAAU,EAAGA,CAAA,KAAM/D,wBAAwB,CAAE,KAAM,CAAG;MACtDgE,MAAM,EAAG,EAAI;MACbC,QAAQ,EAAGhC,wBAA0B;MACrC6B,OAAO,EAAG3B;IAAa,CACvB,CACD,eAED,IAAAlD,WAAA,CAAAmE,GAAA;MACCc,IAAI,EAAC,MAAM;MACXC,MAAM,EAAC,OAAO;MACdC,MAAM;MACNC,GAAG,EAAG9D,qBAAuB;MAC7B+D,QAAQ,EAAG,MAAQC,KAAK,IAAM;QAC7B,MAAMC,IAAI,GAAGD,KAAK,CAACE,MAAM,CAACC,KAAK,GAAI,CAAC,CAAE;QACtC,IAAK,CAAEF,IAAI,EAAG;UACb;QACD;QACA,IAAI;UACH,MAAM;YACLG,MAAM,EAAE;cAAE5C,QAAQ;cAAE6C;YAAW;UAChC,CAAC,GAAGjF,OAAO,CAACkF,qBAAqB,CAAC,CAAC;UACnC,IAAIC,iBAAiB;UACrB;UACA;UACA,IAAK/C,QAAQ,KAAKN,kCAAuB,EAAG;YAC3C,MAAMsD,eAAe,GAAGjC,WAAW,CACjCkC,MAAM,CAAC,CAAC,CACRC,IAAI,CAAIC,IAAI,IAAMA,IAAI,CAACC,IAAI,KAAKP,UAAW,CAAC;YAC9C,IAAKG,eAAe,EAAG;cACtBD,iBAAiB,GAChBC,eAAe,CAACjD,EAAE,KAChB,MAAMiB,gBAAgB,CACvBgC,eAAe,CAACpB,KACjB,CAAC,CAAE;YACL;UACD;UACA,MAAMhC,OAAO,GAAG,MAAM1B,qBAAqB,CAC1CuE,IAAI,EACJM,iBAAiB,GACd,CAAEA,iBAAiB,CAAE,GACrBM,SACJ,CAAC;;UAED;UACA;UACA;UACA,IACC,CAAEN,iBAAiB,IACnBF,UAAU,KAAK,aAAa,EAC3B;YACDjF,OAAO,CAACiC,IAAI,CAAE;cACbG,QAAQ,EAAEV,wBAAa,CAACC,IAAI;cAC5BsD,UAAU,EAAES;YACb,CAAE,CAAC;UACJ;UAEAjF,mBAAmB,CAClB,IAAAkF,aAAO;UACN;UACA,IAAAzC,QAAE,EAAE,0BAA2B,CAAC,EAChClB,OAAO,CAACa,KAAK,CAAC+C,GACf,CAAC,EACD;YACCrB,IAAI,EAAE,UAAU;YAChBpC,EAAE,EAAE;UACL,CACD,CAAC;QACF,CAAC,CAAC,OAAQ0D,GAAG,EAAG;UACfnF,iBAAiB,CAAEmF,GAAG,CAACC,OAAO,EAAE;YAC/BvB,IAAI,EAAE,UAAU;YAChBpC,EAAE,EAAE;UACL,CAAE,CAAC;QACJ,CAAC,SAAS;UACTyC,KAAK,CAACE,MAAM,CAACiB,KAAK,GAAG,EAAE;QACxB;MACD;IAAG,CACH,CAAC;EAAA,CACD,CAAC;AAEL","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_components","require","_element","_i18n","_icons","_data","_router","_patterns","_notices","_coreData","_editor","_lockUnlock","_constants","_jsxRuntime","useHistory","unlock","routerPrivateApis","CreatePatternModal","useAddPatternCategory","editPatternsPrivateApis","CreateTemplatePartModal","editorPrivateApis","AddNewPattern","history","showPatternModal","setShowPatternModal","useState","showTemplatePartModal","setShowTemplatePartModal","createPatternFromFile","useDispatch","patternsStore","createSuccessNotice","createErrorNotice","noticesStore","patternUploadInputRef","useRef","isBlockBasedTheme","addNewPatternLabel","addNewTemplatePartLabel","canCreatePattern","canCreateTemplatePart","useSelect","select","getCurrentTheme","getPostType","canUser","coreStore","is_block_theme","PATTERN_TYPES","user","labels","add_new_item","TEMPLATE_PART_POST_TYPE","kind","name","handleCreatePattern","pattern","push","postId","id","postType","canvas","handleCreateTemplatePart","templatePart","handleError","controls","icon","symbol","onClick","title","symbolFilled","upload","current","click","__","categoryMap","findOrCreateTerm","length","jsxs","Fragment","children","jsx","DropdownMenu","toggleProps","variant","showTooltip","__next40pxDefaultSize","text","label","onClose","onSuccess","onError","closeModal","blocks","onCreate","type","accept","hidden","ref","onChange","event","file","target","files","params","categoryId","getLocationWithParams","currentCategoryId","currentCategory","values","find","term","undefined","PATTERN_DEFAULT_CATEGORY","sprintf","raw","err","message","value"],"sources":["@wordpress/edit-site/src/components/add-new-pattern/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { DropdownMenu } from '@wordpress/components';\nimport { useState, useRef } from '@wordpress/element';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { symbol, symbolFilled, upload } from '@wordpress/icons';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\nimport {\n\tprivateApis as editPatternsPrivateApis,\n\tstore as patternsStore,\n} from '@wordpress/patterns';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { privateApis as editorPrivateApis } from '@wordpress/editor';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\nimport {\n\tPATTERN_TYPES,\n\tPATTERN_DEFAULT_CATEGORY,\n\tTEMPLATE_PART_POST_TYPE,\n} from '../../utils/constants';\n\nconst { useHistory } = unlock( routerPrivateApis );\nconst { CreatePatternModal, useAddPatternCategory } = unlock(\n\teditPatternsPrivateApis\n);\nconst { CreateTemplatePartModal } = unlock( editorPrivateApis );\n\nexport default function AddNewPattern() {\n\tconst history = useHistory();\n\tconst [ showPatternModal, setShowPatternModal ] = useState( false );\n\tconst [ showTemplatePartModal, setShowTemplatePartModal ] =\n\t\tuseState( false );\n\t// eslint-disable-next-line @wordpress/no-unused-vars-before-return\n\tconst { createPatternFromFile } = unlock( useDispatch( patternsStore ) );\n\tconst { createSuccessNotice, createErrorNotice } =\n\t\tuseDispatch( noticesStore );\n\tconst patternUploadInputRef = useRef();\n\tconst {\n\t\tisBlockBasedTheme,\n\t\taddNewPatternLabel,\n\t\taddNewTemplatePartLabel,\n\t\tcanCreatePattern,\n\t\tcanCreateTemplatePart,\n\t} = useSelect( ( select ) => {\n\t\tconst { getCurrentTheme, getPostType, canUser } = select( coreStore );\n\t\treturn {\n\t\t\tisBlockBasedTheme: getCurrentTheme()?.is_block_theme,\n\t\t\taddNewPatternLabel: getPostType( PATTERN_TYPES.user )?.labels\n\t\t\t\t?.add_new_item,\n\t\t\taddNewTemplatePartLabel: getPostType( TEMPLATE_PART_POST_TYPE )\n\t\t\t\t?.labels?.add_new_item,\n\t\t\t// Blocks refers to the wp_block post type, this checks the ability to create a post of that type.\n\t\t\tcanCreatePattern: canUser( 'create', {\n\t\t\t\tkind: 'postType',\n\t\t\t\tname: PATTERN_TYPES.user,\n\t\t\t} ),\n\t\t\tcanCreateTemplatePart: canUser( 'create', {\n\t\t\t\tkind: 'postType',\n\t\t\t\tname: TEMPLATE_PART_POST_TYPE,\n\t\t\t} ),\n\t\t};\n\t}, [] );\n\n\tfunction handleCreatePattern( { pattern } ) {\n\t\tsetShowPatternModal( false );\n\n\t\thistory.push( {\n\t\t\tpostId: pattern.id,\n\t\t\tpostType: PATTERN_TYPES.user,\n\t\t\tcanvas: 'edit',\n\t\t} );\n\t}\n\n\tfunction handleCreateTemplatePart( templatePart ) {\n\t\tsetShowTemplatePartModal( false );\n\n\t\t// Navigate to the created template part editor.\n\t\thistory.push( {\n\t\t\tpostId: templatePart.id,\n\t\t\tpostType: TEMPLATE_PART_POST_TYPE,\n\t\t\tcanvas: 'edit',\n\t\t} );\n\t}\n\n\tfunction handleError() {\n\t\tsetShowPatternModal( false );\n\t\tsetShowTemplatePartModal( false );\n\t}\n\n\tconst controls = [];\n\tif ( canCreatePattern ) {\n\t\tcontrols.push( {\n\t\t\ticon: symbol,\n\t\t\tonClick: () => setShowPatternModal( true ),\n\t\t\ttitle: addNewPatternLabel,\n\t\t} );\n\t}\n\n\tif ( isBlockBasedTheme && canCreateTemplatePart ) {\n\t\tcontrols.push( {\n\t\t\ticon: symbolFilled,\n\t\t\tonClick: () => setShowTemplatePartModal( true ),\n\t\t\ttitle: addNewTemplatePartLabel,\n\t\t} );\n\t}\n\n\tif ( canCreatePattern ) {\n\t\tcontrols.push( {\n\t\t\ticon: upload,\n\t\t\tonClick: () => {\n\t\t\t\tpatternUploadInputRef.current.click();\n\t\t\t},\n\t\t\ttitle: __( 'Import pattern from JSON' ),\n\t\t} );\n\t}\n\n\tconst { categoryMap, findOrCreateTerm } = useAddPatternCategory();\n\tif ( controls.length === 0 ) {\n\t\treturn null;\n\t}\n\treturn (\n\t\t<>\n\t\t\t{ addNewPatternLabel && (\n\t\t\t\t<DropdownMenu\n\t\t\t\t\tcontrols={ controls }\n\t\t\t\t\ticon={ null }\n\t\t\t\t\ttoggleProps={ {\n\t\t\t\t\t\tvariant: 'primary',\n\t\t\t\t\t\tshowTooltip: false,\n\t\t\t\t\t\t__next40pxDefaultSize: true,\n\t\t\t\t\t} }\n\t\t\t\t\ttext={ addNewPatternLabel }\n\t\t\t\t\tlabel={ addNewPatternLabel }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ showPatternModal && (\n\t\t\t\t<CreatePatternModal\n\t\t\t\t\tonClose={ () => setShowPatternModal( false ) }\n\t\t\t\t\tonSuccess={ handleCreatePattern }\n\t\t\t\t\tonError={ handleError }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ showTemplatePartModal && (\n\t\t\t\t<CreateTemplatePartModal\n\t\t\t\t\tcloseModal={ () => setShowTemplatePartModal( false ) }\n\t\t\t\t\tblocks={ [] }\n\t\t\t\t\tonCreate={ handleCreateTemplatePart }\n\t\t\t\t\tonError={ handleError }\n\t\t\t\t/>\n\t\t\t) }\n\n\t\t\t<input\n\t\t\t\ttype=\"file\"\n\t\t\t\taccept=\".json\"\n\t\t\t\thidden\n\t\t\t\tref={ patternUploadInputRef }\n\t\t\t\tonChange={ async ( event ) => {\n\t\t\t\t\tconst file = event.target.files?.[ 0 ];\n\t\t\t\t\tif ( ! file ) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\ttry {\n\t\t\t\t\t\tconst {\n\t\t\t\t\t\t\tparams: { postType, categoryId },\n\t\t\t\t\t\t} = history.getLocationWithParams();\n\t\t\t\t\t\tlet currentCategoryId;\n\t\t\t\t\t\t// When we're not handling template parts, we should\n\t\t\t\t\t\t// add or create the proper pattern category.\n\t\t\t\t\t\tif ( postType !== TEMPLATE_PART_POST_TYPE ) {\n\t\t\t\t\t\t\tconst currentCategory = categoryMap\n\t\t\t\t\t\t\t\t.values()\n\t\t\t\t\t\t\t\t.find( ( term ) => term.name === categoryId );\n\t\t\t\t\t\t\tif ( currentCategory ) {\n\t\t\t\t\t\t\t\tcurrentCategoryId =\n\t\t\t\t\t\t\t\t\tcurrentCategory.id ||\n\t\t\t\t\t\t\t\t\t( await findOrCreateTerm(\n\t\t\t\t\t\t\t\t\t\tcurrentCategory.label\n\t\t\t\t\t\t\t\t\t) );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tconst pattern = await createPatternFromFile(\n\t\t\t\t\t\t\tfile,\n\t\t\t\t\t\t\tcurrentCategoryId\n\t\t\t\t\t\t\t\t? [ currentCategoryId ]\n\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\t// Navigate to the All patterns category for the newly created pattern\n\t\t\t\t\t\t// if we're not on that page already and if we're not in the `my-patterns`\n\t\t\t\t\t\t// category.\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t! currentCategoryId &&\n\t\t\t\t\t\t\tcategoryId !== 'my-patterns'\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\thistory.push( {\n\t\t\t\t\t\t\t\tpostType: PATTERN_TYPES.user,\n\t\t\t\t\t\t\t\tcategoryId: PATTERN_DEFAULT_CATEGORY,\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tcreateSuccessNotice(\n\t\t\t\t\t\t\tsprintf(\n\t\t\t\t\t\t\t\t// translators: %s: The imported pattern's title.\n\t\t\t\t\t\t\t\t__( 'Imported \"%s\" from JSON.' ),\n\t\t\t\t\t\t\t\tpattern.title.raw\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t\t\t\tid: 'import-pattern-success',\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t);\n\t\t\t\t\t} catch ( err ) {\n\t\t\t\t\t\tcreateErrorNotice( err.message, {\n\t\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t\t\tid: 'import-pattern-error',\n\t\t\t\t\t\t} );\n\t\t\t\t\t} finally {\n\t\t\t\t\t\tevent.target.value = '';\n\t\t\t\t\t}\n\t\t\t\t} }\n\t\t\t/>\n\t\t</>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -11,6 +11,7 @@ var _htmlEntities = require("@wordpress/html-entities");
|
|
|
11
11
|
var _element = require("@wordpress/element");
|
|
12
12
|
var _data = require("@wordpress/data");
|
|
13
13
|
var _coreData = require("@wordpress/core-data");
|
|
14
|
+
var _compose = require("@wordpress/compose");
|
|
14
15
|
var _icons = require("@wordpress/icons");
|
|
15
16
|
var _i18n = require("@wordpress/i18n");
|
|
16
17
|
var _notices = require("@wordpress/notices");
|
|
@@ -120,6 +121,7 @@ function NewTemplateModal({
|
|
|
120
121
|
createErrorNotice,
|
|
121
122
|
createSuccessNotice
|
|
122
123
|
} = (0, _data.useDispatch)(_notices.store);
|
|
124
|
+
const isMobile = (0, _compose.useViewportMatch)('medium', '<');
|
|
123
125
|
const {
|
|
124
126
|
homeUrl
|
|
125
127
|
} = (0, _data.useSelect)(select => {
|
|
@@ -200,7 +202,7 @@ function NewTemplateModal({
|
|
|
200
202
|
onRequestClose: onModalClose,
|
|
201
203
|
overlayClassName: modalContent === modalContentMap.customGenericTemplate ? 'edit-site-custom-generic-template__modal' : undefined,
|
|
202
204
|
children: [modalContent === modalContentMap.templatesList && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.__experimentalGrid, {
|
|
203
|
-
columns: 3,
|
|
205
|
+
columns: isMobile ? 2 : 3,
|
|
204
206
|
gap: 4,
|
|
205
207
|
align: "flex-start",
|
|
206
208
|
justify: "center",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_clsx","_interopRequireDefault","require","_components","_htmlEntities","_element","_data","_coreData","_icons","_i18n","_notices","_router","_constants","_addCustomTemplateModalContent","_utils","_addCustomGenericTemplateModalContent","_lockUnlock","_jsxRuntime","useHistory","unlock","routerPrivateApis","DEFAULT_TEMPLATE_SLUGS","TEMPLATE_ICONS","home","verse","single","pin","page","archive","search","notFound","index","list","category","author","commentAuthorAvatar","taxonomy","blockMeta","date","calendar","tag","attachment","media","TemplateListItem","title","direction","className","description","icon","onClick","children","jsx","Button","label","showTooltip","jsxs","Flex","as","spacing","align","justify","style","width","Icon","__experimentalVStack","alignment","__experimentalText","weight","lineHeight","modalContentMap","templatesList","customTemplate","customGenericTemplate","NewTemplateModal","onClose","modalContent","setModalContent","useState","entityForSuggestions","setEntityForSuggestions","isSubmitting","setIsSubmitting","missingTemplates","useMissingTemplates","history","saveEntityRecord","useDispatch","coreStore","createErrorNotice","createSuccessNotice","noticesStore","homeUrl","useSelect","select","getUnstableBase","TEMPLATE_SHORT_DESCRIPTIONS","sprintf","__","Date","getFullYear","createTemplate","template","isWPSuggestion","slug","newTemplate","TEMPLATE_POST_TYPE","toString","status","is_wp_suggestion","throwOnError","push","postId","id","postType","canvas","decodeEntities","rendered","type","error","errorMessage","message","code","onModalClose","modalTitle","labels","singular_name","Modal","clsx","onRequestClose","overlayClassName","undefined","__experimentalGrid","columns","gap","map","layout","edit","default","onSelect","NewTemplate","showModal","setShowModal","getPostType","Fragment","variant","add_new_item","__next40pxDefaultSize","existingTemplates","useExistingTemplates","defaultTemplateTypes","useDefaultTemplateTypes","existingTemplateSlugs","missingDefaultTemplates","filter","includes","onClickMenuItem","_entityForSuggestions","enhancedMissingDefaultTemplateTypes","defaultTaxonomiesMenuItems","taxonomiesMenuItems","useTaxonomiesMenuItems","defaultPostTypesMenuItems","postTypesMenuItems","usePostTypeMenuItems","authorMenuItem","useAuthorMenuItem","forEach","menuItem","matchIndex","findIndex","sort","template1","template2","indexOf","usePostTypeArchiveMenuItems","_default","exports","memo"],"sources":["@wordpress/edit-site/src/components/add-new-template/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tButton,\n\tModal,\n\t__experimentalGrid as Grid,\n\t__experimentalText as Text,\n\t__experimentalVStack as VStack,\n\tFlex,\n\tIcon,\n} from '@wordpress/components';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { useState, memo } from '@wordpress/element';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport {\n\tarchive,\n\tblockMeta,\n\tcalendar,\n\tcategory,\n\tcommentAuthorAvatar,\n\tedit,\n\thome,\n\tlayout,\n\tlist,\n\tmedia,\n\tnotFound,\n\tpage,\n\tpin,\n\tverse,\n\tsearch,\n\ttag,\n} from '@wordpress/icons';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\n\n/**\n * Internal dependencies\n */\nimport { TEMPLATE_POST_TYPE } from '../../utils/constants';\n\n/**\n * Internal dependencies\n */\nimport AddCustomTemplateModalContent from './add-custom-template-modal-content';\nimport {\n\tuseExistingTemplates,\n\tuseDefaultTemplateTypes,\n\tuseTaxonomiesMenuItems,\n\tusePostTypeMenuItems,\n\tuseAuthorMenuItem,\n\tusePostTypeArchiveMenuItems,\n} from './utils';\nimport AddCustomGenericTemplateModalContent from './add-custom-generic-template-modal-content';\nimport { unlock } from '../../lock-unlock';\n\nconst { useHistory } = unlock( routerPrivateApis );\n\nconst DEFAULT_TEMPLATE_SLUGS = [\n\t'front-page',\n\t'home',\n\t'single',\n\t'page',\n\t'index',\n\t'archive',\n\t'author',\n\t'category',\n\t'date',\n\t'tag',\n\t'search',\n\t'404',\n];\n\nconst TEMPLATE_ICONS = {\n\t'front-page': home,\n\thome: verse,\n\tsingle: pin,\n\tpage,\n\tarchive,\n\tsearch,\n\t404: notFound,\n\tindex: list,\n\tcategory,\n\tauthor: commentAuthorAvatar,\n\ttaxonomy: blockMeta,\n\tdate: calendar,\n\ttag,\n\tattachment: media,\n};\n\nfunction TemplateListItem( {\n\ttitle,\n\tdirection,\n\tclassName,\n\tdescription,\n\ticon,\n\tonClick,\n\tchildren,\n} ) {\n\treturn (\n\t\t<Button\n\t\t\tclassName={ className }\n\t\t\tonClick={ onClick }\n\t\t\tlabel={ description }\n\t\t\tshowTooltip={ !! description }\n\t\t>\n\t\t\t<Flex\n\t\t\t\tas=\"span\"\n\t\t\t\tspacing={ 2 }\n\t\t\t\talign=\"center\"\n\t\t\t\tjustify=\"center\"\n\t\t\t\tstyle={ { width: '100%' } }\n\t\t\t\tdirection={ direction }\n\t\t\t>\n\t\t\t\t<div className=\"edit-site-add-new-template__template-icon\">\n\t\t\t\t\t<Icon icon={ icon } />\n\t\t\t\t</div>\n\t\t\t\t<VStack\n\t\t\t\t\tclassName=\"edit-site-add-new-template__template-name\"\n\t\t\t\t\talignment=\"center\"\n\t\t\t\t\tspacing={ 0 }\n\t\t\t\t>\n\t\t\t\t\t<Text\n\t\t\t\t\t\talign=\"center\"\n\t\t\t\t\t\tweight={ 500 }\n\t\t\t\t\t\tlineHeight={ 1.53846153846 } // 20px\n\t\t\t\t\t>\n\t\t\t\t\t\t{ title }\n\t\t\t\t\t</Text>\n\t\t\t\t\t{ children }\n\t\t\t\t</VStack>\n\t\t\t</Flex>\n\t\t</Button>\n\t);\n}\n\nconst modalContentMap = {\n\ttemplatesList: 1,\n\tcustomTemplate: 2,\n\tcustomGenericTemplate: 3,\n};\n\nfunction NewTemplateModal( { onClose } ) {\n\tconst [ modalContent, setModalContent ] = useState(\n\t\tmodalContentMap.templatesList\n\t);\n\tconst [ entityForSuggestions, setEntityForSuggestions ] = useState( {} );\n\tconst [ isSubmitting, setIsSubmitting ] = useState( false );\n\tconst missingTemplates = useMissingTemplates( setEntityForSuggestions, () =>\n\t\tsetModalContent( modalContentMap.customTemplate )\n\t);\n\tconst history = useHistory();\n\tconst { saveEntityRecord } = useDispatch( coreStore );\n\tconst { createErrorNotice, createSuccessNotice } =\n\t\tuseDispatch( noticesStore );\n\n\tconst { homeUrl } = useSelect( ( select ) => {\n\t\tconst {\n\t\t\tgetUnstableBase, // Site index.\n\t\t} = select( coreStore );\n\n\t\treturn {\n\t\t\thomeUrl: getUnstableBase()?.home,\n\t\t};\n\t}, [] );\n\n\tconst TEMPLATE_SHORT_DESCRIPTIONS = {\n\t\t'front-page': homeUrl,\n\t\tdate: sprintf(\n\t\t\t// translators: %s: The homepage url.\n\t\t\t__( 'E.g. %s' ),\n\t\t\thomeUrl + '/' + new Date().getFullYear()\n\t\t),\n\t};\n\n\tasync function createTemplate( template, isWPSuggestion = true ) {\n\t\tif ( isSubmitting ) {\n\t\t\treturn;\n\t\t}\n\t\tsetIsSubmitting( true );\n\t\ttry {\n\t\t\tconst { title, description, slug } = template;\n\t\t\tconst newTemplate = await saveEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\tTEMPLATE_POST_TYPE,\n\t\t\t\t{\n\t\t\t\t\tdescription,\n\t\t\t\t\t// Slugs need to be strings, so this is for template `404`\n\t\t\t\t\tslug: slug.toString(),\n\t\t\t\t\tstatus: 'publish',\n\t\t\t\t\ttitle,\n\t\t\t\t\t// This adds a post meta field in template that is part of `is_custom` value calculation.\n\t\t\t\t\tis_wp_suggestion: isWPSuggestion,\n\t\t\t\t},\n\t\t\t\t{ throwOnError: true }\n\t\t\t);\n\n\t\t\t// Navigate to the created template editor.\n\t\t\thistory.push( {\n\t\t\t\tpostId: newTemplate.id,\n\t\t\t\tpostType: TEMPLATE_POST_TYPE,\n\t\t\t\tcanvas: 'edit',\n\t\t\t} );\n\n\t\t\tcreateSuccessNotice(\n\t\t\t\tsprintf(\n\t\t\t\t\t// translators: %s: Title of the created template e.g: \"Category\".\n\t\t\t\t\t__( '\"%s\" successfully created.' ),\n\t\t\t\t\tdecodeEntities( newTemplate.title?.rendered || title )\n\t\t\t\t),\n\t\t\t\t{\n\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t}\n\t\t\t);\n\t\t} catch ( error ) {\n\t\t\tconst errorMessage =\n\t\t\t\terror.message && error.code !== 'unknown_error'\n\t\t\t\t\t? error.message\n\t\t\t\t\t: __( 'An error occurred while creating the template.' );\n\n\t\t\tcreateErrorNotice( errorMessage, {\n\t\t\t\ttype: 'snackbar',\n\t\t\t} );\n\t\t} finally {\n\t\t\tsetIsSubmitting( false );\n\t\t}\n\t}\n\tconst onModalClose = () => {\n\t\tonClose();\n\t\tsetModalContent( modalContentMap.templatesList );\n\t};\n\n\tlet modalTitle = __( 'Add template' );\n\tif ( modalContent === modalContentMap.customTemplate ) {\n\t\tmodalTitle = sprintf(\n\t\t\t// translators: %s: Name of the post type e.g: \"Post\".\n\t\t\t__( 'Add template: %s' ),\n\t\t\tentityForSuggestions.labels.singular_name\n\t\t);\n\t} else if ( modalContent === modalContentMap.customGenericTemplate ) {\n\t\tmodalTitle = __( 'Create custom template' );\n\t}\n\n\treturn (\n\t\t<Modal\n\t\t\ttitle={ modalTitle }\n\t\t\tclassName={ clsx( 'edit-site-add-new-template__modal', {\n\t\t\t\t'edit-site-add-new-template__modal_template_list':\n\t\t\t\t\tmodalContent === modalContentMap.templatesList,\n\t\t\t\t'edit-site-custom-template-modal':\n\t\t\t\t\tmodalContent === modalContentMap.customTemplate,\n\t\t\t} ) }\n\t\t\tonRequestClose={ onModalClose }\n\t\t\toverlayClassName={\n\t\t\t\tmodalContent === modalContentMap.customGenericTemplate\n\t\t\t\t\t? 'edit-site-custom-generic-template__modal'\n\t\t\t\t\t: undefined\n\t\t\t}\n\t\t>\n\t\t\t{ modalContent === modalContentMap.templatesList && (\n\t\t\t\t<Grid\n\t\t\t\t\tcolumns={ 3 }\n\t\t\t\t\tgap={ 4 }\n\t\t\t\t\talign=\"flex-start\"\n\t\t\t\t\tjustify=\"center\"\n\t\t\t\t\tclassName=\"edit-site-add-new-template__template-list__contents\"\n\t\t\t\t>\n\t\t\t\t\t<Flex className=\"edit-site-add-new-template__template-list__prompt\">\n\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t'Select what the new template should apply to:'\n\t\t\t\t\t\t) }\n\t\t\t\t\t</Flex>\n\t\t\t\t\t{ missingTemplates.map( ( template ) => {\n\t\t\t\t\t\tconst { title, slug, onClick } = template;\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<TemplateListItem\n\t\t\t\t\t\t\t\tkey={ slug }\n\t\t\t\t\t\t\t\ttitle={ title }\n\t\t\t\t\t\t\t\tdirection=\"column\"\n\t\t\t\t\t\t\t\tclassName=\"edit-site-add-new-template__template-button\"\n\t\t\t\t\t\t\t\tdescription={\n\t\t\t\t\t\t\t\t\tTEMPLATE_SHORT_DESCRIPTIONS[ slug ]\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\ticon={ TEMPLATE_ICONS[ slug ] || layout }\n\t\t\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\t\t\tonClick\n\t\t\t\t\t\t\t\t\t\t? onClick( template )\n\t\t\t\t\t\t\t\t\t\t: createTemplate( template )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t);\n\t\t\t\t\t} ) }\n\t\t\t\t\t<TemplateListItem\n\t\t\t\t\t\ttitle={ __( 'Custom template' ) }\n\t\t\t\t\t\tdirection=\"row\"\n\t\t\t\t\t\tclassName=\"edit-site-add-new-template__custom-template-button\"\n\t\t\t\t\t\ticon={ edit }\n\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\tsetModalContent(\n\t\t\t\t\t\t\t\tmodalContentMap.customGenericTemplate\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t<Text\n\t\t\t\t\t\t\tlineHeight={ 1.53846153846 } // 20px\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t'A custom template can be manually applied to any post or page.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</Text>\n\t\t\t\t\t</TemplateListItem>\n\t\t\t\t</Grid>\n\t\t\t) }\n\t\t\t{ modalContent === modalContentMap.customTemplate && (\n\t\t\t\t<AddCustomTemplateModalContent\n\t\t\t\t\tonSelect={ createTemplate }\n\t\t\t\t\tentityForSuggestions={ entityForSuggestions }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ modalContent === modalContentMap.customGenericTemplate && (\n\t\t\t\t<AddCustomGenericTemplateModalContent\n\t\t\t\t\tonClose={ onModalClose }\n\t\t\t\t\tcreateTemplate={ createTemplate }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</Modal>\n\t);\n}\n\nfunction NewTemplate() {\n\tconst [ showModal, setShowModal ] = useState( false );\n\n\tconst { postType } = useSelect( ( select ) => {\n\t\tconst { getPostType } = select( coreStore );\n\n\t\treturn {\n\t\t\tpostType: getPostType( TEMPLATE_POST_TYPE ),\n\t\t};\n\t}, [] );\n\n\tif ( ! postType ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<Button\n\t\t\t\tvariant=\"primary\"\n\t\t\t\tonClick={ () => setShowModal( true ) }\n\t\t\t\tlabel={ postType.labels.add_new_item }\n\t\t\t\t__next40pxDefaultSize\n\t\t\t>\n\t\t\t\t{ postType.labels.add_new_item }\n\t\t\t</Button>\n\t\t\t{ showModal && (\n\t\t\t\t<NewTemplateModal onClose={ () => setShowModal( false ) } />\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nfunction useMissingTemplates( setEntityForSuggestions, onClick ) {\n\tconst existingTemplates = useExistingTemplates();\n\tconst defaultTemplateTypes = useDefaultTemplateTypes();\n\tconst existingTemplateSlugs = ( existingTemplates || [] ).map(\n\t\t( { slug } ) => slug\n\t);\n\tconst missingDefaultTemplates = ( defaultTemplateTypes || [] ).filter(\n\t\t( template ) =>\n\t\t\tDEFAULT_TEMPLATE_SLUGS.includes( template.slug ) &&\n\t\t\t! existingTemplateSlugs.includes( template.slug )\n\t);\n\tconst onClickMenuItem = ( _entityForSuggestions ) => {\n\t\tonClick?.();\n\t\tsetEntityForSuggestions( _entityForSuggestions );\n\t};\n\t// We need to replace existing default template types with\n\t// the create specific template functionality. The original\n\t// info (title, description, etc.) is preserved in the\n\t// used hooks.\n\tconst enhancedMissingDefaultTemplateTypes = [ ...missingDefaultTemplates ];\n\tconst { defaultTaxonomiesMenuItems, taxonomiesMenuItems } =\n\t\tuseTaxonomiesMenuItems( onClickMenuItem );\n\tconst { defaultPostTypesMenuItems, postTypesMenuItems } =\n\t\tusePostTypeMenuItems( onClickMenuItem );\n\n\tconst authorMenuItem = useAuthorMenuItem( onClickMenuItem );\n\t[\n\t\t...defaultTaxonomiesMenuItems,\n\t\t...defaultPostTypesMenuItems,\n\t\tauthorMenuItem,\n\t].forEach( ( menuItem ) => {\n\t\tif ( ! menuItem ) {\n\t\t\treturn;\n\t\t}\n\t\tconst matchIndex = enhancedMissingDefaultTemplateTypes.findIndex(\n\t\t\t( template ) => template.slug === menuItem.slug\n\t\t);\n\t\t// Some default template types might have been filtered above from\n\t\t// `missingDefaultTemplates` because they only check for the general\n\t\t// template. So here we either replace or append the item, augmented\n\t\t// with the check if it has available specific item to create a\n\t\t// template for.\n\t\tif ( matchIndex > -1 ) {\n\t\t\tenhancedMissingDefaultTemplateTypes[ matchIndex ] = menuItem;\n\t\t} else {\n\t\t\tenhancedMissingDefaultTemplateTypes.push( menuItem );\n\t\t}\n\t} );\n\t// Update the sort order to match the DEFAULT_TEMPLATE_SLUGS order.\n\tenhancedMissingDefaultTemplateTypes?.sort( ( template1, template2 ) => {\n\t\treturn (\n\t\t\tDEFAULT_TEMPLATE_SLUGS.indexOf( template1.slug ) -\n\t\t\tDEFAULT_TEMPLATE_SLUGS.indexOf( template2.slug )\n\t\t);\n\t} );\n\tconst missingTemplates = [\n\t\t...enhancedMissingDefaultTemplateTypes,\n\t\t...usePostTypeArchiveMenuItems(),\n\t\t...postTypesMenuItems,\n\t\t...taxonomiesMenuItems,\n\t];\n\treturn missingTemplates;\n}\n\nexport default memo( NewTemplate );\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_clsx","_interopRequireDefault","require","_components","_htmlEntities","_element","_data","_coreData","_compose","_icons","_i18n","_notices","_router","_constants","_addCustomTemplateModalContent","_utils","_addCustomGenericTemplateModalContent","_lockUnlock","_jsxRuntime","useHistory","unlock","routerPrivateApis","DEFAULT_TEMPLATE_SLUGS","TEMPLATE_ICONS","home","verse","single","pin","page","archive","search","notFound","index","list","category","author","commentAuthorAvatar","taxonomy","blockMeta","date","calendar","tag","attachment","media","TemplateListItem","title","direction","className","description","icon","onClick","children","jsx","Button","label","showTooltip","jsxs","Flex","as","spacing","align","justify","style","width","Icon","__experimentalVStack","alignment","__experimentalText","weight","lineHeight","modalContentMap","templatesList","customTemplate","customGenericTemplate","NewTemplateModal","onClose","modalContent","setModalContent","useState","entityForSuggestions","setEntityForSuggestions","isSubmitting","setIsSubmitting","missingTemplates","useMissingTemplates","history","saveEntityRecord","useDispatch","coreStore","createErrorNotice","createSuccessNotice","noticesStore","isMobile","useViewportMatch","homeUrl","useSelect","select","getUnstableBase","TEMPLATE_SHORT_DESCRIPTIONS","sprintf","__","Date","getFullYear","createTemplate","template","isWPSuggestion","slug","newTemplate","TEMPLATE_POST_TYPE","toString","status","is_wp_suggestion","throwOnError","push","postId","id","postType","canvas","decodeEntities","rendered","type","error","errorMessage","message","code","onModalClose","modalTitle","labels","singular_name","Modal","clsx","onRequestClose","overlayClassName","undefined","__experimentalGrid","columns","gap","map","layout","edit","default","onSelect","NewTemplate","showModal","setShowModal","getPostType","Fragment","variant","add_new_item","__next40pxDefaultSize","existingTemplates","useExistingTemplates","defaultTemplateTypes","useDefaultTemplateTypes","existingTemplateSlugs","missingDefaultTemplates","filter","includes","onClickMenuItem","_entityForSuggestions","enhancedMissingDefaultTemplateTypes","defaultTaxonomiesMenuItems","taxonomiesMenuItems","useTaxonomiesMenuItems","defaultPostTypesMenuItems","postTypesMenuItems","usePostTypeMenuItems","authorMenuItem","useAuthorMenuItem","forEach","menuItem","matchIndex","findIndex","sort","template1","template2","indexOf","usePostTypeArchiveMenuItems","_default","exports","memo"],"sources":["@wordpress/edit-site/src/components/add-new-template/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tButton,\n\tModal,\n\t__experimentalGrid as Grid,\n\t__experimentalText as Text,\n\t__experimentalVStack as VStack,\n\tFlex,\n\tIcon,\n} from '@wordpress/components';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { useState, memo } from '@wordpress/element';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useViewportMatch } from '@wordpress/compose';\nimport {\n\tarchive,\n\tblockMeta,\n\tcalendar,\n\tcategory,\n\tcommentAuthorAvatar,\n\tedit,\n\thome,\n\tlayout,\n\tlist,\n\tmedia,\n\tnotFound,\n\tpage,\n\tpin,\n\tverse,\n\tsearch,\n\ttag,\n} from '@wordpress/icons';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\n\n/**\n * Internal dependencies\n */\nimport { TEMPLATE_POST_TYPE } from '../../utils/constants';\n\n/**\n * Internal dependencies\n */\nimport AddCustomTemplateModalContent from './add-custom-template-modal-content';\nimport {\n\tuseExistingTemplates,\n\tuseDefaultTemplateTypes,\n\tuseTaxonomiesMenuItems,\n\tusePostTypeMenuItems,\n\tuseAuthorMenuItem,\n\tusePostTypeArchiveMenuItems,\n} from './utils';\nimport AddCustomGenericTemplateModalContent from './add-custom-generic-template-modal-content';\nimport { unlock } from '../../lock-unlock';\n\nconst { useHistory } = unlock( routerPrivateApis );\n\nconst DEFAULT_TEMPLATE_SLUGS = [\n\t'front-page',\n\t'home',\n\t'single',\n\t'page',\n\t'index',\n\t'archive',\n\t'author',\n\t'category',\n\t'date',\n\t'tag',\n\t'search',\n\t'404',\n];\n\nconst TEMPLATE_ICONS = {\n\t'front-page': home,\n\thome: verse,\n\tsingle: pin,\n\tpage,\n\tarchive,\n\tsearch,\n\t404: notFound,\n\tindex: list,\n\tcategory,\n\tauthor: commentAuthorAvatar,\n\ttaxonomy: blockMeta,\n\tdate: calendar,\n\ttag,\n\tattachment: media,\n};\n\nfunction TemplateListItem( {\n\ttitle,\n\tdirection,\n\tclassName,\n\tdescription,\n\ticon,\n\tonClick,\n\tchildren,\n} ) {\n\treturn (\n\t\t<Button\n\t\t\tclassName={ className }\n\t\t\tonClick={ onClick }\n\t\t\tlabel={ description }\n\t\t\tshowTooltip={ !! description }\n\t\t>\n\t\t\t<Flex\n\t\t\t\tas=\"span\"\n\t\t\t\tspacing={ 2 }\n\t\t\t\talign=\"center\"\n\t\t\t\tjustify=\"center\"\n\t\t\t\tstyle={ { width: '100%' } }\n\t\t\t\tdirection={ direction }\n\t\t\t>\n\t\t\t\t<div className=\"edit-site-add-new-template__template-icon\">\n\t\t\t\t\t<Icon icon={ icon } />\n\t\t\t\t</div>\n\t\t\t\t<VStack\n\t\t\t\t\tclassName=\"edit-site-add-new-template__template-name\"\n\t\t\t\t\talignment=\"center\"\n\t\t\t\t\tspacing={ 0 }\n\t\t\t\t>\n\t\t\t\t\t<Text\n\t\t\t\t\t\talign=\"center\"\n\t\t\t\t\t\tweight={ 500 }\n\t\t\t\t\t\tlineHeight={ 1.53846153846 } // 20px\n\t\t\t\t\t>\n\t\t\t\t\t\t{ title }\n\t\t\t\t\t</Text>\n\t\t\t\t\t{ children }\n\t\t\t\t</VStack>\n\t\t\t</Flex>\n\t\t</Button>\n\t);\n}\n\nconst modalContentMap = {\n\ttemplatesList: 1,\n\tcustomTemplate: 2,\n\tcustomGenericTemplate: 3,\n};\n\nfunction NewTemplateModal( { onClose } ) {\n\tconst [ modalContent, setModalContent ] = useState(\n\t\tmodalContentMap.templatesList\n\t);\n\tconst [ entityForSuggestions, setEntityForSuggestions ] = useState( {} );\n\tconst [ isSubmitting, setIsSubmitting ] = useState( false );\n\tconst missingTemplates = useMissingTemplates( setEntityForSuggestions, () =>\n\t\tsetModalContent( modalContentMap.customTemplate )\n\t);\n\tconst history = useHistory();\n\tconst { saveEntityRecord } = useDispatch( coreStore );\n\tconst { createErrorNotice, createSuccessNotice } =\n\t\tuseDispatch( noticesStore );\n\n\tconst isMobile = useViewportMatch( 'medium', '<' );\n\n\tconst { homeUrl } = useSelect( ( select ) => {\n\t\tconst {\n\t\t\tgetUnstableBase, // Site index.\n\t\t} = select( coreStore );\n\n\t\treturn {\n\t\t\thomeUrl: getUnstableBase()?.home,\n\t\t};\n\t}, [] );\n\n\tconst TEMPLATE_SHORT_DESCRIPTIONS = {\n\t\t'front-page': homeUrl,\n\t\tdate: sprintf(\n\t\t\t// translators: %s: The homepage url.\n\t\t\t__( 'E.g. %s' ),\n\t\t\thomeUrl + '/' + new Date().getFullYear()\n\t\t),\n\t};\n\n\tasync function createTemplate( template, isWPSuggestion = true ) {\n\t\tif ( isSubmitting ) {\n\t\t\treturn;\n\t\t}\n\t\tsetIsSubmitting( true );\n\t\ttry {\n\t\t\tconst { title, description, slug } = template;\n\t\t\tconst newTemplate = await saveEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\tTEMPLATE_POST_TYPE,\n\t\t\t\t{\n\t\t\t\t\tdescription,\n\t\t\t\t\t// Slugs need to be strings, so this is for template `404`\n\t\t\t\t\tslug: slug.toString(),\n\t\t\t\t\tstatus: 'publish',\n\t\t\t\t\ttitle,\n\t\t\t\t\t// This adds a post meta field in template that is part of `is_custom` value calculation.\n\t\t\t\t\tis_wp_suggestion: isWPSuggestion,\n\t\t\t\t},\n\t\t\t\t{ throwOnError: true }\n\t\t\t);\n\n\t\t\t// Navigate to the created template editor.\n\t\t\thistory.push( {\n\t\t\t\tpostId: newTemplate.id,\n\t\t\t\tpostType: TEMPLATE_POST_TYPE,\n\t\t\t\tcanvas: 'edit',\n\t\t\t} );\n\n\t\t\tcreateSuccessNotice(\n\t\t\t\tsprintf(\n\t\t\t\t\t// translators: %s: Title of the created template e.g: \"Category\".\n\t\t\t\t\t__( '\"%s\" successfully created.' ),\n\t\t\t\t\tdecodeEntities( newTemplate.title?.rendered || title )\n\t\t\t\t),\n\t\t\t\t{\n\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t}\n\t\t\t);\n\t\t} catch ( error ) {\n\t\t\tconst errorMessage =\n\t\t\t\terror.message && error.code !== 'unknown_error'\n\t\t\t\t\t? error.message\n\t\t\t\t\t: __( 'An error occurred while creating the template.' );\n\n\t\t\tcreateErrorNotice( errorMessage, {\n\t\t\t\ttype: 'snackbar',\n\t\t\t} );\n\t\t} finally {\n\t\t\tsetIsSubmitting( false );\n\t\t}\n\t}\n\tconst onModalClose = () => {\n\t\tonClose();\n\t\tsetModalContent( modalContentMap.templatesList );\n\t};\n\n\tlet modalTitle = __( 'Add template' );\n\tif ( modalContent === modalContentMap.customTemplate ) {\n\t\tmodalTitle = sprintf(\n\t\t\t// translators: %s: Name of the post type e.g: \"Post\".\n\t\t\t__( 'Add template: %s' ),\n\t\t\tentityForSuggestions.labels.singular_name\n\t\t);\n\t} else if ( modalContent === modalContentMap.customGenericTemplate ) {\n\t\tmodalTitle = __( 'Create custom template' );\n\t}\n\n\treturn (\n\t\t<Modal\n\t\t\ttitle={ modalTitle }\n\t\t\tclassName={ clsx( 'edit-site-add-new-template__modal', {\n\t\t\t\t'edit-site-add-new-template__modal_template_list':\n\t\t\t\t\tmodalContent === modalContentMap.templatesList,\n\t\t\t\t'edit-site-custom-template-modal':\n\t\t\t\t\tmodalContent === modalContentMap.customTemplate,\n\t\t\t} ) }\n\t\t\tonRequestClose={ onModalClose }\n\t\t\toverlayClassName={\n\t\t\t\tmodalContent === modalContentMap.customGenericTemplate\n\t\t\t\t\t? 'edit-site-custom-generic-template__modal'\n\t\t\t\t\t: undefined\n\t\t\t}\n\t\t>\n\t\t\t{ modalContent === modalContentMap.templatesList && (\n\t\t\t\t<Grid\n\t\t\t\t\tcolumns={ isMobile ? 2 : 3 }\n\t\t\t\t\tgap={ 4 }\n\t\t\t\t\talign=\"flex-start\"\n\t\t\t\t\tjustify=\"center\"\n\t\t\t\t\tclassName=\"edit-site-add-new-template__template-list__contents\"\n\t\t\t\t>\n\t\t\t\t\t<Flex className=\"edit-site-add-new-template__template-list__prompt\">\n\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t'Select what the new template should apply to:'\n\t\t\t\t\t\t) }\n\t\t\t\t\t</Flex>\n\t\t\t\t\t{ missingTemplates.map( ( template ) => {\n\t\t\t\t\t\tconst { title, slug, onClick } = template;\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<TemplateListItem\n\t\t\t\t\t\t\t\tkey={ slug }\n\t\t\t\t\t\t\t\ttitle={ title }\n\t\t\t\t\t\t\t\tdirection=\"column\"\n\t\t\t\t\t\t\t\tclassName=\"edit-site-add-new-template__template-button\"\n\t\t\t\t\t\t\t\tdescription={\n\t\t\t\t\t\t\t\t\tTEMPLATE_SHORT_DESCRIPTIONS[ slug ]\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\ticon={ TEMPLATE_ICONS[ slug ] || layout }\n\t\t\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\t\t\tonClick\n\t\t\t\t\t\t\t\t\t\t? onClick( template )\n\t\t\t\t\t\t\t\t\t\t: createTemplate( template )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t);\n\t\t\t\t\t} ) }\n\t\t\t\t\t<TemplateListItem\n\t\t\t\t\t\ttitle={ __( 'Custom template' ) }\n\t\t\t\t\t\tdirection=\"row\"\n\t\t\t\t\t\tclassName=\"edit-site-add-new-template__custom-template-button\"\n\t\t\t\t\t\ticon={ edit }\n\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\tsetModalContent(\n\t\t\t\t\t\t\t\tmodalContentMap.customGenericTemplate\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t<Text\n\t\t\t\t\t\t\tlineHeight={ 1.53846153846 } // 20px\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t'A custom template can be manually applied to any post or page.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</Text>\n\t\t\t\t\t</TemplateListItem>\n\t\t\t\t</Grid>\n\t\t\t) }\n\t\t\t{ modalContent === modalContentMap.customTemplate && (\n\t\t\t\t<AddCustomTemplateModalContent\n\t\t\t\t\tonSelect={ createTemplate }\n\t\t\t\t\tentityForSuggestions={ entityForSuggestions }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ modalContent === modalContentMap.customGenericTemplate && (\n\t\t\t\t<AddCustomGenericTemplateModalContent\n\t\t\t\t\tonClose={ onModalClose }\n\t\t\t\t\tcreateTemplate={ createTemplate }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</Modal>\n\t);\n}\n\nfunction NewTemplate() {\n\tconst [ showModal, setShowModal ] = useState( false );\n\n\tconst { postType } = useSelect( ( select ) => {\n\t\tconst { getPostType } = select( coreStore );\n\n\t\treturn {\n\t\t\tpostType: getPostType( TEMPLATE_POST_TYPE ),\n\t\t};\n\t}, [] );\n\n\tif ( ! postType ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<Button\n\t\t\t\tvariant=\"primary\"\n\t\t\t\tonClick={ () => setShowModal( true ) }\n\t\t\t\tlabel={ postType.labels.add_new_item }\n\t\t\t\t__next40pxDefaultSize\n\t\t\t>\n\t\t\t\t{ postType.labels.add_new_item }\n\t\t\t</Button>\n\t\t\t{ showModal && (\n\t\t\t\t<NewTemplateModal onClose={ () => setShowModal( false ) } />\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nfunction useMissingTemplates( setEntityForSuggestions, onClick ) {\n\tconst existingTemplates = useExistingTemplates();\n\tconst defaultTemplateTypes = useDefaultTemplateTypes();\n\tconst existingTemplateSlugs = ( existingTemplates || [] ).map(\n\t\t( { slug } ) => slug\n\t);\n\tconst missingDefaultTemplates = ( defaultTemplateTypes || [] ).filter(\n\t\t( template ) =>\n\t\t\tDEFAULT_TEMPLATE_SLUGS.includes( template.slug ) &&\n\t\t\t! existingTemplateSlugs.includes( template.slug )\n\t);\n\tconst onClickMenuItem = ( _entityForSuggestions ) => {\n\t\tonClick?.();\n\t\tsetEntityForSuggestions( _entityForSuggestions );\n\t};\n\t// We need to replace existing default template types with\n\t// the create specific template functionality. The original\n\t// info (title, description, etc.) is preserved in the\n\t// used hooks.\n\tconst enhancedMissingDefaultTemplateTypes = [ ...missingDefaultTemplates ];\n\tconst { defaultTaxonomiesMenuItems, taxonomiesMenuItems } =\n\t\tuseTaxonomiesMenuItems( onClickMenuItem );\n\tconst { defaultPostTypesMenuItems, postTypesMenuItems } =\n\t\tusePostTypeMenuItems( onClickMenuItem );\n\n\tconst authorMenuItem = useAuthorMenuItem( onClickMenuItem );\n\t[\n\t\t...defaultTaxonomiesMenuItems,\n\t\t...defaultPostTypesMenuItems,\n\t\tauthorMenuItem,\n\t].forEach( ( menuItem ) => {\n\t\tif ( ! menuItem ) {\n\t\t\treturn;\n\t\t}\n\t\tconst matchIndex = enhancedMissingDefaultTemplateTypes.findIndex(\n\t\t\t( template ) => template.slug === menuItem.slug\n\t\t);\n\t\t// Some default template types might have been filtered above from\n\t\t// `missingDefaultTemplates` because they only check for the general\n\t\t// template. So here we either replace or append the item, augmented\n\t\t// with the check if it has available specific item to create a\n\t\t// template for.\n\t\tif ( matchIndex > -1 ) {\n\t\t\tenhancedMissingDefaultTemplateTypes[ matchIndex ] = menuItem;\n\t\t} else {\n\t\t\tenhancedMissingDefaultTemplateTypes.push( menuItem );\n\t\t}\n\t} );\n\t// Update the sort order to match the DEFAULT_TEMPLATE_SLUGS order.\n\tenhancedMissingDefaultTemplateTypes?.sort( ( template1, template2 ) => {\n\t\treturn (\n\t\t\tDEFAULT_TEMPLATE_SLUGS.indexOf( template1.slug ) -\n\t\t\tDEFAULT_TEMPLATE_SLUGS.indexOf( template2.slug )\n\t\t);\n\t} );\n\tconst missingTemplates = [\n\t\t...enhancedMissingDefaultTemplateTypes,\n\t\t...usePostTypeArchiveMenuItems(),\n\t\t...postTypesMenuItems,\n\t\t...taxonomiesMenuItems,\n\t];\n\treturn missingTemplates;\n}\n\nexport default memo( NewTemplate );\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -8,7 +8,6 @@ exports.default = useSiteEditorSettings;
|
|
|
8
8
|
exports.useSpecificEditorSettings = useSpecificEditorSettings;
|
|
9
9
|
var _data = require("@wordpress/data");
|
|
10
10
|
var _element = require("@wordpress/element");
|
|
11
|
-
var _coreData = require("@wordpress/core-data");
|
|
12
11
|
var _editor = require("@wordpress/editor");
|
|
13
12
|
var _router = require("@wordpress/router");
|
|
14
13
|
var _compose = require("@wordpress/compose");
|
|
@@ -31,72 +30,6 @@ const {
|
|
|
31
30
|
useLocation,
|
|
32
31
|
useHistory
|
|
33
32
|
} = (0, _lockUnlock.unlock)(_router.privateApis);
|
|
34
|
-
function useArchiveLabel(templateSlug) {
|
|
35
|
-
const taxonomyMatches = templateSlug?.match(/^(category|tag|taxonomy-([^-]+))$|^(((category|tag)|taxonomy-([^-]+))-(.+))$/);
|
|
36
|
-
let taxonomy;
|
|
37
|
-
let term;
|
|
38
|
-
let isAuthor = false;
|
|
39
|
-
let authorSlug;
|
|
40
|
-
if (taxonomyMatches) {
|
|
41
|
-
// If is for a all taxonomies of a type
|
|
42
|
-
if (taxonomyMatches[1]) {
|
|
43
|
-
taxonomy = taxonomyMatches[2] ? taxonomyMatches[2] : taxonomyMatches[1];
|
|
44
|
-
}
|
|
45
|
-
// If is for a all taxonomies of a type
|
|
46
|
-
else if (taxonomyMatches[3]) {
|
|
47
|
-
taxonomy = taxonomyMatches[6] ? taxonomyMatches[6] : taxonomyMatches[4];
|
|
48
|
-
term = taxonomyMatches[7];
|
|
49
|
-
}
|
|
50
|
-
taxonomy = taxonomy === 'tag' ? 'post_tag' : taxonomy;
|
|
51
|
-
|
|
52
|
-
//getTaxonomy( 'category' );
|
|
53
|
-
//wp.data.select('core').getEntityRecords( 'taxonomy', 'category', {slug: 'newcat'} );
|
|
54
|
-
} else {
|
|
55
|
-
const authorMatches = templateSlug?.match(/^(author)$|^author-(.+)$/);
|
|
56
|
-
if (authorMatches) {
|
|
57
|
-
isAuthor = true;
|
|
58
|
-
if (authorMatches[2]) {
|
|
59
|
-
authorSlug = authorMatches[2];
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
return (0, _data.useSelect)(select => {
|
|
64
|
-
const {
|
|
65
|
-
getEntityRecords,
|
|
66
|
-
getTaxonomy,
|
|
67
|
-
getAuthors
|
|
68
|
-
} = select(_coreData.store);
|
|
69
|
-
let archiveTypeLabel;
|
|
70
|
-
let archiveNameLabel;
|
|
71
|
-
if (taxonomy) {
|
|
72
|
-
archiveTypeLabel = getTaxonomy(taxonomy)?.labels?.singular_name;
|
|
73
|
-
}
|
|
74
|
-
if (term) {
|
|
75
|
-
const records = getEntityRecords('taxonomy', taxonomy, {
|
|
76
|
-
slug: term,
|
|
77
|
-
per_page: 1
|
|
78
|
-
});
|
|
79
|
-
if (records && records[0]) {
|
|
80
|
-
archiveNameLabel = records[0].name;
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
if (isAuthor) {
|
|
84
|
-
archiveTypeLabel = 'Author';
|
|
85
|
-
if (authorSlug) {
|
|
86
|
-
const authorRecords = getAuthors({
|
|
87
|
-
slug: authorSlug
|
|
88
|
-
});
|
|
89
|
-
if (authorRecords && authorRecords[0]) {
|
|
90
|
-
archiveNameLabel = authorRecords[0].name;
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
return {
|
|
95
|
-
archiveTypeLabel,
|
|
96
|
-
archiveNameLabel
|
|
97
|
-
};
|
|
98
|
-
}, [authorSlug, isAuthor, taxonomy, term]);
|
|
99
|
-
}
|
|
100
33
|
function useNavigateToPreviousEntityRecord() {
|
|
101
34
|
const location = useLocation();
|
|
102
35
|
const previousLocation = (0, _compose.usePrevious)(location);
|
|
@@ -116,27 +49,17 @@ function useNavigateToPreviousEntityRecord() {
|
|
|
116
49
|
function useSpecificEditorSettings() {
|
|
117
50
|
const onNavigateToEntityRecord = (0, _useNavigateToEntityRecord.default)();
|
|
118
51
|
const {
|
|
119
|
-
templateSlug,
|
|
120
52
|
canvasMode,
|
|
121
53
|
settings,
|
|
122
54
|
shouldUseTemplateAsDefaultRenderingMode
|
|
123
55
|
} = (0, _data.useSelect)(select => {
|
|
124
56
|
const {
|
|
125
|
-
getEditedPostType,
|
|
126
|
-
getEditedPostId,
|
|
127
57
|
getEditedPostContext,
|
|
128
58
|
getCanvasMode,
|
|
129
59
|
getSettings
|
|
130
60
|
} = (0, _lockUnlock.unlock)(select(_store.store));
|
|
131
|
-
const {
|
|
132
|
-
getEditedEntityRecord
|
|
133
|
-
} = select(_coreData.store);
|
|
134
|
-
const usedPostType = getEditedPostType();
|
|
135
|
-
const usedPostId = getEditedPostId();
|
|
136
|
-
const _record = getEditedEntityRecord('postType', usedPostType, usedPostId);
|
|
137
61
|
const _context = getEditedPostContext();
|
|
138
62
|
return {
|
|
139
|
-
templateSlug: _record.slug,
|
|
140
63
|
canvasMode: getCanvasMode(),
|
|
141
64
|
settings: getSettings(),
|
|
142
65
|
// TODO: The `postType` check should be removed when the default rendering mode per post type is merged.
|
|
@@ -144,7 +67,6 @@ function useSpecificEditorSettings() {
|
|
|
144
67
|
shouldUseTemplateAsDefaultRenderingMode: _context?.postId && _context?.postType !== 'post'
|
|
145
68
|
};
|
|
146
69
|
}, []);
|
|
147
|
-
const archiveLabels = useArchiveLabel(templateSlug);
|
|
148
70
|
const defaultRenderingMode = shouldUseTemplateAsDefaultRenderingMode ? 'template-locked' : 'post-only';
|
|
149
71
|
const onNavigateToPreviousEntityRecord = useNavigateToPreviousEntityRecord();
|
|
150
72
|
const defaultEditorSettings = (0, _element.useMemo)(() => {
|
|
@@ -156,12 +78,9 @@ function useSpecificEditorSettings() {
|
|
|
156
78
|
defaultRenderingMode,
|
|
157
79
|
onNavigateToEntityRecord,
|
|
158
80
|
onNavigateToPreviousEntityRecord,
|
|
159
|
-
// I wonder if they should be set in the post editor too
|
|
160
|
-
__experimentalArchiveTitleTypeLabel: archiveLabels.archiveTypeLabel,
|
|
161
|
-
__experimentalArchiveTitleNameLabel: archiveLabels.archiveNameLabel,
|
|
162
81
|
__unstableIsPreviewMode: canvasMode === 'view'
|
|
163
82
|
};
|
|
164
|
-
}, [settings, canvasMode, defaultRenderingMode, onNavigateToEntityRecord, onNavigateToPreviousEntityRecord
|
|
83
|
+
}, [settings, canvasMode, defaultRenderingMode, onNavigateToEntityRecord, onNavigateToPreviousEntityRecord]);
|
|
165
84
|
return defaultEditorSettings;
|
|
166
85
|
}
|
|
167
86
|
function useSiteEditorSettings() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_data","require","_element","_coreData","_editor","_router","_compose","_store","_lockUnlock","_useNavigateToEntityRecord","_interopRequireDefault","_constants","useBlockEditorSettings","unlock","editorPrivateApis","useLocation","useHistory","routerPrivateApis","useArchiveLabel","templateSlug","taxonomyMatches","match","taxonomy","term","isAuthor","authorSlug","authorMatches","useSelect","select","getEntityRecords","getTaxonomy","getAuthors","coreStore","archiveTypeLabel","archiveNameLabel","labels","singular_name","records","slug","per_page","name","authorRecords","useNavigateToPreviousEntityRecord","location","previousLocation","usePrevious","history","goBack","useMemo","isFocusMode","params","focusMode","postId","FOCUSABLE_ENTITIES","includes","postType","didComeFromEditorCanvas","canvas","showBackButton","back","undefined","useSpecificEditorSettings","onNavigateToEntityRecord","useNavigateToEntityRecord","canvasMode","settings","shouldUseTemplateAsDefaultRenderingMode","getEditedPostType","getEditedPostId","getEditedPostContext","getCanvasMode","getSettings","editSiteStore","getEditedEntityRecord","usedPostType","usedPostId","_record","_context","archiveLabels","defaultRenderingMode","onNavigateToPreviousEntityRecord","defaultEditorSettings","richEditingEnabled","supportsTemplateMode","__experimentalArchiveTitleTypeLabel","__experimentalArchiveTitleNameLabel","__unstableIsPreviewMode","useSiteEditorSettings"],"sources":["@wordpress/edit-site/src/components/block-editor/use-site-editor-settings.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 { privateApis as editorPrivateApis } from '@wordpress/editor';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\nimport { usePrevious } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport { store as editSiteStore } from '../../store';\nimport { unlock } from '../../lock-unlock';\nimport useNavigateToEntityRecord from './use-navigate-to-entity-record';\nimport { FOCUSABLE_ENTITIES } from '../../utils/constants';\n\nconst { useBlockEditorSettings } = unlock( editorPrivateApis );\nconst { useLocation, useHistory } = unlock( routerPrivateApis );\n\nfunction useArchiveLabel( templateSlug ) {\n\tconst taxonomyMatches = templateSlug?.match(\n\t\t/^(category|tag|taxonomy-([^-]+))$|^(((category|tag)|taxonomy-([^-]+))-(.+))$/\n\t);\n\tlet taxonomy;\n\tlet term;\n\tlet isAuthor = false;\n\tlet authorSlug;\n\tif ( taxonomyMatches ) {\n\t\t// If is for a all taxonomies of a type\n\t\tif ( taxonomyMatches[ 1 ] ) {\n\t\t\ttaxonomy = taxonomyMatches[ 2 ]\n\t\t\t\t? taxonomyMatches[ 2 ]\n\t\t\t\t: taxonomyMatches[ 1 ];\n\t\t}\n\t\t// If is for a all taxonomies of a type\n\t\telse if ( taxonomyMatches[ 3 ] ) {\n\t\t\ttaxonomy = taxonomyMatches[ 6 ]\n\t\t\t\t? taxonomyMatches[ 6 ]\n\t\t\t\t: taxonomyMatches[ 4 ];\n\t\t\tterm = taxonomyMatches[ 7 ];\n\t\t}\n\t\ttaxonomy = taxonomy === 'tag' ? 'post_tag' : taxonomy;\n\n\t\t//getTaxonomy( 'category' );\n\t\t//wp.data.select('core').getEntityRecords( 'taxonomy', 'category', {slug: 'newcat'} );\n\t} else {\n\t\tconst authorMatches = templateSlug?.match( /^(author)$|^author-(.+)$/ );\n\t\tif ( authorMatches ) {\n\t\t\tisAuthor = true;\n\t\t\tif ( authorMatches[ 2 ] ) {\n\t\t\t\tauthorSlug = authorMatches[ 2 ];\n\t\t\t}\n\t\t}\n\t}\n\treturn useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEntityRecords, getTaxonomy, getAuthors } =\n\t\t\t\tselect( coreStore );\n\t\t\tlet archiveTypeLabel;\n\t\t\tlet archiveNameLabel;\n\t\t\tif ( taxonomy ) {\n\t\t\t\tarchiveTypeLabel =\n\t\t\t\t\tgetTaxonomy( taxonomy )?.labels?.singular_name;\n\t\t\t}\n\t\t\tif ( term ) {\n\t\t\t\tconst records = getEntityRecords( 'taxonomy', taxonomy, {\n\t\t\t\t\tslug: term,\n\t\t\t\t\tper_page: 1,\n\t\t\t\t} );\n\t\t\t\tif ( records && records[ 0 ] ) {\n\t\t\t\t\tarchiveNameLabel = records[ 0 ].name;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif ( isAuthor ) {\n\t\t\t\tarchiveTypeLabel = 'Author';\n\t\t\t\tif ( authorSlug ) {\n\t\t\t\t\tconst authorRecords = getAuthors( { slug: authorSlug } );\n\t\t\t\t\tif ( authorRecords && authorRecords[ 0 ] ) {\n\t\t\t\t\t\tarchiveNameLabel = authorRecords[ 0 ].name;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn {\n\t\t\t\tarchiveTypeLabel,\n\t\t\t\tarchiveNameLabel,\n\t\t\t};\n\t\t},\n\t\t[ authorSlug, isAuthor, taxonomy, term ]\n\t);\n}\n\nfunction useNavigateToPreviousEntityRecord() {\n\tconst location = useLocation();\n\tconst previousLocation = usePrevious( location );\n\tconst history = useHistory();\n\tconst goBack = useMemo( () => {\n\t\tconst isFocusMode =\n\t\t\tlocation.params.focusMode ||\n\t\t\t( location.params.postId &&\n\t\t\t\tFOCUSABLE_ENTITIES.includes( location.params.postType ) );\n\t\tconst didComeFromEditorCanvas =\n\t\t\tpreviousLocation?.params.canvas === 'edit';\n\t\tconst showBackButton = isFocusMode && didComeFromEditorCanvas;\n\t\treturn showBackButton ? () => history.back() : undefined;\n\t\t// Disable reason: previousLocation changes when the component updates for any reason, not\n\t\t// just when location changes. Until this is fixed we can't add it to deps. See\n\t\t// https://github.com/WordPress/gutenberg/pull/58710#discussion_r1479219465.\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [ location, history ] );\n\treturn goBack;\n}\n\nexport function useSpecificEditorSettings() {\n\tconst onNavigateToEntityRecord = useNavigateToEntityRecord();\n\tconst {\n\t\ttemplateSlug,\n\t\tcanvasMode,\n\t\tsettings,\n\t\tshouldUseTemplateAsDefaultRenderingMode,\n\t} = useSelect( ( select ) => {\n\t\tconst {\n\t\t\tgetEditedPostType,\n\t\t\tgetEditedPostId,\n\t\t\tgetEditedPostContext,\n\t\t\tgetCanvasMode,\n\t\t\tgetSettings,\n\t\t} = unlock( select( editSiteStore ) );\n\t\tconst { getEditedEntityRecord } = select( coreStore );\n\t\tconst usedPostType = getEditedPostType();\n\t\tconst usedPostId = getEditedPostId();\n\t\tconst _record = getEditedEntityRecord(\n\t\t\t'postType',\n\t\t\tusedPostType,\n\t\t\tusedPostId\n\t\t);\n\t\tconst _context = getEditedPostContext();\n\t\treturn {\n\t\t\ttemplateSlug: _record.slug,\n\t\t\tcanvasMode: getCanvasMode(),\n\t\t\tsettings: getSettings(),\n\t\t\t// TODO: The `postType` check should be removed when the default rendering mode per post type is merged.\n\t\t\t// @see https://github.com/WordPress/gutenberg/pull/62304/\n\t\t\tshouldUseTemplateAsDefaultRenderingMode:\n\t\t\t\t_context?.postId && _context?.postType !== 'post',\n\t\t};\n\t}, [] );\n\tconst archiveLabels = useArchiveLabel( templateSlug );\n\tconst defaultRenderingMode = shouldUseTemplateAsDefaultRenderingMode\n\t\t? 'template-locked'\n\t\t: 'post-only';\n\tconst onNavigateToPreviousEntityRecord =\n\t\tuseNavigateToPreviousEntityRecord();\n\tconst defaultEditorSettings = useMemo( () => {\n\t\treturn {\n\t\t\t...settings,\n\n\t\t\trichEditingEnabled: true,\n\t\t\tsupportsTemplateMode: true,\n\t\t\tfocusMode: canvasMode !== 'view',\n\t\t\tdefaultRenderingMode,\n\t\t\tonNavigateToEntityRecord,\n\t\t\tonNavigateToPreviousEntityRecord,\n\t\t\t// I wonder if they should be set in the post editor too\n\t\t\t__experimentalArchiveTitleTypeLabel: archiveLabels.archiveTypeLabel,\n\t\t\t__experimentalArchiveTitleNameLabel: archiveLabels.archiveNameLabel,\n\t\t\t__unstableIsPreviewMode: canvasMode === 'view',\n\t\t};\n\t}, [\n\t\tsettings,\n\t\tcanvasMode,\n\t\tdefaultRenderingMode,\n\t\tonNavigateToEntityRecord,\n\t\tonNavigateToPreviousEntityRecord,\n\t\tarchiveLabels.archiveTypeLabel,\n\t\tarchiveLabels.archiveNameLabel,\n\t] );\n\n\treturn defaultEditorSettings;\n}\n\nexport default function useSiteEditorSettings() {\n\tconst defaultEditorSettings = useSpecificEditorSettings();\n\tconst { postType, postId } = useSelect( ( select ) => {\n\t\tconst { getEditedPostType, getEditedPostId } = unlock(\n\t\t\tselect( editSiteStore )\n\t\t);\n\t\tconst usedPostType = getEditedPostType();\n\t\tconst usedPostId = getEditedPostId();\n\t\treturn {\n\t\t\tpostType: usedPostType,\n\t\t\tpostId: usedPostId,\n\t\t};\n\t}, [] );\n\treturn useBlockEditorSettings( defaultEditorSettings, postType, postId );\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_data","require","_element","_editor","_router","_compose","_store","_lockUnlock","_useNavigateToEntityRecord","_interopRequireDefault","_constants","useBlockEditorSettings","unlock","editorPrivateApis","useLocation","useHistory","routerPrivateApis","useNavigateToPreviousEntityRecord","location","previousLocation","usePrevious","history","goBack","useMemo","isFocusMode","params","focusMode","postId","FOCUSABLE_ENTITIES","includes","postType","didComeFromEditorCanvas","canvas","showBackButton","back","undefined","useSpecificEditorSettings","onNavigateToEntityRecord","useNavigateToEntityRecord","canvasMode","settings","shouldUseTemplateAsDefaultRenderingMode","useSelect","select","getEditedPostContext","getCanvasMode","getSettings","editSiteStore","_context","defaultRenderingMode","onNavigateToPreviousEntityRecord","defaultEditorSettings","richEditingEnabled","supportsTemplateMode","__unstableIsPreviewMode","useSiteEditorSettings","getEditedPostType","getEditedPostId","usedPostType","usedPostId"],"sources":["@wordpress/edit-site/src/components/block-editor/use-site-editor-settings.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { useMemo } from '@wordpress/element';\nimport { privateApis as editorPrivateApis } from '@wordpress/editor';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\nimport { usePrevious } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport { store as editSiteStore } from '../../store';\nimport { unlock } from '../../lock-unlock';\nimport useNavigateToEntityRecord from './use-navigate-to-entity-record';\nimport { FOCUSABLE_ENTITIES } from '../../utils/constants';\n\nconst { useBlockEditorSettings } = unlock( editorPrivateApis );\nconst { useLocation, useHistory } = unlock( routerPrivateApis );\n\nfunction useNavigateToPreviousEntityRecord() {\n\tconst location = useLocation();\n\tconst previousLocation = usePrevious( location );\n\tconst history = useHistory();\n\tconst goBack = useMemo( () => {\n\t\tconst isFocusMode =\n\t\t\tlocation.params.focusMode ||\n\t\t\t( location.params.postId &&\n\t\t\t\tFOCUSABLE_ENTITIES.includes( location.params.postType ) );\n\t\tconst didComeFromEditorCanvas =\n\t\t\tpreviousLocation?.params.canvas === 'edit';\n\t\tconst showBackButton = isFocusMode && didComeFromEditorCanvas;\n\t\treturn showBackButton ? () => history.back() : undefined;\n\t\t// Disable reason: previousLocation changes when the component updates for any reason, not\n\t\t// just when location changes. Until this is fixed we can't add it to deps. See\n\t\t// https://github.com/WordPress/gutenberg/pull/58710#discussion_r1479219465.\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [ location, history ] );\n\treturn goBack;\n}\n\nexport function useSpecificEditorSettings() {\n\tconst onNavigateToEntityRecord = useNavigateToEntityRecord();\n\tconst { canvasMode, settings, shouldUseTemplateAsDefaultRenderingMode } =\n\t\tuseSelect( ( select ) => {\n\t\t\tconst { getEditedPostContext, getCanvasMode, getSettings } = unlock(\n\t\t\t\tselect( editSiteStore )\n\t\t\t);\n\t\t\tconst _context = getEditedPostContext();\n\t\t\treturn {\n\t\t\t\tcanvasMode: getCanvasMode(),\n\t\t\t\tsettings: getSettings(),\n\t\t\t\t// TODO: The `postType` check should be removed when the default rendering mode per post type is merged.\n\t\t\t\t// @see https://github.com/WordPress/gutenberg/pull/62304/\n\t\t\t\tshouldUseTemplateAsDefaultRenderingMode:\n\t\t\t\t\t_context?.postId && _context?.postType !== 'post',\n\t\t\t};\n\t\t}, [] );\n\tconst defaultRenderingMode = shouldUseTemplateAsDefaultRenderingMode\n\t\t? 'template-locked'\n\t\t: 'post-only';\n\tconst onNavigateToPreviousEntityRecord =\n\t\tuseNavigateToPreviousEntityRecord();\n\tconst defaultEditorSettings = useMemo( () => {\n\t\treturn {\n\t\t\t...settings,\n\n\t\t\trichEditingEnabled: true,\n\t\t\tsupportsTemplateMode: true,\n\t\t\tfocusMode: canvasMode !== 'view',\n\t\t\tdefaultRenderingMode,\n\t\t\tonNavigateToEntityRecord,\n\t\t\tonNavigateToPreviousEntityRecord,\n\t\t\t__unstableIsPreviewMode: canvasMode === 'view',\n\t\t};\n\t}, [\n\t\tsettings,\n\t\tcanvasMode,\n\t\tdefaultRenderingMode,\n\t\tonNavigateToEntityRecord,\n\t\tonNavigateToPreviousEntityRecord,\n\t] );\n\n\treturn defaultEditorSettings;\n}\n\nexport default function useSiteEditorSettings() {\n\tconst defaultEditorSettings = useSpecificEditorSettings();\n\tconst { postType, postId } = useSelect( ( select ) => {\n\t\tconst { getEditedPostType, getEditedPostId } = unlock(\n\t\t\tselect( editSiteStore )\n\t\t);\n\t\tconst usedPostType = getEditedPostType();\n\t\tconst usedPostId = getEditedPostId();\n\t\treturn {\n\t\t\tpostType: usedPostType,\n\t\t\tpostId: usedPostId,\n\t\t};\n\t}, [] );\n\treturn useBlockEditorSettings( defaultEditorSettings, postType, postId );\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -40,8 +40,12 @@ const BlockPreviewPanel = ({
|
|
|
40
40
|
}
|
|
41
41
|
return (0, _blocks.getBlockFromExample)(name, example);
|
|
42
42
|
}, [name, blockExample, variation]);
|
|
43
|
-
const viewportWidth = (_blockExample$viewpor = blockExample?.viewportWidth) !== null && _blockExample$viewpor !== void 0 ? _blockExample$viewpor :
|
|
44
|
-
|
|
43
|
+
const viewportWidth = (_blockExample$viewpor = blockExample?.viewportWidth) !== null && _blockExample$viewpor !== void 0 ? _blockExample$viewpor : 500;
|
|
44
|
+
// Same as height of InserterPreviewPanel.
|
|
45
|
+
const previewHeight = 144;
|
|
46
|
+
const sidebarWidth = 235;
|
|
47
|
+
const scale = sidebarWidth / viewportWidth;
|
|
48
|
+
const minHeight = scale !== 0 && scale < 1 && previewHeight ? previewHeight / scale : previewHeight;
|
|
45
49
|
if (!blockExample) {
|
|
46
50
|
return null;
|
|
47
51
|
}
|
|
@@ -58,12 +62,17 @@ const BlockPreviewPanel = ({
|
|
|
58
62
|
blocks: blocks,
|
|
59
63
|
viewportWidth: viewportWidth,
|
|
60
64
|
minHeight: previewHeight,
|
|
61
|
-
additionalStyles:
|
|
65
|
+
additionalStyles:
|
|
66
|
+
//We want this CSS to be in sync with the one in InserterPreviewPanel.
|
|
67
|
+
[{
|
|
62
68
|
css: `
|
|
63
69
|
body{
|
|
64
|
-
|
|
65
|
-
|
|
70
|
+
padding: 24px;
|
|
71
|
+
min-height:${Math.round(minHeight)}px;
|
|
72
|
+
display:flex;
|
|
73
|
+
align-items:center;
|
|
66
74
|
}
|
|
75
|
+
.is-root-container { width: 100%; }
|
|
67
76
|
`
|
|
68
77
|
}]
|
|
69
78
|
})
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_blockEditor","require","_blocks","_components","_element","_utils","_jsxRuntime","BlockPreviewPanel","name","variation","_blockExample$viewpor","blockExample","getBlockType","example","blocks","useMemo","attributes","className","getVariationClassName","getBlockFromExample","viewportWidth","previewHeight","jsx","__experimentalSpacer","marginX","marginBottom","children","style","maxHeight","boxSizing","BlockPreview","
|
|
1
|
+
{"version":3,"names":["_blockEditor","require","_blocks","_components","_element","_utils","_jsxRuntime","BlockPreviewPanel","name","variation","_blockExample$viewpor","blockExample","getBlockType","example","blocks","useMemo","attributes","className","getVariationClassName","getBlockFromExample","viewportWidth","previewHeight","sidebarWidth","scale","minHeight","jsx","__experimentalSpacer","marginX","marginBottom","children","style","maxHeight","boxSizing","BlockPreview","additionalStyles","css","Math","round","_default","exports","default"],"sources":["@wordpress/edit-site/src/components/global-styles/block-preview-panel.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { BlockPreview } from '@wordpress/block-editor';\nimport { getBlockType, getBlockFromExample } from '@wordpress/blocks';\nimport { __experimentalSpacer as Spacer } from '@wordpress/components';\nimport { useMemo } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { getVariationClassName } from './utils';\n\nconst BlockPreviewPanel = ( { name, variation = '' } ) => {\n\tconst blockExample = getBlockType( name )?.example;\n\tconst blocks = useMemo( () => {\n\t\tif ( ! blockExample ) {\n\t\t\treturn null;\n\t\t}\n\n\t\tlet example = blockExample;\n\t\tif ( variation ) {\n\t\t\texample = {\n\t\t\t\t...example,\n\t\t\t\tattributes: {\n\t\t\t\t\t...example.attributes,\n\t\t\t\t\tclassName: getVariationClassName( variation ),\n\t\t\t\t},\n\t\t\t};\n\t\t}\n\n\t\treturn getBlockFromExample( name, example );\n\t}, [ name, blockExample, variation ] );\n\n\tconst viewportWidth = blockExample?.viewportWidth ?? 500;\n\t// Same as height of InserterPreviewPanel.\n\tconst previewHeight = 144;\n\tconst sidebarWidth = 235;\n\tconst scale = sidebarWidth / viewportWidth;\n\tconst minHeight =\n\t\tscale !== 0 && scale < 1 && previewHeight\n\t\t\t? previewHeight / scale\n\t\t\t: previewHeight;\n\n\tif ( ! blockExample ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<Spacer marginX={ 4 } marginBottom={ 4 }>\n\t\t\t<div\n\t\t\t\tclassName=\"edit-site-global-styles__block-preview-panel\"\n\t\t\t\tstyle={ { maxHeight: previewHeight, boxSizing: 'initial' } }\n\t\t\t>\n\t\t\t\t<BlockPreview\n\t\t\t\t\tblocks={ blocks }\n\t\t\t\t\tviewportWidth={ viewportWidth }\n\t\t\t\t\tminHeight={ previewHeight }\n\t\t\t\t\tadditionalStyles={\n\t\t\t\t\t\t//We want this CSS to be in sync with the one in InserterPreviewPanel.\n\t\t\t\t\t\t[\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tcss: `\n\t\t\t\t\t\t\t\tbody{\n\t\t\t\t\t\t\t\t\tpadding: 24px;\n\t\t\t\t\t\t\t\t\tmin-height:${ Math.round( minHeight ) }px;\n\t\t\t\t\t\t\t\t\tdisplay:flex;\n\t\t\t\t\t\t\t\t\talign-items:center;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t.is-root-container { width: 100%; }\n\t\t\t\t\t\t\t`,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t]\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t</div>\n\t\t</Spacer>\n\t);\n};\n\nexport default BlockPreviewPanel;\n"],"mappings":";;;;;;AAGA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,WAAA,GAAAF,OAAA;AACA,IAAAG,QAAA,GAAAH,OAAA;AAKA,IAAAI,MAAA,GAAAJ,OAAA;AAAgD,IAAAK,WAAA,GAAAL,OAAA;AAXhD;AACA;AACA;;AAMA;AACA;AACA;;AAGA,MAAMM,iBAAiB,GAAGA,CAAE;EAAEC,IAAI;EAAEC,SAAS,GAAG;AAAG,CAAC,KAAM;EAAA,IAAAC,qBAAA;EACzD,MAAMC,YAAY,GAAG,IAAAC,oBAAY,EAAEJ,IAAK,CAAC,EAAEK,OAAO;EAClD,MAAMC,MAAM,GAAG,IAAAC,gBAAO,EAAE,MAAM;IAC7B,IAAK,CAAEJ,YAAY,EAAG;MACrB,OAAO,IAAI;IACZ;IAEA,IAAIE,OAAO,GAAGF,YAAY;IAC1B,IAAKF,SAAS,EAAG;MAChBI,OAAO,GAAG;QACT,GAAGA,OAAO;QACVG,UAAU,EAAE;UACX,GAAGH,OAAO,CAACG,UAAU;UACrBC,SAAS,EAAE,IAAAC,4BAAqB,EAAET,SAAU;QAC7C;MACD,CAAC;IACF;IAEA,OAAO,IAAAU,2BAAmB,EAAEX,IAAI,EAAEK,OAAQ,CAAC;EAC5C,CAAC,EAAE,CAAEL,IAAI,EAAEG,YAAY,EAAEF,SAAS,CAAG,CAAC;EAEtC,MAAMW,aAAa,IAAAV,qBAAA,GAAGC,YAAY,EAAES,aAAa,cAAAV,qBAAA,cAAAA,qBAAA,GAAI,GAAG;EACxD;EACA,MAAMW,aAAa,GAAG,GAAG;EACzB,MAAMC,YAAY,GAAG,GAAG;EACxB,MAAMC,KAAK,GAAGD,YAAY,GAAGF,aAAa;EAC1C,MAAMI,SAAS,GACdD,KAAK,KAAK,CAAC,IAAIA,KAAK,GAAG,CAAC,IAAIF,aAAa,GACtCA,aAAa,GAAGE,KAAK,GACrBF,aAAa;EAEjB,IAAK,CAAEV,YAAY,EAAG;IACrB,OAAO,IAAI;EACZ;EAEA,oBACC,IAAAL,WAAA,CAAAmB,GAAA,EAACtB,WAAA,CAAAuB,oBAAM;IAACC,OAAO,EAAG,CAAG;IAACC,YAAY,EAAG,CAAG;IAAAC,QAAA,eACvC,IAAAvB,WAAA,CAAAmB,GAAA;MACCR,SAAS,EAAC,8CAA8C;MACxDa,KAAK,EAAG;QAAEC,SAAS,EAAEV,aAAa;QAAEW,SAAS,EAAE;MAAU,CAAG;MAAAH,QAAA,eAE5D,IAAAvB,WAAA,CAAAmB,GAAA,EAACzB,YAAA,CAAAiC,YAAY;QACZnB,MAAM,EAAGA,MAAQ;QACjBM,aAAa,EAAGA,aAAe;QAC/BI,SAAS,EAAGH,aAAe;QAC3Ba,gBAAgB;QACf;QACA,CACC;UACCC,GAAG,EAAG;AACd;AACA;AACA,sBAAuBC,IAAI,CAACC,KAAK,CAAEb,SAAU,CAAG;AAChD;AACA;AACA;AACA;AACA;QACO,CAAC;MAEF,CACD;IAAC,CACE;EAAC,CACC,CAAC;AAEX,CAAC;AAAC,IAAAc,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEajC,iBAAiB","ignoreList":[]}
|
|
@@ -31,10 +31,13 @@ const {
|
|
|
31
31
|
} = (0, _lockUnlock.unlock)(_blockEditor.privateApis);
|
|
32
32
|
function FontFamilies() {
|
|
33
33
|
const {
|
|
34
|
+
baseCustomFonts,
|
|
34
35
|
modalTabOpen,
|
|
35
|
-
setModalTabOpen
|
|
36
|
+
setModalTabOpen,
|
|
37
|
+
setNotice
|
|
36
38
|
} = (0, _element.useContext)(_context.FontLibraryContext);
|
|
37
39
|
const [fontFamilies] = useGlobalSetting('typography.fontFamilies');
|
|
40
|
+
const [baseFontFamilies] = useGlobalSetting('typography.fontFamilies', undefined, 'base');
|
|
38
41
|
const themeFonts = fontFamilies?.theme ? fontFamilies.theme.map(f => (0, _utils.setUIValuesNeeded)(f, {
|
|
39
42
|
source: 'theme'
|
|
40
43
|
})).sort((a, b) => a.name.localeCompare(b.name)) : [];
|
|
@@ -42,39 +45,55 @@ function FontFamilies() {
|
|
|
42
45
|
source: 'custom'
|
|
43
46
|
})).sort((a, b) => a.name.localeCompare(b.name)) : [];
|
|
44
47
|
const hasFonts = 0 < customFonts.length || 0 < themeFonts.length;
|
|
48
|
+
const hasInstalledFonts = hasFonts || baseFontFamilies?.theme?.length > 0 || baseCustomFonts?.length > 0;
|
|
45
49
|
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
|
|
46
50
|
children: [!!modalTabOpen && /*#__PURE__*/(0, _jsxRuntime.jsx)(_fontLibraryModal.default, {
|
|
47
51
|
onRequestClose: () => setModalTabOpen(null),
|
|
48
52
|
defaultTabId: modalTabOpen
|
|
49
53
|
}), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.__experimentalVStack, {
|
|
50
|
-
spacing:
|
|
51
|
-
children: [/*#__PURE__*/(0, _jsxRuntime.
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
54
|
+
spacing: 4,
|
|
55
|
+
children: [themeFonts.length > 0 && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.__experimentalVStack, {
|
|
56
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_subtitle.default, {
|
|
57
|
+
level: 3,
|
|
58
|
+
children: /* translators: Heading for a list of fonts provided by the theme. */
|
|
59
|
+
(0, _i18n._x)('Theme', 'font source')
|
|
60
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.__experimentalItemGroup, {
|
|
56
61
|
isBordered: true,
|
|
57
62
|
isSeparated: true,
|
|
58
|
-
children:
|
|
63
|
+
children: themeFonts.map(font => /*#__PURE__*/(0, _jsxRuntime.jsx)(_fontFamilyItem.default, {
|
|
59
64
|
font: font
|
|
60
|
-
}, font.slug))
|
|
65
|
+
}, font.slug))
|
|
66
|
+
})]
|
|
67
|
+
}), customFonts.length > 0 && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.__experimentalVStack, {
|
|
68
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_subtitle.default, {
|
|
69
|
+
level: 3,
|
|
70
|
+
children: /* translators: Heading for a list of fonts installed by the user. */
|
|
71
|
+
(0, _i18n._x)('Custom', 'font source')
|
|
72
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.__experimentalItemGroup, {
|
|
73
|
+
isBordered: true,
|
|
74
|
+
isSeparated: true,
|
|
75
|
+
children: customFonts.map(font => /*#__PURE__*/(0, _jsxRuntime.jsx)(_fontFamilyItem.default, {
|
|
61
76
|
font: font
|
|
62
|
-
}, font.slug))
|
|
63
|
-
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Button, {
|
|
64
|
-
className: "edit-site-global-styles-font-families__manage-fonts",
|
|
65
|
-
variant: "secondary",
|
|
66
|
-
__next40pxDefaultSize: true,
|
|
67
|
-
onClick: () => setModalTabOpen('installed-fonts'),
|
|
68
|
-
children: (0, _i18n.__)('Manage fonts')
|
|
77
|
+
}, font.slug))
|
|
69
78
|
})]
|
|
70
|
-
})
|
|
71
|
-
children: [
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
children: (0, _i18n.__)('
|
|
79
|
+
}), !hasFonts && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.__experimentalVStack, {
|
|
80
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_subtitle.default, {
|
|
81
|
+
level: 3,
|
|
82
|
+
children: (0, _i18n.__)('Fonts')
|
|
83
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.__experimentalText, {
|
|
84
|
+
as: "p",
|
|
85
|
+
children: hasInstalledFonts ? (0, _i18n.__)('No fonts activated.') : (0, _i18n.__)('No fonts installed.')
|
|
77
86
|
})]
|
|
87
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Button, {
|
|
88
|
+
className: "edit-site-global-styles-font-families__manage-fonts",
|
|
89
|
+
variant: "secondary",
|
|
90
|
+
__next40pxDefaultSize: true,
|
|
91
|
+
onClick: () => {
|
|
92
|
+
// Reset notice when opening the modal.
|
|
93
|
+
setNotice(null);
|
|
94
|
+
setModalTabOpen(hasInstalledFonts ? 'installed-fonts' : 'upload-fonts');
|
|
95
|
+
},
|
|
96
|
+
children: hasInstalledFonts ? (0, _i18n.__)('Manage fonts') : (0, _i18n.__)('Add fonts')
|
|
78
97
|
})]
|
|
79
98
|
})]
|
|
80
99
|
});
|