Editor: Update Packages with the latest bug fixes for 6.5 beta 2 (Round 2).
It includes all the backports from this Gutenberg PR https://github.com/WordPress/gutenberg/pull/59208 See #60315. Built from https://develop.svn.wordpress.org/trunk@57669 git-svn-id: http://core.svn.wordpress.org/trunk@57170 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
parent
52170ea9d8
commit
e34c2c3a94
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
@ -1427,16 +1427,6 @@ iframe[name=editor-canvas].has-editor-padding{
|
|||
font-family:Menlo,Consolas,monaco,monospace;
|
||||
}
|
||||
|
||||
.block-editor-global-styles-advanced-panel__custom-css-validation-wrapper{
|
||||
bottom:16px;
|
||||
left:24px;
|
||||
position:absolute;
|
||||
}
|
||||
|
||||
.block-editor-global-styles-advanced-panel__custom-css-validation-icon{
|
||||
fill:#cc1818;
|
||||
}
|
||||
|
||||
.block-editor-height-control{
|
||||
border:0;
|
||||
margin:0;
|
||||
|
|
File diff suppressed because one or more lines are too long
|
@ -1427,16 +1427,6 @@ iframe[name=editor-canvas].has-editor-padding{
|
|||
font-family:Menlo,Consolas,monaco,monospace;
|
||||
}
|
||||
|
||||
.block-editor-global-styles-advanced-panel__custom-css-validation-wrapper{
|
||||
bottom:16px;
|
||||
position:absolute;
|
||||
right:24px;
|
||||
}
|
||||
|
||||
.block-editor-global-styles-advanced-panel__custom-css-validation-icon{
|
||||
fill:#cc1818;
|
||||
}
|
||||
|
||||
.block-editor-height-control{
|
||||
border:0;
|
||||
margin:0;
|
||||
|
|
File diff suppressed because one or more lines are too long
|
@ -2388,6 +2388,14 @@ body.is-fullscreen-mode .edit-site-list-header{
|
|||
.edit-site-patterns__pagination .components-button.is-tertiary:hover:not(:disabled){
|
||||
background-color:#757575;
|
||||
}
|
||||
.edit-site-page-patterns-dataviews{
|
||||
margin-top:60px;
|
||||
}
|
||||
@media (min-width:782px){
|
||||
.edit-site-page-patterns-dataviews{
|
||||
margin-top:0;
|
||||
}
|
||||
}
|
||||
.edit-site-page-patterns-dataviews .page-patterns-preview-field{
|
||||
border-radius:3px 3px 0 0;
|
||||
display:flex;
|
||||
|
@ -2436,6 +2444,9 @@ body.is-fullscreen-mode .edit-site-list-header{
|
|||
white-space:nowrap;
|
||||
width:100%;
|
||||
}
|
||||
.edit-site-page-patterns-dataviews .dataviews-pagination{
|
||||
z-index:2;
|
||||
}
|
||||
|
||||
.dataviews-action-modal__duplicate-pattern [role=dialog]>[role=document]{
|
||||
width:350px;
|
||||
|
@ -2513,6 +2524,10 @@ body.is-fullscreen-mode .edit-site-list-header{
|
|||
white-space:normal;
|
||||
}
|
||||
|
||||
.edit-site-page-template-template-parts-dataviews .dataviews-pagination{
|
||||
z-index:2;
|
||||
}
|
||||
|
||||
.edit-site-table-wrapper{
|
||||
padding:32px;
|
||||
width:100%;
|
||||
|
@ -3090,6 +3105,12 @@ body.is-fullscreen-mode .edit-site .components-editor-notices__snackbar{
|
|||
overflow:hidden;
|
||||
}
|
||||
|
||||
.edit-site-layout__mobile{
|
||||
position:relative;
|
||||
width:100%;
|
||||
z-index:2;
|
||||
}
|
||||
|
||||
.edit-site-layout__canvas-container{
|
||||
flex-grow:1;
|
||||
position:relative;
|
||||
|
@ -3140,7 +3161,7 @@ body.is-fullscreen-mode .edit-site .components-editor-notices__snackbar{
|
|||
border-radius:0;
|
||||
}
|
||||
|
||||
.edit-site-layout__canvas .interface-interface-skeleton,.edit-site-template-pages-preview .interface-interface-skeleton{
|
||||
.edit-site-layout__canvas .interface-interface-skeleton,.edit-site-layout__mobile .interface-interface-skeleton,.edit-site-template-pages-preview .interface-interface-skeleton{
|
||||
min-height:100% !important;
|
||||
position:relative !important;
|
||||
}
|
||||
|
@ -4040,9 +4061,8 @@ body:has(.edit-site-resizable-frame__inner.is-resizing){
|
|||
width:100%;
|
||||
}
|
||||
|
||||
.font-library-modal__fonts-grid .font-library-modal__fonts-grid__main{
|
||||
display:flex;
|
||||
flex-direction:column;
|
||||
.font-library-modal__tabpanel-layout .components-base-control__field{
|
||||
margin-bottom:0;
|
||||
}
|
||||
|
||||
.font-library-modal__font-card{
|
||||
|
|
File diff suppressed because one or more lines are too long
|
@ -2388,6 +2388,14 @@ body.is-fullscreen-mode .edit-site-list-header{
|
|||
.edit-site-patterns__pagination .components-button.is-tertiary:hover:not(:disabled){
|
||||
background-color:#757575;
|
||||
}
|
||||
.edit-site-page-patterns-dataviews{
|
||||
margin-top:60px;
|
||||
}
|
||||
@media (min-width:782px){
|
||||
.edit-site-page-patterns-dataviews{
|
||||
margin-top:0;
|
||||
}
|
||||
}
|
||||
.edit-site-page-patterns-dataviews .page-patterns-preview-field{
|
||||
border-radius:3px 3px 0 0;
|
||||
display:flex;
|
||||
|
@ -2436,6 +2444,9 @@ body.is-fullscreen-mode .edit-site-list-header{
|
|||
white-space:nowrap;
|
||||
width:100%;
|
||||
}
|
||||
.edit-site-page-patterns-dataviews .dataviews-pagination{
|
||||
z-index:2;
|
||||
}
|
||||
|
||||
.dataviews-action-modal__duplicate-pattern [role=dialog]>[role=document]{
|
||||
width:350px;
|
||||
|
@ -2513,6 +2524,10 @@ body.is-fullscreen-mode .edit-site-list-header{
|
|||
white-space:normal;
|
||||
}
|
||||
|
||||
.edit-site-page-template-template-parts-dataviews .dataviews-pagination{
|
||||
z-index:2;
|
||||
}
|
||||
|
||||
.edit-site-table-wrapper{
|
||||
padding:32px;
|
||||
width:100%;
|
||||
|
@ -3090,6 +3105,12 @@ body.is-fullscreen-mode .edit-site .components-editor-notices__snackbar{
|
|||
overflow:hidden;
|
||||
}
|
||||
|
||||
.edit-site-layout__mobile{
|
||||
position:relative;
|
||||
width:100%;
|
||||
z-index:2;
|
||||
}
|
||||
|
||||
.edit-site-layout__canvas-container{
|
||||
flex-grow:1;
|
||||
position:relative;
|
||||
|
@ -3140,7 +3161,7 @@ body.is-fullscreen-mode .edit-site .components-editor-notices__snackbar{
|
|||
border-radius:0;
|
||||
}
|
||||
|
||||
.edit-site-layout__canvas .interface-interface-skeleton,.edit-site-template-pages-preview .interface-interface-skeleton{
|
||||
.edit-site-layout__canvas .interface-interface-skeleton,.edit-site-layout__mobile .interface-interface-skeleton,.edit-site-template-pages-preview .interface-interface-skeleton{
|
||||
min-height:100% !important;
|
||||
position:relative !important;
|
||||
}
|
||||
|
@ -4040,9 +4061,8 @@ body:has(.edit-site-resizable-frame__inner.is-resizing){
|
|||
width:100%;
|
||||
}
|
||||
|
||||
.font-library-modal__fonts-grid .font-library-modal__fonts-grid__main{
|
||||
display:flex;
|
||||
flex-direction:column;
|
||||
.font-library-modal__tabpanel-layout .components-base-control__field{
|
||||
margin-bottom:0;
|
||||
}
|
||||
|
||||
.font-library-modal__font-card{
|
||||
|
|
File diff suppressed because one or more lines are too long
|
@ -8705,7 +8705,6 @@ __webpack_require__.d(private_selectors_namespaceObject, {
|
|||
getBlockWithoutAttributes: () => (getBlockWithoutAttributes),
|
||||
getEnabledBlockParents: () => (getEnabledBlockParents),
|
||||
getEnabledClientIdsTree: () => (getEnabledClientIdsTree),
|
||||
getFetchedPatterns: () => (getFetchedPatterns),
|
||||
getInserterMediaCategories: () => (getInserterMediaCategories),
|
||||
getLastFocus: () => (getLastFocus),
|
||||
getLastInsertedBlocksClientIds: () => (getLastInsertedBlocksClientIds),
|
||||
|
@ -8719,13 +8718,6 @@ __webpack_require__.d(private_selectors_namespaceObject, {
|
|||
isDragging: () => (private_selectors_isDragging)
|
||||
});
|
||||
|
||||
// NAMESPACE OBJECT: ./node_modules/@wordpress/block-editor/build-module/store/resolvers.js
|
||||
var resolvers_namespaceObject = {};
|
||||
__webpack_require__.r(resolvers_namespaceObject);
|
||||
__webpack_require__.d(resolvers_namespaceObject, {
|
||||
getFetchedPatterns: () => (resolvers_getFetchedPatterns)
|
||||
});
|
||||
|
||||
// NAMESPACE OBJECT: ./node_modules/@wordpress/block-editor/build-module/store/actions.js
|
||||
var actions_namespaceObject = {};
|
||||
__webpack_require__.r(actions_namespaceObject);
|
||||
|
@ -10974,13 +10966,6 @@ function blockBindingsSources(state = {}, action) {
|
|||
}
|
||||
return state;
|
||||
}
|
||||
function blockPatterns(state = [], action) {
|
||||
switch (action.type) {
|
||||
case 'RECEIVE_BLOCK_PATTERNS':
|
||||
return action.patterns;
|
||||
}
|
||||
return state;
|
||||
}
|
||||
const combinedReducers = (0,external_wp_data_namespaceObject.combineReducers)({
|
||||
blocks,
|
||||
isDragging,
|
||||
|
@ -11012,8 +10997,7 @@ const combinedReducers = (0,external_wp_data_namespaceObject.combineReducers)({
|
|||
blockRemovalRules,
|
||||
openedBlockSettingsMenu,
|
||||
registeredInserterMediaCategories,
|
||||
blockBindingsSources,
|
||||
blockPatterns
|
||||
blockBindingsSources
|
||||
});
|
||||
function withAutomaticChangeReset(reducer) {
|
||||
return (state, action) => {
|
||||
|
@ -11373,7 +11357,14 @@ const symbol = (0,external_React_.createElement)(external_wp_primitives_namespac
|
|||
|
||||
;// CONCATENATED MODULE: external ["wp","richText"]
|
||||
const external_wp_richText_namespaceObject = window["wp"]["richText"];
|
||||
;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/store/private-keys.js
|
||||
const selectBlockPatternsKey = Symbol('selectBlockPatternsKey');
|
||||
|
||||
;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/store/utils.js
|
||||
/**
|
||||
* Internal dependencies
|
||||
*/
|
||||
|
||||
const checkAllowList = (list, item, defaultResult = null) => {
|
||||
if (typeof list === 'boolean') {
|
||||
return list;
|
||||
|
@ -11406,8 +11397,8 @@ const checkAllowListRecursive = (blocks, allowedBlockTypes) => {
|
|||
}
|
||||
return true;
|
||||
};
|
||||
const getAllPatternsDependants = state => {
|
||||
return [state.settings.__experimentalBlockPatterns, state.settings.__experimentalUserPatternCategories, state.settings.__experimentalReusableBlocks, state.settings.__experimentalFetchBlockPatterns, state.blockPatterns];
|
||||
const getAllPatternsDependants = select => state => {
|
||||
return [state.settings.__experimentalBlockPatterns, state.settings.__experimentalUserPatternCategories, state.settings.__experimentalReusableBlocks, state.settings[selectBlockPatternsKey]?.(select), state.blockPatterns];
|
||||
};
|
||||
|
||||
;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/utils/sorting.js
|
||||
|
@ -13160,14 +13151,9 @@ const buildBlockTypeItem = (state, {
|
|||
};
|
||||
if (buildScope === 'transform') return blockItemBase;
|
||||
const inserterVariations = (0,external_wp_blocks_namespaceObject.getBlockVariations)(blockType.name, 'inserter');
|
||||
const ignoredHookedBlocks = [...new Set(Object.values((0,external_wp_blocks_namespaceObject.getHookedBlocks)(id)).flat())];
|
||||
return {
|
||||
...blockItemBase,
|
||||
initialAttributes: ignoredHookedBlocks.length ? {
|
||||
metadata: {
|
||||
ignoredHookedBlocks
|
||||
}
|
||||
} : {},
|
||||
initialAttributes: {},
|
||||
description: blockType.description,
|
||||
category: blockType.category,
|
||||
keywords: blockType.keywords,
|
||||
|
@ -13422,9 +13408,9 @@ const __experimentalGetParsedPattern = (0,external_wp_data_namespaceObject.creat
|
|||
__unstableSkipMigrationLogs: true
|
||||
})
|
||||
};
|
||||
}, getAllPatternsDependants));
|
||||
const getAllowedPatternsDependants = (state, rootClientId) => {
|
||||
return [...getAllPatternsDependants(state), state.settings.allowedBlockTypes, state.settings.templateLock, state.blockListSettings[rootClientId], state.blocks.byClientId.get(rootClientId)];
|
||||
}, getAllPatternsDependants(select)));
|
||||
const getAllowedPatternsDependants = select => (state, rootClientId) => {
|
||||
return [...getAllPatternsDependants(select)(state), state.settings.allowedBlockTypes, state.settings.templateLock, state.blockListSettings[rootClientId], state.blocks.byClientId.get(rootClientId)];
|
||||
};
|
||||
|
||||
/**
|
||||
|
@ -13459,7 +13445,7 @@ const __experimentalGetAllowedPatterns = (0,external_wp_data_namespaceObject.cre
|
|||
name
|
||||
}) => canInsertBlockType(state, name, rootClientId)));
|
||||
return patternsAllowed;
|
||||
}, getAllowedPatternsDependants);
|
||||
}, getAllowedPatternsDependants(select));
|
||||
});
|
||||
|
||||
/**
|
||||
|
@ -13484,7 +13470,7 @@ const getPatternsByBlockTypes = (0,external_wp_data_namespaceObject.createRegist
|
|||
return EMPTY_ARRAY;
|
||||
}
|
||||
return filteredPatterns;
|
||||
}, (state, blockNames, rootClientId) => getAllowedPatternsDependants(state, rootClientId)));
|
||||
}, (state, blockNames, rootClientId) => getAllowedPatternsDependants(select)(state, rootClientId)));
|
||||
const __experimentalGetPatternsByBlockTypes = (0,external_wp_data_namespaceObject.createRegistrySelector)(select => {
|
||||
external_wp_deprecated_default()('wp.data.select( "core/block-editor" ).__experimentalGetPatternsByBlockTypes', {
|
||||
alternative: 'wp.data.select( "core/block-editor" ).getPatternsByBlockTypes',
|
||||
|
@ -13538,7 +13524,7 @@ const __experimentalGetPatternTransformItems = (0,external_wp_data_namespaceObje
|
|||
* Now this happens in the consumer to avoid heavy operations in the selector.
|
||||
*/
|
||||
return select(STORE_NAME).getPatternsByBlockTypes(selectedBlockNames, rootClientId);
|
||||
}, (state, blocks, rootClientId) => getAllowedPatternsDependants(state, rootClientId)));
|
||||
}, (state, blocks, rootClientId) => getAllowedPatternsDependants(select)(state, rootClientId)));
|
||||
|
||||
/**
|
||||
* Returns the Block List settings of a block, if any exist.
|
||||
|
@ -14691,6 +14677,7 @@ function getBlockSettings(state, clientId, ...paths) {
|
|||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Returns true if the block interface is hidden, or false otherwise.
|
||||
*
|
||||
|
@ -14868,9 +14855,6 @@ const getInserterMediaCategories = rememo(state => {
|
|||
return Object.values(allowedMimeTypes).some(mimeType => mimeType.startsWith(`${category.mediaType}/`));
|
||||
});
|
||||
}, state => [state.settings.inserterMediaCategories, state.settings.allowedMimeTypes, state.settings.enableOpenverseMediaCategory, state.registeredInserterMediaCategories]);
|
||||
function getFetchedPatterns(state) {
|
||||
return state.blockPatterns;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns whether there is at least one allowed pattern for inner blocks children.
|
||||
|
@ -14904,8 +14888,9 @@ const hasAllowedPatterns = (0,external_wp_data_namespaceObject.createRegistrySel
|
|||
name: blockName
|
||||
}) => canInsertBlockType(state, blockName, rootClientId));
|
||||
});
|
||||
}, (state, rootClientId) => [getAllPatternsDependants(state), state.settings.allowedBlockTypes, state.settings.templateLock, state.blockListSettings[rootClientId], state.blocks.byClientId.get(rootClientId)]));
|
||||
}, (state, rootClientId) => [getAllPatternsDependants(select)(state), state.settings.allowedBlockTypes, state.settings.templateLock, state.blockListSettings[rootClientId], state.blocks.byClientId.get(rootClientId)]));
|
||||
const getAllPatterns = (0,external_wp_data_namespaceObject.createRegistrySelector)(select => rememo(state => {
|
||||
var _state$settings$selec;
|
||||
// This setting is left for back compat.
|
||||
const {
|
||||
__experimentalBlockPatterns = [],
|
||||
|
@ -14928,8 +14913,8 @@ const getAllPatterns = (0,external_wp_data_namespaceObject.createRegistrySelecto
|
|||
syncStatus: userPattern.wp_pattern_sync_status
|
||||
};
|
||||
});
|
||||
return [...userPatterns, ...__experimentalBlockPatterns, ...unlock(select(STORE_NAME)).getFetchedPatterns()].filter((x, index, arr) => index === arr.findIndex(y => x.name === y.name));
|
||||
}, getAllPatternsDependants));
|
||||
return [...userPatterns, ...__experimentalBlockPatterns, ...((_state$settings$selec = state.settings[selectBlockPatternsKey]?.(select)) !== null && _state$settings$selec !== void 0 ? _state$settings$selec : [])].filter((x, index, arr) => index === arr.findIndex(y => x.name === y.name));
|
||||
}, getAllPatternsDependants(select)));
|
||||
|
||||
/**
|
||||
* Returns the element of the last element that had focus when focus left the editor canvas.
|
||||
|
@ -14961,27 +14946,6 @@ function private_selectors_isDragging(state) {
|
|||
return state.isDragging;
|
||||
}
|
||||
|
||||
;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/store/resolvers.js
|
||||
const resolvers_getFetchedPatterns = () => async ({
|
||||
dispatch,
|
||||
select
|
||||
}) => {
|
||||
const {
|
||||
__experimentalFetchBlockPatterns
|
||||
} = select.getSettings();
|
||||
if (!__experimentalFetchBlockPatterns) {
|
||||
return [];
|
||||
}
|
||||
const patterns = await __experimentalFetchBlockPatterns();
|
||||
dispatch({
|
||||
type: 'RECEIVE_BLOCK_PATTERNS',
|
||||
patterns
|
||||
});
|
||||
};
|
||||
resolvers_getFetchedPatterns.shouldInvalidate = action => {
|
||||
return action.type === 'UPDATE_SETTINGS' && !!action.settings.__experimentalFetchBlockPatterns;
|
||||
};
|
||||
|
||||
;// CONCATENATED MODULE: external ["wp","a11y"]
|
||||
const external_wp_a11y_namespaceObject = window["wp"]["a11y"];
|
||||
;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/utils/selection.js
|
||||
|
@ -16692,7 +16656,6 @@ function unsetBlockEditingMode(clientId = '') {
|
|||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Block editor data store configuration.
|
||||
*
|
||||
|
@ -16701,7 +16664,6 @@ function unsetBlockEditingMode(clientId = '') {
|
|||
const storeConfig = {
|
||||
reducer: reducer,
|
||||
selectors: selectors_namespaceObject,
|
||||
resolvers: resolvers_namespaceObject,
|
||||
actions: actions_namespaceObject
|
||||
};
|
||||
|
||||
|
@ -24427,10 +24389,12 @@ function backgroundSizeHelpText(value) {
|
|||
return (0,external_wp_i18n_namespaceObject.__)('Specify a fixed width.');
|
||||
}
|
||||
const coordsToBackgroundPosition = value => {
|
||||
if (!value || isNaN(value.x) || isNaN(value.y)) {
|
||||
if (!value || isNaN(value.x) && isNaN(value.y)) {
|
||||
return undefined;
|
||||
}
|
||||
return `${value.x * 100}% ${value.y * 100}%`;
|
||||
const x = isNaN(value.x) ? 0.5 : value.x;
|
||||
const y = isNaN(value.y) ? 0.5 : value.y;
|
||||
return `${x * 100}% ${y * 100}%`;
|
||||
};
|
||||
const backgroundPositionToCoords = value => {
|
||||
if (!value) {
|
||||
|
@ -25188,10 +25152,10 @@ function ShadowPopoverContainer({
|
|||
onShadowChange,
|
||||
settings
|
||||
}) {
|
||||
const defaultShadows = settings?.shadow?.presets?.default;
|
||||
const themeShadows = settings?.shadow?.presets?.theme;
|
||||
const defaultShadows = settings?.shadow?.presets?.default || [];
|
||||
const themeShadows = settings?.shadow?.presets?.theme || [];
|
||||
const defaultPresetsEnabled = settings?.shadow?.defaultPresets;
|
||||
const shadows = [...(defaultPresetsEnabled ? defaultShadows : []), ...(themeShadows || [])];
|
||||
const shadows = [...(defaultPresetsEnabled ? defaultShadows : []), ...themeShadows];
|
||||
return (0,external_React_.createElement)("div", {
|
||||
className: "block-editor-global-styles__shadow-popover-container"
|
||||
}, (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalVStack, {
|
||||
|
@ -43100,7 +43064,7 @@ function MediaPreview({
|
|||
setIsInserting(false);
|
||||
});
|
||||
}, [isInserting, onClick, mediaUpload, createErrorNotice, createSuccessNotice]);
|
||||
const title = media.title?.rendered || media.title;
|
||||
const title = typeof media.title === 'string' ? media.title : media.title?.rendered || (0,external_wp_i18n_namespaceObject.__)('no title');
|
||||
let truncatedTitle;
|
||||
if (title.length > MAXIMUM_TITLE_LENGTH) {
|
||||
const omission = '...';
|
||||
|
@ -44882,9 +44846,12 @@ function InbetweenInsertionPointPopover({
|
|||
isInserterShown: insertionPoint?.__unstableWithInserter
|
||||
};
|
||||
}, []);
|
||||
const {
|
||||
getBlockEditingMode
|
||||
} = (0,external_wp_data_namespaceObject.useSelect)(store);
|
||||
const disableMotion = (0,external_wp_compose_namespaceObject.useReducedMotion)();
|
||||
function onClick(event) {
|
||||
if (event.target === ref.current && nextClientId) {
|
||||
if (event.target === ref.current && nextClientId && getBlockEditingMode(nextClientId) !== 'disabled') {
|
||||
selectBlock(nextClientId, -1);
|
||||
}
|
||||
}
|
||||
|
@ -58484,16 +58451,35 @@ function usePasteHandler(props) {
|
|||
return;
|
||||
}
|
||||
const isInternal = event.clipboardData.getData('rich-text') === 'true';
|
||||
function pasteInline(content) {
|
||||
const transformed = formatTypes.reduce((accumulator, {
|
||||
__unstablePasteRule
|
||||
}) => {
|
||||
// Only allow one transform.
|
||||
if (__unstablePasteRule && accumulator === value) {
|
||||
accumulator = __unstablePasteRule(value, {
|
||||
html,
|
||||
plainText
|
||||
});
|
||||
}
|
||||
return accumulator;
|
||||
}, value);
|
||||
if (transformed !== value) {
|
||||
onChange(transformed);
|
||||
} else {
|
||||
const valueToInsert = (0,external_wp_richText_namespaceObject.create)({
|
||||
html: content
|
||||
});
|
||||
addActiveFormats(valueToInsert, value.activeFormats);
|
||||
onChange((0,external_wp_richText_namespaceObject.insert)(value, valueToInsert));
|
||||
}
|
||||
}
|
||||
|
||||
// If the data comes from a rich text instance, we can directly use it
|
||||
// without filtering the data. The filters are only meant for externally
|
||||
// pasted content and remove inline styles.
|
||||
if (isInternal) {
|
||||
const pastedValue = (0,external_wp_richText_namespaceObject.create)({
|
||||
html
|
||||
});
|
||||
addActiveFormats(pastedValue, value.activeFormats);
|
||||
onChange((0,external_wp_richText_namespaceObject.insert)(value, pastedValue));
|
||||
pasteInline(html);
|
||||
return;
|
||||
}
|
||||
if (pastePlainText) {
|
||||
|
@ -58543,27 +58529,7 @@ function usePasteHandler(props) {
|
|||
tagName
|
||||
});
|
||||
if (typeof content === 'string') {
|
||||
const transformed = formatTypes.reduce((accumlator, {
|
||||
__unstablePasteRule
|
||||
}) => {
|
||||
// Only allow one transform.
|
||||
if (__unstablePasteRule && accumlator === value) {
|
||||
accumlator = __unstablePasteRule(value, {
|
||||
html,
|
||||
plainText
|
||||
});
|
||||
}
|
||||
return accumlator;
|
||||
}, value);
|
||||
if (transformed !== value) {
|
||||
onChange(transformed);
|
||||
} else {
|
||||
const valueToInsert = (0,external_wp_richText_namespaceObject.create)({
|
||||
html: content
|
||||
});
|
||||
addActiveFormats(valueToInsert, value.activeFormats);
|
||||
onChange((0,external_wp_richText_namespaceObject.insert)(value, valueToInsert));
|
||||
}
|
||||
pasteInline(content);
|
||||
} else if (content.length > 0) {
|
||||
if (onReplace && (0,external_wp_richText_namespaceObject.isEmpty)(value)) {
|
||||
onReplace(content, content.length - 1, -1);
|
||||
|
@ -59634,9 +59600,13 @@ function RichTextWrapper({
|
|||
getBlockBindingsSource
|
||||
} = unlock(select(store));
|
||||
for (const [attribute, args] of Object.entries(blockBindings)) {
|
||||
// If any of the attributes with source "rich-text" is part of the bindings,
|
||||
// has a source with `lockAttributesEditing`, disable it.
|
||||
if (blockTypeAttributes?.[attribute]?.source === 'rich-text' && getBlockBindingsSource(args.source)?.lockAttributesEditing) {
|
||||
if (blockTypeAttributes?.[attribute]?.source !== 'rich-text') {
|
||||
break;
|
||||
}
|
||||
|
||||
// If the source is not defined, or if its value of `lockAttributesEditing` is `true`, disable it.
|
||||
const blockBindingsSource = getBlockBindingsSource(args.source);
|
||||
if (!blockBindingsSource || blockBindingsSource.lockAttributesEditing) {
|
||||
shouldDisableEditing = true;
|
||||
break;
|
||||
}
|
||||
|
@ -63721,7 +63691,6 @@ function ImageSettingsPanel({
|
|||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Internal dependencies
|
||||
*/
|
||||
|
@ -63760,7 +63729,10 @@ function AdvancedPanel({
|
|||
}
|
||||
return (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalVStack, {
|
||||
spacing: 3
|
||||
}, (0,external_React_.createElement)(external_wp_components_namespaceObject.TextareaControl, {
|
||||
}, cssError && (0,external_React_.createElement)(external_wp_components_namespaceObject.Notice, {
|
||||
status: "error",
|
||||
onRemove: () => setCSSError(null)
|
||||
}, cssError), (0,external_React_.createElement)(external_wp_components_namespaceObject.TextareaControl, {
|
||||
label: (0,external_wp_i18n_namespaceObject.__)('Additional CSS'),
|
||||
__nextHasNoMarginBottom: true,
|
||||
value: customCSS,
|
||||
|
@ -63768,14 +63740,7 @@ function AdvancedPanel({
|
|||
onBlur: handleOnBlur,
|
||||
className: "block-editor-global-styles-advanced-panel__custom-css-input",
|
||||
spellCheck: false
|
||||
}), cssError && (0,external_React_.createElement)(external_wp_components_namespaceObject.Tooltip, {
|
||||
text: cssError
|
||||
}, (0,external_React_.createElement)("div", {
|
||||
className: "block-editor-global-styles-advanced-panel__custom-css-validation-wrapper"
|
||||
}, (0,external_React_.createElement)(build_module_icon, {
|
||||
icon: library_info,
|
||||
className: "block-editor-global-styles-advanced-panel__custom-css-validation-icon"
|
||||
}))));
|
||||
}));
|
||||
}
|
||||
|
||||
;// CONCATENATED MODULE: ./node_modules/memize/dist/index.js
|
||||
|
@ -67153,6 +67118,7 @@ function ResolutionTool({
|
|||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
|
@ -67183,7 +67149,8 @@ lock(privateApis, {
|
|||
ReusableBlocksRenameHint: ReusableBlocksRenameHint,
|
||||
useReusableBlocksRenameHint: useReusableBlocksRenameHint,
|
||||
usesContextKey: usesContextKey,
|
||||
useFlashEditableBlocks: useFlashEditableBlocks
|
||||
useFlashEditableBlocks: useFlashEditableBlocks,
|
||||
selectBlockPatternsKey: selectBlockPatternsKey
|
||||
});
|
||||
|
||||
;// CONCATENATED MODULE: ./node_modules/@wordpress/block-editor/build-module/index.js
|
||||
|
|
File diff suppressed because one or more lines are too long
|
@ -5077,11 +5077,9 @@ function ButtonEdit(props) {
|
|||
if (!isSelected) {
|
||||
return {};
|
||||
}
|
||||
const {
|
||||
getBlockBindingsSource
|
||||
} = unlock(select(external_wp_blockEditor_namespaceObject.store));
|
||||
const blockBindingsSource = unlock(select(external_wp_blockEditor_namespaceObject.store)).getBlockBindingsSource(metadata?.bindings?.url?.source);
|
||||
return {
|
||||
lockUrlControls: !!metadata?.bindings?.url && getBlockBindingsSource(metadata?.bindings?.url?.source)?.lockAttributesEditing
|
||||
lockUrlControls: !!metadata?.bindings?.url && (!blockBindingsSource || blockBindingsSource?.lockAttributesEditing)
|
||||
};
|
||||
}, [isSelected]);
|
||||
return (0,external_React_namespaceObject.createElement)(external_React_namespaceObject.Fragment, null, (0,external_React_namespaceObject.createElement)("div", {
|
||||
|
@ -25987,14 +25985,17 @@ function image_Image({
|
|||
title: titleBinding
|
||||
} = metadata?.bindings || {};
|
||||
const hasParentPattern = getBlockParentsByBlockName(clientId, 'core/block').length > 0;
|
||||
const urlBindingSource = getBlockBindingsSource(urlBinding?.source);
|
||||
const altBindingSource = getBlockBindingsSource(altBinding?.source);
|
||||
const titleBindingSource = getBlockBindingsSource(titleBinding?.source);
|
||||
return {
|
||||
lockUrlControls: !!urlBinding && getBlockBindingsSource(urlBinding?.source)?.lockAttributesEditing,
|
||||
lockUrlControls: !!urlBinding && (!urlBindingSource || urlBindingSource?.lockAttributesEditing),
|
||||
lockHrefControls:
|
||||
// Disable editing the link of the URL if the image is inside a pattern instance.
|
||||
// This is a temporary solution until we support overriding the link on the frontend.
|
||||
hasParentPattern,
|
||||
lockAltControls: !!altBinding && getBlockBindingsSource(altBinding?.source)?.lockAttributesEditing,
|
||||
lockTitleControls: !!titleBinding && getBlockBindingsSource(titleBinding?.source)?.lockAttributesEditing
|
||||
lockAltControls: !!altBinding && (!altBindingSource || altBindingSource?.lockAttributesEditing),
|
||||
lockTitleControls: !!titleBinding && (!titleBindingSource || titleBindingSource?.lockAttributesEditing)
|
||||
};
|
||||
}, [clientId, isSingleSelected, metadata?.bindings]);
|
||||
const controls = (0,external_React_namespaceObject.createElement)(external_React_namespaceObject.Fragment, null, (0,external_React_namespaceObject.createElement)(external_wp_blockEditor_namespaceObject.BlockControls, {
|
||||
|
@ -26608,11 +26609,9 @@ function ImageEdit({
|
|||
if (!isSingleSelected) {
|
||||
return {};
|
||||
}
|
||||
const {
|
||||
getBlockBindingsSource
|
||||
} = unlock(select(external_wp_blockEditor_namespaceObject.store));
|
||||
const blockBindingsSource = unlock(select(external_wp_blockEditor_namespaceObject.store)).getBlockBindingsSource(metadata?.bindings?.url?.source);
|
||||
return {
|
||||
lockUrlControls: !!metadata?.bindings?.url && getBlockBindingsSource(metadata?.bindings?.url?.source)?.lockAttributesEditing
|
||||
lockUrlControls: !!metadata?.bindings?.url && (!blockBindingsSource || blockBindingsSource?.lockAttributesEditing)
|
||||
};
|
||||
}, [isSingleSelected]);
|
||||
const placeholder = content => {
|
||||
|
|
File diff suppressed because one or more lines are too long
|
@ -5859,7 +5859,6 @@ __webpack_require__.d(__webpack_exports__, {
|
|||
getDefaultBlockName: () => (/* reexport */ getDefaultBlockName),
|
||||
getFreeformContentHandlerName: () => (/* reexport */ getFreeformContentHandlerName),
|
||||
getGroupingBlockName: () => (/* reexport */ getGroupingBlockName),
|
||||
getHookedBlocks: () => (/* reexport */ getHookedBlocks),
|
||||
getPhrasingContentSchema: () => (/* reexport */ deprecatedGetPhrasingContentSchema),
|
||||
getPossibleBlockTransformations: () => (/* reexport */ getPossibleBlockTransformations),
|
||||
getSaveContent: () => (/* reexport */ getSaveContent),
|
||||
|
@ -5921,7 +5920,6 @@ __webpack_require__.d(selectors_namespaceObject, {
|
|||
getDefaultBlockVariation: () => (getDefaultBlockVariation),
|
||||
getFreeformFallbackBlockName: () => (getFreeformFallbackBlockName),
|
||||
getGroupingBlockName: () => (selectors_getGroupingBlockName),
|
||||
getHookedBlocks: () => (selectors_getHookedBlocks),
|
||||
getUnregisteredFallbackBlockName: () => (getUnregisteredFallbackBlockName),
|
||||
hasBlockSupport: () => (selectors_hasBlockSupport),
|
||||
hasChildBlocks: () => (selectors_hasChildBlocks),
|
||||
|
@ -7268,21 +7266,6 @@ function hasBlockSupport(nameOrType, feature, defaultSupports) {
|
|||
return (0,external_wp_data_namespaceObject.select)(store).hasBlockSupport(nameOrType, feature, defaultSupports);
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the hooked blocks for a given anchor block.
|
||||
*
|
||||
* Given an anchor block name, returns an object whose keys are relative positions,
|
||||
* and whose values are arrays of block names that are hooked to the anchor block
|
||||
* at that relative position.
|
||||
*
|
||||
* @param {string} name Anchor block name.
|
||||
*
|
||||
* @return {Object} Lists of hooked block names for each relative position.
|
||||
*/
|
||||
function getHookedBlocks(name) {
|
||||
return (0,external_wp_data_namespaceObject.select)(store).getHookedBlocks(name);
|
||||
}
|
||||
|
||||
/**
|
||||
* Determines whether or not the given block is a reusable block. This is a
|
||||
* special block type that is used to point to a global block stored via the
|
||||
|
@ -8544,62 +8527,6 @@ function selectors_getBlockType(state, name) {
|
|||
return state.blockTypes[name];
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the hooked blocks for a given anchor block.
|
||||
*
|
||||
* Given an anchor block name, returns an object whose keys are relative positions,
|
||||
* and whose values are arrays of block names that are hooked to the anchor block
|
||||
* at that relative position.
|
||||
*
|
||||
* @param {Object} state Data state.
|
||||
* @param {string} blockName Anchor block type name.
|
||||
*
|
||||
* @example
|
||||
* ```js
|
||||
* import { store as blocksStore } from '@wordpress/blocks';
|
||||
* import { useSelect } from '@wordpress/data';
|
||||
*
|
||||
* const ExampleComponent = () => {
|
||||
* const hookedBlockNames = useSelect( ( select ) =>
|
||||
* select( blocksStore ).getHookedBlocks( 'core/navigation' ),
|
||||
* []
|
||||
* );
|
||||
*
|
||||
* return (
|
||||
* <ul>
|
||||
* { Object.keys( hookedBlockNames ).length &&
|
||||
* Object.keys( hookedBlockNames ).map( ( relativePosition ) => (
|
||||
* <li key={ relativePosition }>{ relativePosition }>
|
||||
* <ul>
|
||||
* { hookedBlockNames[ relativePosition ].map( ( hookedBlock ) => (
|
||||
* <li key={ hookedBlock }>{ hookedBlock }</li>
|
||||
* ) ) }
|
||||
* </ul>
|
||||
* </li>
|
||||
* ) ) }
|
||||
* </ul>
|
||||
* );
|
||||
* };
|
||||
* ```
|
||||
*
|
||||
* @return {Object} Lists of hooked block names for each relative position.
|
||||
*/
|
||||
const selectors_getHookedBlocks = rememo((state, blockName) => {
|
||||
const hookedBlockTypes = selectors_getBlockTypes(state).filter(({
|
||||
blockHooks
|
||||
}) => blockHooks && blockName in blockHooks);
|
||||
let hookedBlocks = {};
|
||||
for (const blockType of hookedBlockTypes) {
|
||||
var _hookedBlocks$relativ;
|
||||
const relativePosition = blockType.blockHooks[blockName];
|
||||
hookedBlocks = {
|
||||
...hookedBlocks,
|
||||
[relativePosition]: [...((_hookedBlocks$relativ = hookedBlocks[relativePosition]) !== null && _hookedBlocks$relativ !== void 0 ? _hookedBlocks$relativ : []), blockType.name]
|
||||
};
|
||||
}
|
||||
return hookedBlocks;
|
||||
}, state => [state.blockTypes]);
|
||||
|
||||
/**
|
||||
* Returns block styles by block name.
|
||||
*
|
||||
|
@ -15584,25 +15511,6 @@ function synchronizeBlocksWithTemplate(blocks = [], template) {
|
|||
};
|
||||
const normalizedAttributes = normalizeAttributes((_blockType$attributes = blockType?.attributes) !== null && _blockType$attributes !== void 0 ? _blockType$attributes : {}, attributes);
|
||||
let [blockName, blockAttributes] = convertLegacyBlockNameAndAttributes(name, normalizedAttributes);
|
||||
const ignoredHookedBlocks = [...new Set(Object.values(getHookedBlocks(blockName)).flat())];
|
||||
if (ignoredHookedBlocks.length) {
|
||||
const {
|
||||
metadata = {},
|
||||
...otherAttributes
|
||||
} = blockAttributes;
|
||||
const {
|
||||
ignoredHookedBlocks: ignoredHookedBlocksFromTemplate = [],
|
||||
...otherMetadata
|
||||
} = metadata;
|
||||
const newIgnoredHookedBlocks = [...new Set([...ignoredHookedBlocks, ...ignoredHookedBlocksFromTemplate])];
|
||||
blockAttributes = {
|
||||
metadata: {
|
||||
ignoredHookedBlocks: newIgnoredHookedBlocks,
|
||||
...otherMetadata
|
||||
},
|
||||
...otherAttributes
|
||||
};
|
||||
}
|
||||
|
||||
// If a Block is undefined at this point, use the core/missing block as
|
||||
// a placeholder for a better user experience.
|
||||
|
|
File diff suppressed because one or more lines are too long
|
@ -769,6 +769,7 @@ __webpack_require__.d(build_module_selectors_namespaceObject, {
|
|||
var private_selectors_namespaceObject = {};
|
||||
__webpack_require__.r(private_selectors_namespaceObject);
|
||||
__webpack_require__.d(private_selectors_namespaceObject, {
|
||||
getBlockPatternsForPostType: () => (getBlockPatternsForPostType),
|
||||
getNavigationFallbackId: () => (getNavigationFallbackId),
|
||||
getUndoManager: () => (getUndoManager)
|
||||
});
|
||||
|
@ -5621,10 +5622,21 @@ const getRevision = rememo((state, kind, name, recordKey, revisionKey, query) =>
|
|||
});
|
||||
|
||||
;// CONCATENATED MODULE: ./node_modules/@wordpress/core-data/build-module/private-selectors.js
|
||||
/**
|
||||
* External dependencies
|
||||
*/
|
||||
|
||||
|
||||
/**
|
||||
* WordPress dependencies
|
||||
*/
|
||||
|
||||
|
||||
/**
|
||||
* Internal dependencies
|
||||
*/
|
||||
|
||||
|
||||
/**
|
||||
* Returns the previous edit from the current undo offset
|
||||
* for the entity records edits history, if any.
|
||||
|
@ -5646,6 +5658,9 @@ function getUndoManager(state) {
|
|||
function getNavigationFallbackId(state) {
|
||||
return state.navigationFallbackId;
|
||||
}
|
||||
const getBlockPatternsForPostType = (0,external_wp_data_namespaceObject.createRegistrySelector)(select => rememo((state, postType) => select(STORE_NAME).getBlockPatterns().filter(({
|
||||
postTypes
|
||||
}) => !postTypes || Array.isArray(postTypes) && postTypes.includes(postType)), () => [select(STORE_NAME).getBlockPatterns()]));
|
||||
|
||||
;// CONCATENATED MODULE: ./node_modules/camel-case/dist.es2015/index.js
|
||||
|
||||
|
|
File diff suppressed because one or more lines are too long
|
@ -7059,7 +7059,7 @@ function Layout({
|
|||
}
|
||||
}), (0,external_React_namespaceObject.createElement)(EditPostPreferencesModal, null), (0,external_React_namespaceObject.createElement)(keyboard_shortcut_help_modal, null), (0,external_React_namespaceObject.createElement)(WelcomeGuide, null), (0,external_React_namespaceObject.createElement)(external_wp_editor_namespaceObject.PostSyncStatusModal, null), (0,external_React_namespaceObject.createElement)(StartPageOptions, null), (0,external_React_namespaceObject.createElement)(external_wp_plugins_namespaceObject.PluginArea, {
|
||||
onError: onPluginAreaError
|
||||
}), (0,external_React_namespaceObject.createElement)(settings_sidebar, null));
|
||||
}), !isDistractionFree && (0,external_React_namespaceObject.createElement)(settings_sidebar, null));
|
||||
}
|
||||
/* harmony default export */ const components_layout = (Layout);
|
||||
|
||||
|
@ -7072,6 +7072,7 @@ function Layout({
|
|||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Internal dependencies
|
||||
*/
|
||||
|
@ -7086,16 +7087,23 @@ function Layout({
|
|||
const useBlockSelectionListener = postId => {
|
||||
const {
|
||||
hasBlockSelection,
|
||||
isEditorSidebarOpened
|
||||
} = (0,external_wp_data_namespaceObject.useSelect)(select => ({
|
||||
isEditorSidebarOpened,
|
||||
isDistractionFree
|
||||
} = (0,external_wp_data_namespaceObject.useSelect)(select => {
|
||||
const {
|
||||
get
|
||||
} = select(external_wp_preferences_namespaceObject.store);
|
||||
return {
|
||||
hasBlockSelection: !!select(external_wp_blockEditor_namespaceObject.store).getBlockSelectionStart(),
|
||||
isEditorSidebarOpened: select(constants_STORE_NAME).isEditorSidebarOpened()
|
||||
}), [postId]);
|
||||
isEditorSidebarOpened: select(constants_STORE_NAME).isEditorSidebarOpened(),
|
||||
isDistractionFree: get('core', 'distractionFree')
|
||||
};
|
||||
}, [postId]);
|
||||
const {
|
||||
openGeneralSidebar
|
||||
} = (0,external_wp_data_namespaceObject.useDispatch)(constants_STORE_NAME);
|
||||
(0,external_wp_element_namespaceObject.useEffect)(() => {
|
||||
if (!isEditorSidebarOpened) {
|
||||
if (!isEditorSidebarOpened || isDistractionFree) {
|
||||
return;
|
||||
}
|
||||
if (hasBlockSelection) {
|
||||
|
@ -7609,6 +7617,7 @@ const {
|
|||
* unsaved changes prompt).
|
||||
*/
|
||||
function initializeEditor(id, postType, postId, settings, initialEdits) {
|
||||
const isMediumOrBigger = window.matchMedia('(min-width: 782px)').matches;
|
||||
const target = document.getElementById(id);
|
||||
const root = (0,external_wp_element_namespaceObject.createRoot)(target);
|
||||
(0,external_wp_data_namespaceObject.dispatch)(external_wp_preferences_namespaceObject.store).setDefaults('core/edit-post', {
|
||||
|
@ -7634,7 +7643,8 @@ function initializeEditor(id, postType, postId, settings, initialEdits) {
|
|||
|
||||
// Check if the block list view should be open by default.
|
||||
// If `distractionFree` mode is enabled, the block list view should not be open.
|
||||
if ((0,external_wp_data_namespaceObject.select)(external_wp_preferences_namespaceObject.store).get('core', 'showListViewByDefault') && !(0,external_wp_data_namespaceObject.select)(external_wp_preferences_namespaceObject.store).get('core', 'distractionFree')) {
|
||||
// This behavior is disabled for small viewports.
|
||||
if (isMediumOrBigger && (0,external_wp_data_namespaceObject.select)(external_wp_preferences_namespaceObject.store).get('core', 'showListViewByDefault') && !(0,external_wp_data_namespaceObject.select)(external_wp_preferences_namespaceObject.store).get('core', 'distractionFree')) {
|
||||
(0,external_wp_data_namespaceObject.dispatch)(external_wp_editor_namespaceObject.store).setIsListViewOpened(true);
|
||||
}
|
||||
(0,external_wp_blockLibrary_namespaceObject.registerCoreBlocks)();
|
||||
|
|
File diff suppressed because one or more lines are too long
|
@ -10474,6 +10474,7 @@ const setCanvasMode = mode => ({
|
|||
registry,
|
||||
dispatch
|
||||
}) => {
|
||||
const isMediumOrBigger = window.matchMedia('(min-width: 782px)').matches;
|
||||
registry.dispatch(external_wp_blockEditor_namespaceObject.store).__unstableSetEditorMode('edit');
|
||||
dispatch({
|
||||
type: 'SET_CANVAS_MODE',
|
||||
|
@ -10481,7 +10482,8 @@ const setCanvasMode = mode => ({
|
|||
});
|
||||
// Check if the block list view should be open by default.
|
||||
// If `distractionFree` mode is enabled, the block list view should not be open.
|
||||
if (mode === 'edit' && registry.select(external_wp_preferences_namespaceObject.store).get('core', 'showListViewByDefault') && !registry.select(external_wp_preferences_namespaceObject.store).get('core', 'distractionFree')) {
|
||||
// This behavior is disabled for small viewports.
|
||||
if (isMediumOrBigger && mode === 'edit' && registry.select(external_wp_preferences_namespaceObject.store).get('core', 'showListViewByDefault') && !registry.select(external_wp_preferences_namespaceObject.store).get('core', 'distractionFree')) {
|
||||
registry.dispatch(external_wp_editor_namespaceObject.store).setIsListViewOpened(true);
|
||||
} else {
|
||||
registry.dispatch(external_wp_editor_namespaceObject.store).setIsListViewOpened(false);
|
||||
|
@ -16693,6 +16695,199 @@ function CreateTemplatePartModalContents({
|
|||
}, confirmLabel))));
|
||||
}
|
||||
|
||||
;// CONCATENATED MODULE: ./node_modules/@wordpress/edit-site/build-module/components/add-new-pattern/index.js
|
||||
|
||||
/**
|
||||
* WordPress dependencies
|
||||
*/
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Internal dependencies
|
||||
*/
|
||||
|
||||
|
||||
|
||||
|
||||
const {
|
||||
useHistory: add_new_pattern_useHistory,
|
||||
useLocation: add_new_pattern_useLocation
|
||||
} = unlock(external_wp_router_namespaceObject.privateApis);
|
||||
const {
|
||||
CreatePatternModal,
|
||||
useAddPatternCategory
|
||||
} = unlock(external_wp_patterns_namespaceObject.privateApis);
|
||||
function AddNewPattern() {
|
||||
const history = add_new_pattern_useHistory();
|
||||
const {
|
||||
params
|
||||
} = add_new_pattern_useLocation();
|
||||
const [showPatternModal, setShowPatternModal] = (0,external_wp_element_namespaceObject.useState)(false);
|
||||
const [showTemplatePartModal, setShowTemplatePartModal] = (0,external_wp_element_namespaceObject.useState)(false);
|
||||
const isBlockBasedTheme = (0,external_wp_data_namespaceObject.useSelect)(select => {
|
||||
return select(external_wp_coreData_namespaceObject.store).getCurrentTheme()?.is_block_theme;
|
||||
}, []);
|
||||
const {
|
||||
createPatternFromFile
|
||||
} = unlock((0,external_wp_data_namespaceObject.useDispatch)(external_wp_patterns_namespaceObject.store));
|
||||
const {
|
||||
createSuccessNotice,
|
||||
createErrorNotice
|
||||
} = (0,external_wp_data_namespaceObject.useDispatch)(external_wp_notices_namespaceObject.store);
|
||||
const patternUploadInputRef = (0,external_wp_element_namespaceObject.useRef)();
|
||||
function handleCreatePattern({
|
||||
pattern,
|
||||
categoryId
|
||||
}) {
|
||||
setShowPatternModal(false);
|
||||
history.push({
|
||||
postId: pattern.id,
|
||||
postType: PATTERN_TYPES.user,
|
||||
categoryType: PATTERN_TYPES.theme,
|
||||
categoryId,
|
||||
canvas: 'edit'
|
||||
});
|
||||
}
|
||||
function handleCreateTemplatePart(templatePart) {
|
||||
setShowTemplatePartModal(false);
|
||||
|
||||
// Navigate to the created template part editor.
|
||||
history.push({
|
||||
postId: templatePart.id,
|
||||
postType: TEMPLATE_PART_POST_TYPE,
|
||||
canvas: 'edit'
|
||||
});
|
||||
}
|
||||
function handleError() {
|
||||
setShowPatternModal(false);
|
||||
setShowTemplatePartModal(false);
|
||||
}
|
||||
const controls = [{
|
||||
icon: library_symbol,
|
||||
onClick: () => setShowPatternModal(true),
|
||||
title: (0,external_wp_i18n_namespaceObject.__)('Create pattern')
|
||||
}];
|
||||
if (isBlockBasedTheme) {
|
||||
controls.push({
|
||||
icon: symbol_filled,
|
||||
onClick: () => setShowTemplatePartModal(true),
|
||||
title: (0,external_wp_i18n_namespaceObject.__)('Create template part')
|
||||
});
|
||||
}
|
||||
controls.push({
|
||||
icon: library_upload,
|
||||
onClick: () => {
|
||||
patternUploadInputRef.current.click();
|
||||
},
|
||||
title: (0,external_wp_i18n_namespaceObject.__)('Import pattern from JSON')
|
||||
});
|
||||
const {
|
||||
categoryMap,
|
||||
findOrCreateTerm
|
||||
} = useAddPatternCategory();
|
||||
return (0,external_React_.createElement)(external_React_.Fragment, null, (0,external_React_.createElement)(external_wp_components_namespaceObject.DropdownMenu, {
|
||||
controls: controls,
|
||||
toggleProps: {
|
||||
as: SidebarButton
|
||||
},
|
||||
icon: library_plus,
|
||||
label: (0,external_wp_i18n_namespaceObject.__)('Create pattern')
|
||||
}), showPatternModal && (0,external_React_.createElement)(CreatePatternModal, {
|
||||
onClose: () => setShowPatternModal(false),
|
||||
onSuccess: handleCreatePattern,
|
||||
onError: handleError
|
||||
}), showTemplatePartModal && (0,external_React_.createElement)(CreateTemplatePartModal, {
|
||||
closeModal: () => setShowTemplatePartModal(false),
|
||||
blocks: [],
|
||||
onCreate: handleCreateTemplatePart,
|
||||
onError: handleError
|
||||
}), (0,external_React_.createElement)("input", {
|
||||
type: "file",
|
||||
accept: ".json",
|
||||
hidden: true,
|
||||
ref: patternUploadInputRef,
|
||||
onChange: async event => {
|
||||
const file = event.target.files?.[0];
|
||||
if (!file) return;
|
||||
try {
|
||||
let currentCategoryId;
|
||||
// When we're not handling template parts, we should
|
||||
// add or create the proper pattern category.
|
||||
if (params.categoryType !== TEMPLATE_PART_POST_TYPE) {
|
||||
const currentCategory = categoryMap.values().find(term => term.name === params.categoryId);
|
||||
if (!!currentCategory) {
|
||||
currentCategoryId = currentCategory.id || (await findOrCreateTerm(currentCategory.label));
|
||||
}
|
||||
}
|
||||
const pattern = await createPatternFromFile(file, currentCategoryId ? [currentCategoryId] : undefined);
|
||||
|
||||
// Navigate to the All patterns category for the newly created pattern
|
||||
// if we're not on that page already and if we're not in the `my-patterns`
|
||||
// category.
|
||||
if (!currentCategoryId && params.categoryId !== 'my-patterns') {
|
||||
history.push({
|
||||
path: `/patterns`,
|
||||
categoryType: PATTERN_TYPES.theme,
|
||||
categoryId: PATTERN_DEFAULT_CATEGORY
|
||||
});
|
||||
}
|
||||
createSuccessNotice((0,external_wp_i18n_namespaceObject.sprintf)(
|
||||
// translators: %s: The imported pattern's title.
|
||||
(0,external_wp_i18n_namespaceObject.__)('Imported "%s" from JSON.'), pattern.title.raw), {
|
||||
type: 'snackbar',
|
||||
id: 'import-pattern-success'
|
||||
});
|
||||
} catch (err) {
|
||||
createErrorNotice(err.message, {
|
||||
type: 'snackbar',
|
||||
id: 'import-pattern-error'
|
||||
});
|
||||
} finally {
|
||||
event.target.value = '';
|
||||
}
|
||||
}
|
||||
}));
|
||||
}
|
||||
|
||||
;// CONCATENATED MODULE: ./node_modules/@wordpress/edit-site/build-module/components/sidebar-navigation-screen-patterns/category-item.js
|
||||
|
||||
/**
|
||||
* Internal dependencies
|
||||
*/
|
||||
|
||||
|
||||
function CategoryItem({
|
||||
count,
|
||||
icon,
|
||||
id,
|
||||
isActive,
|
||||
label,
|
||||
type
|
||||
}) {
|
||||
const linkInfo = useLink({
|
||||
path: '/patterns',
|
||||
categoryType: type,
|
||||
categoryId: id
|
||||
});
|
||||
if (!count) {
|
||||
return;
|
||||
}
|
||||
return (0,external_React_.createElement)(SidebarNavigationItem, {
|
||||
...linkInfo,
|
||||
icon: icon,
|
||||
suffix: (0,external_React_.createElement)("span", null, count),
|
||||
"aria-current": isActive ? 'true' : undefined
|
||||
}, label);
|
||||
}
|
||||
|
||||
;// CONCATENATED MODULE: ./node_modules/@wordpress/edit-site/build-module/components/sidebar-navigation-screen-patterns/use-default-pattern-categories.js
|
||||
/**
|
||||
* WordPress dependencies
|
||||
|
@ -17292,6 +17487,9 @@ const selectThemePatterns = rememo(select => {
|
|||
const {
|
||||
getSettings
|
||||
} = unlock(select(store_store));
|
||||
const {
|
||||
getIsResolving
|
||||
} = select(external_wp_coreData_namespaceObject.store);
|
||||
const settings = getSettings();
|
||||
const blockPatterns = (_settings$__experimen = settings.__experimentalAdditionalBlockPatterns) !== null && _settings$__experimen !== void 0 ? _settings$__experimen : settings.__experimentalBlockPatterns;
|
||||
const restBlockPatterns = select(external_wp_coreData_namespaceObject.store).getBlockPatterns();
|
||||
|
@ -17305,15 +17503,17 @@ const selectThemePatterns = rememo(select => {
|
|||
}));
|
||||
return {
|
||||
patterns,
|
||||
isResolving: false
|
||||
isResolving: getIsResolving('getBlockPatterns')
|
||||
};
|
||||
}, select => [select(external_wp_coreData_namespaceObject.store).getBlockPatterns(), unlock(select(store_store)).getSettings()]);
|
||||
}, select => [select(external_wp_coreData_namespaceObject.store).getBlockPatterns(), select(external_wp_coreData_namespaceObject.store).getIsResolving('getBlockPatterns'), unlock(select(store_store)).getSettings()]);
|
||||
const selectPatterns = rememo((select, categoryId, syncStatus, search = '') => {
|
||||
const {
|
||||
patterns: themePatterns
|
||||
patterns: themePatterns,
|
||||
isResolving: isResolvingThemePatterns
|
||||
} = selectThemePatterns(select);
|
||||
const {
|
||||
patterns: userPatterns
|
||||
patterns: userPatterns,
|
||||
isResolving: isResolvingUserPatterns
|
||||
} = selectUserPatterns(select);
|
||||
let patterns = [...(themePatterns || []), ...(userPatterns || [])];
|
||||
if (syncStatus) {
|
||||
|
@ -17335,7 +17535,7 @@ const selectPatterns = rememo((select, categoryId, syncStatus, search = '') => {
|
|||
}
|
||||
return {
|
||||
patterns,
|
||||
isResolving: false
|
||||
isResolving: isResolvingThemePatterns || isResolvingUserPatterns
|
||||
};
|
||||
}, select => [selectThemePatterns(select), selectUserPatterns(select)]);
|
||||
|
||||
|
@ -17516,189 +17716,6 @@ function usePatternCategories() {
|
|||
};
|
||||
}
|
||||
|
||||
;// CONCATENATED MODULE: ./node_modules/@wordpress/edit-site/build-module/components/add-new-pattern/index.js
|
||||
|
||||
/**
|
||||
* WordPress dependencies
|
||||
*/
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Internal dependencies
|
||||
*/
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
const {
|
||||
useHistory: add_new_pattern_useHistory,
|
||||
useLocation: add_new_pattern_useLocation
|
||||
} = unlock(external_wp_router_namespaceObject.privateApis);
|
||||
const {
|
||||
CreatePatternModal
|
||||
} = unlock(external_wp_patterns_namespaceObject.privateApis);
|
||||
function AddNewPattern() {
|
||||
const history = add_new_pattern_useHistory();
|
||||
const {
|
||||
params
|
||||
} = add_new_pattern_useLocation();
|
||||
const [showPatternModal, setShowPatternModal] = (0,external_wp_element_namespaceObject.useState)(false);
|
||||
const [showTemplatePartModal, setShowTemplatePartModal] = (0,external_wp_element_namespaceObject.useState)(false);
|
||||
const isBlockBasedTheme = (0,external_wp_data_namespaceObject.useSelect)(select => {
|
||||
return select(external_wp_coreData_namespaceObject.store).getCurrentTheme()?.is_block_theme;
|
||||
}, []);
|
||||
const {
|
||||
createPatternFromFile
|
||||
} = unlock((0,external_wp_data_namespaceObject.useDispatch)(external_wp_patterns_namespaceObject.store));
|
||||
const {
|
||||
createSuccessNotice,
|
||||
createErrorNotice
|
||||
} = (0,external_wp_data_namespaceObject.useDispatch)(external_wp_notices_namespaceObject.store);
|
||||
const patternUploadInputRef = (0,external_wp_element_namespaceObject.useRef)();
|
||||
const {
|
||||
patternCategories
|
||||
} = usePatternCategories();
|
||||
function handleCreatePattern({
|
||||
pattern,
|
||||
categoryId
|
||||
}) {
|
||||
setShowPatternModal(false);
|
||||
history.push({
|
||||
postId: pattern.id,
|
||||
postType: PATTERN_TYPES.user,
|
||||
categoryType: PATTERN_TYPES.theme,
|
||||
categoryId,
|
||||
canvas: 'edit'
|
||||
});
|
||||
}
|
||||
function handleCreateTemplatePart(templatePart) {
|
||||
setShowTemplatePartModal(false);
|
||||
|
||||
// Navigate to the created template part editor.
|
||||
history.push({
|
||||
postId: templatePart.id,
|
||||
postType: TEMPLATE_PART_POST_TYPE,
|
||||
canvas: 'edit'
|
||||
});
|
||||
}
|
||||
function handleError() {
|
||||
setShowPatternModal(false);
|
||||
setShowTemplatePartModal(false);
|
||||
}
|
||||
const controls = [{
|
||||
icon: library_symbol,
|
||||
onClick: () => setShowPatternModal(true),
|
||||
title: (0,external_wp_i18n_namespaceObject.__)('Create pattern')
|
||||
}];
|
||||
if (isBlockBasedTheme) {
|
||||
controls.push({
|
||||
icon: symbol_filled,
|
||||
onClick: () => setShowTemplatePartModal(true),
|
||||
title: (0,external_wp_i18n_namespaceObject.__)('Create template part')
|
||||
});
|
||||
}
|
||||
controls.push({
|
||||
icon: library_upload,
|
||||
onClick: () => {
|
||||
patternUploadInputRef.current.click();
|
||||
},
|
||||
title: (0,external_wp_i18n_namespaceObject.__)('Import pattern from JSON')
|
||||
});
|
||||
return (0,external_React_.createElement)(external_React_.Fragment, null, (0,external_React_.createElement)(external_wp_components_namespaceObject.DropdownMenu, {
|
||||
controls: controls,
|
||||
toggleProps: {
|
||||
as: SidebarButton
|
||||
},
|
||||
icon: library_plus,
|
||||
label: (0,external_wp_i18n_namespaceObject.__)('Create pattern')
|
||||
}), showPatternModal && (0,external_React_.createElement)(CreatePatternModal, {
|
||||
onClose: () => setShowPatternModal(false),
|
||||
onSuccess: handleCreatePattern,
|
||||
onError: handleError
|
||||
}), showTemplatePartModal && (0,external_React_.createElement)(CreateTemplatePartModal, {
|
||||
closeModal: () => setShowTemplatePartModal(false),
|
||||
blocks: [],
|
||||
onCreate: handleCreateTemplatePart,
|
||||
onError: handleError
|
||||
}), (0,external_React_.createElement)("input", {
|
||||
type: "file",
|
||||
accept: ".json",
|
||||
hidden: true,
|
||||
ref: patternUploadInputRef,
|
||||
onChange: async event => {
|
||||
const file = event.target.files?.[0];
|
||||
if (!file) return;
|
||||
try {
|
||||
const currentCategoryId = params.categoryType !== TEMPLATE_PART_POST_TYPE && patternCategories.find(category => category.name === params.categoryId)?.id;
|
||||
const pattern = await createPatternFromFile(file, currentCategoryId ? [currentCategoryId] : undefined);
|
||||
|
||||
// Navigate to the All patterns category for the newly created pattern
|
||||
// if we're not on that page already.
|
||||
if (!currentCategoryId) {
|
||||
history.push({
|
||||
path: `/patterns`,
|
||||
categoryType: PATTERN_TYPES.theme,
|
||||
categoryId: PATTERN_DEFAULT_CATEGORY
|
||||
});
|
||||
}
|
||||
createSuccessNotice((0,external_wp_i18n_namespaceObject.sprintf)(
|
||||
// translators: %s: The imported pattern's title.
|
||||
(0,external_wp_i18n_namespaceObject.__)('Imported "%s" from JSON.'), pattern.title.raw), {
|
||||
type: 'snackbar',
|
||||
id: 'import-pattern-success'
|
||||
});
|
||||
} catch (err) {
|
||||
createErrorNotice(err.message, {
|
||||
type: 'snackbar',
|
||||
id: 'import-pattern-error'
|
||||
});
|
||||
} finally {
|
||||
event.target.value = '';
|
||||
}
|
||||
}
|
||||
}));
|
||||
}
|
||||
|
||||
;// CONCATENATED MODULE: ./node_modules/@wordpress/edit-site/build-module/components/sidebar-navigation-screen-patterns/category-item.js
|
||||
|
||||
/**
|
||||
* Internal dependencies
|
||||
*/
|
||||
|
||||
|
||||
function CategoryItem({
|
||||
count,
|
||||
icon,
|
||||
id,
|
||||
isActive,
|
||||
label,
|
||||
type
|
||||
}) {
|
||||
const linkInfo = useLink({
|
||||
path: '/patterns',
|
||||
categoryType: type,
|
||||
categoryId: id
|
||||
});
|
||||
if (!count) {
|
||||
return;
|
||||
}
|
||||
return (0,external_React_.createElement)(SidebarNavigationItem, {
|
||||
...linkInfo,
|
||||
icon: icon,
|
||||
suffix: (0,external_React_.createElement)("span", null, count),
|
||||
"aria-current": isActive ? 'true' : undefined
|
||||
}, label);
|
||||
}
|
||||
|
||||
;// CONCATENATED MODULE: ./node_modules/@wordpress/edit-site/build-module/components/sidebar-navigation-screen-patterns/use-template-part-areas.js
|
||||
/**
|
||||
* WordPress dependencies
|
||||
|
@ -20245,6 +20262,7 @@ function ViewTable({
|
|||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Internal dependencies
|
||||
*/
|
||||
|
@ -20342,6 +20360,7 @@ function ViewGrid({
|
|||
fields,
|
||||
view,
|
||||
actions,
|
||||
isLoading,
|
||||
getItemId,
|
||||
deferredRendering,
|
||||
selection,
|
||||
|
@ -20354,11 +20373,13 @@ function ViewGrid({
|
|||
step: 3
|
||||
});
|
||||
const usedData = deferredRendering ? shownData : data;
|
||||
return (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalGrid, {
|
||||
const hasData = !!usedData?.length;
|
||||
return (0,external_React_.createElement)(external_React_.Fragment, null, hasData && (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalGrid, {
|
||||
gap: 6,
|
||||
columns: 2,
|
||||
alignment: "top",
|
||||
className: "dataviews-view-grid"
|
||||
className: "dataviews-view-grid",
|
||||
"aria-busy": isLoading
|
||||
}, usedData.map(item => {
|
||||
return (0,external_React_.createElement)(GridItem, {
|
||||
key: getItemId(item),
|
||||
|
@ -20372,7 +20393,12 @@ function ViewGrid({
|
|||
primaryField: primaryField,
|
||||
visibleFields: visibleFields
|
||||
});
|
||||
}));
|
||||
})), !hasData && (0,external_React_.createElement)("div", {
|
||||
className: classnames_default()({
|
||||
'dataviews-loading': isLoading,
|
||||
'dataviews-no-results': !isLoading
|
||||
})
|
||||
}, (0,external_React_.createElement)("p", null, isLoading ? (0,external_wp_i18n_namespaceObject.__)('Loading…') : (0,external_wp_i18n_namespaceObject.__)('No results'))));
|
||||
}
|
||||
|
||||
;// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/info.js
|
||||
|
@ -21090,6 +21116,7 @@ function AddNewPageModal({
|
|||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Internal dependencies
|
||||
*/
|
||||
|
@ -21120,6 +21147,7 @@ const PageItem = ({
|
|||
});
|
||||
};
|
||||
function SidebarNavigationScreenPages() {
|
||||
const isMobileViewport = (0,external_wp_compose_namespaceObject.useViewportMatch)('medium', '<');
|
||||
const {
|
||||
records: pages,
|
||||
isResolving: isLoadingPages
|
||||
|
@ -21235,7 +21263,7 @@ function SidebarNavigationScreenPages() {
|
|||
withChevron: true
|
||||
}, (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalTruncate, {
|
||||
numberOfLines: 1
|
||||
}, (0,external_wp_htmlEntities_namespaceObject.decodeEntities)(item.title?.rendered || (0,external_wp_i18n_namespaceObject.__)('(no title)'))))), (0,external_React_.createElement)(SidebarNavigationItem, {
|
||||
}, (0,external_wp_htmlEntities_namespaceObject.decodeEntities)(item.title?.rendered || (0,external_wp_i18n_namespaceObject.__)('(no title)'))))), !isMobileViewport && (0,external_React_.createElement)(SidebarNavigationItem, {
|
||||
className: "edit-site-sidebar-navigation-screen-pages__see-all",
|
||||
...pagesLink
|
||||
}, (0,external_wp_i18n_namespaceObject.__)('Manage all pages')))
|
||||
|
@ -22071,6 +22099,7 @@ function SidebarNavigationScreenPage({
|
|||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Internal dependencies
|
||||
*/
|
||||
|
@ -22104,6 +22133,7 @@ function SidebarScreenWrapper({
|
|||
}
|
||||
function SidebarScreens() {
|
||||
useSyncPathWithURL();
|
||||
const isMobileViewport = (0,external_wp_compose_namespaceObject.useViewportMatch)('medium', '<');
|
||||
return (0,external_React_.createElement)(external_React_.Fragment, null, (0,external_React_.createElement)(SidebarScreenWrapper, {
|
||||
path: "/"
|
||||
}, (0,external_React_.createElement)(SidebarNavigationScreenMain, null)), (0,external_React_.createElement)(SidebarScreenWrapper, {
|
||||
|
@ -22123,7 +22153,7 @@ function SidebarScreens() {
|
|||
path: "/page/:postId"
|
||||
}, (0,external_React_.createElement)(SidebarNavigationScreenPage, null)), (0,external_React_.createElement)(SidebarScreenWrapper, {
|
||||
path: "/:postType(wp_template)"
|
||||
}, (0,external_React_.createElement)(SidebarNavigationScreenTemplates, null)), (0,external_React_.createElement)(SidebarScreenWrapper, {
|
||||
}, (0,external_React_.createElement)(SidebarNavigationScreenTemplates, null)), !isMobileViewport && (0,external_React_.createElement)(SidebarScreenWrapper, {
|
||||
path: "/patterns"
|
||||
}, (0,external_React_.createElement)(SidebarNavigationScreenPatterns, null)), (0,external_React_.createElement)(SidebarScreenWrapper, {
|
||||
path: "/:postType(wp_template|wp_template_part)/all"
|
||||
|
@ -25643,7 +25673,7 @@ const BlockPreviewPanel = ({
|
|||
return (0,external_wp_blocks_namespaceObject.getBlockFromExample)(name, example);
|
||||
}, [name, blockExample, variation]);
|
||||
const viewportWidth = (_blockExample$viewpor = blockExample?.viewportWidth) !== null && _blockExample$viewpor !== void 0 ? _blockExample$viewpor : null;
|
||||
const previewHeight = '150px';
|
||||
const previewHeight = 150;
|
||||
if (!blockExample) {
|
||||
return null;
|
||||
}
|
||||
|
@ -25663,7 +25693,7 @@ const BlockPreviewPanel = ({
|
|||
additionalStyles: [{
|
||||
css: `
|
||||
body{
|
||||
min-height:${previewHeight};
|
||||
min-height:${previewHeight}px;
|
||||
display:flex;align-items:center;justify-content:center;
|
||||
}
|
||||
`
|
||||
|
@ -27019,57 +27049,6 @@ function TabPanelLayout({
|
|||
}
|
||||
/* harmony default export */ const tab_panel_layout = (TabPanelLayout);
|
||||
|
||||
;// CONCATENATED MODULE: ./node_modules/@wordpress/edit-site/build-module/components/global-styles/font-library-modal/fonts-grid.js
|
||||
|
||||
/**
|
||||
* WordPress dependencies
|
||||
*/
|
||||
|
||||
|
||||
function FontsGrid({
|
||||
title,
|
||||
children,
|
||||
pageSize = 32
|
||||
}) {
|
||||
const [lastItem, setLastItem] = (0,external_wp_element_namespaceObject.useState)(null);
|
||||
const [page, setPage] = (0,external_wp_element_namespaceObject.useState)(1);
|
||||
const itemsLimit = page * pageSize;
|
||||
const items = children.slice(0, itemsLimit);
|
||||
(0,external_wp_element_namespaceObject.useEffect)(() => {
|
||||
if (lastItem) {
|
||||
const observer = new window.IntersectionObserver(([entry]) => {
|
||||
if (entry.isIntersecting) {
|
||||
setPage(prevPage => prevPage + 1);
|
||||
}
|
||||
});
|
||||
observer.observe(lastItem);
|
||||
return () => observer.disconnect();
|
||||
}
|
||||
}, [lastItem]);
|
||||
return (0,external_React_.createElement)("div", {
|
||||
className: "font-library-modal__fonts-grid"
|
||||
}, (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalVStack, {
|
||||
spacing: 0
|
||||
}, title && (0,external_React_.createElement)(external_React_.Fragment, null, (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalText, {
|
||||
className: "font-library-modal__subtitle"
|
||||
}, title), (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalSpacer, {
|
||||
margin: 2
|
||||
})), (0,external_React_.createElement)("div", {
|
||||
className: "font-library-modal__fonts-grid__main"
|
||||
}, items.map((child, i) => {
|
||||
if (i === itemsLimit - 1) {
|
||||
return (0,external_React_.createElement)("div", {
|
||||
key: child.key,
|
||||
ref: setLastItem
|
||||
}, child);
|
||||
}
|
||||
return (0,external_React_.createElement)("div", {
|
||||
key: child.key
|
||||
}, child);
|
||||
}))));
|
||||
}
|
||||
/* harmony default export */ const fonts_grid = (FontsGrid);
|
||||
|
||||
;// CONCATENATED MODULE: ./node_modules/@wordpress/edit-site/build-module/components/global-styles/font-library-modal/font-demo.js
|
||||
|
||||
/**
|
||||
|
@ -27397,7 +27376,6 @@ function ConfirmDeleteDialog({
|
|||
|
||||
|
||||
|
||||
|
||||
const {
|
||||
ProgressBar
|
||||
} = unlock(external_wp_components_namespaceObject.privateApis);
|
||||
|
@ -27470,23 +27448,27 @@ function InstalledFonts() {
|
|||
margin: 2
|
||||
}), (0,external_React_.createElement)(external_wp_components_namespaceObject.Spinner, null), (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalSpacer, {
|
||||
margin: 2
|
||||
})), baseCustomFonts.length > 0 && (0,external_React_.createElement)(external_React_.Fragment, null, (0,external_React_.createElement)(fonts_grid, null, baseCustomFonts.map(font => (0,external_React_.createElement)(library_font_card, {
|
||||
})), baseCustomFonts.length > 0 && (0,external_React_.createElement)(external_React_.Fragment, null, baseCustomFonts.map(font => (0,external_React_.createElement)(library_font_card, {
|
||||
font: font,
|
||||
key: font.slug,
|
||||
onClick: () => {
|
||||
handleSelectFont(font);
|
||||
}
|
||||
})), (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalSpacer, {
|
||||
margin: 8
|
||||
})), baseThemeFonts.length > 0 && (0,external_React_.createElement)(external_React_.Fragment, null, (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalText, {
|
||||
className: "font-library-modal__subtitle"
|
||||
}, (0,external_wp_i18n_namespaceObject.__)('Theme Fonts')), (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalSpacer, {
|
||||
margin: 2
|
||||
}), baseThemeFonts.map(font => (0,external_React_.createElement)(library_font_card, {
|
||||
font: font,
|
||||
key: font.slug,
|
||||
onClick: () => {
|
||||
handleSelectFont(font);
|
||||
}
|
||||
}))), (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalSpacer, {
|
||||
margin: 8
|
||||
})), baseThemeFonts.length > 0 && (0,external_React_.createElement)(external_React_.Fragment, null, (0,external_React_.createElement)(fonts_grid, {
|
||||
title: (0,external_wp_i18n_namespaceObject.__)('Theme Fonts')
|
||||
}, baseThemeFonts.map(font => (0,external_React_.createElement)(library_font_card, {
|
||||
font: font,
|
||||
key: font.slug,
|
||||
onClick: () => {
|
||||
handleSelectFont(font);
|
||||
}
|
||||
}))))), libraryFontSelected && (0,external_React_.createElement)(library_font_details, {
|
||||
margin: 16
|
||||
})), libraryFontSelected && (0,external_React_.createElement)(library_font_details, {
|
||||
font: libraryFontSelected,
|
||||
isConfirmDeleteOpen: isConfirmDeleteOpen,
|
||||
handleConfirmUninstall: handleConfirmUninstall,
|
||||
|
@ -27655,7 +27637,7 @@ function CollectionFontDetails({
|
|||
// If the font has no fontFace, we want to check if the font is in the outline
|
||||
fontToInstallOutline)
|
||||
}))), (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalSpacer, {
|
||||
margin: 8
|
||||
margin: 16
|
||||
}));
|
||||
}
|
||||
/* harmony default export */ const collection_font_details = (CollectionFontDetails);
|
||||
|
@ -27677,7 +27659,7 @@ function GoogleFontsConfirmDialog() {
|
|||
className: "font-library__google-fonts-confirm"
|
||||
}, (0,external_React_.createElement)(external_wp_components_namespaceObject.Card, null, (0,external_React_.createElement)(external_wp_components_namespaceObject.CardBody, null, (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalText, {
|
||||
as: "h3"
|
||||
}, "Connect to Google Fonts"), (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalSpacer, {
|
||||
}, (0,external_wp_i18n_namespaceObject.__)('Connect to Google Fonts')), (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalSpacer, {
|
||||
margin: 6
|
||||
}), (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalText, {
|
||||
as: "p"
|
||||
|
@ -27717,7 +27699,6 @@ function GoogleFontsConfirmDialog() {
|
|||
|
||||
|
||||
|
||||
|
||||
const DEFAULT_CATEGORY = {
|
||||
slug: 'all',
|
||||
name: (0,external_wp_i18n_namespaceObject._x)('All', 'font categories')
|
||||
|
@ -27732,6 +27713,7 @@ function FontCollection({
|
|||
};
|
||||
const [selectedFont, setSelectedFont] = (0,external_wp_element_namespaceObject.useState)(null);
|
||||
const [fontsToInstall, setFontsToInstall] = (0,external_wp_element_namespaceObject.useState)([]);
|
||||
const [page, setPage] = (0,external_wp_element_namespaceObject.useState)(1);
|
||||
const [filters, setFilters] = (0,external_wp_element_namespaceObject.useState)({});
|
||||
const [renderConfirmDialog, setRenderConfirmDialog] = (0,external_wp_element_namespaceObject.useState)(requiresPermission && !getGoogleFontsPermissionFromStorage());
|
||||
const {
|
||||
|
@ -27781,27 +27763,39 @@ function FontCollection({
|
|||
const collectionCategories = (_selectedCollection$c = selectedCollection?.categories) !== null && _selectedCollection$c !== void 0 ? _selectedCollection$c : [];
|
||||
const categories = [DEFAULT_CATEGORY, ...collectionCategories];
|
||||
const fonts = (0,external_wp_element_namespaceObject.useMemo)(() => filterFonts(collectionFonts, filters), [collectionFonts, filters]);
|
||||
|
||||
// NOTE: The height of the font library modal unavailable to use for rendering font family items is roughly 417px
|
||||
// The height of each font family item is 61px.
|
||||
const pageSize = Math.floor((window.innerHeight - 417) / 61);
|
||||
const totalPages = Math.ceil(fonts.length / pageSize);
|
||||
const itemsStart = (page - 1) * pageSize;
|
||||
const itemsLimit = page * pageSize;
|
||||
const items = fonts.slice(itemsStart, itemsLimit);
|
||||
const handleCategoryFilter = category => {
|
||||
setFilters({
|
||||
...filters,
|
||||
category
|
||||
});
|
||||
setPage(1);
|
||||
};
|
||||
const handleUpdateSearchInput = value => {
|
||||
setFilters({
|
||||
...filters,
|
||||
search: value
|
||||
});
|
||||
setPage(1);
|
||||
};
|
||||
const debouncedUpdateSearchInput = (0,external_wp_compose_namespaceObject.debounce)(handleUpdateSearchInput, 300);
|
||||
const resetFilters = () => {
|
||||
setFilters({});
|
||||
setPage(1);
|
||||
};
|
||||
const resetSearch = () => {
|
||||
setFilters({
|
||||
...filters,
|
||||
search: ''
|
||||
});
|
||||
setPage(1);
|
||||
};
|
||||
const handleUnselectFont = () => {
|
||||
setSelectedFont(null);
|
||||
|
@ -27848,15 +27842,25 @@ function FontCollection({
|
|||
}
|
||||
resetFontsToInstall();
|
||||
};
|
||||
let footerComponent = null;
|
||||
if (selectedFont) {
|
||||
footerComponent = (0,external_React_.createElement)(InstallFooter, {
|
||||
handleInstall: handleInstall,
|
||||
isDisabled: fontsToInstall.length === 0
|
||||
});
|
||||
} else if (!renderConfirmDialog && totalPages > 1) {
|
||||
footerComponent = (0,external_React_.createElement)(PaginationFooter, {
|
||||
page: page,
|
||||
totalPages: totalPages,
|
||||
setPage: setPage
|
||||
});
|
||||
}
|
||||
return (0,external_React_.createElement)(tab_panel_layout, {
|
||||
title: !selectedFont ? selectedCollection.name : selectedFont.name,
|
||||
description: !selectedFont ? selectedCollection.description : (0,external_wp_i18n_namespaceObject.__)('Select font variants to install.'),
|
||||
notice: notice,
|
||||
handleBack: !!selectedFont && handleUnselectFont,
|
||||
footer: (0,external_React_.createElement)(font_collection_Footer, {
|
||||
handleInstall: handleInstall,
|
||||
isDisabled: fontsToInstall.length === 0
|
||||
})
|
||||
footer: footerComponent
|
||||
}, renderConfirmDialog && (0,external_React_.createElement)(external_React_.Fragment, null, (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalSpacer, {
|
||||
margin: 8
|
||||
}), (0,external_React_.createElement)(google_fonts_confirm_dialog, null)), !renderConfirmDialog && !selectedFont && (0,external_React_.createElement)(external_wp_components_namespaceObject.Flex, null, (0,external_React_.createElement)(external_wp_components_namespaceObject.FlexItem, null, (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalInputControl, {
|
||||
|
@ -27884,7 +27888,9 @@ function FontCollection({
|
|||
font: selectedFont,
|
||||
handleToggleVariant: handleToggleVariant,
|
||||
fontToInstallOutline: fontToInstallOutline
|
||||
}), !renderConfirmDialog && !selectedFont && (0,external_React_.createElement)(fonts_grid, null, fonts.map(font => (0,external_React_.createElement)(font_card, {
|
||||
}), !renderConfirmDialog && !selectedFont && (0,external_React_.createElement)("div", {
|
||||
className: "font-library-modal__fonts-grid__main"
|
||||
}, items.map(font => (0,external_React_.createElement)(font_card, {
|
||||
key: font.font_family_settings.slug,
|
||||
font: font.font_family_settings,
|
||||
onClick: () => {
|
||||
|
@ -27892,7 +27898,60 @@ function FontCollection({
|
|||
}
|
||||
}))));
|
||||
}
|
||||
function font_collection_Footer({
|
||||
function PaginationFooter({
|
||||
page,
|
||||
totalPages,
|
||||
setPage
|
||||
}) {
|
||||
return (0,external_React_.createElement)(external_wp_components_namespaceObject.Flex, {
|
||||
justify: "center"
|
||||
}, (0,external_React_.createElement)(external_wp_components_namespaceObject.Button, {
|
||||
label: (0,external_wp_i18n_namespaceObject.__)('First page'),
|
||||
size: "compact",
|
||||
onClick: () => setPage(1),
|
||||
disabled: page === 1,
|
||||
__experimentalIsFocusable: true
|
||||
}, (0,external_React_.createElement)("span", null, "\xAB")), (0,external_React_.createElement)(external_wp_components_namespaceObject.Button, {
|
||||
label: (0,external_wp_i18n_namespaceObject.__)('Previous page'),
|
||||
size: "compact",
|
||||
onClick: () => setPage(page - 1),
|
||||
disabled: page === 1,
|
||||
__experimentalIsFocusable: true
|
||||
}, (0,external_React_.createElement)("span", null, "\u2039")), (0,external_React_.createElement)(external_wp_components_namespaceObject.__experimentalHStack, {
|
||||
justify: "flex-start",
|
||||
expanded: false,
|
||||
spacing: 2
|
||||
}, (0,external_wp_element_namespaceObject.createInterpolateElement)((0,external_wp_i18n_namespaceObject.sprintf)(
|
||||
// translators: %s: Total number of pages.
|
||||
(0,external_wp_i18n_namespaceObject._x)('Page <CurrenPageControl /> of %s', 'paging'), totalPages), {
|
||||
CurrenPageControl: (0,external_React_.createElement)(external_wp_components_namespaceObject.SelectControl, {
|
||||
"aria-label": (0,external_wp_i18n_namespaceObject.__)('Current page'),
|
||||
value: page,
|
||||
options: [...Array(totalPages)].map((e, i) => {
|
||||
return {
|
||||
label: i + 1,
|
||||
value: i + 1
|
||||
};
|
||||
}),
|
||||
onChange: newPage => setPage(parseInt(newPage)),
|
||||
size: 'compact',
|
||||
__nextHasNoMarginBottom: true
|
||||
})
|
||||
})), (0,external_React_.createElement)(external_wp_components_namespaceObject.Button, {
|
||||
label: (0,external_wp_i18n_namespaceObject.__)('Next page'),
|
||||
size: "compact",
|
||||
onClick: () => setPage(page + 1),
|
||||
disabled: page === totalPages,
|
||||
__experimentalIsFocusable: true
|
||||
}, (0,external_React_.createElement)("span", null, "\u203A")), (0,external_React_.createElement)(external_wp_components_namespaceObject.Button, {
|
||||
label: (0,external_wp_i18n_namespaceObject.__)('Last page'),
|
||||
size: "compact",
|
||||
onClick: () => setPage(totalPages),
|
||||
disabled: page === totalPages,
|
||||
__experimentalIsFocusable: true
|
||||
}, (0,external_React_.createElement)("span", null, "\xBB")));
|
||||
}
|
||||
function InstallFooter({
|
||||
handleInstall,
|
||||
isDisabled
|
||||
}) {
|
||||
|
@ -36205,7 +36264,7 @@ function Editor({
|
|||
rules: blockRemovalRules
|
||||
}), (0,external_React_.createElement)(PatternModal, null)), editorMode === 'text' && isEditMode && (0,external_React_.createElement)(CodeEditor, null), isEditMode && (0,external_React_.createElement)(external_React_.Fragment, null, (0,external_React_.createElement)(edit_mode, null), (0,external_React_.createElement)(external_wp_editor_namespaceObject.EditorKeyboardShortcutsRegister, null), (0,external_React_.createElement)(external_wp_editor_namespaceObject.EditorKeyboardShortcuts, null))),
|
||||
secondarySidebar: isEditMode && (shouldShowInserter && (0,external_React_.createElement)(InserterSidebar, null) || shouldShowListView && (0,external_React_.createElement)(ListViewSidebar, null)),
|
||||
sidebar: isEditMode && isRightSidebarOpen && (0,external_React_.createElement)(external_React_.Fragment, null, (0,external_React_.createElement)(complementary_area.Slot, {
|
||||
sidebar: !isDistractionFree && isEditMode && isRightSidebarOpen && (0,external_React_.createElement)(external_React_.Fragment, null, (0,external_React_.createElement)(complementary_area.Slot, {
|
||||
scope: "core/edit-site"
|
||||
})),
|
||||
footer: shouldShowBlockBreadcrumbs && (0,external_React_.createElement)(external_wp_blockEditor_namespaceObject.BlockBreadcrumb, {
|
||||
|
@ -44607,6 +44666,7 @@ function PageTemplatesTemplateParts({
|
|||
setView(newView);
|
||||
}, [view.type, setView, history, params]);
|
||||
return (0,external_React_.createElement)(Page, {
|
||||
className: "edit-site-page-template-template-parts-dataviews",
|
||||
title: postType === constants_TEMPLATE_POST_TYPE ? (0,external_wp_i18n_namespaceObject.__)('Templates') : (0,external_wp_i18n_namespaceObject.__)('Template Parts'),
|
||||
actions: postType === constants_TEMPLATE_POST_TYPE ? (0,external_React_.createElement)(AddNewTemplate, {
|
||||
templateType: postType,
|
||||
|
@ -44659,8 +44719,13 @@ function useLayoutAreas() {
|
|||
postId,
|
||||
path,
|
||||
layout,
|
||||
isCustom
|
||||
isCustom,
|
||||
canvas
|
||||
} = params !== null && params !== void 0 ? params : {};
|
||||
|
||||
// Note: Since "sidebar" is not yet supported here,
|
||||
// returning undefined from "mobile" means show the sidebar.
|
||||
|
||||
// Regular page
|
||||
if (path === '/page') {
|
||||
return {
|
||||
|
@ -44668,7 +44733,10 @@ function useLayoutAreas() {
|
|||
content: undefined,
|
||||
preview: (0,external_React_.createElement)(Editor, {
|
||||
isLoading: isSiteEditorLoading
|
||||
})
|
||||
}),
|
||||
mobile: canvas === 'edit' ? (0,external_React_.createElement)(Editor, {
|
||||
isLoading: isSiteEditorLoading
|
||||
}) : undefined
|
||||
},
|
||||
widths: {
|
||||
content: undefined
|
||||
|
@ -44699,7 +44767,10 @@ function useLayoutAreas() {
|
|||
areas: {
|
||||
preview: (0,external_React_.createElement)(Editor, {
|
||||
isLoading: isSiteEditorLoading
|
||||
})
|
||||
}),
|
||||
mobile: canvas === 'edit' ? (0,external_React_.createElement)(Editor, {
|
||||
isLoading: isSiteEditorLoading
|
||||
}) : undefined
|
||||
}
|
||||
};
|
||||
}
|
||||
|
@ -44713,6 +44784,9 @@ function useLayoutAreas() {
|
|||
}),
|
||||
preview: isListLayout && (0,external_React_.createElement)(Editor, {
|
||||
isLoading: isSiteEditorLoading
|
||||
}),
|
||||
mobile: (0,external_React_.createElement)(PageTemplatesTemplateParts, {
|
||||
postType: constants_TEMPLATE_POST_TYPE
|
||||
})
|
||||
},
|
||||
widths: {
|
||||
|
@ -44730,6 +44804,9 @@ function useLayoutAreas() {
|
|||
}),
|
||||
preview: isListLayout && (0,external_React_.createElement)(Editor, {
|
||||
isLoading: isSiteEditorLoading
|
||||
}),
|
||||
mobile: (0,external_React_.createElement)(PageTemplatesTemplateParts, {
|
||||
postType: TEMPLATE_PART_POST_TYPE
|
||||
})
|
||||
},
|
||||
widths: {
|
||||
|
@ -44742,7 +44819,8 @@ function useLayoutAreas() {
|
|||
if (path === '/patterns') {
|
||||
return {
|
||||
areas: {
|
||||
content: (0,external_React_.createElement)(DataviewsPatterns, null)
|
||||
content: (0,external_React_.createElement)(DataviewsPatterns, null),
|
||||
mobile: (0,external_React_.createElement)(DataviewsPatterns, null)
|
||||
}
|
||||
};
|
||||
}
|
||||
|
@ -44752,7 +44830,10 @@ function useLayoutAreas() {
|
|||
areas: {
|
||||
preview: (0,external_React_.createElement)(Editor, {
|
||||
isLoading: isSiteEditorLoading
|
||||
})
|
||||
}),
|
||||
mobile: canvas === 'edit' ? (0,external_React_.createElement)(Editor, {
|
||||
isLoading: isSiteEditorLoading
|
||||
}) : undefined
|
||||
}
|
||||
};
|
||||
}
|
||||
|
@ -44971,7 +45052,7 @@ function Layout() {
|
|||
}
|
||||
}, (0,external_React_.createElement)(HeaderEditMode, null)))), (0,external_React_.createElement)("div", {
|
||||
className: "edit-site-layout__content"
|
||||
}, (0,external_React_.createElement)(NavigableRegion, {
|
||||
}, (!isMobileViewport || isMobileViewport && !areas.mobile) && (0,external_React_.createElement)(NavigableRegion, {
|
||||
ariaLabel: (0,external_wp_i18n_namespaceObject.__)('Navigation'),
|
||||
className: "edit-site-layout__sidebar-region"
|
||||
}, (0,external_React_.createElement)(external_wp_components_namespaceObject.__unstableAnimatePresence, null, canvasMode === 'view' && (0,external_React_.createElement)(external_wp_components_namespaceObject.__unstableMotion.div, {
|
||||
|
@ -44992,12 +45073,17 @@ function Layout() {
|
|||
ease: 'easeOut'
|
||||
},
|
||||
className: "edit-site-layout__sidebar"
|
||||
}, (0,external_React_.createElement)(sidebar, null)))), (0,external_React_.createElement)(SavePanel, null), areas.content && canvasMode !== 'edit' && (0,external_React_.createElement)("div", {
|
||||
}, (0,external_React_.createElement)(sidebar, null)))), (0,external_React_.createElement)(SavePanel, null), isMobileViewport && areas.mobile && (0,external_React_.createElement)("div", {
|
||||
className: "edit-site-layout__mobile",
|
||||
style: {
|
||||
maxWidth: widths?.content
|
||||
}
|
||||
}, areas.mobile), !isMobileViewport && areas.content && canvasMode !== 'edit' && (0,external_React_.createElement)("div", {
|
||||
className: "edit-site-layout__area",
|
||||
style: {
|
||||
maxWidth: widths?.content
|
||||
}
|
||||
}, areas.content), areas.preview && (0,external_React_.createElement)("div", {
|
||||
}, areas.content), !isMobileViewport && areas.preview && (0,external_React_.createElement)("div", {
|
||||
className: "edit-site-layout__canvas-container"
|
||||
}, canvasResizer, !!canvasSize.width && (0,external_React_.createElement)(external_wp_components_namespaceObject.__unstableMotion.div, {
|
||||
whileHover: canvasMode === 'view' ? {
|
||||
|
|
File diff suppressed because one or more lines are too long
|
@ -14687,12 +14687,14 @@ function mediaUpload({
|
|||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Internal dependencies
|
||||
*/
|
||||
|
||||
|
||||
|
||||
|
||||
const EMPTY_BLOCKS_LIST = [];
|
||||
const BLOCK_EDITOR_SETTINGS = ['__experimentalBlockDirectory', '__experimentalDiscussionSettings', '__experimentalFeatures', '__experimentalGlobalStylesBaseStyles', '__experimentalPreferredStyleVariations', '__unstableGalleryWithImageBlocks', 'alignWide', 'blockInspectorTabs', 'allowedMimeTypes', 'bodyPlaceholder', 'canLockBlocks', 'capabilities', 'clearBlockSelection', 'codeEditingEnabled', 'colors', 'disableCustomColors', 'disableCustomFontSizes', 'disableCustomSpacingSizes', 'disableCustomGradients', 'disableLayoutStyles', 'enableCustomLineHeight', 'enableCustomSpacing', 'enableCustomUnits', 'enableOpenverseMediaCategory', 'fontSizes', 'gradients', 'generateAnchors', 'onNavigateToEntityRecord', 'hasInlineToolbar', 'imageDefaultSize', 'imageDimensions', 'imageEditing', 'imageSizes', 'isRTL', 'locale', 'maxWidth', 'onUpdateDefaultBlockStyles', 'postContentAttributes', 'postsPerPage', 'readOnly', 'styles', 'titlePlaceholder', 'supportsLayout', 'widgetTypesToHideFromLegacyWidgetBlock', '__unstableHasCustomAppender', '__unstableIsPreviewMode', '__unstableResolvedAssets', '__unstableIsBlockBasedTheme', '__experimentalArchiveTitleTypeLabel', '__experimentalArchiveTitleNameLabel'];
|
||||
|
||||
|
@ -14823,13 +14825,7 @@ function useBlockEditorSettings(settings, postType, postId) {
|
|||
keepCaretInsideBlock,
|
||||
mediaUpload: hasUploadPermissions ? mediaUpload : undefined,
|
||||
__experimentalBlockPatterns: blockPatterns,
|
||||
__experimentalFetchBlockPatterns: async () => {
|
||||
return (await (0,external_wp_coreData_namespaceObject.fetchBlockPatterns)()).filter(({
|
||||
postTypes
|
||||
}) => {
|
||||
return !postTypes || Array.isArray(postTypes) && postTypes.includes(postType);
|
||||
});
|
||||
},
|
||||
[unlock(external_wp_blockEditor_namespaceObject.privateApis).selectBlockPatternsKey]: select => unlock(select(external_wp_coreData_namespaceObject.store)).getBlockPatternsForPostType(postType),
|
||||
__experimentalReusableBlocks: reusableBlocks,
|
||||
__experimentalBlockPatternCategories: blockPatternCategories,
|
||||
__experimentalUserPatternCategories: userPatternCategories,
|
||||
|
@ -15941,6 +15937,7 @@ function DocumentTools({
|
|||
setIsListViewOpened
|
||||
} = (0,external_wp_data_namespaceObject.useDispatch)(store_store);
|
||||
const {
|
||||
isDistractionFree,
|
||||
isInserterOpened,
|
||||
isListViewOpen,
|
||||
listViewShortcut,
|
||||
|
@ -15967,7 +15964,8 @@ function DocumentTools({
|
|||
listViewShortcut: getShortcutRepresentation('core/editor/toggle-list-view'),
|
||||
listViewToggleRef: getListViewToggleRef(),
|
||||
hasFixedToolbar: getSettings().hasFixedToolbar,
|
||||
showIconLabels: get('core', 'showIconLabels')
|
||||
showIconLabels: get('core', 'showIconLabels'),
|
||||
isDistractionFree: get('core', 'distractionFree')
|
||||
};
|
||||
}, []);
|
||||
const isLargeViewport = (0,external_wp_compose_namespaceObject.useViewportMatch)('medium');
|
||||
|
@ -16033,7 +16031,7 @@ function DocumentTools({
|
|||
showTooltip: !showIconLabels,
|
||||
variant: showIconLabels ? 'tertiary' : undefined,
|
||||
size: "compact"
|
||||
}), (0,external_React_.createElement)(external_wp_components_namespaceObject.ToolbarItem, {
|
||||
}), !isDistractionFree && (0,external_React_.createElement)(external_wp_components_namespaceObject.ToolbarItem, {
|
||||
as: external_wp_components_namespaceObject.Button,
|
||||
className: "editor-document-tools__document-overview-toggle",
|
||||
icon: list_view,
|
||||
|
|
File diff suppressed because one or more lines are too long
|
@ -365,6 +365,101 @@ function CategorySelector({
|
|||
});
|
||||
}
|
||||
|
||||
;// CONCATENATED MODULE: ./node_modules/@wordpress/patterns/build-module/private-hooks.js
|
||||
/**
|
||||
* WordPress dependencies
|
||||
*/
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Internal dependencies
|
||||
*/
|
||||
|
||||
|
||||
/**
|
||||
* Helper hook that creates a Map with the core and user patterns categories
|
||||
* and removes any duplicates. It's used when we need to create new user
|
||||
* categories when creating or importing patterns.
|
||||
* This hook also provides a function to find or create a pattern category.
|
||||
*
|
||||
* @return {Object} The merged categories map and the callback function to find or create a category.
|
||||
*/
|
||||
function useAddPatternCategory() {
|
||||
const {
|
||||
saveEntityRecord,
|
||||
invalidateResolution
|
||||
} = (0,external_wp_data_namespaceObject.useDispatch)(external_wp_coreData_namespaceObject.store);
|
||||
const {
|
||||
corePatternCategories,
|
||||
userPatternCategories
|
||||
} = (0,external_wp_data_namespaceObject.useSelect)(select => {
|
||||
const {
|
||||
getUserPatternCategories,
|
||||
getBlockPatternCategories
|
||||
} = select(external_wp_coreData_namespaceObject.store);
|
||||
return {
|
||||
corePatternCategories: getBlockPatternCategories(),
|
||||
userPatternCategories: getUserPatternCategories()
|
||||
};
|
||||
}, []);
|
||||
const categoryMap = (0,external_wp_element_namespaceObject.useMemo)(() => {
|
||||
// Merge the user and core pattern categories and remove any duplicates.
|
||||
const uniqueCategories = new Map();
|
||||
userPatternCategories.forEach(category => {
|
||||
uniqueCategories.set(category.label.toLowerCase(), {
|
||||
label: category.label,
|
||||
name: category.name,
|
||||
id: category.id
|
||||
});
|
||||
});
|
||||
corePatternCategories.forEach(category => {
|
||||
if (!uniqueCategories.has(category.label.toLowerCase()) &&
|
||||
// There are two core categories with `Post` label so explicitly remove the one with
|
||||
// the `query` slug to avoid any confusion.
|
||||
category.name !== 'query') {
|
||||
uniqueCategories.set(category.label.toLowerCase(), {
|
||||
label: category.label,
|
||||
name: category.name
|
||||
});
|
||||
}
|
||||
});
|
||||
return uniqueCategories;
|
||||
}, [userPatternCategories, corePatternCategories]);
|
||||
async function findOrCreateTerm(term) {
|
||||
try {
|
||||
const existingTerm = categoryMap.get(term.toLowerCase());
|
||||
if (existingTerm?.id) {
|
||||
return existingTerm.id;
|
||||
}
|
||||
// If we have an existing core category we need to match the new user category to the
|
||||
// correct slug rather than autogenerating it to prevent duplicates, eg. the core `Headers`
|
||||
// category uses the singular `header` as the slug.
|
||||
const termData = existingTerm ? {
|
||||
name: existingTerm.label,
|
||||
slug: existingTerm.name
|
||||
} : {
|
||||
name: term
|
||||
};
|
||||
const newTerm = await saveEntityRecord('taxonomy', CATEGORY_SLUG, termData, {
|
||||
throwOnError: true
|
||||
});
|
||||
invalidateResolution('getUserPatternCategories');
|
||||
return newTerm.id;
|
||||
} catch (error) {
|
||||
if (error.code !== 'term_exists') {
|
||||
throw error;
|
||||
}
|
||||
return error.data.term_id;
|
||||
}
|
||||
}
|
||||
return {
|
||||
categoryMap,
|
||||
findOrCreateTerm
|
||||
};
|
||||
}
|
||||
|
||||
;// CONCATENATED MODULE: ./node_modules/@wordpress/patterns/build-module/components/create-pattern-modal.js
|
||||
|
||||
/**
|
||||
|
@ -376,15 +471,11 @@ function CategorySelector({
|
|||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Internal dependencies
|
||||
*/
|
||||
|
||||
|
||||
/**
|
||||
* Internal dependencies
|
||||
*/
|
||||
|
||||
|
||||
|
||||
|
@ -418,49 +509,13 @@ function CreatePatternModalContents({
|
|||
const {
|
||||
createPattern
|
||||
} = unlock((0,external_wp_data_namespaceObject.useDispatch)(store));
|
||||
const {
|
||||
saveEntityRecord,
|
||||
invalidateResolution
|
||||
} = (0,external_wp_data_namespaceObject.useDispatch)(external_wp_coreData_namespaceObject.store);
|
||||
const {
|
||||
createErrorNotice
|
||||
} = (0,external_wp_data_namespaceObject.useDispatch)(external_wp_notices_namespaceObject.store);
|
||||
const {
|
||||
corePatternCategories,
|
||||
userPatternCategories
|
||||
} = (0,external_wp_data_namespaceObject.useSelect)(select => {
|
||||
const {
|
||||
getUserPatternCategories,
|
||||
getBlockPatternCategories
|
||||
} = select(external_wp_coreData_namespaceObject.store);
|
||||
return {
|
||||
corePatternCategories: getBlockPatternCategories(),
|
||||
userPatternCategories: getUserPatternCategories()
|
||||
};
|
||||
});
|
||||
const categoryMap = (0,external_wp_element_namespaceObject.useMemo)(() => {
|
||||
// Merge the user and core pattern categories and remove any duplicates.
|
||||
const uniqueCategories = new Map();
|
||||
userPatternCategories.forEach(category => {
|
||||
uniqueCategories.set(category.label.toLowerCase(), {
|
||||
label: category.label,
|
||||
name: category.name,
|
||||
id: category.id
|
||||
});
|
||||
});
|
||||
corePatternCategories.forEach(category => {
|
||||
if (!uniqueCategories.has(category.label.toLowerCase()) &&
|
||||
// There are two core categories with `Post` label so explicitly remove the one with
|
||||
// the `query` slug to avoid any confusion.
|
||||
category.name !== 'query') {
|
||||
uniqueCategories.set(category.label.toLowerCase(), {
|
||||
label: category.label,
|
||||
name: category.name
|
||||
});
|
||||
}
|
||||
});
|
||||
return uniqueCategories;
|
||||
}, [userPatternCategories, corePatternCategories]);
|
||||
categoryMap,
|
||||
findOrCreateTerm
|
||||
} = useAddPatternCategory();
|
||||
async function onCreate(patternTitle, sync) {
|
||||
if (!title || isSaving) {
|
||||
return;
|
||||
|
@ -485,38 +540,6 @@ function CreatePatternModalContents({
|
|||
setTitle('');
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @param {string} term
|
||||
* @return {Promise<number>} The pattern category id.
|
||||
*/
|
||||
async function findOrCreateTerm(term) {
|
||||
try {
|
||||
const existingTerm = categoryMap.get(term.toLowerCase());
|
||||
if (existingTerm && existingTerm.id) {
|
||||
return existingTerm.id;
|
||||
}
|
||||
// If we have an existing core category we need to match the new user category to the
|
||||
// correct slug rather than autogenerating it to prevent duplicates, eg. the core `Headers`
|
||||
// category uses the singular `header` as the slug.
|
||||
const termData = existingTerm ? {
|
||||
name: existingTerm.label,
|
||||
slug: existingTerm.name
|
||||
} : {
|
||||
name: term
|
||||
};
|
||||
const newTerm = await saveEntityRecord('taxonomy', CATEGORY_SLUG, termData, {
|
||||
throwOnError: true
|
||||
});
|
||||
invalidateResolution('getUserPatternCategories');
|
||||
return newTerm.id;
|
||||
} catch (error) {
|
||||
if (error.code !== 'term_exists') {
|
||||
throw error;
|
||||
}
|
||||
return error.data.term_id;
|
||||
}
|
||||
}
|
||||
return (0,external_React_namespaceObject.createElement)("form", {
|
||||
onSubmit: event => {
|
||||
event.preventDefault();
|
||||
|
@ -1316,6 +1339,7 @@ function ResetOverridesControl(props) {
|
|||
|
||||
|
||||
|
||||
|
||||
const privateApis = {};
|
||||
lock(privateApis, {
|
||||
CreatePatternModal: CreatePatternModal,
|
||||
|
@ -1327,6 +1351,7 @@ lock(privateApis, {
|
|||
RenamePatternCategoryModal: RenamePatternCategoryModal,
|
||||
PartialSyncingControls: partial_syncing_controls,
|
||||
ResetOverridesControl: ResetOverridesControl,
|
||||
useAddPatternCategory: useAddPatternCategory,
|
||||
PATTERN_TYPES: PATTERN_TYPES,
|
||||
PATTERN_DEFAULT_CATEGORY: PATTERN_DEFAULT_CATEGORY,
|
||||
PATTERN_USER_CATEGORY: PATTERN_USER_CATEGORY,
|
||||
|
|
File diff suppressed because one or more lines are too long
|
@ -16,7 +16,7 @@
|
|||
*
|
||||
* @global string $wp_version
|
||||
*/
|
||||
$wp_version = '6.5-beta1-57668';
|
||||
$wp_version = '6.5-beta1-57669';
|
||||
|
||||
/**
|
||||
* Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema.
|
||||
|
|
Loading…
Reference in New Issue