@wordpress/block-library 8.28.5 → 8.28.6

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.
@@ -204,7 +204,8 @@ function ReusableBlockEdit({
204
204
  userCanEdit,
205
205
  getBlockEditingMode,
206
206
  onNavigateToEntityRecord,
207
- editingMode
207
+ editingMode,
208
+ hasPatternOverridesSource
208
209
  } = (0, _data.useSelect)(select => {
209
210
  const {
210
211
  canUser
@@ -214,6 +215,9 @@ function ReusableBlockEdit({
214
215
  getSettings,
215
216
  getBlockEditingMode: _getBlockEditingMode
216
217
  } = select(_blockEditor.store);
218
+ const {
219
+ getBlockBindingsSource
220
+ } = (0, _lockUnlock.unlock)(select(_blocks.store));
217
221
  const blocks = getBlocks(patternClientId);
218
222
  const canEdit = canUser('update', 'blocks', ref);
219
223
 
@@ -223,7 +227,8 @@ function ReusableBlockEdit({
223
227
  userCanEdit: canEdit,
224
228
  getBlockEditingMode: _getBlockEditingMode,
225
229
  onNavigateToEntityRecord: getSettings().onNavigateToEntityRecord,
226
- editingMode: _getBlockEditingMode(patternClientId)
230
+ editingMode: _getBlockEditingMode(patternClientId),
231
+ hasPatternOverridesSource: !!getBlockBindingsSource('core/pattern-overrides')
227
232
  };
228
233
  }, [patternClientId, ref]);
229
234
 
@@ -231,9 +236,9 @@ function ReusableBlockEdit({
231
236
  (0, _element.useEffect)(() => {
232
237
  setBlockEditMode(setBlockEditingMode, innerBlocks,
233
238
  // Disable editing if the pattern itself is disabled.
234
- editingMode === 'disabled' ? 'disabled' : undefined);
235
- }, [editingMode, innerBlocks, setBlockEditingMode]);
236
- const canOverrideBlocks = (0, _element.useMemo)(() => hasOverridableBlocks(innerBlocks), [innerBlocks]);
239
+ editingMode === 'disabled' || !hasPatternOverridesSource ? 'disabled' : undefined);
240
+ }, [editingMode, innerBlocks, setBlockEditingMode, hasPatternOverridesSource]);
241
+ const canOverrideBlocks = (0, _element.useMemo)(() => hasPatternOverridesSource && hasOverridableBlocks(innerBlocks), [hasPatternOverridesSource, innerBlocks]);
237
242
  const initialBlocks = (0, _element.useMemo)(() => {
238
243
  var _editedRecord$blocks$;
239
244
  return (// Clone the blocks to generate new client IDs.
@@ -252,11 +257,12 @@ function ReusableBlockEdit({
252
257
  registry.batch(() => {
253
258
  setBlockEditingMode(patternClientId, 'default');
254
259
  syncDerivedUpdates(() => {
255
- replaceInnerBlocks(patternClientId, applyInitialContentValuesToInnerBlocks(initialBlocks, initialContent.current, defaultContent.current, legacyIdMap.current));
260
+ const blocks = hasPatternOverridesSource ? applyInitialContentValuesToInnerBlocks(initialBlocks, initialContent.current, defaultContent.current, legacyIdMap.current) : initialBlocks;
261
+ replaceInnerBlocks(patternClientId, blocks);
256
262
  });
257
263
  setBlockEditingMode(patternClientId, originalEditingMode);
258
264
  });
259
- }, [__unstableMarkNextChangeAsNotPersistent, patternClientId, initialBlocks, replaceInnerBlocks, registry, getBlockEditingMode, setBlockEditingMode, syncDerivedUpdates]);
265
+ }, [hasPatternOverridesSource, __unstableMarkNextChangeAsNotPersistent, patternClientId, initialBlocks, replaceInnerBlocks, registry, getBlockEditingMode, setBlockEditingMode, syncDerivedUpdates]);
260
266
  const {
261
267
  alignment,
262
268
  layout
@@ -278,6 +284,9 @@ function ReusableBlockEdit({
278
284
  // Sync the `content` attribute from the updated blocks to the pattern block.
279
285
  // `syncDerivedUpdates` is used here to avoid creating an additional undo level.
280
286
  (0, _element.useEffect)(() => {
287
+ if (!hasPatternOverridesSource) {
288
+ return;
289
+ }
281
290
  const {
282
291
  getBlocks
283
292
  } = registry.select(_blockEditor.store);
@@ -293,7 +302,7 @@ function ReusableBlockEdit({
293
302
  });
294
303
  }
295
304
  }, _blockEditor.store);
296
- }, [syncDerivedUpdates, patternClientId, registry, setAttributes]);
305
+ }, [hasPatternOverridesSource, syncDerivedUpdates, patternClientId, registry, setAttributes]);
297
306
  const handleEditOriginal = () => {
298
307
  onNavigateToEntityRecord({
299
308
  postId: ref,
@@ -1 +1 @@
1
- {"version":3,"names":["_classnames","_interopRequireDefault","require","_data","_element","_coreData","_components","_i18n","_blockEditor","_patterns","_blocks","_richText","_index","_lockUnlock","useLayoutClasses","unlock","blockEditorPrivateApis","PARTIAL_SYNCING_SUPPORTED_BLOCKS","patternsPrivateApis","fullAlignments","getLegacyIdMap","blocks","content","nameCount","idToClientIdMap","block","innerBlocks","length","id","attributes","metadata","clientId","useInferredLayout","parentLayout","initialInferredAlignmentRef","useRef","useMemo","alignment","current","undefined","isConstrained","type","hasFullAlignment","some","includes","align","layout","hasOverridableAttributes","Object","keys","name","bindings","values","binding","source","hasOverridableBlocks","getOverridableAttributes","entries","filter","map","attributeKey","applyInitialContentValuesToInnerBlocks","defaultValues","legacyIdMap","_legacyIdMap$block$cl","metadataName","newAttributes","_defaultValues$metada","contentValues","isAttributeEqual","attribute1","attribute2","RichTextData","toString","getContentValuesFromInnerBlocks","_legacyIdMap$block$cl2","patternBlockName","assign","_content$metadataName","setBlockEditMode","setEditMode","mode","forEach","editMode","ReusableBlockEdit","ref","__unstableParentLayout","patternClientId","setAttributes","registry","useRegistry","hasAlreadyRendered","useHasRecursion","record","editedRecord","hasResolved","useEntityRecord","isMissing","initialContent","defaultContent","replaceInnerBlocks","__unstableMarkNextChangeAsNotPersistent","setBlockEditingMode","useDispatch","blockEditorStore","syncDerivedUpdates","userCanEdit","getBlockEditingMode","onNavigateToEntityRecord","editingMode","useSelect","select","canUser","coreStore","getBlocks","getSettings","_getBlockEditingMode","canEdit","useEffect","canOverrideBlocks","initialBlocks","_editedRecord$blocks$","cloneBlock","parse","originalEditingMode","batch","layoutClasses","blockProps","useBlockProps","className","classnames","innerBlocksProps","useInnerBlocksProps","templateLock","renderAppender","InnerBlocks","ButtonBlockAppender","prevBlocks","subscribe","handleEditOriginal","postId","postType","resetContent","children","_react","createElement","Warning","__","Placeholder","Spinner","RecursionProvider","uniqueId","BlockControls","ToolbarGroup","ToolbarButton","onClick","disabled","__experimentalIsFocusable"],"sources":["@wordpress/block-library/src/block/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useRegistry, useSelect, useDispatch } from '@wordpress/data';\nimport { useRef, useMemo, useEffect } from '@wordpress/element';\nimport { useEntityRecord, store as coreStore } from '@wordpress/core-data';\nimport {\n\tPlaceholder,\n\tSpinner,\n\tToolbarButton,\n\tToolbarGroup,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tuseInnerBlocksProps,\n\tRecursionProvider,\n\tuseHasRecursion,\n\tInnerBlocks,\n\tuseBlockProps,\n\tWarning,\n\tprivateApis as blockEditorPrivateApis,\n\tstore as blockEditorStore,\n\tBlockControls,\n} from '@wordpress/block-editor';\nimport { privateApis as patternsPrivateApis } from '@wordpress/patterns';\nimport { parse, cloneBlock } from '@wordpress/blocks';\nimport { RichTextData } from '@wordpress/rich-text';\n\n/**\n * Internal dependencies\n */\nimport { name as patternBlockName } from './index';\nimport { unlock } from '../lock-unlock';\n\nconst { useLayoutClasses } = unlock( blockEditorPrivateApis );\nconst { PARTIAL_SYNCING_SUPPORTED_BLOCKS } = unlock( patternsPrivateApis );\n\nconst fullAlignments = [ 'full', 'wide', 'left', 'right' ];\n\nfunction getLegacyIdMap( blocks, content, nameCount = {} ) {\n\tlet idToClientIdMap = {};\n\tfor ( const block of blocks ) {\n\t\tif ( block?.innerBlocks?.length ) {\n\t\t\tidToClientIdMap = {\n\t\t\t\t...idToClientIdMap,\n\t\t\t\t...getLegacyIdMap( block.innerBlocks, content, nameCount ),\n\t\t\t};\n\t\t}\n\n\t\tconst id = block.attributes.metadata?.id;\n\t\tconst clientId = block.clientId;\n\t\tif ( id && content?.[ id ] ) {\n\t\t\tidToClientIdMap[ clientId ] = id;\n\t\t}\n\t}\n\treturn idToClientIdMap;\n}\n\nconst useInferredLayout = ( blocks, parentLayout ) => {\n\tconst initialInferredAlignmentRef = useRef();\n\n\treturn useMemo( () => {\n\t\t// Exit early if the pattern's blocks haven't loaded yet.\n\t\tif ( ! blocks?.length ) {\n\t\t\treturn {};\n\t\t}\n\n\t\tlet alignment = initialInferredAlignmentRef.current;\n\n\t\t// Only track the initial alignment so that temporarily removed\n\t\t// alignments can be reapplied.\n\t\tif ( alignment === undefined ) {\n\t\t\tconst isConstrained = parentLayout?.type === 'constrained';\n\t\t\tconst hasFullAlignment = blocks.some( ( block ) =>\n\t\t\t\tfullAlignments.includes( block.attributes.align )\n\t\t\t);\n\n\t\t\talignment = isConstrained && hasFullAlignment ? 'full' : null;\n\t\t\tinitialInferredAlignmentRef.current = alignment;\n\t\t}\n\n\t\tconst layout = alignment ? parentLayout : undefined;\n\n\t\treturn { alignment, layout };\n\t}, [ blocks, parentLayout ] );\n};\n\nfunction hasOverridableAttributes( block ) {\n\treturn (\n\t\tObject.keys( PARTIAL_SYNCING_SUPPORTED_BLOCKS ).includes(\n\t\t\tblock.name\n\t\t) &&\n\t\t!! block.attributes.metadata?.bindings &&\n\t\tObject.values( block.attributes.metadata.bindings ).some(\n\t\t\t( binding ) => binding.source === 'core/pattern-overrides'\n\t\t)\n\t);\n}\n\nfunction hasOverridableBlocks( blocks ) {\n\treturn blocks.some( ( block ) => {\n\t\tif ( hasOverridableAttributes( block ) ) return true;\n\t\treturn hasOverridableBlocks( block.innerBlocks );\n\t} );\n}\n\nfunction getOverridableAttributes( block ) {\n\treturn Object.entries( block.attributes.metadata.bindings )\n\t\t.filter(\n\t\t\t( [ , binding ] ) => binding.source === 'core/pattern-overrides'\n\t\t)\n\t\t.map( ( [ attributeKey ] ) => attributeKey );\n}\n\nfunction applyInitialContentValuesToInnerBlocks(\n\tblocks,\n\tcontent = {},\n\tdefaultValues,\n\tlegacyIdMap\n) {\n\treturn blocks.map( ( block ) => {\n\t\tconst innerBlocks = applyInitialContentValuesToInnerBlocks(\n\t\t\tblock.innerBlocks,\n\t\t\tcontent,\n\t\t\tdefaultValues,\n\t\t\tlegacyIdMap\n\t\t);\n\t\tconst metadataName =\n\t\t\tlegacyIdMap?.[ block.clientId ] ?? block.attributes.metadata?.name;\n\n\t\tif ( ! metadataName || ! hasOverridableAttributes( block ) ) {\n\t\t\treturn { ...block, innerBlocks };\n\t\t}\n\n\t\tconst attributes = getOverridableAttributes( block );\n\t\tconst newAttributes = { ...block.attributes };\n\t\tfor ( const attributeKey of attributes ) {\n\t\t\tdefaultValues[ metadataName ] ??= {};\n\t\t\tdefaultValues[ metadataName ][ attributeKey ] =\n\t\t\t\tblock.attributes[ attributeKey ];\n\n\t\t\tconst contentValues = content[ metadataName ];\n\t\t\tif ( contentValues?.[ attributeKey ] !== undefined ) {\n\t\t\t\tnewAttributes[ attributeKey ] = contentValues[ attributeKey ];\n\t\t\t}\n\t\t}\n\t\treturn {\n\t\t\t...block,\n\t\t\tattributes: newAttributes,\n\t\t\tinnerBlocks,\n\t\t};\n\t} );\n}\n\nfunction isAttributeEqual( attribute1, attribute2 ) {\n\tif (\n\t\tattribute1 instanceof RichTextData &&\n\t\tattribute2 instanceof RichTextData\n\t) {\n\t\treturn attribute1.toString() === attribute2.toString();\n\t}\n\treturn attribute1 === attribute2;\n}\n\nfunction getContentValuesFromInnerBlocks( blocks, defaultValues, legacyIdMap ) {\n\t/** @type {Record<string, { values: Record<string, unknown>}>} */\n\tconst content = {};\n\tfor ( const block of blocks ) {\n\t\tif ( block.name === patternBlockName ) continue;\n\t\tif ( block.innerBlocks.length ) {\n\t\t\tObject.assign(\n\t\t\t\tcontent,\n\t\t\t\tgetContentValuesFromInnerBlocks(\n\t\t\t\t\tblock.innerBlocks,\n\t\t\t\t\tdefaultValues,\n\t\t\t\t\tlegacyIdMap\n\t\t\t\t)\n\t\t\t);\n\t\t}\n\t\tconst metadataName =\n\t\t\tlegacyIdMap?.[ block.clientId ] ?? block.attributes.metadata?.name;\n\t\tif ( ! metadataName || ! hasOverridableAttributes( block ) ) {\n\t\t\tcontinue;\n\t\t}\n\n\t\tconst attributes = getOverridableAttributes( block );\n\n\t\tfor ( const attributeKey of attributes ) {\n\t\t\tif (\n\t\t\t\t! isAttributeEqual(\n\t\t\t\t\tblock.attributes[ attributeKey ],\n\t\t\t\t\tdefaultValues?.[ metadataName ]?.[ attributeKey ]\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\tcontent[ metadataName ] ??= {};\n\t\t\t\t// TODO: We need a way to represent `undefined` in the serialized overrides.\n\t\t\t\t// Also see: https://github.com/WordPress/gutenberg/pull/57249#discussion_r1452987871\n\t\t\t\tcontent[ metadataName ][ attributeKey ] =\n\t\t\t\t\tblock.attributes[ attributeKey ] === undefined\n\t\t\t\t\t\t? // TODO: We use an empty string to represent undefined for now until\n\t\t\t\t\t\t // we support a richer format for overrides and the block binding API.\n\t\t\t\t\t\t // Currently only the `linkTarget` attribute of `core/button` is affected.\n\t\t\t\t\t\t ''\n\t\t\t\t\t\t: block.attributes[ attributeKey ];\n\t\t\t}\n\t\t}\n\t}\n\treturn Object.keys( content ).length > 0 ? content : undefined;\n}\n\nfunction setBlockEditMode( setEditMode, blocks, mode ) {\n\tblocks.forEach( ( block ) => {\n\t\tconst editMode =\n\t\t\tmode ||\n\t\t\t( hasOverridableAttributes( block ) ? 'contentOnly' : 'disabled' );\n\t\tsetEditMode( block.clientId, editMode );\n\n\t\tsetBlockEditMode(\n\t\t\tsetEditMode,\n\t\t\tblock.innerBlocks,\n\t\t\t// Disable editing for nested patterns.\n\t\t\tblock.name === patternBlockName ? 'disabled' : mode\n\t\t);\n\t} );\n}\n\nexport default function ReusableBlockEdit( {\n\tname,\n\tattributes: { ref, content },\n\t__unstableParentLayout: parentLayout,\n\tclientId: patternClientId,\n\tsetAttributes,\n} ) {\n\tconst registry = useRegistry();\n\tconst hasAlreadyRendered = useHasRecursion( ref );\n\tconst { record, editedRecord, hasResolved } = useEntityRecord(\n\t\t'postType',\n\t\t'wp_block',\n\t\tref\n\t);\n\tconst isMissing = hasResolved && ! record;\n\n\t// The initial value of the `content` attribute.\n\tconst initialContent = useRef( content );\n\n\t// The default content values from the original pattern for overridable attributes.\n\t// Set by the `applyInitialContentValuesToInnerBlocks` function.\n\tconst defaultContent = useRef( {} );\n\n\tconst {\n\t\treplaceInnerBlocks,\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t\tsetBlockEditingMode,\n\t} = useDispatch( blockEditorStore );\n\tconst { syncDerivedUpdates } = unlock( useDispatch( blockEditorStore ) );\n\n\tconst {\n\t\tinnerBlocks,\n\t\tuserCanEdit,\n\t\tgetBlockEditingMode,\n\t\tonNavigateToEntityRecord,\n\t\teditingMode,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst { canUser } = select( coreStore );\n\t\t\tconst {\n\t\t\t\tgetBlocks,\n\t\t\t\tgetSettings,\n\t\t\t\tgetBlockEditingMode: _getBlockEditingMode,\n\t\t\t} = select( blockEditorStore );\n\t\t\tconst blocks = getBlocks( patternClientId );\n\t\t\tconst canEdit = canUser( 'update', 'blocks', ref );\n\n\t\t\t// For editing link to the site editor if the theme and user permissions support it.\n\t\t\treturn {\n\t\t\t\tinnerBlocks: blocks,\n\t\t\t\tuserCanEdit: canEdit,\n\t\t\t\tgetBlockEditingMode: _getBlockEditingMode,\n\t\t\t\tonNavigateToEntityRecord:\n\t\t\t\t\tgetSettings().onNavigateToEntityRecord,\n\t\t\t\teditingMode: _getBlockEditingMode( patternClientId ),\n\t\t\t};\n\t\t},\n\t\t[ patternClientId, ref ]\n\t);\n\n\t// Sync the editing mode of the pattern block with the inner blocks.\n\tuseEffect( () => {\n\t\tsetBlockEditMode(\n\t\t\tsetBlockEditingMode,\n\t\t\tinnerBlocks,\n\t\t\t// Disable editing if the pattern itself is disabled.\n\t\t\teditingMode === 'disabled' ? 'disabled' : undefined\n\t\t);\n\t}, [ editingMode, innerBlocks, setBlockEditingMode ] );\n\n\tconst canOverrideBlocks = useMemo(\n\t\t() => hasOverridableBlocks( innerBlocks ),\n\t\t[ innerBlocks ]\n\t);\n\n\tconst initialBlocks = useMemo(\n\t\t() =>\n\t\t\t// Clone the blocks to generate new client IDs.\n\t\t\teditedRecord.blocks?.map( ( block ) => cloneBlock( block ) ) ??\n\t\t\t( editedRecord.content && typeof editedRecord.content !== 'function'\n\t\t\t\t? parse( editedRecord.content )\n\t\t\t\t: [] ),\n\t\t[ editedRecord.blocks, editedRecord.content ]\n\t);\n\n\tconst legacyIdMap = useRef( {} );\n\n\t// Apply the initial overrides from the pattern block to the inner blocks.\n\tuseEffect( () => {\n\t\t// Build a map of clientIds to the old nano id system to provide back compat.\n\t\tlegacyIdMap.current = getLegacyIdMap(\n\t\t\tinitialBlocks,\n\t\t\tinitialContent.current\n\t\t);\n\t\tdefaultContent.current = {};\n\t\tconst originalEditingMode = getBlockEditingMode( patternClientId );\n\t\t// Replace the contents of the blocks with the overrides.\n\t\tregistry.batch( () => {\n\t\t\tsetBlockEditingMode( patternClientId, 'default' );\n\t\t\tsyncDerivedUpdates( () => {\n\t\t\t\treplaceInnerBlocks(\n\t\t\t\t\tpatternClientId,\n\t\t\t\t\tapplyInitialContentValuesToInnerBlocks(\n\t\t\t\t\t\tinitialBlocks,\n\t\t\t\t\t\tinitialContent.current,\n\t\t\t\t\t\tdefaultContent.current,\n\t\t\t\t\t\tlegacyIdMap.current\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t} );\n\t\t\tsetBlockEditingMode( patternClientId, originalEditingMode );\n\t\t} );\n\t}, [\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t\tpatternClientId,\n\t\tinitialBlocks,\n\t\treplaceInnerBlocks,\n\t\tregistry,\n\t\tgetBlockEditingMode,\n\t\tsetBlockEditingMode,\n\t\tsyncDerivedUpdates,\n\t] );\n\n\tconst { alignment, layout } = useInferredLayout(\n\t\tinnerBlocks,\n\t\tparentLayout\n\t);\n\tconst layoutClasses = useLayoutClasses( { layout }, name );\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classnames(\n\t\t\t'block-library-block__reusable-block-container',\n\t\t\tlayout && layoutClasses,\n\t\t\t{ [ `align${ alignment }` ]: alignment }\n\t\t),\n\t} );\n\n\tconst innerBlocksProps = useInnerBlocksProps( blockProps, {\n\t\ttemplateLock: 'all',\n\t\tlayout,\n\t\trenderAppender: innerBlocks?.length\n\t\t\t? undefined\n\t\t\t: InnerBlocks.ButtonBlockAppender,\n\t} );\n\n\t// Sync the `content` attribute from the updated blocks to the pattern block.\n\t// `syncDerivedUpdates` is used here to avoid creating an additional undo level.\n\tuseEffect( () => {\n\t\tconst { getBlocks } = registry.select( blockEditorStore );\n\t\tlet prevBlocks = getBlocks( patternClientId );\n\t\treturn registry.subscribe( () => {\n\t\t\tconst blocks = getBlocks( patternClientId );\n\t\t\tif ( blocks !== prevBlocks ) {\n\t\t\t\tprevBlocks = blocks;\n\t\t\t\tsyncDerivedUpdates( () => {\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\tcontent: getContentValuesFromInnerBlocks(\n\t\t\t\t\t\t\tblocks,\n\t\t\t\t\t\t\tdefaultContent.current,\n\t\t\t\t\t\t\tlegacyIdMap.current\n\t\t\t\t\t\t),\n\t\t\t\t\t} );\n\t\t\t\t} );\n\t\t\t}\n\t\t}, blockEditorStore );\n\t}, [ syncDerivedUpdates, patternClientId, registry, setAttributes ] );\n\n\tconst handleEditOriginal = () => {\n\t\tonNavigateToEntityRecord( {\n\t\t\tpostId: ref,\n\t\t\tpostType: 'wp_block',\n\t\t} );\n\t};\n\n\tconst resetContent = () => {\n\t\tif ( content ) {\n\t\t\treplaceInnerBlocks( patternClientId, initialBlocks );\n\t\t}\n\t};\n\n\tlet children = null;\n\n\tif ( hasAlreadyRendered ) {\n\t\tchildren = (\n\t\t\t<Warning>\n\t\t\t\t{ __( 'Block cannot be rendered inside itself.' ) }\n\t\t\t</Warning>\n\t\t);\n\t}\n\n\tif ( isMissing ) {\n\t\tchildren = (\n\t\t\t<Warning>\n\t\t\t\t{ __( 'Block has been deleted or is unavailable.' ) }\n\t\t\t</Warning>\n\t\t);\n\t}\n\n\tif ( ! hasResolved ) {\n\t\tchildren = (\n\t\t\t<Placeholder>\n\t\t\t\t<Spinner />\n\t\t\t</Placeholder>\n\t\t);\n\t}\n\n\treturn (\n\t\t<RecursionProvider uniqueId={ ref }>\n\t\t\t{ userCanEdit && onNavigateToEntityRecord && (\n\t\t\t\t<BlockControls>\n\t\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t\t<ToolbarButton onClick={ handleEditOriginal }>\n\t\t\t\t\t\t\t{ __( 'Edit original' ) }\n\t\t\t\t\t\t</ToolbarButton>\n\t\t\t\t\t</ToolbarGroup>\n\t\t\t\t</BlockControls>\n\t\t\t) }\n\n\t\t\t{ canOverrideBlocks && (\n\t\t\t\t<BlockControls>\n\t\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\tonClick={ resetContent }\n\t\t\t\t\t\t\tdisabled={ ! content }\n\t\t\t\t\t\t\t__experimentalIsFocusable\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Reset' ) }\n\t\t\t\t\t\t</ToolbarButton>\n\t\t\t\t\t</ToolbarGroup>\n\t\t\t\t</BlockControls>\n\t\t\t) }\n\n\t\t\t{ children === null ? (\n\t\t\t\t<div { ...innerBlocksProps } />\n\t\t\t) : (\n\t\t\t\t<div { ...blockProps }>{ children }</div>\n\t\t\t) }\n\t\t</RecursionProvider>\n\t);\n}\n"],"mappings":";;;;;;;;AAGA,IAAAA,WAAA,GAAAC,sBAAA,CAAAC,OAAA;AAKA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,QAAA,GAAAF,OAAA;AACA,IAAAG,SAAA,GAAAH,OAAA;AACA,IAAAI,WAAA,GAAAJ,OAAA;AAMA,IAAAK,KAAA,GAAAL,OAAA;AACA,IAAAM,YAAA,GAAAN,OAAA;AAWA,IAAAO,SAAA,GAAAP,OAAA;AACA,IAAAQ,OAAA,GAAAR,OAAA;AACA,IAAAS,SAAA,GAAAT,OAAA;AAKA,IAAAU,MAAA,GAAAV,OAAA;AACA,IAAAW,WAAA,GAAAX,OAAA;AArCA;AACA;AACA;;AAGA;AACA;AACA;;AA0BA;AACA;AACA;;AAIA,MAAM;EAAEY;AAAiB,CAAC,GAAG,IAAAC,kBAAM,EAAEC,wBAAuB,CAAC;AAC7D,MAAM;EAAEC;AAAiC,CAAC,GAAG,IAAAF,kBAAM,EAAEG,qBAAoB,CAAC;AAE1E,MAAMC,cAAc,GAAG,CAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAE;AAE1D,SAASC,cAAcA,CAAEC,MAAM,EAAEC,OAAO,EAAEC,SAAS,GAAG,CAAC,CAAC,EAAG;EAC1D,IAAIC,eAAe,GAAG,CAAC,CAAC;EACxB,KAAM,MAAMC,KAAK,IAAIJ,MAAM,EAAG;IAC7B,IAAKI,KAAK,EAAEC,WAAW,EAAEC,MAAM,EAAG;MACjCH,eAAe,GAAG;QACjB,GAAGA,eAAe;QAClB,GAAGJ,cAAc,CAAEK,KAAK,CAACC,WAAW,EAAEJ,OAAO,EAAEC,SAAU;MAC1D,CAAC;IACF;IAEA,MAAMK,EAAE,GAAGH,KAAK,CAACI,UAAU,CAACC,QAAQ,EAAEF,EAAE;IACxC,MAAMG,QAAQ,GAAGN,KAAK,CAACM,QAAQ;IAC/B,IAAKH,EAAE,IAAIN,OAAO,GAAIM,EAAE,CAAE,EAAG;MAC5BJ,eAAe,CAAEO,QAAQ,CAAE,GAAGH,EAAE;IACjC;EACD;EACA,OAAOJ,eAAe;AACvB;AAEA,MAAMQ,iBAAiB,GAAGA,CAAEX,MAAM,EAAEY,YAAY,KAAM;EACrD,MAAMC,2BAA2B,GAAG,IAAAC,eAAM,EAAC,CAAC;EAE5C,OAAO,IAAAC,gBAAO,EAAE,MAAM;IACrB;IACA,IAAK,CAAEf,MAAM,EAAEM,MAAM,EAAG;MACvB,OAAO,CAAC,CAAC;IACV;IAEA,IAAIU,SAAS,GAAGH,2BAA2B,CAACI,OAAO;;IAEnD;IACA;IACA,IAAKD,SAAS,KAAKE,SAAS,EAAG;MAC9B,MAAMC,aAAa,GAAGP,YAAY,EAAEQ,IAAI,KAAK,aAAa;MAC1D,MAAMC,gBAAgB,GAAGrB,MAAM,CAACsB,IAAI,CAAIlB,KAAK,IAC5CN,cAAc,CAACyB,QAAQ,CAAEnB,KAAK,CAACI,UAAU,CAACgB,KAAM,CACjD,CAAC;MAEDR,SAAS,GAAGG,aAAa,IAAIE,gBAAgB,GAAG,MAAM,GAAG,IAAI;MAC7DR,2BAA2B,CAACI,OAAO,GAAGD,SAAS;IAChD;IAEA,MAAMS,MAAM,GAAGT,SAAS,GAAGJ,YAAY,GAAGM,SAAS;IAEnD,OAAO;MAAEF,SAAS;MAAES;IAAO,CAAC;EAC7B,CAAC,EAAE,CAAEzB,MAAM,EAAEY,YAAY,CAAG,CAAC;AAC9B,CAAC;AAED,SAASc,wBAAwBA,CAAEtB,KAAK,EAAG;EAC1C,OACCuB,MAAM,CAACC,IAAI,CAAEhC,gCAAiC,CAAC,CAAC2B,QAAQ,CACvDnB,KAAK,CAACyB,IACP,CAAC,IACD,CAAC,CAAEzB,KAAK,CAACI,UAAU,CAACC,QAAQ,EAAEqB,QAAQ,IACtCH,MAAM,CAACI,MAAM,CAAE3B,KAAK,CAACI,UAAU,CAACC,QAAQ,CAACqB,QAAS,CAAC,CAACR,IAAI,CACrDU,OAAO,IAAMA,OAAO,CAACC,MAAM,KAAK,wBACnC,CAAC;AAEH;AAEA,SAASC,oBAAoBA,CAAElC,MAAM,EAAG;EACvC,OAAOA,MAAM,CAACsB,IAAI,CAAIlB,KAAK,IAAM;IAChC,IAAKsB,wBAAwB,CAAEtB,KAAM,CAAC,EAAG,OAAO,IAAI;IACpD,OAAO8B,oBAAoB,CAAE9B,KAAK,CAACC,WAAY,CAAC;EACjD,CAAE,CAAC;AACJ;AAEA,SAAS8B,wBAAwBA,CAAE/B,KAAK,EAAG;EAC1C,OAAOuB,MAAM,CAACS,OAAO,CAAEhC,KAAK,CAACI,UAAU,CAACC,QAAQ,CAACqB,QAAS,CAAC,CACzDO,MAAM,CACN,CAAE,GAAIL,OAAO,CAAE,KAAMA,OAAO,CAACC,MAAM,KAAK,wBACzC,CAAC,CACAK,GAAG,CAAE,CAAE,CAAEC,YAAY,CAAE,KAAMA,YAAa,CAAC;AAC9C;AAEA,SAASC,sCAAsCA,CAC9CxC,MAAM,EACNC,OAAO,GAAG,CAAC,CAAC,EACZwC,aAAa,EACbC,WAAW,EACV;EACD,OAAO1C,MAAM,CAACsC,GAAG,CAAIlC,KAAK,IAAM;IAAA,IAAAuC,qBAAA;IAC/B,MAAMtC,WAAW,GAAGmC,sCAAsC,CACzDpC,KAAK,CAACC,WAAW,EACjBJ,OAAO,EACPwC,aAAa,EACbC,WACD,CAAC;IACD,MAAME,YAAY,IAAAD,qBAAA,GACjBD,WAAW,GAAItC,KAAK,CAACM,QAAQ,CAAE,cAAAiC,qBAAA,cAAAA,qBAAA,GAAIvC,KAAK,CAACI,UAAU,CAACC,QAAQ,EAAEoB,IAAI;IAEnE,IAAK,CAAEe,YAAY,IAAI,CAAElB,wBAAwB,CAAEtB,KAAM,CAAC,EAAG;MAC5D,OAAO;QAAE,GAAGA,KAAK;QAAEC;MAAY,CAAC;IACjC;IAEA,MAAMG,UAAU,GAAG2B,wBAAwB,CAAE/B,KAAM,CAAC;IACpD,MAAMyC,aAAa,GAAG;MAAE,GAAGzC,KAAK,CAACI;IAAW,CAAC;IAC7C,KAAM,MAAM+B,YAAY,IAAI/B,UAAU,EAAG;MAAA,IAAAsC,qBAAA;MACxC,CAAAA,qBAAA,GAAAL,aAAa,CAAEG,YAAY,CAAE,cAAAE,qBAAA,cAAAA,qBAAA,GAA7BL,aAAa,CAAEG,YAAY,CAAE,GAAK,CAAC,CAAC;MACpCH,aAAa,CAAEG,YAAY,CAAE,CAAEL,YAAY,CAAE,GAC5CnC,KAAK,CAACI,UAAU,CAAE+B,YAAY,CAAE;MAEjC,MAAMQ,aAAa,GAAG9C,OAAO,CAAE2C,YAAY,CAAE;MAC7C,IAAKG,aAAa,GAAIR,YAAY,CAAE,KAAKrB,SAAS,EAAG;QACpD2B,aAAa,CAAEN,YAAY,CAAE,GAAGQ,aAAa,CAAER,YAAY,CAAE;MAC9D;IACD;IACA,OAAO;MACN,GAAGnC,KAAK;MACRI,UAAU,EAAEqC,aAAa;MACzBxC;IACD,CAAC;EACF,CAAE,CAAC;AACJ;AAEA,SAAS2C,gBAAgBA,CAAEC,UAAU,EAAEC,UAAU,EAAG;EACnD,IACCD,UAAU,YAAYE,sBAAY,IAClCD,UAAU,YAAYC,sBAAY,EACjC;IACD,OAAOF,UAAU,CAACG,QAAQ,CAAC,CAAC,KAAKF,UAAU,CAACE,QAAQ,CAAC,CAAC;EACvD;EACA,OAAOH,UAAU,KAAKC,UAAU;AACjC;AAEA,SAASG,+BAA+BA,CAAErD,MAAM,EAAEyC,aAAa,EAAEC,WAAW,EAAG;EAC9E;EACA,MAAMzC,OAAO,GAAG,CAAC,CAAC;EAClB,KAAM,MAAMG,KAAK,IAAIJ,MAAM,EAAG;IAAA,IAAAsD,sBAAA;IAC7B,IAAKlD,KAAK,CAACyB,IAAI,KAAK0B,WAAgB,EAAG;IACvC,IAAKnD,KAAK,CAACC,WAAW,CAACC,MAAM,EAAG;MAC/BqB,MAAM,CAAC6B,MAAM,CACZvD,OAAO,EACPoD,+BAA+B,CAC9BjD,KAAK,CAACC,WAAW,EACjBoC,aAAa,EACbC,WACD,CACD,CAAC;IACF;IACA,MAAME,YAAY,IAAAU,sBAAA,GACjBZ,WAAW,GAAItC,KAAK,CAACM,QAAQ,CAAE,cAAA4C,sBAAA,cAAAA,sBAAA,GAAIlD,KAAK,CAACI,UAAU,CAACC,QAAQ,EAAEoB,IAAI;IACnE,IAAK,CAAEe,YAAY,IAAI,CAAElB,wBAAwB,CAAEtB,KAAM,CAAC,EAAG;MAC5D;IACD;IAEA,MAAMI,UAAU,GAAG2B,wBAAwB,CAAE/B,KAAM,CAAC;IAEpD,KAAM,MAAMmC,YAAY,IAAI/B,UAAU,EAAG;MACxC,IACC,CAAEwC,gBAAgB,CACjB5C,KAAK,CAACI,UAAU,CAAE+B,YAAY,CAAE,EAChCE,aAAa,GAAIG,YAAY,CAAE,GAAIL,YAAY,CAChD,CAAC,EACA;QAAA,IAAAkB,qBAAA;QACD,CAAAA,qBAAA,GAAAxD,OAAO,CAAE2C,YAAY,CAAE,cAAAa,qBAAA,cAAAA,qBAAA,GAAvBxD,OAAO,CAAE2C,YAAY,CAAE,GAAK,CAAC,CAAC;QAC9B;QACA;QACA3C,OAAO,CAAE2C,YAAY,CAAE,CAAEL,YAAY,CAAE,GACtCnC,KAAK,CAACI,UAAU,CAAE+B,YAAY,CAAE,KAAKrB,SAAS;QAC3C;QACA;QACA;QACA,EAAE,GACFd,KAAK,CAACI,UAAU,CAAE+B,YAAY,CAAE;MACrC;IACD;EACD;EACA,OAAOZ,MAAM,CAACC,IAAI,CAAE3B,OAAQ,CAAC,CAACK,MAAM,GAAG,CAAC,GAAGL,OAAO,GAAGiB,SAAS;AAC/D;AAEA,SAASwC,gBAAgBA,CAAEC,WAAW,EAAE3D,MAAM,EAAE4D,IAAI,EAAG;EACtD5D,MAAM,CAAC6D,OAAO,CAAIzD,KAAK,IAAM;IAC5B,MAAM0D,QAAQ,GACbF,IAAI,KACFlC,wBAAwB,CAAEtB,KAAM,CAAC,GAAG,aAAa,GAAG,UAAU,CAAE;IACnEuD,WAAW,CAAEvD,KAAK,CAACM,QAAQ,EAAEoD,QAAS,CAAC;IAEvCJ,gBAAgB,CACfC,WAAW,EACXvD,KAAK,CAACC,WAAW;IACjB;IACAD,KAAK,CAACyB,IAAI,KAAK0B,WAAgB,GAAG,UAAU,GAAGK,IAChD,CAAC;EACF,CAAE,CAAC;AACJ;AAEe,SAASG,iBAAiBA,CAAE;EAC1ClC,IAAI;EACJrB,UAAU,EAAE;IAAEwD,GAAG;IAAE/D;EAAQ,CAAC;EAC5BgE,sBAAsB,EAAErD,YAAY;EACpCF,QAAQ,EAAEwD,eAAe;EACzBC;AACD,CAAC,EAAG;EACH,MAAMC,QAAQ,GAAG,IAAAC,iBAAW,EAAC,CAAC;EAC9B,MAAMC,kBAAkB,GAAG,IAAAC,4BAAe,EAAEP,GAAI,CAAC;EACjD,MAAM;IAAEQ,MAAM;IAAEC,YAAY;IAAEC;EAAY,CAAC,GAAG,IAAAC,yBAAe,EAC5D,UAAU,EACV,UAAU,EACVX,GACD,CAAC;EACD,MAAMY,SAAS,GAAGF,WAAW,IAAI,CAAEF,MAAM;;EAEzC;EACA,MAAMK,cAAc,GAAG,IAAA/D,eAAM,EAAEb,OAAQ,CAAC;;EAExC;EACA;EACA,MAAM6E,cAAc,GAAG,IAAAhE,eAAM,EAAE,CAAC,CAAE,CAAC;EAEnC,MAAM;IACLiE,kBAAkB;IAClBC,uCAAuC;IACvCC;EACD,CAAC,GAAG,IAAAC,iBAAW,EAAEC,kBAAiB,CAAC;EACnC,MAAM;IAAEC;EAAmB,CAAC,GAAG,IAAA1F,kBAAM,EAAE,IAAAwF,iBAAW,EAAEC,kBAAiB,CAAE,CAAC;EAExE,MAAM;IACL9E,WAAW;IACXgF,WAAW;IACXC,mBAAmB;IACnBC,wBAAwB;IACxBC;EACD,CAAC,GAAG,IAAAC,eAAS,EACVC,MAAM,IAAM;IACb,MAAM;MAAEC;IAAQ,CAAC,GAAGD,MAAM,CAAEE,eAAU,CAAC;IACvC,MAAM;MACLC,SAAS;MACTC,WAAW;MACXR,mBAAmB,EAAES;IACtB,CAAC,GAAGL,MAAM,CAAEP,kBAAiB,CAAC;IAC9B,MAAMnF,MAAM,GAAG6F,SAAS,CAAE3B,eAAgB,CAAC;IAC3C,MAAM8B,OAAO,GAAGL,OAAO,CAAE,QAAQ,EAAE,QAAQ,EAAE3B,GAAI,CAAC;;IAElD;IACA,OAAO;MACN3D,WAAW,EAAEL,MAAM;MACnBqF,WAAW,EAAEW,OAAO;MACpBV,mBAAmB,EAAES,oBAAoB;MACzCR,wBAAwB,EACvBO,WAAW,CAAC,CAAC,CAACP,wBAAwB;MACvCC,WAAW,EAAEO,oBAAoB,CAAE7B,eAAgB;IACpD,CAAC;EACF,CAAC,EACD,CAAEA,eAAe,EAAEF,GAAG,CACvB,CAAC;;EAED;EACA,IAAAiC,kBAAS,EAAE,MAAM;IAChBvC,gBAAgB,CACfuB,mBAAmB,EACnB5E,WAAW;IACX;IACAmF,WAAW,KAAK,UAAU,GAAG,UAAU,GAAGtE,SAC3C,CAAC;EACF,CAAC,EAAE,CAAEsE,WAAW,EAAEnF,WAAW,EAAE4E,mBAAmB,CAAG,CAAC;EAEtD,MAAMiB,iBAAiB,GAAG,IAAAnF,gBAAO,EAChC,MAAMmB,oBAAoB,CAAE7B,WAAY,CAAC,EACzC,CAAEA,WAAW,CACd,CAAC;EAED,MAAM8F,aAAa,GAAG,IAAApF,gBAAO,EAC5B;IAAA,IAAAqF,qBAAA;IAAA,OACC;MAAA,CAAAA,qBAAA,GACA3B,YAAY,CAACzE,MAAM,EAAEsC,GAAG,CAAIlC,KAAK,IAAM,IAAAiG,kBAAU,EAAEjG,KAAM,CAAE,CAAC,cAAAgG,qBAAA,cAAAA,qBAAA,GAC1D3B,YAAY,CAACxE,OAAO,IAAI,OAAOwE,YAAY,CAACxE,OAAO,KAAK,UAAU,GACjE,IAAAqG,aAAK,EAAE7B,YAAY,CAACxE,OAAQ,CAAC,GAC7B;IAAE;EAAA,CAAE,EACR,CAAEwE,YAAY,CAACzE,MAAM,EAAEyE,YAAY,CAACxE,OAAO,CAC5C,CAAC;EAED,MAAMyC,WAAW,GAAG,IAAA5B,eAAM,EAAE,CAAC,CAAE,CAAC;;EAEhC;EACA,IAAAmF,kBAAS,EAAE,MAAM;IAChB;IACAvD,WAAW,CAACzB,OAAO,GAAGlB,cAAc,CACnCoG,aAAa,EACbtB,cAAc,CAAC5D,OAChB,CAAC;IACD6D,cAAc,CAAC7D,OAAO,GAAG,CAAC,CAAC;IAC3B,MAAMsF,mBAAmB,GAAGjB,mBAAmB,CAAEpB,eAAgB,CAAC;IAClE;IACAE,QAAQ,CAACoC,KAAK,CAAE,MAAM;MACrBvB,mBAAmB,CAAEf,eAAe,EAAE,SAAU,CAAC;MACjDkB,kBAAkB,CAAE,MAAM;QACzBL,kBAAkB,CACjBb,eAAe,EACf1B,sCAAsC,CACrC2D,aAAa,EACbtB,cAAc,CAAC5D,OAAO,EACtB6D,cAAc,CAAC7D,OAAO,EACtByB,WAAW,CAACzB,OACb,CACD,CAAC;MACF,CAAE,CAAC;MACHgE,mBAAmB,CAAEf,eAAe,EAAEqC,mBAAoB,CAAC;IAC5D,CAAE,CAAC;EACJ,CAAC,EAAE,CACFvB,uCAAuC,EACvCd,eAAe,EACfiC,aAAa,EACbpB,kBAAkB,EAClBX,QAAQ,EACRkB,mBAAmB,EACnBL,mBAAmB,EACnBG,kBAAkB,CACjB,CAAC;EAEH,MAAM;IAAEpE,SAAS;IAAES;EAAO,CAAC,GAAGd,iBAAiB,CAC9CN,WAAW,EACXO,YACD,CAAC;EACD,MAAM6F,aAAa,GAAGhH,gBAAgB,CAAE;IAAEgC;EAAO,CAAC,EAAEI,IAAK,CAAC;EAE1D,MAAM6E,UAAU,GAAG,IAAAC,0BAAa,EAAE;IACjCC,SAAS,EAAE,IAAAC,mBAAU,EACpB,+CAA+C,EAC/CpF,MAAM,IAAIgF,aAAa,EACvB;MAAE,CAAG,QAAQzF,SAAW,EAAC,GAAIA;IAAU,CACxC;EACD,CAAE,CAAC;EAEH,MAAM8F,gBAAgB,GAAG,IAAAC,gCAAmB,EAAEL,UAAU,EAAE;IACzDM,YAAY,EAAE,KAAK;IACnBvF,MAAM;IACNwF,cAAc,EAAE5G,WAAW,EAAEC,MAAM,GAChCY,SAAS,GACTgG,wBAAW,CAACC;EAChB,CAAE,CAAC;;EAEH;EACA;EACA,IAAAlB,kBAAS,EAAE,MAAM;IAChB,MAAM;MAAEJ;IAAU,CAAC,GAAGzB,QAAQ,CAACsB,MAAM,CAAEP,kBAAiB,CAAC;IACzD,IAAIiC,UAAU,GAAGvB,SAAS,CAAE3B,eAAgB,CAAC;IAC7C,OAAOE,QAAQ,CAACiD,SAAS,CAAE,MAAM;MAChC,MAAMrH,MAAM,GAAG6F,SAAS,CAAE3B,eAAgB,CAAC;MAC3C,IAAKlE,MAAM,KAAKoH,UAAU,EAAG;QAC5BA,UAAU,GAAGpH,MAAM;QACnBoF,kBAAkB,CAAE,MAAM;UACzBjB,aAAa,CAAE;YACdlE,OAAO,EAAEoD,+BAA+B,CACvCrD,MAAM,EACN8E,cAAc,CAAC7D,OAAO,EACtByB,WAAW,CAACzB,OACb;UACD,CAAE,CAAC;QACJ,CAAE,CAAC;MACJ;IACD,CAAC,EAAEkE,kBAAiB,CAAC;EACtB,CAAC,EAAE,CAAEC,kBAAkB,EAAElB,eAAe,EAAEE,QAAQ,EAAED,aAAa,CAAG,CAAC;EAErE,MAAMmD,kBAAkB,GAAGA,CAAA,KAAM;IAChC/B,wBAAwB,CAAE;MACzBgC,MAAM,EAAEvD,GAAG;MACXwD,QAAQ,EAAE;IACX,CAAE,CAAC;EACJ,CAAC;EAED,MAAMC,YAAY,GAAGA,CAAA,KAAM;IAC1B,IAAKxH,OAAO,EAAG;MACd8E,kBAAkB,CAAEb,eAAe,EAAEiC,aAAc,CAAC;IACrD;EACD,CAAC;EAED,IAAIuB,QAAQ,GAAG,IAAI;EAEnB,IAAKpD,kBAAkB,EAAG;IACzBoD,QAAQ,GACP,IAAAC,MAAA,CAAAC,aAAA,EAACzI,YAAA,CAAA0I,OAAO,QACL,IAAAC,QAAE,EAAE,yCAA0C,CACxC,CACT;EACF;EAEA,IAAKlD,SAAS,EAAG;IAChB8C,QAAQ,GACP,IAAAC,MAAA,CAAAC,aAAA,EAACzI,YAAA,CAAA0I,OAAO,QACL,IAAAC,QAAE,EAAE,2CAA4C,CAC1C,CACT;EACF;EAEA,IAAK,CAAEpD,WAAW,EAAG;IACpBgD,QAAQ,GACP,IAAAC,MAAA,CAAAC,aAAA,EAAC3I,WAAA,CAAA8I,WAAW,QACX,IAAAJ,MAAA,CAAAC,aAAA,EAAC3I,WAAA,CAAA+I,OAAO,MAAE,CACE,CACb;EACF;EAEA,OACC,IAAAL,MAAA,CAAAC,aAAA,EAACzI,YAAA,CAAA8I,iBAAiB;IAACC,QAAQ,EAAGlE;EAAK,GAChCqB,WAAW,IAAIE,wBAAwB,IACxC,IAAAoC,MAAA,CAAAC,aAAA,EAACzI,YAAA,CAAAgJ,aAAa,QACb,IAAAR,MAAA,CAAAC,aAAA,EAAC3I,WAAA,CAAAmJ,YAAY,QACZ,IAAAT,MAAA,CAAAC,aAAA,EAAC3I,WAAA,CAAAoJ,aAAa;IAACC,OAAO,EAAGhB;EAAoB,GAC1C,IAAAQ,QAAE,EAAE,eAAgB,CACR,CACF,CACA,CACf,EAEC5B,iBAAiB,IAClB,IAAAyB,MAAA,CAAAC,aAAA,EAACzI,YAAA,CAAAgJ,aAAa,QACb,IAAAR,MAAA,CAAAC,aAAA,EAAC3I,WAAA,CAAAmJ,YAAY,QACZ,IAAAT,MAAA,CAAAC,aAAA,EAAC3I,WAAA,CAAAoJ,aAAa;IACbC,OAAO,EAAGb,YAAc;IACxBc,QAAQ,EAAG,CAAEtI,OAAS;IACtBuI,yBAAyB;EAAA,GAEvB,IAAAV,QAAE,EAAE,OAAQ,CACA,CACF,CACA,CACf,EAECJ,QAAQ,KAAK,IAAI,GAClB,IAAAC,MAAA,CAAAC,aAAA;IAAA,GAAUd;EAAgB,CAAI,CAAC,GAE/B,IAAAa,MAAA,CAAAC,aAAA;IAAA,GAAUlB;EAAU,GAAKgB,QAAe,CAEvB,CAAC;AAEtB"}
1
+ {"version":3,"names":["_classnames","_interopRequireDefault","require","_data","_element","_coreData","_components","_i18n","_blockEditor","_patterns","_blocks","_richText","_index","_lockUnlock","useLayoutClasses","unlock","blockEditorPrivateApis","PARTIAL_SYNCING_SUPPORTED_BLOCKS","patternsPrivateApis","fullAlignments","getLegacyIdMap","blocks","content","nameCount","idToClientIdMap","block","innerBlocks","length","id","attributes","metadata","clientId","useInferredLayout","parentLayout","initialInferredAlignmentRef","useRef","useMemo","alignment","current","undefined","isConstrained","type","hasFullAlignment","some","includes","align","layout","hasOverridableAttributes","Object","keys","name","bindings","values","binding","source","hasOverridableBlocks","getOverridableAttributes","entries","filter","map","attributeKey","applyInitialContentValuesToInnerBlocks","defaultValues","legacyIdMap","_legacyIdMap$block$cl","metadataName","newAttributes","_defaultValues$metada","contentValues","isAttributeEqual","attribute1","attribute2","RichTextData","toString","getContentValuesFromInnerBlocks","_legacyIdMap$block$cl2","patternBlockName","assign","_content$metadataName","setBlockEditMode","setEditMode","mode","forEach","editMode","ReusableBlockEdit","ref","__unstableParentLayout","patternClientId","setAttributes","registry","useRegistry","hasAlreadyRendered","useHasRecursion","record","editedRecord","hasResolved","useEntityRecord","isMissing","initialContent","defaultContent","replaceInnerBlocks","__unstableMarkNextChangeAsNotPersistent","setBlockEditingMode","useDispatch","blockEditorStore","syncDerivedUpdates","userCanEdit","getBlockEditingMode","onNavigateToEntityRecord","editingMode","hasPatternOverridesSource","useSelect","select","canUser","coreStore","getBlocks","getSettings","_getBlockEditingMode","getBlockBindingsSource","blocksStore","canEdit","useEffect","canOverrideBlocks","initialBlocks","_editedRecord$blocks$","cloneBlock","parse","originalEditingMode","batch","layoutClasses","blockProps","useBlockProps","className","classnames","innerBlocksProps","useInnerBlocksProps","templateLock","renderAppender","InnerBlocks","ButtonBlockAppender","prevBlocks","subscribe","handleEditOriginal","postId","postType","resetContent","children","_react","createElement","Warning","__","Placeholder","Spinner","RecursionProvider","uniqueId","BlockControls","ToolbarGroup","ToolbarButton","onClick","disabled","__experimentalIsFocusable"],"sources":["@wordpress/block-library/src/block/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useRegistry, useSelect, useDispatch } from '@wordpress/data';\nimport { useRef, useMemo, useEffect } from '@wordpress/element';\nimport { useEntityRecord, store as coreStore } from '@wordpress/core-data';\nimport {\n\tPlaceholder,\n\tSpinner,\n\tToolbarButton,\n\tToolbarGroup,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tuseInnerBlocksProps,\n\tRecursionProvider,\n\tuseHasRecursion,\n\tInnerBlocks,\n\tuseBlockProps,\n\tWarning,\n\tprivateApis as blockEditorPrivateApis,\n\tstore as blockEditorStore,\n\tBlockControls,\n} from '@wordpress/block-editor';\nimport { privateApis as patternsPrivateApis } from '@wordpress/patterns';\nimport { parse, cloneBlock, store as blocksStore } from '@wordpress/blocks';\nimport { RichTextData } from '@wordpress/rich-text';\n\n/**\n * Internal dependencies\n */\nimport { name as patternBlockName } from './index';\nimport { unlock } from '../lock-unlock';\n\nconst { useLayoutClasses } = unlock( blockEditorPrivateApis );\nconst { PARTIAL_SYNCING_SUPPORTED_BLOCKS } = unlock( patternsPrivateApis );\n\nconst fullAlignments = [ 'full', 'wide', 'left', 'right' ];\n\nfunction getLegacyIdMap( blocks, content, nameCount = {} ) {\n\tlet idToClientIdMap = {};\n\tfor ( const block of blocks ) {\n\t\tif ( block?.innerBlocks?.length ) {\n\t\t\tidToClientIdMap = {\n\t\t\t\t...idToClientIdMap,\n\t\t\t\t...getLegacyIdMap( block.innerBlocks, content, nameCount ),\n\t\t\t};\n\t\t}\n\n\t\tconst id = block.attributes.metadata?.id;\n\t\tconst clientId = block.clientId;\n\t\tif ( id && content?.[ id ] ) {\n\t\t\tidToClientIdMap[ clientId ] = id;\n\t\t}\n\t}\n\treturn idToClientIdMap;\n}\n\nconst useInferredLayout = ( blocks, parentLayout ) => {\n\tconst initialInferredAlignmentRef = useRef();\n\n\treturn useMemo( () => {\n\t\t// Exit early if the pattern's blocks haven't loaded yet.\n\t\tif ( ! blocks?.length ) {\n\t\t\treturn {};\n\t\t}\n\n\t\tlet alignment = initialInferredAlignmentRef.current;\n\n\t\t// Only track the initial alignment so that temporarily removed\n\t\t// alignments can be reapplied.\n\t\tif ( alignment === undefined ) {\n\t\t\tconst isConstrained = parentLayout?.type === 'constrained';\n\t\t\tconst hasFullAlignment = blocks.some( ( block ) =>\n\t\t\t\tfullAlignments.includes( block.attributes.align )\n\t\t\t);\n\n\t\t\talignment = isConstrained && hasFullAlignment ? 'full' : null;\n\t\t\tinitialInferredAlignmentRef.current = alignment;\n\t\t}\n\n\t\tconst layout = alignment ? parentLayout : undefined;\n\n\t\treturn { alignment, layout };\n\t}, [ blocks, parentLayout ] );\n};\n\nfunction hasOverridableAttributes( block ) {\n\treturn (\n\t\tObject.keys( PARTIAL_SYNCING_SUPPORTED_BLOCKS ).includes(\n\t\t\tblock.name\n\t\t) &&\n\t\t!! block.attributes.metadata?.bindings &&\n\t\tObject.values( block.attributes.metadata.bindings ).some(\n\t\t\t( binding ) => binding.source === 'core/pattern-overrides'\n\t\t)\n\t);\n}\n\nfunction hasOverridableBlocks( blocks ) {\n\treturn blocks.some( ( block ) => {\n\t\tif ( hasOverridableAttributes( block ) ) return true;\n\t\treturn hasOverridableBlocks( block.innerBlocks );\n\t} );\n}\n\nfunction getOverridableAttributes( block ) {\n\treturn Object.entries( block.attributes.metadata.bindings )\n\t\t.filter(\n\t\t\t( [ , binding ] ) => binding.source === 'core/pattern-overrides'\n\t\t)\n\t\t.map( ( [ attributeKey ] ) => attributeKey );\n}\n\nfunction applyInitialContentValuesToInnerBlocks(\n\tblocks,\n\tcontent = {},\n\tdefaultValues,\n\tlegacyIdMap\n) {\n\treturn blocks.map( ( block ) => {\n\t\tconst innerBlocks = applyInitialContentValuesToInnerBlocks(\n\t\t\tblock.innerBlocks,\n\t\t\tcontent,\n\t\t\tdefaultValues,\n\t\t\tlegacyIdMap\n\t\t);\n\t\tconst metadataName =\n\t\t\tlegacyIdMap?.[ block.clientId ] ?? block.attributes.metadata?.name;\n\n\t\tif ( ! metadataName || ! hasOverridableAttributes( block ) ) {\n\t\t\treturn { ...block, innerBlocks };\n\t\t}\n\n\t\tconst attributes = getOverridableAttributes( block );\n\t\tconst newAttributes = { ...block.attributes };\n\t\tfor ( const attributeKey of attributes ) {\n\t\t\tdefaultValues[ metadataName ] ??= {};\n\t\t\tdefaultValues[ metadataName ][ attributeKey ] =\n\t\t\t\tblock.attributes[ attributeKey ];\n\n\t\t\tconst contentValues = content[ metadataName ];\n\t\t\tif ( contentValues?.[ attributeKey ] !== undefined ) {\n\t\t\t\tnewAttributes[ attributeKey ] = contentValues[ attributeKey ];\n\t\t\t}\n\t\t}\n\t\treturn {\n\t\t\t...block,\n\t\t\tattributes: newAttributes,\n\t\t\tinnerBlocks,\n\t\t};\n\t} );\n}\n\nfunction isAttributeEqual( attribute1, attribute2 ) {\n\tif (\n\t\tattribute1 instanceof RichTextData &&\n\t\tattribute2 instanceof RichTextData\n\t) {\n\t\treturn attribute1.toString() === attribute2.toString();\n\t}\n\treturn attribute1 === attribute2;\n}\n\nfunction getContentValuesFromInnerBlocks( blocks, defaultValues, legacyIdMap ) {\n\t/** @type {Record<string, { values: Record<string, unknown>}>} */\n\tconst content = {};\n\tfor ( const block of blocks ) {\n\t\tif ( block.name === patternBlockName ) continue;\n\t\tif ( block.innerBlocks.length ) {\n\t\t\tObject.assign(\n\t\t\t\tcontent,\n\t\t\t\tgetContentValuesFromInnerBlocks(\n\t\t\t\t\tblock.innerBlocks,\n\t\t\t\t\tdefaultValues,\n\t\t\t\t\tlegacyIdMap\n\t\t\t\t)\n\t\t\t);\n\t\t}\n\t\tconst metadataName =\n\t\t\tlegacyIdMap?.[ block.clientId ] ?? block.attributes.metadata?.name;\n\t\tif ( ! metadataName || ! hasOverridableAttributes( block ) ) {\n\t\t\tcontinue;\n\t\t}\n\n\t\tconst attributes = getOverridableAttributes( block );\n\n\t\tfor ( const attributeKey of attributes ) {\n\t\t\tif (\n\t\t\t\t! isAttributeEqual(\n\t\t\t\t\tblock.attributes[ attributeKey ],\n\t\t\t\t\tdefaultValues?.[ metadataName ]?.[ attributeKey ]\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\tcontent[ metadataName ] ??= {};\n\t\t\t\t// TODO: We need a way to represent `undefined` in the serialized overrides.\n\t\t\t\t// Also see: https://github.com/WordPress/gutenberg/pull/57249#discussion_r1452987871\n\t\t\t\tcontent[ metadataName ][ attributeKey ] =\n\t\t\t\t\tblock.attributes[ attributeKey ] === undefined\n\t\t\t\t\t\t? // TODO: We use an empty string to represent undefined for now until\n\t\t\t\t\t\t // we support a richer format for overrides and the block binding API.\n\t\t\t\t\t\t // Currently only the `linkTarget` attribute of `core/button` is affected.\n\t\t\t\t\t\t ''\n\t\t\t\t\t\t: block.attributes[ attributeKey ];\n\t\t\t}\n\t\t}\n\t}\n\treturn Object.keys( content ).length > 0 ? content : undefined;\n}\n\nfunction setBlockEditMode( setEditMode, blocks, mode ) {\n\tblocks.forEach( ( block ) => {\n\t\tconst editMode =\n\t\t\tmode ||\n\t\t\t( hasOverridableAttributes( block ) ? 'contentOnly' : 'disabled' );\n\t\tsetEditMode( block.clientId, editMode );\n\n\t\tsetBlockEditMode(\n\t\t\tsetEditMode,\n\t\t\tblock.innerBlocks,\n\t\t\t// Disable editing for nested patterns.\n\t\t\tblock.name === patternBlockName ? 'disabled' : mode\n\t\t);\n\t} );\n}\n\nexport default function ReusableBlockEdit( {\n\tname,\n\tattributes: { ref, content },\n\t__unstableParentLayout: parentLayout,\n\tclientId: patternClientId,\n\tsetAttributes,\n} ) {\n\tconst registry = useRegistry();\n\tconst hasAlreadyRendered = useHasRecursion( ref );\n\tconst { record, editedRecord, hasResolved } = useEntityRecord(\n\t\t'postType',\n\t\t'wp_block',\n\t\tref\n\t);\n\tconst isMissing = hasResolved && ! record;\n\n\t// The initial value of the `content` attribute.\n\tconst initialContent = useRef( content );\n\n\t// The default content values from the original pattern for overridable attributes.\n\t// Set by the `applyInitialContentValuesToInnerBlocks` function.\n\tconst defaultContent = useRef( {} );\n\n\tconst {\n\t\treplaceInnerBlocks,\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t\tsetBlockEditingMode,\n\t} = useDispatch( blockEditorStore );\n\tconst { syncDerivedUpdates } = unlock( useDispatch( blockEditorStore ) );\n\n\tconst {\n\t\tinnerBlocks,\n\t\tuserCanEdit,\n\t\tgetBlockEditingMode,\n\t\tonNavigateToEntityRecord,\n\t\teditingMode,\n\t\thasPatternOverridesSource,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst { canUser } = select( coreStore );\n\t\t\tconst {\n\t\t\t\tgetBlocks,\n\t\t\t\tgetSettings,\n\t\t\t\tgetBlockEditingMode: _getBlockEditingMode,\n\t\t\t} = select( blockEditorStore );\n\t\t\tconst { getBlockBindingsSource } = unlock( select( blocksStore ) );\n\t\t\tconst blocks = getBlocks( patternClientId );\n\t\t\tconst canEdit = canUser( 'update', 'blocks', ref );\n\n\t\t\t// For editing link to the site editor if the theme and user permissions support it.\n\t\t\treturn {\n\t\t\t\tinnerBlocks: blocks,\n\t\t\t\tuserCanEdit: canEdit,\n\t\t\t\tgetBlockEditingMode: _getBlockEditingMode,\n\t\t\t\tonNavigateToEntityRecord:\n\t\t\t\t\tgetSettings().onNavigateToEntityRecord,\n\t\t\t\teditingMode: _getBlockEditingMode( patternClientId ),\n\t\t\t\thasPatternOverridesSource: !! getBlockBindingsSource(\n\t\t\t\t\t'core/pattern-overrides'\n\t\t\t\t),\n\t\t\t};\n\t\t},\n\t\t[ patternClientId, ref ]\n\t);\n\n\t// Sync the editing mode of the pattern block with the inner blocks.\n\tuseEffect( () => {\n\t\tsetBlockEditMode(\n\t\t\tsetBlockEditingMode,\n\t\t\tinnerBlocks,\n\t\t\t// Disable editing if the pattern itself is disabled.\n\t\t\teditingMode === 'disabled' || ! hasPatternOverridesSource\n\t\t\t\t? 'disabled'\n\t\t\t\t: undefined\n\t\t);\n\t}, [\n\t\teditingMode,\n\t\tinnerBlocks,\n\t\tsetBlockEditingMode,\n\t\thasPatternOverridesSource,\n\t] );\n\n\tconst canOverrideBlocks = useMemo(\n\t\t() => hasPatternOverridesSource && hasOverridableBlocks( innerBlocks ),\n\t\t[ hasPatternOverridesSource, innerBlocks ]\n\t);\n\n\tconst initialBlocks = useMemo(\n\t\t() =>\n\t\t\t// Clone the blocks to generate new client IDs.\n\t\t\teditedRecord.blocks?.map( ( block ) => cloneBlock( block ) ) ??\n\t\t\t( editedRecord.content && typeof editedRecord.content !== 'function'\n\t\t\t\t? parse( editedRecord.content )\n\t\t\t\t: [] ),\n\t\t[ editedRecord.blocks, editedRecord.content ]\n\t);\n\n\tconst legacyIdMap = useRef( {} );\n\n\t// Apply the initial overrides from the pattern block to the inner blocks.\n\tuseEffect( () => {\n\t\t// Build a map of clientIds to the old nano id system to provide back compat.\n\t\tlegacyIdMap.current = getLegacyIdMap(\n\t\t\tinitialBlocks,\n\t\t\tinitialContent.current\n\t\t);\n\t\tdefaultContent.current = {};\n\t\tconst originalEditingMode = getBlockEditingMode( patternClientId );\n\t\t// Replace the contents of the blocks with the overrides.\n\t\tregistry.batch( () => {\n\t\t\tsetBlockEditingMode( patternClientId, 'default' );\n\t\t\tsyncDerivedUpdates( () => {\n\t\t\t\tconst blocks = hasPatternOverridesSource\n\t\t\t\t\t? applyInitialContentValuesToInnerBlocks(\n\t\t\t\t\t\t\tinitialBlocks,\n\t\t\t\t\t\t\tinitialContent.current,\n\t\t\t\t\t\t\tdefaultContent.current,\n\t\t\t\t\t\t\tlegacyIdMap.current\n\t\t\t\t\t )\n\t\t\t\t\t: initialBlocks;\n\n\t\t\t\treplaceInnerBlocks( patternClientId, blocks );\n\t\t\t} );\n\t\t\tsetBlockEditingMode( patternClientId, originalEditingMode );\n\t\t} );\n\t}, [\n\t\thasPatternOverridesSource,\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t\tpatternClientId,\n\t\tinitialBlocks,\n\t\treplaceInnerBlocks,\n\t\tregistry,\n\t\tgetBlockEditingMode,\n\t\tsetBlockEditingMode,\n\t\tsyncDerivedUpdates,\n\t] );\n\n\tconst { alignment, layout } = useInferredLayout(\n\t\tinnerBlocks,\n\t\tparentLayout\n\t);\n\tconst layoutClasses = useLayoutClasses( { layout }, name );\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classnames(\n\t\t\t'block-library-block__reusable-block-container',\n\t\t\tlayout && layoutClasses,\n\t\t\t{ [ `align${ alignment }` ]: alignment }\n\t\t),\n\t} );\n\n\tconst innerBlocksProps = useInnerBlocksProps( blockProps, {\n\t\ttemplateLock: 'all',\n\t\tlayout,\n\t\trenderAppender: innerBlocks?.length\n\t\t\t? undefined\n\t\t\t: InnerBlocks.ButtonBlockAppender,\n\t} );\n\n\t// Sync the `content` attribute from the updated blocks to the pattern block.\n\t// `syncDerivedUpdates` is used here to avoid creating an additional undo level.\n\tuseEffect( () => {\n\t\tif ( ! hasPatternOverridesSource ) {\n\t\t\treturn;\n\t\t}\n\t\tconst { getBlocks } = registry.select( blockEditorStore );\n\t\tlet prevBlocks = getBlocks( patternClientId );\n\t\treturn registry.subscribe( () => {\n\t\t\tconst blocks = getBlocks( patternClientId );\n\t\t\tif ( blocks !== prevBlocks ) {\n\t\t\t\tprevBlocks = blocks;\n\t\t\t\tsyncDerivedUpdates( () => {\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\tcontent: getContentValuesFromInnerBlocks(\n\t\t\t\t\t\t\tblocks,\n\t\t\t\t\t\t\tdefaultContent.current,\n\t\t\t\t\t\t\tlegacyIdMap.current\n\t\t\t\t\t\t),\n\t\t\t\t\t} );\n\t\t\t\t} );\n\t\t\t}\n\t\t}, blockEditorStore );\n\t}, [\n\t\thasPatternOverridesSource,\n\t\tsyncDerivedUpdates,\n\t\tpatternClientId,\n\t\tregistry,\n\t\tsetAttributes,\n\t] );\n\n\tconst handleEditOriginal = () => {\n\t\tonNavigateToEntityRecord( {\n\t\t\tpostId: ref,\n\t\t\tpostType: 'wp_block',\n\t\t} );\n\t};\n\n\tconst resetContent = () => {\n\t\tif ( content ) {\n\t\t\treplaceInnerBlocks( patternClientId, initialBlocks );\n\t\t}\n\t};\n\n\tlet children = null;\n\n\tif ( hasAlreadyRendered ) {\n\t\tchildren = (\n\t\t\t<Warning>\n\t\t\t\t{ __( 'Block cannot be rendered inside itself.' ) }\n\t\t\t</Warning>\n\t\t);\n\t}\n\n\tif ( isMissing ) {\n\t\tchildren = (\n\t\t\t<Warning>\n\t\t\t\t{ __( 'Block has been deleted or is unavailable.' ) }\n\t\t\t</Warning>\n\t\t);\n\t}\n\n\tif ( ! hasResolved ) {\n\t\tchildren = (\n\t\t\t<Placeholder>\n\t\t\t\t<Spinner />\n\t\t\t</Placeholder>\n\t\t);\n\t}\n\n\treturn (\n\t\t<RecursionProvider uniqueId={ ref }>\n\t\t\t{ userCanEdit && onNavigateToEntityRecord && (\n\t\t\t\t<BlockControls>\n\t\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t\t<ToolbarButton onClick={ handleEditOriginal }>\n\t\t\t\t\t\t\t{ __( 'Edit original' ) }\n\t\t\t\t\t\t</ToolbarButton>\n\t\t\t\t\t</ToolbarGroup>\n\t\t\t\t</BlockControls>\n\t\t\t) }\n\n\t\t\t{ canOverrideBlocks && (\n\t\t\t\t<BlockControls>\n\t\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\tonClick={ resetContent }\n\t\t\t\t\t\t\tdisabled={ ! content }\n\t\t\t\t\t\t\t__experimentalIsFocusable\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Reset' ) }\n\t\t\t\t\t\t</ToolbarButton>\n\t\t\t\t\t</ToolbarGroup>\n\t\t\t\t</BlockControls>\n\t\t\t) }\n\n\t\t\t{ children === null ? (\n\t\t\t\t<div { ...innerBlocksProps } />\n\t\t\t) : (\n\t\t\t\t<div { ...blockProps }>{ children }</div>\n\t\t\t) }\n\t\t</RecursionProvider>\n\t);\n}\n"],"mappings":"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"}
@@ -26,7 +26,9 @@ function save({
26
26
  // prevent embedding in PHP. Ideally checks for the code block,
27
27
  // or pre/code tags, should be made on the PHP side?
28
28
  ,
29
- value: (0, _utils.escape)(attributes.content.toString())
29
+ value: (0, _utils.escape)(typeof attributes.content === 'string' ? attributes.content : attributes.content.toHTMLString({
30
+ preserveWhiteSpace: true
31
+ }))
30
32
  }));
31
33
  }
32
34
  //# sourceMappingURL=save.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_blockEditor","require","_utils","save","attributes","_react","createElement","useBlockProps","RichText","Content","tagName","value","escape","content","toString"],"sources":["@wordpress/block-library/src/code/save.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { RichText, useBlockProps } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport { escape } from './utils';\n\nexport default function save( { attributes } ) {\n\treturn (\n\t\t<pre { ...useBlockProps.save() }>\n\t\t\t<RichText.Content\n\t\t\t\ttagName=\"code\"\n\t\t\t\t// To do: `escape` encodes characters in shortcodes and URLs to\n\t\t\t\t// prevent embedding in PHP. Ideally checks for the code block,\n\t\t\t\t// or pre/code tags, should be made on the PHP side?\n\t\t\t\tvalue={ escape( attributes.content.toString() ) }\n\t\t\t/>\n\t\t</pre>\n\t);\n}\n"],"mappings":";;;;;;;AAGA,IAAAA,YAAA,GAAAC,OAAA;AAKA,IAAAC,MAAA,GAAAD,OAAA;AARA;AACA;AACA;;AAGA;AACA;AACA;;AAGe,SAASE,IAAIA,CAAE;EAAEC;AAAW,CAAC,EAAG;EAC9C,OACC,IAAAC,MAAA,CAAAC,aAAA;IAAA,GAAUC,0BAAa,CAACJ,IAAI,CAAC;EAAC,GAC7B,IAAAE,MAAA,CAAAC,aAAA,EAACN,YAAA,CAAAQ,QAAQ,CAACC,OAAO;IAChBC,OAAO,EAAC;IACR;IACA;IACA;IAAA;IACAC,KAAK,EAAG,IAAAC,aAAM,EAAER,UAAU,CAACS,OAAO,CAACC,QAAQ,CAAC,CAAE;EAAG,CACjD,CACG,CAAC;AAER"}
1
+ {"version":3,"names":["_blockEditor","require","_utils","save","attributes","_react","createElement","useBlockProps","RichText","Content","tagName","value","escape","content","toHTMLString","preserveWhiteSpace"],"sources":["@wordpress/block-library/src/code/save.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { RichText, useBlockProps } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport { escape } from './utils';\n\nexport default function save( { attributes } ) {\n\treturn (\n\t\t<pre { ...useBlockProps.save() }>\n\t\t\t<RichText.Content\n\t\t\t\ttagName=\"code\"\n\t\t\t\t// To do: `escape` encodes characters in shortcodes and URLs to\n\t\t\t\t// prevent embedding in PHP. Ideally checks for the code block,\n\t\t\t\t// or pre/code tags, should be made on the PHP side?\n\t\t\t\tvalue={ escape(\n\t\t\t\t\ttypeof attributes.content === 'string'\n\t\t\t\t\t\t? attributes.content\n\t\t\t\t\t\t: attributes.content.toHTMLString( {\n\t\t\t\t\t\t\t\tpreserveWhiteSpace: true,\n\t\t\t\t\t\t } )\n\t\t\t\t) }\n\t\t\t/>\n\t\t</pre>\n\t);\n}\n"],"mappings":";;;;;;;AAGA,IAAAA,YAAA,GAAAC,OAAA;AAKA,IAAAC,MAAA,GAAAD,OAAA;AARA;AACA;AACA;;AAGA;AACA;AACA;;AAGe,SAASE,IAAIA,CAAE;EAAEC;AAAW,CAAC,EAAG;EAC9C,OACC,IAAAC,MAAA,CAAAC,aAAA;IAAA,GAAUC,0BAAa,CAACJ,IAAI,CAAC;EAAC,GAC7B,IAAAE,MAAA,CAAAC,aAAA,EAACN,YAAA,CAAAQ,QAAQ,CAACC,OAAO;IAChBC,OAAO,EAAC;IACR;IACA;IACA;IAAA;IACAC,KAAK,EAAG,IAAAC,aAAM,EACb,OAAOR,UAAU,CAACS,OAAO,KAAK,QAAQ,GACnCT,UAAU,CAACS,OAAO,GAClBT,UAAU,CAACS,OAAO,CAACC,YAAY,CAAE;MACjCC,kBAAkB,EAAE;IACpB,CAAE,CACN;EAAG,CACH,CACG,CAAC;AAER"}
@@ -117,8 +117,8 @@ function Navigation({
117
117
  isSuccess: createNavigationMenuIsSuccess,
118
118
  isError: createNavigationMenuIsError
119
119
  } = (0, _useCreateNavigationMenu.default)(clientId);
120
- const createUntitledEmptyNavigationMenu = () => {
121
- createNavigationMenu('');
120
+ const createUntitledEmptyNavigationMenu = async () => {
121
+ await createNavigationMenu('');
122
122
  };
123
123
  const {
124
124
  hasUncontrolledInnerBlocks,
@@ -1 +1 @@
1
- {"version":3,"names":["_classnames","_interopRequireDefault","require","_element","_blockEditor","_coreData","_data","_components","_i18n","_a11y","_icons","_compose","_useNavigationMenu","_useNavigationEntities","_placeholder","_responsiveWrapper","_innerBlocks","_navigationMenuNameControl","_unsavedInnerBlocks","_navigationMenuDeleteControl","_useNavigationNotice","_overlayMenuIcon","_overlayMenuPreview","_useConvertClassicMenuToBlockMenu","_interopRequireWildcard","_useCreateNavigationMenu","_useInnerBlocks","_utils","_manageMenusButton","_menuInspectorControls","_deletedNavigationWarning","_accessibleDescription","_accessibleMenuDescription","_lockUnlock","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","Navigation","attributes","setAttributes","clientId","isSelected","className","backgroundColor","setBackgroundColor","textColor","setTextColor","overlayBackgroundColor","setOverlayBackgroundColor","overlayTextColor","setOverlayTextColor","hasSubmenuIndicatorSetting","customPlaceholder","CustomPlaceholder","__unstableLayoutClassNames","layoutClassNames","openSubmenusOnClick","overlayMenu","showSubmenuIcon","templateLock","layout","justifyContent","orientation","flexWrap","hasIcon","icon","ref","setRef","useCallback","postId","recursionId","hasAlreadyRendered","useHasRecursion","blockEditingMode","useBlockEditingMode","menus","classicMenus","useNavigationEntities","showNavigationMenuStatusNotice","hideNavigationMenuStatusNotice","useNavigationNotice","name","showClassicMenuConversionNotice","hideClassicMenuConversionNotice","showNavigationMenuPermissionsNotice","hideNavigationMenuPermissionsNotice","create","createNavigationMenu","status","createNavigationMenuStatus","error","createNavigationMenuError","value","createNavigationMenuPost","isPending","isCreatingNavigationMenu","isSuccess","createNavigationMenuIsSuccess","isError","createNavigationMenuIsError","useCreateNavigationMenu","createUntitledEmptyNavigationMenu","hasUncontrolledInnerBlocks","uncontrolledInnerBlocks","isInnerBlockSelected","innerBlocks","useInnerBlocks","hasSubmenus","find","block","replaceInnerBlocks","selectBlock","__unstableMarkNextChangeAsNotPersistent","useDispatch","blockEditorStore","isResponsiveMenuOpen","setResponsiveMenuVisibility","useState","overlayMenuPreview","setOverlayMenuPreview","hasResolvedNavigationMenus","isNavigationMenuResolved","isNavigationMenuMissing","canUserUpdateNavigationMenu","hasResolvedCanUserUpdateNavigationMenu","canUserDeleteNavigationMenu","hasResolvedCanUserDeleteNavigationMenu","canUserCreateNavigationMenu","isResolvingCanUserCreateNavigationMenu","hasResolvedCanUserCreateNavigationMenu","useNavigationMenu","navMenuResolvedButMissing","convert","convertClassicMenu","classicMenuConversionStatus","classicMenuConversionError","useConvertClassicToBlockMenu","isConvertingClassicMenu","CLASSIC_MENU_CONVERSION_PENDING","handleUpdateMenu","menuId","options","focusNavigationBlock","isEntityAvailable","hasUnsavedBlocks","getNavigationFallbackId","unlock","useSelect","coreStore","navigationFallbackId","useEffect","navRef","useRef","TagName","isPlaceholder","length","isLoading","textDecoration","style","typography","hasBlockOverlay","select","__unstableHasActiveBlockOverlayActive","isResponsive","blockProps","useBlockProps","classnames","color","class","getColorClassName","slug","enableContrastChecking","Platform","OS","detectedBackgroundColor","setDetectedBackgroundColor","detectedColor","setDetectedColor","detectedOverlayBackgroundColor","setDetectedOverlayBackgroundColor","detectedOverlayColor","setDetectedOverlayColor","onSelectClassicMenu","classicMenu","navMenu","id","onSelectNavigationMenu","speak","__","CLASSIC_MENU_CONVERSION_SUCCESS","CLASSIC_MENU_CONVERSION_ERROR","detectColors","current","subMenuElement","querySelector","hasManagePermissions","overlayMenuPreviewClasses","open","submenuAccessibilityNotice","isFirstRender","overlayMenuPreviewId","useInstanceId","OverlayMenuPreview","colorGradientSettings","useMultipleOriginColorsAndGradients","stylingInspectorControls","_react","createElement","Fragment","InspectorControls","PanelBody","title","Button","onClick","Icon","close","hidden","__experimentalToggleGroupControl","__nextHasNoMarginBottom","label","help","onChange","isBlock","hideLabelFromVision","__experimentalToggleGroupControlOption","ToggleControl","checked","disabled","Notice","spokenMessage","isDismissible","hasColorsOrGradients","group","__experimentalColorGradientSettingsDropdown","__experimentalIsRenderedInSidebar","settings","colorValue","onColorChange","resetAllFilter","panelId","gradients","disableCustomGradients","ContrastChecker","accessibleDescriptionId","isManageMenusButtonDisabled","undefined","currentMenuId","onCreateNew","onToggle","isOpen","isHiddenByDefault","blocks","hasSelection","Warning","PlaceholderComponent","Placeholder","onCreateEmpty","EntityProvider","kind","type","RecursionProvider","uniqueId","onDelete","deletedMenuTitle","sprintf","Spinner","hasCustomPlaceholder","_default","exports","withColors"],"sources":["@wordpress/block-library/src/navigation/edit/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tuseCallback,\n\tuseState,\n\tuseEffect,\n\tuseRef,\n\tPlatform,\n} from '@wordpress/element';\nimport {\n\tInspectorControls,\n\tuseBlockProps,\n\tRecursionProvider,\n\tuseHasRecursion,\n\tstore as blockEditorStore,\n\twithColors,\n\tContrastChecker,\n\tgetColorClassName,\n\tWarning,\n\t__experimentalColorGradientSettingsDropdown as ColorGradientSettingsDropdown,\n\t__experimentalUseMultipleOriginColorsAndGradients as useMultipleOriginColorsAndGradients,\n\tuseBlockEditingMode,\n} from '@wordpress/block-editor';\nimport { EntityProvider, store as coreStore } from '@wordpress/core-data';\n\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport {\n\tPanelBody,\n\tToggleControl,\n\t__experimentalToggleGroupControl as ToggleGroupControl,\n\t__experimentalToggleGroupControlOption as ToggleGroupControlOption,\n\tButton,\n\tSpinner,\n\tNotice,\n} from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { speak } from '@wordpress/a11y';\nimport { close, Icon } from '@wordpress/icons';\nimport { useInstanceId } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport useNavigationMenu from '../use-navigation-menu';\nimport useNavigationEntities from '../use-navigation-entities';\nimport Placeholder from './placeholder';\nimport ResponsiveWrapper from './responsive-wrapper';\nimport NavigationInnerBlocks from './inner-blocks';\nimport NavigationMenuNameControl from './navigation-menu-name-control';\nimport UnsavedInnerBlocks from './unsaved-inner-blocks';\nimport NavigationMenuDeleteControl from './navigation-menu-delete-control';\nimport useNavigationNotice from './use-navigation-notice';\nimport OverlayMenuIcon from './overlay-menu-icon';\nimport OverlayMenuPreview from './overlay-menu-preview';\nimport useConvertClassicToBlockMenu, {\n\tCLASSIC_MENU_CONVERSION_ERROR,\n\tCLASSIC_MENU_CONVERSION_PENDING,\n\tCLASSIC_MENU_CONVERSION_SUCCESS,\n} from './use-convert-classic-menu-to-block-menu';\nimport useCreateNavigationMenu from './use-create-navigation-menu';\nimport { useInnerBlocks } from './use-inner-blocks';\nimport { detectColors } from './utils';\nimport ManageMenusButton from './manage-menus-button';\nimport MenuInspectorControls from './menu-inspector-controls';\nimport DeletedNavigationWarning from './deleted-navigation-warning';\nimport AccessibleDescription from './accessible-description';\nimport AccessibleMenuDescription from './accessible-menu-description';\nimport { unlock } from '../../lock-unlock';\n\nfunction Navigation( {\n\tattributes,\n\tsetAttributes,\n\tclientId,\n\tisSelected,\n\tclassName,\n\tbackgroundColor,\n\tsetBackgroundColor,\n\ttextColor,\n\tsetTextColor,\n\toverlayBackgroundColor,\n\tsetOverlayBackgroundColor,\n\toverlayTextColor,\n\tsetOverlayTextColor,\n\n\t// These props are used by the navigation editor to override specific\n\t// navigation block settings.\n\thasSubmenuIndicatorSetting = true,\n\tcustomPlaceholder: CustomPlaceholder = null,\n\t__unstableLayoutClassNames: layoutClassNames,\n} ) {\n\tconst {\n\t\topenSubmenusOnClick,\n\t\toverlayMenu,\n\t\tshowSubmenuIcon,\n\t\ttemplateLock,\n\t\tlayout: {\n\t\t\tjustifyContent,\n\t\t\torientation = 'horizontal',\n\t\t\tflexWrap = 'wrap',\n\t\t} = {},\n\t\thasIcon,\n\t\ticon = 'handle',\n\t} = attributes;\n\n\tconst ref = attributes.ref;\n\n\tconst setRef = useCallback(\n\t\t( postId ) => {\n\t\t\tsetAttributes( { ref: postId } );\n\t\t},\n\t\t[ setAttributes ]\n\t);\n\n\tconst recursionId = `navigationMenu/${ ref }`;\n\tconst hasAlreadyRendered = useHasRecursion( recursionId );\n\n\tconst blockEditingMode = useBlockEditingMode();\n\n\t// Preload classic menus, so that they don't suddenly pop-in when viewing\n\t// the Select Menu dropdown.\n\tconst { menus: classicMenus } = useNavigationEntities();\n\n\tconst [ showNavigationMenuStatusNotice, hideNavigationMenuStatusNotice ] =\n\t\tuseNavigationNotice( {\n\t\t\tname: 'block-library/core/navigation/status',\n\t\t} );\n\n\tconst [ showClassicMenuConversionNotice, hideClassicMenuConversionNotice ] =\n\t\tuseNavigationNotice( {\n\t\t\tname: 'block-library/core/navigation/classic-menu-conversion',\n\t\t} );\n\n\tconst [\n\t\tshowNavigationMenuPermissionsNotice,\n\t\thideNavigationMenuPermissionsNotice,\n\t] = useNavigationNotice( {\n\t\tname: 'block-library/core/navigation/permissions/update',\n\t} );\n\n\tconst {\n\t\tcreate: createNavigationMenu,\n\t\tstatus: createNavigationMenuStatus,\n\t\terror: createNavigationMenuError,\n\t\tvalue: createNavigationMenuPost,\n\t\tisPending: isCreatingNavigationMenu,\n\t\tisSuccess: createNavigationMenuIsSuccess,\n\t\tisError: createNavigationMenuIsError,\n\t} = useCreateNavigationMenu( clientId );\n\n\tconst createUntitledEmptyNavigationMenu = () => {\n\t\tcreateNavigationMenu( '' );\n\t};\n\n\tconst {\n\t\thasUncontrolledInnerBlocks,\n\t\tuncontrolledInnerBlocks,\n\t\tisInnerBlockSelected,\n\t\tinnerBlocks,\n\t} = useInnerBlocks( clientId );\n\n\tconst hasSubmenus = !! innerBlocks.find(\n\t\t( block ) => block.name === 'core/navigation-submenu'\n\t);\n\n\tconst {\n\t\treplaceInnerBlocks,\n\t\tselectBlock,\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t} = useDispatch( blockEditorStore );\n\n\tconst [ isResponsiveMenuOpen, setResponsiveMenuVisibility ] =\n\t\tuseState( false );\n\n\tconst [ overlayMenuPreview, setOverlayMenuPreview ] = useState( false );\n\n\tconst {\n\t\thasResolvedNavigationMenus,\n\t\tisNavigationMenuResolved,\n\t\tisNavigationMenuMissing,\n\t\tcanUserUpdateNavigationMenu,\n\t\thasResolvedCanUserUpdateNavigationMenu,\n\t\tcanUserDeleteNavigationMenu,\n\t\thasResolvedCanUserDeleteNavigationMenu,\n\t\tcanUserCreateNavigationMenu,\n\t\tisResolvingCanUserCreateNavigationMenu,\n\t\thasResolvedCanUserCreateNavigationMenu,\n\t} = useNavigationMenu( ref );\n\n\tconst navMenuResolvedButMissing =\n\t\thasResolvedNavigationMenus && isNavigationMenuMissing;\n\n\tconst {\n\t\tconvert: convertClassicMenu,\n\t\tstatus: classicMenuConversionStatus,\n\t\terror: classicMenuConversionError,\n\t} = useConvertClassicToBlockMenu( createNavigationMenu );\n\n\tconst isConvertingClassicMenu =\n\t\tclassicMenuConversionStatus === CLASSIC_MENU_CONVERSION_PENDING;\n\n\tconst handleUpdateMenu = useCallback(\n\t\t( menuId, options = { focusNavigationBlock: false } ) => {\n\t\t\tconst { focusNavigationBlock } = options;\n\t\t\tsetRef( menuId );\n\t\t\tif ( focusNavigationBlock ) {\n\t\t\t\tselectBlock( clientId );\n\t\t\t}\n\t\t},\n\t\t[ selectBlock, clientId, setRef ]\n\t);\n\n\tconst isEntityAvailable =\n\t\t! isNavigationMenuMissing && isNavigationMenuResolved;\n\n\t// If the block has inner blocks, but no menu id, then these blocks are either:\n\t// - inserted via a pattern.\n\t// - inserted directly via Code View (or otherwise).\n\t// - from an older version of navigation block added before the block used a wp_navigation entity.\n\t// Consider this state as 'unsaved' and offer an uncontrolled version of inner blocks,\n\t// that automatically saves the menu as an entity when changes are made to the inner blocks.\n\tconst hasUnsavedBlocks = hasUncontrolledInnerBlocks && ! isEntityAvailable;\n\n\tconst { getNavigationFallbackId } = unlock( useSelect( coreStore ) );\n\n\tconst navigationFallbackId = ! ( ref || hasUnsavedBlocks )\n\t\t? getNavigationFallbackId()\n\t\t: null;\n\n\tuseEffect( () => {\n\t\t// If:\n\t\t// - there is an existing menu, OR\n\t\t// - there are existing (uncontrolled) inner blocks\n\t\t// ...then don't request a fallback menu.\n\t\tif ( ref || hasUnsavedBlocks || ! navigationFallbackId ) {\n\t\t\treturn;\n\t\t}\n\n\t\t/**\n\t\t * This fallback displays (both in editor and on front)\n\t\t * The fallback should not request a save (entity dirty state)\n\t\t * nor to be undoable, hence why it is marked as non persistent\n\t\t */\n\n\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\tsetRef( navigationFallbackId );\n\t}, [\n\t\tref,\n\t\tsetRef,\n\t\thasUnsavedBlocks,\n\t\tnavigationFallbackId,\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t] );\n\n\tconst navRef = useRef();\n\n\t// The standard HTML5 tag for the block wrapper.\n\tconst TagName = 'nav';\n\n\t// \"placeholder\" shown if:\n\t// - there is no ref attribute pointing to a Navigation Post.\n\t// - there is no classic menu conversion process in progress.\n\t// - there is no menu creation process in progress.\n\t// - there are no uncontrolled blocks.\n\tconst isPlaceholder =\n\t\t! ref &&\n\t\t! isCreatingNavigationMenu &&\n\t\t! isConvertingClassicMenu &&\n\t\thasResolvedNavigationMenus &&\n\t\tclassicMenus?.length === 0 &&\n\t\t! hasUncontrolledInnerBlocks;\n\n\t// \"loading\" state:\n\t// - there is a menu creation process in progress.\n\t// - there is a classic menu conversion process in progress.\n\t// OR:\n\t// - there is a ref attribute pointing to a Navigation Post\n\t// - the Navigation Post isn't available (hasn't resolved) yet.\n\tconst isLoading =\n\t\t! hasResolvedNavigationMenus ||\n\t\tisCreatingNavigationMenu ||\n\t\tisConvertingClassicMenu ||\n\t\t!! ( ref && ! isEntityAvailable && ! isConvertingClassicMenu );\n\n\tconst textDecoration = attributes.style?.typography?.textDecoration;\n\n\tconst hasBlockOverlay = useSelect(\n\t\t( select ) =>\n\t\t\tselect( blockEditorStore ).__unstableHasActiveBlockOverlayActive(\n\t\t\t\tclientId\n\t\t\t),\n\t\t[ clientId ]\n\t);\n\tconst isResponsive = 'never' !== overlayMenu;\n\tconst blockProps = useBlockProps( {\n\t\tref: navRef,\n\t\tclassName: classnames(\n\t\t\tclassName,\n\t\t\t{\n\t\t\t\t'items-justified-right': justifyContent === 'right',\n\t\t\t\t'items-justified-space-between':\n\t\t\t\t\tjustifyContent === 'space-between',\n\t\t\t\t'items-justified-left': justifyContent === 'left',\n\t\t\t\t'items-justified-center': justifyContent === 'center',\n\t\t\t\t'is-vertical': orientation === 'vertical',\n\t\t\t\t'no-wrap': flexWrap === 'nowrap',\n\t\t\t\t'is-responsive': isResponsive,\n\t\t\t\t'has-text-color': !! textColor.color || !! textColor?.class,\n\t\t\t\t[ getColorClassName( 'color', textColor?.slug ) ]:\n\t\t\t\t\t!! textColor?.slug,\n\t\t\t\t'has-background':\n\t\t\t\t\t!! backgroundColor.color || backgroundColor.class,\n\t\t\t\t[ getColorClassName(\n\t\t\t\t\t'background-color',\n\t\t\t\t\tbackgroundColor?.slug\n\t\t\t\t) ]: !! backgroundColor?.slug,\n\t\t\t\t[ `has-text-decoration-${ textDecoration }` ]: textDecoration,\n\t\t\t\t'block-editor-block-content-overlay': hasBlockOverlay,\n\t\t\t},\n\t\t\tlayoutClassNames\n\t\t),\n\t\tstyle: {\n\t\t\tcolor: ! textColor?.slug && textColor?.color,\n\t\t\tbackgroundColor: ! backgroundColor?.slug && backgroundColor?.color,\n\t\t},\n\t} );\n\n\t// Turn on contrast checker for web only since it's not supported on mobile yet.\n\tconst enableContrastChecking = Platform.OS === 'web';\n\n\tconst [ detectedBackgroundColor, setDetectedBackgroundColor ] = useState();\n\tconst [ detectedColor, setDetectedColor ] = useState();\n\tconst [\n\t\tdetectedOverlayBackgroundColor,\n\t\tsetDetectedOverlayBackgroundColor,\n\t] = useState();\n\tconst [ detectedOverlayColor, setDetectedOverlayColor ] = useState();\n\n\tconst onSelectClassicMenu = async ( classicMenu ) => {\n\t\tconst navMenu = await convertClassicMenu(\n\t\t\tclassicMenu.id,\n\t\t\tclassicMenu.name,\n\t\t\t'draft'\n\t\t);\n\t\tif ( navMenu ) {\n\t\t\thandleUpdateMenu( navMenu.id, {\n\t\t\t\tfocusNavigationBlock: true,\n\t\t\t} );\n\t\t}\n\t};\n\n\tconst onSelectNavigationMenu = ( menuId ) => {\n\t\thandleUpdateMenu( menuId );\n\t};\n\n\tuseEffect( () => {\n\t\thideNavigationMenuStatusNotice();\n\n\t\tif ( isCreatingNavigationMenu ) {\n\t\t\tspeak( __( `Creating Navigation Menu.` ) );\n\t\t}\n\n\t\tif ( createNavigationMenuIsSuccess ) {\n\t\t\thandleUpdateMenu( createNavigationMenuPost?.id, {\n\t\t\t\tfocusNavigationBlock: true,\n\t\t\t} );\n\n\t\t\tshowNavigationMenuStatusNotice(\n\t\t\t\t__( `Navigation Menu successfully created.` )\n\t\t\t);\n\t\t}\n\n\t\tif ( createNavigationMenuIsError ) {\n\t\t\tshowNavigationMenuStatusNotice(\n\t\t\t\t__( 'Failed to create Navigation Menu.' )\n\t\t\t);\n\t\t}\n\t}, [\n\t\tcreateNavigationMenuStatus,\n\t\tcreateNavigationMenuError,\n\t\tcreateNavigationMenuPost?.id,\n\t\tcreateNavigationMenuIsError,\n\t\tcreateNavigationMenuIsSuccess,\n\t\tisCreatingNavigationMenu,\n\t\thandleUpdateMenu,\n\t\thideNavigationMenuStatusNotice,\n\t\tshowNavigationMenuStatusNotice,\n\t] );\n\n\tuseEffect( () => {\n\t\thideClassicMenuConversionNotice();\n\t\tif ( classicMenuConversionStatus === CLASSIC_MENU_CONVERSION_PENDING ) {\n\t\t\tspeak( __( 'Classic menu importing.' ) );\n\t\t}\n\n\t\tif ( classicMenuConversionStatus === CLASSIC_MENU_CONVERSION_SUCCESS ) {\n\t\t\tshowClassicMenuConversionNotice(\n\t\t\t\t__( 'Classic menu imported successfully.' )\n\t\t\t);\n\t\t}\n\n\t\tif ( classicMenuConversionStatus === CLASSIC_MENU_CONVERSION_ERROR ) {\n\t\t\tshowClassicMenuConversionNotice(\n\t\t\t\t__( 'Classic menu import failed.' )\n\t\t\t);\n\t\t}\n\t}, [\n\t\tclassicMenuConversionStatus,\n\t\tclassicMenuConversionError,\n\t\thideClassicMenuConversionNotice,\n\t\tshowClassicMenuConversionNotice,\n\t] );\n\n\tuseEffect( () => {\n\t\tif ( ! enableContrastChecking ) {\n\t\t\treturn;\n\t\t}\n\t\tdetectColors(\n\t\t\tnavRef.current,\n\t\t\tsetDetectedColor,\n\t\t\tsetDetectedBackgroundColor\n\t\t);\n\n\t\tconst subMenuElement = navRef.current?.querySelector(\n\t\t\t'[data-type=\"core/navigation-submenu\"] [data-type=\"core/navigation-link\"]'\n\t\t);\n\n\t\tif ( ! subMenuElement ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Only detect submenu overlay colors if they have previously been explicitly set.\n\t\t// This avoids the contrast checker from reporting on inherited submenu colors and\n\t\t// showing the contrast warning twice.\n\t\tif ( overlayTextColor.color || overlayBackgroundColor.color ) {\n\t\t\tdetectColors(\n\t\t\t\tsubMenuElement,\n\t\t\t\tsetDetectedOverlayColor,\n\t\t\t\tsetDetectedOverlayBackgroundColor\n\t\t\t);\n\t\t}\n\t}, [\n\t\tenableContrastChecking,\n\t\toverlayTextColor.color,\n\t\toverlayBackgroundColor.color,\n\t] );\n\n\tuseEffect( () => {\n\t\tif ( ! isSelected && ! isInnerBlockSelected ) {\n\t\t\thideNavigationMenuPermissionsNotice();\n\t\t}\n\n\t\tif ( isSelected || isInnerBlockSelected ) {\n\t\t\tif (\n\t\t\t\tref &&\n\t\t\t\t! navMenuResolvedButMissing &&\n\t\t\t\thasResolvedCanUserUpdateNavigationMenu &&\n\t\t\t\t! canUserUpdateNavigationMenu\n\t\t\t) {\n\t\t\t\tshowNavigationMenuPermissionsNotice(\n\t\t\t\t\t__(\n\t\t\t\t\t\t'You do not have permission to edit this Menu. Any changes made will not be saved.'\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif (\n\t\t\t\t! ref &&\n\t\t\t\thasResolvedCanUserCreateNavigationMenu &&\n\t\t\t\t! canUserCreateNavigationMenu\n\t\t\t) {\n\t\t\t\tshowNavigationMenuPermissionsNotice(\n\t\t\t\t\t__(\n\t\t\t\t\t\t'You do not have permission to create Navigation Menus.'\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t}, [\n\t\tisSelected,\n\t\tisInnerBlockSelected,\n\t\tcanUserUpdateNavigationMenu,\n\t\thasResolvedCanUserUpdateNavigationMenu,\n\t\tcanUserCreateNavigationMenu,\n\t\thasResolvedCanUserCreateNavigationMenu,\n\t\tref,\n\t\thideNavigationMenuPermissionsNotice,\n\t\tshowNavigationMenuPermissionsNotice,\n\t\tnavMenuResolvedButMissing,\n\t] );\n\n\tconst hasManagePermissions =\n\t\tcanUserCreateNavigationMenu || canUserUpdateNavigationMenu;\n\n\tconst overlayMenuPreviewClasses = classnames(\n\t\t'wp-block-navigation__overlay-menu-preview',\n\t\t{ open: overlayMenuPreview }\n\t);\n\n\tconst submenuAccessibilityNotice =\n\t\t! showSubmenuIcon && ! openSubmenusOnClick\n\t\t\t? __(\n\t\t\t\t\t'The current menu options offer reduced accessibility for users and are not recommended. Enabling either \"Open on Click\" or \"Show arrow\" offers enhanced accessibility by allowing keyboard users to browse submenus selectively.'\n\t\t\t )\n\t\t\t: '';\n\n\tconst isFirstRender = useRef( true ); // Don't speak on first render.\n\tuseEffect( () => {\n\t\tif ( ! isFirstRender.current && submenuAccessibilityNotice ) {\n\t\t\tspeak( submenuAccessibilityNotice );\n\t\t}\n\t\tisFirstRender.current = false;\n\t}, [ submenuAccessibilityNotice ] );\n\n\tconst overlayMenuPreviewId = useInstanceId(\n\t\tOverlayMenuPreview,\n\t\t`overlay-menu-preview`\n\t);\n\n\tconst colorGradientSettings = useMultipleOriginColorsAndGradients();\n\tconst stylingInspectorControls = (\n\t\t<>\n\t\t\t<InspectorControls>\n\t\t\t\t{ hasSubmenuIndicatorSetting && (\n\t\t\t\t\t<PanelBody title={ __( 'Display' ) }>\n\t\t\t\t\t\t{ isResponsive && (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\tclassName={ overlayMenuPreviewClasses }\n\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\tsetOverlayMenuPreview(\n\t\t\t\t\t\t\t\t\t\t\t! overlayMenuPreview\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\taria-label={ __( 'Overlay menu controls' ) }\n\t\t\t\t\t\t\t\t\taria-controls={ overlayMenuPreviewId }\n\t\t\t\t\t\t\t\t\taria-expanded={ overlayMenuPreview }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ hasIcon && (\n\t\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t\t<OverlayMenuIcon icon={ icon } />\n\t\t\t\t\t\t\t\t\t\t\t<Icon icon={ close } />\n\t\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t{ ! hasIcon && (\n\t\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t\t<span>{ __( 'Menu' ) }</span>\n\t\t\t\t\t\t\t\t\t\t\t<span>{ __( 'Close' ) }</span>\n\t\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t<div id={ overlayMenuPreviewId }>\n\t\t\t\t\t\t\t\t\t{ overlayMenuPreview && (\n\t\t\t\t\t\t\t\t\t\t<OverlayMenuPreview\n\t\t\t\t\t\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t\t\t\t\t\t\thasIcon={ hasIcon }\n\t\t\t\t\t\t\t\t\t\t\ticon={ icon }\n\t\t\t\t\t\t\t\t\t\t\thidden={ ! overlayMenuPreview }\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t<h3>{ __( 'Overlay Menu' ) }</h3>\n\t\t\t\t\t\t<ToggleGroupControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Configure overlay menu' ) }\n\t\t\t\t\t\t\tvalue={ overlayMenu }\n\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t'Collapses the navigation options in a menu icon opening an overlay.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( { overlayMenu: value } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tisBlock\n\t\t\t\t\t\t\thideLabelFromVision\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\t\tvalue=\"never\"\n\t\t\t\t\t\t\t\tlabel={ __( 'Off' ) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\t\tvalue=\"mobile\"\n\t\t\t\t\t\t\t\tlabel={ __( 'Mobile' ) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\t\tvalue=\"always\"\n\t\t\t\t\t\t\t\tlabel={ __( 'Always' ) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToggleGroupControl>\n\t\t\t\t\t\t{ hasSubmenus && (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<h3>{ __( 'Submenus' ) }</h3>\n\t\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\t\tchecked={ openSubmenusOnClick }\n\t\t\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\t\topenSubmenusOnClick: value,\n\t\t\t\t\t\t\t\t\t\t\t...( value && {\n\t\t\t\t\t\t\t\t\t\t\t\tshowSubmenuIcon: true,\n\t\t\t\t\t\t\t\t\t\t\t} ), // Make sure arrows are shown when we toggle this on.\n\t\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Open on click' ) }\n\t\t\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\t\tchecked={ showSubmenuIcon }\n\t\t\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\t\tshowSubmenuIcon: value,\n\t\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\tdisabled={ attributes.openSubmenusOnClick }\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Show arrow' ) }\n\t\t\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t\t\t{ submenuAccessibilityNotice && (\n\t\t\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t\t\t<Notice\n\t\t\t\t\t\t\t\t\t\t\tspokenMessage={ null }\n\t\t\t\t\t\t\t\t\t\t\tstatus=\"warning\"\n\t\t\t\t\t\t\t\t\t\t\tisDismissible={ false }\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ submenuAccessibilityNotice }\n\t\t\t\t\t\t\t\t\t\t</Notice>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</PanelBody>\n\t\t\t\t) }\n\t\t\t</InspectorControls>\n\t\t\t{ colorGradientSettings.hasColorsOrGradients && (\n\t\t\t\t<InspectorControls group=\"color\">\n\t\t\t\t\t<ColorGradientSettingsDropdown\n\t\t\t\t\t\t__experimentalIsRenderedInSidebar\n\t\t\t\t\t\tsettings={ [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tcolorValue: textColor.color,\n\t\t\t\t\t\t\t\tlabel: __( 'Text' ),\n\t\t\t\t\t\t\t\tonColorChange: setTextColor,\n\t\t\t\t\t\t\t\tresetAllFilter: () => setTextColor(),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tcolorValue: backgroundColor.color,\n\t\t\t\t\t\t\t\tlabel: __( 'Background' ),\n\t\t\t\t\t\t\t\tonColorChange: setBackgroundColor,\n\t\t\t\t\t\t\t\tresetAllFilter: () => setBackgroundColor(),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tcolorValue: overlayTextColor.color,\n\t\t\t\t\t\t\t\tlabel: __( 'Submenu & overlay text' ),\n\t\t\t\t\t\t\t\tonColorChange: setOverlayTextColor,\n\t\t\t\t\t\t\t\tresetAllFilter: () => setOverlayTextColor(),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tcolorValue: overlayBackgroundColor.color,\n\t\t\t\t\t\t\t\tlabel: __( 'Submenu & overlay background' ),\n\t\t\t\t\t\t\t\tonColorChange: setOverlayBackgroundColor,\n\t\t\t\t\t\t\t\tresetAllFilter: () =>\n\t\t\t\t\t\t\t\t\tsetOverlayBackgroundColor(),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t] }\n\t\t\t\t\t\tpanelId={ clientId }\n\t\t\t\t\t\t{ ...colorGradientSettings }\n\t\t\t\t\t\tgradients={ [] }\n\t\t\t\t\t\tdisableCustomGradients={ true }\n\t\t\t\t\t/>\n\t\t\t\t\t{ enableContrastChecking && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<ContrastChecker\n\t\t\t\t\t\t\t\tbackgroundColor={ detectedBackgroundColor }\n\t\t\t\t\t\t\t\ttextColor={ detectedColor }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<ContrastChecker\n\t\t\t\t\t\t\t\tbackgroundColor={\n\t\t\t\t\t\t\t\t\tdetectedOverlayBackgroundColor\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\ttextColor={ detectedOverlayColor }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</>\n\t\t\t\t\t) }\n\t\t\t\t</InspectorControls>\n\t\t\t) }\n\t\t</>\n\t);\n\n\tconst accessibleDescriptionId = `${ clientId }-desc`;\n\n\tconst isManageMenusButtonDisabled =\n\t\t! hasManagePermissions || ! hasResolvedNavigationMenus;\n\n\tif ( hasUnsavedBlocks && ! isCreatingNavigationMenu ) {\n\t\treturn (\n\t\t\t<TagName\n\t\t\t\t{ ...blockProps }\n\t\t\t\taria-describedby={\n\t\t\t\t\t! isPlaceholder ? accessibleDescriptionId : undefined\n\t\t\t\t}\n\t\t\t>\n\t\t\t\t<AccessibleDescription id={ accessibleDescriptionId }>\n\t\t\t\t\t{ __( 'Unsaved Navigation Menu.' ) }\n\t\t\t\t</AccessibleDescription>\n\n\t\t\t\t<MenuInspectorControls\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tcreateNavigationMenuIsSuccess={\n\t\t\t\t\t\tcreateNavigationMenuIsSuccess\n\t\t\t\t\t}\n\t\t\t\t\tcreateNavigationMenuIsError={ createNavigationMenuIsError }\n\t\t\t\t\tcurrentMenuId={ ref }\n\t\t\t\t\tisNavigationMenuMissing={ isNavigationMenuMissing }\n\t\t\t\t\tisManageMenusButtonDisabled={ isManageMenusButtonDisabled }\n\t\t\t\t\tonCreateNew={ createUntitledEmptyNavigationMenu }\n\t\t\t\t\tonSelectClassicMenu={ onSelectClassicMenu }\n\t\t\t\t\tonSelectNavigationMenu={ onSelectNavigationMenu }\n\t\t\t\t\tisLoading={ isLoading }\n\t\t\t\t\tblockEditingMode={ blockEditingMode }\n\t\t\t\t/>\n\t\t\t\t{ blockEditingMode === 'default' && stylingInspectorControls }\n\t\t\t\t<ResponsiveWrapper\n\t\t\t\t\tid={ clientId }\n\t\t\t\t\tonToggle={ setResponsiveMenuVisibility }\n\t\t\t\t\tisOpen={ isResponsiveMenuOpen }\n\t\t\t\t\thasIcon={ hasIcon }\n\t\t\t\t\ticon={ icon }\n\t\t\t\t\tisResponsive={ isResponsive }\n\t\t\t\t\tisHiddenByDefault={ 'always' === overlayMenu }\n\t\t\t\t\toverlayBackgroundColor={ overlayBackgroundColor }\n\t\t\t\t\toverlayTextColor={ overlayTextColor }\n\t\t\t\t>\n\t\t\t\t\t<UnsavedInnerBlocks\n\t\t\t\t\t\tcreateNavigationMenu={ createNavigationMenu }\n\t\t\t\t\t\tblocks={ uncontrolledInnerBlocks }\n\t\t\t\t\t\thasSelection={ isSelected || isInnerBlockSelected }\n\t\t\t\t\t/>\n\t\t\t\t</ResponsiveWrapper>\n\t\t\t</TagName>\n\t\t);\n\t}\n\n\t// Show a warning if the selected menu is no longer available.\n\t// TODO - the user should be able to select a new one?\n\tif ( ref && isNavigationMenuMissing ) {\n\t\treturn (\n\t\t\t<TagName { ...blockProps }>\n\t\t\t\t<MenuInspectorControls\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tcreateNavigationMenuIsSuccess={\n\t\t\t\t\t\tcreateNavigationMenuIsSuccess\n\t\t\t\t\t}\n\t\t\t\t\tcreateNavigationMenuIsError={ createNavigationMenuIsError }\n\t\t\t\t\tcurrentMenuId={ ref }\n\t\t\t\t\tisNavigationMenuMissing={ isNavigationMenuMissing }\n\t\t\t\t\tisManageMenusButtonDisabled={ isManageMenusButtonDisabled }\n\t\t\t\t\tonCreateNew={ createUntitledEmptyNavigationMenu }\n\t\t\t\t\tonSelectClassicMenu={ onSelectClassicMenu }\n\t\t\t\t\tonSelectNavigationMenu={ onSelectNavigationMenu }\n\t\t\t\t\tisLoading={ isLoading }\n\t\t\t\t\tblockEditingMode={ blockEditingMode }\n\t\t\t\t/>\n\t\t\t\t<DeletedNavigationWarning\n\t\t\t\t\tonCreateNew={ createUntitledEmptyNavigationMenu }\n\t\t\t\t/>\n\t\t\t</TagName>\n\t\t);\n\t}\n\n\tif ( isEntityAvailable && hasAlreadyRendered ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<Warning>\n\t\t\t\t\t{ __( 'Block cannot be rendered inside itself.' ) }\n\t\t\t\t</Warning>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tconst PlaceholderComponent = CustomPlaceholder\n\t\t? CustomPlaceholder\n\t\t: Placeholder;\n\n\t/**\n\t * Historically the navigation block has supported custom placeholders.\n\t * Even though the current UX tries as hard as possible not to\n\t * end up in a placeholder state, the block continues to support\n\t * this extensibility point, via a CustomPlaceholder.\n\t * When CustomPlaceholder is present it becomes the default fallback\n\t * for an empty navigation block, instead of the default fallbacks.\n\t *\n\t */\n\n\tif ( isPlaceholder && CustomPlaceholder ) {\n\t\treturn (\n\t\t\t<TagName { ...blockProps }>\n\t\t\t\t<PlaceholderComponent\n\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\tcurrentMenuId={ ref }\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tcanUserCreateNavigationMenu={ canUserCreateNavigationMenu }\n\t\t\t\t\tisResolvingCanUserCreateNavigationMenu={\n\t\t\t\t\t\tisResolvingCanUserCreateNavigationMenu\n\t\t\t\t\t}\n\t\t\t\t\tonSelectNavigationMenu={ onSelectNavigationMenu }\n\t\t\t\t\tonSelectClassicMenu={ onSelectClassicMenu }\n\t\t\t\t\tonCreateEmpty={ createUntitledEmptyNavigationMenu }\n\t\t\t\t/>\n\t\t\t</TagName>\n\t\t);\n\t}\n\n\treturn (\n\t\t<EntityProvider kind=\"postType\" type=\"wp_navigation\" id={ ref }>\n\t\t\t<RecursionProvider uniqueId={ recursionId }>\n\t\t\t\t<MenuInspectorControls\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tcreateNavigationMenuIsSuccess={\n\t\t\t\t\t\tcreateNavigationMenuIsSuccess\n\t\t\t\t\t}\n\t\t\t\t\tcreateNavigationMenuIsError={ createNavigationMenuIsError }\n\t\t\t\t\tcurrentMenuId={ ref }\n\t\t\t\t\tisNavigationMenuMissing={ isNavigationMenuMissing }\n\t\t\t\t\tisManageMenusButtonDisabled={ isManageMenusButtonDisabled }\n\t\t\t\t\tonCreateNew={ createUntitledEmptyNavigationMenu }\n\t\t\t\t\tonSelectClassicMenu={ onSelectClassicMenu }\n\t\t\t\t\tonSelectNavigationMenu={ onSelectNavigationMenu }\n\t\t\t\t\tisLoading={ isLoading }\n\t\t\t\t\tblockEditingMode={ blockEditingMode }\n\t\t\t\t/>\n\t\t\t\t{ blockEditingMode === 'default' && stylingInspectorControls }\n\t\t\t\t{ blockEditingMode === 'default' && isEntityAvailable && (\n\t\t\t\t\t<InspectorControls group=\"advanced\">\n\t\t\t\t\t\t{ hasResolvedCanUserUpdateNavigationMenu &&\n\t\t\t\t\t\t\tcanUserUpdateNavigationMenu && (\n\t\t\t\t\t\t\t\t<NavigationMenuNameControl />\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ hasResolvedCanUserDeleteNavigationMenu &&\n\t\t\t\t\t\t\tcanUserDeleteNavigationMenu && (\n\t\t\t\t\t\t\t\t<NavigationMenuDeleteControl\n\t\t\t\t\t\t\t\t\tonDelete={ ( deletedMenuTitle = '' ) => {\n\t\t\t\t\t\t\t\t\t\treplaceInnerBlocks( clientId, [] );\n\t\t\t\t\t\t\t\t\t\tshowNavigationMenuStatusNotice(\n\t\t\t\t\t\t\t\t\t\t\tsprintf(\n\t\t\t\t\t\t\t\t\t\t\t\t// translators: %s: the name of a menu (e.g. Header navigation).\n\t\t\t\t\t\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t\t\t\t\t\t'Navigation menu %s successfully deleted.'\n\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t\tdeletedMenuTitle\n\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t<ManageMenusButton\n\t\t\t\t\t\t\tdisabled={ isManageMenusButtonDisabled }\n\t\t\t\t\t\t\tclassName=\"wp-block-navigation-manage-menus-button\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</InspectorControls>\n\t\t\t\t) }\n\n\t\t\t\t{ isLoading && (\n\t\t\t\t\t<TagName { ...blockProps }>\n\t\t\t\t\t\t<div className=\"wp-block-navigation__loading-indicator-container\">\n\t\t\t\t\t\t\t<Spinner className=\"wp-block-navigation__loading-indicator\" />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</TagName>\n\t\t\t\t) }\n\n\t\t\t\t{ ! isLoading && (\n\t\t\t\t\t<TagName\n\t\t\t\t\t\t{ ...blockProps }\n\t\t\t\t\t\taria-describedby={\n\t\t\t\t\t\t\t! isPlaceholder\n\t\t\t\t\t\t\t\t? accessibleDescriptionId\n\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t<AccessibleMenuDescription\n\t\t\t\t\t\t\tid={ accessibleDescriptionId }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<ResponsiveWrapper\n\t\t\t\t\t\t\tid={ clientId }\n\t\t\t\t\t\t\tonToggle={ setResponsiveMenuVisibility }\n\t\t\t\t\t\t\thasIcon={ hasIcon }\n\t\t\t\t\t\t\ticon={ icon }\n\t\t\t\t\t\t\tisOpen={ isResponsiveMenuOpen }\n\t\t\t\t\t\t\tisResponsive={ isResponsive }\n\t\t\t\t\t\t\tisHiddenByDefault={ 'always' === overlayMenu }\n\t\t\t\t\t\t\toverlayBackgroundColor={ overlayBackgroundColor }\n\t\t\t\t\t\t\toverlayTextColor={ overlayTextColor }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ isEntityAvailable && (\n\t\t\t\t\t\t\t\t<NavigationInnerBlocks\n\t\t\t\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t\t\t\thasCustomPlaceholder={\n\t\t\t\t\t\t\t\t\t\t!! CustomPlaceholder\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\ttemplateLock={ templateLock }\n\t\t\t\t\t\t\t\t\torientation={ orientation }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</ResponsiveWrapper>\n\t\t\t\t\t</TagName>\n\t\t\t\t) }\n\t\t\t</RecursionProvider>\n\t\t</EntityProvider>\n\t);\n}\n\nexport default withColors(\n\t{ textColor: 'color' },\n\t{ backgroundColor: 'color' },\n\t{ overlayBackgroundColor: 'color' },\n\t{ overlayTextColor: 'color' }\n)( Navigation );\n"],"mappings":"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"}
1
+ {"version":3,"names":["_classnames","_interopRequireDefault","require","_element","_blockEditor","_coreData","_data","_components","_i18n","_a11y","_icons","_compose","_useNavigationMenu","_useNavigationEntities","_placeholder","_responsiveWrapper","_innerBlocks","_navigationMenuNameControl","_unsavedInnerBlocks","_navigationMenuDeleteControl","_useNavigationNotice","_overlayMenuIcon","_overlayMenuPreview","_useConvertClassicMenuToBlockMenu","_interopRequireWildcard","_useCreateNavigationMenu","_useInnerBlocks","_utils","_manageMenusButton","_menuInspectorControls","_deletedNavigationWarning","_accessibleDescription","_accessibleMenuDescription","_lockUnlock","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","Navigation","attributes","setAttributes","clientId","isSelected","className","backgroundColor","setBackgroundColor","textColor","setTextColor","overlayBackgroundColor","setOverlayBackgroundColor","overlayTextColor","setOverlayTextColor","hasSubmenuIndicatorSetting","customPlaceholder","CustomPlaceholder","__unstableLayoutClassNames","layoutClassNames","openSubmenusOnClick","overlayMenu","showSubmenuIcon","templateLock","layout","justifyContent","orientation","flexWrap","hasIcon","icon","ref","setRef","useCallback","postId","recursionId","hasAlreadyRendered","useHasRecursion","blockEditingMode","useBlockEditingMode","menus","classicMenus","useNavigationEntities","showNavigationMenuStatusNotice","hideNavigationMenuStatusNotice","useNavigationNotice","name","showClassicMenuConversionNotice","hideClassicMenuConversionNotice","showNavigationMenuPermissionsNotice","hideNavigationMenuPermissionsNotice","create","createNavigationMenu","status","createNavigationMenuStatus","error","createNavigationMenuError","value","createNavigationMenuPost","isPending","isCreatingNavigationMenu","isSuccess","createNavigationMenuIsSuccess","isError","createNavigationMenuIsError","useCreateNavigationMenu","createUntitledEmptyNavigationMenu","hasUncontrolledInnerBlocks","uncontrolledInnerBlocks","isInnerBlockSelected","innerBlocks","useInnerBlocks","hasSubmenus","find","block","replaceInnerBlocks","selectBlock","__unstableMarkNextChangeAsNotPersistent","useDispatch","blockEditorStore","isResponsiveMenuOpen","setResponsiveMenuVisibility","useState","overlayMenuPreview","setOverlayMenuPreview","hasResolvedNavigationMenus","isNavigationMenuResolved","isNavigationMenuMissing","canUserUpdateNavigationMenu","hasResolvedCanUserUpdateNavigationMenu","canUserDeleteNavigationMenu","hasResolvedCanUserDeleteNavigationMenu","canUserCreateNavigationMenu","isResolvingCanUserCreateNavigationMenu","hasResolvedCanUserCreateNavigationMenu","useNavigationMenu","navMenuResolvedButMissing","convert","convertClassicMenu","classicMenuConversionStatus","classicMenuConversionError","useConvertClassicToBlockMenu","isConvertingClassicMenu","CLASSIC_MENU_CONVERSION_PENDING","handleUpdateMenu","menuId","options","focusNavigationBlock","isEntityAvailable","hasUnsavedBlocks","getNavigationFallbackId","unlock","useSelect","coreStore","navigationFallbackId","useEffect","navRef","useRef","TagName","isPlaceholder","length","isLoading","textDecoration","style","typography","hasBlockOverlay","select","__unstableHasActiveBlockOverlayActive","isResponsive","blockProps","useBlockProps","classnames","color","class","getColorClassName","slug","enableContrastChecking","Platform","OS","detectedBackgroundColor","setDetectedBackgroundColor","detectedColor","setDetectedColor","detectedOverlayBackgroundColor","setDetectedOverlayBackgroundColor","detectedOverlayColor","setDetectedOverlayColor","onSelectClassicMenu","classicMenu","navMenu","id","onSelectNavigationMenu","speak","__","CLASSIC_MENU_CONVERSION_SUCCESS","CLASSIC_MENU_CONVERSION_ERROR","detectColors","current","subMenuElement","querySelector","hasManagePermissions","overlayMenuPreviewClasses","open","submenuAccessibilityNotice","isFirstRender","overlayMenuPreviewId","useInstanceId","OverlayMenuPreview","colorGradientSettings","useMultipleOriginColorsAndGradients","stylingInspectorControls","_react","createElement","Fragment","InspectorControls","PanelBody","title","Button","onClick","Icon","close","hidden","__experimentalToggleGroupControl","__nextHasNoMarginBottom","label","help","onChange","isBlock","hideLabelFromVision","__experimentalToggleGroupControlOption","ToggleControl","checked","disabled","Notice","spokenMessage","isDismissible","hasColorsOrGradients","group","__experimentalColorGradientSettingsDropdown","__experimentalIsRenderedInSidebar","settings","colorValue","onColorChange","resetAllFilter","panelId","gradients","disableCustomGradients","ContrastChecker","accessibleDescriptionId","isManageMenusButtonDisabled","undefined","currentMenuId","onCreateNew","onToggle","isOpen","isHiddenByDefault","blocks","hasSelection","Warning","PlaceholderComponent","Placeholder","onCreateEmpty","EntityProvider","kind","type","RecursionProvider","uniqueId","onDelete","deletedMenuTitle","sprintf","Spinner","hasCustomPlaceholder","_default","exports","withColors"],"sources":["@wordpress/block-library/src/navigation/edit/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tuseCallback,\n\tuseState,\n\tuseEffect,\n\tuseRef,\n\tPlatform,\n} from '@wordpress/element';\nimport {\n\tInspectorControls,\n\tuseBlockProps,\n\tRecursionProvider,\n\tuseHasRecursion,\n\tstore as blockEditorStore,\n\twithColors,\n\tContrastChecker,\n\tgetColorClassName,\n\tWarning,\n\t__experimentalColorGradientSettingsDropdown as ColorGradientSettingsDropdown,\n\t__experimentalUseMultipleOriginColorsAndGradients as useMultipleOriginColorsAndGradients,\n\tuseBlockEditingMode,\n} from '@wordpress/block-editor';\nimport { EntityProvider, store as coreStore } from '@wordpress/core-data';\n\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport {\n\tPanelBody,\n\tToggleControl,\n\t__experimentalToggleGroupControl as ToggleGroupControl,\n\t__experimentalToggleGroupControlOption as ToggleGroupControlOption,\n\tButton,\n\tSpinner,\n\tNotice,\n} from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { speak } from '@wordpress/a11y';\nimport { close, Icon } from '@wordpress/icons';\nimport { useInstanceId } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport useNavigationMenu from '../use-navigation-menu';\nimport useNavigationEntities from '../use-navigation-entities';\nimport Placeholder from './placeholder';\nimport ResponsiveWrapper from './responsive-wrapper';\nimport NavigationInnerBlocks from './inner-blocks';\nimport NavigationMenuNameControl from './navigation-menu-name-control';\nimport UnsavedInnerBlocks from './unsaved-inner-blocks';\nimport NavigationMenuDeleteControl from './navigation-menu-delete-control';\nimport useNavigationNotice from './use-navigation-notice';\nimport OverlayMenuIcon from './overlay-menu-icon';\nimport OverlayMenuPreview from './overlay-menu-preview';\nimport useConvertClassicToBlockMenu, {\n\tCLASSIC_MENU_CONVERSION_ERROR,\n\tCLASSIC_MENU_CONVERSION_PENDING,\n\tCLASSIC_MENU_CONVERSION_SUCCESS,\n} from './use-convert-classic-menu-to-block-menu';\nimport useCreateNavigationMenu from './use-create-navigation-menu';\nimport { useInnerBlocks } from './use-inner-blocks';\nimport { detectColors } from './utils';\nimport ManageMenusButton from './manage-menus-button';\nimport MenuInspectorControls from './menu-inspector-controls';\nimport DeletedNavigationWarning from './deleted-navigation-warning';\nimport AccessibleDescription from './accessible-description';\nimport AccessibleMenuDescription from './accessible-menu-description';\nimport { unlock } from '../../lock-unlock';\n\nfunction Navigation( {\n\tattributes,\n\tsetAttributes,\n\tclientId,\n\tisSelected,\n\tclassName,\n\tbackgroundColor,\n\tsetBackgroundColor,\n\ttextColor,\n\tsetTextColor,\n\toverlayBackgroundColor,\n\tsetOverlayBackgroundColor,\n\toverlayTextColor,\n\tsetOverlayTextColor,\n\n\t// These props are used by the navigation editor to override specific\n\t// navigation block settings.\n\thasSubmenuIndicatorSetting = true,\n\tcustomPlaceholder: CustomPlaceholder = null,\n\t__unstableLayoutClassNames: layoutClassNames,\n} ) {\n\tconst {\n\t\topenSubmenusOnClick,\n\t\toverlayMenu,\n\t\tshowSubmenuIcon,\n\t\ttemplateLock,\n\t\tlayout: {\n\t\t\tjustifyContent,\n\t\t\torientation = 'horizontal',\n\t\t\tflexWrap = 'wrap',\n\t\t} = {},\n\t\thasIcon,\n\t\ticon = 'handle',\n\t} = attributes;\n\n\tconst ref = attributes.ref;\n\n\tconst setRef = useCallback(\n\t\t( postId ) => {\n\t\t\tsetAttributes( { ref: postId } );\n\t\t},\n\t\t[ setAttributes ]\n\t);\n\n\tconst recursionId = `navigationMenu/${ ref }`;\n\tconst hasAlreadyRendered = useHasRecursion( recursionId );\n\n\tconst blockEditingMode = useBlockEditingMode();\n\n\t// Preload classic menus, so that they don't suddenly pop-in when viewing\n\t// the Select Menu dropdown.\n\tconst { menus: classicMenus } = useNavigationEntities();\n\n\tconst [ showNavigationMenuStatusNotice, hideNavigationMenuStatusNotice ] =\n\t\tuseNavigationNotice( {\n\t\t\tname: 'block-library/core/navigation/status',\n\t\t} );\n\n\tconst [ showClassicMenuConversionNotice, hideClassicMenuConversionNotice ] =\n\t\tuseNavigationNotice( {\n\t\t\tname: 'block-library/core/navigation/classic-menu-conversion',\n\t\t} );\n\n\tconst [\n\t\tshowNavigationMenuPermissionsNotice,\n\t\thideNavigationMenuPermissionsNotice,\n\t] = useNavigationNotice( {\n\t\tname: 'block-library/core/navigation/permissions/update',\n\t} );\n\n\tconst {\n\t\tcreate: createNavigationMenu,\n\t\tstatus: createNavigationMenuStatus,\n\t\terror: createNavigationMenuError,\n\t\tvalue: createNavigationMenuPost,\n\t\tisPending: isCreatingNavigationMenu,\n\t\tisSuccess: createNavigationMenuIsSuccess,\n\t\tisError: createNavigationMenuIsError,\n\t} = useCreateNavigationMenu( clientId );\n\n\tconst createUntitledEmptyNavigationMenu = async () => {\n\t\tawait createNavigationMenu( '' );\n\t};\n\n\tconst {\n\t\thasUncontrolledInnerBlocks,\n\t\tuncontrolledInnerBlocks,\n\t\tisInnerBlockSelected,\n\t\tinnerBlocks,\n\t} = useInnerBlocks( clientId );\n\n\tconst hasSubmenus = !! innerBlocks.find(\n\t\t( block ) => block.name === 'core/navigation-submenu'\n\t);\n\n\tconst {\n\t\treplaceInnerBlocks,\n\t\tselectBlock,\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t} = useDispatch( blockEditorStore );\n\n\tconst [ isResponsiveMenuOpen, setResponsiveMenuVisibility ] =\n\t\tuseState( false );\n\n\tconst [ overlayMenuPreview, setOverlayMenuPreview ] = useState( false );\n\n\tconst {\n\t\thasResolvedNavigationMenus,\n\t\tisNavigationMenuResolved,\n\t\tisNavigationMenuMissing,\n\t\tcanUserUpdateNavigationMenu,\n\t\thasResolvedCanUserUpdateNavigationMenu,\n\t\tcanUserDeleteNavigationMenu,\n\t\thasResolvedCanUserDeleteNavigationMenu,\n\t\tcanUserCreateNavigationMenu,\n\t\tisResolvingCanUserCreateNavigationMenu,\n\t\thasResolvedCanUserCreateNavigationMenu,\n\t} = useNavigationMenu( ref );\n\n\tconst navMenuResolvedButMissing =\n\t\thasResolvedNavigationMenus && isNavigationMenuMissing;\n\n\tconst {\n\t\tconvert: convertClassicMenu,\n\t\tstatus: classicMenuConversionStatus,\n\t\terror: classicMenuConversionError,\n\t} = useConvertClassicToBlockMenu( createNavigationMenu );\n\n\tconst isConvertingClassicMenu =\n\t\tclassicMenuConversionStatus === CLASSIC_MENU_CONVERSION_PENDING;\n\n\tconst handleUpdateMenu = useCallback(\n\t\t( menuId, options = { focusNavigationBlock: false } ) => {\n\t\t\tconst { focusNavigationBlock } = options;\n\t\t\tsetRef( menuId );\n\t\t\tif ( focusNavigationBlock ) {\n\t\t\t\tselectBlock( clientId );\n\t\t\t}\n\t\t},\n\t\t[ selectBlock, clientId, setRef ]\n\t);\n\n\tconst isEntityAvailable =\n\t\t! isNavigationMenuMissing && isNavigationMenuResolved;\n\n\t// If the block has inner blocks, but no menu id, then these blocks are either:\n\t// - inserted via a pattern.\n\t// - inserted directly via Code View (or otherwise).\n\t// - from an older version of navigation block added before the block used a wp_navigation entity.\n\t// Consider this state as 'unsaved' and offer an uncontrolled version of inner blocks,\n\t// that automatically saves the menu as an entity when changes are made to the inner blocks.\n\tconst hasUnsavedBlocks = hasUncontrolledInnerBlocks && ! isEntityAvailable;\n\n\tconst { getNavigationFallbackId } = unlock( useSelect( coreStore ) );\n\n\tconst navigationFallbackId = ! ( ref || hasUnsavedBlocks )\n\t\t? getNavigationFallbackId()\n\t\t: null;\n\n\tuseEffect( () => {\n\t\t// If:\n\t\t// - there is an existing menu, OR\n\t\t// - there are existing (uncontrolled) inner blocks\n\t\t// ...then don't request a fallback menu.\n\t\tif ( ref || hasUnsavedBlocks || ! navigationFallbackId ) {\n\t\t\treturn;\n\t\t}\n\n\t\t/**\n\t\t * This fallback displays (both in editor and on front)\n\t\t * The fallback should not request a save (entity dirty state)\n\t\t * nor to be undoable, hence why it is marked as non persistent\n\t\t */\n\n\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\tsetRef( navigationFallbackId );\n\t}, [\n\t\tref,\n\t\tsetRef,\n\t\thasUnsavedBlocks,\n\t\tnavigationFallbackId,\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t] );\n\n\tconst navRef = useRef();\n\n\t// The standard HTML5 tag for the block wrapper.\n\tconst TagName = 'nav';\n\n\t// \"placeholder\" shown if:\n\t// - there is no ref attribute pointing to a Navigation Post.\n\t// - there is no classic menu conversion process in progress.\n\t// - there is no menu creation process in progress.\n\t// - there are no uncontrolled blocks.\n\tconst isPlaceholder =\n\t\t! ref &&\n\t\t! isCreatingNavigationMenu &&\n\t\t! isConvertingClassicMenu &&\n\t\thasResolvedNavigationMenus &&\n\t\tclassicMenus?.length === 0 &&\n\t\t! hasUncontrolledInnerBlocks;\n\n\t// \"loading\" state:\n\t// - there is a menu creation process in progress.\n\t// - there is a classic menu conversion process in progress.\n\t// OR:\n\t// - there is a ref attribute pointing to a Navigation Post\n\t// - the Navigation Post isn't available (hasn't resolved) yet.\n\tconst isLoading =\n\t\t! hasResolvedNavigationMenus ||\n\t\tisCreatingNavigationMenu ||\n\t\tisConvertingClassicMenu ||\n\t\t!! ( ref && ! isEntityAvailable && ! isConvertingClassicMenu );\n\n\tconst textDecoration = attributes.style?.typography?.textDecoration;\n\n\tconst hasBlockOverlay = useSelect(\n\t\t( select ) =>\n\t\t\tselect( blockEditorStore ).__unstableHasActiveBlockOverlayActive(\n\t\t\t\tclientId\n\t\t\t),\n\t\t[ clientId ]\n\t);\n\tconst isResponsive = 'never' !== overlayMenu;\n\tconst blockProps = useBlockProps( {\n\t\tref: navRef,\n\t\tclassName: classnames(\n\t\t\tclassName,\n\t\t\t{\n\t\t\t\t'items-justified-right': justifyContent === 'right',\n\t\t\t\t'items-justified-space-between':\n\t\t\t\t\tjustifyContent === 'space-between',\n\t\t\t\t'items-justified-left': justifyContent === 'left',\n\t\t\t\t'items-justified-center': justifyContent === 'center',\n\t\t\t\t'is-vertical': orientation === 'vertical',\n\t\t\t\t'no-wrap': flexWrap === 'nowrap',\n\t\t\t\t'is-responsive': isResponsive,\n\t\t\t\t'has-text-color': !! textColor.color || !! textColor?.class,\n\t\t\t\t[ getColorClassName( 'color', textColor?.slug ) ]:\n\t\t\t\t\t!! textColor?.slug,\n\t\t\t\t'has-background':\n\t\t\t\t\t!! backgroundColor.color || backgroundColor.class,\n\t\t\t\t[ getColorClassName(\n\t\t\t\t\t'background-color',\n\t\t\t\t\tbackgroundColor?.slug\n\t\t\t\t) ]: !! backgroundColor?.slug,\n\t\t\t\t[ `has-text-decoration-${ textDecoration }` ]: textDecoration,\n\t\t\t\t'block-editor-block-content-overlay': hasBlockOverlay,\n\t\t\t},\n\t\t\tlayoutClassNames\n\t\t),\n\t\tstyle: {\n\t\t\tcolor: ! textColor?.slug && textColor?.color,\n\t\t\tbackgroundColor: ! backgroundColor?.slug && backgroundColor?.color,\n\t\t},\n\t} );\n\n\t// Turn on contrast checker for web only since it's not supported on mobile yet.\n\tconst enableContrastChecking = Platform.OS === 'web';\n\n\tconst [ detectedBackgroundColor, setDetectedBackgroundColor ] = useState();\n\tconst [ detectedColor, setDetectedColor ] = useState();\n\tconst [\n\t\tdetectedOverlayBackgroundColor,\n\t\tsetDetectedOverlayBackgroundColor,\n\t] = useState();\n\tconst [ detectedOverlayColor, setDetectedOverlayColor ] = useState();\n\n\tconst onSelectClassicMenu = async ( classicMenu ) => {\n\t\tconst navMenu = await convertClassicMenu(\n\t\t\tclassicMenu.id,\n\t\t\tclassicMenu.name,\n\t\t\t'draft'\n\t\t);\n\t\tif ( navMenu ) {\n\t\t\thandleUpdateMenu( navMenu.id, {\n\t\t\t\tfocusNavigationBlock: true,\n\t\t\t} );\n\t\t}\n\t};\n\n\tconst onSelectNavigationMenu = ( menuId ) => {\n\t\thandleUpdateMenu( menuId );\n\t};\n\n\tuseEffect( () => {\n\t\thideNavigationMenuStatusNotice();\n\n\t\tif ( isCreatingNavigationMenu ) {\n\t\t\tspeak( __( `Creating Navigation Menu.` ) );\n\t\t}\n\n\t\tif ( createNavigationMenuIsSuccess ) {\n\t\t\thandleUpdateMenu( createNavigationMenuPost?.id, {\n\t\t\t\tfocusNavigationBlock: true,\n\t\t\t} );\n\n\t\t\tshowNavigationMenuStatusNotice(\n\t\t\t\t__( `Navigation Menu successfully created.` )\n\t\t\t);\n\t\t}\n\n\t\tif ( createNavigationMenuIsError ) {\n\t\t\tshowNavigationMenuStatusNotice(\n\t\t\t\t__( 'Failed to create Navigation Menu.' )\n\t\t\t);\n\t\t}\n\t}, [\n\t\tcreateNavigationMenuStatus,\n\t\tcreateNavigationMenuError,\n\t\tcreateNavigationMenuPost?.id,\n\t\tcreateNavigationMenuIsError,\n\t\tcreateNavigationMenuIsSuccess,\n\t\tisCreatingNavigationMenu,\n\t\thandleUpdateMenu,\n\t\thideNavigationMenuStatusNotice,\n\t\tshowNavigationMenuStatusNotice,\n\t] );\n\n\tuseEffect( () => {\n\t\thideClassicMenuConversionNotice();\n\t\tif ( classicMenuConversionStatus === CLASSIC_MENU_CONVERSION_PENDING ) {\n\t\t\tspeak( __( 'Classic menu importing.' ) );\n\t\t}\n\n\t\tif ( classicMenuConversionStatus === CLASSIC_MENU_CONVERSION_SUCCESS ) {\n\t\t\tshowClassicMenuConversionNotice(\n\t\t\t\t__( 'Classic menu imported successfully.' )\n\t\t\t);\n\t\t}\n\n\t\tif ( classicMenuConversionStatus === CLASSIC_MENU_CONVERSION_ERROR ) {\n\t\t\tshowClassicMenuConversionNotice(\n\t\t\t\t__( 'Classic menu import failed.' )\n\t\t\t);\n\t\t}\n\t}, [\n\t\tclassicMenuConversionStatus,\n\t\tclassicMenuConversionError,\n\t\thideClassicMenuConversionNotice,\n\t\tshowClassicMenuConversionNotice,\n\t] );\n\n\tuseEffect( () => {\n\t\tif ( ! enableContrastChecking ) {\n\t\t\treturn;\n\t\t}\n\t\tdetectColors(\n\t\t\tnavRef.current,\n\t\t\tsetDetectedColor,\n\t\t\tsetDetectedBackgroundColor\n\t\t);\n\n\t\tconst subMenuElement = navRef.current?.querySelector(\n\t\t\t'[data-type=\"core/navigation-submenu\"] [data-type=\"core/navigation-link\"]'\n\t\t);\n\n\t\tif ( ! subMenuElement ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Only detect submenu overlay colors if they have previously been explicitly set.\n\t\t// This avoids the contrast checker from reporting on inherited submenu colors and\n\t\t// showing the contrast warning twice.\n\t\tif ( overlayTextColor.color || overlayBackgroundColor.color ) {\n\t\t\tdetectColors(\n\t\t\t\tsubMenuElement,\n\t\t\t\tsetDetectedOverlayColor,\n\t\t\t\tsetDetectedOverlayBackgroundColor\n\t\t\t);\n\t\t}\n\t}, [\n\t\tenableContrastChecking,\n\t\toverlayTextColor.color,\n\t\toverlayBackgroundColor.color,\n\t] );\n\n\tuseEffect( () => {\n\t\tif ( ! isSelected && ! isInnerBlockSelected ) {\n\t\t\thideNavigationMenuPermissionsNotice();\n\t\t}\n\n\t\tif ( isSelected || isInnerBlockSelected ) {\n\t\t\tif (\n\t\t\t\tref &&\n\t\t\t\t! navMenuResolvedButMissing &&\n\t\t\t\thasResolvedCanUserUpdateNavigationMenu &&\n\t\t\t\t! canUserUpdateNavigationMenu\n\t\t\t) {\n\t\t\t\tshowNavigationMenuPermissionsNotice(\n\t\t\t\t\t__(\n\t\t\t\t\t\t'You do not have permission to edit this Menu. Any changes made will not be saved.'\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif (\n\t\t\t\t! ref &&\n\t\t\t\thasResolvedCanUserCreateNavigationMenu &&\n\t\t\t\t! canUserCreateNavigationMenu\n\t\t\t) {\n\t\t\t\tshowNavigationMenuPermissionsNotice(\n\t\t\t\t\t__(\n\t\t\t\t\t\t'You do not have permission to create Navigation Menus.'\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t}, [\n\t\tisSelected,\n\t\tisInnerBlockSelected,\n\t\tcanUserUpdateNavigationMenu,\n\t\thasResolvedCanUserUpdateNavigationMenu,\n\t\tcanUserCreateNavigationMenu,\n\t\thasResolvedCanUserCreateNavigationMenu,\n\t\tref,\n\t\thideNavigationMenuPermissionsNotice,\n\t\tshowNavigationMenuPermissionsNotice,\n\t\tnavMenuResolvedButMissing,\n\t] );\n\n\tconst hasManagePermissions =\n\t\tcanUserCreateNavigationMenu || canUserUpdateNavigationMenu;\n\n\tconst overlayMenuPreviewClasses = classnames(\n\t\t'wp-block-navigation__overlay-menu-preview',\n\t\t{ open: overlayMenuPreview }\n\t);\n\n\tconst submenuAccessibilityNotice =\n\t\t! showSubmenuIcon && ! openSubmenusOnClick\n\t\t\t? __(\n\t\t\t\t\t'The current menu options offer reduced accessibility for users and are not recommended. Enabling either \"Open on Click\" or \"Show arrow\" offers enhanced accessibility by allowing keyboard users to browse submenus selectively.'\n\t\t\t )\n\t\t\t: '';\n\n\tconst isFirstRender = useRef( true ); // Don't speak on first render.\n\tuseEffect( () => {\n\t\tif ( ! isFirstRender.current && submenuAccessibilityNotice ) {\n\t\t\tspeak( submenuAccessibilityNotice );\n\t\t}\n\t\tisFirstRender.current = false;\n\t}, [ submenuAccessibilityNotice ] );\n\n\tconst overlayMenuPreviewId = useInstanceId(\n\t\tOverlayMenuPreview,\n\t\t`overlay-menu-preview`\n\t);\n\n\tconst colorGradientSettings = useMultipleOriginColorsAndGradients();\n\tconst stylingInspectorControls = (\n\t\t<>\n\t\t\t<InspectorControls>\n\t\t\t\t{ hasSubmenuIndicatorSetting && (\n\t\t\t\t\t<PanelBody title={ __( 'Display' ) }>\n\t\t\t\t\t\t{ isResponsive && (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\tclassName={ overlayMenuPreviewClasses }\n\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\tsetOverlayMenuPreview(\n\t\t\t\t\t\t\t\t\t\t\t! overlayMenuPreview\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\taria-label={ __( 'Overlay menu controls' ) }\n\t\t\t\t\t\t\t\t\taria-controls={ overlayMenuPreviewId }\n\t\t\t\t\t\t\t\t\taria-expanded={ overlayMenuPreview }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ hasIcon && (\n\t\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t\t<OverlayMenuIcon icon={ icon } />\n\t\t\t\t\t\t\t\t\t\t\t<Icon icon={ close } />\n\t\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t{ ! hasIcon && (\n\t\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t\t<span>{ __( 'Menu' ) }</span>\n\t\t\t\t\t\t\t\t\t\t\t<span>{ __( 'Close' ) }</span>\n\t\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t<div id={ overlayMenuPreviewId }>\n\t\t\t\t\t\t\t\t\t{ overlayMenuPreview && (\n\t\t\t\t\t\t\t\t\t\t<OverlayMenuPreview\n\t\t\t\t\t\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t\t\t\t\t\t\thasIcon={ hasIcon }\n\t\t\t\t\t\t\t\t\t\t\ticon={ icon }\n\t\t\t\t\t\t\t\t\t\t\thidden={ ! overlayMenuPreview }\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t<h3>{ __( 'Overlay Menu' ) }</h3>\n\t\t\t\t\t\t<ToggleGroupControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Configure overlay menu' ) }\n\t\t\t\t\t\t\tvalue={ overlayMenu }\n\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t'Collapses the navigation options in a menu icon opening an overlay.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( { overlayMenu: value } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tisBlock\n\t\t\t\t\t\t\thideLabelFromVision\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\t\tvalue=\"never\"\n\t\t\t\t\t\t\t\tlabel={ __( 'Off' ) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\t\tvalue=\"mobile\"\n\t\t\t\t\t\t\t\tlabel={ __( 'Mobile' ) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\t\tvalue=\"always\"\n\t\t\t\t\t\t\t\tlabel={ __( 'Always' ) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToggleGroupControl>\n\t\t\t\t\t\t{ hasSubmenus && (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<h3>{ __( 'Submenus' ) }</h3>\n\t\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\t\tchecked={ openSubmenusOnClick }\n\t\t\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\t\topenSubmenusOnClick: value,\n\t\t\t\t\t\t\t\t\t\t\t...( value && {\n\t\t\t\t\t\t\t\t\t\t\t\tshowSubmenuIcon: true,\n\t\t\t\t\t\t\t\t\t\t\t} ), // Make sure arrows are shown when we toggle this on.\n\t\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Open on click' ) }\n\t\t\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\t\tchecked={ showSubmenuIcon }\n\t\t\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\t\tshowSubmenuIcon: value,\n\t\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\tdisabled={ attributes.openSubmenusOnClick }\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Show arrow' ) }\n\t\t\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t\t\t{ submenuAccessibilityNotice && (\n\t\t\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t\t\t<Notice\n\t\t\t\t\t\t\t\t\t\t\tspokenMessage={ null }\n\t\t\t\t\t\t\t\t\t\t\tstatus=\"warning\"\n\t\t\t\t\t\t\t\t\t\t\tisDismissible={ false }\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ submenuAccessibilityNotice }\n\t\t\t\t\t\t\t\t\t\t</Notice>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</PanelBody>\n\t\t\t\t) }\n\t\t\t</InspectorControls>\n\t\t\t{ colorGradientSettings.hasColorsOrGradients && (\n\t\t\t\t<InspectorControls group=\"color\">\n\t\t\t\t\t<ColorGradientSettingsDropdown\n\t\t\t\t\t\t__experimentalIsRenderedInSidebar\n\t\t\t\t\t\tsettings={ [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tcolorValue: textColor.color,\n\t\t\t\t\t\t\t\tlabel: __( 'Text' ),\n\t\t\t\t\t\t\t\tonColorChange: setTextColor,\n\t\t\t\t\t\t\t\tresetAllFilter: () => setTextColor(),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tcolorValue: backgroundColor.color,\n\t\t\t\t\t\t\t\tlabel: __( 'Background' ),\n\t\t\t\t\t\t\t\tonColorChange: setBackgroundColor,\n\t\t\t\t\t\t\t\tresetAllFilter: () => setBackgroundColor(),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tcolorValue: overlayTextColor.color,\n\t\t\t\t\t\t\t\tlabel: __( 'Submenu & overlay text' ),\n\t\t\t\t\t\t\t\tonColorChange: setOverlayTextColor,\n\t\t\t\t\t\t\t\tresetAllFilter: () => setOverlayTextColor(),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tcolorValue: overlayBackgroundColor.color,\n\t\t\t\t\t\t\t\tlabel: __( 'Submenu & overlay background' ),\n\t\t\t\t\t\t\t\tonColorChange: setOverlayBackgroundColor,\n\t\t\t\t\t\t\t\tresetAllFilter: () =>\n\t\t\t\t\t\t\t\t\tsetOverlayBackgroundColor(),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t] }\n\t\t\t\t\t\tpanelId={ clientId }\n\t\t\t\t\t\t{ ...colorGradientSettings }\n\t\t\t\t\t\tgradients={ [] }\n\t\t\t\t\t\tdisableCustomGradients={ true }\n\t\t\t\t\t/>\n\t\t\t\t\t{ enableContrastChecking && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<ContrastChecker\n\t\t\t\t\t\t\t\tbackgroundColor={ detectedBackgroundColor }\n\t\t\t\t\t\t\t\ttextColor={ detectedColor }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<ContrastChecker\n\t\t\t\t\t\t\t\tbackgroundColor={\n\t\t\t\t\t\t\t\t\tdetectedOverlayBackgroundColor\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\ttextColor={ detectedOverlayColor }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</>\n\t\t\t\t\t) }\n\t\t\t\t</InspectorControls>\n\t\t\t) }\n\t\t</>\n\t);\n\n\tconst accessibleDescriptionId = `${ clientId }-desc`;\n\n\tconst isManageMenusButtonDisabled =\n\t\t! hasManagePermissions || ! hasResolvedNavigationMenus;\n\n\tif ( hasUnsavedBlocks && ! isCreatingNavigationMenu ) {\n\t\treturn (\n\t\t\t<TagName\n\t\t\t\t{ ...blockProps }\n\t\t\t\taria-describedby={\n\t\t\t\t\t! isPlaceholder ? accessibleDescriptionId : undefined\n\t\t\t\t}\n\t\t\t>\n\t\t\t\t<AccessibleDescription id={ accessibleDescriptionId }>\n\t\t\t\t\t{ __( 'Unsaved Navigation Menu.' ) }\n\t\t\t\t</AccessibleDescription>\n\n\t\t\t\t<MenuInspectorControls\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tcreateNavigationMenuIsSuccess={\n\t\t\t\t\t\tcreateNavigationMenuIsSuccess\n\t\t\t\t\t}\n\t\t\t\t\tcreateNavigationMenuIsError={ createNavigationMenuIsError }\n\t\t\t\t\tcurrentMenuId={ ref }\n\t\t\t\t\tisNavigationMenuMissing={ isNavigationMenuMissing }\n\t\t\t\t\tisManageMenusButtonDisabled={ isManageMenusButtonDisabled }\n\t\t\t\t\tonCreateNew={ createUntitledEmptyNavigationMenu }\n\t\t\t\t\tonSelectClassicMenu={ onSelectClassicMenu }\n\t\t\t\t\tonSelectNavigationMenu={ onSelectNavigationMenu }\n\t\t\t\t\tisLoading={ isLoading }\n\t\t\t\t\tblockEditingMode={ blockEditingMode }\n\t\t\t\t/>\n\t\t\t\t{ blockEditingMode === 'default' && stylingInspectorControls }\n\t\t\t\t<ResponsiveWrapper\n\t\t\t\t\tid={ clientId }\n\t\t\t\t\tonToggle={ setResponsiveMenuVisibility }\n\t\t\t\t\tisOpen={ isResponsiveMenuOpen }\n\t\t\t\t\thasIcon={ hasIcon }\n\t\t\t\t\ticon={ icon }\n\t\t\t\t\tisResponsive={ isResponsive }\n\t\t\t\t\tisHiddenByDefault={ 'always' === overlayMenu }\n\t\t\t\t\toverlayBackgroundColor={ overlayBackgroundColor }\n\t\t\t\t\toverlayTextColor={ overlayTextColor }\n\t\t\t\t>\n\t\t\t\t\t<UnsavedInnerBlocks\n\t\t\t\t\t\tcreateNavigationMenu={ createNavigationMenu }\n\t\t\t\t\t\tblocks={ uncontrolledInnerBlocks }\n\t\t\t\t\t\thasSelection={ isSelected || isInnerBlockSelected }\n\t\t\t\t\t/>\n\t\t\t\t</ResponsiveWrapper>\n\t\t\t</TagName>\n\t\t);\n\t}\n\n\t// Show a warning if the selected menu is no longer available.\n\t// TODO - the user should be able to select a new one?\n\tif ( ref && isNavigationMenuMissing ) {\n\t\treturn (\n\t\t\t<TagName { ...blockProps }>\n\t\t\t\t<MenuInspectorControls\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tcreateNavigationMenuIsSuccess={\n\t\t\t\t\t\tcreateNavigationMenuIsSuccess\n\t\t\t\t\t}\n\t\t\t\t\tcreateNavigationMenuIsError={ createNavigationMenuIsError }\n\t\t\t\t\tcurrentMenuId={ ref }\n\t\t\t\t\tisNavigationMenuMissing={ isNavigationMenuMissing }\n\t\t\t\t\tisManageMenusButtonDisabled={ isManageMenusButtonDisabled }\n\t\t\t\t\tonCreateNew={ createUntitledEmptyNavigationMenu }\n\t\t\t\t\tonSelectClassicMenu={ onSelectClassicMenu }\n\t\t\t\t\tonSelectNavigationMenu={ onSelectNavigationMenu }\n\t\t\t\t\tisLoading={ isLoading }\n\t\t\t\t\tblockEditingMode={ blockEditingMode }\n\t\t\t\t/>\n\t\t\t\t<DeletedNavigationWarning\n\t\t\t\t\tonCreateNew={ createUntitledEmptyNavigationMenu }\n\t\t\t\t/>\n\t\t\t</TagName>\n\t\t);\n\t}\n\n\tif ( isEntityAvailable && hasAlreadyRendered ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<Warning>\n\t\t\t\t\t{ __( 'Block cannot be rendered inside itself.' ) }\n\t\t\t\t</Warning>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tconst PlaceholderComponent = CustomPlaceholder\n\t\t? CustomPlaceholder\n\t\t: Placeholder;\n\n\t/**\n\t * Historically the navigation block has supported custom placeholders.\n\t * Even though the current UX tries as hard as possible not to\n\t * end up in a placeholder state, the block continues to support\n\t * this extensibility point, via a CustomPlaceholder.\n\t * When CustomPlaceholder is present it becomes the default fallback\n\t * for an empty navigation block, instead of the default fallbacks.\n\t *\n\t */\n\n\tif ( isPlaceholder && CustomPlaceholder ) {\n\t\treturn (\n\t\t\t<TagName { ...blockProps }>\n\t\t\t\t<PlaceholderComponent\n\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\tcurrentMenuId={ ref }\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tcanUserCreateNavigationMenu={ canUserCreateNavigationMenu }\n\t\t\t\t\tisResolvingCanUserCreateNavigationMenu={\n\t\t\t\t\t\tisResolvingCanUserCreateNavigationMenu\n\t\t\t\t\t}\n\t\t\t\t\tonSelectNavigationMenu={ onSelectNavigationMenu }\n\t\t\t\t\tonSelectClassicMenu={ onSelectClassicMenu }\n\t\t\t\t\tonCreateEmpty={ createUntitledEmptyNavigationMenu }\n\t\t\t\t/>\n\t\t\t</TagName>\n\t\t);\n\t}\n\n\treturn (\n\t\t<EntityProvider kind=\"postType\" type=\"wp_navigation\" id={ ref }>\n\t\t\t<RecursionProvider uniqueId={ recursionId }>\n\t\t\t\t<MenuInspectorControls\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tcreateNavigationMenuIsSuccess={\n\t\t\t\t\t\tcreateNavigationMenuIsSuccess\n\t\t\t\t\t}\n\t\t\t\t\tcreateNavigationMenuIsError={ createNavigationMenuIsError }\n\t\t\t\t\tcurrentMenuId={ ref }\n\t\t\t\t\tisNavigationMenuMissing={ isNavigationMenuMissing }\n\t\t\t\t\tisManageMenusButtonDisabled={ isManageMenusButtonDisabled }\n\t\t\t\t\tonCreateNew={ createUntitledEmptyNavigationMenu }\n\t\t\t\t\tonSelectClassicMenu={ onSelectClassicMenu }\n\t\t\t\t\tonSelectNavigationMenu={ onSelectNavigationMenu }\n\t\t\t\t\tisLoading={ isLoading }\n\t\t\t\t\tblockEditingMode={ blockEditingMode }\n\t\t\t\t/>\n\t\t\t\t{ blockEditingMode === 'default' && stylingInspectorControls }\n\t\t\t\t{ blockEditingMode === 'default' && isEntityAvailable && (\n\t\t\t\t\t<InspectorControls group=\"advanced\">\n\t\t\t\t\t\t{ hasResolvedCanUserUpdateNavigationMenu &&\n\t\t\t\t\t\t\tcanUserUpdateNavigationMenu && (\n\t\t\t\t\t\t\t\t<NavigationMenuNameControl />\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ hasResolvedCanUserDeleteNavigationMenu &&\n\t\t\t\t\t\t\tcanUserDeleteNavigationMenu && (\n\t\t\t\t\t\t\t\t<NavigationMenuDeleteControl\n\t\t\t\t\t\t\t\t\tonDelete={ ( deletedMenuTitle = '' ) => {\n\t\t\t\t\t\t\t\t\t\treplaceInnerBlocks( clientId, [] );\n\t\t\t\t\t\t\t\t\t\tshowNavigationMenuStatusNotice(\n\t\t\t\t\t\t\t\t\t\t\tsprintf(\n\t\t\t\t\t\t\t\t\t\t\t\t// translators: %s: the name of a menu (e.g. Header navigation).\n\t\t\t\t\t\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t\t\t\t\t\t'Navigation menu %s successfully deleted.'\n\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t\tdeletedMenuTitle\n\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t<ManageMenusButton\n\t\t\t\t\t\t\tdisabled={ isManageMenusButtonDisabled }\n\t\t\t\t\t\t\tclassName=\"wp-block-navigation-manage-menus-button\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</InspectorControls>\n\t\t\t\t) }\n\n\t\t\t\t{ isLoading && (\n\t\t\t\t\t<TagName { ...blockProps }>\n\t\t\t\t\t\t<div className=\"wp-block-navigation__loading-indicator-container\">\n\t\t\t\t\t\t\t<Spinner className=\"wp-block-navigation__loading-indicator\" />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</TagName>\n\t\t\t\t) }\n\n\t\t\t\t{ ! isLoading && (\n\t\t\t\t\t<TagName\n\t\t\t\t\t\t{ ...blockProps }\n\t\t\t\t\t\taria-describedby={\n\t\t\t\t\t\t\t! isPlaceholder\n\t\t\t\t\t\t\t\t? accessibleDescriptionId\n\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t<AccessibleMenuDescription\n\t\t\t\t\t\t\tid={ accessibleDescriptionId }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<ResponsiveWrapper\n\t\t\t\t\t\t\tid={ clientId }\n\t\t\t\t\t\t\tonToggle={ setResponsiveMenuVisibility }\n\t\t\t\t\t\t\thasIcon={ hasIcon }\n\t\t\t\t\t\t\ticon={ icon }\n\t\t\t\t\t\t\tisOpen={ isResponsiveMenuOpen }\n\t\t\t\t\t\t\tisResponsive={ isResponsive }\n\t\t\t\t\t\t\tisHiddenByDefault={ 'always' === overlayMenu }\n\t\t\t\t\t\t\toverlayBackgroundColor={ overlayBackgroundColor }\n\t\t\t\t\t\t\toverlayTextColor={ overlayTextColor }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ isEntityAvailable && (\n\t\t\t\t\t\t\t\t<NavigationInnerBlocks\n\t\t\t\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t\t\t\thasCustomPlaceholder={\n\t\t\t\t\t\t\t\t\t\t!! CustomPlaceholder\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\ttemplateLock={ templateLock }\n\t\t\t\t\t\t\t\t\torientation={ orientation }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</ResponsiveWrapper>\n\t\t\t\t\t</TagName>\n\t\t\t\t) }\n\t\t\t</RecursionProvider>\n\t\t</EntityProvider>\n\t);\n}\n\nexport default withColors(\n\t{ textColor: 'color' },\n\t{ backgroundColor: 'color' },\n\t{ overlayBackgroundColor: 'color' },\n\t{ overlayTextColor: 'color' }\n)( Navigation );\n"],"mappings":"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"}