@wordpress/block-editor 15.3.1-next.6870dfe5b.0 → 15.3.1-next.6f42e1382.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/autocompleters/block.js +2 -4
- package/build/autocompleters/block.js.map +1 -1
- package/build/components/block-list/index.js +3 -1
- package/build/components/block-list/index.js.map +1 -1
- package/build/components/block-switcher/index.js +10 -5
- package/build/components/block-switcher/index.js.map +1 -1
- package/build/components/block-toolbar/index.js +5 -2
- package/build/components/block-toolbar/index.js.map +1 -1
- package/build/components/block-tools/insertion-point.js +10 -0
- package/build/components/block-tools/insertion-point.js.map +1 -1
- package/build/components/block-variation-transforms/index.js +9 -5
- package/build/components/block-variation-transforms/index.js.map +1 -1
- package/build/components/link-control/search-item.js +30 -12
- package/build/components/link-control/search-item.js.map +1 -1
- package/build/store/private-selectors.js +7 -20
- package/build/store/private-selectors.js.map +1 -1
- package/build/store/reducer.js +60 -0
- package/build/store/reducer.js.map +1 -1
- package/build/store/selectors.js +16 -30
- package/build/store/selectors.js.map +1 -1
- package/build/store/utils.js +18 -0
- package/build/store/utils.js.map +1 -1
- package/build-module/autocompleters/block.js +3 -5
- package/build-module/autocompleters/block.js.map +1 -1
- package/build-module/components/block-list/index.js +3 -1
- package/build-module/components/block-list/index.js.map +1 -1
- package/build-module/components/block-switcher/index.js +10 -5
- package/build-module/components/block-switcher/index.js.map +1 -1
- package/build-module/components/block-toolbar/index.js +5 -2
- package/build-module/components/block-toolbar/index.js.map +1 -1
- package/build-module/components/block-tools/insertion-point.js +11 -1
- package/build-module/components/block-tools/insertion-point.js.map +1 -1
- package/build-module/components/block-variation-transforms/index.js +9 -5
- package/build-module/components/block-variation-transforms/index.js.map +1 -1
- package/build-module/components/link-control/search-item.js +30 -12
- package/build-module/components/link-control/search-item.js.map +1 -1
- package/build-module/store/private-selectors.js +7 -20
- package/build-module/store/private-selectors.js.map +1 -1
- package/build-module/store/reducer.js +60 -0
- package/build-module/store/reducer.js.map +1 -1
- package/build-module/store/selectors.js +16 -30
- package/build-module/store/selectors.js.map +1 -1
- package/build-module/store/utils.js +17 -0
- package/build-module/store/utils.js.map +1 -1
- package/build-style/style-rtl.css +0 -1
- package/build-style/style.css +0 -1
- package/package.json +34 -34
- package/src/autocompleters/block.js +6 -11
- package/src/components/block-list/index.js +7 -1
- package/src/components/block-switcher/index.js +8 -1
- package/src/components/block-toolbar/index.js +11 -5
- package/src/components/block-tools/insertion-point.js +19 -1
- package/src/components/block-variation-transforms/index.js +38 -27
- package/src/components/link-control/search-item.js +31 -12
- package/src/components/link-control/style.scss +0 -1
- package/src/components/link-control/test/index.js +14 -2
- package/src/store/private-selectors.js +10 -23
- package/src/store/reducer.js +105 -0
- package/src/store/selectors.js +38 -59
- package/src/store/test/reducer.js +107 -0
- package/src/store/test/selectors.js +65 -192
- package/src/store/utils.js +21 -0
|
@@ -2013,6 +2013,11 @@ function getDerivedBlockEditingModesForTree(state, isNavMode = false, treeClient
|
|
|
2013
2013
|
syncedPatternClientIds.push(clientId);
|
|
2014
2014
|
}
|
|
2015
2015
|
});
|
|
2016
|
+
const contentOnlyTemplateLockedClientIds = Object.keys(state.blockListSettings).filter(clientId => state.blockListSettings[clientId]?.templateLock === 'contentOnly');
|
|
2017
|
+
// Use array.from for better back compat. Older versions of the iterator returned
|
|
2018
|
+
// from `keys()` didn't have the `filter` method.
|
|
2019
|
+
const unsyncedPatternClientIds = !!window?.__experimentalContentOnlyPatternInsertion ? Array.from(state.blocks.attributes.keys()).filter(clientId => state.blocks.attributes.get(clientId)?.metadata?.patternName) : [];
|
|
2020
|
+
const contentOnlyParents = [...contentOnlyTemplateLockedClientIds, ...unsyncedPatternClientIds];
|
|
2016
2021
|
traverseBlockTree(state, treeClientId, block => {
|
|
2017
2022
|
const {
|
|
2018
2023
|
clientId,
|
|
@@ -2159,6 +2164,18 @@ function getDerivedBlockEditingModesForTree(state, isNavMode = false, treeClient
|
|
|
2159
2164
|
derivedBlockEditingModes.set(clientId, 'disabled');
|
|
2160
2165
|
}
|
|
2161
2166
|
}
|
|
2167
|
+
|
|
2168
|
+
// Handle `templateLock=contentOnly` blocks and unsynced patterns.
|
|
2169
|
+
if (contentOnlyParents.length) {
|
|
2170
|
+
const hasContentOnlyParent = !!findParentInClientIdsList(state, clientId, contentOnlyParents);
|
|
2171
|
+
if (hasContentOnlyParent) {
|
|
2172
|
+
if (isContentBlock(blockName)) {
|
|
2173
|
+
derivedBlockEditingModes.set(clientId, 'contentOnly');
|
|
2174
|
+
} else {
|
|
2175
|
+
derivedBlockEditingModes.set(clientId, 'disabled');
|
|
2176
|
+
}
|
|
2177
|
+
}
|
|
2178
|
+
}
|
|
2162
2179
|
});
|
|
2163
2180
|
return derivedBlockEditingModes;
|
|
2164
2181
|
}
|
|
@@ -2290,6 +2307,49 @@ export function withDerivedBlockEditingModes(reducer) {
|
|
|
2290
2307
|
}
|
|
2291
2308
|
break;
|
|
2292
2309
|
}
|
|
2310
|
+
case 'UPDATE_BLOCK_LIST_SETTINGS':
|
|
2311
|
+
{
|
|
2312
|
+
// Handle the addition and removal of contentOnly template locked blocks.
|
|
2313
|
+
const addedBlocks = [];
|
|
2314
|
+
const removedClientIds = [];
|
|
2315
|
+
const updates = typeof action.clientId === 'string' ? {
|
|
2316
|
+
[action.clientId]: action.settings
|
|
2317
|
+
} : action.clientId;
|
|
2318
|
+
for (const clientId in updates) {
|
|
2319
|
+
const isNewContentOnlyBlock = state.blockListSettings[clientId]?.templateLock !== 'contentOnly' && nextState.blockListSettings[clientId]?.templateLock === 'contentOnly';
|
|
2320
|
+
const wasContentOnlyBlock = state.blockListSettings[clientId]?.templateLock === 'contentOnly' && nextState.blockListSettings[clientId]?.templateLock !== 'contentOnly';
|
|
2321
|
+
if (isNewContentOnlyBlock) {
|
|
2322
|
+
addedBlocks.push(nextState.blocks.tree.get(clientId));
|
|
2323
|
+
} else if (wasContentOnlyBlock) {
|
|
2324
|
+
removedClientIds.push(clientId);
|
|
2325
|
+
}
|
|
2326
|
+
}
|
|
2327
|
+
if (!addedBlocks.length && !removedClientIds.length) {
|
|
2328
|
+
break;
|
|
2329
|
+
}
|
|
2330
|
+
const nextDerivedBlockEditingModes = getDerivedBlockEditingModesUpdates({
|
|
2331
|
+
prevState: state,
|
|
2332
|
+
nextState,
|
|
2333
|
+
addedBlocks,
|
|
2334
|
+
removedClientIds,
|
|
2335
|
+
isNavMode: false
|
|
2336
|
+
});
|
|
2337
|
+
const nextDerivedNavModeBlockEditingModes = getDerivedBlockEditingModesUpdates({
|
|
2338
|
+
prevState: state,
|
|
2339
|
+
nextState,
|
|
2340
|
+
addedBlocks,
|
|
2341
|
+
removedClientIds,
|
|
2342
|
+
isNavMode: true
|
|
2343
|
+
});
|
|
2344
|
+
if (nextDerivedBlockEditingModes || nextDerivedNavModeBlockEditingModes) {
|
|
2345
|
+
return {
|
|
2346
|
+
...nextState,
|
|
2347
|
+
derivedBlockEditingModes: nextDerivedBlockEditingModes !== null && nextDerivedBlockEditingModes !== void 0 ? nextDerivedBlockEditingModes : state.derivedBlockEditingModes,
|
|
2348
|
+
derivedNavModeBlockEditingModes: nextDerivedNavModeBlockEditingModes !== null && nextDerivedNavModeBlockEditingModes !== void 0 ? nextDerivedNavModeBlockEditingModes : state.derivedNavModeBlockEditingModes
|
|
2349
|
+
};
|
|
2350
|
+
}
|
|
2351
|
+
break;
|
|
2352
|
+
}
|
|
2293
2353
|
case 'SET_BLOCK_EDITING_MODE':
|
|
2294
2354
|
case 'UNSET_BLOCK_EDITING_MODE':
|
|
2295
2355
|
case 'SET_HAS_CONTROLLED_INNER_BLOCKS':
|