@wordpress/block-library 7.3.8 → 7.3.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/columns/index.js +3 -1
- package/build/columns/index.js.map +1 -1
- package/build/gallery/gap-styles.js +14 -4
- package/build/gallery/gap-styles.js.map +1 -1
- package/build/image/edit.js +5 -56
- package/build/image/edit.js.map +1 -1
- package/build/image/image.js +4 -15
- package/build/image/image.js.map +1 -1
- package/build/navigation/edit/index.js +81 -80
- package/build/navigation/edit/index.js.map +1 -1
- package/build-module/columns/index.js +3 -1
- package/build-module/columns/index.js.map +1 -1
- package/build-module/gallery/gap-styles.js +14 -4
- package/build-module/gallery/gap-styles.js.map +1 -1
- package/build-module/image/edit.js +4 -52
- package/build-module/image/edit.js.map +1 -1
- package/build-module/image/image.js +5 -16
- package/build-module/image/image.js.map +1 -1
- package/build-module/navigation/edit/index.js +81 -80
- package/build-module/navigation/edit/index.js.map +1 -1
- package/build-style/post-comments/style-rtl.css +15 -0
- package/build-style/post-comments/style.css +15 -0
- package/build-style/style-rtl.css +15 -0
- package/build-style/style.css +15 -0
- package/package.json +4 -4
- package/src/columns/block.json +3 -1
- package/src/comments-title/index.php +3 -2
- package/src/gallery/gap-styles.js +21 -6
- package/src/gallery/index.php +22 -3
- package/src/image/edit.js +0 -44
- package/src/image/image.js +3 -14
- package/src/navigation/edit/index.js +140 -143
- package/src/post-comments/style.scss +18 -0
|
@@ -400,89 +400,12 @@ function Navigation(_ref) {
|
|
|
400
400
|
replaceInnerBlocks(clientId, []);
|
|
401
401
|
}
|
|
402
402
|
});
|
|
403
|
-
}, [clientId, ref]);
|
|
404
|
-
// - inserted via a pattern.
|
|
405
|
-
// - inserted directly via Code View (or otherwise).
|
|
406
|
-
// - from an older version of navigation block added before the block used a wp_navigation entity.
|
|
407
|
-
// Consider this state as 'unsaved' and offer an uncontrolled version of inner blocks,
|
|
408
|
-
// that automatically saves the menu as an entity when changes are made to the inner blocks.
|
|
409
|
-
|
|
410
|
-
const hasUnsavedBlocks = hasUncontrolledInnerBlocks && !isEntityAvailable;
|
|
411
|
-
|
|
412
|
-
if (hasUnsavedBlocks) {
|
|
413
|
-
return (0, _element.createElement)(TagName, blockProps, (0, _element.createElement)(_responsiveWrapper.default, {
|
|
414
|
-
id: clientId,
|
|
415
|
-
onToggle: setResponsiveMenuVisibility,
|
|
416
|
-
isOpen: isResponsiveMenuOpen,
|
|
417
|
-
isResponsive: 'never' !== overlayMenu,
|
|
418
|
-
isHiddenByDefault: 'always' === overlayMenu,
|
|
419
|
-
classNames: overlayClassnames,
|
|
420
|
-
styles: overlayStyles
|
|
421
|
-
}, (0, _element.createElement)(_unsavedInnerBlocks.default, {
|
|
422
|
-
blockProps: blockProps,
|
|
423
|
-
blocks: uncontrolledInnerBlocks,
|
|
424
|
-
clientId: clientId,
|
|
425
|
-
navigationMenus: navigationMenus,
|
|
426
|
-
hasSelection: isSelected || isInnerBlockSelected,
|
|
427
|
-
hasSavedUnsavedInnerBlocks: hasSavedUnsavedInnerBlocks,
|
|
428
|
-
onSave: post => {
|
|
429
|
-
// Set some state used as a guard to prevent the creation of multiple posts.
|
|
430
|
-
setHasSavedUnsavedInnerBlocks(true); // Switch to using the wp_navigation entity.
|
|
431
|
-
|
|
432
|
-
setRef(post.id);
|
|
433
|
-
showNavigationMenuCreateNotice((0, _i18n.__)(`New Navigation Menu created.`));
|
|
434
|
-
}
|
|
435
|
-
})));
|
|
436
|
-
} // Show a warning if the selected menu is no longer available.
|
|
437
|
-
// TODO - the user should be able to select a new one?
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
if (ref && isNavigationMenuMissing) {
|
|
441
|
-
return (0, _element.createElement)("div", blockProps, (0, _element.createElement)(_blockEditor.Warning, null, (0, _i18n.__)('Navigation menu has been deleted or is unavailable. '), (0, _element.createElement)(_components.Button, {
|
|
442
|
-
onClick: resetToEmptyBlock,
|
|
443
|
-
variant: "link"
|
|
444
|
-
}, (0, _i18n.__)('Create a new menu?'))));
|
|
445
|
-
}
|
|
446
|
-
|
|
447
|
-
if (isEntityAvailable && hasAlreadyRendered) {
|
|
448
|
-
return (0, _element.createElement)("div", blockProps, (0, _element.createElement)(_blockEditor.Warning, null, (0, _i18n.__)('Block cannot be rendered inside itself.')));
|
|
449
|
-
}
|
|
450
|
-
|
|
451
|
-
const PlaceholderComponent = CustomPlaceholder ? CustomPlaceholder : _placeholder.default;
|
|
403
|
+
}, [clientId, ref]);
|
|
452
404
|
const isResponsive = 'never' !== overlayMenu;
|
|
453
405
|
const overlayMenuPreviewClasses = (0, _classnames.default)('wp-block-navigation__overlay-menu-preview', {
|
|
454
406
|
open: overlayMenuPreview
|
|
455
407
|
});
|
|
456
|
-
|
|
457
|
-
if (isPlaceholder) {
|
|
458
|
-
return (0, _element.createElement)(TagName, blockProps, (0, _element.createElement)(PlaceholderComponent, {
|
|
459
|
-
isSelected: isSelected,
|
|
460
|
-
currentMenuId: ref,
|
|
461
|
-
clientId: clientId,
|
|
462
|
-
canUserCreateNavigationMenu: canUserCreateNavigationMenu,
|
|
463
|
-
isResolvingCanUserCreateNavigationMenu: isResolvingCanUserCreateNavigationMenu,
|
|
464
|
-
onFinish: handleSelectNavigation,
|
|
465
|
-
onCreateEmpty: () => createNavigationMenu('', [])
|
|
466
|
-
}));
|
|
467
|
-
}
|
|
468
|
-
|
|
469
|
-
return (0, _element.createElement)(_coreData.EntityProvider, {
|
|
470
|
-
kind: "postType",
|
|
471
|
-
type: "wp_navigation",
|
|
472
|
-
id: ref
|
|
473
|
-
}, (0, _element.createElement)(RecursionProvider, null, (0, _element.createElement)(_blockEditor.BlockControls, null, !isDraftNavigationMenu && isEntityAvailable && (0, _element.createElement)(_components.ToolbarGroup, {
|
|
474
|
-
className: "wp-block-navigation__toolbar-menu-selector"
|
|
475
|
-
}, (0, _element.createElement)(_navigationMenuSelector.default, {
|
|
476
|
-
ref: navigationSelectorRef,
|
|
477
|
-
currentMenuId: ref,
|
|
478
|
-
clientId: clientId,
|
|
479
|
-
onSelect: handleSelectNavigation,
|
|
480
|
-
onCreateNew: resetToEmptyBlock
|
|
481
|
-
/* translators: %s: The name of a menu. */
|
|
482
|
-
,
|
|
483
|
-
actionLabel: (0, _i18n.__)("Switch to '%s'"),
|
|
484
|
-
showManageActions: true
|
|
485
|
-
}))), (0, _element.createElement)(_blockEditor.InspectorControls, null, hasSubmenuIndicatorSetting && (0, _element.createElement)(_components.PanelBody, {
|
|
408
|
+
const stylingInspectorControls = (0, _element.createElement)(_blockEditor.InspectorControls, null, hasSubmenuIndicatorSetting && (0, _element.createElement)(_components.PanelBody, {
|
|
486
409
|
title: (0, _i18n.__)('Display')
|
|
487
410
|
}, isResponsive && (0, _element.createElement)(_components.Button, {
|
|
488
411
|
className: overlayMenuPreviewClasses,
|
|
@@ -563,7 +486,85 @@ function Navigation(_ref) {
|
|
|
563
486
|
}), (0, _element.createElement)(_blockEditor.ContrastChecker, {
|
|
564
487
|
backgroundColor: detectedOverlayBackgroundColor,
|
|
565
488
|
textColor: detectedOverlayColor
|
|
566
|
-
}))))
|
|
489
|
+
})))); // If the block has inner blocks, but no menu id, then these blocks are either:
|
|
490
|
+
// - inserted via a pattern.
|
|
491
|
+
// - inserted directly via Code View (or otherwise).
|
|
492
|
+
// - from an older version of navigation block added before the block used a wp_navigation entity.
|
|
493
|
+
// Consider this state as 'unsaved' and offer an uncontrolled version of inner blocks,
|
|
494
|
+
// that automatically saves the menu as an entity when changes are made to the inner blocks.
|
|
495
|
+
|
|
496
|
+
const hasUnsavedBlocks = hasUncontrolledInnerBlocks && !isEntityAvailable;
|
|
497
|
+
|
|
498
|
+
if (hasUnsavedBlocks) {
|
|
499
|
+
return (0, _element.createElement)(TagName, blockProps, stylingInspectorControls, (0, _element.createElement)(_responsiveWrapper.default, {
|
|
500
|
+
id: clientId,
|
|
501
|
+
onToggle: setResponsiveMenuVisibility,
|
|
502
|
+
isOpen: isResponsiveMenuOpen,
|
|
503
|
+
isResponsive: 'never' !== overlayMenu,
|
|
504
|
+
isHiddenByDefault: 'always' === overlayMenu,
|
|
505
|
+
classNames: overlayClassnames,
|
|
506
|
+
styles: overlayStyles
|
|
507
|
+
}, (0, _element.createElement)(_unsavedInnerBlocks.default, {
|
|
508
|
+
blockProps: blockProps,
|
|
509
|
+
blocks: uncontrolledInnerBlocks,
|
|
510
|
+
clientId: clientId,
|
|
511
|
+
navigationMenus: navigationMenus,
|
|
512
|
+
hasSelection: isSelected || isInnerBlockSelected,
|
|
513
|
+
hasSavedUnsavedInnerBlocks: hasSavedUnsavedInnerBlocks,
|
|
514
|
+
onSave: post => {
|
|
515
|
+
// Set some state used as a guard to prevent the creation of multiple posts.
|
|
516
|
+
setHasSavedUnsavedInnerBlocks(true); // Switch to using the wp_navigation entity.
|
|
517
|
+
|
|
518
|
+
setRef(post.id);
|
|
519
|
+
showNavigationMenuCreateNotice((0, _i18n.__)(`New Navigation Menu created.`));
|
|
520
|
+
}
|
|
521
|
+
})));
|
|
522
|
+
} // Show a warning if the selected menu is no longer available.
|
|
523
|
+
// TODO - the user should be able to select a new one?
|
|
524
|
+
|
|
525
|
+
|
|
526
|
+
if (ref && isNavigationMenuMissing) {
|
|
527
|
+
return (0, _element.createElement)("div", blockProps, (0, _element.createElement)(_blockEditor.Warning, null, (0, _i18n.__)('Navigation menu has been deleted or is unavailable. '), (0, _element.createElement)(_components.Button, {
|
|
528
|
+
onClick: resetToEmptyBlock,
|
|
529
|
+
variant: "link"
|
|
530
|
+
}, (0, _i18n.__)('Create a new menu?'))));
|
|
531
|
+
}
|
|
532
|
+
|
|
533
|
+
if (isEntityAvailable && hasAlreadyRendered) {
|
|
534
|
+
return (0, _element.createElement)("div", blockProps, (0, _element.createElement)(_blockEditor.Warning, null, (0, _i18n.__)('Block cannot be rendered inside itself.')));
|
|
535
|
+
}
|
|
536
|
+
|
|
537
|
+
const PlaceholderComponent = CustomPlaceholder ? CustomPlaceholder : _placeholder.default;
|
|
538
|
+
|
|
539
|
+
if (isPlaceholder) {
|
|
540
|
+
return (0, _element.createElement)(TagName, blockProps, (0, _element.createElement)(PlaceholderComponent, {
|
|
541
|
+
isSelected: isSelected,
|
|
542
|
+
currentMenuId: ref,
|
|
543
|
+
clientId: clientId,
|
|
544
|
+
canUserCreateNavigationMenu: canUserCreateNavigationMenu,
|
|
545
|
+
isResolvingCanUserCreateNavigationMenu: isResolvingCanUserCreateNavigationMenu,
|
|
546
|
+
onFinish: handleSelectNavigation,
|
|
547
|
+
onCreateEmpty: () => createNavigationMenu('', [])
|
|
548
|
+
}));
|
|
549
|
+
}
|
|
550
|
+
|
|
551
|
+
return (0, _element.createElement)(_coreData.EntityProvider, {
|
|
552
|
+
kind: "postType",
|
|
553
|
+
type: "wp_navigation",
|
|
554
|
+
id: ref
|
|
555
|
+
}, (0, _element.createElement)(RecursionProvider, null, (0, _element.createElement)(_blockEditor.BlockControls, null, !isDraftNavigationMenu && isEntityAvailable && (0, _element.createElement)(_components.ToolbarGroup, {
|
|
556
|
+
className: "wp-block-navigation__toolbar-menu-selector"
|
|
557
|
+
}, (0, _element.createElement)(_navigationMenuSelector.default, {
|
|
558
|
+
ref: navigationSelectorRef,
|
|
559
|
+
currentMenuId: ref,
|
|
560
|
+
clientId: clientId,
|
|
561
|
+
onSelect: handleSelectNavigation,
|
|
562
|
+
onCreateNew: resetToEmptyBlock
|
|
563
|
+
/* translators: %s: The name of a menu. */
|
|
564
|
+
,
|
|
565
|
+
actionLabel: (0, _i18n.__)("Switch to '%s'"),
|
|
566
|
+
showManageActions: true
|
|
567
|
+
}))), stylingInspectorControls, isEntityAvailable && (0, _element.createElement)(_blockEditor.InspectorControls, {
|
|
567
568
|
__experimentalGroup: "advanced"
|
|
568
569
|
}, hasResolvedCanUserUpdateNavigationMenu && canUserUpdateNavigationMenu && (0, _element.createElement)(_navigationMenuNameControl.default, null), hasResolvedCanUserDeleteNavigationMenu && canUserDeleteNavigationMenu && (0, _element.createElement)(_navigationMenuDeleteControl.default, {
|
|
569
570
|
onDelete: function () {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/navigation/edit/index.js"],"names":["EMPTY_ARRAY","getComputedStyle","node","ownerDocument","defaultView","detectColors","colorsDetectionElement","setColor","setBackground","color","backgroundColorNode","backgroundColor","parentNode","nodeType","ELEMENT_NODE","Navigation","attributes","setAttributes","clientId","isSelected","className","setBackgroundColor","textColor","setTextColor","overlayBackgroundColor","setOverlayBackgroundColor","overlayTextColor","setOverlayTextColor","hasSubmenuIndicatorSetting","hasColorSettings","customPlaceholder","CustomPlaceholder","openSubmenusOnClick","overlayMenu","showSubmenuIcon","layout","justifyContent","orientation","flexWrap","hasIcon","ref","registry","setRef","postId","hasAlreadyRendered","RecursionProvider","showNavigationMenuDeleteNotice","name","showNavigationMenuCreateNotice","hideNavigationMenuCreateNotice","create","createNavigationMenu","status","createNavigationMenuStatus","error","createNavigationMenuError","value","createNavigationMenuPost","isCreatingNavigationMenu","CREATE_NAVIGATION_MENU_PENDING","CREATE_NAVIGATION_MENU_SUCCESS","id","selectBlock","CREATE_NAVIGATION_MENU_ERROR","hasUncontrolledInnerBlocks","uncontrolledInnerBlocks","isInnerBlockSelected","hasSubmenus","select","getBlock","getBlocks","hasSelectedInnerBlock","blockEditorStore","_uncontrolledInnerBlocks","innerBlocks","_hasUncontrolledInnerBlocks","length","_controlledInnerBlocks","find","block","replaceInnerBlocks","__unstableMarkNextChangeAsNotPersistent","hasSavedUnsavedInnerBlocks","setHasSavedUnsavedInnerBlocks","isResponsiveMenuOpen","setResponsiveMenuVisibility","overlayMenuPreview","setOverlayMenuPreview","hasResolvedNavigationMenus","isNavigationMenuResolved","isNavigationMenuMissing","navigationMenus","navigationMenu","canUserUpdateNavigationMenu","hasResolvedCanUserUpdateNavigationMenu","canUserDeleteNavigationMenu","hasResolvedCanUserDeleteNavigationMenu","canUserCreateNavigationMenu","isResolvingCanUserCreateNavigationMenu","hasResolvedCanUserCreateNavigationMenu","navRef","isDraftNavigationMenu","convert","classicMenuConversionStatus","classicMenuConversionError","classicMenuConversionResult","isConvertingClassicMenu","CLASSIC_MENU_CONVERSION_PENDING","TagName","isPlaceholder","isEntityAvailable","isLoading","textDecoration","style","typography","blockProps","class","slug","overlayClassnames","overlayStyles","enableContrastChecking","Platform","OS","detectedBackgroundColor","setDetectedBackgroundColor","detectedColor","setDetectedColor","detectedOverlayBackgroundColor","setDetectedOverlayBackgroundColor","detectedOverlayColor","setDetectedOverlayColor","showClassicMenuConversionErrorNotice","hideClassicMenuConversionErrorNotice","handleUpdateMenu","menuId","CLASSIC_MENU_CONVERSION_SUCCESS","CLASSIC_MENU_CONVERSION_ERROR","current","subMenuElement","querySelector","showCantEditNotice","hideCantEditNotice","message","showCantCreateNotice","hideCantCreateNotice","navigationSelectorRef","shouldFocusNavigationSelector","setShouldFocusNavigationSelector","handleSelectNavigation","navPostOrClassicMenu","isClassicMenu","hasOwnProperty","focus","resetToEmptyBlock","batch","undefined","hasUnsavedBlocks","post","PlaceholderComponent","Placeholder","isResponsive","overlayMenuPreviewClasses","open","onChange","label","deletedMenuTitle"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tuseState,\n\tuseEffect,\n\tuseRef,\n\tuseCallback,\n\tPlatform,\n} from '@wordpress/element';\nimport {\n\tInspectorControls,\n\tBlockControls,\n\tuseBlockProps,\n\t__experimentalUseNoRecursiveRenders as useNoRecursiveRenders,\n\tstore as blockEditorStore,\n\twithColors,\n\tPanelColorSettings,\n\tContrastChecker,\n\tgetColorClassName,\n\tWarning,\n} from '@wordpress/block-editor';\nimport { EntityProvider } from '@wordpress/core-data';\n\nimport { useDispatch, useSelect, useRegistry } from '@wordpress/data';\nimport {\n\tPanelBody,\n\tToggleControl,\n\t__experimentalToggleGroupControl as ToggleGroupControl,\n\t__experimentalToggleGroupControlOption as ToggleGroupControlOption,\n\tToolbarGroup,\n\tButton,\n\tSpinner,\n} from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { speak } from '@wordpress/a11y';\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 NavigationMenuSelector from './navigation-menu-selector';\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 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, {\n\tCREATE_NAVIGATION_MENU_ERROR,\n\tCREATE_NAVIGATION_MENU_PENDING,\n\tCREATE_NAVIGATION_MENU_SUCCESS,\n} from './use-create-navigation-menu';\n\nconst EMPTY_ARRAY = [];\n\nfunction getComputedStyle( node ) {\n\treturn node.ownerDocument.defaultView.getComputedStyle( node );\n}\n\nfunction detectColors( colorsDetectionElement, setColor, setBackground ) {\n\tif ( ! colorsDetectionElement ) {\n\t\treturn;\n\t}\n\tsetColor( getComputedStyle( colorsDetectionElement ).color );\n\n\tlet backgroundColorNode = colorsDetectionElement;\n\tlet backgroundColor = getComputedStyle( backgroundColorNode )\n\t\t.backgroundColor;\n\twhile (\n\t\tbackgroundColor === 'rgba(0, 0, 0, 0)' &&\n\t\tbackgroundColorNode.parentNode &&\n\t\tbackgroundColorNode.parentNode.nodeType ===\n\t\t\tbackgroundColorNode.parentNode.ELEMENT_NODE\n\t) {\n\t\tbackgroundColorNode = backgroundColorNode.parentNode;\n\t\tbackgroundColor = getComputedStyle( backgroundColorNode )\n\t\t\t.backgroundColor;\n\t}\n\n\tsetBackground( backgroundColor );\n}\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\thasColorSettings = true,\n\tcustomPlaceholder: CustomPlaceholder = null,\n} ) {\n\tconst {\n\t\topenSubmenusOnClick,\n\t\toverlayMenu,\n\t\tshowSubmenuIcon,\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} = attributes;\n\n\tconst ref = attributes.ref;\n\n\tconst registry = useRegistry();\n\tconst setRef = ( postId ) => {\n\t\tsetAttributes( { ref: postId } );\n\t};\n\n\tconst [ hasAlreadyRendered, RecursionProvider ] = useNoRecursiveRenders(\n\t\t`navigationMenu/${ ref }`\n\t);\n\n\t// Preload classic menus, so that they don't suddenly pop-in when viewing\n\t// the Select Menu dropdown.\n\tuseNavigationEntities();\n\n\tconst [ showNavigationMenuDeleteNotice ] = useNavigationNotice( {\n\t\tname: 'block-library/core/navigation/delete',\n\t} );\n\n\tconst [\n\t\tshowNavigationMenuCreateNotice,\n\t\thideNavigationMenuCreateNotice,\n\t] = useNavigationNotice( {\n\t\tname: 'block-library/core/navigation/create',\n\t} );\n\n\tconst {\n\t\tcreate: createNavigationMenu,\n\t\tstatus: createNavigationMenuStatus,\n\t\terror: createNavigationMenuError,\n\t\tvalue: createNavigationMenuPost,\n\t} = useCreateNavigationMenu( clientId );\n\n\tconst isCreatingNavigationMenu =\n\t\tcreateNavigationMenuStatus === CREATE_NAVIGATION_MENU_PENDING;\n\n\tuseEffect( () => {\n\t\thideNavigationMenuCreateNotice();\n\n\t\tif ( createNavigationMenuStatus === CREATE_NAVIGATION_MENU_PENDING ) {\n\t\t\tspeak( __( `Creating Navigation Menu.` ) );\n\t\t}\n\n\t\tif ( createNavigationMenuStatus === CREATE_NAVIGATION_MENU_SUCCESS ) {\n\t\t\tsetRef( createNavigationMenuPost.id );\n\t\t\tselectBlock( clientId );\n\n\t\t\tshowNavigationMenuCreateNotice(\n\t\t\t\t__( `Navigation Menu successfully created.` )\n\t\t\t);\n\t\t}\n\n\t\tif ( createNavigationMenuStatus === CREATE_NAVIGATION_MENU_ERROR ) {\n\t\t\tshowNavigationMenuCreateNotice(\n\t\t\t\t__( 'Failed to create Navigation Menu.' )\n\t\t\t);\n\t\t}\n\t}, [\n\t\tcreateNavigationMenu,\n\t\tcreateNavigationMenuStatus,\n\t\tcreateNavigationMenuError,\n\t\tcreateNavigationMenuPost,\n\t] );\n\n\tconst {\n\t\thasUncontrolledInnerBlocks,\n\t\tuncontrolledInnerBlocks,\n\t\tisInnerBlockSelected,\n\t\thasSubmenus,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlock, getBlocks, hasSelectedInnerBlock } = select(\n\t\t\t\tblockEditorStore\n\t\t\t);\n\n\t\t\t// This relies on the fact that `getBlock` won't return controlled\n\t\t\t// inner blocks, while `getBlocks` does. It might be more stable to\n\t\t\t// introduce a selector like `getUncontrolledInnerBlocks`, just in\n\t\t\t// case `getBlock` is fixed.\n\t\t\tconst _uncontrolledInnerBlocks = getBlock( clientId ).innerBlocks;\n\t\t\tconst _hasUncontrolledInnerBlocks = !! _uncontrolledInnerBlocks?.length;\n\t\t\tconst _controlledInnerBlocks = _hasUncontrolledInnerBlocks\n\t\t\t\t? EMPTY_ARRAY\n\t\t\t\t: getBlocks( clientId );\n\t\t\tconst innerBlocks = _hasUncontrolledInnerBlocks\n\t\t\t\t? _uncontrolledInnerBlocks\n\t\t\t\t: _controlledInnerBlocks;\n\n\t\t\treturn {\n\t\t\t\thasSubmenus: !! innerBlocks.find(\n\t\t\t\t\t( block ) => block.name === 'core/navigation-submenu'\n\t\t\t\t),\n\t\t\t\thasUncontrolledInnerBlocks: _hasUncontrolledInnerBlocks,\n\t\t\t\tuncontrolledInnerBlocks: _uncontrolledInnerBlocks,\n\t\t\t\tisInnerBlockSelected: hasSelectedInnerBlock( clientId, true ),\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\tconst {\n\t\treplaceInnerBlocks,\n\t\tselectBlock,\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t} = useDispatch( blockEditorStore );\n\n\tconst [\n\t\thasSavedUnsavedInnerBlocks,\n\t\tsetHasSavedUnsavedInnerBlocks,\n\t] = useState( false );\n\n\tconst [ isResponsiveMenuOpen, setResponsiveMenuVisibility ] = useState(\n\t\tfalse\n\t);\n\n\tconst [ overlayMenuPreview, setOverlayMenuPreview ] = useState( false );\n\n\tconst {\n\t\thasResolvedNavigationMenus,\n\t\tisNavigationMenuResolved,\n\t\tisNavigationMenuMissing,\n\t\tnavigationMenus,\n\t\tnavigationMenu,\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\t// Attempt to retrieve and prioritize any existing navigation menu unless\n\t// a specific ref is allocated or the user is explicitly creating a new menu. The aim is\n\t// for the block to \"just work\" from a user perspective using existing data.\n\tuseEffect( () => {\n\t\tif (\n\t\t\tisCreatingNavigationMenu ||\n\t\t\tref ||\n\t\t\t! navigationMenus?.length ||\n\t\t\tnavigationMenus?.length > 1\n\t\t) {\n\t\t\treturn;\n\t\t}\n\n\t\tsetRef( navigationMenus[ 0 ].id );\n\t}, [ navigationMenus ] );\n\n\tconst navRef = useRef();\n\n\tconst isDraftNavigationMenu = navigationMenu?.status === 'draft';\n\n\tconst {\n\t\tconvert,\n\t\tstatus: classicMenuConversionStatus,\n\t\terror: classicMenuConversionError,\n\t\tvalue: classicMenuConversionResult,\n\t} = useConvertClassicToBlockMenu( clientId );\n\n\tconst isConvertingClassicMenu =\n\t\tclassicMenuConversionStatus === CLASSIC_MENU_CONVERSION_PENDING;\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\t! hasUncontrolledInnerBlocks;\n\n\tconst isEntityAvailable =\n\t\t! isNavigationMenuMissing && isNavigationMenuResolved;\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 blockProps = useBlockProps( {\n\t\tref: navRef,\n\t\tclassName: classnames( className, {\n\t\t\t'items-justified-right': justifyContent === 'right',\n\t\t\t'items-justified-space-between': justifyContent === 'space-between',\n\t\t\t'items-justified-left': justifyContent === 'left',\n\t\t\t'items-justified-center': justifyContent === 'center',\n\t\t\t'is-vertical': orientation === 'vertical',\n\t\t\t'no-wrap': flexWrap === 'nowrap',\n\t\t\t'is-responsive': 'never' !== overlayMenu,\n\t\t\t'has-text-color': !! textColor.color || !! textColor?.class,\n\t\t\t[ getColorClassName(\n\t\t\t\t'color',\n\t\t\t\ttextColor?.slug\n\t\t\t) ]: !! textColor?.slug,\n\t\t\t'has-background': !! backgroundColor.color || backgroundColor.class,\n\t\t\t[ getColorClassName(\n\t\t\t\t'background-color',\n\t\t\t\tbackgroundColor?.slug\n\t\t\t) ]: !! backgroundColor?.slug,\n\t\t\t[ `has-text-decoration-${ textDecoration }` ]: textDecoration,\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\tconst overlayClassnames = classnames( {\n\t\t'has-text-color':\n\t\t\t!! overlayTextColor.color || !! overlayTextColor?.class,\n\t\t[ getColorClassName(\n\t\t\t'color',\n\t\t\toverlayTextColor?.slug\n\t\t) ]: !! overlayTextColor?.slug,\n\t\t'has-background':\n\t\t\t!! overlayBackgroundColor.color || overlayBackgroundColor?.class,\n\t\t[ getColorClassName(\n\t\t\t'background-color',\n\t\t\toverlayBackgroundColor?.slug\n\t\t) ]: !! overlayBackgroundColor?.slug,\n\t} );\n\n\tconst overlayStyles = {\n\t\tcolor: ! overlayTextColor?.slug && overlayTextColor?.color,\n\t\tbackgroundColor:\n\t\t\t! overlayBackgroundColor?.slug &&\n\t\t\toverlayBackgroundColor?.color &&\n\t\t\toverlayBackgroundColor.color,\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 [\n\t\tshowClassicMenuConversionErrorNotice,\n\t\thideClassicMenuConversionErrorNotice,\n\t] = useNavigationNotice( {\n\t\tname: 'block-library/core/navigation/classic-menu-conversion/error',\n\t} );\n\n\tfunction handleUpdateMenu( menuId ) {\n\t\tsetRef( menuId );\n\t\tselectBlock( clientId );\n\t}\n\n\tuseEffect( () => {\n\t\tif ( classicMenuConversionStatus === CLASSIC_MENU_CONVERSION_PENDING ) {\n\t\t\tspeak( __( 'Classic menu importing.' ) );\n\t\t}\n\n\t\tif (\n\t\t\tclassicMenuConversionStatus === CLASSIC_MENU_CONVERSION_SUCCESS &&\n\t\t\tclassicMenuConversionResult\n\t\t) {\n\t\t\thandleUpdateMenu( classicMenuConversionResult?.id );\n\t\t\thideClassicMenuConversionErrorNotice();\n\t\t\tspeak( __( 'Classic menu imported successfully.' ) );\n\t\t}\n\n\t\tif ( classicMenuConversionStatus === CLASSIC_MENU_CONVERSION_ERROR ) {\n\t\t\tshowClassicMenuConversionErrorNotice( classicMenuConversionError );\n\t\t\tspeak( __( 'Classic menu import failed.' ) );\n\t\t}\n\t}, [\n\t\tclassicMenuConversionStatus,\n\t\tclassicMenuConversionResult,\n\t\tclassicMenuConversionError,\n\t] );\n\n\t// Spacer block needs orientation from context. This is a patch until\n\t// https://github.com/WordPress/gutenberg/issues/36197 is addressed.\n\tuseEffect( () => {\n\t\tif ( orientation ) {\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tsetAttributes( { orientation } );\n\t\t}\n\t}, [ orientation ] );\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\t\tconst subMenuElement = navRef.current?.querySelector(\n\t\t\t'[data-type=\"core/navigation-link\"] [data-type=\"core/navigation-link\"]'\n\t\t);\n\t\tif ( subMenuElement ) {\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\n\tconst [ showCantEditNotice, hideCantEditNotice ] = useNavigationNotice( {\n\t\tname: 'block-library/core/navigation/permissions/update',\n\t\tmessage: __(\n\t\t\t'You do not have permission to edit this Menu. Any changes made will not be saved.'\n\t\t),\n\t} );\n\n\tconst [ showCantCreateNotice, hideCantCreateNotice ] = useNavigationNotice(\n\t\t{\n\t\t\tname: 'block-library/core/navigation/permissions/create',\n\t\t\tmessage: __(\n\t\t\t\t'You do not have permission to create Navigation Menus.'\n\t\t\t),\n\t\t}\n\t);\n\n\tuseEffect( () => {\n\t\tif ( ! isSelected && ! isInnerBlockSelected ) {\n\t\t\thideCantEditNotice();\n\t\t\thideCantCreateNotice();\n\t\t}\n\n\t\tif ( isSelected || isInnerBlockSelected ) {\n\t\t\tif (\n\t\t\t\thasResolvedCanUserUpdateNavigationMenu &&\n\t\t\t\t! canUserUpdateNavigationMenu\n\t\t\t) {\n\t\t\t\tshowCantEditNotice();\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\tshowCantCreateNotice();\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] );\n\n\tconst navigationSelectorRef = useRef();\n\tconst [\n\t\tshouldFocusNavigationSelector,\n\t\tsetShouldFocusNavigationSelector,\n\t] = useState( false );\n\tconst handleSelectNavigation = useCallback(\n\t\t( navPostOrClassicMenu ) => {\n\t\t\tif ( ! navPostOrClassicMenu ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst isClassicMenu = navPostOrClassicMenu.hasOwnProperty(\n\t\t\t\t'auto_add'\n\t\t\t);\n\n\t\t\tif ( isClassicMenu ) {\n\t\t\t\tconvert( navPostOrClassicMenu.id, navPostOrClassicMenu.name );\n\t\t\t} else {\n\t\t\t\thandleUpdateMenu( navPostOrClassicMenu.id );\n\t\t\t}\n\t\t\tsetShouldFocusNavigationSelector( true );\n\t\t},\n\t\t[ convert, handleUpdateMenu ]\n\t);\n\n\t// Focus support after menu selection.\n\tuseEffect( () => {\n\t\tif (\n\t\t\tisDraftNavigationMenu ||\n\t\t\t! isEntityAvailable ||\n\t\t\t! shouldFocusNavigationSelector\n\t\t) {\n\t\t\treturn;\n\t\t}\n\t\tnavigationSelectorRef?.current?.focus();\n\t\tsetShouldFocusNavigationSelector( false );\n\t}, [\n\t\tisDraftNavigationMenu,\n\t\tisEntityAvailable,\n\t\tshouldFocusNavigationSelector,\n\t] );\n\n\tconst resetToEmptyBlock = useCallback( () => {\n\t\tregistry.batch( () => {\n\t\t\tsetAttributes( {\n\t\t\t\tref: undefined,\n\t\t\t} );\n\t\t\tif ( ! ref ) {\n\t\t\t\treplaceInnerBlocks( clientId, [] );\n\t\t\t}\n\t\t} );\n\t}, [ clientId, ref ] );\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\tif ( hasUnsavedBlocks ) {\n\t\treturn (\n\t\t\t<TagName { ...blockProps }>\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\tisResponsive={ 'never' !== overlayMenu }\n\t\t\t\t\tisHiddenByDefault={ 'always' === overlayMenu }\n\t\t\t\t\tclassNames={ overlayClassnames }\n\t\t\t\t\tstyles={ overlayStyles }\n\t\t\t\t>\n\t\t\t\t\t<UnsavedInnerBlocks\n\t\t\t\t\t\tblockProps={ blockProps }\n\t\t\t\t\t\tblocks={ uncontrolledInnerBlocks }\n\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\tnavigationMenus={ navigationMenus }\n\t\t\t\t\t\thasSelection={ isSelected || isInnerBlockSelected }\n\t\t\t\t\t\thasSavedUnsavedInnerBlocks={\n\t\t\t\t\t\t\thasSavedUnsavedInnerBlocks\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonSave={ ( post ) => {\n\t\t\t\t\t\t\t// Set some state used as a guard to prevent the creation of multiple posts.\n\t\t\t\t\t\t\tsetHasSavedUnsavedInnerBlocks( true );\n\t\t\t\t\t\t\t// Switch to using the wp_navigation entity.\n\t\t\t\t\t\t\tsetRef( post.id );\n\n\t\t\t\t\t\t\tshowNavigationMenuCreateNotice(\n\t\t\t\t\t\t\t\t__( `New Navigation Menu created.` )\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</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<div { ...blockProps }>\n\t\t\t\t<Warning>\n\t\t\t\t\t{ __(\n\t\t\t\t\t\t'Navigation menu has been deleted or is unavailable. '\n\t\t\t\t\t) }\n\t\t\t\t\t<Button onClick={ resetToEmptyBlock } variant=\"link\">\n\t\t\t\t\t\t{ __( 'Create a new menu?' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t</Warning>\n\t\t\t</div>\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\tconst isResponsive = 'never' !== overlayMenu;\n\n\tconst overlayMenuPreviewClasses = classnames(\n\t\t'wp-block-navigation__overlay-menu-preview',\n\t\t{ open: overlayMenuPreview }\n\t);\n\n\tif ( isPlaceholder ) {\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\tonFinish={ handleSelectNavigation }\n\t\t\t\t\tonCreateEmpty={ () => createNavigationMenu( '', [] ) }\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>\n\t\t\t\t<BlockControls>\n\t\t\t\t\t{ ! isDraftNavigationMenu && isEntityAvailable && (\n\t\t\t\t\t\t<ToolbarGroup className=\"wp-block-navigation__toolbar-menu-selector\">\n\t\t\t\t\t\t\t<NavigationMenuSelector\n\t\t\t\t\t\t\t\tref={ navigationSelectorRef }\n\t\t\t\t\t\t\t\tcurrentMenuId={ ref }\n\t\t\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t\t\tonSelect={ handleSelectNavigation }\n\t\t\t\t\t\t\t\tonCreateNew={ resetToEmptyBlock }\n\t\t\t\t\t\t\t\t/* translators: %s: The name of a menu. */\n\t\t\t\t\t\t\t\tactionLabel={ __( \"Switch to '%s'\" ) }\n\t\t\t\t\t\t\t\tshowManageActions\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToolbarGroup>\n\t\t\t\t\t) }\n\t\t\t\t</BlockControls>\n\t\t\t\t<InspectorControls>\n\t\t\t\t\t{ hasSubmenuIndicatorSetting && (\n\t\t\t\t\t\t<PanelBody title={ __( 'Display' ) }>\n\t\t\t\t\t\t\t{ isResponsive && (\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>\n\t\t\t\t\t\t\t\t\t{ hasIcon && <OverlayMenuIcon /> }\n\t\t\t\t\t\t\t\t\t{ ! hasIcon && (\n\t\t\t\t\t\t\t\t\t\t<span>{ __( 'Menu' ) }</span>\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) }\n\t\t\t\t\t\t\t{ overlayMenuPreview && (\n\t\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Show icon button' ) }\n\t\t\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t\t\t'Configure the visual appearance of the button opening the overlay menu.'\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\t\t\tsetAttributes( { hasIcon: value } )\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tchecked={ hasIcon }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t<h3>{ __( 'Overlay Menu' ) }</h3>\n\t\t\t\t\t\t\t<ToggleGroupControl\n\t\t\t\t\t\t\t\tlabel={ __( 'Configure overlay menu' ) }\n\t\t\t\t\t\t\t\tvalue={ overlayMenu }\n\t\t\t\t\t\t\t\thelp={ __(\n\t\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\t) }\n\t\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\t\tsetAttributes( { overlayMenu: value } )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tisBlock\n\t\t\t\t\t\t\t\thideLabelFromVision\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\t\t\tvalue=\"never\"\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Off' ) }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\t\t\tvalue=\"mobile\"\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Mobile' ) }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\t\t\tvalue=\"always\"\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Always' ) }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</ToggleGroupControl>\n\t\t\t\t\t\t\t{ hasSubmenus && (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t<h3>{ __( 'Submenus' ) }</h3>\n\t\t\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t\t\tchecked={ openSubmenusOnClick }\n\t\t\t\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\t\t\topenSubmenusOnClick: value,\n\t\t\t\t\t\t\t\t\t\t\t\t...( value && {\n\t\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\t} ), // Make sure arrows are shown when we toggle this on.\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\tlabel={ __( 'Open on click' ) }\n\t\t\t\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t\t\tchecked={ showSubmenuIcon }\n\t\t\t\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\t\t\tshowSubmenuIcon: value,\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\tdisabled={\n\t\t\t\t\t\t\t\t\t\t\tattributes.openSubmenusOnClick\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tlabel={ __( 'Show arrow' ) }\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</PanelBody>\n\t\t\t\t\t) }\n\t\t\t\t\t{ hasColorSettings && (\n\t\t\t\t\t\t<PanelColorSettings\n\t\t\t\t\t\t\t__experimentalHasMultipleOrigins\n\t\t\t\t\t\t\t__experimentalIsRenderedInSidebar\n\t\t\t\t\t\t\ttitle={ __( 'Color' ) }\n\t\t\t\t\t\t\tinitialOpen={ false }\n\t\t\t\t\t\t\tcolorSettings={ [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tvalue: textColor.color,\n\t\t\t\t\t\t\t\t\tonChange: setTextColor,\n\t\t\t\t\t\t\t\t\tlabel: __( 'Text' ),\n\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\t\tvalue: backgroundColor.color,\n\t\t\t\t\t\t\t\t\tonChange: setBackgroundColor,\n\t\t\t\t\t\t\t\t\tlabel: __( 'Background' ),\n\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\t\tvalue: overlayTextColor.color,\n\t\t\t\t\t\t\t\t\tonChange: setOverlayTextColor,\n\t\t\t\t\t\t\t\t\tlabel: __( 'Submenu & overlay text' ),\n\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\t\tvalue: overlayBackgroundColor.color,\n\t\t\t\t\t\t\t\t\tonChange: setOverlayBackgroundColor,\n\t\t\t\t\t\t\t\t\tlabel: __( 'Submenu & overlay background' ),\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\t\t{ enableContrastChecking && (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t<ContrastChecker\n\t\t\t\t\t\t\t\t\t\tbackgroundColor={\n\t\t\t\t\t\t\t\t\t\t\tdetectedBackgroundColor\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\ttextColor={ detectedColor }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t<ContrastChecker\n\t\t\t\t\t\t\t\t\t\tbackgroundColor={\n\t\t\t\t\t\t\t\t\t\t\tdetectedOverlayBackgroundColor\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\ttextColor={ detectedOverlayColor }\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</PanelColorSettings>\n\t\t\t\t\t) }\n\t\t\t\t</InspectorControls>\n\t\t\t\t{ isEntityAvailable && (\n\t\t\t\t\t<InspectorControls __experimentalGroup=\"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\tresetToEmptyBlock();\n\t\t\t\t\t\t\t\t\t\tshowNavigationMenuDeleteNotice(\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</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<Spinner className=\"wp-block-navigation__loading-indicator\" />\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 { ...blockProps }>\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\tlabel={ __( 'Menu' ) }\n\t\t\t\t\t\t\thasIcon={ hasIcon }\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\tclassNames={ overlayClassnames }\n\t\t\t\t\t\t\tstyles={ overlayStyles }\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\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"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/navigation/edit/index.js"],"names":["EMPTY_ARRAY","getComputedStyle","node","ownerDocument","defaultView","detectColors","colorsDetectionElement","setColor","setBackground","color","backgroundColorNode","backgroundColor","parentNode","nodeType","ELEMENT_NODE","Navigation","attributes","setAttributes","clientId","isSelected","className","setBackgroundColor","textColor","setTextColor","overlayBackgroundColor","setOverlayBackgroundColor","overlayTextColor","setOverlayTextColor","hasSubmenuIndicatorSetting","hasColorSettings","customPlaceholder","CustomPlaceholder","openSubmenusOnClick","overlayMenu","showSubmenuIcon","layout","justifyContent","orientation","flexWrap","hasIcon","ref","registry","setRef","postId","hasAlreadyRendered","RecursionProvider","showNavigationMenuDeleteNotice","name","showNavigationMenuCreateNotice","hideNavigationMenuCreateNotice","create","createNavigationMenu","status","createNavigationMenuStatus","error","createNavigationMenuError","value","createNavigationMenuPost","isCreatingNavigationMenu","CREATE_NAVIGATION_MENU_PENDING","CREATE_NAVIGATION_MENU_SUCCESS","id","selectBlock","CREATE_NAVIGATION_MENU_ERROR","hasUncontrolledInnerBlocks","uncontrolledInnerBlocks","isInnerBlockSelected","hasSubmenus","select","getBlock","getBlocks","hasSelectedInnerBlock","blockEditorStore","_uncontrolledInnerBlocks","innerBlocks","_hasUncontrolledInnerBlocks","length","_controlledInnerBlocks","find","block","replaceInnerBlocks","__unstableMarkNextChangeAsNotPersistent","hasSavedUnsavedInnerBlocks","setHasSavedUnsavedInnerBlocks","isResponsiveMenuOpen","setResponsiveMenuVisibility","overlayMenuPreview","setOverlayMenuPreview","hasResolvedNavigationMenus","isNavigationMenuResolved","isNavigationMenuMissing","navigationMenus","navigationMenu","canUserUpdateNavigationMenu","hasResolvedCanUserUpdateNavigationMenu","canUserDeleteNavigationMenu","hasResolvedCanUserDeleteNavigationMenu","canUserCreateNavigationMenu","isResolvingCanUserCreateNavigationMenu","hasResolvedCanUserCreateNavigationMenu","navRef","isDraftNavigationMenu","convert","classicMenuConversionStatus","classicMenuConversionError","classicMenuConversionResult","isConvertingClassicMenu","CLASSIC_MENU_CONVERSION_PENDING","TagName","isPlaceholder","isEntityAvailable","isLoading","textDecoration","style","typography","blockProps","class","slug","overlayClassnames","overlayStyles","enableContrastChecking","Platform","OS","detectedBackgroundColor","setDetectedBackgroundColor","detectedColor","setDetectedColor","detectedOverlayBackgroundColor","setDetectedOverlayBackgroundColor","detectedOverlayColor","setDetectedOverlayColor","showClassicMenuConversionErrorNotice","hideClassicMenuConversionErrorNotice","handleUpdateMenu","menuId","CLASSIC_MENU_CONVERSION_SUCCESS","CLASSIC_MENU_CONVERSION_ERROR","current","subMenuElement","querySelector","showCantEditNotice","hideCantEditNotice","message","showCantCreateNotice","hideCantCreateNotice","navigationSelectorRef","shouldFocusNavigationSelector","setShouldFocusNavigationSelector","handleSelectNavigation","navPostOrClassicMenu","isClassicMenu","hasOwnProperty","focus","resetToEmptyBlock","batch","undefined","isResponsive","overlayMenuPreviewClasses","open","stylingInspectorControls","onChange","label","hasUnsavedBlocks","post","PlaceholderComponent","Placeholder","deletedMenuTitle"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tuseState,\n\tuseEffect,\n\tuseRef,\n\tuseCallback,\n\tPlatform,\n} from '@wordpress/element';\nimport {\n\tInspectorControls,\n\tBlockControls,\n\tuseBlockProps,\n\t__experimentalUseNoRecursiveRenders as useNoRecursiveRenders,\n\tstore as blockEditorStore,\n\twithColors,\n\tPanelColorSettings,\n\tContrastChecker,\n\tgetColorClassName,\n\tWarning,\n} from '@wordpress/block-editor';\nimport { EntityProvider } from '@wordpress/core-data';\n\nimport { useDispatch, useSelect, useRegistry } from '@wordpress/data';\nimport {\n\tPanelBody,\n\tToggleControl,\n\t__experimentalToggleGroupControl as ToggleGroupControl,\n\t__experimentalToggleGroupControlOption as ToggleGroupControlOption,\n\tToolbarGroup,\n\tButton,\n\tSpinner,\n} from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { speak } from '@wordpress/a11y';\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 NavigationMenuSelector from './navigation-menu-selector';\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 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, {\n\tCREATE_NAVIGATION_MENU_ERROR,\n\tCREATE_NAVIGATION_MENU_PENDING,\n\tCREATE_NAVIGATION_MENU_SUCCESS,\n} from './use-create-navigation-menu';\n\nconst EMPTY_ARRAY = [];\n\nfunction getComputedStyle( node ) {\n\treturn node.ownerDocument.defaultView.getComputedStyle( node );\n}\n\nfunction detectColors( colorsDetectionElement, setColor, setBackground ) {\n\tif ( ! colorsDetectionElement ) {\n\t\treturn;\n\t}\n\tsetColor( getComputedStyle( colorsDetectionElement ).color );\n\n\tlet backgroundColorNode = colorsDetectionElement;\n\tlet backgroundColor = getComputedStyle( backgroundColorNode )\n\t\t.backgroundColor;\n\twhile (\n\t\tbackgroundColor === 'rgba(0, 0, 0, 0)' &&\n\t\tbackgroundColorNode.parentNode &&\n\t\tbackgroundColorNode.parentNode.nodeType ===\n\t\t\tbackgroundColorNode.parentNode.ELEMENT_NODE\n\t) {\n\t\tbackgroundColorNode = backgroundColorNode.parentNode;\n\t\tbackgroundColor = getComputedStyle( backgroundColorNode )\n\t\t\t.backgroundColor;\n\t}\n\n\tsetBackground( backgroundColor );\n}\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\thasColorSettings = true,\n\tcustomPlaceholder: CustomPlaceholder = null,\n} ) {\n\tconst {\n\t\topenSubmenusOnClick,\n\t\toverlayMenu,\n\t\tshowSubmenuIcon,\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} = attributes;\n\n\tconst ref = attributes.ref;\n\n\tconst registry = useRegistry();\n\tconst setRef = ( postId ) => {\n\t\tsetAttributes( { ref: postId } );\n\t};\n\n\tconst [ hasAlreadyRendered, RecursionProvider ] = useNoRecursiveRenders(\n\t\t`navigationMenu/${ ref }`\n\t);\n\n\t// Preload classic menus, so that they don't suddenly pop-in when viewing\n\t// the Select Menu dropdown.\n\tuseNavigationEntities();\n\n\tconst [ showNavigationMenuDeleteNotice ] = useNavigationNotice( {\n\t\tname: 'block-library/core/navigation/delete',\n\t} );\n\n\tconst [\n\t\tshowNavigationMenuCreateNotice,\n\t\thideNavigationMenuCreateNotice,\n\t] = useNavigationNotice( {\n\t\tname: 'block-library/core/navigation/create',\n\t} );\n\n\tconst {\n\t\tcreate: createNavigationMenu,\n\t\tstatus: createNavigationMenuStatus,\n\t\terror: createNavigationMenuError,\n\t\tvalue: createNavigationMenuPost,\n\t} = useCreateNavigationMenu( clientId );\n\n\tconst isCreatingNavigationMenu =\n\t\tcreateNavigationMenuStatus === CREATE_NAVIGATION_MENU_PENDING;\n\n\tuseEffect( () => {\n\t\thideNavigationMenuCreateNotice();\n\n\t\tif ( createNavigationMenuStatus === CREATE_NAVIGATION_MENU_PENDING ) {\n\t\t\tspeak( __( `Creating Navigation Menu.` ) );\n\t\t}\n\n\t\tif ( createNavigationMenuStatus === CREATE_NAVIGATION_MENU_SUCCESS ) {\n\t\t\tsetRef( createNavigationMenuPost.id );\n\t\t\tselectBlock( clientId );\n\n\t\t\tshowNavigationMenuCreateNotice(\n\t\t\t\t__( `Navigation Menu successfully created.` )\n\t\t\t);\n\t\t}\n\n\t\tif ( createNavigationMenuStatus === CREATE_NAVIGATION_MENU_ERROR ) {\n\t\t\tshowNavigationMenuCreateNotice(\n\t\t\t\t__( 'Failed to create Navigation Menu.' )\n\t\t\t);\n\t\t}\n\t}, [\n\t\tcreateNavigationMenu,\n\t\tcreateNavigationMenuStatus,\n\t\tcreateNavigationMenuError,\n\t\tcreateNavigationMenuPost,\n\t] );\n\n\tconst {\n\t\thasUncontrolledInnerBlocks,\n\t\tuncontrolledInnerBlocks,\n\t\tisInnerBlockSelected,\n\t\thasSubmenus,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlock, getBlocks, hasSelectedInnerBlock } = select(\n\t\t\t\tblockEditorStore\n\t\t\t);\n\n\t\t\t// This relies on the fact that `getBlock` won't return controlled\n\t\t\t// inner blocks, while `getBlocks` does. It might be more stable to\n\t\t\t// introduce a selector like `getUncontrolledInnerBlocks`, just in\n\t\t\t// case `getBlock` is fixed.\n\t\t\tconst _uncontrolledInnerBlocks = getBlock( clientId ).innerBlocks;\n\t\t\tconst _hasUncontrolledInnerBlocks = !! _uncontrolledInnerBlocks?.length;\n\t\t\tconst _controlledInnerBlocks = _hasUncontrolledInnerBlocks\n\t\t\t\t? EMPTY_ARRAY\n\t\t\t\t: getBlocks( clientId );\n\t\t\tconst innerBlocks = _hasUncontrolledInnerBlocks\n\t\t\t\t? _uncontrolledInnerBlocks\n\t\t\t\t: _controlledInnerBlocks;\n\n\t\t\treturn {\n\t\t\t\thasSubmenus: !! innerBlocks.find(\n\t\t\t\t\t( block ) => block.name === 'core/navigation-submenu'\n\t\t\t\t),\n\t\t\t\thasUncontrolledInnerBlocks: _hasUncontrolledInnerBlocks,\n\t\t\t\tuncontrolledInnerBlocks: _uncontrolledInnerBlocks,\n\t\t\t\tisInnerBlockSelected: hasSelectedInnerBlock( clientId, true ),\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\tconst {\n\t\treplaceInnerBlocks,\n\t\tselectBlock,\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t} = useDispatch( blockEditorStore );\n\n\tconst [\n\t\thasSavedUnsavedInnerBlocks,\n\t\tsetHasSavedUnsavedInnerBlocks,\n\t] = useState( false );\n\n\tconst [ isResponsiveMenuOpen, setResponsiveMenuVisibility ] = useState(\n\t\tfalse\n\t);\n\n\tconst [ overlayMenuPreview, setOverlayMenuPreview ] = useState( false );\n\n\tconst {\n\t\thasResolvedNavigationMenus,\n\t\tisNavigationMenuResolved,\n\t\tisNavigationMenuMissing,\n\t\tnavigationMenus,\n\t\tnavigationMenu,\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\t// Attempt to retrieve and prioritize any existing navigation menu unless\n\t// a specific ref is allocated or the user is explicitly creating a new menu. The aim is\n\t// for the block to \"just work\" from a user perspective using existing data.\n\tuseEffect( () => {\n\t\tif (\n\t\t\tisCreatingNavigationMenu ||\n\t\t\tref ||\n\t\t\t! navigationMenus?.length ||\n\t\t\tnavigationMenus?.length > 1\n\t\t) {\n\t\t\treturn;\n\t\t}\n\n\t\tsetRef( navigationMenus[ 0 ].id );\n\t}, [ navigationMenus ] );\n\n\tconst navRef = useRef();\n\n\tconst isDraftNavigationMenu = navigationMenu?.status === 'draft';\n\n\tconst {\n\t\tconvert,\n\t\tstatus: classicMenuConversionStatus,\n\t\terror: classicMenuConversionError,\n\t\tvalue: classicMenuConversionResult,\n\t} = useConvertClassicToBlockMenu( clientId );\n\n\tconst isConvertingClassicMenu =\n\t\tclassicMenuConversionStatus === CLASSIC_MENU_CONVERSION_PENDING;\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\t! hasUncontrolledInnerBlocks;\n\n\tconst isEntityAvailable =\n\t\t! isNavigationMenuMissing && isNavigationMenuResolved;\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 blockProps = useBlockProps( {\n\t\tref: navRef,\n\t\tclassName: classnames( className, {\n\t\t\t'items-justified-right': justifyContent === 'right',\n\t\t\t'items-justified-space-between': justifyContent === 'space-between',\n\t\t\t'items-justified-left': justifyContent === 'left',\n\t\t\t'items-justified-center': justifyContent === 'center',\n\t\t\t'is-vertical': orientation === 'vertical',\n\t\t\t'no-wrap': flexWrap === 'nowrap',\n\t\t\t'is-responsive': 'never' !== overlayMenu,\n\t\t\t'has-text-color': !! textColor.color || !! textColor?.class,\n\t\t\t[ getColorClassName(\n\t\t\t\t'color',\n\t\t\t\ttextColor?.slug\n\t\t\t) ]: !! textColor?.slug,\n\t\t\t'has-background': !! backgroundColor.color || backgroundColor.class,\n\t\t\t[ getColorClassName(\n\t\t\t\t'background-color',\n\t\t\t\tbackgroundColor?.slug\n\t\t\t) ]: !! backgroundColor?.slug,\n\t\t\t[ `has-text-decoration-${ textDecoration }` ]: textDecoration,\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\tconst overlayClassnames = classnames( {\n\t\t'has-text-color':\n\t\t\t!! overlayTextColor.color || !! overlayTextColor?.class,\n\t\t[ getColorClassName(\n\t\t\t'color',\n\t\t\toverlayTextColor?.slug\n\t\t) ]: !! overlayTextColor?.slug,\n\t\t'has-background':\n\t\t\t!! overlayBackgroundColor.color || overlayBackgroundColor?.class,\n\t\t[ getColorClassName(\n\t\t\t'background-color',\n\t\t\toverlayBackgroundColor?.slug\n\t\t) ]: !! overlayBackgroundColor?.slug,\n\t} );\n\n\tconst overlayStyles = {\n\t\tcolor: ! overlayTextColor?.slug && overlayTextColor?.color,\n\t\tbackgroundColor:\n\t\t\t! overlayBackgroundColor?.slug &&\n\t\t\toverlayBackgroundColor?.color &&\n\t\t\toverlayBackgroundColor.color,\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 [\n\t\tshowClassicMenuConversionErrorNotice,\n\t\thideClassicMenuConversionErrorNotice,\n\t] = useNavigationNotice( {\n\t\tname: 'block-library/core/navigation/classic-menu-conversion/error',\n\t} );\n\n\tfunction handleUpdateMenu( menuId ) {\n\t\tsetRef( menuId );\n\t\tselectBlock( clientId );\n\t}\n\n\tuseEffect( () => {\n\t\tif ( classicMenuConversionStatus === CLASSIC_MENU_CONVERSION_PENDING ) {\n\t\t\tspeak( __( 'Classic menu importing.' ) );\n\t\t}\n\n\t\tif (\n\t\t\tclassicMenuConversionStatus === CLASSIC_MENU_CONVERSION_SUCCESS &&\n\t\t\tclassicMenuConversionResult\n\t\t) {\n\t\t\thandleUpdateMenu( classicMenuConversionResult?.id );\n\t\t\thideClassicMenuConversionErrorNotice();\n\t\t\tspeak( __( 'Classic menu imported successfully.' ) );\n\t\t}\n\n\t\tif ( classicMenuConversionStatus === CLASSIC_MENU_CONVERSION_ERROR ) {\n\t\t\tshowClassicMenuConversionErrorNotice( classicMenuConversionError );\n\t\t\tspeak( __( 'Classic menu import failed.' ) );\n\t\t}\n\t}, [\n\t\tclassicMenuConversionStatus,\n\t\tclassicMenuConversionResult,\n\t\tclassicMenuConversionError,\n\t] );\n\n\t// Spacer block needs orientation from context. This is a patch until\n\t// https://github.com/WordPress/gutenberg/issues/36197 is addressed.\n\tuseEffect( () => {\n\t\tif ( orientation ) {\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tsetAttributes( { orientation } );\n\t\t}\n\t}, [ orientation ] );\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\t\tconst subMenuElement = navRef.current?.querySelector(\n\t\t\t'[data-type=\"core/navigation-link\"] [data-type=\"core/navigation-link\"]'\n\t\t);\n\t\tif ( subMenuElement ) {\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\n\tconst [ showCantEditNotice, hideCantEditNotice ] = useNavigationNotice( {\n\t\tname: 'block-library/core/navigation/permissions/update',\n\t\tmessage: __(\n\t\t\t'You do not have permission to edit this Menu. Any changes made will not be saved.'\n\t\t),\n\t} );\n\n\tconst [ showCantCreateNotice, hideCantCreateNotice ] = useNavigationNotice(\n\t\t{\n\t\t\tname: 'block-library/core/navigation/permissions/create',\n\t\t\tmessage: __(\n\t\t\t\t'You do not have permission to create Navigation Menus.'\n\t\t\t),\n\t\t}\n\t);\n\n\tuseEffect( () => {\n\t\tif ( ! isSelected && ! isInnerBlockSelected ) {\n\t\t\thideCantEditNotice();\n\t\t\thideCantCreateNotice();\n\t\t}\n\n\t\tif ( isSelected || isInnerBlockSelected ) {\n\t\t\tif (\n\t\t\t\thasResolvedCanUserUpdateNavigationMenu &&\n\t\t\t\t! canUserUpdateNavigationMenu\n\t\t\t) {\n\t\t\t\tshowCantEditNotice();\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\tshowCantCreateNotice();\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] );\n\n\tconst navigationSelectorRef = useRef();\n\tconst [\n\t\tshouldFocusNavigationSelector,\n\t\tsetShouldFocusNavigationSelector,\n\t] = useState( false );\n\tconst handleSelectNavigation = useCallback(\n\t\t( navPostOrClassicMenu ) => {\n\t\t\tif ( ! navPostOrClassicMenu ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst isClassicMenu = navPostOrClassicMenu.hasOwnProperty(\n\t\t\t\t'auto_add'\n\t\t\t);\n\n\t\t\tif ( isClassicMenu ) {\n\t\t\t\tconvert( navPostOrClassicMenu.id, navPostOrClassicMenu.name );\n\t\t\t} else {\n\t\t\t\thandleUpdateMenu( navPostOrClassicMenu.id );\n\t\t\t}\n\t\t\tsetShouldFocusNavigationSelector( true );\n\t\t},\n\t\t[ convert, handleUpdateMenu ]\n\t);\n\n\t// Focus support after menu selection.\n\tuseEffect( () => {\n\t\tif (\n\t\t\tisDraftNavigationMenu ||\n\t\t\t! isEntityAvailable ||\n\t\t\t! shouldFocusNavigationSelector\n\t\t) {\n\t\t\treturn;\n\t\t}\n\t\tnavigationSelectorRef?.current?.focus();\n\t\tsetShouldFocusNavigationSelector( false );\n\t}, [\n\t\tisDraftNavigationMenu,\n\t\tisEntityAvailable,\n\t\tshouldFocusNavigationSelector,\n\t] );\n\n\tconst resetToEmptyBlock = useCallback( () => {\n\t\tregistry.batch( () => {\n\t\t\tsetAttributes( {\n\t\t\t\tref: undefined,\n\t\t\t} );\n\t\t\tif ( ! ref ) {\n\t\t\t\treplaceInnerBlocks( clientId, [] );\n\t\t\t}\n\t\t} );\n\t}, [ clientId, ref ] );\n\n\tconst isResponsive = 'never' !== overlayMenu;\n\n\tconst overlayMenuPreviewClasses = classnames(\n\t\t'wp-block-navigation__overlay-menu-preview',\n\t\t{ open: overlayMenuPreview }\n\t);\n\n\tconst stylingInspectorControls = (\n\t\t<InspectorControls>\n\t\t\t{ hasSubmenuIndicatorSetting && (\n\t\t\t\t<PanelBody title={ __( 'Display' ) }>\n\t\t\t\t\t{ isResponsive && (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tclassName={ overlayMenuPreviewClasses }\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tsetOverlayMenuPreview( ! overlayMenuPreview );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ hasIcon && <OverlayMenuIcon /> }\n\t\t\t\t\t\t\t{ ! hasIcon && <span>{ __( 'Menu' ) }</span> }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t) }\n\t\t\t\t\t{ overlayMenuPreview && (\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\tlabel={ __( 'Show icon button' ) }\n\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t'Configure the visual appearance of the button opening the overlay menu.'\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( { hasIcon: value } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tchecked={ hasIcon }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t<h3>{ __( 'Overlay Menu' ) }</h3>\n\t\t\t\t\t<ToggleGroupControl\n\t\t\t\t\t\tlabel={ __( 'Configure overlay menu' ) }\n\t\t\t\t\t\tvalue={ overlayMenu }\n\t\t\t\t\t\thelp={ __(\n\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) }\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( { overlayMenu: value } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tisBlock\n\t\t\t\t\t\thideLabelFromVision\n\t\t\t\t\t>\n\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\tvalue=\"never\"\n\t\t\t\t\t\t\tlabel={ __( 'Off' ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\tvalue=\"mobile\"\n\t\t\t\t\t\t\tlabel={ __( 'Mobile' ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\tvalue=\"always\"\n\t\t\t\t\t\t\tlabel={ __( 'Always' ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToggleGroupControl>\n\t\t\t\t\t{ hasSubmenus && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<h3>{ __( 'Submenus' ) }</h3>\n\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\tchecked={ openSubmenusOnClick }\n\t\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\topenSubmenusOnClick: value,\n\t\t\t\t\t\t\t\t\t\t...( value && {\n\t\t\t\t\t\t\t\t\t\t\tshowSubmenuIcon: true,\n\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} );\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\tlabel={ __( 'Open on click' ) }\n\t\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\tchecked={ showSubmenuIcon }\n\t\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\tshowSubmenuIcon: value,\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\tdisabled={ attributes.openSubmenusOnClick }\n\t\t\t\t\t\t\t\tlabel={ __( 'Show arrow' ) }\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</PanelBody>\n\t\t\t) }\n\t\t\t{ hasColorSettings && (\n\t\t\t\t<PanelColorSettings\n\t\t\t\t\t__experimentalHasMultipleOrigins\n\t\t\t\t\t__experimentalIsRenderedInSidebar\n\t\t\t\t\ttitle={ __( 'Color' ) }\n\t\t\t\t\tinitialOpen={ false }\n\t\t\t\t\tcolorSettings={ [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tvalue: textColor.color,\n\t\t\t\t\t\t\tonChange: setTextColor,\n\t\t\t\t\t\t\tlabel: __( 'Text' ),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tvalue: backgroundColor.color,\n\t\t\t\t\t\t\tonChange: setBackgroundColor,\n\t\t\t\t\t\t\tlabel: __( 'Background' ),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tvalue: overlayTextColor.color,\n\t\t\t\t\t\t\tonChange: setOverlayTextColor,\n\t\t\t\t\t\t\tlabel: __( 'Submenu & overlay text' ),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tvalue: overlayBackgroundColor.color,\n\t\t\t\t\t\t\tonChange: setOverlayBackgroundColor,\n\t\t\t\t\t\t\tlabel: __( 'Submenu & overlay background' ),\n\t\t\t\t\t\t},\n\t\t\t\t\t] }\n\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</PanelColorSettings>\n\t\t\t) }\n\t\t</InspectorControls>\n\t);\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\tif ( hasUnsavedBlocks ) {\n\t\treturn (\n\t\t\t<TagName { ...blockProps }>\n\t\t\t\t{ 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\tisResponsive={ 'never' !== overlayMenu }\n\t\t\t\t\tisHiddenByDefault={ 'always' === overlayMenu }\n\t\t\t\t\tclassNames={ overlayClassnames }\n\t\t\t\t\tstyles={ overlayStyles }\n\t\t\t\t>\n\t\t\t\t\t<UnsavedInnerBlocks\n\t\t\t\t\t\tblockProps={ blockProps }\n\t\t\t\t\t\tblocks={ uncontrolledInnerBlocks }\n\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\tnavigationMenus={ navigationMenus }\n\t\t\t\t\t\thasSelection={ isSelected || isInnerBlockSelected }\n\t\t\t\t\t\thasSavedUnsavedInnerBlocks={\n\t\t\t\t\t\t\thasSavedUnsavedInnerBlocks\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonSave={ ( post ) => {\n\t\t\t\t\t\t\t// Set some state used as a guard to prevent the creation of multiple posts.\n\t\t\t\t\t\t\tsetHasSavedUnsavedInnerBlocks( true );\n\t\t\t\t\t\t\t// Switch to using the wp_navigation entity.\n\t\t\t\t\t\t\tsetRef( post.id );\n\n\t\t\t\t\t\t\tshowNavigationMenuCreateNotice(\n\t\t\t\t\t\t\t\t__( `New Navigation Menu created.` )\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</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<div { ...blockProps }>\n\t\t\t\t<Warning>\n\t\t\t\t\t{ __(\n\t\t\t\t\t\t'Navigation menu has been deleted or is unavailable. '\n\t\t\t\t\t) }\n\t\t\t\t\t<Button onClick={ resetToEmptyBlock } variant=\"link\">\n\t\t\t\t\t\t{ __( 'Create a new menu?' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t</Warning>\n\t\t\t</div>\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\tif ( isPlaceholder ) {\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\tonFinish={ handleSelectNavigation }\n\t\t\t\t\tonCreateEmpty={ () => createNavigationMenu( '', [] ) }\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>\n\t\t\t\t<BlockControls>\n\t\t\t\t\t{ ! isDraftNavigationMenu && isEntityAvailable && (\n\t\t\t\t\t\t<ToolbarGroup className=\"wp-block-navigation__toolbar-menu-selector\">\n\t\t\t\t\t\t\t<NavigationMenuSelector\n\t\t\t\t\t\t\t\tref={ navigationSelectorRef }\n\t\t\t\t\t\t\t\tcurrentMenuId={ ref }\n\t\t\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t\t\tonSelect={ handleSelectNavigation }\n\t\t\t\t\t\t\t\tonCreateNew={ resetToEmptyBlock }\n\t\t\t\t\t\t\t\t/* translators: %s: The name of a menu. */\n\t\t\t\t\t\t\t\tactionLabel={ __( \"Switch to '%s'\" ) }\n\t\t\t\t\t\t\t\tshowManageActions\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToolbarGroup>\n\t\t\t\t\t) }\n\t\t\t\t</BlockControls>\n\t\t\t\t{ stylingInspectorControls }\n\t\t\t\t{ isEntityAvailable && (\n\t\t\t\t\t<InspectorControls __experimentalGroup=\"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\tresetToEmptyBlock();\n\t\t\t\t\t\t\t\t\t\tshowNavigationMenuDeleteNotice(\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</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<Spinner className=\"wp-block-navigation__loading-indicator\" />\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 { ...blockProps }>\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\tlabel={ __( 'Menu' ) }\n\t\t\t\t\t\t\thasIcon={ hasIcon }\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\tclassNames={ overlayClassnames }\n\t\t\t\t\t\t\tstyles={ overlayStyles }\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\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"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/columns/index.js"],"names":["__","columns","icon","deprecated","edit","save","variations","transforms","name","metadata","settings","example","viewportWidth","innerBlocks","attributes","content","url"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,EAAT,QAAmB,iBAAnB;AACA,SAASC,OAAO,IAAIC,IAApB,QAAgC,kBAAhC;AAEA;AACA;AACA;;AACA,OAAOC,UAAP,MAAuB,cAAvB;AACA,OAAOC,IAAP,MAAiB,QAAjB
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/columns/index.js"],"names":["__","columns","icon","deprecated","edit","save","variations","transforms","name","metadata","settings","example","viewportWidth","innerBlocks","attributes","content","url"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,EAAT,QAAmB,iBAAnB;AACA,SAASC,OAAO,IAAIC,IAApB,QAAgC,kBAAhC;AAEA;AACA;AACA;;AACA,OAAOC,UAAP,MAAuB,cAAvB;AACA,OAAOC,IAAP,MAAiB,QAAjB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,OAAOC,IAAP,MAAiB,QAAjB;AACA,OAAOC,UAAP,MAAuB,cAAvB;AACA,OAAOC,UAAP,MAAuB,cAAvB;AAEA,MAAM;AAAEC,EAAAA;AAAF,IAAWC,QAAjB;AAEA,SAASA,QAAT,EAAmBD,IAAnB;AAEA,OAAO,MAAME,QAAQ,GAAG;AACvBR,EAAAA,IADuB;AAEvBI,EAAAA,UAFuB;AAGvBK,EAAAA,OAAO,EAAE;AACRC,IAAAA,aAAa,EAAE,GADP;AACY;AACpBC,IAAAA,WAAW,EAAE,CACZ;AACCL,MAAAA,IAAI,EAAE,aADP;AAECK,MAAAA,WAAW,EAAE,CACZ;AACCL,QAAAA,IAAI,EAAE,gBADP;AAECM,QAAAA,UAAU,EAAE;AACX;AACAC,UAAAA,OAAO,EAAEf,EAAE,CACV,qFADU;AAFA;AAFb,OADY,EAUZ;AACCQ,QAAAA,IAAI,EAAE,YADP;AAECM,QAAAA,UAAU,EAAE;AACXE,UAAAA,GAAG,EACF;AAFU;AAFb,OAVY,EAiBZ;AACCR,QAAAA,IAAI,EAAE,gBADP;AAECM,QAAAA,UAAU,EAAE;AACX;AACAC,UAAAA,OAAO,EAAEf,EAAE,CACV,6DADU;AAFA;AAFb,OAjBY;AAFd,KADY,EA+BZ;AACCQ,MAAAA,IAAI,EAAE,aADP;AAECK,MAAAA,WAAW,EAAE,CACZ;AACCL,QAAAA,IAAI,EAAE,gBADP;AAECM,QAAAA,UAAU,EAAE;AACX;AACAC,UAAAA,OAAO,EAAEf,EAAE,CACV,+JADU;AAFA;AAFb,OADY,EAUZ;AACCQ,QAAAA,IAAI,EAAE,gBADP;AAECM,QAAAA,UAAU,EAAE;AACX;AACAC,UAAAA,OAAO,EAAEf,EAAE,CACV,yGADU;AAFA;AAFb,OAVY;AAFd,KA/BY;AAFL,GAHc;AA6DvBG,EAAAA,UA7DuB;AA8DvBC,EAAAA,IA9DuB;AA+DvBC,EAAAA,IA/DuB;AAgEvBE,EAAAA;AAhEuB,CAAjB","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { columns as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport deprecated from './deprecated';\nimport edit from './edit';\nimport metadata from './block.json';\nimport save from './save';\nimport variations from './variations';\nimport transforms from './transforms';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\tvariations,\n\texample: {\n\t\tviewportWidth: 600, // Columns collapse \"@media (max-width: 599px)\".\n\t\tinnerBlocks: [\n\t\t\t{\n\t\t\t\tname: 'core/column',\n\t\t\t\tinnerBlocks: [\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'core/paragraph',\n\t\t\t\t\t\tattributes: {\n\t\t\t\t\t\t\t/* translators: example text. */\n\t\t\t\t\t\t\tcontent: __(\n\t\t\t\t\t\t\t\t'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent et eros eu felis.'\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\t{\n\t\t\t\t\t\tname: 'core/image',\n\t\t\t\t\t\tattributes: {\n\t\t\t\t\t\t\turl:\n\t\t\t\t\t\t\t\t'https://s.w.org/images/core/5.3/Windbuchencom.jpg',\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'core/paragraph',\n\t\t\t\t\t\tattributes: {\n\t\t\t\t\t\t\t/* translators: example text. */\n\t\t\t\t\t\t\tcontent: __(\n\t\t\t\t\t\t\t\t'Suspendisse commodo neque lacus, a dictum orci interdum et.'\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],\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'core/column',\n\t\t\t\tinnerBlocks: [\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'core/paragraph',\n\t\t\t\t\t\tattributes: {\n\t\t\t\t\t\t\t/* translators: example text. */\n\t\t\t\t\t\t\tcontent: __(\n\t\t\t\t\t\t\t\t'Etiam et egestas lorem. Vivamus sagittis sit amet dolor quis lobortis. Integer sed fermentum arcu, id vulputate lacus. Etiam fermentum sem eu quam hendrerit.'\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\t{\n\t\t\t\t\t\tname: 'core/paragraph',\n\t\t\t\t\t\tattributes: {\n\t\t\t\t\t\t\t/* translators: example text. */\n\t\t\t\t\t\t\tcontent: __(\n\t\t\t\t\t\t\t\t'Nam risus massa, ullamcorper consectetur eros fermentum, porta aliquet ligula. Sed vel mauris nec enim.'\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],\n\t\t\t},\n\t\t],\n\t},\n\tdeprecated,\n\tedit,\n\tsave,\n\ttransforms,\n};\n"]}
|
|
@@ -13,10 +13,20 @@ export default function GapStyles(_ref) {
|
|
|
13
13
|
const styleElement = useContext(BlockList.__unstableElementContext); // --gallery-block--gutter-size is deprecated. --wp--style--gallery-gap-default should be used by themes that want to set a default
|
|
14
14
|
// gap on the gallery.
|
|
15
15
|
|
|
16
|
-
const
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
16
|
+
const fallbackValue = `var( --wp--style--gallery-gap-default, var( --gallery-block--gutter-size, var( --wp--style--block-gap, 0.5em ) ) )`;
|
|
17
|
+
let gapValue = fallbackValue;
|
|
18
|
+
let column = fallbackValue;
|
|
19
|
+
let row; // Check for the possibility of split block gap values. See: https://github.com/WordPress/gutenberg/pull/37736
|
|
20
|
+
|
|
21
|
+
if (!!blockGap) {
|
|
22
|
+
row = typeof blockGap === 'string' ? blockGap : (blockGap === null || blockGap === void 0 ? void 0 : blockGap.top) || fallbackValue;
|
|
23
|
+
column = typeof blockGap === 'string' ? blockGap : (blockGap === null || blockGap === void 0 ? void 0 : blockGap.left) || fallbackValue;
|
|
24
|
+
gapValue = row === column ? row : `${row} ${column}`;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
const gap = `#block-${clientId} {
|
|
28
|
+
--wp--style--unstable-gallery-gap: ${column};
|
|
29
|
+
gap: ${gapValue}
|
|
20
30
|
}`;
|
|
21
31
|
|
|
22
32
|
const GapStyle = () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/gallery/gap-styles.js"],"names":["BlockList","useContext","createPortal","GapStyles","blockGap","clientId","styleElement","__unstableElementContext","gapValue","gap","GapStyle"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,SAAT,QAA0B,yBAA1B;AACA,SAASC,UAAT,EAAqBC,YAArB,QAAyC,oBAAzC;AAEA,eAAe,SAASC,SAAT,OAA6C;AAAA,MAAzB;AAAEC,IAAAA,QAAF;AAAYC,IAAAA;AAAZ,GAAyB;AAC3D,QAAMC,YAAY,GAAGL,UAAU,CAAED,SAAS,CAACO,wBAAZ,CAA/B,CAD2D,CAE3D;AACA;;AACA,QAAMC,QAAQ,
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/gallery/gap-styles.js"],"names":["BlockList","useContext","createPortal","GapStyles","blockGap","clientId","styleElement","__unstableElementContext","fallbackValue","gapValue","column","row","top","left","gap","GapStyle"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,SAAT,QAA0B,yBAA1B;AACA,SAASC,UAAT,EAAqBC,YAArB,QAAyC,oBAAzC;AAEA,eAAe,SAASC,SAAT,OAA6C;AAAA,MAAzB;AAAEC,IAAAA,QAAF;AAAYC,IAAAA;AAAZ,GAAyB;AAC3D,QAAMC,YAAY,GAAGL,UAAU,CAAED,SAAS,CAACO,wBAAZ,CAA/B,CAD2D,CAE3D;AACA;;AACA,QAAMC,aAAa,GAAI,oHAAvB;AACA,MAAIC,QAAQ,GAAGD,aAAf;AACA,MAAIE,MAAM,GAAGF,aAAb;AACA,MAAIG,GAAJ,CAP2D,CAS3D;;AACA,MAAK,CAAC,CAAEP,QAAR,EAAmB;AAClBO,IAAAA,GAAG,GACF,OAAOP,QAAP,KAAoB,QAApB,GACGA,QADH,GAEG,CAAAA,QAAQ,SAAR,IAAAA,QAAQ,WAAR,YAAAA,QAAQ,CAAEQ,GAAV,KAAiBJ,aAHrB;AAIAE,IAAAA,MAAM,GACL,OAAON,QAAP,KAAoB,QAApB,GACGA,QADH,GAEG,CAAAA,QAAQ,SAAR,IAAAA,QAAQ,WAAR,YAAAA,QAAQ,CAAES,IAAV,KAAkBL,aAHtB;AAIAC,IAAAA,QAAQ,GAAGE,GAAG,KAAKD,MAAR,GAAiBC,GAAjB,GAAwB,GAAGA,GAAK,IAAID,MAAQ,EAAvD;AACA;;AAED,QAAMI,GAAG,GAAI,UAAUT,QAAU;AAClC,uCAAwCK,MAAQ;AAChD,SAAUD,QAAU;AACpB,GAHC;;AAKA,QAAMM,QAAQ,GAAG,MAAM;AACtB,WAAO,6BAASD,GAAT,CAAP;AACA,GAFD;;AAIA,SAAOA,GAAG,IAAIR,YAAP,GACJJ,YAAY,CAAE,cAAC,QAAD,OAAF,EAAgBI,YAAhB,CADR,GAEJ,IAFH;AAGA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { BlockList } from '@wordpress/block-editor';\nimport { useContext, createPortal } from '@wordpress/element';\n\nexport default function GapStyles( { blockGap, clientId } ) {\n\tconst styleElement = useContext( BlockList.__unstableElementContext );\n\t// --gallery-block--gutter-size is deprecated. --wp--style--gallery-gap-default should be used by themes that want to set a default\n\t// gap on the gallery.\n\tconst fallbackValue = `var( --wp--style--gallery-gap-default, var( --gallery-block--gutter-size, var( --wp--style--block-gap, 0.5em ) ) )`;\n\tlet gapValue = fallbackValue;\n\tlet column = fallbackValue;\n\tlet row;\n\n\t// Check for the possibility of split block gap values. See: https://github.com/WordPress/gutenberg/pull/37736\n\tif ( !! blockGap ) {\n\t\trow =\n\t\t\ttypeof blockGap === 'string'\n\t\t\t\t? blockGap\n\t\t\t\t: blockGap?.top || fallbackValue;\n\t\tcolumn =\n\t\t\ttypeof blockGap === 'string'\n\t\t\t\t? blockGap\n\t\t\t\t: blockGap?.left || fallbackValue;\n\t\tgapValue = row === column ? row : `${ row } ${ column }`;\n\t}\n\n\tconst gap = `#block-${ clientId } {\n\t\t--wp--style--unstable-gallery-gap: ${ column };\n\t\tgap: ${ gapValue }\n\t}`;\n\n\tconst GapStyle = () => {\n\t\treturn <style>{ gap }</style>;\n\t};\n\n\treturn gap && styleElement\n\t\t? createPortal( <GapStyle />, styleElement )\n\t\t: null;\n}\n"]}
|
|
@@ -69,23 +69,7 @@ export const isExternalImage = (id, url) => url && !id && !isBlobURL(url);
|
|
|
69
69
|
function hasDefaultSize(image, defaultSize) {
|
|
70
70
|
return has(image, ['sizes', defaultSize, 'url']) || has(image, ['media_details', 'sizes', defaultSize, 'source_url']);
|
|
71
71
|
}
|
|
72
|
-
/**
|
|
73
|
-
* Checks if a media attachment object has been "destroyed",
|
|
74
|
-
* that is, removed from the media library. The core Media Library
|
|
75
|
-
* adds a `destroyed` property to a deleted attachment object in the media collection.
|
|
76
|
-
*
|
|
77
|
-
* @param {number} id The attachment id.
|
|
78
|
-
*
|
|
79
|
-
* @return {boolean} Whether the image has been destroyed.
|
|
80
|
-
*/
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
export function isMediaDestroyed(id) {
|
|
84
|
-
var _wp, _wp$media;
|
|
85
72
|
|
|
86
|
-
const attachment = ((_wp = wp) === null || _wp === void 0 ? void 0 : (_wp$media = _wp.media) === null || _wp$media === void 0 ? void 0 : _wp$media.attachment(id)) || {};
|
|
87
|
-
return attachment.destroyed;
|
|
88
|
-
}
|
|
89
73
|
export function ImageEdit(_ref) {
|
|
90
74
|
let {
|
|
91
75
|
attributes,
|
|
@@ -127,36 +111,7 @@ export function ImageEdit(_ref) {
|
|
|
127
111
|
getSettings
|
|
128
112
|
} = select(blockEditorStore);
|
|
129
113
|
return pick(getSettings(), ['imageDefaultSize', 'mediaUpload']);
|
|
130
|
-
}, []);
|
|
131
|
-
// fired when the media modal closes.
|
|
132
|
-
|
|
133
|
-
function onCloseModal() {
|
|
134
|
-
if (isMediaDestroyed(attributes === null || attributes === void 0 ? void 0 : attributes.id)) {
|
|
135
|
-
setAttributes({
|
|
136
|
-
url: undefined,
|
|
137
|
-
id: undefined
|
|
138
|
-
});
|
|
139
|
-
}
|
|
140
|
-
}
|
|
141
|
-
/*
|
|
142
|
-
Runs an error callback if the image does not load.
|
|
143
|
-
If the error callback is triggered, we infer that that image
|
|
144
|
-
has been deleted.
|
|
145
|
-
*/
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
function onImageError() {
|
|
149
|
-
let isReplaced = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
|
|
150
|
-
|
|
151
|
-
// If the image block was not replaced with an embed,
|
|
152
|
-
// clear the attributes and trigger the placeholder.
|
|
153
|
-
if (!isReplaced) {
|
|
154
|
-
setAttributes({
|
|
155
|
-
url: undefined,
|
|
156
|
-
id: undefined
|
|
157
|
-
});
|
|
158
|
-
}
|
|
159
|
-
}
|
|
114
|
+
}, []);
|
|
160
115
|
|
|
161
116
|
function onUploadError(message) {
|
|
162
117
|
noticeOperations.removeAllNotices();
|
|
@@ -170,7 +125,7 @@ export function ImageEdit(_ref) {
|
|
|
170
125
|
}
|
|
171
126
|
|
|
172
127
|
function onSelectImage(media) {
|
|
173
|
-
var
|
|
128
|
+
var _wp, _wp$media, _wp$media$view, _wp$media$view$settin, _wp$media$view$settin2;
|
|
174
129
|
|
|
175
130
|
if (!media || !media.url) {
|
|
176
131
|
setAttributes({
|
|
@@ -221,7 +176,7 @@ export function ImageEdit(_ref) {
|
|
|
221
176
|
// Use the WordPress option to determine the proper default.
|
|
222
177
|
// The constants used in Gutenberg do not match WP options so a little more complicated than ideal.
|
|
223
178
|
// TODO: fix this in a follow up PR, requires updating media-text and ui component.
|
|
224
|
-
switch (((
|
|
179
|
+
switch (((_wp = wp) === null || _wp === void 0 ? void 0 : (_wp$media = _wp.media) === null || _wp$media === void 0 ? void 0 : (_wp$media$view = _wp$media.view) === null || _wp$media$view === void 0 ? void 0 : (_wp$media$view$settin = _wp$media$view.settings) === null || _wp$media$view$settin === void 0 ? void 0 : (_wp$media$view$settin2 = _wp$media$view$settin.defaultProps) === null || _wp$media$view$settin2 === void 0 ? void 0 : _wp$media$view$settin2.link) || LINK_DESTINATION_NONE) {
|
|
225
180
|
case 'file':
|
|
226
181
|
case LINK_DESTINATION_MEDIA:
|
|
227
182
|
linkDestination = LINK_DESTINATION_MEDIA;
|
|
@@ -347,9 +302,7 @@ export function ImageEdit(_ref) {
|
|
|
347
302
|
onUploadError: onUploadError,
|
|
348
303
|
containerRef: ref,
|
|
349
304
|
context: context,
|
|
350
|
-
clientId: clientId
|
|
351
|
-
onCloseModal: onCloseModal,
|
|
352
|
-
onImageLoadError: onImageError
|
|
305
|
+
clientId: clientId
|
|
353
306
|
}), !url && createElement(BlockControls, {
|
|
354
307
|
group: "block"
|
|
355
308
|
}, createElement(BlockAlignmentControl, {
|
|
@@ -363,7 +316,6 @@ export function ImageEdit(_ref) {
|
|
|
363
316
|
onSelectURL: onSelectURL,
|
|
364
317
|
notices: noticeUI,
|
|
365
318
|
onError: onUploadError,
|
|
366
|
-
onClose: onCloseModal,
|
|
367
319
|
accept: "image/*",
|
|
368
320
|
allowedTypes: ALLOWED_MEDIA_TYPES,
|
|
369
321
|
value: {
|