@wordpress/edit-site 5.28.2 → 5.28.3
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/build/components/add-new-pattern/index.js +18 -8
- package/build/components/add-new-pattern/index.js.map +1 -1
- package/build/components/editor/index.js +1 -1
- package/build/components/editor/index.js.map +1 -1
- package/build/components/global-styles/block-preview-panel.js +2 -2
- package/build/components/global-styles/block-preview-panel.js.map +1 -1
- package/build/components/global-styles/font-library-modal/collection-font-details.js +1 -1
- package/build/components/global-styles/font-library-modal/collection-font-details.js.map +1 -1
- package/build/components/global-styles/font-library-modal/font-collection.js +84 -7
- package/build/components/global-styles/font-library-modal/font-collection.js.map +1 -1
- package/build/components/global-styles/font-library-modal/google-fonts-confirm-dialog.js +1 -1
- package/build/components/global-styles/font-library-modal/google-fonts-confirm-dialog.js.map +1 -1
- package/build/components/global-styles/font-library-modal/installed-fonts.js +10 -7
- package/build/components/global-styles/font-library-modal/installed-fonts.js.map +1 -1
- package/build/components/layout/index.js +8 -3
- package/build/components/layout/index.js.map +1 -1
- package/build/components/layout/router.js +26 -5
- package/build/components/layout/router.js.map +1 -1
- package/build/components/page-patterns/use-patterns.js +10 -5
- package/build/components/page-patterns/use-patterns.js.map +1 -1
- package/build/components/page-templates-template-parts/index.js +1 -0
- package/build/components/page-templates-template-parts/index.js.map +1 -1
- package/build/components/sidebar/index.js +3 -1
- package/build/components/sidebar/index.js.map +1 -1
- package/build/components/sidebar-navigation-screen-pages/index.js +3 -1
- package/build/components/sidebar-navigation-screen-pages/index.js.map +1 -1
- package/build/store/private-actions.js +3 -1
- package/build/store/private-actions.js.map +1 -1
- package/build-module/components/add-new-pattern/index.js +18 -8
- package/build-module/components/add-new-pattern/index.js.map +1 -1
- package/build-module/components/editor/index.js +1 -1
- package/build-module/components/editor/index.js.map +1 -1
- package/build-module/components/global-styles/block-preview-panel.js +2 -2
- package/build-module/components/global-styles/block-preview-panel.js.map +1 -1
- package/build-module/components/global-styles/font-library-modal/collection-font-details.js +1 -1
- package/build-module/components/global-styles/font-library-modal/collection-font-details.js.map +1 -1
- package/build-module/components/global-styles/font-library-modal/font-collection.js +87 -10
- package/build-module/components/global-styles/font-library-modal/font-collection.js.map +1 -1
- package/build-module/components/global-styles/font-library-modal/google-fonts-confirm-dialog.js +1 -1
- package/build-module/components/global-styles/font-library-modal/google-fonts-confirm-dialog.js.map +1 -1
- package/build-module/components/global-styles/font-library-modal/installed-fonts.js +11 -8
- package/build-module/components/global-styles/font-library-modal/installed-fonts.js.map +1 -1
- package/build-module/components/layout/index.js +8 -3
- package/build-module/components/layout/index.js.map +1 -1
- package/build-module/components/layout/router.js +26 -5
- package/build-module/components/layout/router.js.map +1 -1
- package/build-module/components/page-patterns/use-patterns.js +10 -5
- package/build-module/components/page-patterns/use-patterns.js.map +1 -1
- package/build-module/components/page-templates-template-parts/index.js +1 -0
- package/build-module/components/page-templates-template-parts/index.js.map +1 -1
- package/build-module/components/sidebar/index.js +3 -1
- package/build-module/components/sidebar/index.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-pages/index.js +3 -1
- package/build-module/components/sidebar-navigation-screen-pages/index.js.map +1 -1
- package/build-module/store/private-actions.js +3 -1
- package/build-module/store/private-actions.js.map +1 -1
- package/build-style/style-rtl.css +24 -3
- package/build-style/style.css +24 -3
- package/package.json +12 -12
- package/src/components/add-new-pattern/index.js +27 -11
- package/src/components/editor/index.js +1 -0
- package/src/components/global-styles/block-preview-panel.js +2 -2
- package/src/components/global-styles/font-library-modal/collection-font-details.js +1 -1
- package/src/components/global-styles/font-library-modal/font-collection.js +118 -13
- package/src/components/global-styles/font-library-modal/google-fonts-confirm-dialog.js +1 -1
- package/src/components/global-styles/font-library-modal/installed-fonts.js +25 -23
- package/src/components/global-styles/font-library-modal/style.scss +2 -5
- package/src/components/layout/index.js +47 -30
- package/src/components/layout/router.js +31 -2
- package/src/components/layout/style.scss +7 -0
- package/src/components/page-patterns/style.scss +10 -0
- package/src/components/page-patterns/use-patterns.js +13 -5
- package/src/components/page-templates-template-parts/index.js +1 -0
- package/src/components/page-templates-template-parts/style.scss +6 -0
- package/src/components/sidebar/index.js +7 -3
- package/src/components/sidebar-navigation-screen-pages/index.js +10 -6
- package/src/store/private-actions.js +4 -0
- package/build/components/global-styles/font-library-modal/fonts-grid.js +0 -57
- package/build/components/global-styles/font-library-modal/fonts-grid.js.map +0 -1
- package/build-module/components/global-styles/font-library-modal/fonts-grid.js +0 -50
- package/build-module/components/global-styles/font-library-modal/fonts-grid.js.map +0 -1
- package/src/components/global-styles/font-library-modal/fonts-grid.js +0 -59
|
@@ -19,7 +19,6 @@ var _createTemplatePartModal = _interopRequireDefault(require("../create-templat
|
|
|
19
19
|
var _sidebarButton = _interopRequireDefault(require("../sidebar-button"));
|
|
20
20
|
var _lockUnlock = require("../../lock-unlock");
|
|
21
21
|
var _constants = require("../../utils/constants");
|
|
22
|
-
var _usePatternCategories = _interopRequireDefault(require("../sidebar-navigation-screen-patterns/use-pattern-categories"));
|
|
23
22
|
/**
|
|
24
23
|
* WordPress dependencies
|
|
25
24
|
*/
|
|
@@ -33,7 +32,8 @@ const {
|
|
|
33
32
|
useLocation
|
|
34
33
|
} = (0, _lockUnlock.unlock)(_router.privateApis);
|
|
35
34
|
const {
|
|
36
|
-
CreatePatternModal
|
|
35
|
+
CreatePatternModal,
|
|
36
|
+
useAddPatternCategory
|
|
37
37
|
} = (0, _lockUnlock.unlock)(_patterns.privateApis);
|
|
38
38
|
function AddNewPattern() {
|
|
39
39
|
const history = useHistory();
|
|
@@ -53,9 +53,6 @@ function AddNewPattern() {
|
|
|
53
53
|
createErrorNotice
|
|
54
54
|
} = (0, _data.useDispatch)(_notices.store);
|
|
55
55
|
const patternUploadInputRef = (0, _element.useRef)();
|
|
56
|
-
const {
|
|
57
|
-
patternCategories
|
|
58
|
-
} = (0, _usePatternCategories.default)();
|
|
59
56
|
function handleCreatePattern({
|
|
60
57
|
pattern,
|
|
61
58
|
categoryId
|
|
@@ -102,6 +99,10 @@ function AddNewPattern() {
|
|
|
102
99
|
},
|
|
103
100
|
title: (0, _i18n.__)('Import pattern from JSON')
|
|
104
101
|
});
|
|
102
|
+
const {
|
|
103
|
+
categoryMap,
|
|
104
|
+
findOrCreateTerm
|
|
105
|
+
} = useAddPatternCategory();
|
|
105
106
|
return (0, _react.createElement)(_react.Fragment, null, (0, _react.createElement)(_components.DropdownMenu, {
|
|
106
107
|
controls: controls,
|
|
107
108
|
toggleProps: {
|
|
@@ -127,12 +128,21 @@ function AddNewPattern() {
|
|
|
127
128
|
const file = event.target.files?.[0];
|
|
128
129
|
if (!file) return;
|
|
129
130
|
try {
|
|
130
|
-
|
|
131
|
+
let currentCategoryId;
|
|
132
|
+
// When we're not handling template parts, we should
|
|
133
|
+
// add or create the proper pattern category.
|
|
134
|
+
if (params.categoryType !== _constants.TEMPLATE_PART_POST_TYPE) {
|
|
135
|
+
const currentCategory = categoryMap.values().find(term => term.name === params.categoryId);
|
|
136
|
+
if (!!currentCategory) {
|
|
137
|
+
currentCategoryId = currentCategory.id || (await findOrCreateTerm(currentCategory.label));
|
|
138
|
+
}
|
|
139
|
+
}
|
|
131
140
|
const pattern = await createPatternFromFile(file, currentCategoryId ? [currentCategoryId] : undefined);
|
|
132
141
|
|
|
133
142
|
// Navigate to the All patterns category for the newly created pattern
|
|
134
|
-
// if we're not on that page already
|
|
135
|
-
|
|
143
|
+
// if we're not on that page already and if we're not in the `my-patterns`
|
|
144
|
+
// category.
|
|
145
|
+
if (!currentCategoryId && params.categoryId !== 'my-patterns') {
|
|
136
146
|
history.push({
|
|
137
147
|
path: `/patterns`,
|
|
138
148
|
categoryType: _constants.PATTERN_TYPES.theme,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_components","require","_element","_i18n","_icons","_data","_router","_patterns","_coreData","_notices","_createTemplatePartModal","_interopRequireDefault","_sidebarButton","_lockUnlock","_constants","_usePatternCategories","useHistory","useLocation","unlock","routerPrivateApis","CreatePatternModal","editPatternsPrivateApis","AddNewPattern","history","params","showPatternModal","setShowPatternModal","useState","showTemplatePartModal","setShowTemplatePartModal","isBlockBasedTheme","useSelect","select","coreStore","getCurrentTheme","is_block_theme","createPatternFromFile","useDispatch","patternsStore","createSuccessNotice","createErrorNotice","noticesStore","patternUploadInputRef","useRef","patternCategories","usePatternCategories","handleCreatePattern","pattern","categoryId","push","postId","id","postType","PATTERN_TYPES","user","categoryType","theme","canvas","handleCreateTemplatePart","templatePart","TEMPLATE_PART_POST_TYPE","handleError","controls","icon","symbol","onClick","title","__","symbolFilled","upload","current","click","_react","createElement","Fragment","DropdownMenu","toggleProps","as","SidebarButton","plus","label","onClose","onSuccess","onError","default","closeModal","blocks","onCreate","type","accept","hidden","ref","onChange","event","file","target","files","currentCategoryId","find","category","name","undefined","path","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 { plus, 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 coreStore } from '@wordpress/core-data';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport CreateTemplatePartModal from '../create-template-part-modal';\nimport SidebarButton from '../sidebar-button';\nimport { unlock } from '../../lock-unlock';\nimport {\n\tPATTERN_TYPES,\n\tPATTERN_DEFAULT_CATEGORY,\n\tTEMPLATE_PART_POST_TYPE,\n} from '../../utils/constants';\nimport usePatternCategories from '../sidebar-navigation-screen-patterns/use-pattern-categories';\n\nconst { useHistory, useLocation } = unlock( routerPrivateApis );\nconst { CreatePatternModal } = unlock( editPatternsPrivateApis );\n\nexport default function AddNewPattern() {\n\tconst history = useHistory();\n\tconst { params } = useLocation();\n\tconst [ showPatternModal, setShowPatternModal ] = useState( false );\n\tconst [ showTemplatePartModal, setShowTemplatePartModal ] =\n\t\tuseState( false );\n\tconst isBlockBasedTheme = useSelect( ( select ) => {\n\t\treturn select( coreStore ).getCurrentTheme()?.is_block_theme;\n\t}, [] );\n\tconst { createPatternFromFile } = unlock( useDispatch( patternsStore ) );\n\tconst { createSuccessNotice, createErrorNotice } =\n\t\tuseDispatch( noticesStore );\n\tconst patternUploadInputRef = useRef();\n\tconst { patternCategories } = usePatternCategories();\n\n\tfunction handleCreatePattern( { pattern, categoryId } ) {\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\tcategoryType: PATTERN_TYPES.theme,\n\t\t\tcategoryId,\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\t\t{\n\t\t\ticon: symbol,\n\t\t\tonClick: () => setShowPatternModal( true ),\n\t\t\ttitle: __( 'Create pattern' ),\n\t\t},\n\t];\n\n\tif ( isBlockBasedTheme ) {\n\t\tcontrols.push( {\n\t\t\ticon: symbolFilled,\n\t\t\tonClick: () => setShowTemplatePartModal( true ),\n\t\t\ttitle: __( 'Create template part' ),\n\t\t} );\n\t}\n\n\tcontrols.push( {\n\t\ticon: upload,\n\t\tonClick: () => {\n\t\t\tpatternUploadInputRef.current.click();\n\t\t},\n\t\ttitle: __( 'Import pattern from JSON' ),\n\t} );\n\n\treturn (\n\t\t<>\n\t\t\t<DropdownMenu\n\t\t\t\tcontrols={ controls }\n\t\t\t\ttoggleProps={ {\n\t\t\t\t\tas: SidebarButton,\n\t\t\t\t} }\n\t\t\t\ticon={ plus }\n\t\t\t\tlabel={ __( 'Create pattern' ) }\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 ) return;\n\t\t\t\t\ttry {\n\t\t\t\t\t\tconst currentCategoryId =\n\t\t\t\t\t\t\tparams.categoryType !== TEMPLATE_PART_POST_TYPE &&\n\t\t\t\t\t\t\tpatternCategories.find(\n\t\t\t\t\t\t\t\t( category ) =>\n\t\t\t\t\t\t\t\t\tcategory.name === params.categoryId\n\t\t\t\t\t\t\t)?.id;\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.\n\t\t\t\t\t\tif ( ! currentCategoryId ) {\n\t\t\t\t\t\t\thistory.push( {\n\t\t\t\t\t\t\t\tpath: `/patterns`,\n\t\t\t\t\t\t\t\tcategoryType: PATTERN_TYPES.theme,\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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"}
|
|
1
|
+
{"version":3,"names":["_components","require","_element","_i18n","_icons","_data","_router","_patterns","_coreData","_notices","_createTemplatePartModal","_interopRequireDefault","_sidebarButton","_lockUnlock","_constants","useHistory","useLocation","unlock","routerPrivateApis","CreatePatternModal","useAddPatternCategory","editPatternsPrivateApis","AddNewPattern","history","params","showPatternModal","setShowPatternModal","useState","showTemplatePartModal","setShowTemplatePartModal","isBlockBasedTheme","useSelect","select","coreStore","getCurrentTheme","is_block_theme","createPatternFromFile","useDispatch","patternsStore","createSuccessNotice","createErrorNotice","noticesStore","patternUploadInputRef","useRef","handleCreatePattern","pattern","categoryId","push","postId","id","postType","PATTERN_TYPES","user","categoryType","theme","canvas","handleCreateTemplatePart","templatePart","TEMPLATE_PART_POST_TYPE","handleError","controls","icon","symbol","onClick","title","__","symbolFilled","upload","current","click","categoryMap","findOrCreateTerm","_react","createElement","Fragment","DropdownMenu","toggleProps","as","SidebarButton","plus","label","onClose","onSuccess","onError","default","closeModal","blocks","onCreate","type","accept","hidden","ref","onChange","event","file","target","files","currentCategoryId","currentCategory","values","find","term","name","undefined","path","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 { plus, 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 coreStore } from '@wordpress/core-data';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport CreateTemplatePartModal from '../create-template-part-modal';\nimport SidebarButton from '../sidebar-button';\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, useLocation } = unlock( routerPrivateApis );\nconst { CreatePatternModal, useAddPatternCategory } = unlock(\n\teditPatternsPrivateApis\n);\n\nexport default function AddNewPattern() {\n\tconst history = useHistory();\n\tconst { params } = useLocation();\n\tconst [ showPatternModal, setShowPatternModal ] = useState( false );\n\tconst [ showTemplatePartModal, setShowTemplatePartModal ] =\n\t\tuseState( false );\n\tconst isBlockBasedTheme = useSelect( ( select ) => {\n\t\treturn select( coreStore ).getCurrentTheme()?.is_block_theme;\n\t}, [] );\n\tconst { createPatternFromFile } = unlock( useDispatch( patternsStore ) );\n\tconst { createSuccessNotice, createErrorNotice } =\n\t\tuseDispatch( noticesStore );\n\tconst patternUploadInputRef = useRef();\n\n\tfunction handleCreatePattern( { pattern, categoryId } ) {\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\tcategoryType: PATTERN_TYPES.theme,\n\t\t\tcategoryId,\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\t\t{\n\t\t\ticon: symbol,\n\t\t\tonClick: () => setShowPatternModal( true ),\n\t\t\ttitle: __( 'Create pattern' ),\n\t\t},\n\t];\n\n\tif ( isBlockBasedTheme ) {\n\t\tcontrols.push( {\n\t\t\ticon: symbolFilled,\n\t\t\tonClick: () => setShowTemplatePartModal( true ),\n\t\t\ttitle: __( 'Create template part' ),\n\t\t} );\n\t}\n\n\tcontrols.push( {\n\t\ticon: upload,\n\t\tonClick: () => {\n\t\t\tpatternUploadInputRef.current.click();\n\t\t},\n\t\ttitle: __( 'Import pattern from JSON' ),\n\t} );\n\n\tconst { categoryMap, findOrCreateTerm } = useAddPatternCategory();\n\treturn (\n\t\t<>\n\t\t\t<DropdownMenu\n\t\t\t\tcontrols={ controls }\n\t\t\t\ttoggleProps={ {\n\t\t\t\t\tas: SidebarButton,\n\t\t\t\t} }\n\t\t\t\ticon={ plus }\n\t\t\t\tlabel={ __( 'Create pattern' ) }\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 ) return;\n\t\t\t\t\ttry {\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 ( params.categoryType !== 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(\n\t\t\t\t\t\t\t\t\t( term ) => term.name === params.categoryId\n\t\t\t\t\t\t\t\t);\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\tparams.categoryId !== '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\tpath: `/patterns`,\n\t\t\t\t\t\t\t\tcategoryType: PATTERN_TYPES.theme,\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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"}
|
|
@@ -183,7 +183,7 @@ function Editor({
|
|
|
183
183
|
rules: blockRemovalRules
|
|
184
184
|
}), (0, _react.createElement)(_patternModal.default, null)), editorMode === 'text' && isEditMode && (0, _react.createElement)(_codeEditor.default, null), isEditMode && (0, _react.createElement)(_react.Fragment, null, (0, _react.createElement)(_editMode.default, null), (0, _react.createElement)(_editor.EditorKeyboardShortcutsRegister, null), (0, _react.createElement)(_editor.EditorKeyboardShortcuts, null))),
|
|
185
185
|
secondarySidebar: isEditMode && (shouldShowInserter && (0, _react.createElement)(InserterSidebar, null) || shouldShowListView && (0, _react.createElement)(ListViewSidebar, null)),
|
|
186
|
-
sidebar: isEditMode && isRightSidebarOpen && (0, _react.createElement)(_react.Fragment, null, (0, _react.createElement)(_interface.ComplementaryArea.Slot, {
|
|
186
|
+
sidebar: !isDistractionFree && isEditMode && isRightSidebarOpen && (0, _react.createElement)(_react.Fragment, null, (0, _react.createElement)(_interface.ComplementaryArea.Slot, {
|
|
187
187
|
scope: "core/edit-site"
|
|
188
188
|
})),
|
|
189
189
|
footer: shouldShowBlockBreadcrumbs && (0, _react.createElement)(_blockEditor.BlockBreadcrumb, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_classnames","_interopRequireDefault","require","_data","_components","_compose","_preferences","_blockEditor","_interface","_editor","_i18n","_coreData","_sidebarEditMode","_codeEditor","_editMode","_welcomeGuide","_startTemplateOptions","_store","_globalStylesRenderer","_useTitle","_canvasLoader","_lockUnlock","_useEditedEntityRecord","_patternModal","_constants","_siteEditorCanvas","_templatePartConverter","_useSiteEditorSettings","BlockRemovalWarningModal","unlock","blockEditorPrivateApis","ExperimentalEditorProvider","EditorProvider","InserterSidebar","ListViewSidebar","editorPrivateApis","interfaceLabels","body","__","sidebar","actions","footer","blockRemovalRules","Editor","isLoading","record","editedPost","getTitle","isLoaded","hasLoadedPost","useEditedEntityRecord","type","editedPostType","isLargeViewport","useViewportMatch","context","contextPost","editorMode","canvasMode","blockEditorMode","isRightSidebarOpen","isInserterOpen","isListViewOpen","isDistractionFree","showIconLabels","showBlockBreadcrumbs","postTypeLabel","useSelect","select","get","preferencesStore","getEditedPostContext","getEditorMode","getCanvasMode","editSiteStore","__unstableGetEditorMode","blockEditorStore","getActiveComplementaryArea","interfaceStore","getEntityRecord","coreDataStore","isInserterOpened","isListViewOpened","getPostTypeLabel","editorStore","_context","postId","postType","undefined","name","isViewMode","isEditMode","showVisualEditor","shouldShowBlockBreadcrumbs","shouldShowInserter","shouldShowListView","secondarySidebarLabel","postWithTemplate","title","_POST_TYPE_LABELS$edi","sprintf","POST_TYPE_LABELS","TEMPLATE_POST_TYPE","useTitle","loadingProgressId","useInstanceId","CanvasLoader","settings","useSpecificEditorSettings","isReady","_react","createElement","Fragment","default","id","Notice","status","isDismissible","post","__unstableTemplate","useSubRegistry","SidebarComplementaryAreaFills","InterfaceSkeleton","enableRegionNavigation","className","classnames","notices","EditorSnackbars","content","GlobalStylesRenderer","EditorNotices","SidebarInspectorFill","BlockInspector","BlockToolbar","hideDragHandle","rules","EditorKeyboardShortcutsRegister","EditorKeyboardShortcuts","secondarySidebar","ComplementaryArea","Slot","scope","BlockBreadcrumb","rootLabelText","labels"],"sources":["@wordpress/edit-site/src/components/editor/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { Notice } from '@wordpress/components';\nimport { useInstanceId, useViewportMatch } from '@wordpress/compose';\nimport { store as preferencesStore } from '@wordpress/preferences';\nimport {\n\tBlockBreadcrumb,\n\tBlockToolbar,\n\tstore as blockEditorStore,\n\tprivateApis as blockEditorPrivateApis,\n\tBlockInspector,\n} from '@wordpress/block-editor';\nimport {\n\tInterfaceSkeleton,\n\tComplementaryArea,\n\tstore as interfaceStore,\n} from '@wordpress/interface';\nimport {\n\tEditorKeyboardShortcutsRegister,\n\tEditorKeyboardShortcuts,\n\tEditorNotices,\n\tEditorSnackbars,\n\tprivateApis as editorPrivateApis,\n\tstore as editorStore,\n} from '@wordpress/editor';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { store as coreDataStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport {\n\tSidebarComplementaryAreaFills,\n\tSidebarInspectorFill,\n} from '../sidebar-edit-mode';\nimport CodeEditor from '../code-editor';\nimport KeyboardShortcutsEditMode from '../keyboard-shortcuts/edit-mode';\nimport WelcomeGuide from '../welcome-guide';\nimport StartTemplateOptions from '../start-template-options';\nimport { store as editSiteStore } from '../../store';\nimport { GlobalStylesRenderer } from '../global-styles-renderer';\nimport useTitle from '../routes/use-title';\nimport CanvasLoader from '../canvas-loader';\nimport { unlock } from '../../lock-unlock';\nimport useEditedEntityRecord from '../use-edited-entity-record';\nimport PatternModal from '../pattern-modal';\nimport { POST_TYPE_LABELS, TEMPLATE_POST_TYPE } from '../../utils/constants';\nimport SiteEditorCanvas from '../block-editor/site-editor-canvas';\nimport TemplatePartConverter from '../template-part-converter';\nimport { useSpecificEditorSettings } from '../block-editor/use-site-editor-settings';\n\nconst { BlockRemovalWarningModal } = unlock( blockEditorPrivateApis );\nconst {\n\tExperimentalEditorProvider: EditorProvider,\n\tInserterSidebar,\n\tListViewSidebar,\n} = unlock( editorPrivateApis );\n\nconst interfaceLabels = {\n\t/* translators: accessibility text for the editor content landmark region. */\n\tbody: __( 'Editor content' ),\n\t/* translators: accessibility text for the editor settings landmark region. */\n\tsidebar: __( 'Editor settings' ),\n\t/* translators: accessibility text for the editor publish landmark region. */\n\tactions: __( 'Editor publish' ),\n\t/* translators: accessibility text for the editor footer landmark region. */\n\tfooter: __( 'Editor footer' ),\n};\n\n// Prevent accidental removal of certain blocks, asking the user for\n// confirmation.\nconst blockRemovalRules = {\n\t'core/query': __( 'Query Loop displays a list of posts or pages.' ),\n\t'core/post-content': __(\n\t\t'Post Content displays the content of a post or page.'\n\t),\n\t'core/post-template': __(\n\t\t'Post Template displays each post or page in a Query Loop.'\n\t),\n\t'bindings/core/pattern-overrides': __(\n\t\t'Blocks from synced patterns that can have overriden content.'\n\t),\n};\n\nexport default function Editor( { isLoading } ) {\n\tconst {\n\t\trecord: editedPost,\n\t\tgetTitle,\n\t\tisLoaded: hasLoadedPost,\n\t} = useEditedEntityRecord();\n\n\tconst { type: editedPostType } = editedPost;\n\n\tconst isLargeViewport = useViewportMatch( 'medium' );\n\n\tconst {\n\t\tcontext,\n\t\tcontextPost,\n\t\teditorMode,\n\t\tcanvasMode,\n\t\tblockEditorMode,\n\t\tisRightSidebarOpen,\n\t\tisInserterOpen,\n\t\tisListViewOpen,\n\t\tisDistractionFree,\n\t\tshowIconLabels,\n\t\tshowBlockBreadcrumbs,\n\t\tpostTypeLabel,\n\t} = useSelect( ( select ) => {\n\t\tconst { get } = select( preferencesStore );\n\t\tconst { getEditedPostContext, getEditorMode, getCanvasMode } = unlock(\n\t\t\tselect( editSiteStore )\n\t\t);\n\t\tconst { __unstableGetEditorMode } = select( blockEditorStore );\n\t\tconst { getActiveComplementaryArea } = select( interfaceStore );\n\t\tconst { getEntityRecord } = select( coreDataStore );\n\t\tconst { isInserterOpened, isListViewOpened, getPostTypeLabel } =\n\t\t\tselect( editorStore );\n\t\tconst _context = getEditedPostContext();\n\n\t\t// The currently selected entity to display.\n\t\t// Typically template or template part in the site editor.\n\t\treturn {\n\t\t\tcontext: _context,\n\t\t\tcontextPost: _context?.postId\n\t\t\t\t? getEntityRecord(\n\t\t\t\t\t\t'postType',\n\t\t\t\t\t\t_context.postType,\n\t\t\t\t\t\t_context.postId\n\t\t\t\t )\n\t\t\t\t: undefined,\n\t\t\teditorMode: getEditorMode(),\n\t\t\tcanvasMode: getCanvasMode(),\n\t\t\tblockEditorMode: __unstableGetEditorMode(),\n\t\t\tisInserterOpen: isInserterOpened(),\n\t\t\tisListViewOpen: isListViewOpened(),\n\t\t\tisRightSidebarOpen: getActiveComplementaryArea(\n\t\t\t\teditSiteStore.name\n\t\t\t),\n\t\t\tisDistractionFree: get( 'core', 'distractionFree' ),\n\t\t\tshowBlockBreadcrumbs: get( 'core', 'showBlockBreadcrumbs' ),\n\t\t\tshowIconLabels: get( 'core', 'showIconLabels' ),\n\t\t\tpostTypeLabel: getPostTypeLabel(),\n\t\t};\n\t}, [] );\n\n\tconst isViewMode = canvasMode === 'view';\n\tconst isEditMode = canvasMode === 'edit';\n\tconst showVisualEditor = isViewMode || editorMode === 'visual';\n\tconst shouldShowBlockBreadcrumbs =\n\t\t! isDistractionFree &&\n\t\tshowBlockBreadcrumbs &&\n\t\tisEditMode &&\n\t\tshowVisualEditor &&\n\t\tblockEditorMode !== 'zoom-out';\n\tconst shouldShowInserter = isEditMode && showVisualEditor && isInserterOpen;\n\tconst shouldShowListView = isEditMode && showVisualEditor && isListViewOpen;\n\tconst secondarySidebarLabel = isListViewOpen\n\t\t? __( 'List View' )\n\t\t: __( 'Block Library' );\n\tconst postWithTemplate = !! context?.postId;\n\n\tlet title;\n\tif ( hasLoadedPost ) {\n\t\ttitle = sprintf(\n\t\t\t// translators: A breadcrumb trail for the Admin document title. %1$s: title of template being edited, %2$s: type of template (Template or Template Part).\n\t\t\t__( '%1$s ‹ %2$s' ),\n\t\t\tgetTitle(),\n\t\t\tPOST_TYPE_LABELS[ editedPostType ] ??\n\t\t\t\tPOST_TYPE_LABELS[ TEMPLATE_POST_TYPE ]\n\t\t);\n\t}\n\n\t// Only announce the title once the editor is ready to prevent \"Replace\"\n\t// action in <URLQueryController> from double-announcing.\n\tuseTitle( hasLoadedPost && title );\n\n\tconst loadingProgressId = useInstanceId(\n\t\tCanvasLoader,\n\t\t'edit-site-editor__loading-progress'\n\t);\n\n\tconst settings = useSpecificEditorSettings();\n\tconst isReady =\n\t\t! isLoading &&\n\t\t( ( postWithTemplate && !! contextPost && !! editedPost ) ||\n\t\t\t( ! postWithTemplate && !! editedPost ) );\n\n\treturn (\n\t\t<>\n\t\t\t{ ! isReady ? <CanvasLoader id={ loadingProgressId } /> : null }\n\t\t\t{ isEditMode && <WelcomeGuide /> }\n\t\t\t{ hasLoadedPost && ! editedPost && (\n\t\t\t\t<Notice status=\"warning\" isDismissible={ false }>\n\t\t\t\t\t{ __(\n\t\t\t\t\t\t\"You attempted to edit an item that doesn't exist. Perhaps it was deleted?\"\n\t\t\t\t\t) }\n\t\t\t\t</Notice>\n\t\t\t) }\n\t\t\t{ isReady && (\n\t\t\t\t<EditorProvider\n\t\t\t\t\tpost={ postWithTemplate ? contextPost : editedPost }\n\t\t\t\t\t__unstableTemplate={\n\t\t\t\t\t\tpostWithTemplate ? editedPost : undefined\n\t\t\t\t\t}\n\t\t\t\t\tsettings={ settings }\n\t\t\t\t\tuseSubRegistry={ false }\n\t\t\t\t>\n\t\t\t\t\t<SidebarComplementaryAreaFills />\n\t\t\t\t\t{ isEditMode && <StartTemplateOptions /> }\n\t\t\t\t\t<InterfaceSkeleton\n\t\t\t\t\t\tisDistractionFree={ isDistractionFree }\n\t\t\t\t\t\tenableRegionNavigation={ false }\n\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t'edit-site-editor__interface-skeleton',\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t'show-icon-labels': showIconLabels,\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tnotices={ <EditorSnackbars /> }\n\t\t\t\t\t\tcontent={\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<GlobalStylesRenderer />\n\t\t\t\t\t\t\t\t{ isEditMode && <EditorNotices /> }\n\t\t\t\t\t\t\t\t{ showVisualEditor && (\n\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t<TemplatePartConverter />\n\t\t\t\t\t\t\t\t\t\t<SidebarInspectorFill>\n\t\t\t\t\t\t\t\t\t\t\t<BlockInspector />\n\t\t\t\t\t\t\t\t\t\t</SidebarInspectorFill>\n\t\t\t\t\t\t\t\t\t\t{ ! isLargeViewport && (\n\t\t\t\t\t\t\t\t\t\t\t<BlockToolbar hideDragHandle />\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t<SiteEditorCanvas />\n\t\t\t\t\t\t\t\t\t\t<BlockRemovalWarningModal\n\t\t\t\t\t\t\t\t\t\t\trules={ blockRemovalRules }\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t<PatternModal />\n\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t{ editorMode === 'text' && isEditMode && (\n\t\t\t\t\t\t\t\t\t<CodeEditor />\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t{ isEditMode && (\n\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t<KeyboardShortcutsEditMode />\n\t\t\t\t\t\t\t\t\t\t<EditorKeyboardShortcutsRegister />\n\t\t\t\t\t\t\t\t\t\t<EditorKeyboardShortcuts />\n\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t}\n\t\t\t\t\t\tsecondarySidebar={\n\t\t\t\t\t\t\tisEditMode &&\n\t\t\t\t\t\t\t( ( shouldShowInserter && <InserterSidebar /> ) ||\n\t\t\t\t\t\t\t\t( shouldShowListView && <ListViewSidebar /> ) )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tsidebar={\n\t\t\t\t\t\t\tisEditMode &&\n\t\t\t\t\t\t\tisRightSidebarOpen && (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t<ComplementaryArea.Slot scope=\"core/edit-site\" />\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\tfooter={\n\t\t\t\t\t\t\tshouldShowBlockBreadcrumbs && (\n\t\t\t\t\t\t\t\t<BlockBreadcrumb\n\t\t\t\t\t\t\t\t\trootLabelText={ postTypeLabel }\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\tlabels={ {\n\t\t\t\t\t\t\t...interfaceLabels,\n\t\t\t\t\t\t\tsecondarySidebar: secondarySidebarLabel,\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t</EditorProvider>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_classnames","_interopRequireDefault","require","_data","_components","_compose","_preferences","_blockEditor","_interface","_editor","_i18n","_coreData","_sidebarEditMode","_codeEditor","_editMode","_welcomeGuide","_startTemplateOptions","_store","_globalStylesRenderer","_useTitle","_canvasLoader","_lockUnlock","_useEditedEntityRecord","_patternModal","_constants","_siteEditorCanvas","_templatePartConverter","_useSiteEditorSettings","BlockRemovalWarningModal","unlock","blockEditorPrivateApis","ExperimentalEditorProvider","EditorProvider","InserterSidebar","ListViewSidebar","editorPrivateApis","interfaceLabels","body","__","sidebar","actions","footer","blockRemovalRules","Editor","isLoading","record","editedPost","getTitle","isLoaded","hasLoadedPost","useEditedEntityRecord","type","editedPostType","isLargeViewport","useViewportMatch","context","contextPost","editorMode","canvasMode","blockEditorMode","isRightSidebarOpen","isInserterOpen","isListViewOpen","isDistractionFree","showIconLabels","showBlockBreadcrumbs","postTypeLabel","useSelect","select","get","preferencesStore","getEditedPostContext","getEditorMode","getCanvasMode","editSiteStore","__unstableGetEditorMode","blockEditorStore","getActiveComplementaryArea","interfaceStore","getEntityRecord","coreDataStore","isInserterOpened","isListViewOpened","getPostTypeLabel","editorStore","_context","postId","postType","undefined","name","isViewMode","isEditMode","showVisualEditor","shouldShowBlockBreadcrumbs","shouldShowInserter","shouldShowListView","secondarySidebarLabel","postWithTemplate","title","_POST_TYPE_LABELS$edi","sprintf","POST_TYPE_LABELS","TEMPLATE_POST_TYPE","useTitle","loadingProgressId","useInstanceId","CanvasLoader","settings","useSpecificEditorSettings","isReady","_react","createElement","Fragment","default","id","Notice","status","isDismissible","post","__unstableTemplate","useSubRegistry","SidebarComplementaryAreaFills","InterfaceSkeleton","enableRegionNavigation","className","classnames","notices","EditorSnackbars","content","GlobalStylesRenderer","EditorNotices","SidebarInspectorFill","BlockInspector","BlockToolbar","hideDragHandle","rules","EditorKeyboardShortcutsRegister","EditorKeyboardShortcuts","secondarySidebar","ComplementaryArea","Slot","scope","BlockBreadcrumb","rootLabelText","labels"],"sources":["@wordpress/edit-site/src/components/editor/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { Notice } from '@wordpress/components';\nimport { useInstanceId, useViewportMatch } from '@wordpress/compose';\nimport { store as preferencesStore } from '@wordpress/preferences';\nimport {\n\tBlockBreadcrumb,\n\tBlockToolbar,\n\tstore as blockEditorStore,\n\tprivateApis as blockEditorPrivateApis,\n\tBlockInspector,\n} from '@wordpress/block-editor';\nimport {\n\tInterfaceSkeleton,\n\tComplementaryArea,\n\tstore as interfaceStore,\n} from '@wordpress/interface';\nimport {\n\tEditorKeyboardShortcutsRegister,\n\tEditorKeyboardShortcuts,\n\tEditorNotices,\n\tEditorSnackbars,\n\tprivateApis as editorPrivateApis,\n\tstore as editorStore,\n} from '@wordpress/editor';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { store as coreDataStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport {\n\tSidebarComplementaryAreaFills,\n\tSidebarInspectorFill,\n} from '../sidebar-edit-mode';\nimport CodeEditor from '../code-editor';\nimport KeyboardShortcutsEditMode from '../keyboard-shortcuts/edit-mode';\nimport WelcomeGuide from '../welcome-guide';\nimport StartTemplateOptions from '../start-template-options';\nimport { store as editSiteStore } from '../../store';\nimport { GlobalStylesRenderer } from '../global-styles-renderer';\nimport useTitle from '../routes/use-title';\nimport CanvasLoader from '../canvas-loader';\nimport { unlock } from '../../lock-unlock';\nimport useEditedEntityRecord from '../use-edited-entity-record';\nimport PatternModal from '../pattern-modal';\nimport { POST_TYPE_LABELS, TEMPLATE_POST_TYPE } from '../../utils/constants';\nimport SiteEditorCanvas from '../block-editor/site-editor-canvas';\nimport TemplatePartConverter from '../template-part-converter';\nimport { useSpecificEditorSettings } from '../block-editor/use-site-editor-settings';\n\nconst { BlockRemovalWarningModal } = unlock( blockEditorPrivateApis );\nconst {\n\tExperimentalEditorProvider: EditorProvider,\n\tInserterSidebar,\n\tListViewSidebar,\n} = unlock( editorPrivateApis );\n\nconst interfaceLabels = {\n\t/* translators: accessibility text for the editor content landmark region. */\n\tbody: __( 'Editor content' ),\n\t/* translators: accessibility text for the editor settings landmark region. */\n\tsidebar: __( 'Editor settings' ),\n\t/* translators: accessibility text for the editor publish landmark region. */\n\tactions: __( 'Editor publish' ),\n\t/* translators: accessibility text for the editor footer landmark region. */\n\tfooter: __( 'Editor footer' ),\n};\n\n// Prevent accidental removal of certain blocks, asking the user for\n// confirmation.\nconst blockRemovalRules = {\n\t'core/query': __( 'Query Loop displays a list of posts or pages.' ),\n\t'core/post-content': __(\n\t\t'Post Content displays the content of a post or page.'\n\t),\n\t'core/post-template': __(\n\t\t'Post Template displays each post or page in a Query Loop.'\n\t),\n\t'bindings/core/pattern-overrides': __(\n\t\t'Blocks from synced patterns that can have overriden content.'\n\t),\n};\n\nexport default function Editor( { isLoading } ) {\n\tconst {\n\t\trecord: editedPost,\n\t\tgetTitle,\n\t\tisLoaded: hasLoadedPost,\n\t} = useEditedEntityRecord();\n\n\tconst { type: editedPostType } = editedPost;\n\n\tconst isLargeViewport = useViewportMatch( 'medium' );\n\n\tconst {\n\t\tcontext,\n\t\tcontextPost,\n\t\teditorMode,\n\t\tcanvasMode,\n\t\tblockEditorMode,\n\t\tisRightSidebarOpen,\n\t\tisInserterOpen,\n\t\tisListViewOpen,\n\t\tisDistractionFree,\n\t\tshowIconLabels,\n\t\tshowBlockBreadcrumbs,\n\t\tpostTypeLabel,\n\t} = useSelect( ( select ) => {\n\t\tconst { get } = select( preferencesStore );\n\t\tconst { getEditedPostContext, getEditorMode, getCanvasMode } = unlock(\n\t\t\tselect( editSiteStore )\n\t\t);\n\t\tconst { __unstableGetEditorMode } = select( blockEditorStore );\n\t\tconst { getActiveComplementaryArea } = select( interfaceStore );\n\t\tconst { getEntityRecord } = select( coreDataStore );\n\t\tconst { isInserterOpened, isListViewOpened, getPostTypeLabel } =\n\t\t\tselect( editorStore );\n\t\tconst _context = getEditedPostContext();\n\n\t\t// The currently selected entity to display.\n\t\t// Typically template or template part in the site editor.\n\t\treturn {\n\t\t\tcontext: _context,\n\t\t\tcontextPost: _context?.postId\n\t\t\t\t? getEntityRecord(\n\t\t\t\t\t\t'postType',\n\t\t\t\t\t\t_context.postType,\n\t\t\t\t\t\t_context.postId\n\t\t\t\t )\n\t\t\t\t: undefined,\n\t\t\teditorMode: getEditorMode(),\n\t\t\tcanvasMode: getCanvasMode(),\n\t\t\tblockEditorMode: __unstableGetEditorMode(),\n\t\t\tisInserterOpen: isInserterOpened(),\n\t\t\tisListViewOpen: isListViewOpened(),\n\t\t\tisRightSidebarOpen: getActiveComplementaryArea(\n\t\t\t\teditSiteStore.name\n\t\t\t),\n\t\t\tisDistractionFree: get( 'core', 'distractionFree' ),\n\t\t\tshowBlockBreadcrumbs: get( 'core', 'showBlockBreadcrumbs' ),\n\t\t\tshowIconLabels: get( 'core', 'showIconLabels' ),\n\t\t\tpostTypeLabel: getPostTypeLabel(),\n\t\t};\n\t}, [] );\n\n\tconst isViewMode = canvasMode === 'view';\n\tconst isEditMode = canvasMode === 'edit';\n\tconst showVisualEditor = isViewMode || editorMode === 'visual';\n\tconst shouldShowBlockBreadcrumbs =\n\t\t! isDistractionFree &&\n\t\tshowBlockBreadcrumbs &&\n\t\tisEditMode &&\n\t\tshowVisualEditor &&\n\t\tblockEditorMode !== 'zoom-out';\n\tconst shouldShowInserter = isEditMode && showVisualEditor && isInserterOpen;\n\tconst shouldShowListView = isEditMode && showVisualEditor && isListViewOpen;\n\tconst secondarySidebarLabel = isListViewOpen\n\t\t? __( 'List View' )\n\t\t: __( 'Block Library' );\n\tconst postWithTemplate = !! context?.postId;\n\n\tlet title;\n\tif ( hasLoadedPost ) {\n\t\ttitle = sprintf(\n\t\t\t// translators: A breadcrumb trail for the Admin document title. %1$s: title of template being edited, %2$s: type of template (Template or Template Part).\n\t\t\t__( '%1$s ‹ %2$s' ),\n\t\t\tgetTitle(),\n\t\t\tPOST_TYPE_LABELS[ editedPostType ] ??\n\t\t\t\tPOST_TYPE_LABELS[ TEMPLATE_POST_TYPE ]\n\t\t);\n\t}\n\n\t// Only announce the title once the editor is ready to prevent \"Replace\"\n\t// action in <URLQueryController> from double-announcing.\n\tuseTitle( hasLoadedPost && title );\n\n\tconst loadingProgressId = useInstanceId(\n\t\tCanvasLoader,\n\t\t'edit-site-editor__loading-progress'\n\t);\n\n\tconst settings = useSpecificEditorSettings();\n\tconst isReady =\n\t\t! isLoading &&\n\t\t( ( postWithTemplate && !! contextPost && !! editedPost ) ||\n\t\t\t( ! postWithTemplate && !! editedPost ) );\n\n\treturn (\n\t\t<>\n\t\t\t{ ! isReady ? <CanvasLoader id={ loadingProgressId } /> : null }\n\t\t\t{ isEditMode && <WelcomeGuide /> }\n\t\t\t{ hasLoadedPost && ! editedPost && (\n\t\t\t\t<Notice status=\"warning\" isDismissible={ false }>\n\t\t\t\t\t{ __(\n\t\t\t\t\t\t\"You attempted to edit an item that doesn't exist. Perhaps it was deleted?\"\n\t\t\t\t\t) }\n\t\t\t\t</Notice>\n\t\t\t) }\n\t\t\t{ isReady && (\n\t\t\t\t<EditorProvider\n\t\t\t\t\tpost={ postWithTemplate ? contextPost : editedPost }\n\t\t\t\t\t__unstableTemplate={\n\t\t\t\t\t\tpostWithTemplate ? editedPost : undefined\n\t\t\t\t\t}\n\t\t\t\t\tsettings={ settings }\n\t\t\t\t\tuseSubRegistry={ false }\n\t\t\t\t>\n\t\t\t\t\t<SidebarComplementaryAreaFills />\n\t\t\t\t\t{ isEditMode && <StartTemplateOptions /> }\n\t\t\t\t\t<InterfaceSkeleton\n\t\t\t\t\t\tisDistractionFree={ isDistractionFree }\n\t\t\t\t\t\tenableRegionNavigation={ false }\n\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t'edit-site-editor__interface-skeleton',\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t'show-icon-labels': showIconLabels,\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tnotices={ <EditorSnackbars /> }\n\t\t\t\t\t\tcontent={\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<GlobalStylesRenderer />\n\t\t\t\t\t\t\t\t{ isEditMode && <EditorNotices /> }\n\t\t\t\t\t\t\t\t{ showVisualEditor && (\n\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t<TemplatePartConverter />\n\t\t\t\t\t\t\t\t\t\t<SidebarInspectorFill>\n\t\t\t\t\t\t\t\t\t\t\t<BlockInspector />\n\t\t\t\t\t\t\t\t\t\t</SidebarInspectorFill>\n\t\t\t\t\t\t\t\t\t\t{ ! isLargeViewport && (\n\t\t\t\t\t\t\t\t\t\t\t<BlockToolbar hideDragHandle />\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t<SiteEditorCanvas />\n\t\t\t\t\t\t\t\t\t\t<BlockRemovalWarningModal\n\t\t\t\t\t\t\t\t\t\t\trules={ blockRemovalRules }\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t<PatternModal />\n\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t{ editorMode === 'text' && isEditMode && (\n\t\t\t\t\t\t\t\t\t<CodeEditor />\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t{ isEditMode && (\n\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t<KeyboardShortcutsEditMode />\n\t\t\t\t\t\t\t\t\t\t<EditorKeyboardShortcutsRegister />\n\t\t\t\t\t\t\t\t\t\t<EditorKeyboardShortcuts />\n\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t}\n\t\t\t\t\t\tsecondarySidebar={\n\t\t\t\t\t\t\tisEditMode &&\n\t\t\t\t\t\t\t( ( shouldShowInserter && <InserterSidebar /> ) ||\n\t\t\t\t\t\t\t\t( shouldShowListView && <ListViewSidebar /> ) )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tsidebar={\n\t\t\t\t\t\t\t! isDistractionFree &&\n\t\t\t\t\t\t\tisEditMode &&\n\t\t\t\t\t\t\tisRightSidebarOpen && (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t<ComplementaryArea.Slot scope=\"core/edit-site\" />\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\tfooter={\n\t\t\t\t\t\t\tshouldShowBlockBreadcrumbs && (\n\t\t\t\t\t\t\t\t<BlockBreadcrumb\n\t\t\t\t\t\t\t\t\trootLabelText={ postTypeLabel }\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\tlabels={ {\n\t\t\t\t\t\t\t...interfaceLabels,\n\t\t\t\t\t\t\tsecondarySidebar: secondarySidebarLabel,\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t</EditorProvider>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"],"mappings":";;;;;;;;AAGA,IAAAA,WAAA,GAAAC,sBAAA,CAAAC,OAAA;AAKA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,WAAA,GAAAF,OAAA;AACA,IAAAG,QAAA,GAAAH,OAAA;AACA,IAAAI,YAAA,GAAAJ,OAAA;AACA,IAAAK,YAAA,GAAAL,OAAA;AAOA,IAAAM,UAAA,GAAAN,OAAA;AAKA,IAAAO,OAAA,GAAAP,OAAA;AAQA,IAAAQ,KAAA,GAAAR,OAAA;AACA,IAAAS,SAAA,GAAAT,OAAA;AAKA,IAAAU,gBAAA,GAAAV,OAAA;AAIA,IAAAW,WAAA,GAAAZ,sBAAA,CAAAC,OAAA;AACA,IAAAY,SAAA,GAAAb,sBAAA,CAAAC,OAAA;AACA,IAAAa,aAAA,GAAAd,sBAAA,CAAAC,OAAA;AACA,IAAAc,qBAAA,GAAAf,sBAAA,CAAAC,OAAA;AACA,IAAAe,MAAA,GAAAf,OAAA;AACA,IAAAgB,qBAAA,GAAAhB,OAAA;AACA,IAAAiB,SAAA,GAAAlB,sBAAA,CAAAC,OAAA;AACA,IAAAkB,aAAA,GAAAnB,sBAAA,CAAAC,OAAA;AACA,IAAAmB,WAAA,GAAAnB,OAAA;AACA,IAAAoB,sBAAA,GAAArB,sBAAA,CAAAC,OAAA;AACA,IAAAqB,aAAA,GAAAtB,sBAAA,CAAAC,OAAA;AACA,IAAAsB,UAAA,GAAAtB,OAAA;AACA,IAAAuB,iBAAA,GAAAxB,sBAAA,CAAAC,OAAA;AACA,IAAAwB,sBAAA,GAAAzB,sBAAA,CAAAC,OAAA;AACA,IAAAyB,sBAAA,GAAAzB,OAAA;AAxDA;AACA;AACA;;AAGA;AACA;AACA;;AA4BA;AACA;AACA;;AAqBA,MAAM;EAAE0B;AAAyB,CAAC,GAAG,IAAAC,kBAAM,EAAEC,wBAAuB,CAAC;AACrE,MAAM;EACLC,0BAA0B,EAAEC,cAAc;EAC1CC,eAAe;EACfC;AACD,CAAC,GAAG,IAAAL,kBAAM,EAAEM,mBAAkB,CAAC;AAE/B,MAAMC,eAAe,GAAG;EACvB;EACAC,IAAI,EAAE,IAAAC,QAAE,EAAE,gBAAiB,CAAC;EAC5B;EACAC,OAAO,EAAE,IAAAD,QAAE,EAAE,iBAAkB,CAAC;EAChC;EACAE,OAAO,EAAE,IAAAF,QAAE,EAAE,gBAAiB,CAAC;EAC/B;EACAG,MAAM,EAAE,IAAAH,QAAE,EAAE,eAAgB;AAC7B,CAAC;;AAED;AACA;AACA,MAAMI,iBAAiB,GAAG;EACzB,YAAY,EAAE,IAAAJ,QAAE,EAAE,+CAAgD,CAAC;EACnE,mBAAmB,EAAE,IAAAA,QAAE,EACtB,sDACD,CAAC;EACD,oBAAoB,EAAE,IAAAA,QAAE,EACvB,2DACD,CAAC;EACD,iCAAiC,EAAE,IAAAA,QAAE,EACpC,8DACD;AACD,CAAC;AAEc,SAASK,MAAMA,CAAE;EAAEC;AAAU,CAAC,EAAG;EAC/C,MAAM;IACLC,MAAM,EAAEC,UAAU;IAClBC,QAAQ;IACRC,QAAQ,EAAEC;EACX,CAAC,GAAG,IAAAC,8BAAqB,EAAC,CAAC;EAE3B,MAAM;IAAEC,IAAI,EAAEC;EAAe,CAAC,GAAGN,UAAU;EAE3C,MAAMO,eAAe,GAAG,IAAAC,yBAAgB,EAAE,QAAS,CAAC;EAEpD,MAAM;IACLC,OAAO;IACPC,WAAW;IACXC,UAAU;IACVC,UAAU;IACVC,eAAe;IACfC,kBAAkB;IAClBC,cAAc;IACdC,cAAc;IACdC,iBAAiB;IACjBC,cAAc;IACdC,oBAAoB;IACpBC;EACD,CAAC,GAAG,IAAAC,eAAS,EAAIC,MAAM,IAAM;IAC5B,MAAM;MAAEC;IAAI,CAAC,GAAGD,MAAM,CAAEE,kBAAiB,CAAC;IAC1C,MAAM;MAAEC,oBAAoB;MAAEC,aAAa;MAAEC;IAAc,CAAC,GAAG,IAAA5C,kBAAM,EACpEuC,MAAM,CAAEM,YAAc,CACvB,CAAC;IACD,MAAM;MAAEC;IAAwB,CAAC,GAAGP,MAAM,CAAEQ,kBAAiB,CAAC;IAC9D,MAAM;MAAEC;IAA2B,CAAC,GAAGT,MAAM,CAAEU,gBAAe,CAAC;IAC/D,MAAM;MAAEC;IAAgB,CAAC,GAAGX,MAAM,CAAEY,eAAc,CAAC;IACnD,MAAM;MAAEC,gBAAgB;MAAEC,gBAAgB;MAAEC;IAAiB,CAAC,GAC7Df,MAAM,CAAEgB,aAAY,CAAC;IACtB,MAAMC,QAAQ,GAAGd,oBAAoB,CAAC,CAAC;;IAEvC;IACA;IACA,OAAO;MACNhB,OAAO,EAAE8B,QAAQ;MACjB7B,WAAW,EAAE6B,QAAQ,EAAEC,MAAM,GAC1BP,eAAe,CACf,UAAU,EACVM,QAAQ,CAACE,QAAQ,EACjBF,QAAQ,CAACC,MACT,CAAC,GACDE,SAAS;MACZ/B,UAAU,EAAEe,aAAa,CAAC,CAAC;MAC3Bd,UAAU,EAAEe,aAAa,CAAC,CAAC;MAC3Bd,eAAe,EAAEgB,uBAAuB,CAAC,CAAC;MAC1Cd,cAAc,EAAEoB,gBAAgB,CAAC,CAAC;MAClCnB,cAAc,EAAEoB,gBAAgB,CAAC,CAAC;MAClCtB,kBAAkB,EAAEiB,0BAA0B,CAC7CH,YAAa,CAACe,IACf,CAAC;MACD1B,iBAAiB,EAAEM,GAAG,CAAE,MAAM,EAAE,iBAAkB,CAAC;MACnDJ,oBAAoB,EAAEI,GAAG,CAAE,MAAM,EAAE,sBAAuB,CAAC;MAC3DL,cAAc,EAAEK,GAAG,CAAE,MAAM,EAAE,gBAAiB,CAAC;MAC/CH,aAAa,EAAEiB,gBAAgB,CAAC;IACjC,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;EAEP,MAAMO,UAAU,GAAGhC,UAAU,KAAK,MAAM;EACxC,MAAMiC,UAAU,GAAGjC,UAAU,KAAK,MAAM;EACxC,MAAMkC,gBAAgB,GAAGF,UAAU,IAAIjC,UAAU,KAAK,QAAQ;EAC9D,MAAMoC,0BAA0B,GAC/B,CAAE9B,iBAAiB,IACnBE,oBAAoB,IACpB0B,UAAU,IACVC,gBAAgB,IAChBjC,eAAe,KAAK,UAAU;EAC/B,MAAMmC,kBAAkB,GAAGH,UAAU,IAAIC,gBAAgB,IAAI/B,cAAc;EAC3E,MAAMkC,kBAAkB,GAAGJ,UAAU,IAAIC,gBAAgB,IAAI9B,cAAc;EAC3E,MAAMkC,qBAAqB,GAAGlC,cAAc,GACzC,IAAAxB,QAAE,EAAE,WAAY,CAAC,GACjB,IAAAA,QAAE,EAAE,eAAgB,CAAC;EACxB,MAAM2D,gBAAgB,GAAG,CAAC,CAAE1C,OAAO,EAAE+B,MAAM;EAE3C,IAAIY,KAAK;EACT,IAAKjD,aAAa,EAAG;IAAA,IAAAkD,qBAAA;IACpBD,KAAK,GAAG,IAAAE,aAAO;IACd;IACA,IAAA9D,QAAE,EAAE,aAAc,CAAC,EACnBS,QAAQ,CAAC,CAAC,GAAAoD,qBAAA,GACVE,2BAAgB,CAAEjD,cAAc,CAAE,cAAA+C,qBAAA,cAAAA,qBAAA,GACjCE,2BAAgB,CAAEC,6BAAkB,CACtC,CAAC;EACF;;EAEA;EACA;EACA,IAAAC,iBAAQ,EAAEtD,aAAa,IAAIiD,KAAM,CAAC;EAElC,MAAMM,iBAAiB,GAAG,IAAAC,sBAAa,EACtCC,qBAAY,EACZ,oCACD,CAAC;EAED,MAAMC,QAAQ,GAAG,IAAAC,gDAAyB,EAAC,CAAC;EAC5C,MAAMC,OAAO,GACZ,CAAEjE,SAAS,KACPqD,gBAAgB,IAAI,CAAC,CAAEzC,WAAW,IAAI,CAAC,CAAEV,UAAU,IACpD,CAAEmD,gBAAgB,IAAI,CAAC,CAAEnD,UAAY,CAAE;EAE3C,OACC,IAAAgE,MAAA,CAAAC,aAAA,EAAAD,MAAA,CAAAE,QAAA,QACG,CAAEH,OAAO,GAAG,IAAAC,MAAA,CAAAC,aAAA,EAAC3F,aAAA,CAAA6F,OAAY;IAACC,EAAE,EAAGV;EAAmB,CAAE,CAAC,GAAG,IAAI,EAC5Db,UAAU,IAAI,IAAAmB,MAAA,CAAAC,aAAA,EAAChG,aAAA,CAAAkG,OAAY,MAAE,CAAC,EAC9BhE,aAAa,IAAI,CAAEH,UAAU,IAC9B,IAAAgE,MAAA,CAAAC,aAAA,EAAC3G,WAAA,CAAA+G,MAAM;IAACC,MAAM,EAAC,SAAS;IAACC,aAAa,EAAG;EAAO,GAC7C,IAAA/E,QAAE,EACH,2EACD,CACO,CACR,EACCuE,OAAO,IACR,IAAAC,MAAA,CAAAC,aAAA,EAAC/E,cAAc;IACdsF,IAAI,EAAGrB,gBAAgB,GAAGzC,WAAW,GAAGV,UAAY;IACpDyE,kBAAkB,EACjBtB,gBAAgB,GAAGnD,UAAU,GAAG0C,SAChC;IACDmB,QAAQ,EAAGA,QAAU;IACrBa,cAAc,EAAG;EAAO,GAExB,IAAAV,MAAA,CAAAC,aAAA,EAACnG,gBAAA,CAAA6G,6BAA6B,MAAE,CAAC,EAC/B9B,UAAU,IAAI,IAAAmB,MAAA,CAAAC,aAAA,EAAC/F,qBAAA,CAAAiG,OAAoB,MAAE,CAAC,EACxC,IAAAH,MAAA,CAAAC,aAAA,EAACvG,UAAA,CAAAkH,iBAAiB;IACjB3D,iBAAiB,EAAGA,iBAAmB;IACvC4D,sBAAsB,EAAG,KAAO;IAChCC,SAAS,EAAG,IAAAC,mBAAU,EACrB,sCAAsC,EACtC;MACC,kBAAkB,EAAE7D;IACrB,CACD,CAAG;IACH8D,OAAO,EAAG,IAAAhB,MAAA,CAAAC,aAAA,EAACtG,OAAA,CAAAsH,eAAe,MAAE,CAAG;IAC/BC,OAAO,EACN,IAAAlB,MAAA,CAAAC,aAAA,EAAAD,MAAA,CAAAE,QAAA,QACC,IAAAF,MAAA,CAAAC,aAAA,EAAC7F,qBAAA,CAAA+G,oBAAoB,MAAE,CAAC,EACtBtC,UAAU,IAAI,IAAAmB,MAAA,CAAAC,aAAA,EAACtG,OAAA,CAAAyH,aAAa,MAAE,CAAC,EAC/BtC,gBAAgB,IACjB,IAAAkB,MAAA,CAAAC,aAAA,EAAAD,MAAA,CAAAE,QAAA,QACC,IAAAF,MAAA,CAAAC,aAAA,EAACrF,sBAAA,CAAAuF,OAAqB,MAAE,CAAC,EACzB,IAAAH,MAAA,CAAAC,aAAA,EAACnG,gBAAA,CAAAuH,oBAAoB,QACpB,IAAArB,MAAA,CAAAC,aAAA,EAACxG,YAAA,CAAA6H,cAAc,MAAE,CACI,CAAC,EACrB,CAAE/E,eAAe,IAClB,IAAAyD,MAAA,CAAAC,aAAA,EAACxG,YAAA,CAAA8H,YAAY;MAACC,cAAc;IAAA,CAAE,CAC9B,EACD,IAAAxB,MAAA,CAAAC,aAAA,EAACtF,iBAAA,CAAAwF,OAAgB,MAAE,CAAC,EACpB,IAAAH,MAAA,CAAAC,aAAA,EAACnF,wBAAwB;MACxB2G,KAAK,EAAG7F;IAAmB,CAC3B,CAAC,EACF,IAAAoE,MAAA,CAAAC,aAAA,EAACxF,aAAA,CAAA0F,OAAY,MAAE,CACd,CACF,EACCxD,UAAU,KAAK,MAAM,IAAIkC,UAAU,IACpC,IAAAmB,MAAA,CAAAC,aAAA,EAAClG,WAAA,CAAAoG,OAAU,MAAE,CACb,EACCtB,UAAU,IACX,IAAAmB,MAAA,CAAAC,aAAA,EAAAD,MAAA,CAAAE,QAAA,QACC,IAAAF,MAAA,CAAAC,aAAA,EAACjG,SAAA,CAAAmG,OAAyB,MAAE,CAAC,EAC7B,IAAAH,MAAA,CAAAC,aAAA,EAACtG,OAAA,CAAA+H,+BAA+B,MAAE,CAAC,EACnC,IAAA1B,MAAA,CAAAC,aAAA,EAACtG,OAAA,CAAAgI,uBAAuB,MAAE,CACzB,CAEF,CACF;IACDC,gBAAgB,EACf/C,UAAU,KACNG,kBAAkB,IAAI,IAAAgB,MAAA,CAAAC,aAAA,EAAC9E,eAAe,MAAE,CAAC,IAC1C8D,kBAAkB,IAAI,IAAAe,MAAA,CAAAC,aAAA,EAAC7E,eAAe,MAAE,CAAG,CAC9C;IACDK,OAAO,EACN,CAAEwB,iBAAiB,IACnB4B,UAAU,IACV/B,kBAAkB,IACjB,IAAAkD,MAAA,CAAAC,aAAA,EAAAD,MAAA,CAAAE,QAAA,QACC,IAAAF,MAAA,CAAAC,aAAA,EAACvG,UAAA,CAAAmI,iBAAiB,CAACC,IAAI;MAACC,KAAK,EAAC;IAAgB,CAAE,CAC/C,CAEH;IACDpG,MAAM,EACLoD,0BAA0B,IACzB,IAAAiB,MAAA,CAAAC,aAAA,EAACxG,YAAA,CAAAuI,eAAe;MACfC,aAAa,EAAG7E;IAAe,CAC/B,CAEF;IACD8E,MAAM,EAAG;MACR,GAAG5G,eAAe;MAClBsG,gBAAgB,EAAE1C;IACnB;EAAG,CACH,CACc,CAEhB,CAAC;AAEL"}
|
|
@@ -36,7 +36,7 @@ const BlockPreviewPanel = ({
|
|
|
36
36
|
return (0, _blocks.getBlockFromExample)(name, example);
|
|
37
37
|
}, [name, blockExample, variation]);
|
|
38
38
|
const viewportWidth = (_blockExample$viewpor = blockExample?.viewportWidth) !== null && _blockExample$viewpor !== void 0 ? _blockExample$viewpor : null;
|
|
39
|
-
const previewHeight =
|
|
39
|
+
const previewHeight = 150;
|
|
40
40
|
if (!blockExample) {
|
|
41
41
|
return null;
|
|
42
42
|
}
|
|
@@ -56,7 +56,7 @@ const BlockPreviewPanel = ({
|
|
|
56
56
|
additionalStyles: [{
|
|
57
57
|
css: `
|
|
58
58
|
body{
|
|
59
|
-
min-height:${previewHeight};
|
|
59
|
+
min-height:${previewHeight}px;
|
|
60
60
|
display:flex;align-items:center;justify-content:center;
|
|
61
61
|
}
|
|
62
62
|
`
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_blockEditor","require","_blocks","_components","_element","BlockPreviewPanel","name","variation","_blockExample$viewpor","blockExample","getBlockType","example","blocks","useMemo","attributes","className","getBlockFromExample","viewportWidth","previewHeight","_react","createElement","__experimentalSpacer","marginX","marginBottom","style","maxHeight","boxSizing","BlockPreview","minHeight","additionalStyles","css","_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\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: 'is-style-' + 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 ?? null;\n\tconst previewHeight =
|
|
1
|
+
{"version":3,"names":["_blockEditor","require","_blocks","_components","_element","BlockPreviewPanel","name","variation","_blockExample$viewpor","blockExample","getBlockType","example","blocks","useMemo","attributes","className","getBlockFromExample","viewportWidth","previewHeight","_react","createElement","__experimentalSpacer","marginX","marginBottom","style","maxHeight","boxSizing","BlockPreview","minHeight","additionalStyles","css","_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\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: 'is-style-' + 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 ?? null;\n\tconst previewHeight = 150;\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{\n\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\tmin-height:${ previewHeight }px;\n\t\t\t\t\t\t\t\t\tdisplay:flex;align-items:center;justify-content:center;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t`,\n\t\t\t\t\t\t},\n\t\t\t\t\t] }\n\t\t\t\t/>\n\t\t\t</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;AANA;AACA;AACA;;AAMA,MAAMI,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,WAAW,GAAGR;QAC1B;MACD,CAAC;IACF;IAEA,OAAO,IAAAS,2BAAmB,EAAEV,IAAI,EAAEK,OAAQ,CAAC;EAC5C,CAAC,EAAE,CAAEL,IAAI,EAAEG,YAAY,EAAEF,SAAS,CAAG,CAAC;EAEtC,MAAMU,aAAa,IAAAT,qBAAA,GAAGC,YAAY,EAAEQ,aAAa,cAAAT,qBAAA,cAAAA,qBAAA,GAAI,IAAI;EACzD,MAAMU,aAAa,GAAG,GAAG;EAEzB,IAAK,CAAET,YAAY,EAAG;IACrB,OAAO,IAAI;EACZ;EAEA,OACC,IAAAU,MAAA,CAAAC,aAAA,EAACjB,WAAA,CAAAkB,oBAAM;IAACC,OAAO,EAAG,CAAG;IAACC,YAAY,EAAG;EAAG,GACvC,IAAAJ,MAAA,CAAAC,aAAA;IACCL,SAAS,EAAC,8CAA8C;IACxDS,KAAK,EAAG;MAAEC,SAAS,EAAEP,aAAa;MAAEQ,SAAS,EAAE;IAAU;EAAG,GAE5D,IAAAP,MAAA,CAAAC,aAAA,EAACpB,YAAA,CAAA2B,YAAY;IACZf,MAAM,EAAGA,MAAQ;IACjBK,aAAa,EAAGA,aAAe;IAC/BW,SAAS,EAAGV,aAAe;IAC3BW,gBAAgB,EAAG,CAClB;MACCC,GAAG,EAAG;AACb;AACA,sBAAuBZ,aAAe;AACtC;AACA;AACA;IACM,CAAC;EACC,CACH,CACG,CACE,CAAC;AAEX,CAAC;AAAC,IAAAa,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEa5B,iBAAiB"}
|
|
@@ -43,7 +43,7 @@ function CollectionFontDetails({
|
|
|
43
43
|
// If the font has no fontFace, we want to check if the font is in the outline
|
|
44
44
|
fontToInstallOutline)
|
|
45
45
|
}))), (0, _react.createElement)(_components.__experimentalSpacer, {
|
|
46
|
-
margin:
|
|
46
|
+
margin: 16
|
|
47
47
|
}));
|
|
48
48
|
}
|
|
49
49
|
var _default = exports.default = CollectionFontDetails;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_components","require","_collectionFontVariant","_interopRequireDefault","_fontsOutline","_sortFontFaces","CollectionFontDetails","font","handleToggleVariant","fontToInstallOutline","fontFaces","fontFace","length","sortFontFaces","fontFamily","fontStyle","fontWeight","_react","createElement","Fragment","__experimentalSpacer","margin","__experimentalVStack","spacing","map","face","i","default","key","selected","isFontFontFaceInOutline","slug","_default","exports"],"sources":["@wordpress/edit-site/src/components/global-styles/font-library-modal/collection-font-details.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalVStack as VStack,\n\t__experimentalSpacer as Spacer,\n} from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport CollectionFontVariant from './collection-font-variant';\nimport { isFontFontFaceInOutline } from './utils/fonts-outline';\nimport { sortFontFaces } from './utils/sort-font-faces';\n\nfunction CollectionFontDetails( {\n\tfont,\n\thandleToggleVariant,\n\tfontToInstallOutline,\n} ) {\n\tconst fontFaces =\n\t\tfont.fontFace && font.fontFace.length\n\t\t\t? sortFontFaces( font.fontFace )\n\t\t\t: [\n\t\t\t\t\t{\n\t\t\t\t\t\tfontFamily: font.fontFamily,\n\t\t\t\t\t\tfontStyle: 'normal',\n\t\t\t\t\t\tfontWeight: '400',\n\t\t\t\t\t},\n\t\t\t ];\n\n\treturn (\n\t\t<>\n\t\t\t<Spacer margin={ 4 } />\n\t\t\t<VStack spacing={ 0 }>\n\t\t\t\t<Spacer margin={ 8 } />\n\t\t\t\t{ fontFaces.map( ( face, i ) => (\n\t\t\t\t\t<CollectionFontVariant\n\t\t\t\t\t\tfont={ font }\n\t\t\t\t\t\tface={ face }\n\t\t\t\t\t\tkey={ `face${ i }` }\n\t\t\t\t\t\thandleToggleVariant={ handleToggleVariant }\n\t\t\t\t\t\tselected={ isFontFontFaceInOutline(\n\t\t\t\t\t\t\tfont.slug,\n\t\t\t\t\t\t\tfont.fontFace ? face : null, // If the font has no fontFace, we want to check if the font is in the outline\n\t\t\t\t\t\t\tfontToInstallOutline\n\t\t\t\t\t\t) }\n\t\t\t\t\t/>\n\t\t\t\t) ) }\n\t\t\t</VStack>\n\t\t\t<Spacer margin={
|
|
1
|
+
{"version":3,"names":["_components","require","_collectionFontVariant","_interopRequireDefault","_fontsOutline","_sortFontFaces","CollectionFontDetails","font","handleToggleVariant","fontToInstallOutline","fontFaces","fontFace","length","sortFontFaces","fontFamily","fontStyle","fontWeight","_react","createElement","Fragment","__experimentalSpacer","margin","__experimentalVStack","spacing","map","face","i","default","key","selected","isFontFontFaceInOutline","slug","_default","exports"],"sources":["@wordpress/edit-site/src/components/global-styles/font-library-modal/collection-font-details.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalVStack as VStack,\n\t__experimentalSpacer as Spacer,\n} from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport CollectionFontVariant from './collection-font-variant';\nimport { isFontFontFaceInOutline } from './utils/fonts-outline';\nimport { sortFontFaces } from './utils/sort-font-faces';\n\nfunction CollectionFontDetails( {\n\tfont,\n\thandleToggleVariant,\n\tfontToInstallOutline,\n} ) {\n\tconst fontFaces =\n\t\tfont.fontFace && font.fontFace.length\n\t\t\t? sortFontFaces( font.fontFace )\n\t\t\t: [\n\t\t\t\t\t{\n\t\t\t\t\t\tfontFamily: font.fontFamily,\n\t\t\t\t\t\tfontStyle: 'normal',\n\t\t\t\t\t\tfontWeight: '400',\n\t\t\t\t\t},\n\t\t\t ];\n\n\treturn (\n\t\t<>\n\t\t\t<Spacer margin={ 4 } />\n\t\t\t<VStack spacing={ 0 }>\n\t\t\t\t<Spacer margin={ 8 } />\n\t\t\t\t{ fontFaces.map( ( face, i ) => (\n\t\t\t\t\t<CollectionFontVariant\n\t\t\t\t\t\tfont={ font }\n\t\t\t\t\t\tface={ face }\n\t\t\t\t\t\tkey={ `face${ i }` }\n\t\t\t\t\t\thandleToggleVariant={ handleToggleVariant }\n\t\t\t\t\t\tselected={ isFontFontFaceInOutline(\n\t\t\t\t\t\t\tfont.slug,\n\t\t\t\t\t\t\tfont.fontFace ? face : null, // If the font has no fontFace, we want to check if the font is in the outline\n\t\t\t\t\t\t\tfontToInstallOutline\n\t\t\t\t\t\t) }\n\t\t\t\t\t/>\n\t\t\t\t) ) }\n\t\t\t</VStack>\n\t\t\t<Spacer margin={ 16 } />\n\t\t</>\n\t);\n}\n\nexport default CollectionFontDetails;\n"],"mappings":";;;;;;;;AAGA,IAAAA,WAAA,GAAAC,OAAA;AAQA,IAAAC,sBAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,aAAA,GAAAH,OAAA;AACA,IAAAI,cAAA,GAAAJ,OAAA;AAbA;AACA;AACA;;AAMA;AACA;AACA;;AAKA,SAASK,qBAAqBA,CAAE;EAC/BC,IAAI;EACJC,mBAAmB;EACnBC;AACD,CAAC,EAAG;EACH,MAAMC,SAAS,GACdH,IAAI,CAACI,QAAQ,IAAIJ,IAAI,CAACI,QAAQ,CAACC,MAAM,GAClC,IAAAC,4BAAa,EAAEN,IAAI,CAACI,QAAS,CAAC,GAC9B,CACA;IACCG,UAAU,EAAEP,IAAI,CAACO,UAAU;IAC3BC,SAAS,EAAE,QAAQ;IACnBC,UAAU,EAAE;EACb,CAAC,CACA;EAEL,OACC,IAAAC,MAAA,CAAAC,aAAA,EAAAD,MAAA,CAAAE,QAAA,QACC,IAAAF,MAAA,CAAAC,aAAA,EAAClB,WAAA,CAAAoB,oBAAM;IAACC,MAAM,EAAG;EAAG,CAAE,CAAC,EACvB,IAAAJ,MAAA,CAAAC,aAAA,EAAClB,WAAA,CAAAsB,oBAAM;IAACC,OAAO,EAAG;EAAG,GACpB,IAAAN,MAAA,CAAAC,aAAA,EAAClB,WAAA,CAAAoB,oBAAM;IAACC,MAAM,EAAG;EAAG,CAAE,CAAC,EACrBX,SAAS,CAACc,GAAG,CAAE,CAAEC,IAAI,EAAEC,CAAC,KACzB,IAAAT,MAAA,CAAAC,aAAA,EAAChB,sBAAA,CAAAyB,OAAqB;IACrBpB,IAAI,EAAGA,IAAM;IACbkB,IAAI,EAAGA,IAAM;IACbG,GAAG,EAAI,OAAOF,CAAG,EAAG;IACpBlB,mBAAmB,EAAGA,mBAAqB;IAC3CqB,QAAQ,EAAG,IAAAC,qCAAuB,EACjCvB,IAAI,CAACwB,IAAI,EACTxB,IAAI,CAACI,QAAQ,GAAGc,IAAI,GAAG,IAAI;IAAE;IAC7BhB,oBACD;EAAG,CACH,CACA,CACK,CAAC,EACT,IAAAQ,MAAA,CAAAC,aAAA,EAAClB,WAAA,CAAAoB,oBAAM;IAACC,MAAM,EAAG;EAAI,CAAE,CACtB,CAAC;AAEL;AAAC,IAAAW,QAAA,GAAAC,OAAA,CAAAN,OAAA,GAEcrB,qBAAqB"}
|
|
@@ -13,7 +13,6 @@ var _i18n = require("@wordpress/i18n");
|
|
|
13
13
|
var _icons = require("@wordpress/icons");
|
|
14
14
|
var _tabPanelLayout = _interopRequireDefault(require("./tab-panel-layout"));
|
|
15
15
|
var _context = require("./context");
|
|
16
|
-
var _fontsGrid = _interopRequireDefault(require("./fonts-grid"));
|
|
17
16
|
var _fontCard = _interopRequireDefault(require("./font-card"));
|
|
18
17
|
var _filterFonts = _interopRequireDefault(require("./utils/filter-fonts"));
|
|
19
18
|
var _collectionFontDetails = _interopRequireDefault(require("./collection-font-details"));
|
|
@@ -43,6 +42,7 @@ function FontCollection({
|
|
|
43
42
|
};
|
|
44
43
|
const [selectedFont, setSelectedFont] = (0, _element.useState)(null);
|
|
45
44
|
const [fontsToInstall, setFontsToInstall] = (0, _element.useState)([]);
|
|
45
|
+
const [page, setPage] = (0, _element.useState)(1);
|
|
46
46
|
const [filters, setFilters] = (0, _element.useState)({});
|
|
47
47
|
const [renderConfirmDialog, setRenderConfirmDialog] = (0, _element.useState)(requiresPermission && !getGoogleFontsPermissionFromStorage());
|
|
48
48
|
const {
|
|
@@ -92,27 +92,39 @@ function FontCollection({
|
|
|
92
92
|
const collectionCategories = (_selectedCollection$c = selectedCollection?.categories) !== null && _selectedCollection$c !== void 0 ? _selectedCollection$c : [];
|
|
93
93
|
const categories = [DEFAULT_CATEGORY, ...collectionCategories];
|
|
94
94
|
const fonts = (0, _element.useMemo)(() => (0, _filterFonts.default)(collectionFonts, filters), [collectionFonts, filters]);
|
|
95
|
+
|
|
96
|
+
// NOTE: The height of the font library modal unavailable to use for rendering font family items is roughly 417px
|
|
97
|
+
// The height of each font family item is 61px.
|
|
98
|
+
const pageSize = Math.floor((window.innerHeight - 417) / 61);
|
|
99
|
+
const totalPages = Math.ceil(fonts.length / pageSize);
|
|
100
|
+
const itemsStart = (page - 1) * pageSize;
|
|
101
|
+
const itemsLimit = page * pageSize;
|
|
102
|
+
const items = fonts.slice(itemsStart, itemsLimit);
|
|
95
103
|
const handleCategoryFilter = category => {
|
|
96
104
|
setFilters({
|
|
97
105
|
...filters,
|
|
98
106
|
category
|
|
99
107
|
});
|
|
108
|
+
setPage(1);
|
|
100
109
|
};
|
|
101
110
|
const handleUpdateSearchInput = value => {
|
|
102
111
|
setFilters({
|
|
103
112
|
...filters,
|
|
104
113
|
search: value
|
|
105
114
|
});
|
|
115
|
+
setPage(1);
|
|
106
116
|
};
|
|
107
117
|
const debouncedUpdateSearchInput = (0, _compose.debounce)(handleUpdateSearchInput, 300);
|
|
108
118
|
const resetFilters = () => {
|
|
109
119
|
setFilters({});
|
|
120
|
+
setPage(1);
|
|
110
121
|
};
|
|
111
122
|
const resetSearch = () => {
|
|
112
123
|
setFilters({
|
|
113
124
|
...filters,
|
|
114
125
|
search: ''
|
|
115
126
|
});
|
|
127
|
+
setPage(1);
|
|
116
128
|
};
|
|
117
129
|
const handleUnselectFont = () => {
|
|
118
130
|
setSelectedFont(null);
|
|
@@ -159,15 +171,25 @@ function FontCollection({
|
|
|
159
171
|
}
|
|
160
172
|
resetFontsToInstall();
|
|
161
173
|
};
|
|
174
|
+
let footerComponent = null;
|
|
175
|
+
if (selectedFont) {
|
|
176
|
+
footerComponent = (0, _react.createElement)(InstallFooter, {
|
|
177
|
+
handleInstall: handleInstall,
|
|
178
|
+
isDisabled: fontsToInstall.length === 0
|
|
179
|
+
});
|
|
180
|
+
} else if (!renderConfirmDialog && totalPages > 1) {
|
|
181
|
+
footerComponent = (0, _react.createElement)(PaginationFooter, {
|
|
182
|
+
page: page,
|
|
183
|
+
totalPages: totalPages,
|
|
184
|
+
setPage: setPage
|
|
185
|
+
});
|
|
186
|
+
}
|
|
162
187
|
return (0, _react.createElement)(_tabPanelLayout.default, {
|
|
163
188
|
title: !selectedFont ? selectedCollection.name : selectedFont.name,
|
|
164
189
|
description: !selectedFont ? selectedCollection.description : (0, _i18n.__)('Select font variants to install.'),
|
|
165
190
|
notice: notice,
|
|
166
191
|
handleBack: !!selectedFont && handleUnselectFont,
|
|
167
|
-
footer:
|
|
168
|
-
handleInstall: handleInstall,
|
|
169
|
-
isDisabled: fontsToInstall.length === 0
|
|
170
|
-
})
|
|
192
|
+
footer: footerComponent
|
|
171
193
|
}, renderConfirmDialog && (0, _react.createElement)(_react.Fragment, null, (0, _react.createElement)(_components.__experimentalSpacer, {
|
|
172
194
|
margin: 8
|
|
173
195
|
}), (0, _react.createElement)(_googleFontsConfirmDialog.default, null)), !renderConfirmDialog && !selectedFont && (0, _react.createElement)(_components.Flex, null, (0, _react.createElement)(_components.FlexItem, null, (0, _react.createElement)(_components.__experimentalInputControl, {
|
|
@@ -195,7 +217,9 @@ function FontCollection({
|
|
|
195
217
|
font: selectedFont,
|
|
196
218
|
handleToggleVariant: handleToggleVariant,
|
|
197
219
|
fontToInstallOutline: fontToInstallOutline
|
|
198
|
-
}), !renderConfirmDialog && !selectedFont && (0, _react.createElement)(
|
|
220
|
+
}), !renderConfirmDialog && !selectedFont && (0, _react.createElement)("div", {
|
|
221
|
+
className: "font-library-modal__fonts-grid__main"
|
|
222
|
+
}, items.map(font => (0, _react.createElement)(_fontCard.default, {
|
|
199
223
|
key: font.font_family_settings.slug,
|
|
200
224
|
font: font.font_family_settings,
|
|
201
225
|
onClick: () => {
|
|
@@ -203,7 +227,60 @@ function FontCollection({
|
|
|
203
227
|
}
|
|
204
228
|
}))));
|
|
205
229
|
}
|
|
206
|
-
function
|
|
230
|
+
function PaginationFooter({
|
|
231
|
+
page,
|
|
232
|
+
totalPages,
|
|
233
|
+
setPage
|
|
234
|
+
}) {
|
|
235
|
+
return (0, _react.createElement)(_components.Flex, {
|
|
236
|
+
justify: "center"
|
|
237
|
+
}, (0, _react.createElement)(_components.Button, {
|
|
238
|
+
label: (0, _i18n.__)('First page'),
|
|
239
|
+
size: "compact",
|
|
240
|
+
onClick: () => setPage(1),
|
|
241
|
+
disabled: page === 1,
|
|
242
|
+
__experimentalIsFocusable: true
|
|
243
|
+
}, (0, _react.createElement)("span", null, "\xAB")), (0, _react.createElement)(_components.Button, {
|
|
244
|
+
label: (0, _i18n.__)('Previous page'),
|
|
245
|
+
size: "compact",
|
|
246
|
+
onClick: () => setPage(page - 1),
|
|
247
|
+
disabled: page === 1,
|
|
248
|
+
__experimentalIsFocusable: true
|
|
249
|
+
}, (0, _react.createElement)("span", null, "\u2039")), (0, _react.createElement)(_components.__experimentalHStack, {
|
|
250
|
+
justify: "flex-start",
|
|
251
|
+
expanded: false,
|
|
252
|
+
spacing: 2
|
|
253
|
+
}, (0, _element.createInterpolateElement)((0, _i18n.sprintf)(
|
|
254
|
+
// translators: %s: Total number of pages.
|
|
255
|
+
(0, _i18n._x)('Page <CurrenPageControl /> of %s', 'paging'), totalPages), {
|
|
256
|
+
CurrenPageControl: (0, _react.createElement)(_components.SelectControl, {
|
|
257
|
+
"aria-label": (0, _i18n.__)('Current page'),
|
|
258
|
+
value: page,
|
|
259
|
+
options: [...Array(totalPages)].map((e, i) => {
|
|
260
|
+
return {
|
|
261
|
+
label: i + 1,
|
|
262
|
+
value: i + 1
|
|
263
|
+
};
|
|
264
|
+
}),
|
|
265
|
+
onChange: newPage => setPage(parseInt(newPage)),
|
|
266
|
+
size: 'compact',
|
|
267
|
+
__nextHasNoMarginBottom: true
|
|
268
|
+
})
|
|
269
|
+
})), (0, _react.createElement)(_components.Button, {
|
|
270
|
+
label: (0, _i18n.__)('Next page'),
|
|
271
|
+
size: "compact",
|
|
272
|
+
onClick: () => setPage(page + 1),
|
|
273
|
+
disabled: page === totalPages,
|
|
274
|
+
__experimentalIsFocusable: true
|
|
275
|
+
}, (0, _react.createElement)("span", null, "\u203A")), (0, _react.createElement)(_components.Button, {
|
|
276
|
+
label: (0, _i18n.__)('Last page'),
|
|
277
|
+
size: "compact",
|
|
278
|
+
onClick: () => setPage(totalPages),
|
|
279
|
+
disabled: page === totalPages,
|
|
280
|
+
__experimentalIsFocusable: true
|
|
281
|
+
}, (0, _react.createElement)("span", null, "\xBB")));
|
|
282
|
+
}
|
|
283
|
+
function InstallFooter({
|
|
207
284
|
handleInstall,
|
|
208
285
|
isDisabled
|
|
209
286
|
}) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_element","require","_components","_compose","_i18n","_icons","_tabPanelLayout","_interopRequireDefault","_context","_fontsGrid","_fontCard","_filterFonts","_collectionFontDetails","_toggleFont","_fontsOutline","_googleFontsConfirmDialog","_utils","DEFAULT_CATEGORY","slug","name","_x","FontCollection","_selectedCollection$c","requiresPermission","getGoogleFontsPermissionFromStorage","window","localStorage","getItem","selectedFont","setSelectedFont","useState","fontsToInstall","setFontsToInstall","filters","setFilters","renderConfirmDialog","setRenderConfirmDialog","collections","getFontCollection","installFont","notice","setNotice","useContext","FontLibraryContext","selectedCollection","find","collection","useEffect","handleStorage","addEventListener","removeEventListener","fetchFontCollection","resetFilters","e","type","message","collectionFonts","useMemo","_selectedCollection$f","font_families","collectionCategories","categories","fonts","filterFonts","handleCategoryFilter","category","handleUpdateSearchInput","value","search","debouncedUpdateSearchInput","debounce","resetSearch","handleUnselectFont","handleToggleVariant","font","face","newFontsToInstall","toggleFont","fontToInstallOutline","getFontsOutline","resetFontsToInstall","handleInstall","fontFamily","fontFace","Promise","all","map","src","file","downloadFontFaceAssets","error","__","_react","createElement","default","title","description","handleBack","footer","Footer","isDisabled","length","Fragment","__experimentalSpacer","margin","Flex","FlexItem","__experimentalInputControl","placeholder","label","onChange","prefix","Icon","icon","suffix","closeSmall","onClick","SelectControl","key","Spinner","__experimentalText","font_family_settings","isInstalling","justify","Button","variant","isBusy","disabled","__experimentalIsFocusable","_default","exports"],"sources":["@wordpress/edit-site/src/components/global-styles/font-library-modal/font-collection.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useContext, useEffect, useState, useMemo } from '@wordpress/element';\nimport {\n\t__experimentalSpacer as Spacer,\n\t__experimentalInputControl as InputControl,\n\t__experimentalText as Text,\n\tSelectControl,\n\tSpinner,\n\tIcon,\n\tFlexItem,\n\tFlex,\n\tButton,\n} from '@wordpress/components';\nimport { debounce } from '@wordpress/compose';\nimport { __, _x } from '@wordpress/i18n';\nimport { search, closeSmall } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport TabPanelLayout from './tab-panel-layout';\nimport { FontLibraryContext } from './context';\nimport FontsGrid from './fonts-grid';\nimport FontCard from './font-card';\nimport filterFonts from './utils/filter-fonts';\nimport CollectionFontDetails from './collection-font-details';\nimport { toggleFont } from './utils/toggleFont';\nimport { getFontsOutline } from './utils/fonts-outline';\nimport GoogleFontsConfirmDialog from './google-fonts-confirm-dialog';\nimport { downloadFontFaceAssets } from './utils';\n\nconst DEFAULT_CATEGORY = {\n\tslug: 'all',\n\tname: _x( 'All', 'font categories' ),\n};\nfunction FontCollection( { slug } ) {\n\tconst requiresPermission = slug === 'google-fonts';\n\n\tconst getGoogleFontsPermissionFromStorage = () => {\n\t\treturn (\n\t\t\twindow.localStorage.getItem(\n\t\t\t\t'wp-font-library-google-fonts-permission'\n\t\t\t) === 'true'\n\t\t);\n\t};\n\n\tconst [ selectedFont, setSelectedFont ] = useState( null );\n\tconst [ fontsToInstall, setFontsToInstall ] = useState( [] );\n\tconst [ filters, setFilters ] = useState( {} );\n\tconst [ renderConfirmDialog, setRenderConfirmDialog ] = useState(\n\t\trequiresPermission && ! getGoogleFontsPermissionFromStorage()\n\t);\n\tconst { collections, getFontCollection, installFont, notice, setNotice } =\n\t\tuseContext( FontLibraryContext );\n\tconst selectedCollection = collections.find(\n\t\t( collection ) => collection.slug === slug\n\t);\n\n\tuseEffect( () => {\n\t\tconst handleStorage = () => {\n\t\t\tsetRenderConfirmDialog(\n\t\t\t\trequiresPermission && ! getGoogleFontsPermissionFromStorage()\n\t\t\t);\n\t\t};\n\t\thandleStorage();\n\t\twindow.addEventListener( 'storage', handleStorage );\n\t\treturn () => window.removeEventListener( 'storage', handleStorage );\n\t}, [ slug, requiresPermission ] );\n\n\tuseEffect( () => {\n\t\tconst fetchFontCollection = async () => {\n\t\t\ttry {\n\t\t\t\tawait getFontCollection( slug );\n\t\t\t\tresetFilters();\n\t\t\t} catch ( e ) {\n\t\t\t\tif ( ! notice ) {\n\t\t\t\t\tsetNotice( {\n\t\t\t\t\t\ttype: 'error',\n\t\t\t\t\t\tmessage: e?.message,\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t\tfetchFontCollection();\n\t}, [ slug, getFontCollection, setNotice, notice ] );\n\n\tuseEffect( () => {\n\t\tsetSelectedFont( null );\n\t\tsetNotice( null );\n\t}, [ slug, setNotice ] );\n\n\tuseEffect( () => {\n\t\t// If the selected fonts change, reset the selected fonts to install\n\t\tsetFontsToInstall( [] );\n\t}, [ selectedFont ] );\n\n\tconst collectionFonts = useMemo(\n\t\t() => selectedCollection?.font_families ?? [],\n\t\t[ selectedCollection ]\n\t);\n\tconst collectionCategories = selectedCollection?.categories ?? [];\n\n\tconst categories = [ DEFAULT_CATEGORY, ...collectionCategories ];\n\n\tconst fonts = useMemo(\n\t\t() => filterFonts( collectionFonts, filters ),\n\t\t[ collectionFonts, filters ]\n\t);\n\n\tconst handleCategoryFilter = ( category ) => {\n\t\tsetFilters( { ...filters, category } );\n\t};\n\n\tconst handleUpdateSearchInput = ( value ) => {\n\t\tsetFilters( { ...filters, search: value } );\n\t};\n\n\tconst debouncedUpdateSearchInput = debounce( handleUpdateSearchInput, 300 );\n\n\tconst resetFilters = () => {\n\t\tsetFilters( {} );\n\t};\n\n\tconst resetSearch = () => {\n\t\tsetFilters( { ...filters, search: '' } );\n\t};\n\n\tconst handleUnselectFont = () => {\n\t\tsetSelectedFont( null );\n\t};\n\n\tconst handleToggleVariant = ( font, face ) => {\n\t\tconst newFontsToInstall = toggleFont( font, face, fontsToInstall );\n\t\tsetFontsToInstall( newFontsToInstall );\n\t};\n\n\tconst fontToInstallOutline = getFontsOutline( fontsToInstall );\n\n\tconst resetFontsToInstall = () => {\n\t\tsetFontsToInstall( [] );\n\t};\n\n\tconst handleInstall = async () => {\n\t\tsetNotice( null );\n\n\t\tconst fontFamily = fontsToInstall[ 0 ];\n\n\t\ttry {\n\t\t\tif ( fontFamily?.fontFace ) {\n\t\t\t\tawait Promise.all(\n\t\t\t\t\tfontFamily.fontFace.map( async ( fontFace ) => {\n\t\t\t\t\t\tif ( fontFace.src ) {\n\t\t\t\t\t\t\tfontFace.file = await downloadFontFaceAssets(\n\t\t\t\t\t\t\t\tfontFace.src\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t} )\n\t\t\t\t);\n\t\t\t}\n\t\t} catch ( error ) {\n\t\t\t// If any of the fonts fail to download,\n\t\t\t// show an error notice and stop the request from being sent.\n\t\t\tsetNotice( {\n\t\t\t\ttype: 'error',\n\t\t\t\tmessage: __(\n\t\t\t\t\t'Error installing the fonts, could not be downloaded.'\n\t\t\t\t),\n\t\t\t} );\n\t\t\treturn;\n\t\t}\n\n\t\ttry {\n\t\t\tawait installFont( fontFamily );\n\t\t\tsetNotice( {\n\t\t\t\ttype: 'success',\n\t\t\t\tmessage: __( 'Fonts were installed successfully.' ),\n\t\t\t} );\n\t\t} catch ( error ) {\n\t\t\tsetNotice( {\n\t\t\t\ttype: 'error',\n\t\t\t\tmessage: error.message,\n\t\t\t} );\n\t\t}\n\t\tresetFontsToInstall();\n\t};\n\n\treturn (\n\t\t<TabPanelLayout\n\t\t\ttitle={\n\t\t\t\t! selectedFont ? selectedCollection.name : selectedFont.name\n\t\t\t}\n\t\t\tdescription={\n\t\t\t\t! selectedFont\n\t\t\t\t\t? selectedCollection.description\n\t\t\t\t\t: __( 'Select font variants to install.' )\n\t\t\t}\n\t\t\tnotice={ notice }\n\t\t\thandleBack={ !! selectedFont && handleUnselectFont }\n\t\t\tfooter={\n\t\t\t\t<Footer\n\t\t\t\t\thandleInstall={ handleInstall }\n\t\t\t\t\tisDisabled={ fontsToInstall.length === 0 }\n\t\t\t\t/>\n\t\t\t}\n\t\t>\n\t\t\t{ renderConfirmDialog && (\n\t\t\t\t<>\n\t\t\t\t\t<Spacer margin={ 8 } />\n\t\t\t\t\t<GoogleFontsConfirmDialog />\n\t\t\t\t</>\n\t\t\t) }\n\n\t\t\t{ ! renderConfirmDialog && ! selectedFont && (\n\t\t\t\t<Flex>\n\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t<InputControl\n\t\t\t\t\t\t\tvalue={ filters.search }\n\t\t\t\t\t\t\tplaceholder={ __( 'Font name…' ) }\n\t\t\t\t\t\t\tlabel={ __( 'Search' ) }\n\t\t\t\t\t\t\tonChange={ debouncedUpdateSearchInput }\n\t\t\t\t\t\t\tprefix={ <Icon icon={ search } /> }\n\t\t\t\t\t\t\tsuffix={\n\t\t\t\t\t\t\t\tfilters?.search ? (\n\t\t\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\t\t\ticon={ closeSmall }\n\t\t\t\t\t\t\t\t\t\tonClick={ resetSearch }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t) : null\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</FlexItem>\n\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t\tlabel={ __( 'Category' ) }\n\t\t\t\t\t\t\tvalue={ filters.category }\n\t\t\t\t\t\t\tonChange={ handleCategoryFilter }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ categories &&\n\t\t\t\t\t\t\t\tcategories.map( ( category ) => (\n\t\t\t\t\t\t\t\t\t<option\n\t\t\t\t\t\t\t\t\t\tvalue={ category.slug }\n\t\t\t\t\t\t\t\t\t\tkey={ category.slug }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ category.name }\n\t\t\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t\t\t) ) }\n\t\t\t\t\t\t</SelectControl>\n\t\t\t\t\t</FlexItem>\n\t\t\t\t</Flex>\n\t\t\t) }\n\n\t\t\t<Spacer margin={ 4 } />\n\t\t\t{ ! renderConfirmDialog &&\n\t\t\t\t! selectedCollection?.font_families &&\n\t\t\t\t! notice && <Spinner /> }\n\n\t\t\t{ ! renderConfirmDialog &&\n\t\t\t\t!! selectedCollection?.font_families?.length &&\n\t\t\t\t! fonts.length && (\n\t\t\t\t\t<Text>\n\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t'No fonts found. Try with a different search term'\n\t\t\t\t\t\t) }\n\t\t\t\t\t</Text>\n\t\t\t\t) }\n\n\t\t\t{ ! renderConfirmDialog && selectedFont && (\n\t\t\t\t<CollectionFontDetails\n\t\t\t\t\tfont={ selectedFont }\n\t\t\t\t\thandleToggleVariant={ handleToggleVariant }\n\t\t\t\t\tfontToInstallOutline={ fontToInstallOutline }\n\t\t\t\t/>\n\t\t\t) }\n\n\t\t\t{ ! renderConfirmDialog && ! selectedFont && (\n\t\t\t\t<FontsGrid>\n\t\t\t\t\t{ fonts.map( ( font ) => (\n\t\t\t\t\t\t<FontCard\n\t\t\t\t\t\t\tkey={ font.font_family_settings.slug }\n\t\t\t\t\t\t\tfont={ font.font_family_settings }\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tsetSelectedFont( font.font_family_settings );\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</FontsGrid>\n\t\t\t) }\n\t\t</TabPanelLayout>\n\t);\n}\n\nfunction Footer( { handleInstall, isDisabled } ) {\n\tconst { isInstalling } = useContext( FontLibraryContext );\n\n\treturn (\n\t\t<Flex justify=\"flex-end\">\n\t\t\t<Button\n\t\t\t\tvariant=\"primary\"\n\t\t\t\tonClick={ handleInstall }\n\t\t\t\tisBusy={ isInstalling }\n\t\t\t\tdisabled={ isDisabled || isInstalling }\n\t\t\t\t__experimentalIsFocusable\n\t\t\t>\n\t\t\t\t{ __( 'Install' ) }\n\t\t\t</Button>\n\t\t</Flex>\n\t);\n}\n\nexport default FontCollection;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_element","require","_components","_compose","_i18n","_icons","_tabPanelLayout","_interopRequireDefault","_context","_fontCard","_filterFonts","_collectionFontDetails","_toggleFont","_fontsOutline","_googleFontsConfirmDialog","_utils","DEFAULT_CATEGORY","slug","name","_x","FontCollection","_selectedCollection$c","requiresPermission","getGoogleFontsPermissionFromStorage","window","localStorage","getItem","selectedFont","setSelectedFont","useState","fontsToInstall","setFontsToInstall","page","setPage","filters","setFilters","renderConfirmDialog","setRenderConfirmDialog","collections","getFontCollection","installFont","notice","setNotice","useContext","FontLibraryContext","selectedCollection","find","collection","useEffect","handleStorage","addEventListener","removeEventListener","fetchFontCollection","resetFilters","e","type","message","collectionFonts","useMemo","_selectedCollection$f","font_families","collectionCategories","categories","fonts","filterFonts","pageSize","Math","floor","innerHeight","totalPages","ceil","length","itemsStart","itemsLimit","items","slice","handleCategoryFilter","category","handleUpdateSearchInput","value","search","debouncedUpdateSearchInput","debounce","resetSearch","handleUnselectFont","handleToggleVariant","font","face","newFontsToInstall","toggleFont","fontToInstallOutline","getFontsOutline","resetFontsToInstall","handleInstall","fontFamily","fontFace","Promise","all","map","src","file","downloadFontFaceAssets","error","__","footerComponent","_react","createElement","InstallFooter","isDisabled","PaginationFooter","default","title","description","handleBack","footer","Fragment","__experimentalSpacer","margin","Flex","FlexItem","__experimentalInputControl","placeholder","label","onChange","prefix","Icon","icon","suffix","closeSmall","onClick","SelectControl","key","Spinner","__experimentalText","className","font_family_settings","justify","Button","size","disabled","__experimentalIsFocusable","__experimentalHStack","expanded","spacing","createInterpolateElement","sprintf","CurrenPageControl","options","Array","i","newPage","parseInt","__nextHasNoMarginBottom","isInstalling","variant","isBusy","_default","exports"],"sources":["@wordpress/edit-site/src/components/global-styles/font-library-modal/font-collection.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tuseContext,\n\tuseEffect,\n\tuseState,\n\tuseMemo,\n\tcreateInterpolateElement,\n} from '@wordpress/element';\nimport {\n\t__experimentalSpacer as Spacer,\n\t__experimentalInputControl as InputControl,\n\t__experimentalText as Text,\n\t__experimentalHStack as HStack,\n\tSelectControl,\n\tSpinner,\n\tIcon,\n\tFlexItem,\n\tFlex,\n\tButton,\n} from '@wordpress/components';\nimport { debounce } from '@wordpress/compose';\nimport { sprintf, __, _x } from '@wordpress/i18n';\nimport { search, closeSmall } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport TabPanelLayout from './tab-panel-layout';\nimport { FontLibraryContext } from './context';\nimport FontCard from './font-card';\nimport filterFonts from './utils/filter-fonts';\nimport CollectionFontDetails from './collection-font-details';\nimport { toggleFont } from './utils/toggleFont';\nimport { getFontsOutline } from './utils/fonts-outline';\nimport GoogleFontsConfirmDialog from './google-fonts-confirm-dialog';\nimport { downloadFontFaceAssets } from './utils';\n\nconst DEFAULT_CATEGORY = {\n\tslug: 'all',\n\tname: _x( 'All', 'font categories' ),\n};\nfunction FontCollection( { slug } ) {\n\tconst requiresPermission = slug === 'google-fonts';\n\n\tconst getGoogleFontsPermissionFromStorage = () => {\n\t\treturn (\n\t\t\twindow.localStorage.getItem(\n\t\t\t\t'wp-font-library-google-fonts-permission'\n\t\t\t) === 'true'\n\t\t);\n\t};\n\n\tconst [ selectedFont, setSelectedFont ] = useState( null );\n\tconst [ fontsToInstall, setFontsToInstall ] = useState( [] );\n\tconst [ page, setPage ] = useState( 1 );\n\tconst [ filters, setFilters ] = useState( {} );\n\tconst [ renderConfirmDialog, setRenderConfirmDialog ] = useState(\n\t\trequiresPermission && ! getGoogleFontsPermissionFromStorage()\n\t);\n\tconst { collections, getFontCollection, installFont, notice, setNotice } =\n\t\tuseContext( FontLibraryContext );\n\tconst selectedCollection = collections.find(\n\t\t( collection ) => collection.slug === slug\n\t);\n\n\tuseEffect( () => {\n\t\tconst handleStorage = () => {\n\t\t\tsetRenderConfirmDialog(\n\t\t\t\trequiresPermission && ! getGoogleFontsPermissionFromStorage()\n\t\t\t);\n\t\t};\n\t\thandleStorage();\n\t\twindow.addEventListener( 'storage', handleStorage );\n\t\treturn () => window.removeEventListener( 'storage', handleStorage );\n\t}, [ slug, requiresPermission ] );\n\n\tuseEffect( () => {\n\t\tconst fetchFontCollection = async () => {\n\t\t\ttry {\n\t\t\t\tawait getFontCollection( slug );\n\t\t\t\tresetFilters();\n\t\t\t} catch ( e ) {\n\t\t\t\tif ( ! notice ) {\n\t\t\t\t\tsetNotice( {\n\t\t\t\t\t\ttype: 'error',\n\t\t\t\t\t\tmessage: e?.message,\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t\tfetchFontCollection();\n\t}, [ slug, getFontCollection, setNotice, notice ] );\n\n\tuseEffect( () => {\n\t\tsetSelectedFont( null );\n\t\tsetNotice( null );\n\t}, [ slug, setNotice ] );\n\n\tuseEffect( () => {\n\t\t// If the selected fonts change, reset the selected fonts to install\n\t\tsetFontsToInstall( [] );\n\t}, [ selectedFont ] );\n\n\tconst collectionFonts = useMemo(\n\t\t() => selectedCollection?.font_families ?? [],\n\t\t[ selectedCollection ]\n\t);\n\tconst collectionCategories = selectedCollection?.categories ?? [];\n\n\tconst categories = [ DEFAULT_CATEGORY, ...collectionCategories ];\n\n\tconst fonts = useMemo(\n\t\t() => filterFonts( collectionFonts, filters ),\n\t\t[ collectionFonts, filters ]\n\t);\n\n\t// NOTE: The height of the font library modal unavailable to use for rendering font family items is roughly 417px\n\t// The height of each font family item is 61px.\n\tconst pageSize = Math.floor( ( window.innerHeight - 417 ) / 61 );\n\tconst totalPages = Math.ceil( fonts.length / pageSize );\n\tconst itemsStart = ( page - 1 ) * pageSize;\n\tconst itemsLimit = page * pageSize;\n\tconst items = fonts.slice( itemsStart, itemsLimit );\n\n\tconst handleCategoryFilter = ( category ) => {\n\t\tsetFilters( { ...filters, category } );\n\t\tsetPage( 1 );\n\t};\n\n\tconst handleUpdateSearchInput = ( value ) => {\n\t\tsetFilters( { ...filters, search: value } );\n\t\tsetPage( 1 );\n\t};\n\n\tconst debouncedUpdateSearchInput = debounce( handleUpdateSearchInput, 300 );\n\n\tconst resetFilters = () => {\n\t\tsetFilters( {} );\n\t\tsetPage( 1 );\n\t};\n\n\tconst resetSearch = () => {\n\t\tsetFilters( { ...filters, search: '' } );\n\t\tsetPage( 1 );\n\t};\n\n\tconst handleUnselectFont = () => {\n\t\tsetSelectedFont( null );\n\t};\n\n\tconst handleToggleVariant = ( font, face ) => {\n\t\tconst newFontsToInstall = toggleFont( font, face, fontsToInstall );\n\t\tsetFontsToInstall( newFontsToInstall );\n\t};\n\n\tconst fontToInstallOutline = getFontsOutline( fontsToInstall );\n\n\tconst resetFontsToInstall = () => {\n\t\tsetFontsToInstall( [] );\n\t};\n\n\tconst handleInstall = async () => {\n\t\tsetNotice( null );\n\n\t\tconst fontFamily = fontsToInstall[ 0 ];\n\n\t\ttry {\n\t\t\tif ( fontFamily?.fontFace ) {\n\t\t\t\tawait Promise.all(\n\t\t\t\t\tfontFamily.fontFace.map( async ( fontFace ) => {\n\t\t\t\t\t\tif ( fontFace.src ) {\n\t\t\t\t\t\t\tfontFace.file = await downloadFontFaceAssets(\n\t\t\t\t\t\t\t\tfontFace.src\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t} )\n\t\t\t\t);\n\t\t\t}\n\t\t} catch ( error ) {\n\t\t\t// If any of the fonts fail to download,\n\t\t\t// show an error notice and stop the request from being sent.\n\t\t\tsetNotice( {\n\t\t\t\ttype: 'error',\n\t\t\t\tmessage: __(\n\t\t\t\t\t'Error installing the fonts, could not be downloaded.'\n\t\t\t\t),\n\t\t\t} );\n\t\t\treturn;\n\t\t}\n\n\t\ttry {\n\t\t\tawait installFont( fontFamily );\n\t\t\tsetNotice( {\n\t\t\t\ttype: 'success',\n\t\t\t\tmessage: __( 'Fonts were installed successfully.' ),\n\t\t\t} );\n\t\t} catch ( error ) {\n\t\t\tsetNotice( {\n\t\t\t\ttype: 'error',\n\t\t\t\tmessage: error.message,\n\t\t\t} );\n\t\t}\n\t\tresetFontsToInstall();\n\t};\n\n\tlet footerComponent = null;\n\tif ( selectedFont ) {\n\t\tfooterComponent = (\n\t\t\t<InstallFooter\n\t\t\t\thandleInstall={ handleInstall }\n\t\t\t\tisDisabled={ fontsToInstall.length === 0 }\n\t\t\t/>\n\t\t);\n\t} else if ( ! renderConfirmDialog && totalPages > 1 ) {\n\t\tfooterComponent = (\n\t\t\t<PaginationFooter\n\t\t\t\tpage={ page }\n\t\t\t\ttotalPages={ totalPages }\n\t\t\t\tsetPage={ setPage }\n\t\t\t/>\n\t\t);\n\t}\n\n\treturn (\n\t\t<TabPanelLayout\n\t\t\ttitle={\n\t\t\t\t! selectedFont ? selectedCollection.name : selectedFont.name\n\t\t\t}\n\t\t\tdescription={\n\t\t\t\t! selectedFont\n\t\t\t\t\t? selectedCollection.description\n\t\t\t\t\t: __( 'Select font variants to install.' )\n\t\t\t}\n\t\t\tnotice={ notice }\n\t\t\thandleBack={ !! selectedFont && handleUnselectFont }\n\t\t\tfooter={ footerComponent }\n\t\t>\n\t\t\t{ renderConfirmDialog && (\n\t\t\t\t<>\n\t\t\t\t\t<Spacer margin={ 8 } />\n\t\t\t\t\t<GoogleFontsConfirmDialog />\n\t\t\t\t</>\n\t\t\t) }\n\n\t\t\t{ ! renderConfirmDialog && ! selectedFont && (\n\t\t\t\t<Flex>\n\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t<InputControl\n\t\t\t\t\t\t\tvalue={ filters.search }\n\t\t\t\t\t\t\tplaceholder={ __( 'Font name…' ) }\n\t\t\t\t\t\t\tlabel={ __( 'Search' ) }\n\t\t\t\t\t\t\tonChange={ debouncedUpdateSearchInput }\n\t\t\t\t\t\t\tprefix={ <Icon icon={ search } /> }\n\t\t\t\t\t\t\tsuffix={\n\t\t\t\t\t\t\t\tfilters?.search ? (\n\t\t\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\t\t\ticon={ closeSmall }\n\t\t\t\t\t\t\t\t\t\tonClick={ resetSearch }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t) : null\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</FlexItem>\n\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t\tlabel={ __( 'Category' ) }\n\t\t\t\t\t\t\tvalue={ filters.category }\n\t\t\t\t\t\t\tonChange={ handleCategoryFilter }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ categories &&\n\t\t\t\t\t\t\t\tcategories.map( ( category ) => (\n\t\t\t\t\t\t\t\t\t<option\n\t\t\t\t\t\t\t\t\t\tvalue={ category.slug }\n\t\t\t\t\t\t\t\t\t\tkey={ category.slug }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ category.name }\n\t\t\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t\t\t) ) }\n\t\t\t\t\t\t</SelectControl>\n\t\t\t\t\t</FlexItem>\n\t\t\t\t</Flex>\n\t\t\t) }\n\n\t\t\t<Spacer margin={ 4 } />\n\t\t\t{ ! renderConfirmDialog &&\n\t\t\t\t! selectedCollection?.font_families &&\n\t\t\t\t! notice && <Spinner /> }\n\n\t\t\t{ ! renderConfirmDialog &&\n\t\t\t\t!! selectedCollection?.font_families?.length &&\n\t\t\t\t! fonts.length && (\n\t\t\t\t\t<Text>\n\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t'No fonts found. Try with a different search term'\n\t\t\t\t\t\t) }\n\t\t\t\t\t</Text>\n\t\t\t\t) }\n\n\t\t\t{ ! renderConfirmDialog && selectedFont && (\n\t\t\t\t<CollectionFontDetails\n\t\t\t\t\tfont={ selectedFont }\n\t\t\t\t\thandleToggleVariant={ handleToggleVariant }\n\t\t\t\t\tfontToInstallOutline={ fontToInstallOutline }\n\t\t\t\t/>\n\t\t\t) }\n\n\t\t\t{ ! renderConfirmDialog && ! selectedFont && (\n\t\t\t\t<div className=\"font-library-modal__fonts-grid__main\">\n\t\t\t\t\t{ items.map( ( font ) => (\n\t\t\t\t\t\t<FontCard\n\t\t\t\t\t\t\tkey={ font.font_family_settings.slug }\n\t\t\t\t\t\t\tfont={ font.font_family_settings }\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tsetSelectedFont( font.font_family_settings );\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</div>\n\t\t\t) }\n\t\t</TabPanelLayout>\n\t);\n}\n\nfunction PaginationFooter( { page, totalPages, setPage } ) {\n\treturn (\n\t\t<Flex justify=\"center\">\n\t\t\t<Button\n\t\t\t\tlabel={ __( 'First page' ) }\n\t\t\t\tsize=\"compact\"\n\t\t\t\tonClick={ () => setPage( 1 ) }\n\t\t\t\tdisabled={ page === 1 }\n\t\t\t\t__experimentalIsFocusable\n\t\t\t>\n\t\t\t\t<span>«</span>\n\t\t\t</Button>\n\t\t\t<Button\n\t\t\t\tlabel={ __( 'Previous page' ) }\n\t\t\t\tsize=\"compact\"\n\t\t\t\tonClick={ () => setPage( page - 1 ) }\n\t\t\t\tdisabled={ page === 1 }\n\t\t\t\t__experimentalIsFocusable\n\t\t\t>\n\t\t\t\t<span>‹</span>\n\t\t\t</Button>\n\t\t\t<HStack justify=\"flex-start\" expanded={ false } spacing={ 2 }>\n\t\t\t\t{ createInterpolateElement(\n\t\t\t\t\tsprintf(\n\t\t\t\t\t\t// translators: %s: Total number of pages.\n\t\t\t\t\t\t_x( 'Page <CurrenPageControl /> of %s', 'paging' ),\n\t\t\t\t\t\ttotalPages\n\t\t\t\t\t),\n\t\t\t\t\t{\n\t\t\t\t\t\tCurrenPageControl: (\n\t\t\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t\t\taria-label={ __( 'Current page' ) }\n\t\t\t\t\t\t\t\tvalue={ page }\n\t\t\t\t\t\t\t\toptions={ [ ...Array( totalPages ) ].map(\n\t\t\t\t\t\t\t\t\t( e, i ) => {\n\t\t\t\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t\t\t\tlabel: i + 1,\n\t\t\t\t\t\t\t\t\t\t\tvalue: i + 1,\n\t\t\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\tonChange={ ( newPage ) =>\n\t\t\t\t\t\t\t\t\tsetPage( parseInt( newPage ) )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tsize={ 'compact' }\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\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</HStack>\n\t\t\t<Button\n\t\t\t\tlabel={ __( 'Next page' ) }\n\t\t\t\tsize=\"compact\"\n\t\t\t\tonClick={ () => setPage( page + 1 ) }\n\t\t\t\tdisabled={ page === totalPages }\n\t\t\t\t__experimentalIsFocusable\n\t\t\t>\n\t\t\t\t<span>›</span>\n\t\t\t</Button>\n\t\t\t<Button\n\t\t\t\tlabel={ __( 'Last page' ) }\n\t\t\t\tsize=\"compact\"\n\t\t\t\tonClick={ () => setPage( totalPages ) }\n\t\t\t\tdisabled={ page === totalPages }\n\t\t\t\t__experimentalIsFocusable\n\t\t\t>\n\t\t\t\t<span>»</span>\n\t\t\t</Button>\n\t\t</Flex>\n\t);\n}\n\nfunction InstallFooter( { handleInstall, isDisabled } ) {\n\tconst { isInstalling } = useContext( FontLibraryContext );\n\n\treturn (\n\t\t<Flex justify=\"flex-end\">\n\t\t\t<Button\n\t\t\t\tvariant=\"primary\"\n\t\t\t\tonClick={ handleInstall }\n\t\t\t\tisBusy={ isInstalling }\n\t\t\t\tdisabled={ isDisabled || isInstalling }\n\t\t\t\t__experimentalIsFocusable\n\t\t\t>\n\t\t\t\t{ __( 'Install' ) }\n\t\t\t</Button>\n\t\t</Flex>\n\t);\n}\n\nexport default FontCollection;\n"],"mappings":"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"}
|
|
@@ -21,7 +21,7 @@ function GoogleFontsConfirmDialog() {
|
|
|
21
21
|
className: "font-library__google-fonts-confirm"
|
|
22
22
|
}, (0, _react.createElement)(_components.Card, null, (0, _react.createElement)(_components.CardBody, null, (0, _react.createElement)(_components.__experimentalText, {
|
|
23
23
|
as: "h3"
|
|
24
|
-
},
|
|
24
|
+
}, (0, _i18n.__)('Connect to Google Fonts')), (0, _react.createElement)(_components.__experimentalSpacer, {
|
|
25
25
|
margin: 6
|
|
26
26
|
}), (0, _react.createElement)(_components.__experimentalText, {
|
|
27
27
|
as: "p"
|
package/build/components/global-styles/font-library-modal/google-fonts-confirm-dialog.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_i18n","require","_components","GoogleFontsConfirmDialog","handleConfirm","window","localStorage","setItem","dispatchEvent","Event","_react","createElement","className","Card","CardBody","__experimentalText","as","
|
|
1
|
+
{"version":3,"names":["_i18n","require","_components","GoogleFontsConfirmDialog","handleConfirm","window","localStorage","setItem","dispatchEvent","Event","_react","createElement","className","Card","CardBody","__experimentalText","as","__","__experimentalSpacer","margin","Button","variant","onClick","_default","exports","default"],"sources":["@wordpress/edit-site/src/components/global-styles/font-library-modal/google-fonts-confirm-dialog.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\tButton,\n\tCard,\n\tCardBody,\n\t__experimentalText as Text,\n\t__experimentalSpacer as Spacer,\n} from '@wordpress/components';\n\nfunction GoogleFontsConfirmDialog() {\n\tconst handleConfirm = () => {\n\t\t// eslint-disable-next-line no-undef\n\t\twindow.localStorage.setItem(\n\t\t\t'wp-font-library-google-fonts-permission',\n\t\t\t'true'\n\t\t);\n\t\twindow.dispatchEvent( new Event( 'storage' ) );\n\t};\n\n\treturn (\n\t\t<div className=\"font-library__google-fonts-confirm\">\n\t\t\t<Card>\n\t\t\t\t<CardBody>\n\t\t\t\t\t<Text as=\"h3\">{ __( 'Connect to Google Fonts' ) }</Text>\n\t\t\t\t\t<Spacer margin={ 6 } />\n\t\t\t\t\t<Text as=\"p\">\n\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t'To install fonts from Google you must give permission to connect directly to Google servers. The fonts you install will be downloaded from Google and stored on your site. Your site will then use these locally-hosted fonts.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t</Text>\n\t\t\t\t\t<Spacer margin={ 3 } />\n\t\t\t\t\t<Text as=\"p\">\n\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t'You can alternatively upload files directly on the Upload tab.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t</Text>\n\t\t\t\t\t<Spacer margin={ 6 } />\n\t\t\t\t\t<Button variant=\"primary\" onClick={ handleConfirm }>\n\t\t\t\t\t\t{ __( 'Allow access to Google Fonts' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t</CardBody>\n\t\t\t</Card>\n\t\t</div>\n\t);\n}\n\nexport default GoogleFontsConfirmDialog;\n"],"mappings":";;;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AAJA;AACA;AACA;;AAUA,SAASE,wBAAwBA,CAAA,EAAG;EACnC,MAAMC,aAAa,GAAGA,CAAA,KAAM;IAC3B;IACAC,MAAM,CAACC,YAAY,CAACC,OAAO,CAC1B,yCAAyC,EACzC,MACD,CAAC;IACDF,MAAM,CAACG,aAAa,CAAE,IAAIC,KAAK,CAAE,SAAU,CAAE,CAAC;EAC/C,CAAC;EAED,OACC,IAAAC,MAAA,CAAAC,aAAA;IAAKC,SAAS,EAAC;EAAoC,GAClD,IAAAF,MAAA,CAAAC,aAAA,EAACT,WAAA,CAAAW,IAAI,QACJ,IAAAH,MAAA,CAAAC,aAAA,EAACT,WAAA,CAAAY,QAAQ,QACR,IAAAJ,MAAA,CAAAC,aAAA,EAACT,WAAA,CAAAa,kBAAI;IAACC,EAAE,EAAC;EAAI,GAAG,IAAAC,QAAE,EAAE,yBAA0B,CAAS,CAAC,EACxD,IAAAP,MAAA,CAAAC,aAAA,EAACT,WAAA,CAAAgB,oBAAM;IAACC,MAAM,EAAG;EAAG,CAAE,CAAC,EACvB,IAAAT,MAAA,CAAAC,aAAA,EAACT,WAAA,CAAAa,kBAAI;IAACC,EAAE,EAAC;EAAG,GACT,IAAAC,QAAE,EACH,gOACD,CACK,CAAC,EACP,IAAAP,MAAA,CAAAC,aAAA,EAACT,WAAA,CAAAgB,oBAAM;IAACC,MAAM,EAAG;EAAG,CAAE,CAAC,EACvB,IAAAT,MAAA,CAAAC,aAAA,EAACT,WAAA,CAAAa,kBAAI;IAACC,EAAE,EAAC;EAAG,GACT,IAAAC,QAAE,EACH,gEACD,CACK,CAAC,EACP,IAAAP,MAAA,CAAAC,aAAA,EAACT,WAAA,CAAAgB,oBAAM;IAACC,MAAM,EAAG;EAAG,CAAE,CAAC,EACvB,IAAAT,MAAA,CAAAC,aAAA,EAACT,WAAA,CAAAkB,MAAM;IAACC,OAAO,EAAC,SAAS;IAACC,OAAO,EAAGlB;EAAe,GAChD,IAAAa,QAAE,EAAE,8BAA+B,CAC9B,CACC,CACL,CACF,CAAC;AAER;AAAC,IAAAM,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEctB,wBAAwB"}
|