@wordpress/block-editor 11.3.7 → 11.3.9

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.
@@ -42,6 +42,7 @@ function BlockInvalidWarning(_ref) {
42
42
  block
43
43
  } = _ref;
44
44
  const hasHTMLBlock = !!(0, _blocks.getBlockType)('core/html');
45
+ const hasClassicBlock = !!(0, _blocks.getBlockType)('core/freeform');
45
46
  const [compare, setCompare] = (0, _element.useState)(false);
46
47
  const onCompare = (0, _element.useCallback)(() => setCompare(true), []);
47
48
  const onCompareClose = (0, _element.useCallback)(() => setCompare(false), []); // We memo the array here to prevent the children components from being updated unexpectedly.
@@ -53,10 +54,10 @@ function BlockInvalidWarning(_ref) {
53
54
  }, hasHTMLBlock && {
54
55
  title: (0, _i18n.__)('Convert to HTML'),
55
56
  onClick: convertToHTML
56
- }, {
57
+ }, hasClassicBlock && {
57
58
  title: (0, _i18n.__)('Convert to Classic Block'),
58
59
  onClick: convertToClassic
59
- }].filter(Boolean), [onCompare, convertToHTML, convertToClassic]);
60
+ }].filter(Boolean), [onCompare, hasHTMLBlock, convertToHTML, hasClassicBlock, convertToClassic]);
60
61
  return (0, _element.createElement)(_element.Fragment, null, (0, _element.createElement)(_warning.default, {
61
62
  actions: [(0, _element.createElement)(_components.Button, {
62
63
  key: "recover",
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-editor/src/components/block-list/block-invalid-warning.js"],"names":["BlockInvalidWarning","convertToHTML","convertToBlocks","convertToClassic","attemptBlockRecovery","block","hasHTMLBlock","compare","setCompare","onCompare","onCompareClose","hiddenActions","title","onClick","filter","Boolean","blockToBlocks","blockToClassic","content","originalContent","blockToHTML","HTML","recoverBlock","name","attributes","innerBlocks","select","clientId","blockEditorStore","getBlock","dispatch","replaceBlock"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, _x } from '@wordpress/i18n';\nimport { Button, Modal } from '@wordpress/components';\nimport { useState, useCallback, useMemo } from '@wordpress/element';\nimport { getBlockType, createBlock, rawHandler } from '@wordpress/blocks';\nimport { compose } from '@wordpress/compose';\nimport { withDispatch, withSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport Warning from '../warning';\nimport BlockCompare from '../block-compare';\nimport { store as blockEditorStore } from '../../store';\n\nexport function BlockInvalidWarning( {\n\tconvertToHTML,\n\tconvertToBlocks,\n\tconvertToClassic,\n\tattemptBlockRecovery,\n\tblock,\n} ) {\n\tconst hasHTMLBlock = !! getBlockType( 'core/html' );\n\tconst [ compare, setCompare ] = useState( false );\n\n\tconst onCompare = useCallback( () => setCompare( true ), [] );\n\tconst onCompareClose = useCallback( () => setCompare( false ), [] );\n\n\t// We memo the array here to prevent the children components from being updated unexpectedly.\n\tconst hiddenActions = useMemo(\n\t\t() =>\n\t\t\t[\n\t\t\t\t{\n\t\t\t\t\t// translators: Button to fix block content\n\t\t\t\t\ttitle: _x( 'Resolve', 'imperative verb' ),\n\t\t\t\t\tonClick: onCompare,\n\t\t\t\t},\n\t\t\t\thasHTMLBlock && {\n\t\t\t\t\ttitle: __( 'Convert to HTML' ),\n\t\t\t\t\tonClick: convertToHTML,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\ttitle: __( 'Convert to Classic Block' ),\n\t\t\t\t\tonClick: convertToClassic,\n\t\t\t\t},\n\t\t\t].filter( Boolean ),\n\t\t[ onCompare, convertToHTML, convertToClassic ]\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t<Warning\n\t\t\t\tactions={ [\n\t\t\t\t\t<Button\n\t\t\t\t\t\tkey=\"recover\"\n\t\t\t\t\t\tonClick={ attemptBlockRecovery }\n\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Attempt Block Recovery' ) }\n\t\t\t\t\t</Button>,\n\t\t\t\t] }\n\t\t\t\tsecondaryActions={ hiddenActions }\n\t\t\t>\n\t\t\t\t{ __( 'This block contains unexpected or invalid content.' ) }\n\t\t\t</Warning>\n\t\t\t{ compare && (\n\t\t\t\t<Modal\n\t\t\t\t\ttitle={\n\t\t\t\t\t\t// translators: Dialog title to fix block content\n\t\t\t\t\t\t__( 'Resolve Block' )\n\t\t\t\t\t}\n\t\t\t\t\tonRequestClose={ onCompareClose }\n\t\t\t\t\tclassName=\"block-editor-block-compare\"\n\t\t\t\t>\n\t\t\t\t\t<BlockCompare\n\t\t\t\t\t\tblock={ block }\n\t\t\t\t\t\tonKeep={ convertToHTML }\n\t\t\t\t\t\tonConvert={ convertToBlocks }\n\t\t\t\t\t\tconvertor={ blockToBlocks }\n\t\t\t\t\t\tconvertButtonText={ __( 'Convert to Blocks' ) }\n\t\t\t\t\t/>\n\t\t\t\t</Modal>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nconst blockToClassic = ( block ) =>\n\tcreateBlock( 'core/freeform', {\n\t\tcontent: block.originalContent,\n\t} );\nconst blockToHTML = ( block ) =>\n\tcreateBlock( 'core/html', {\n\t\tcontent: block.originalContent,\n\t} );\nconst blockToBlocks = ( block ) =>\n\trawHandler( {\n\t\tHTML: block.originalContent,\n\t} );\nconst recoverBlock = ( { name, attributes, innerBlocks } ) =>\n\tcreateBlock( name, attributes, innerBlocks );\n\nexport default compose( [\n\twithSelect( ( select, { clientId } ) => ( {\n\t\tblock: select( blockEditorStore ).getBlock( clientId ),\n\t} ) ),\n\twithDispatch( ( dispatch, { block } ) => {\n\t\tconst { replaceBlock } = dispatch( blockEditorStore );\n\n\t\treturn {\n\t\t\tconvertToClassic() {\n\t\t\t\treplaceBlock( block.clientId, blockToClassic( block ) );\n\t\t\t},\n\t\t\tconvertToHTML() {\n\t\t\t\treplaceBlock( block.clientId, blockToHTML( block ) );\n\t\t\t},\n\t\t\tconvertToBlocks() {\n\t\t\t\treplaceBlock( block.clientId, blockToBlocks( block ) );\n\t\t\t},\n\t\t\tattemptBlockRecovery() {\n\t\t\t\treplaceBlock( block.clientId, recoverBlock( block ) );\n\t\t\t},\n\t\t};\n\t} ),\n] )( BlockInvalidWarning );\n"]}
1
+ {"version":3,"sources":["@wordpress/block-editor/src/components/block-list/block-invalid-warning.js"],"names":["BlockInvalidWarning","convertToHTML","convertToBlocks","convertToClassic","attemptBlockRecovery","block","hasHTMLBlock","hasClassicBlock","compare","setCompare","onCompare","onCompareClose","hiddenActions","title","onClick","filter","Boolean","blockToBlocks","blockToClassic","content","originalContent","blockToHTML","HTML","recoverBlock","name","attributes","innerBlocks","select","clientId","blockEditorStore","getBlock","dispatch","replaceBlock"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, _x } from '@wordpress/i18n';\nimport { Button, Modal } from '@wordpress/components';\nimport { useState, useCallback, useMemo } from '@wordpress/element';\nimport { getBlockType, createBlock, rawHandler } from '@wordpress/blocks';\nimport { compose } from '@wordpress/compose';\nimport { withDispatch, withSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport Warning from '../warning';\nimport BlockCompare from '../block-compare';\nimport { store as blockEditorStore } from '../../store';\n\nexport function BlockInvalidWarning( {\n\tconvertToHTML,\n\tconvertToBlocks,\n\tconvertToClassic,\n\tattemptBlockRecovery,\n\tblock,\n} ) {\n\tconst hasHTMLBlock = !! getBlockType( 'core/html' );\n\tconst hasClassicBlock = !! getBlockType( 'core/freeform' );\n\tconst [ compare, setCompare ] = useState( false );\n\n\tconst onCompare = useCallback( () => setCompare( true ), [] );\n\tconst onCompareClose = useCallback( () => setCompare( false ), [] );\n\n\t// We memo the array here to prevent the children components from being updated unexpectedly.\n\tconst hiddenActions = useMemo(\n\t\t() =>\n\t\t\t[\n\t\t\t\t{\n\t\t\t\t\t// translators: Button to fix block content\n\t\t\t\t\ttitle: _x( 'Resolve', 'imperative verb' ),\n\t\t\t\t\tonClick: onCompare,\n\t\t\t\t},\n\t\t\t\thasHTMLBlock && {\n\t\t\t\t\ttitle: __( 'Convert to HTML' ),\n\t\t\t\t\tonClick: convertToHTML,\n\t\t\t\t},\n\t\t\t\thasClassicBlock && {\n\t\t\t\t\ttitle: __( 'Convert to Classic Block' ),\n\t\t\t\t\tonClick: convertToClassic,\n\t\t\t\t},\n\t\t\t].filter( Boolean ),\n\t\t[\n\t\t\tonCompare,\n\t\t\thasHTMLBlock,\n\t\t\tconvertToHTML,\n\t\t\thasClassicBlock,\n\t\t\tconvertToClassic,\n\t\t]\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t<Warning\n\t\t\t\tactions={ [\n\t\t\t\t\t<Button\n\t\t\t\t\t\tkey=\"recover\"\n\t\t\t\t\t\tonClick={ attemptBlockRecovery }\n\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Attempt Block Recovery' ) }\n\t\t\t\t\t</Button>,\n\t\t\t\t] }\n\t\t\t\tsecondaryActions={ hiddenActions }\n\t\t\t>\n\t\t\t\t{ __( 'This block contains unexpected or invalid content.' ) }\n\t\t\t</Warning>\n\t\t\t{ compare && (\n\t\t\t\t<Modal\n\t\t\t\t\ttitle={\n\t\t\t\t\t\t// translators: Dialog title to fix block content\n\t\t\t\t\t\t__( 'Resolve Block' )\n\t\t\t\t\t}\n\t\t\t\t\tonRequestClose={ onCompareClose }\n\t\t\t\t\tclassName=\"block-editor-block-compare\"\n\t\t\t\t>\n\t\t\t\t\t<BlockCompare\n\t\t\t\t\t\tblock={ block }\n\t\t\t\t\t\tonKeep={ convertToHTML }\n\t\t\t\t\t\tonConvert={ convertToBlocks }\n\t\t\t\t\t\tconvertor={ blockToBlocks }\n\t\t\t\t\t\tconvertButtonText={ __( 'Convert to Blocks' ) }\n\t\t\t\t\t/>\n\t\t\t\t</Modal>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nconst blockToClassic = ( block ) =>\n\tcreateBlock( 'core/freeform', {\n\t\tcontent: block.originalContent,\n\t} );\nconst blockToHTML = ( block ) =>\n\tcreateBlock( 'core/html', {\n\t\tcontent: block.originalContent,\n\t} );\nconst blockToBlocks = ( block ) =>\n\trawHandler( {\n\t\tHTML: block.originalContent,\n\t} );\nconst recoverBlock = ( { name, attributes, innerBlocks } ) =>\n\tcreateBlock( name, attributes, innerBlocks );\n\nexport default compose( [\n\twithSelect( ( select, { clientId } ) => ( {\n\t\tblock: select( blockEditorStore ).getBlock( clientId ),\n\t} ) ),\n\twithDispatch( ( dispatch, { block } ) => {\n\t\tconst { replaceBlock } = dispatch( blockEditorStore );\n\n\t\treturn {\n\t\t\tconvertToClassic() {\n\t\t\t\treplaceBlock( block.clientId, blockToClassic( block ) );\n\t\t\t},\n\t\t\tconvertToHTML() {\n\t\t\t\treplaceBlock( block.clientId, blockToHTML( block ) );\n\t\t\t},\n\t\t\tconvertToBlocks() {\n\t\t\t\treplaceBlock( block.clientId, blockToBlocks( block ) );\n\t\t\t},\n\t\t\tattemptBlockRecovery() {\n\t\t\t\treplaceBlock( block.clientId, recoverBlock( block ) );\n\t\t\t},\n\t\t};\n\t} ),\n] )( BlockInvalidWarning );\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-editor/src/components/off-canvas-editor/appender.js"],"names":["prioritizedInserterBlocks","Appender","ref","nestingLevel","blockCount","props","insertedBlock","setInsertedBlock","instanceId","hideInserter","clientId","select","getTemplateLock","__unstableGetEditorMode","getSelectedBlockClientId","blockEditorStore","_clientId","blockTitle","context","insertedBlockTitle","length","orderInitialBlockItems","items","sort","id","aName","bName","aIndex","indexOf","bIndex","PrivateInserter","blockEditorPrivateApis","descriptionId","description","maybeInsertedBlock"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useInstanceId } from '@wordpress/compose';\nimport { speak } from '@wordpress/a11y';\nimport { useSelect } from '@wordpress/data';\nimport {\n\tforwardRef,\n\tuseState,\n\tuseEffect,\n\tuseCallback,\n} from '@wordpress/element';\nimport { __, sprintf } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../../store';\nimport useBlockDisplayTitle from '../block-title/use-block-display-title';\n\nimport { unlock } from '../../lock-unlock';\nimport { privateApis as blockEditorPrivateApis } from '../../private-apis';\n\nconst prioritizedInserterBlocks = [\n\t'core/navigation-link/page',\n\t'core/navigation-link',\n];\n\nexport const Appender = forwardRef(\n\t( { nestingLevel, blockCount, ...props }, ref ) => {\n\t\tconst [ insertedBlock, setInsertedBlock ] = useState( null );\n\n\t\tconst instanceId = useInstanceId( Appender );\n\t\tconst { hideInserter, clientId } = useSelect( ( select ) => {\n\t\t\tconst {\n\t\t\t\tgetTemplateLock,\n\t\t\t\t__unstableGetEditorMode,\n\t\t\t\tgetSelectedBlockClientId,\n\t\t\t} = select( blockEditorStore );\n\n\t\t\tconst _clientId = getSelectedBlockClientId();\n\n\t\t\treturn {\n\t\t\t\tclientId: getSelectedBlockClientId(),\n\t\t\t\thideInserter:\n\t\t\t\t\t!! getTemplateLock( _clientId ) ||\n\t\t\t\t\t__unstableGetEditorMode() === 'zoom-out',\n\t\t\t};\n\t\t}, [] );\n\n\t\tconst blockTitle = useBlockDisplayTitle( {\n\t\t\tclientId,\n\t\t\tcontext: 'list-view',\n\t\t} );\n\n\t\tconst insertedBlockTitle = useBlockDisplayTitle( {\n\t\t\tclientId: insertedBlock?.clientId,\n\t\t\tcontext: 'list-view',\n\t\t} );\n\n\t\tuseEffect( () => {\n\t\t\tif ( ! insertedBlockTitle?.length ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tspeak(\n\t\t\t\tsprintf(\n\t\t\t\t\t// translators: %s: name of block being inserted (i.e. Paragraph, Image, Group etc)\n\t\t\t\t\t__( '%s block inserted' ),\n\t\t\t\t\tinsertedBlockTitle\n\t\t\t\t),\n\t\t\t\t'assertive'\n\t\t\t);\n\t\t}, [ insertedBlockTitle ] );\n\n\t\tconst orderInitialBlockItems = useCallback( ( items ) => {\n\t\t\titems.sort( ( { id: aName }, { id: bName } ) => {\n\t\t\t\t// Sort block items according to `prioritizedInserterBlocks`.\n\t\t\t\tlet aIndex = prioritizedInserterBlocks.indexOf( aName );\n\t\t\t\tlet bIndex = prioritizedInserterBlocks.indexOf( bName );\n\t\t\t\t// All other block items should come after that.\n\t\t\t\tif ( aIndex < 0 ) aIndex = prioritizedInserterBlocks.length;\n\t\t\t\tif ( bIndex < 0 ) bIndex = prioritizedInserterBlocks.length;\n\t\t\t\treturn aIndex - bIndex;\n\t\t\t} );\n\t\t\treturn items;\n\t\t}, [] );\n\n\t\tif ( hideInserter ) {\n\t\t\treturn null;\n\t\t}\n\t\tconst { PrivateInserter } = unlock( blockEditorPrivateApis );\n\t\tconst descriptionId = `off-canvas-editor-appender__${ instanceId }`;\n\t\tconst description = sprintf(\n\t\t\t/* translators: 1: The name of the block. 2: The numerical position of the block. 3: The level of nesting for the block. */\n\t\t\t__( 'Append to %1$s block at position %2$d, Level %3$d' ),\n\t\t\tblockTitle,\n\t\t\tblockCount + 1,\n\t\t\tnestingLevel\n\t\t);\n\n\t\treturn (\n\t\t\t<div className=\"offcanvas-editor-appender\">\n\t\t\t\t<PrivateInserter\n\t\t\t\t\tref={ ref }\n\t\t\t\t\trootClientId={ clientId }\n\t\t\t\t\tposition=\"bottom right\"\n\t\t\t\t\tisAppender={ true }\n\t\t\t\t\tselectBlockOnInsert={ false }\n\t\t\t\t\tshouldDirectInsert={ false }\n\t\t\t\t\t__experimentalIsQuick\n\t\t\t\t\t{ ...props }\n\t\t\t\t\ttoggleProps={ { 'aria-describedby': descriptionId } }\n\t\t\t\t\tonSelectOrClose={ ( maybeInsertedBlock ) => {\n\t\t\t\t\t\tif ( maybeInsertedBlock?.clientId ) {\n\t\t\t\t\t\t\tsetInsertedBlock( maybeInsertedBlock );\n\t\t\t\t\t\t}\n\t\t\t\t\t} }\n\t\t\t\t\torderInitialBlockItems={ orderInitialBlockItems }\n\t\t\t\t/>\n\t\t\t\t<div\n\t\t\t\t\tclassName=\"offcanvas-editor-appender__description\"\n\t\t\t\t\tid={ descriptionId }\n\t\t\t\t>\n\t\t\t\t\t{ description }\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t}\n);\n"]}
1
+ {"version":3,"sources":["@wordpress/block-editor/src/components/off-canvas-editor/appender.js"],"names":["prioritizedInserterBlocks","Appender","ref","nestingLevel","blockCount","props","insertedBlock","setInsertedBlock","instanceId","hideInserter","clientId","select","getTemplateLock","__unstableGetEditorMode","getSelectedBlockClientId","blockEditorStore","_clientId","blockTitle","context","insertedBlockTitle","length","orderInitialBlockItems","items","sort","id","aName","bName","aIndex","indexOf","bIndex","PrivateInserter","blockEditorPrivateApis","descriptionId","description","maybeInsertedBlock"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useInstanceId } from '@wordpress/compose';\nimport { speak } from '@wordpress/a11y';\nimport { useSelect } from '@wordpress/data';\nimport {\n\tforwardRef,\n\tuseState,\n\tuseEffect,\n\tuseCallback,\n} from '@wordpress/element';\nimport { __, sprintf } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../../store';\nimport useBlockDisplayTitle from '../block-title/use-block-display-title';\n\nimport { unlock } from '../../lock-unlock';\nimport { privateApis as blockEditorPrivateApis } from '../../private-apis';\n\nconst prioritizedInserterBlocks = [\n\t'core/navigation-link/page',\n\t'core/navigation-link',\n];\n\nexport const Appender = forwardRef(\n\t( { nestingLevel, blockCount, ...props }, ref ) => {\n\t\tconst [ insertedBlock, setInsertedBlock ] = useState( null );\n\n\t\tconst instanceId = useInstanceId( Appender );\n\t\tconst { hideInserter, clientId } = useSelect( ( select ) => {\n\t\t\tconst {\n\t\t\t\tgetTemplateLock,\n\t\t\t\t__unstableGetEditorMode,\n\t\t\t\tgetSelectedBlockClientId,\n\t\t\t} = select( blockEditorStore );\n\n\t\t\tconst _clientId = getSelectedBlockClientId();\n\n\t\t\treturn {\n\t\t\t\tclientId: getSelectedBlockClientId(),\n\t\t\t\thideInserter:\n\t\t\t\t\t!! getTemplateLock( _clientId ) ||\n\t\t\t\t\t__unstableGetEditorMode() === 'zoom-out',\n\t\t\t};\n\t\t}, [] );\n\n\t\tconst blockTitle = useBlockDisplayTitle( {\n\t\t\tclientId,\n\t\t\tcontext: 'list-view',\n\t\t} );\n\n\t\tconst insertedBlockTitle = useBlockDisplayTitle( {\n\t\t\tclientId: insertedBlock?.clientId,\n\t\t\tcontext: 'list-view',\n\t\t} );\n\n\t\tuseEffect( () => {\n\t\t\tif ( ! insertedBlockTitle?.length ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tspeak(\n\t\t\t\tsprintf(\n\t\t\t\t\t// translators: %s: name of block being inserted (i.e. Paragraph, Image, Group etc)\n\t\t\t\t\t__( '%s block inserted' ),\n\t\t\t\t\tinsertedBlockTitle\n\t\t\t\t),\n\t\t\t\t'assertive'\n\t\t\t);\n\t\t}, [ insertedBlockTitle ] );\n\n\t\tconst orderInitialBlockItems = useCallback( ( items ) => {\n\t\t\titems.sort( ( { id: aName }, { id: bName } ) => {\n\t\t\t\t// Sort block items according to `prioritizedInserterBlocks`.\n\t\t\t\tlet aIndex = prioritizedInserterBlocks.indexOf( aName );\n\t\t\t\tlet bIndex = prioritizedInserterBlocks.indexOf( bName );\n\t\t\t\t// All other block items should come after that.\n\t\t\t\tif ( aIndex < 0 ) aIndex = prioritizedInserterBlocks.length;\n\t\t\t\tif ( bIndex < 0 ) bIndex = prioritizedInserterBlocks.length;\n\t\t\t\treturn aIndex - bIndex;\n\t\t\t} );\n\t\t\treturn items;\n\t\t}, [] );\n\n\t\tif ( hideInserter ) {\n\t\t\treturn null;\n\t\t}\n\t\tconst { PrivateInserter } = unlock( blockEditorPrivateApis );\n\t\tconst descriptionId = `off-canvas-editor-appender__${ instanceId }`;\n\t\tconst description = sprintf(\n\t\t\t/* translators: 1: The name of the block. 2: The numerical position of the block. 3: The level of nesting for the block. */\n\t\t\t__( 'Append to %1$s block at position %2$d, Level %3$d' ),\n\t\t\tblockTitle,\n\t\t\tblockCount + 1,\n\t\t\tnestingLevel\n\t\t);\n\n\t\treturn (\n\t\t\t<div className=\"offcanvas-editor-appender\">\n\t\t\t\t<PrivateInserter\n\t\t\t\t\tref={ ref }\n\t\t\t\t\trootClientId={ clientId }\n\t\t\t\t\tposition=\"bottom right\"\n\t\t\t\t\tisAppender\n\t\t\t\t\tselectBlockOnInsert={ false }\n\t\t\t\t\tshouldDirectInsert={ false }\n\t\t\t\t\t__experimentalIsQuick\n\t\t\t\t\t{ ...props }\n\t\t\t\t\ttoggleProps={ { 'aria-describedby': descriptionId } }\n\t\t\t\t\tonSelectOrClose={ ( maybeInsertedBlock ) => {\n\t\t\t\t\t\tif ( maybeInsertedBlock?.clientId ) {\n\t\t\t\t\t\t\tsetInsertedBlock( maybeInsertedBlock );\n\t\t\t\t\t\t}\n\t\t\t\t\t} }\n\t\t\t\t\torderInitialBlockItems={ orderInitialBlockItems }\n\t\t\t\t/>\n\t\t\t\t<div\n\t\t\t\t\tclassName=\"offcanvas-editor-appender__description\"\n\t\t\t\t\tid={ descriptionId }\n\t\t\t\t>\n\t\t\t\t\t{ description }\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t}\n);\n"]}
@@ -58,6 +58,7 @@ const BLOCK_LIST_ITEM_HEIGHT = 36;
58
58
  *
59
59
  * @param {Object} props Components props.
60
60
  * @param {string} props.id An HTML element id for the root element of ListView.
61
+ * @param {string} props.parentClientId The client id of the parent block.
61
62
  * @param {Array} props.blocks Custom subset of block client IDs to be used instead of the default hierarchy.
62
63
  * @param {boolean} props.showBlockMovers Flag to enable block movers
63
64
  * @param {boolean} props.isExpanded Flag to determine whether nested levels are expanded by default.
@@ -73,6 +74,7 @@ exports.BLOCK_LIST_ITEM_HEIGHT = BLOCK_LIST_ITEM_HEIGHT;
73
74
  function OffCanvasEditor(_ref, ref) {
74
75
  let {
75
76
  id,
77
+ parentClientId,
76
78
  blocks,
77
79
  showBlockMovers = false,
78
80
  isExpanded = false,
@@ -204,6 +206,7 @@ function OffCanvasEditor(_ref, ref) {
204
206
  }, (0, _element.createElement)(_context.ListViewContext.Provider, {
205
207
  value: contextValue
206
208
  }, (0, _element.createElement)(_branch.default, {
209
+ parentId: parentClientId,
207
210
  blocks: clientIdsTree,
208
211
  selectBlock: selectEditorBlock,
209
212
  showBlockMovers: showBlockMovers,
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-editor/src/components/off-canvas-editor/index.js"],"names":["expanded","state","action","Array","isArray","clientIds","reduce","newState","id","type","BLOCK_LIST_ITEM_HEIGHT","OffCanvasEditor","ref","blocks","showBlockMovers","isExpanded","showAppender","LeafMoreMenu","description","onSelect","getBlock","blockEditorStore","clientIdsTree","draggedClientIds","selectedClientIds","visibleBlockCount","shouldShowInnerBlocks","select","getGlobalBlockCount","getClientIdsOfDescendants","__unstableGetEditorMode","draggedBlockCount","length","updateBlockSelection","expandedState","setExpandedState","dropZoneRef","target","blockDropTarget","elementRef","treeGridRef","isMounted","setSelectedTreeId","firstSelectedBlockClientId","selectEditorBlock","event","blockClientId","current","fixedListWindow","useWindowing","windowOverscan","expand","collapse","expandRow","row","dataset","block","collapseRow","focusRow","startRow","endRow","shiftKey","contextValue","isTreeGridMounted"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tuseMergeRefs,\n\t__experimentalUseFixedWindowList as useFixedWindowList,\n} from '@wordpress/compose';\nimport {\n\t__experimentalTreeGrid as TreeGrid,\n\t__experimentalTreeGridRow as TreeGridRow,\n\t__experimentalTreeGridCell as TreeGridCell,\n} from '@wordpress/components';\nimport { AsyncModeProvider, useSelect } from '@wordpress/data';\nimport {\n\tuseCallback,\n\tuseEffect,\n\tuseMemo,\n\tuseRef,\n\tuseReducer,\n\tforwardRef,\n} from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport ListViewBranch from './branch';\nimport { ListViewContext } from './context';\nimport ListViewDropIndicator from './drop-indicator';\nimport useBlockSelection from './use-block-selection';\nimport useListViewClientIds from './use-list-view-client-ids';\nimport useListViewDropZone from './use-list-view-drop-zone';\nimport useListViewExpandSelectedItem from './use-list-view-expand-selected-item';\nimport { store as blockEditorStore } from '../../store';\n\nconst expanded = ( state, action ) => {\n\tif ( Array.isArray( action.clientIds ) ) {\n\t\treturn {\n\t\t\t...state,\n\t\t\t...action.clientIds.reduce(\n\t\t\t\t( newState, id ) => ( {\n\t\t\t\t\t...newState,\n\t\t\t\t\t[ id ]: action.type === 'expand',\n\t\t\t\t} ),\n\t\t\t\t{}\n\t\t\t),\n\t\t};\n\t}\n\treturn state;\n};\n\nexport const BLOCK_LIST_ITEM_HEIGHT = 36;\n\n/**\n * Show a hierarchical list of blocks.\n *\n * @param {Object} props Components props.\n * @param {string} props.id An HTML element id for the root element of ListView.\n * @param {Array} props.blocks Custom subset of block client IDs to be used instead of the default hierarchy.\n * @param {boolean} props.showBlockMovers Flag to enable block movers\n * @param {boolean} props.isExpanded Flag to determine whether nested levels are expanded by default.\n * @param {Object} props.LeafMoreMenu Optional more menu substitution.\n * @param {string} props.description Optional accessible description for the tree grid component.\n * @param {string} props.onSelect Optional callback to be invoked when a block is selected.\n * @param {string} props.showAppender Flag to show or hide the block appender.\n * @param {Object} ref Forwarded ref\n */\nfunction OffCanvasEditor(\n\t{\n\t\tid,\n\t\tblocks,\n\t\tshowBlockMovers = false,\n\t\tisExpanded = false,\n\t\tshowAppender = true,\n\t\tLeafMoreMenu,\n\t\tdescription = __( 'Block navigation structure' ),\n\t\tonSelect,\n\t},\n\tref\n) {\n\tconst { getBlock } = useSelect( blockEditorStore );\n\tconst { clientIdsTree, draggedClientIds, selectedClientIds } =\n\t\tuseListViewClientIds( blocks );\n\n\tconst { visibleBlockCount, shouldShowInnerBlocks } = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetGlobalBlockCount,\n\t\t\t\tgetClientIdsOfDescendants,\n\t\t\t\t__unstableGetEditorMode,\n\t\t\t} = select( blockEditorStore );\n\t\t\tconst draggedBlockCount =\n\t\t\t\tdraggedClientIds?.length > 0\n\t\t\t\t\t? getClientIdsOfDescendants( draggedClientIds ).length + 1\n\t\t\t\t\t: 0;\n\t\t\treturn {\n\t\t\t\tvisibleBlockCount: getGlobalBlockCount() - draggedBlockCount,\n\t\t\t\tshouldShowInnerBlocks: __unstableGetEditorMode() !== 'zoom-out',\n\t\t\t};\n\t\t},\n\t\t[ draggedClientIds ]\n\t);\n\n\tconst { updateBlockSelection } = useBlockSelection();\n\n\tconst [ expandedState, setExpandedState ] = useReducer( expanded, {} );\n\n\tconst { ref: dropZoneRef, target: blockDropTarget } = useListViewDropZone();\n\tconst elementRef = useRef();\n\tconst treeGridRef = useMergeRefs( [ elementRef, dropZoneRef, ref ] );\n\n\tconst isMounted = useRef( false );\n\tconst { setSelectedTreeId } = useListViewExpandSelectedItem( {\n\t\tfirstSelectedBlockClientId: selectedClientIds[ 0 ],\n\t\tsetExpandedState,\n\t} );\n\tconst selectEditorBlock = useCallback(\n\t\t( event, blockClientId ) => {\n\t\t\tupdateBlockSelection( event, blockClientId );\n\t\t\tsetSelectedTreeId( blockClientId );\n\t\t\tif ( onSelect ) {\n\t\t\t\tonSelect( getBlock( blockClientId ) );\n\t\t\t}\n\t\t},\n\t\t[ setSelectedTreeId, updateBlockSelection, onSelect, getBlock ]\n\t);\n\tuseEffect( () => {\n\t\tisMounted.current = true;\n\t}, [] );\n\n\t// List View renders a fixed number of items and relies on each having a fixed item height of 36px.\n\t// If this value changes, we should also change the itemHeight value set in useFixedWindowList.\n\t// See: https://github.com/WordPress/gutenberg/pull/35230 for additional context.\n\tconst [ fixedListWindow ] = useFixedWindowList(\n\t\telementRef,\n\t\tBLOCK_LIST_ITEM_HEIGHT,\n\t\tvisibleBlockCount,\n\t\t{\n\t\t\tuseWindowing: true,\n\t\t\twindowOverscan: 40,\n\t\t}\n\t);\n\n\tconst expand = useCallback(\n\t\t( blockClientId ) => {\n\t\t\tif ( ! blockClientId ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tsetExpandedState( {\n\t\t\t\ttype: 'expand',\n\t\t\t\tclientIds: [ blockClientId ],\n\t\t\t} );\n\t\t},\n\t\t[ setExpandedState ]\n\t);\n\tconst collapse = useCallback(\n\t\t( blockClientId ) => {\n\t\t\tif ( ! blockClientId ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tsetExpandedState( {\n\t\t\t\ttype: 'collapse',\n\t\t\t\tclientIds: [ blockClientId ],\n\t\t\t} );\n\t\t},\n\t\t[ setExpandedState ]\n\t);\n\tconst expandRow = useCallback(\n\t\t( row ) => {\n\t\t\texpand( row?.dataset?.block );\n\t\t},\n\t\t[ expand ]\n\t);\n\tconst collapseRow = useCallback(\n\t\t( row ) => {\n\t\t\tcollapse( row?.dataset?.block );\n\t\t},\n\t\t[ collapse ]\n\t);\n\tconst focusRow = useCallback(\n\t\t( event, startRow, endRow ) => {\n\t\t\tif ( event.shiftKey ) {\n\t\t\t\tupdateBlockSelection(\n\t\t\t\t\tevent,\n\t\t\t\t\tstartRow?.dataset?.block,\n\t\t\t\t\tendRow?.dataset?.block\n\t\t\t\t);\n\t\t\t}\n\t\t},\n\t\t[ updateBlockSelection ]\n\t);\n\n\tconst contextValue = useMemo(\n\t\t() => ( {\n\t\t\tisTreeGridMounted: isMounted.current,\n\t\t\tdraggedClientIds,\n\t\t\texpandedState,\n\t\t\texpand,\n\t\t\tcollapse,\n\t\t\tLeafMoreMenu,\n\t\t} ),\n\t\t[\n\t\t\tisMounted.current,\n\t\t\tdraggedClientIds,\n\t\t\texpandedState,\n\t\t\texpand,\n\t\t\tcollapse,\n\t\t\tLeafMoreMenu,\n\t\t]\n\t);\n\n\treturn (\n\t\t<AsyncModeProvider value={ true }>\n\t\t\t<ListViewDropIndicator\n\t\t\t\tlistViewRef={ elementRef }\n\t\t\t\tblockDropTarget={ blockDropTarget }\n\t\t\t/>\n\t\t\t<div className=\"offcanvas-editor-list-view-tree-wrapper\">\n\t\t\t\t<TreeGrid\n\t\t\t\t\tid={ id }\n\t\t\t\t\tclassName=\"block-editor-list-view-tree\"\n\t\t\t\t\taria-label={ __( 'Block navigation structure' ) }\n\t\t\t\t\tref={ treeGridRef }\n\t\t\t\t\tonCollapseRow={ collapseRow }\n\t\t\t\t\tonExpandRow={ expandRow }\n\t\t\t\t\tonFocusRow={ focusRow }\n\t\t\t\t\t// eslint-disable-next-line jsx-a11y/aria-props\n\t\t\t\t\taria-description={ description }\n\t\t\t\t>\n\t\t\t\t\t<ListViewContext.Provider value={ contextValue }>\n\t\t\t\t\t\t<ListViewBranch\n\t\t\t\t\t\t\tblocks={ clientIdsTree }\n\t\t\t\t\t\t\tselectBlock={ selectEditorBlock }\n\t\t\t\t\t\t\tshowBlockMovers={ showBlockMovers }\n\t\t\t\t\t\t\tfixedListWindow={ fixedListWindow }\n\t\t\t\t\t\t\tselectedClientIds={ selectedClientIds }\n\t\t\t\t\t\t\tisExpanded={ isExpanded }\n\t\t\t\t\t\t\tshouldShowInnerBlocks={ shouldShowInnerBlocks }\n\t\t\t\t\t\t\tshowAppender={ showAppender }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<TreeGridRow\n\t\t\t\t\t\t\tlevel={ 1 }\n\t\t\t\t\t\t\tsetSize={ 1 }\n\t\t\t\t\t\t\tpositionInSet={ 1 }\n\t\t\t\t\t\t\tisExpanded={ true }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ ! clientIdsTree.length && (\n\t\t\t\t\t\t\t\t<TreeGridCell withoutGridItem>\n\t\t\t\t\t\t\t\t\t<div className=\"offcanvas-editor-list-view-is-empty\">\n\t\t\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t\t\t'Your menu is currently empty. Add your first menu item to get started.'\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</TreeGridCell>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</TreeGridRow>\n\t\t\t\t\t</ListViewContext.Provider>\n\t\t\t\t</TreeGrid>\n\t\t\t</div>\n\t\t</AsyncModeProvider>\n\t);\n}\n\nexport default forwardRef( OffCanvasEditor );\n"]}
1
+ {"version":3,"sources":["@wordpress/block-editor/src/components/off-canvas-editor/index.js"],"names":["expanded","state","action","Array","isArray","clientIds","reduce","newState","id","type","BLOCK_LIST_ITEM_HEIGHT","OffCanvasEditor","ref","parentClientId","blocks","showBlockMovers","isExpanded","showAppender","LeafMoreMenu","description","onSelect","getBlock","blockEditorStore","clientIdsTree","draggedClientIds","selectedClientIds","visibleBlockCount","shouldShowInnerBlocks","select","getGlobalBlockCount","getClientIdsOfDescendants","__unstableGetEditorMode","draggedBlockCount","length","updateBlockSelection","expandedState","setExpandedState","dropZoneRef","target","blockDropTarget","elementRef","treeGridRef","isMounted","setSelectedTreeId","firstSelectedBlockClientId","selectEditorBlock","event","blockClientId","current","fixedListWindow","useWindowing","windowOverscan","expand","collapse","expandRow","row","dataset","block","collapseRow","focusRow","startRow","endRow","shiftKey","contextValue","isTreeGridMounted"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tuseMergeRefs,\n\t__experimentalUseFixedWindowList as useFixedWindowList,\n} from '@wordpress/compose';\nimport {\n\t__experimentalTreeGrid as TreeGrid,\n\t__experimentalTreeGridRow as TreeGridRow,\n\t__experimentalTreeGridCell as TreeGridCell,\n} from '@wordpress/components';\nimport { AsyncModeProvider, useSelect } from '@wordpress/data';\nimport {\n\tuseCallback,\n\tuseEffect,\n\tuseMemo,\n\tuseRef,\n\tuseReducer,\n\tforwardRef,\n} from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport ListViewBranch from './branch';\nimport { ListViewContext } from './context';\nimport ListViewDropIndicator from './drop-indicator';\nimport useBlockSelection from './use-block-selection';\nimport useListViewClientIds from './use-list-view-client-ids';\nimport useListViewDropZone from './use-list-view-drop-zone';\nimport useListViewExpandSelectedItem from './use-list-view-expand-selected-item';\nimport { store as blockEditorStore } from '../../store';\n\nconst expanded = ( state, action ) => {\n\tif ( Array.isArray( action.clientIds ) ) {\n\t\treturn {\n\t\t\t...state,\n\t\t\t...action.clientIds.reduce(\n\t\t\t\t( newState, id ) => ( {\n\t\t\t\t\t...newState,\n\t\t\t\t\t[ id ]: action.type === 'expand',\n\t\t\t\t} ),\n\t\t\t\t{}\n\t\t\t),\n\t\t};\n\t}\n\treturn state;\n};\n\nexport const BLOCK_LIST_ITEM_HEIGHT = 36;\n\n/**\n * Show a hierarchical list of blocks.\n *\n * @param {Object} props Components props.\n * @param {string} props.id An HTML element id for the root element of ListView.\n * @param {string} props.parentClientId The client id of the parent block.\n * @param {Array} props.blocks Custom subset of block client IDs to be used instead of the default hierarchy.\n * @param {boolean} props.showBlockMovers Flag to enable block movers\n * @param {boolean} props.isExpanded Flag to determine whether nested levels are expanded by default.\n * @param {Object} props.LeafMoreMenu Optional more menu substitution.\n * @param {string} props.description Optional accessible description for the tree grid component.\n * @param {string} props.onSelect Optional callback to be invoked when a block is selected.\n * @param {string} props.showAppender Flag to show or hide the block appender.\n * @param {Object} ref Forwarded ref\n */\nfunction OffCanvasEditor(\n\t{\n\t\tid,\n\t\tparentClientId,\n\t\tblocks,\n\t\tshowBlockMovers = false,\n\t\tisExpanded = false,\n\t\tshowAppender = true,\n\t\tLeafMoreMenu,\n\t\tdescription = __( 'Block navigation structure' ),\n\t\tonSelect,\n\t},\n\tref\n) {\n\tconst { getBlock } = useSelect( blockEditorStore );\n\tconst { clientIdsTree, draggedClientIds, selectedClientIds } =\n\t\tuseListViewClientIds( blocks );\n\n\tconst { visibleBlockCount, shouldShowInnerBlocks } = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetGlobalBlockCount,\n\t\t\t\tgetClientIdsOfDescendants,\n\t\t\t\t__unstableGetEditorMode,\n\t\t\t} = select( blockEditorStore );\n\t\t\tconst draggedBlockCount =\n\t\t\t\tdraggedClientIds?.length > 0\n\t\t\t\t\t? getClientIdsOfDescendants( draggedClientIds ).length + 1\n\t\t\t\t\t: 0;\n\t\t\treturn {\n\t\t\t\tvisibleBlockCount: getGlobalBlockCount() - draggedBlockCount,\n\t\t\t\tshouldShowInnerBlocks: __unstableGetEditorMode() !== 'zoom-out',\n\t\t\t};\n\t\t},\n\t\t[ draggedClientIds ]\n\t);\n\n\tconst { updateBlockSelection } = useBlockSelection();\n\n\tconst [ expandedState, setExpandedState ] = useReducer( expanded, {} );\n\n\tconst { ref: dropZoneRef, target: blockDropTarget } = useListViewDropZone();\n\tconst elementRef = useRef();\n\tconst treeGridRef = useMergeRefs( [ elementRef, dropZoneRef, ref ] );\n\n\tconst isMounted = useRef( false );\n\tconst { setSelectedTreeId } = useListViewExpandSelectedItem( {\n\t\tfirstSelectedBlockClientId: selectedClientIds[ 0 ],\n\t\tsetExpandedState,\n\t} );\n\tconst selectEditorBlock = useCallback(\n\t\t( event, blockClientId ) => {\n\t\t\tupdateBlockSelection( event, blockClientId );\n\t\t\tsetSelectedTreeId( blockClientId );\n\t\t\tif ( onSelect ) {\n\t\t\t\tonSelect( getBlock( blockClientId ) );\n\t\t\t}\n\t\t},\n\t\t[ setSelectedTreeId, updateBlockSelection, onSelect, getBlock ]\n\t);\n\tuseEffect( () => {\n\t\tisMounted.current = true;\n\t}, [] );\n\n\t// List View renders a fixed number of items and relies on each having a fixed item height of 36px.\n\t// If this value changes, we should also change the itemHeight value set in useFixedWindowList.\n\t// See: https://github.com/WordPress/gutenberg/pull/35230 for additional context.\n\tconst [ fixedListWindow ] = useFixedWindowList(\n\t\telementRef,\n\t\tBLOCK_LIST_ITEM_HEIGHT,\n\t\tvisibleBlockCount,\n\t\t{\n\t\t\tuseWindowing: true,\n\t\t\twindowOverscan: 40,\n\t\t}\n\t);\n\n\tconst expand = useCallback(\n\t\t( blockClientId ) => {\n\t\t\tif ( ! blockClientId ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tsetExpandedState( {\n\t\t\t\ttype: 'expand',\n\t\t\t\tclientIds: [ blockClientId ],\n\t\t\t} );\n\t\t},\n\t\t[ setExpandedState ]\n\t);\n\tconst collapse = useCallback(\n\t\t( blockClientId ) => {\n\t\t\tif ( ! blockClientId ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tsetExpandedState( {\n\t\t\t\ttype: 'collapse',\n\t\t\t\tclientIds: [ blockClientId ],\n\t\t\t} );\n\t\t},\n\t\t[ setExpandedState ]\n\t);\n\tconst expandRow = useCallback(\n\t\t( row ) => {\n\t\t\texpand( row?.dataset?.block );\n\t\t},\n\t\t[ expand ]\n\t);\n\tconst collapseRow = useCallback(\n\t\t( row ) => {\n\t\t\tcollapse( row?.dataset?.block );\n\t\t},\n\t\t[ collapse ]\n\t);\n\tconst focusRow = useCallback(\n\t\t( event, startRow, endRow ) => {\n\t\t\tif ( event.shiftKey ) {\n\t\t\t\tupdateBlockSelection(\n\t\t\t\t\tevent,\n\t\t\t\t\tstartRow?.dataset?.block,\n\t\t\t\t\tendRow?.dataset?.block\n\t\t\t\t);\n\t\t\t}\n\t\t},\n\t\t[ updateBlockSelection ]\n\t);\n\n\tconst contextValue = useMemo(\n\t\t() => ( {\n\t\t\tisTreeGridMounted: isMounted.current,\n\t\t\tdraggedClientIds,\n\t\t\texpandedState,\n\t\t\texpand,\n\t\t\tcollapse,\n\t\t\tLeafMoreMenu,\n\t\t} ),\n\t\t[\n\t\t\tisMounted.current,\n\t\t\tdraggedClientIds,\n\t\t\texpandedState,\n\t\t\texpand,\n\t\t\tcollapse,\n\t\t\tLeafMoreMenu,\n\t\t]\n\t);\n\n\treturn (\n\t\t<AsyncModeProvider value={ true }>\n\t\t\t<ListViewDropIndicator\n\t\t\t\tlistViewRef={ elementRef }\n\t\t\t\tblockDropTarget={ blockDropTarget }\n\t\t\t/>\n\t\t\t<div className=\"offcanvas-editor-list-view-tree-wrapper\">\n\t\t\t\t<TreeGrid\n\t\t\t\t\tid={ id }\n\t\t\t\t\tclassName=\"block-editor-list-view-tree\"\n\t\t\t\t\taria-label={ __( 'Block navigation structure' ) }\n\t\t\t\t\tref={ treeGridRef }\n\t\t\t\t\tonCollapseRow={ collapseRow }\n\t\t\t\t\tonExpandRow={ expandRow }\n\t\t\t\t\tonFocusRow={ focusRow }\n\t\t\t\t\t// eslint-disable-next-line jsx-a11y/aria-props\n\t\t\t\t\taria-description={ description }\n\t\t\t\t>\n\t\t\t\t\t<ListViewContext.Provider value={ contextValue }>\n\t\t\t\t\t\t<ListViewBranch\n\t\t\t\t\t\t\tparentId={ parentClientId }\n\t\t\t\t\t\t\tblocks={ clientIdsTree }\n\t\t\t\t\t\t\tselectBlock={ selectEditorBlock }\n\t\t\t\t\t\t\tshowBlockMovers={ showBlockMovers }\n\t\t\t\t\t\t\tfixedListWindow={ fixedListWindow }\n\t\t\t\t\t\t\tselectedClientIds={ selectedClientIds }\n\t\t\t\t\t\t\tisExpanded={ isExpanded }\n\t\t\t\t\t\t\tshouldShowInnerBlocks={ shouldShowInnerBlocks }\n\t\t\t\t\t\t\tshowAppender={ showAppender }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<TreeGridRow\n\t\t\t\t\t\t\tlevel={ 1 }\n\t\t\t\t\t\t\tsetSize={ 1 }\n\t\t\t\t\t\t\tpositionInSet={ 1 }\n\t\t\t\t\t\t\tisExpanded={ true }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ ! clientIdsTree.length && (\n\t\t\t\t\t\t\t\t<TreeGridCell withoutGridItem>\n\t\t\t\t\t\t\t\t\t<div className=\"offcanvas-editor-list-view-is-empty\">\n\t\t\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t\t\t'Your menu is currently empty. Add your first menu item to get started.'\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</TreeGridCell>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</TreeGridRow>\n\t\t\t\t\t</ListViewContext.Provider>\n\t\t\t\t</TreeGrid>\n\t\t\t</div>\n\t\t</AsyncModeProvider>\n\t);\n}\n\nexport default forwardRef( OffCanvasEditor );\n"]}
@@ -2802,14 +2802,14 @@ function __unstableHasActiveBlockOverlayActive(state, clientId) {
2802
2802
  }
2803
2803
 
2804
2804
  function __unstableIsWithinBlockOverlay(state, clientId) {
2805
- let parent = state.blocks.parents[clientId];
2805
+ let parent = state.blocks.parents.get(clientId);
2806
2806
 
2807
2807
  while (!!parent) {
2808
2808
  if (__unstableHasActiveBlockOverlayActive(state, parent)) {
2809
2809
  return true;
2810
2810
  }
2811
2811
 
2812
- parent = state.blocks.parents[parent];
2812
+ parent = state.blocks.parents.get(parent);
2813
2813
  }
2814
2814
 
2815
2815
  return false;