@wordpress/block-editor 12.3.3 → 12.3.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/components/block-mobile-toolbar/block-actions-menu.native.js +3 -6
- package/build/components/block-mobile-toolbar/block-actions-menu.native.js.map +1 -1
- package/build/components/block-removal-warning-modal/index.js +1 -1
- package/build/components/block-removal-warning-modal/index.js.map +1 -1
- package/build/components/global-styles/filters-panel.js +1 -1
- package/build/components/global-styles/filters-panel.js.map +1 -1
- package/build/components/inserter/block-patterns-explorer/patterns-list.js +2 -2
- package/build/components/inserter/block-patterns-explorer/patterns-list.js.map +1 -1
- package/build/components/inserter/block-patterns-tab.js +7 -35
- package/build/components/inserter/block-patterns-tab.js.map +1 -1
- package/build/components/inserter/hooks/use-block-types-state.js +3 -4
- package/build/components/inserter/hooks/use-block-types-state.js.map +1 -1
- package/build/components/inserter/hooks/use-patterns-state.js +9 -3
- package/build/components/inserter/hooks/use-patterns-state.js.map +1 -1
- package/build/components/inserter/reusable-blocks-tab.js +1 -1
- package/build/components/inserter/reusable-blocks-tab.js.map +1 -1
- package/build/store/selectors.js +31 -15
- package/build/store/selectors.js.map +1 -1
- package/build-module/components/block-mobile-toolbar/block-actions-menu.native.js +4 -6
- package/build-module/components/block-mobile-toolbar/block-actions-menu.native.js.map +1 -1
- package/build-module/components/block-removal-warning-modal/index.js +2 -2
- package/build-module/components/block-removal-warning-modal/index.js.map +1 -1
- package/build-module/components/global-styles/filters-panel.js +2 -2
- package/build-module/components/global-styles/filters-panel.js.map +1 -1
- package/build-module/components/inserter/block-patterns-explorer/patterns-list.js +2 -2
- package/build-module/components/inserter/block-patterns-explorer/patterns-list.js.map +1 -1
- package/build-module/components/inserter/block-patterns-tab.js +7 -33
- package/build-module/components/inserter/block-patterns-tab.js.map +1 -1
- package/build-module/components/inserter/hooks/use-block-types-state.js +3 -4
- package/build-module/components/inserter/hooks/use-block-types-state.js.map +1 -1
- package/build-module/components/inserter/hooks/use-patterns-state.js +9 -3
- package/build-module/components/inserter/hooks/use-patterns-state.js.map +1 -1
- package/build-module/components/inserter/reusable-blocks-tab.js +1 -1
- package/build-module/components/inserter/reusable-blocks-tab.js.map +1 -1
- package/build-module/store/selectors.js +31 -15
- package/build-module/store/selectors.js.map +1 -1
- package/build-style/content-rtl.css +3 -0
- package/build-style/content.css +3 -0
- package/build-style/style-rtl.css +1 -2
- package/build-style/style.css +1 -2
- package/package.json +9 -9
- package/src/components/block-mobile-toolbar/block-actions-menu.native.js +4 -8
- package/src/components/block-removal-warning-modal/index.js +4 -6
- package/src/components/default-block-appender/content.scss +11 -0
- package/src/components/global-styles/filters-panel.js +2 -2
- package/src/components/inserter/block-patterns-explorer/patterns-list.js +8 -2
- package/src/components/inserter/block-patterns-tab.js +8 -56
- package/src/components/inserter/hooks/use-block-types-state.js +3 -4
- package/src/components/inserter/hooks/use-patterns-state.js +35 -19
- package/src/components/inserter/reusable-blocks-tab.js +1 -1
- package/src/components/list-view/style.scss +1 -2
- package/src/store/selectors.js +51 -20
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-editor/src/components/inserter/hooks/use-patterns-state.js"],"names":["usePatternsState","onInsert","rootClientId","patternCategories","patterns","select","__experimentalGetAllowedPatterns","getSettings","blockEditorStore","__experimentalBlockPatternCategories","createSuccessNotice","noticesStore","onClickPattern","pattern","blocks","map","block","
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-editor/src/components/inserter/hooks/use-patterns-state.js"],"names":["CUSTOM_CATEGORY","name","label","description","usePatternsState","onInsert","rootClientId","patternCategories","patterns","select","__experimentalGetAllowedPatterns","getSettings","blockEditorStore","__experimentalBlockPatternCategories","allCategories","createSuccessNotice","noticesStore","onClickPattern","pattern","blocks","map","block","title","type"],"mappings":";;;;;;;AAGA;;AACA;;AACA;;AACA;;AACA;;AAKA;;AAZA;AACA;AACA;;AAOA;AACA;AACA;AAGA,MAAMA,eAAe,GAAG;AACvBC,EAAAA,IAAI,EAAE,QADiB;AAEvBC,EAAAA,KAAK,EAAE,cAAI,aAAJ,CAFgB;AAGvBC,EAAAA,WAAW,EAAE,cAAI,mCAAJ;AAHU,CAAxB;AAMA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMC,gBAAgB,GAAG,CAAEC,QAAF,EAAYC,YAAZ,KAA8B;AACtD,QAAM;AAAEC,IAAAA,iBAAF;AAAqBC,IAAAA;AAArB,MAAkC,qBACrCC,MAAF,IAAc;AACb,UAAM;AAAEC,MAAAA,gCAAF;AAAoCC,MAAAA;AAApC,QACLF,MAAM,CAAEG,YAAF,CADP;AAGA,WAAO;AACNJ,MAAAA,QAAQ,EAAEE,gCAAgC,CAAEJ,YAAF,CADpC;AAENC,MAAAA,iBAAiB,EAChBI,WAAW,GAAGE;AAHT,KAAP;AAKA,GAVsC,EAWvC,CAAEP,YAAF,CAXuC,CAAxC;AAcA,QAAMQ,aAAa,GAAG,sBACrB,MAAM,CAAE,GAAGP,iBAAL,EAAwBP,eAAxB,CADe,EAErB,CAAEO,iBAAF,CAFqB,CAAtB;AAKA,QAAM;AAAEQ,IAAAA;AAAF,MAA0B,uBAAaC,cAAb,CAAhC;AACA,QAAMC,cAAc,GAAG,0BACtB,CAAEC,OAAF,EAAWC,MAAX,KAAuB;AACtBd,IAAAA,QAAQ,CACP,CAAEc,MAAF,aAAEA,MAAF,cAAEA,MAAF,GAAY,EAAZ,EAAiBC,GAAjB,CAAwBC,KAAF,IAAa,wBAAYA,KAAZ,CAAnC,CADO,EAEPH,OAAO,CAACjB,IAFD,CAAR;AAIAc,IAAAA,mBAAmB,CAClB;AACC;AACA,kBAAI,8BAAJ,CAFD,EAGCG,OAAO,CAACI,KAHT,CADkB,EAMlB;AACCC,MAAAA,IAAI,EAAE;AADP,KANkB,CAAnB;AAUA,GAhBqB,EAiBtB,CAAER,mBAAF,EAAuBV,QAAvB,CAjBsB,CAAvB;AAoBA,SAAO,CAAEG,QAAF,EAAYM,aAAZ,EAA2BG,cAA3B,CAAP;AACA,CA1CD;;eA4Ceb,gB","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useCallback, useMemo } from '@wordpress/element';\nimport { cloneBlock } from '@wordpress/blocks';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../../../store';\n\nconst CUSTOM_CATEGORY = {\n\tname: 'custom',\n\tlabel: __( 'My patterns' ),\n\tdescription: __( 'Custom patterns add by site users' ),\n};\n\n/**\n * Retrieves the block patterns inserter state.\n *\n * @param {Function} onInsert function called when inserter a list of blocks.\n * @param {string=} rootClientId Insertion's root client ID.\n *\n * @return {Array} Returns the patterns state. (patterns, categories, onSelect handler)\n */\nconst usePatternsState = ( onInsert, rootClientId ) => {\n\tconst { patternCategories, patterns } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { __experimentalGetAllowedPatterns, getSettings } =\n\t\t\t\tselect( blockEditorStore );\n\n\t\t\treturn {\n\t\t\t\tpatterns: __experimentalGetAllowedPatterns( rootClientId ),\n\t\t\t\tpatternCategories:\n\t\t\t\t\tgetSettings().__experimentalBlockPatternCategories,\n\t\t\t};\n\t\t},\n\t\t[ rootClientId ]\n\t);\n\n\tconst allCategories = useMemo(\n\t\t() => [ ...patternCategories, CUSTOM_CATEGORY ],\n\t\t[ patternCategories ]\n\t);\n\n\tconst { createSuccessNotice } = useDispatch( noticesStore );\n\tconst onClickPattern = useCallback(\n\t\t( pattern, blocks ) => {\n\t\t\tonInsert(\n\t\t\t\t( blocks ?? [] ).map( ( block ) => cloneBlock( block ) ),\n\t\t\t\tpattern.name\n\t\t\t);\n\t\t\tcreateSuccessNotice(\n\t\t\t\tsprintf(\n\t\t\t\t\t/* translators: %s: block pattern title. */\n\t\t\t\t\t__( 'Block pattern \"%s\" inserted.' ),\n\t\t\t\t\tpattern.title\n\t\t\t\t),\n\t\t\t\t{\n\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t}\n\t\t\t);\n\t\t},\n\t\t[ createSuccessNotice, onInsert ]\n\t);\n\n\treturn [ patterns, allCategories, onClickPattern ];\n};\n\nexport default usePatternsState;\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-editor/src/components/inserter/reusable-blocks-tab.js"],"names":["ReusableBlocksList","onHover","onInsert","rootClientId","items","onSelectItem","filteredItems","filter","category","length","ReusableBlocksTab","post_type"],"mappings":";;;;;;;;;;AAGA;;AACA;;AACA;;AACA;;AAKA;;AACA;;AACA;;AACA;;AAdA;AACA;AACA;;AAMA;AACA;AACA;AAMA,SAASA,kBAAT,CAA6B;AAAEC,EAAAA,OAAF;AAAWC,EAAAA,QAAX;AAAqBC,EAAAA;AAArB,CAA7B,EAAmE;AAClE,QAAM,CAAEC,KAAF,IAAaC,YAAb,IAA8B,iCACnCF,YADmC,EAEnCD,QAFmC,CAApC;AAKA,QAAMI,aAAa,GAAG,sBAAS,MAAM;AACpC,WAAOF,KAAK,CAACG,MAAN,CAAc,CAAE;AAAEC,MAAAA;AAAF,KAAF,KAAoBA,QAAQ,KAAK,UAA/C,CAAP;AACA,GAFqB,EAEnB,CAAEJ,KAAF,CAFmB,CAAtB;;AAIA,MAAKE,aAAa,CAACG,MAAd,KAAyB,CAA9B,EAAkC;AACjC,WAAO,4BAAC,kBAAD,OAAP;AACA;;AAED,SACC,4BAAC,cAAD;AAAe,IAAA,KAAK,EAAG,cAAI,iBAAJ;AAAvB,KACC,4BAAC,uBAAD;AACC,IAAA,KAAK,EAAGH,aADT;AAEC,IAAA,QAAQ,EAAGD,YAFZ;AAGC,IAAA,OAAO,EAAGJ,OAHX;AAIC,IAAA,KAAK,EAAG,cAAI,iBAAJ;AAJT,IADD,CADD;AAUA,C,CAED;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACO,SAASS,iBAAT,CAA4B;AAAEP,EAAAA,YAAF;AAAgBD,EAAAA,QAAhB;AAA0BD,EAAAA;AAA1B,CAA5B,EAAkE;AACxE,SACC,qDACC,4BAAC,kBAAD;AACC,IAAA,OAAO,EAAGA,OADX;AAEC,IAAA,QAAQ,EAAGC,QAFZ;AAGC,IAAA,YAAY,EAAGC;AAHhB,IADD,EAMC;AAAK,IAAA,SAAS,EAAC;AAAf,KACC,4BAAC,kBAAD;AACC,IAAA,SAAS,EAAC,+CADX;AAEC,IAAA,OAAO,EAAC,WAFT;AAGC,IAAA,IAAI,EAAG,uBAAc,UAAd,EAA0B;AAChCQ,MAAAA,SAAS,EAAE;AADqB,KAA1B;AAHR,KAOG,cAAI,
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-editor/src/components/inserter/reusable-blocks-tab.js"],"names":["ReusableBlocksList","onHover","onInsert","rootClientId","items","onSelectItem","filteredItems","filter","category","length","ReusableBlocksTab","post_type"],"mappings":";;;;;;;;;;AAGA;;AACA;;AACA;;AACA;;AAKA;;AACA;;AACA;;AACA;;AAdA;AACA;AACA;;AAMA;AACA;AACA;AAMA,SAASA,kBAAT,CAA6B;AAAEC,EAAAA,OAAF;AAAWC,EAAAA,QAAX;AAAqBC,EAAAA;AAArB,CAA7B,EAAmE;AAClE,QAAM,CAAEC,KAAF,IAAaC,YAAb,IAA8B,iCACnCF,YADmC,EAEnCD,QAFmC,CAApC;AAKA,QAAMI,aAAa,GAAG,sBAAS,MAAM;AACpC,WAAOF,KAAK,CAACG,MAAN,CAAc,CAAE;AAAEC,MAAAA;AAAF,KAAF,KAAoBA,QAAQ,KAAK,UAA/C,CAAP;AACA,GAFqB,EAEnB,CAAEJ,KAAF,CAFmB,CAAtB;;AAIA,MAAKE,aAAa,CAACG,MAAd,KAAyB,CAA9B,EAAkC;AACjC,WAAO,4BAAC,kBAAD,OAAP;AACA;;AAED,SACC,4BAAC,cAAD;AAAe,IAAA,KAAK,EAAG,cAAI,iBAAJ;AAAvB,KACC,4BAAC,uBAAD;AACC,IAAA,KAAK,EAAGH,aADT;AAEC,IAAA,QAAQ,EAAGD,YAFZ;AAGC,IAAA,OAAO,EAAGJ,OAHX;AAIC,IAAA,KAAK,EAAG,cAAI,iBAAJ;AAJT,IADD,CADD;AAUA,C,CAED;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACO,SAASS,iBAAT,CAA4B;AAAEP,EAAAA,YAAF;AAAgBD,EAAAA,QAAhB;AAA0BD,EAAAA;AAA1B,CAA5B,EAAkE;AACxE,SACC,qDACC,4BAAC,kBAAD;AACC,IAAA,OAAO,EAAGA,OADX;AAEC,IAAA,QAAQ,EAAGC,QAFZ;AAGC,IAAA,YAAY,EAAGC;AAHhB,IADD,EAMC;AAAK,IAAA,SAAS,EAAC;AAAf,KACC,4BAAC,kBAAD;AACC,IAAA,SAAS,EAAC,+CADX;AAEC,IAAA,OAAO,EAAC,WAFT;AAGC,IAAA,IAAI,EAAG,uBAAc,UAAd,EAA0B;AAChCQ,MAAAA,SAAS,EAAE;AADqB,KAA1B;AAHR,KAOG,cAAI,oBAAJ,CAPH,CADD,CAND,CADD;AAoBA;;eAEcD,iB","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useMemo } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { addQueryArgs } from '@wordpress/url';\nimport { Button } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport BlockTypesList from '../block-types-list';\nimport InserterPanel from './panel';\nimport InserterNoResults from './no-results';\nimport useBlockTypesState from './hooks/use-block-types-state';\n\nfunction ReusableBlocksList( { onHover, onInsert, rootClientId } ) {\n\tconst [ items, , , onSelectItem ] = useBlockTypesState(\n\t\trootClientId,\n\t\tonInsert\n\t);\n\n\tconst filteredItems = useMemo( () => {\n\t\treturn items.filter( ( { category } ) => category === 'reusable' );\n\t}, [ items ] );\n\n\tif ( filteredItems.length === 0 ) {\n\t\treturn <InserterNoResults />;\n\t}\n\n\treturn (\n\t\t<InserterPanel title={ __( 'Synced patterns' ) }>\n\t\t\t<BlockTypesList\n\t\t\t\titems={ filteredItems }\n\t\t\t\tonSelect={ onSelectItem }\n\t\t\t\tonHover={ onHover }\n\t\t\t\tlabel={ __( 'Synced patterns' ) }\n\t\t\t/>\n\t\t</InserterPanel>\n\t);\n}\n\n// The unwrapped component is only exported for use by unit tests.\n/**\n * List of reusable blocks shown in the \"Reusable\" tab of the inserter.\n *\n * @param {Object} props Component props.\n * @param {?string} props.rootClientId Client id of block to insert into.\n * @param {Function} props.onInsert Callback to run when item is inserted.\n * @param {Function} props.onHover Callback to run when item is hovered.\n *\n * @return {WPComponent} The component.\n */\nexport function ReusableBlocksTab( { rootClientId, onInsert, onHover } ) {\n\treturn (\n\t\t<>\n\t\t\t<ReusableBlocksList\n\t\t\t\tonHover={ onHover }\n\t\t\t\tonInsert={ onInsert }\n\t\t\t\trootClientId={ rootClientId }\n\t\t\t/>\n\t\t\t<div className=\"block-editor-inserter__manage-reusable-blocks-container\">\n\t\t\t\t<Button\n\t\t\t\t\tclassName=\"block-editor-inserter__manage-reusable-blocks\"\n\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\thref={ addQueryArgs( 'edit.php', {\n\t\t\t\t\t\tpost_type: 'wp_block',\n\t\t\t\t\t} ) }\n\t\t\t\t>\n\t\t\t\t\t{ __( 'Manage my patterns' ) }\n\t\t\t\t</Button>\n\t\t\t</div>\n\t\t</>\n\t);\n}\n\nexport default ReusableBlocksTab;\n"]}
|
package/build/store/selectors.js
CHANGED
|
@@ -1967,7 +1967,6 @@ const buildBlockTypeItem = (state, {
|
|
|
1967
1967
|
*
|
|
1968
1968
|
* @param {Object} state Editor state.
|
|
1969
1969
|
* @param {?string} rootClientId Optional root client ID of block list.
|
|
1970
|
-
* @param {?string} syncStatus Optional sync status to filter pattern blocks by.
|
|
1971
1970
|
*
|
|
1972
1971
|
* @return {WPEditorInserterItem[]} Items that appear in inserter.
|
|
1973
1972
|
*
|
|
@@ -1985,10 +1984,7 @@ const buildBlockTypeItem = (state, {
|
|
|
1985
1984
|
*/
|
|
1986
1985
|
|
|
1987
1986
|
|
|
1988
|
-
const getInserterItems = (0, _rememo.default)((state, rootClientId = null
|
|
1989
|
-
const buildBlockTypeInserterItem = buildBlockTypeItem(state, {
|
|
1990
|
-
buildScope: 'inserter'
|
|
1991
|
-
});
|
|
1987
|
+
const getInserterItems = (0, _rememo.default)((state, rootClientId = null) => {
|
|
1992
1988
|
/*
|
|
1993
1989
|
* Matches block comment delimiters amid serialized content.
|
|
1994
1990
|
*
|
|
@@ -2002,7 +1998,6 @@ const getInserterItems = (0, _rememo.default)((state, rootClientId = null, syncS
|
|
|
2002
1998
|
* - prepended ^\s*
|
|
2003
1999
|
*
|
|
2004
2000
|
*/
|
|
2005
|
-
|
|
2006
2001
|
const blockParserTokenizer = /^\s*<!--\s+(\/)?wp:([a-z][a-z0-9_-]*\/)?([a-z][a-z0-9_-]*)\s+({(?:(?=([^}]+|}+(?=})|(?!}\s+\/?-->)[^])*)\5|[^]*?)}\s+)?(\/)?-->/;
|
|
2007
2002
|
|
|
2008
2003
|
const buildReusableBlockInserterItem = reusableBlock => {
|
|
@@ -2054,8 +2049,13 @@ const getInserterItems = (0, _rememo.default)((state, rootClientId = null, syncS
|
|
|
2054
2049
|
};
|
|
2055
2050
|
};
|
|
2056
2051
|
|
|
2052
|
+
const syncedPatternInserterItems = canInsertBlockTypeUnmemoized(state, 'core/block', rootClientId) ? getReusableBlocks(state).filter(reusableBlock => // Filter to either fully synced patterns (sync_status === 'fully'),
|
|
2053
|
+
// or old school reusable blocks (sync_status === '').
|
|
2054
|
+
reusableBlock.meta?.sync_status === 'fully' || reusableBlock.meta?.sync_status === '' || !reusableBlock.meta?.sync_status).map(buildReusableBlockInserterItem) : [];
|
|
2055
|
+
const buildBlockTypeInserterItem = buildBlockTypeItem(state, {
|
|
2056
|
+
buildScope: 'inserter'
|
|
2057
|
+
});
|
|
2057
2058
|
const blockTypeInserterItems = (0, _blocks.getBlockTypes)().filter(blockType => canIncludeBlockTypeInInserter(state, blockType, rootClientId)).map(buildBlockTypeInserterItem);
|
|
2058
|
-
const reusableBlockInserterItems = canInsertBlockTypeUnmemoized(state, 'core/block', rootClientId) ? getReusableBlocks(state).filter(reusableBlock => syncStatus === reusableBlock.meta?.sync_status || !syncStatus && reusableBlock.meta?.sync_status === '').map(buildReusableBlockInserterItem) : [];
|
|
2059
2059
|
const items = blockTypeInserterItems.reduce((accumulator, item) => {
|
|
2060
2060
|
const {
|
|
2061
2061
|
variations = []
|
|
@@ -2097,7 +2097,7 @@ const getInserterItems = (0, _rememo.default)((state, rootClientId = null, syncS
|
|
|
2097
2097
|
noncore: []
|
|
2098
2098
|
});
|
|
2099
2099
|
const sortedBlockTypes = [...coreItems, ...nonCoreItems];
|
|
2100
|
-
return [...sortedBlockTypes, ...
|
|
2100
|
+
return [...sortedBlockTypes, ...syncedPatternInserterItems];
|
|
2101
2101
|
}, (state, rootClientId) => [state.blockListSettings[rootClientId], state.blocks.byClientId, state.blocks.order, state.preferences.insertUsage, state.settings.allowedBlockTypes, state.settings.templateLock, getReusableBlocks(state), (0, _blocks.getBlockTypes)()]);
|
|
2102
2102
|
/**
|
|
2103
2103
|
* Determines the items that appear in the available block transforms list.
|
|
@@ -2251,9 +2251,24 @@ const checkAllowListRecursive = (blocks, allowedBlockTypes) => {
|
|
|
2251
2251
|
return true;
|
|
2252
2252
|
};
|
|
2253
2253
|
|
|
2254
|
+
function getUnsyncedPatterns(state) {
|
|
2255
|
+
var _state$settings$__exp;
|
|
2256
|
+
|
|
2257
|
+
const reusableBlocks = (_state$settings$__exp = state?.settings?.__experimentalReusableBlocks) !== null && _state$settings$__exp !== void 0 ? _state$settings$__exp : EMPTY_ARRAY;
|
|
2258
|
+
return reusableBlocks.filter(reusableBlock => reusableBlock.meta?.sync_status === 'unsynced').map(reusableBlock => {
|
|
2259
|
+
return {
|
|
2260
|
+
name: `core/block/${reusableBlock.id}`,
|
|
2261
|
+
title: reusableBlock.title.raw,
|
|
2262
|
+
categories: ['custom'],
|
|
2263
|
+
content: reusableBlock.content.raw
|
|
2264
|
+
};
|
|
2265
|
+
});
|
|
2266
|
+
}
|
|
2267
|
+
|
|
2254
2268
|
const __experimentalGetParsedPattern = (0, _rememo.default)((state, patternName) => {
|
|
2255
2269
|
const patterns = state.settings.__experimentalBlockPatterns;
|
|
2256
|
-
const
|
|
2270
|
+
const unsyncedPatterns = getUnsyncedPatterns(state);
|
|
2271
|
+
const pattern = [...patterns, ...unsyncedPatterns].find(({
|
|
2257
2272
|
name
|
|
2258
2273
|
}) => name === patternName);
|
|
2259
2274
|
|
|
@@ -2266,15 +2281,16 @@ const __experimentalGetParsedPattern = (0, _rememo.default)((state, patternName)
|
|
|
2266
2281
|
__unstableSkipMigrationLogs: true
|
|
2267
2282
|
})
|
|
2268
2283
|
};
|
|
2269
|
-
}, state => [state.settings.__experimentalBlockPatterns]);
|
|
2284
|
+
}, state => [state.settings.__experimentalBlockPatterns, state.settings.__experimentalReusableBlocks]);
|
|
2270
2285
|
|
|
2271
2286
|
exports.__experimentalGetParsedPattern = __experimentalGetParsedPattern;
|
|
2272
2287
|
const getAllAllowedPatterns = (0, _rememo.default)(state => {
|
|
2273
2288
|
const patterns = state.settings.__experimentalBlockPatterns;
|
|
2289
|
+
const unsyncedPatterns = getUnsyncedPatterns(state);
|
|
2274
2290
|
const {
|
|
2275
2291
|
allowedBlockTypes
|
|
2276
2292
|
} = getSettings(state);
|
|
2277
|
-
const parsedPatterns = patterns.filter(({
|
|
2293
|
+
const parsedPatterns = [...patterns, ...unsyncedPatterns].filter(({
|
|
2278
2294
|
inserter = true
|
|
2279
2295
|
}) => !!inserter).map(({
|
|
2280
2296
|
name
|
|
@@ -2283,7 +2299,7 @@ const getAllAllowedPatterns = (0, _rememo.default)(state => {
|
|
|
2283
2299
|
blocks
|
|
2284
2300
|
}) => checkAllowListRecursive(blocks, allowedBlockTypes));
|
|
2285
2301
|
return allowedPatterns;
|
|
2286
|
-
}, state => [state.settings.__experimentalBlockPatterns, state.settings.allowedBlockTypes]);
|
|
2302
|
+
}, state => [state.settings.__experimentalBlockPatterns, state.settings.__experimentalReusableBlocks, state.settings.allowedBlockTypes]);
|
|
2287
2303
|
/**
|
|
2288
2304
|
* Returns the list of allowed patterns for inner blocks children.
|
|
2289
2305
|
*
|
|
@@ -2301,7 +2317,7 @@ const __experimentalGetAllowedPatterns = (0, _rememo.default)((state, rootClient
|
|
|
2301
2317
|
name
|
|
2302
2318
|
}) => canInsertBlockType(state, name, rootClientId)));
|
|
2303
2319
|
return patternsAllowed;
|
|
2304
|
-
}, (state, rootClientId) => [state.settings.__experimentalBlockPatterns, state.settings.allowedBlockTypes, state.settings.templateLock, state.blockListSettings[rootClientId], state.blocks.byClientId.get(rootClientId)]);
|
|
2320
|
+
}, (state, rootClientId) => [state.settings.__experimentalBlockPatterns, state.settings.__experimentalReusableBlocks, state.settings.allowedBlockTypes, state.settings.templateLock, state.blockListSettings[rootClientId], state.blocks.byClientId.get(rootClientId)]);
|
|
2305
2321
|
/**
|
|
2306
2322
|
* Returns the list of patterns based on their declared `blockTypes`
|
|
2307
2323
|
* and a block's name.
|
|
@@ -2547,9 +2563,9 @@ function __experimentalGetLastBlockAttributeChanges(state) {
|
|
|
2547
2563
|
|
|
2548
2564
|
|
|
2549
2565
|
function getReusableBlocks(state) {
|
|
2550
|
-
var _state$settings$
|
|
2566
|
+
var _state$settings$__exp2;
|
|
2551
2567
|
|
|
2552
|
-
return (_state$settings$
|
|
2568
|
+
return (_state$settings$__exp2 = state?.settings?.__experimentalReusableBlocks) !== null && _state$settings$__exp2 !== void 0 ? _state$settings$__exp2 : EMPTY_ARRAY;
|
|
2553
2569
|
}
|
|
2554
2570
|
/**
|
|
2555
2571
|
* Returns whether the navigation mode is enabled.
|