@wordpress/block-editor 15.4.1-next.233ccab9b.0 → 15.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +2 -0
- package/build/components/background-image-control/index.js +51 -24
- package/build/components/background-image-control/index.js.map +1 -1
- package/build/components/block-edit/edit.js +13 -5
- package/build/components/block-edit/edit.js.map +1 -1
- package/build/components/block-list/block.js +14 -4
- package/build/components/block-list/block.js.map +1 -1
- package/build/components/block-list/use-block-props/index.js +5 -4
- package/build/components/block-list/use-block-props/index.js.map +1 -1
- package/build/components/block-settings-menu-controls/index.js +10 -2
- package/build/components/block-settings-menu-controls/index.js.map +1 -1
- package/build/components/block-toolbar/index.js +5 -0
- package/build/components/block-toolbar/index.js.map +1 -1
- package/build/components/block-visibility/index.js +21 -0
- package/build/components/block-visibility/index.js.map +1 -0
- package/build/components/block-visibility/menu-item.js +52 -0
- package/build/components/block-visibility/menu-item.js.map +1 -0
- package/build/components/block-visibility/toolbar.js +88 -0
- package/build/components/block-visibility/toolbar.js.map +1 -0
- package/build/components/inspector-controls-tabs/index.js +23 -0
- package/build/components/inspector-controls-tabs/index.js.map +1 -1
- package/build/components/link-control/index.js +1 -1
- package/build/components/link-control/index.js.map +1 -1
- package/build/components/list-view/block-select-button.js +23 -4
- package/build/components/list-view/block-select-button.js.map +1 -1
- package/build/components/list-view/block.js +9 -3
- package/build/components/list-view/block.js.map +1 -1
- package/build/components/rich-text/index.js +4 -2
- package/build/components/rich-text/index.js.map +1 -1
- package/build/components/use-block-drop-zone/index.js +5 -1
- package/build/components/use-block-drop-zone/index.js.map +1 -1
- package/build/hooks/block-bindings.js +9 -4
- package/build/hooks/block-bindings.js.map +1 -1
- package/build/store/private-selectors.js +19 -1
- package/build/store/private-selectors.js.map +1 -1
- package/build/store/reducer.js +1 -5
- package/build/store/reducer.js.map +1 -1
- package/build/utils/block-bindings.js +3 -48
- package/build/utils/block-bindings.js.map +1 -1
- package/build-module/components/background-image-control/index.js +52 -25
- package/build-module/components/background-image-control/index.js.map +1 -1
- package/build-module/components/block-edit/edit.js +14 -6
- package/build-module/components/block-edit/edit.js.map +1 -1
- package/build-module/components/block-list/block.js +14 -4
- package/build-module/components/block-list/block.js.map +1 -1
- package/build-module/components/block-list/use-block-props/index.js +5 -4
- package/build-module/components/block-list/use-block-props/index.js.map +1 -1
- package/build-module/components/block-settings-menu-controls/index.js +10 -2
- package/build-module/components/block-settings-menu-controls/index.js.map +1 -1
- package/build-module/components/block-toolbar/index.js +5 -0
- package/build-module/components/block-toolbar/index.js.map +1 -1
- package/build-module/components/block-visibility/index.js +3 -0
- package/build-module/components/block-visibility/index.js.map +1 -0
- package/build-module/components/block-visibility/menu-item.js +45 -0
- package/build-module/components/block-visibility/menu-item.js.map +1 -0
- package/build-module/components/block-visibility/toolbar.js +81 -0
- package/build-module/components/block-visibility/toolbar.js.map +1 -0
- package/build-module/components/inspector-controls-tabs/index.js +23 -0
- package/build-module/components/inspector-controls-tabs/index.js.map +1 -1
- package/build-module/components/link-control/index.js +1 -1
- package/build-module/components/link-control/index.js.map +1 -1
- package/build-module/components/list-view/block-select-button.js +24 -5
- package/build-module/components/list-view/block-select-button.js.map +1 -1
- package/build-module/components/list-view/block.js +9 -3
- package/build-module/components/list-view/block.js.map +1 -1
- package/build-module/components/rich-text/index.js +4 -2
- package/build-module/components/rich-text/index.js.map +1 -1
- package/build-module/components/use-block-drop-zone/index.js +6 -2
- package/build-module/components/use-block-drop-zone/index.js.map +1 -1
- package/build-module/hooks/block-bindings.js +10 -5
- package/build-module/hooks/block-bindings.js.map +1 -1
- package/build-module/store/private-selectors.js +18 -1
- package/build-module/store/private-selectors.js.map +1 -1
- package/build-module/store/reducer.js +1 -5
- package/build-module/store/reducer.js.map +1 -1
- package/build-module/utils/block-bindings.js +3 -45
- package/build-module/utils/block-bindings.js.map +1 -1
- package/build-style/content-rtl.css +13 -0
- package/build-style/content.css +13 -0
- package/build-style/style-rtl.css +27 -0
- package/build-style/style.css +27 -0
- package/package.json +34 -34
- package/src/components/background-image-control/index.js +54 -27
- package/src/components/background-image-control/style.scss +28 -0
- package/src/components/block-edit/edit.js +23 -5
- package/src/components/block-list/block.js +16 -0
- package/src/components/block-list/content.scss +19 -0
- package/src/components/block-list/use-block-props/index.js +9 -9
- package/src/components/block-settings-menu-controls/index.js +21 -1
- package/src/components/block-toolbar/index.js +9 -0
- package/src/components/block-visibility/index.js +2 -0
- package/src/components/block-visibility/menu-item.js +53 -0
- package/src/components/block-visibility/toolbar.js +88 -0
- package/src/components/inspector-controls-tabs/index.js +33 -1
- package/src/components/link-control/index.js +1 -1
- package/src/components/link-control/test/index.js +4 -4
- package/src/components/list-view/block-select-button.js +32 -9
- package/src/components/list-view/block.js +24 -14
- package/src/components/list-view/style.scss +1 -0
- package/src/components/media-replace-flow/test/index.js +1 -1
- package/src/components/rich-text/index.js +6 -2
- package/src/components/use-block-drop-zone/index.js +14 -1
- package/src/hooks/block-bindings.js +49 -43
- package/src/store/private-selectors.js +21 -1
- package/src/store/reducer.js +1 -6
- package/src/utils/block-bindings.js +6 -48
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_clsx","_interopRequireDefault","require","_element","_blocks","_components","_data","_compose","_dom","_blockEdit","_blockInvalidWarning","_blockCrashWarning","_blockCrashBoundary","_blockHtml","_useBlockProps","_store","_layout","_privateBlockContext","_lockUnlock","_jsxRuntime","mergeWrapperProps","propsA","propsB","newProps","hasOwnProperty","className","clsx","style","Block","children","isHtml","props","jsx","useBlockProps","__unstableIsHtml","BlockListBlock","block","__unstableBlockSource","mode","isLocked","canRemove","clientId","isSelected","isSelectionEnabled","__unstableLayoutClassNames","layoutClassNames","name","isValid","attributes","wrapperProps","setAttributes","onReplace","onRemove","onInsertBlocksAfter","onMerge","toggleSelection","_wrapperProps","mayDisplayControls","mayDisplayParentControls","themeSupportsLayout","context","useContext","PrivateBlockContext","parentLayout","useLayout","blockEdit","default","insertBlocksAfter","undefined","mergeBlocks","__unstableParentLayout","Object","keys","length","blockEditingMode","isPreviewMode","blockType","getBlockType","getEditWrapperProps","isAligned","isSticky","includes","saveContent","serializeRawBlock","getSaveContent","jsxs","RawHTML","safeHTML","Fragment","display","apiVersion","dataAlign","restWrapperProps","updatedWrapperProps","Provider","value","fallback","applyWithDispatch","withDispatch","dispatch","ownProps","registry","updateBlockAttributes","insertBlocks","replaceBlocks","__unstableMarkLastChangeAsPersistent","moveBlocksToPosition","removeBlock","selectBlock","blockEditorStore","nextAttributes","getMultiSelectedBlockClientIds","select","multiSelectedBlockClientIds","clientIds","newAttributes","onInsertBlocks","blocks","index","rootClientId","getBlockIndex","forward","getPreviousBlockClientId","getNextBlockClientId","getBlock","getBlockAttributes","getBlockName","getBlockOrder","getBlockRootClientId","canInsertBlockType","switchToDefaultOrRemove","defaultBlockName","getDefaultBlockName","defaultBlockType","replacement","switchToBlockType","isUnmodifiedDefaultBlock","nextBlockClientId","batch","merge","createBlock","moveFirstItemUp","_clientId","changeSelection","wrapperBlockName","wrapperBlockType","isTextualWrapper","category","targetRootClientId","blockOrder","firstClientId","isUnmodifiedBlock","every","nextRootClientId","rootAttributes","previousRootAttributes","key","previousBlockClientId","previousRootClientId","indexToSelect","initialPosition","replacementBlocks","Array","isArray","selectionEnabled","compose","withFilters","BlockListBlockProvider","selectedProps","useSelect","isBlockSelected","getBlockMode","getTemplateLock","isSectionBlock","_isSectionBlock","getBlockWithoutAttributes","canRemoveBlock","canMoveBlock","getSettings","getTemporarilyEditingAsBlocks","getBlockEditingMode","isFirstMultiSelectedBlock","hasSelectedInnerBlock","getBlocksByName","isBlockMultiSelected","isBlockSubtreeDisabled","isBlockHighlighted","__unstableIsFullySelected","__unstableSelectionHasUnmergeableBlock","isBlockBeingDragged","isDragging","__unstableHasActiveBlockOverlayActive","getSelectedBlocksInitialCaretPosition","unlock","blockWithoutAttributes","hasBlockSupport","_hasBlockSupport","getActiveBlockVariation","blocksStore","blockName","supportsLayout","hasLightBlockWrapper","previewContext","isReusable","isReusableBlock","defaultClassName","getBlockDefaultClassName","blockTitle","title","_isSelected","canMove","match","isMultiSelected","checkDeep","isAncestorOfSelectedBlock","multiple","blocksWithSameName","isInvalid","isTemporarilyEditingAsBlocks","id","blockApiVersion","isSubtreeDisabled","hasOverlay","isHighlighted","isPartiallySelected","hasChildSelected","isEditingDisabled","hasEditableOutline","originalBlockClientId","useMemo","privateContext","_default","exports","memo"],"sources":["@wordpress/block-editor/src/components/block-list/block.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { memo, RawHTML, useContext, useMemo } from '@wordpress/element';\nimport {\n\tgetBlockType,\n\tgetSaveContent,\n\tisUnmodifiedDefaultBlock,\n\tserializeRawBlock,\n\tswitchToBlockType,\n\tgetDefaultBlockName,\n\tisUnmodifiedBlock,\n\tisReusableBlock,\n\tgetBlockDefaultClassName,\n\thasBlockSupport,\n\tcreateBlock,\n\tstore as blocksStore,\n} from '@wordpress/blocks';\nimport { withFilters } from '@wordpress/components';\nimport { withDispatch, useSelect } from '@wordpress/data';\nimport { compose } from '@wordpress/compose';\nimport { safeHTML } from '@wordpress/dom';\n\n/**\n * Internal dependencies\n */\nimport BlockEdit from '../block-edit';\nimport BlockInvalidWarning from './block-invalid-warning';\nimport BlockCrashWarning from './block-crash-warning';\nimport BlockCrashBoundary from './block-crash-boundary';\nimport BlockHtml from './block-html';\nimport { useBlockProps } from './use-block-props';\nimport { store as blockEditorStore } from '../../store';\nimport { useLayout } from './layout';\nimport { PrivateBlockContext } from './private-block-context';\n\nimport { unlock } from '../../lock-unlock';\n\n/**\n * Merges wrapper props with special handling for classNames and styles.\n *\n * @param {Object} propsA\n * @param {Object} propsB\n *\n * @return {Object} Merged props.\n */\nfunction mergeWrapperProps( propsA, propsB ) {\n\tconst newProps = {\n\t\t...propsA,\n\t\t...propsB,\n\t};\n\n\t// May be set to undefined, so check if the property is set!\n\tif (\n\t\tpropsA?.hasOwnProperty( 'className' ) &&\n\t\tpropsB?.hasOwnProperty( 'className' )\n\t) {\n\t\tnewProps.className = clsx( propsA.className, propsB.className );\n\t}\n\n\tif (\n\t\tpropsA?.hasOwnProperty( 'style' ) &&\n\t\tpropsB?.hasOwnProperty( 'style' )\n\t) {\n\t\tnewProps.style = { ...propsA.style, ...propsB.style };\n\t}\n\n\treturn newProps;\n}\n\nfunction Block( { children, isHtml, ...props } ) {\n\treturn (\n\t\t<div { ...useBlockProps( props, { __unstableIsHtml: isHtml } ) }>\n\t\t\t{ children }\n\t\t</div>\n\t);\n}\n\nfunction BlockListBlock( {\n\tblock: { __unstableBlockSource },\n\tmode,\n\tisLocked,\n\tcanRemove,\n\tclientId,\n\tisSelected,\n\tisSelectionEnabled,\n\tclassName,\n\t__unstableLayoutClassNames: layoutClassNames,\n\tname,\n\tisValid,\n\tattributes,\n\twrapperProps,\n\tsetAttributes,\n\tonReplace,\n\tonRemove,\n\tonInsertBlocksAfter,\n\tonMerge,\n\ttoggleSelection,\n} ) {\n\tconst {\n\t\tmayDisplayControls,\n\t\tmayDisplayParentControls,\n\t\tthemeSupportsLayout,\n\t\t...context\n\t} = useContext( PrivateBlockContext );\n\n\tconst parentLayout = useLayout() || {};\n\n\t// We wrap the BlockEdit component in a div that hides it when editing in\n\t// HTML mode. This allows us to render all of the ancillary pieces\n\t// (InspectorControls, etc.) which are inside `BlockEdit` but not\n\t// `BlockHTML`, even in HTML mode.\n\tlet blockEdit = (\n\t\t<BlockEdit\n\t\t\tname={ name }\n\t\t\tisSelected={ isSelected }\n\t\t\tattributes={ attributes }\n\t\t\tsetAttributes={ setAttributes }\n\t\t\tinsertBlocksAfter={ isLocked ? undefined : onInsertBlocksAfter }\n\t\t\tonReplace={ canRemove ? onReplace : undefined }\n\t\t\tonRemove={ canRemove ? onRemove : undefined }\n\t\t\tmergeBlocks={ canRemove ? onMerge : undefined }\n\t\t\tclientId={ clientId }\n\t\t\tisSelectionEnabled={ isSelectionEnabled }\n\t\t\ttoggleSelection={ toggleSelection }\n\t\t\t__unstableLayoutClassNames={ layoutClassNames }\n\t\t\t__unstableParentLayout={\n\t\t\t\tObject.keys( parentLayout ).length ? parentLayout : undefined\n\t\t\t}\n\t\t\tmayDisplayControls={ mayDisplayControls }\n\t\t\tmayDisplayParentControls={ mayDisplayParentControls }\n\t\t\tblockEditingMode={ context.blockEditingMode }\n\t\t\tisPreviewMode={ context.isPreviewMode }\n\t\t/>\n\t);\n\n\tconst blockType = getBlockType( name );\n\n\t// Determine whether the block has props to apply to the wrapper.\n\tif ( blockType?.getEditWrapperProps ) {\n\t\twrapperProps = mergeWrapperProps(\n\t\t\twrapperProps,\n\t\t\tblockType.getEditWrapperProps( attributes )\n\t\t);\n\t}\n\n\tconst isAligned =\n\t\twrapperProps &&\n\t\t!! wrapperProps[ 'data-align' ] &&\n\t\t! themeSupportsLayout;\n\n\t// Support for sticky position in classic themes with alignment wrappers.\n\n\tconst isSticky = className?.includes( 'is-position-sticky' );\n\n\t// For aligned blocks, provide a wrapper element so the block can be\n\t// positioned relative to the block column.\n\t// This is only kept for classic themes that don't support layout\n\t// Historically we used to rely on extra divs and data-align to\n\t// provide the alignments styles in the editor.\n\t// Due to the differences between frontend and backend, we migrated\n\t// to the layout feature, and we're now aligning the markup of frontend\n\t// and backend.\n\tif ( isAligned ) {\n\t\tblockEdit = (\n\t\t\t<div\n\t\t\t\tclassName={ clsx( 'wp-block', isSticky && className ) }\n\t\t\t\tdata-align={ wrapperProps[ 'data-align' ] }\n\t\t\t>\n\t\t\t\t{ blockEdit }\n\t\t\t</div>\n\t\t);\n\t}\n\n\tlet block;\n\n\tif ( ! isValid ) {\n\t\tconst saveContent = __unstableBlockSource\n\t\t\t? serializeRawBlock( __unstableBlockSource )\n\t\t\t: getSaveContent( blockType, attributes );\n\n\t\tblock = (\n\t\t\t<Block className=\"has-warning\">\n\t\t\t\t<BlockInvalidWarning clientId={ clientId } />\n\t\t\t\t<RawHTML>{ safeHTML( saveContent ) }</RawHTML>\n\t\t\t</Block>\n\t\t);\n\t} else if ( mode === 'html' ) {\n\t\t// Render blockEdit so the inspector controls don't disappear.\n\t\t// See #8969.\n\t\tblock = (\n\t\t\t<>\n\t\t\t\t<div style={ { display: 'none' } }>{ blockEdit }</div>\n\t\t\t\t<Block isHtml>\n\t\t\t\t\t<BlockHtml clientId={ clientId } />\n\t\t\t\t</Block>\n\t\t\t</>\n\t\t);\n\t} else if ( blockType?.apiVersion > 1 ) {\n\t\tblock = blockEdit;\n\t} else {\n\t\tblock = <Block>{ blockEdit }</Block>;\n\t}\n\n\tconst { 'data-align': dataAlign, ...restWrapperProps } = wrapperProps ?? {};\n\tconst updatedWrapperProps = {\n\t\t...restWrapperProps,\n\t\tclassName: clsx(\n\t\t\trestWrapperProps.className,\n\t\t\tdataAlign && themeSupportsLayout && `align${ dataAlign }`,\n\t\t\t! ( dataAlign && isSticky ) && className\n\t\t),\n\t};\n\n\t// We set a new context with the adjusted and filtered wrapperProps (through\n\t// `editor.BlockListBlock`), which the `BlockListBlockProvider` did not have\n\t// access to.\n\t// Note that the context value doesn't have to be memoized in this case\n\t// because when it changes, this component will be re-rendered anyway, and\n\t// none of the consumers (BlockListBlock and useBlockProps) are memoized or\n\t// \"pure\". This is different from the public BlockEditContext, where\n\t// consumers might be memoized or \"pure\".\n\treturn (\n\t\t<PrivateBlockContext.Provider\n\t\t\tvalue={ {\n\t\t\t\twrapperProps: updatedWrapperProps,\n\t\t\t\tisAligned,\n\t\t\t\t...context,\n\t\t\t} }\n\t\t>\n\t\t\t<BlockCrashBoundary\n\t\t\t\tfallback={\n\t\t\t\t\t<Block className=\"has-warning\">\n\t\t\t\t\t\t<BlockCrashWarning />\n\t\t\t\t\t</Block>\n\t\t\t\t}\n\t\t\t>\n\t\t\t\t{ block }\n\t\t\t</BlockCrashBoundary>\n\t\t</PrivateBlockContext.Provider>\n\t);\n}\n\nconst applyWithDispatch = withDispatch( ( dispatch, ownProps, registry ) => {\n\tconst {\n\t\tupdateBlockAttributes,\n\t\tinsertBlocks,\n\t\tmergeBlocks,\n\t\treplaceBlocks,\n\t\ttoggleSelection,\n\t\t__unstableMarkLastChangeAsPersistent,\n\t\tmoveBlocksToPosition,\n\t\tremoveBlock,\n\t\tselectBlock,\n\t} = dispatch( blockEditorStore );\n\n\t// Do not add new properties here, use `useDispatch` instead to avoid\n\t// leaking new props to the public API (editor.BlockListBlock filter).\n\treturn {\n\t\tsetAttributes( nextAttributes ) {\n\t\t\tconst { getMultiSelectedBlockClientIds } =\n\t\t\t\tregistry.select( blockEditorStore );\n\t\t\tconst multiSelectedBlockClientIds =\n\t\t\t\tgetMultiSelectedBlockClientIds();\n\t\t\tconst { clientId, attributes } = ownProps;\n\t\t\tconst clientIds = multiSelectedBlockClientIds.length\n\t\t\t\t? multiSelectedBlockClientIds\n\t\t\t\t: [ clientId ];\n\t\t\tconst newAttributes =\n\t\t\t\ttypeof nextAttributes === 'function'\n\t\t\t\t\t? nextAttributes( attributes )\n\t\t\t\t\t: nextAttributes;\n\n\t\t\tupdateBlockAttributes( clientIds, newAttributes );\n\t\t},\n\t\tonInsertBlocks( blocks, index ) {\n\t\t\tconst { rootClientId } = ownProps;\n\t\t\tinsertBlocks( blocks, index, rootClientId );\n\t\t},\n\t\tonInsertBlocksAfter( blocks ) {\n\t\t\tconst { clientId, rootClientId } = ownProps;\n\t\t\tconst { getBlockIndex } = registry.select( blockEditorStore );\n\t\t\tconst index = getBlockIndex( clientId );\n\t\t\tinsertBlocks( blocks, index + 1, rootClientId );\n\t\t},\n\t\tonMerge( forward ) {\n\t\t\tconst { clientId, rootClientId } = ownProps;\n\t\t\tconst {\n\t\t\t\tgetPreviousBlockClientId,\n\t\t\t\tgetNextBlockClientId,\n\t\t\t\tgetBlock,\n\t\t\t\tgetBlockAttributes,\n\t\t\t\tgetBlockName,\n\t\t\t\tgetBlockOrder,\n\t\t\t\tgetBlockIndex,\n\t\t\t\tgetBlockRootClientId,\n\t\t\t\tcanInsertBlockType,\n\t\t\t} = registry.select( blockEditorStore );\n\n\t\t\tfunction switchToDefaultOrRemove() {\n\t\t\t\tconst block = getBlock( clientId );\n\t\t\t\tconst defaultBlockName = getDefaultBlockName();\n\t\t\t\tconst defaultBlockType = getBlockType( defaultBlockName );\n\t\t\t\tif ( getBlockName( clientId ) !== defaultBlockName ) {\n\t\t\t\t\tconst replacement = switchToBlockType(\n\t\t\t\t\t\tblock,\n\t\t\t\t\t\tdefaultBlockName\n\t\t\t\t\t);\n\t\t\t\t\tif ( replacement && replacement.length ) {\n\t\t\t\t\t\treplaceBlocks( clientId, replacement );\n\t\t\t\t\t}\n\t\t\t\t} else if ( isUnmodifiedDefaultBlock( block ) ) {\n\t\t\t\t\tconst nextBlockClientId = getNextBlockClientId( clientId );\n\t\t\t\t\tif ( nextBlockClientId ) {\n\t\t\t\t\t\tregistry.batch( () => {\n\t\t\t\t\t\t\tremoveBlock( clientId );\n\t\t\t\t\t\t\tselectBlock( nextBlockClientId );\n\t\t\t\t\t\t} );\n\t\t\t\t\t}\n\t\t\t\t} else if ( defaultBlockType.merge ) {\n\t\t\t\t\tconst attributes = defaultBlockType.merge(\n\t\t\t\t\t\t{},\n\t\t\t\t\t\tblock.attributes\n\t\t\t\t\t);\n\t\t\t\t\treplaceBlocks(\n\t\t\t\t\t\t[ clientId ],\n\t\t\t\t\t\t[ createBlock( defaultBlockName, attributes ) ]\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t/**\n\t\t\t * Moves the block with clientId up one level. If the block type\n\t\t\t * cannot be inserted at the new location, it will be attempted to\n\t\t\t * convert to the default block type.\n\t\t\t *\n\t\t\t * @param {string} _clientId The block to move.\n\t\t\t * @param {boolean} changeSelection Whether to change the selection\n\t\t\t * to the moved block.\n\t\t\t */\n\t\t\tfunction moveFirstItemUp( _clientId, changeSelection = true ) {\n\t\t\t\tconst wrapperBlockName = getBlockName( _clientId );\n\t\t\t\tconst wrapperBlockType = getBlockType( wrapperBlockName );\n\t\t\t\tconst isTextualWrapper = wrapperBlockType.category === 'text';\n\t\t\t\tconst targetRootClientId = getBlockRootClientId( _clientId );\n\t\t\t\tconst blockOrder = getBlockOrder( _clientId );\n\t\t\t\tconst [ firstClientId ] = blockOrder;\n\n\t\t\t\tif (\n\t\t\t\t\tblockOrder.length === 1 &&\n\t\t\t\t\tisUnmodifiedBlock( getBlock( firstClientId ) )\n\t\t\t\t) {\n\t\t\t\t\tremoveBlock( _clientId );\n\t\t\t\t} else if ( isTextualWrapper ) {\n\t\t\t\t\tregistry.batch( () => {\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\tcanInsertBlockType(\n\t\t\t\t\t\t\t\tgetBlockName( firstClientId ),\n\t\t\t\t\t\t\t\ttargetRootClientId\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tmoveBlocksToPosition(\n\t\t\t\t\t\t\t\t[ firstClientId ],\n\t\t\t\t\t\t\t\t_clientId,\n\t\t\t\t\t\t\t\ttargetRootClientId,\n\t\t\t\t\t\t\t\tgetBlockIndex( _clientId )\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tconst replacement = switchToBlockType(\n\t\t\t\t\t\t\t\tgetBlock( firstClientId ),\n\t\t\t\t\t\t\t\tgetDefaultBlockName()\n\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\treplacement &&\n\t\t\t\t\t\t\t\treplacement.length &&\n\t\t\t\t\t\t\t\treplacement.every( ( block ) =>\n\t\t\t\t\t\t\t\t\tcanInsertBlockType(\n\t\t\t\t\t\t\t\t\t\tblock.name,\n\t\t\t\t\t\t\t\t\t\ttargetRootClientId\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\t\tinsertBlocks(\n\t\t\t\t\t\t\t\t\treplacement,\n\t\t\t\t\t\t\t\t\tgetBlockIndex( _clientId ),\n\t\t\t\t\t\t\t\t\ttargetRootClientId,\n\t\t\t\t\t\t\t\t\tchangeSelection\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\tremoveBlock( firstClientId, false );\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tswitchToDefaultOrRemove();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t! getBlockOrder( _clientId ).length &&\n\t\t\t\t\t\t\tisUnmodifiedBlock( getBlock( _clientId ) )\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tremoveBlock( _clientId, false );\n\t\t\t\t\t\t}\n\t\t\t\t\t} );\n\t\t\t\t} else {\n\t\t\t\t\tswitchToDefaultOrRemove();\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// For `Delete` or forward merge, we should do the exact same thing\n\t\t\t// as `Backspace`, but from the other block.\n\t\t\tif ( forward ) {\n\t\t\t\tif ( rootClientId ) {\n\t\t\t\t\tconst nextRootClientId =\n\t\t\t\t\t\tgetNextBlockClientId( rootClientId );\n\n\t\t\t\t\tif ( nextRootClientId ) {\n\t\t\t\t\t\t// If there is a block that follows with the same parent\n\t\t\t\t\t\t// block name and the same attributes, merge the inner\n\t\t\t\t\t\t// blocks.\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\tgetBlockName( rootClientId ) ===\n\t\t\t\t\t\t\tgetBlockName( nextRootClientId )\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tconst rootAttributes =\n\t\t\t\t\t\t\t\tgetBlockAttributes( rootClientId );\n\t\t\t\t\t\t\tconst previousRootAttributes =\n\t\t\t\t\t\t\t\tgetBlockAttributes( nextRootClientId );\n\n\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\tObject.keys( rootAttributes ).every(\n\t\t\t\t\t\t\t\t\t( key ) =>\n\t\t\t\t\t\t\t\t\t\trootAttributes[ key ] ===\n\t\t\t\t\t\t\t\t\t\tpreviousRootAttributes[ key ]\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\tregistry.batch( () => {\n\t\t\t\t\t\t\t\t\tmoveBlocksToPosition(\n\t\t\t\t\t\t\t\t\t\tgetBlockOrder( nextRootClientId ),\n\t\t\t\t\t\t\t\t\t\tnextRootClientId,\n\t\t\t\t\t\t\t\t\t\trootClientId\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\tremoveBlock( nextRootClientId, false );\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tmergeBlocks( rootClientId, nextRootClientId );\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tconst nextBlockClientId = getNextBlockClientId( clientId );\n\n\t\t\t\tif ( ! nextBlockClientId ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif ( getBlockOrder( nextBlockClientId ).length ) {\n\t\t\t\t\tmoveFirstItemUp( nextBlockClientId, false );\n\t\t\t\t} else {\n\t\t\t\t\tmergeBlocks( clientId, nextBlockClientId );\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tconst previousBlockClientId =\n\t\t\t\t\tgetPreviousBlockClientId( clientId );\n\n\t\t\t\tif ( previousBlockClientId ) {\n\t\t\t\t\tmergeBlocks( previousBlockClientId, clientId );\n\t\t\t\t} else if ( rootClientId ) {\n\t\t\t\t\tconst previousRootClientId =\n\t\t\t\t\t\tgetPreviousBlockClientId( rootClientId );\n\n\t\t\t\t\t// If there is a preceding block with the same parent block\n\t\t\t\t\t// name and the same attributes, merge the inner blocks.\n\t\t\t\t\tif (\n\t\t\t\t\t\tpreviousRootClientId &&\n\t\t\t\t\t\tgetBlockName( rootClientId ) ===\n\t\t\t\t\t\t\tgetBlockName( previousRootClientId )\n\t\t\t\t\t) {\n\t\t\t\t\t\tconst rootAttributes =\n\t\t\t\t\t\t\tgetBlockAttributes( rootClientId );\n\t\t\t\t\t\tconst previousRootAttributes =\n\t\t\t\t\t\t\tgetBlockAttributes( previousRootClientId );\n\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\tObject.keys( rootAttributes ).every(\n\t\t\t\t\t\t\t\t( key ) =>\n\t\t\t\t\t\t\t\t\trootAttributes[ key ] ===\n\t\t\t\t\t\t\t\t\tpreviousRootAttributes[ key ]\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tregistry.batch( () => {\n\t\t\t\t\t\t\t\tmoveBlocksToPosition(\n\t\t\t\t\t\t\t\t\tgetBlockOrder( rootClientId ),\n\t\t\t\t\t\t\t\t\trootClientId,\n\t\t\t\t\t\t\t\t\tpreviousRootClientId\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\tremoveBlock( rootClientId, false );\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tmoveFirstItemUp( rootClientId );\n\t\t\t\t} else {\n\t\t\t\t\tswitchToDefaultOrRemove();\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tonReplace( blocks, indexToSelect, initialPosition ) {\n\t\t\tif (\n\t\t\t\tblocks.length &&\n\t\t\t\t! isUnmodifiedDefaultBlock( blocks[ blocks.length - 1 ] )\n\t\t\t) {\n\t\t\t\t__unstableMarkLastChangeAsPersistent();\n\t\t\t}\n\t\t\t//Unsynced patterns are nested in an array so we need to flatten them.\n\t\t\tconst replacementBlocks =\n\t\t\t\tblocks?.length === 1 && Array.isArray( blocks[ 0 ] )\n\t\t\t\t\t? blocks[ 0 ]\n\t\t\t\t\t: blocks;\n\t\t\treplaceBlocks(\n\t\t\t\t[ ownProps.clientId ],\n\t\t\t\treplacementBlocks,\n\t\t\t\tindexToSelect,\n\t\t\t\tinitialPosition\n\t\t\t);\n\t\t},\n\t\tonRemove() {\n\t\t\tremoveBlock( ownProps.clientId );\n\t\t},\n\t\ttoggleSelection( selectionEnabled ) {\n\t\t\ttoggleSelection( selectionEnabled );\n\t\t},\n\t};\n} );\n\n// This component is used by the BlockListBlockProvider component below. It will\n// add the props necessary for the `editor.BlockListBlock` filters.\nBlockListBlock = compose(\n\tapplyWithDispatch,\n\twithFilters( 'editor.BlockListBlock' )\n)( BlockListBlock );\n\n// This component provides all the information we need through a single store\n// subscription (useSelect mapping). Only the necessary props are passed down\n// to the BlockListBlock component, which is a filtered component, so these\n// props are public API. To avoid adding to the public API, we use a private\n// context to pass the rest of the information to the filtered BlockListBlock\n// component, and useBlockProps.\nfunction BlockListBlockProvider( props ) {\n\tconst { clientId, rootClientId } = props;\n\tconst selectedProps = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tisBlockSelected,\n\t\t\t\tgetBlockMode,\n\t\t\t\tisSelectionEnabled,\n\t\t\t\tgetTemplateLock,\n\t\t\t\tisSectionBlock: _isSectionBlock,\n\t\t\t\tgetBlockWithoutAttributes,\n\t\t\t\tgetBlockAttributes,\n\t\t\t\tcanRemoveBlock,\n\t\t\t\tcanMoveBlock,\n\n\t\t\t\tgetSettings,\n\t\t\t\tgetTemporarilyEditingAsBlocks,\n\t\t\t\tgetBlockEditingMode,\n\t\t\t\tgetBlockName,\n\t\t\t\tisFirstMultiSelectedBlock,\n\t\t\t\tgetMultiSelectedBlockClientIds,\n\t\t\t\thasSelectedInnerBlock,\n\t\t\t\tgetBlocksByName,\n\n\t\t\t\tgetBlockIndex,\n\t\t\t\tisBlockMultiSelected,\n\t\t\t\tisBlockSubtreeDisabled,\n\t\t\t\tisBlockHighlighted,\n\t\t\t\t__unstableIsFullySelected,\n\t\t\t\t__unstableSelectionHasUnmergeableBlock,\n\t\t\t\tisBlockBeingDragged,\n\t\t\t\tisDragging,\n\t\t\t\t__unstableHasActiveBlockOverlayActive,\n\t\t\t\tgetSelectedBlocksInitialCaretPosition,\n\t\t\t} = unlock( select( blockEditorStore ) );\n\t\t\tconst blockWithoutAttributes =\n\t\t\t\tgetBlockWithoutAttributes( clientId );\n\n\t\t\t// This is a temporary fix.\n\t\t\t// This function should never be called when a block is not\n\t\t\t// present in the state. It happens now because the order in\n\t\t\t// withSelect rendering is not correct.\n\t\t\tif ( ! blockWithoutAttributes ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst {\n\t\t\t\thasBlockSupport: _hasBlockSupport,\n\t\t\t\tgetActiveBlockVariation,\n\t\t\t} = select( blocksStore );\n\t\t\tconst attributes = getBlockAttributes( clientId );\n\t\t\tconst { name: blockName, isValid } = blockWithoutAttributes;\n\t\t\tconst blockType = getBlockType( blockName );\n\t\t\tconst { supportsLayout, isPreviewMode } = getSettings();\n\t\t\tconst hasLightBlockWrapper = blockType?.apiVersion > 1;\n\t\t\tconst previewContext = {\n\t\t\t\tisPreviewMode,\n\t\t\t\tblockWithoutAttributes,\n\t\t\t\tname: blockName,\n\t\t\t\tattributes,\n\t\t\t\tisValid,\n\t\t\t\tthemeSupportsLayout: supportsLayout,\n\t\t\t\tindex: getBlockIndex( clientId ),\n\t\t\t\tisReusable: isReusableBlock( blockType ),\n\t\t\t\tclassName: hasLightBlockWrapper\n\t\t\t\t\t? attributes.className\n\t\t\t\t\t: undefined,\n\t\t\t\tdefaultClassName: hasLightBlockWrapper\n\t\t\t\t\t? getBlockDefaultClassName( blockName )\n\t\t\t\t\t: undefined,\n\t\t\t\tblockTitle: blockType?.title,\n\t\t\t};\n\n\t\t\t// When in preview mode, we can avoid a lot of selection and\n\t\t\t// editing related selectors.\n\t\t\tif ( isPreviewMode ) {\n\t\t\t\treturn previewContext;\n\t\t\t}\n\n\t\t\tconst _isSelected = isBlockSelected( clientId );\n\t\t\tconst canRemove = canRemoveBlock( clientId );\n\t\t\tconst canMove = canMoveBlock( clientId );\n\t\t\tconst match = getActiveBlockVariation( blockName, attributes );\n\t\t\tconst isMultiSelected = isBlockMultiSelected( clientId );\n\t\t\tconst checkDeep = true;\n\t\t\tconst isAncestorOfSelectedBlock = hasSelectedInnerBlock(\n\t\t\t\tclientId,\n\t\t\t\tcheckDeep\n\t\t\t);\n\t\t\tconst blockEditingMode = getBlockEditingMode( clientId );\n\n\t\t\tconst multiple = hasBlockSupport( blockName, 'multiple', true );\n\n\t\t\t// For block types with `multiple` support, there is no \"original\n\t\t\t// block\" to be found in the content, as the block itself is valid.\n\t\t\tconst blocksWithSameName = multiple\n\t\t\t\t? []\n\t\t\t\t: getBlocksByName( blockName );\n\t\t\tconst isInvalid =\n\t\t\t\tblocksWithSameName.length &&\n\t\t\t\tblocksWithSameName[ 0 ] !== clientId;\n\n\t\t\treturn {\n\t\t\t\t...previewContext,\n\t\t\t\tmode: getBlockMode( clientId ),\n\t\t\t\tisSelectionEnabled: isSelectionEnabled(),\n\t\t\t\tisLocked: !! getTemplateLock( rootClientId ),\n\t\t\t\tisSectionBlock: _isSectionBlock( clientId ),\n\t\t\t\tcanRemove,\n\t\t\t\tcanMove,\n\t\t\t\tisSelected: _isSelected,\n\t\t\t\tisTemporarilyEditingAsBlocks:\n\t\t\t\t\tgetTemporarilyEditingAsBlocks() === clientId,\n\t\t\t\tblockEditingMode,\n\t\t\t\tmayDisplayControls:\n\t\t\t\t\t_isSelected ||\n\t\t\t\t\t( isFirstMultiSelectedBlock( clientId ) &&\n\t\t\t\t\t\tgetMultiSelectedBlockClientIds().every(\n\t\t\t\t\t\t\t( id ) => getBlockName( id ) === blockName\n\t\t\t\t\t\t) ),\n\t\t\t\tmayDisplayParentControls:\n\t\t\t\t\t_hasBlockSupport(\n\t\t\t\t\t\tgetBlockName( clientId ),\n\t\t\t\t\t\t'__experimentalExposeControlsToChildren',\n\t\t\t\t\t\tfalse\n\t\t\t\t\t) && hasSelectedInnerBlock( clientId ),\n\t\t\t\tblockApiVersion: blockType?.apiVersion || 1,\n\t\t\t\tblockTitle: match?.title || blockType?.title,\n\t\t\t\tisSubtreeDisabled:\n\t\t\t\t\tblockEditingMode === 'disabled' &&\n\t\t\t\t\tisBlockSubtreeDisabled( clientId ),\n\t\t\t\thasOverlay:\n\t\t\t\t\t__unstableHasActiveBlockOverlayActive( clientId ) &&\n\t\t\t\t\t! isDragging(),\n\t\t\t\tinitialPosition: _isSelected\n\t\t\t\t\t? getSelectedBlocksInitialCaretPosition()\n\t\t\t\t\t: undefined,\n\t\t\t\tisHighlighted: isBlockHighlighted( clientId ),\n\t\t\t\tisMultiSelected,\n\t\t\t\tisPartiallySelected:\n\t\t\t\t\tisMultiSelected &&\n\t\t\t\t\t! __unstableIsFullySelected() &&\n\t\t\t\t\t! __unstableSelectionHasUnmergeableBlock(),\n\t\t\t\tisDragging: isBlockBeingDragged( clientId ),\n\t\t\t\thasChildSelected: isAncestorOfSelectedBlock,\n\t\t\t\tisEditingDisabled: blockEditingMode === 'disabled',\n\t\t\t\thasEditableOutline:\n\t\t\t\t\tblockEditingMode !== 'disabled' &&\n\t\t\t\t\tgetBlockEditingMode( rootClientId ) === 'disabled',\n\t\t\t\toriginalBlockClientId: isInvalid\n\t\t\t\t\t? blocksWithSameName[ 0 ]\n\t\t\t\t\t: false,\n\t\t\t};\n\t\t},\n\t\t[ clientId, rootClientId ]\n\t);\n\n\tconst {\n\t\tisPreviewMode,\n\t\t// Fill values that end up as a public API and may not be defined in\n\t\t// preview mode.\n\t\tmode = 'visual',\n\t\tisSelectionEnabled = false,\n\t\tisLocked = false,\n\t\tcanRemove = false,\n\t\tcanMove = false,\n\t\tblockWithoutAttributes,\n\t\tname,\n\t\tattributes,\n\t\tisValid,\n\t\tisSelected = false,\n\t\tthemeSupportsLayout,\n\t\tisTemporarilyEditingAsBlocks,\n\t\tblockEditingMode,\n\t\tmayDisplayControls,\n\t\tmayDisplayParentControls,\n\t\tindex,\n\t\tblockApiVersion,\n\t\tblockTitle,\n\t\tisSubtreeDisabled,\n\t\thasOverlay,\n\t\tinitialPosition,\n\t\tisHighlighted,\n\t\tisMultiSelected,\n\t\tisPartiallySelected,\n\t\tisReusable,\n\t\tisDragging,\n\t\thasChildSelected,\n\t\tisSectionBlock,\n\t\tisEditingDisabled,\n\t\thasEditableOutline,\n\t\tclassName,\n\t\tdefaultClassName,\n\t\toriginalBlockClientId,\n\t} = selectedProps;\n\n\t// Users of the editor.BlockListBlock filter used to be able to\n\t// access the block prop.\n\t// Ideally these blocks would rely on the clientId prop only.\n\t// This is kept for backward compatibility reasons.\n\tconst block = useMemo(\n\t\t() => ( { ...blockWithoutAttributes, attributes } ),\n\t\t[ blockWithoutAttributes, attributes ]\n\t);\n\n\t// Block is sometimes not mounted at the right time, causing it be\n\t// undefined see issue for more info\n\t// https://github.com/WordPress/gutenberg/issues/17013\n\tif ( ! selectedProps ) {\n\t\treturn null;\n\t}\n\n\tconst privateContext = {\n\t\tisPreviewMode,\n\t\tclientId,\n\t\tclassName,\n\t\tindex,\n\t\tmode,\n\t\tname,\n\t\tblockApiVersion,\n\t\tblockTitle,\n\t\tisSelected,\n\t\tisSubtreeDisabled,\n\t\thasOverlay,\n\t\tinitialPosition,\n\t\tblockEditingMode,\n\t\tisHighlighted,\n\t\tisMultiSelected,\n\t\tisPartiallySelected,\n\t\tisReusable,\n\t\tisDragging,\n\t\thasChildSelected,\n\t\tisSectionBlock,\n\t\tisEditingDisabled,\n\t\thasEditableOutline,\n\t\tisTemporarilyEditingAsBlocks,\n\t\tdefaultClassName,\n\t\tmayDisplayControls,\n\t\tmayDisplayParentControls,\n\t\toriginalBlockClientId,\n\t\tthemeSupportsLayout,\n\t\tcanMove,\n\t};\n\n\t// Here we separate between the props passed to BlockListBlock and any other\n\t// information we selected for internal use. BlockListBlock is a filtered\n\t// component and thus ALL the props are PUBLIC API.\n\n\t// Note that the context value doesn't have to be memoized in this case\n\t// because when it changes, this component will be re-rendered anyway, and\n\t// none of the consumers (BlockListBlock and useBlockProps) are memoized or\n\t// \"pure\". This is different from the public BlockEditContext, where\n\t// consumers might be memoized or \"pure\".\n\treturn (\n\t\t<PrivateBlockContext.Provider value={ privateContext }>\n\t\t\t<BlockListBlock\n\t\t\t\t{ ...props }\n\t\t\t\t// WARNING: all the following props are public API (through the\n\t\t\t\t// editor.BlockListBlock filter) and normally nothing new should\n\t\t\t\t// be added to it.\n\t\t\t\t{ ...{\n\t\t\t\t\tmode,\n\t\t\t\t\tisSelectionEnabled,\n\t\t\t\t\tisLocked,\n\t\t\t\t\tcanRemove,\n\t\t\t\t\tcanMove,\n\t\t\t\t\t// Users of the editor.BlockListBlock filter used to be able\n\t\t\t\t\t// to access the block prop. Ideally these blocks would rely\n\t\t\t\t\t// on the clientId prop only. This is kept for backward\n\t\t\t\t\t// compatibility reasons.\n\t\t\t\t\tblock,\n\t\t\t\t\tname,\n\t\t\t\t\tattributes,\n\t\t\t\t\tisValid,\n\t\t\t\t\tisSelected,\n\t\t\t\t} }\n\t\t\t/>\n\t\t</PrivateBlockContext.Provider>\n\t);\n}\n\nexport default memo( BlockListBlockProvider );\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_clsx","_interopRequireDefault","require","_element","_blocks","_components","_data","_compose","_dom","_blockEdit","_blockInvalidWarning","_blockCrashWarning","_blockCrashBoundary","_blockHtml","_useBlockProps","_store","_layout","_privateBlockContext","_lockUnlock","_jsxRuntime","mergeWrapperProps","propsA","propsB","newProps","hasOwnProperty","className","clsx","style","Block","children","isHtml","props","jsx","useBlockProps","__unstableIsHtml","BlockListBlock","block","__unstableBlockSource","mode","isLocked","canRemove","clientId","isSelected","isSelectionEnabled","__unstableLayoutClassNames","layoutClassNames","name","isValid","attributes","wrapperProps","setAttributes","onReplace","onRemove","onInsertBlocksAfter","onMerge","toggleSelection","_wrapperProps","mayDisplayControls","mayDisplayParentControls","themeSupportsLayout","context","useContext","PrivateBlockContext","parentLayout","useLayout","blockEdit","default","insertBlocksAfter","undefined","mergeBlocks","__unstableParentLayout","Object","keys","length","blockEditingMode","isPreviewMode","blockType","getBlockType","getEditWrapperProps","isAligned","isSticky","includes","saveContent","serializeRawBlock","getSaveContent","jsxs","RawHTML","safeHTML","Fragment","display","apiVersion","dataAlign","restWrapperProps","updatedWrapperProps","Provider","value","fallback","applyWithDispatch","withDispatch","dispatch","ownProps","registry","updateBlockAttributes","insertBlocks","replaceBlocks","__unstableMarkLastChangeAsPersistent","moveBlocksToPosition","removeBlock","selectBlock","blockEditorStore","nextAttributes","getMultiSelectedBlockClientIds","select","multiSelectedBlockClientIds","clientIds","newAttributes","onInsertBlocks","blocks","index","rootClientId","getBlockIndex","forward","getPreviousBlockClientId","getNextBlockClientId","getBlock","getBlockAttributes","getBlockName","getBlockOrder","getBlockRootClientId","canInsertBlockType","switchToDefaultOrRemove","defaultBlockName","getDefaultBlockName","defaultBlockType","replacement","switchToBlockType","isUnmodifiedDefaultBlock","nextBlockClientId","batch","merge","createBlock","moveFirstItemUp","_clientId","changeSelection","wrapperBlockName","wrapperBlockType","isTextualWrapper","category","targetRootClientId","blockOrder","firstClientId","isUnmodifiedBlock","every","nextRootClientId","rootAttributes","previousRootAttributes","key","previousBlockClientId","previousRootClientId","indexToSelect","initialPosition","replacementBlocks","Array","isArray","selectionEnabled","compose","withFilters","BlockListBlockProvider","selectedProps","useSelect","isBlockSelected","getBlockMode","getTemplateLock","isSectionBlock","_isSectionBlock","getBlockWithoutAttributes","canRemoveBlock","canMoveBlock","getSettings","getTemporarilyEditingAsBlocks","getBlockEditingMode","isFirstMultiSelectedBlock","hasSelectedInnerBlock","getBlocksByName","isBlockMultiSelected","isBlockSubtreeDisabled","isBlockHighlighted","__unstableIsFullySelected","__unstableSelectionHasUnmergeableBlock","isBlockBeingDragged","isDragging","__unstableHasActiveBlockOverlayActive","getSelectedBlocksInitialCaretPosition","unlock","blockWithoutAttributes","hasBlockSupport","_hasBlockSupport","getActiveBlockVariation","blocksStore","blockName","supportsLayout","hasLightBlockWrapper","previewContext","isReusable","isReusableBlock","defaultClassName","getBlockDefaultClassName","blockTitle","title","isBlockHidden","metadata","blockVisibility","_isBlockHidden","_isSelected","canMove","match","isMultiSelected","checkDeep","isAncestorOfSelectedBlock","multiple","blocksWithSameName","isInvalid","isTemporarilyEditingAsBlocks","id","blockApiVersion","isSubtreeDisabled","hasOverlay","isHighlighted","isPartiallySelected","hasChildSelected","isEditingDisabled","hasEditableOutline","originalBlockClientId","useMemo","privateContext","_default","exports","memo"],"sources":["@wordpress/block-editor/src/components/block-list/block.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { memo, RawHTML, useContext, useMemo } from '@wordpress/element';\nimport {\n\tgetBlockType,\n\tgetSaveContent,\n\tisUnmodifiedDefaultBlock,\n\tserializeRawBlock,\n\tswitchToBlockType,\n\tgetDefaultBlockName,\n\tisUnmodifiedBlock,\n\tisReusableBlock,\n\tgetBlockDefaultClassName,\n\thasBlockSupport,\n\tcreateBlock,\n\tstore as blocksStore,\n} from '@wordpress/blocks';\nimport { withFilters } from '@wordpress/components';\nimport { withDispatch, useSelect } from '@wordpress/data';\nimport { compose } from '@wordpress/compose';\nimport { safeHTML } from '@wordpress/dom';\n\n/**\n * Internal dependencies\n */\nimport BlockEdit from '../block-edit';\nimport BlockInvalidWarning from './block-invalid-warning';\nimport BlockCrashWarning from './block-crash-warning';\nimport BlockCrashBoundary from './block-crash-boundary';\nimport BlockHtml from './block-html';\nimport { useBlockProps } from './use-block-props';\nimport { store as blockEditorStore } from '../../store';\nimport { useLayout } from './layout';\nimport { PrivateBlockContext } from './private-block-context';\n\nimport { unlock } from '../../lock-unlock';\n\n/**\n * Merges wrapper props with special handling for classNames and styles.\n *\n * @param {Object} propsA\n * @param {Object} propsB\n *\n * @return {Object} Merged props.\n */\nfunction mergeWrapperProps( propsA, propsB ) {\n\tconst newProps = {\n\t\t...propsA,\n\t\t...propsB,\n\t};\n\n\t// May be set to undefined, so check if the property is set!\n\tif (\n\t\tpropsA?.hasOwnProperty( 'className' ) &&\n\t\tpropsB?.hasOwnProperty( 'className' )\n\t) {\n\t\tnewProps.className = clsx( propsA.className, propsB.className );\n\t}\n\n\tif (\n\t\tpropsA?.hasOwnProperty( 'style' ) &&\n\t\tpropsB?.hasOwnProperty( 'style' )\n\t) {\n\t\tnewProps.style = { ...propsA.style, ...propsB.style };\n\t}\n\n\treturn newProps;\n}\n\nfunction Block( { children, isHtml, ...props } ) {\n\treturn (\n\t\t<div { ...useBlockProps( props, { __unstableIsHtml: isHtml } ) }>\n\t\t\t{ children }\n\t\t</div>\n\t);\n}\n\nfunction BlockListBlock( {\n\tblock: { __unstableBlockSource },\n\tmode,\n\tisLocked,\n\tcanRemove,\n\tclientId,\n\tisSelected,\n\tisSelectionEnabled,\n\tclassName,\n\t__unstableLayoutClassNames: layoutClassNames,\n\tname,\n\tisValid,\n\tattributes,\n\twrapperProps,\n\tsetAttributes,\n\tonReplace,\n\tonRemove,\n\tonInsertBlocksAfter,\n\tonMerge,\n\ttoggleSelection,\n} ) {\n\tconst {\n\t\tmayDisplayControls,\n\t\tmayDisplayParentControls,\n\t\tthemeSupportsLayout,\n\t\t...context\n\t} = useContext( PrivateBlockContext );\n\n\tconst parentLayout = useLayout() || {};\n\n\t// We wrap the BlockEdit component in a div that hides it when editing in\n\t// HTML mode. This allows us to render all of the ancillary pieces\n\t// (InspectorControls, etc.) which are inside `BlockEdit` but not\n\t// `BlockHTML`, even in HTML mode.\n\tlet blockEdit = (\n\t\t<BlockEdit\n\t\t\tname={ name }\n\t\t\tisSelected={ isSelected }\n\t\t\tattributes={ attributes }\n\t\t\tsetAttributes={ setAttributes }\n\t\t\tinsertBlocksAfter={ isLocked ? undefined : onInsertBlocksAfter }\n\t\t\tonReplace={ canRemove ? onReplace : undefined }\n\t\t\tonRemove={ canRemove ? onRemove : undefined }\n\t\t\tmergeBlocks={ canRemove ? onMerge : undefined }\n\t\t\tclientId={ clientId }\n\t\t\tisSelectionEnabled={ isSelectionEnabled }\n\t\t\ttoggleSelection={ toggleSelection }\n\t\t\t__unstableLayoutClassNames={ layoutClassNames }\n\t\t\t__unstableParentLayout={\n\t\t\t\tObject.keys( parentLayout ).length ? parentLayout : undefined\n\t\t\t}\n\t\t\tmayDisplayControls={ mayDisplayControls }\n\t\t\tmayDisplayParentControls={ mayDisplayParentControls }\n\t\t\tblockEditingMode={ context.blockEditingMode }\n\t\t\tisPreviewMode={ context.isPreviewMode }\n\t\t/>\n\t);\n\n\tconst blockType = getBlockType( name );\n\n\t// Determine whether the block has props to apply to the wrapper.\n\tif ( blockType?.getEditWrapperProps ) {\n\t\twrapperProps = mergeWrapperProps(\n\t\t\twrapperProps,\n\t\t\tblockType.getEditWrapperProps( attributes )\n\t\t);\n\t}\n\n\tconst isAligned =\n\t\twrapperProps &&\n\t\t!! wrapperProps[ 'data-align' ] &&\n\t\t! themeSupportsLayout;\n\n\t// Support for sticky position in classic themes with alignment wrappers.\n\n\tconst isSticky = className?.includes( 'is-position-sticky' );\n\n\t// For aligned blocks, provide a wrapper element so the block can be\n\t// positioned relative to the block column.\n\t// This is only kept for classic themes that don't support layout\n\t// Historically we used to rely on extra divs and data-align to\n\t// provide the alignments styles in the editor.\n\t// Due to the differences between frontend and backend, we migrated\n\t// to the layout feature, and we're now aligning the markup of frontend\n\t// and backend.\n\tif ( isAligned ) {\n\t\tblockEdit = (\n\t\t\t<div\n\t\t\t\tclassName={ clsx( 'wp-block', isSticky && className ) }\n\t\t\t\tdata-align={ wrapperProps[ 'data-align' ] }\n\t\t\t>\n\t\t\t\t{ blockEdit }\n\t\t\t</div>\n\t\t);\n\t}\n\n\tlet block;\n\n\tif ( ! isValid ) {\n\t\tconst saveContent = __unstableBlockSource\n\t\t\t? serializeRawBlock( __unstableBlockSource )\n\t\t\t: getSaveContent( blockType, attributes );\n\n\t\tblock = (\n\t\t\t<Block className=\"has-warning\">\n\t\t\t\t<BlockInvalidWarning clientId={ clientId } />\n\t\t\t\t<RawHTML>{ safeHTML( saveContent ) }</RawHTML>\n\t\t\t</Block>\n\t\t);\n\t} else if ( mode === 'html' ) {\n\t\t// Render blockEdit so the inspector controls don't disappear.\n\t\t// See #8969.\n\t\tblock = (\n\t\t\t<>\n\t\t\t\t<div style={ { display: 'none' } }>{ blockEdit }</div>\n\t\t\t\t<Block isHtml>\n\t\t\t\t\t<BlockHtml clientId={ clientId } />\n\t\t\t\t</Block>\n\t\t\t</>\n\t\t);\n\t} else if ( blockType?.apiVersion > 1 ) {\n\t\tblock = blockEdit;\n\t} else {\n\t\tblock = <Block>{ blockEdit }</Block>;\n\t}\n\n\tconst { 'data-align': dataAlign, ...restWrapperProps } = wrapperProps ?? {};\n\tconst updatedWrapperProps = {\n\t\t...restWrapperProps,\n\t\tclassName: clsx(\n\t\t\trestWrapperProps.className,\n\t\t\tdataAlign && themeSupportsLayout && `align${ dataAlign }`,\n\t\t\t! ( dataAlign && isSticky ) && className\n\t\t),\n\t};\n\n\t// We set a new context with the adjusted and filtered wrapperProps (through\n\t// `editor.BlockListBlock`), which the `BlockListBlockProvider` did not have\n\t// access to.\n\t// Note that the context value doesn't have to be memoized in this case\n\t// because when it changes, this component will be re-rendered anyway, and\n\t// none of the consumers (BlockListBlock and useBlockProps) are memoized or\n\t// \"pure\". This is different from the public BlockEditContext, where\n\t// consumers might be memoized or \"pure\".\n\treturn (\n\t\t<PrivateBlockContext.Provider\n\t\t\tvalue={ {\n\t\t\t\twrapperProps: updatedWrapperProps,\n\t\t\t\tisAligned,\n\t\t\t\t...context,\n\t\t\t} }\n\t\t>\n\t\t\t<BlockCrashBoundary\n\t\t\t\tfallback={\n\t\t\t\t\t<Block className=\"has-warning\">\n\t\t\t\t\t\t<BlockCrashWarning />\n\t\t\t\t\t</Block>\n\t\t\t\t}\n\t\t\t>\n\t\t\t\t{ block }\n\t\t\t</BlockCrashBoundary>\n\t\t</PrivateBlockContext.Provider>\n\t);\n}\n\nconst applyWithDispatch = withDispatch( ( dispatch, ownProps, registry ) => {\n\tconst {\n\t\tupdateBlockAttributes,\n\t\tinsertBlocks,\n\t\tmergeBlocks,\n\t\treplaceBlocks,\n\t\ttoggleSelection,\n\t\t__unstableMarkLastChangeAsPersistent,\n\t\tmoveBlocksToPosition,\n\t\tremoveBlock,\n\t\tselectBlock,\n\t} = dispatch( blockEditorStore );\n\n\t// Do not add new properties here, use `useDispatch` instead to avoid\n\t// leaking new props to the public API (editor.BlockListBlock filter).\n\treturn {\n\t\tsetAttributes( nextAttributes ) {\n\t\t\tconst { getMultiSelectedBlockClientIds } =\n\t\t\t\tregistry.select( blockEditorStore );\n\t\t\tconst multiSelectedBlockClientIds =\n\t\t\t\tgetMultiSelectedBlockClientIds();\n\t\t\tconst { clientId, attributes } = ownProps;\n\t\t\tconst clientIds = multiSelectedBlockClientIds.length\n\t\t\t\t? multiSelectedBlockClientIds\n\t\t\t\t: [ clientId ];\n\t\t\tconst newAttributes =\n\t\t\t\ttypeof nextAttributes === 'function'\n\t\t\t\t\t? nextAttributes( attributes )\n\t\t\t\t\t: nextAttributes;\n\n\t\t\tupdateBlockAttributes( clientIds, newAttributes );\n\t\t},\n\t\tonInsertBlocks( blocks, index ) {\n\t\t\tconst { rootClientId } = ownProps;\n\t\t\tinsertBlocks( blocks, index, rootClientId );\n\t\t},\n\t\tonInsertBlocksAfter( blocks ) {\n\t\t\tconst { clientId, rootClientId } = ownProps;\n\t\t\tconst { getBlockIndex } = registry.select( blockEditorStore );\n\t\t\tconst index = getBlockIndex( clientId );\n\t\t\tinsertBlocks( blocks, index + 1, rootClientId );\n\t\t},\n\t\tonMerge( forward ) {\n\t\t\tconst { clientId, rootClientId } = ownProps;\n\t\t\tconst {\n\t\t\t\tgetPreviousBlockClientId,\n\t\t\t\tgetNextBlockClientId,\n\t\t\t\tgetBlock,\n\t\t\t\tgetBlockAttributes,\n\t\t\t\tgetBlockName,\n\t\t\t\tgetBlockOrder,\n\t\t\t\tgetBlockIndex,\n\t\t\t\tgetBlockRootClientId,\n\t\t\t\tcanInsertBlockType,\n\t\t\t} = registry.select( blockEditorStore );\n\n\t\t\tfunction switchToDefaultOrRemove() {\n\t\t\t\tconst block = getBlock( clientId );\n\t\t\t\tconst defaultBlockName = getDefaultBlockName();\n\t\t\t\tconst defaultBlockType = getBlockType( defaultBlockName );\n\t\t\t\tif ( getBlockName( clientId ) !== defaultBlockName ) {\n\t\t\t\t\tconst replacement = switchToBlockType(\n\t\t\t\t\t\tblock,\n\t\t\t\t\t\tdefaultBlockName\n\t\t\t\t\t);\n\t\t\t\t\tif ( replacement && replacement.length ) {\n\t\t\t\t\t\treplaceBlocks( clientId, replacement );\n\t\t\t\t\t}\n\t\t\t\t} else if ( isUnmodifiedDefaultBlock( block ) ) {\n\t\t\t\t\tconst nextBlockClientId = getNextBlockClientId( clientId );\n\t\t\t\t\tif ( nextBlockClientId ) {\n\t\t\t\t\t\tregistry.batch( () => {\n\t\t\t\t\t\t\tremoveBlock( clientId );\n\t\t\t\t\t\t\tselectBlock( nextBlockClientId );\n\t\t\t\t\t\t} );\n\t\t\t\t\t}\n\t\t\t\t} else if ( defaultBlockType.merge ) {\n\t\t\t\t\tconst attributes = defaultBlockType.merge(\n\t\t\t\t\t\t{},\n\t\t\t\t\t\tblock.attributes\n\t\t\t\t\t);\n\t\t\t\t\treplaceBlocks(\n\t\t\t\t\t\t[ clientId ],\n\t\t\t\t\t\t[ createBlock( defaultBlockName, attributes ) ]\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t/**\n\t\t\t * Moves the block with clientId up one level. If the block type\n\t\t\t * cannot be inserted at the new location, it will be attempted to\n\t\t\t * convert to the default block type.\n\t\t\t *\n\t\t\t * @param {string} _clientId The block to move.\n\t\t\t * @param {boolean} changeSelection Whether to change the selection\n\t\t\t * to the moved block.\n\t\t\t */\n\t\t\tfunction moveFirstItemUp( _clientId, changeSelection = true ) {\n\t\t\t\tconst wrapperBlockName = getBlockName( _clientId );\n\t\t\t\tconst wrapperBlockType = getBlockType( wrapperBlockName );\n\t\t\t\tconst isTextualWrapper = wrapperBlockType.category === 'text';\n\t\t\t\tconst targetRootClientId = getBlockRootClientId( _clientId );\n\t\t\t\tconst blockOrder = getBlockOrder( _clientId );\n\t\t\t\tconst [ firstClientId ] = blockOrder;\n\n\t\t\t\tif (\n\t\t\t\t\tblockOrder.length === 1 &&\n\t\t\t\t\tisUnmodifiedBlock( getBlock( firstClientId ) )\n\t\t\t\t) {\n\t\t\t\t\tremoveBlock( _clientId );\n\t\t\t\t} else if ( isTextualWrapper ) {\n\t\t\t\t\tregistry.batch( () => {\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\tcanInsertBlockType(\n\t\t\t\t\t\t\t\tgetBlockName( firstClientId ),\n\t\t\t\t\t\t\t\ttargetRootClientId\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tmoveBlocksToPosition(\n\t\t\t\t\t\t\t\t[ firstClientId ],\n\t\t\t\t\t\t\t\t_clientId,\n\t\t\t\t\t\t\t\ttargetRootClientId,\n\t\t\t\t\t\t\t\tgetBlockIndex( _clientId )\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tconst replacement = switchToBlockType(\n\t\t\t\t\t\t\t\tgetBlock( firstClientId ),\n\t\t\t\t\t\t\t\tgetDefaultBlockName()\n\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\treplacement &&\n\t\t\t\t\t\t\t\treplacement.length &&\n\t\t\t\t\t\t\t\treplacement.every( ( block ) =>\n\t\t\t\t\t\t\t\t\tcanInsertBlockType(\n\t\t\t\t\t\t\t\t\t\tblock.name,\n\t\t\t\t\t\t\t\t\t\ttargetRootClientId\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\t\tinsertBlocks(\n\t\t\t\t\t\t\t\t\treplacement,\n\t\t\t\t\t\t\t\t\tgetBlockIndex( _clientId ),\n\t\t\t\t\t\t\t\t\ttargetRootClientId,\n\t\t\t\t\t\t\t\t\tchangeSelection\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\tremoveBlock( firstClientId, false );\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tswitchToDefaultOrRemove();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t! getBlockOrder( _clientId ).length &&\n\t\t\t\t\t\t\tisUnmodifiedBlock( getBlock( _clientId ) )\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tremoveBlock( _clientId, false );\n\t\t\t\t\t\t}\n\t\t\t\t\t} );\n\t\t\t\t} else {\n\t\t\t\t\tswitchToDefaultOrRemove();\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// For `Delete` or forward merge, we should do the exact same thing\n\t\t\t// as `Backspace`, but from the other block.\n\t\t\tif ( forward ) {\n\t\t\t\tif ( rootClientId ) {\n\t\t\t\t\tconst nextRootClientId =\n\t\t\t\t\t\tgetNextBlockClientId( rootClientId );\n\n\t\t\t\t\tif ( nextRootClientId ) {\n\t\t\t\t\t\t// If there is a block that follows with the same parent\n\t\t\t\t\t\t// block name and the same attributes, merge the inner\n\t\t\t\t\t\t// blocks.\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\tgetBlockName( rootClientId ) ===\n\t\t\t\t\t\t\tgetBlockName( nextRootClientId )\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tconst rootAttributes =\n\t\t\t\t\t\t\t\tgetBlockAttributes( rootClientId );\n\t\t\t\t\t\t\tconst previousRootAttributes =\n\t\t\t\t\t\t\t\tgetBlockAttributes( nextRootClientId );\n\n\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\tObject.keys( rootAttributes ).every(\n\t\t\t\t\t\t\t\t\t( key ) =>\n\t\t\t\t\t\t\t\t\t\trootAttributes[ key ] ===\n\t\t\t\t\t\t\t\t\t\tpreviousRootAttributes[ key ]\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\tregistry.batch( () => {\n\t\t\t\t\t\t\t\t\tmoveBlocksToPosition(\n\t\t\t\t\t\t\t\t\t\tgetBlockOrder( nextRootClientId ),\n\t\t\t\t\t\t\t\t\t\tnextRootClientId,\n\t\t\t\t\t\t\t\t\t\trootClientId\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\tremoveBlock( nextRootClientId, false );\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tmergeBlocks( rootClientId, nextRootClientId );\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tconst nextBlockClientId = getNextBlockClientId( clientId );\n\n\t\t\t\tif ( ! nextBlockClientId ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif ( getBlockOrder( nextBlockClientId ).length ) {\n\t\t\t\t\tmoveFirstItemUp( nextBlockClientId, false );\n\t\t\t\t} else {\n\t\t\t\t\tmergeBlocks( clientId, nextBlockClientId );\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tconst previousBlockClientId =\n\t\t\t\t\tgetPreviousBlockClientId( clientId );\n\n\t\t\t\tif ( previousBlockClientId ) {\n\t\t\t\t\tmergeBlocks( previousBlockClientId, clientId );\n\t\t\t\t} else if ( rootClientId ) {\n\t\t\t\t\tconst previousRootClientId =\n\t\t\t\t\t\tgetPreviousBlockClientId( rootClientId );\n\n\t\t\t\t\t// If there is a preceding block with the same parent block\n\t\t\t\t\t// name and the same attributes, merge the inner blocks.\n\t\t\t\t\tif (\n\t\t\t\t\t\tpreviousRootClientId &&\n\t\t\t\t\t\tgetBlockName( rootClientId ) ===\n\t\t\t\t\t\t\tgetBlockName( previousRootClientId )\n\t\t\t\t\t) {\n\t\t\t\t\t\tconst rootAttributes =\n\t\t\t\t\t\t\tgetBlockAttributes( rootClientId );\n\t\t\t\t\t\tconst previousRootAttributes =\n\t\t\t\t\t\t\tgetBlockAttributes( previousRootClientId );\n\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\tObject.keys( rootAttributes ).every(\n\t\t\t\t\t\t\t\t( key ) =>\n\t\t\t\t\t\t\t\t\trootAttributes[ key ] ===\n\t\t\t\t\t\t\t\t\tpreviousRootAttributes[ key ]\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tregistry.batch( () => {\n\t\t\t\t\t\t\t\tmoveBlocksToPosition(\n\t\t\t\t\t\t\t\t\tgetBlockOrder( rootClientId ),\n\t\t\t\t\t\t\t\t\trootClientId,\n\t\t\t\t\t\t\t\t\tpreviousRootClientId\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\tremoveBlock( rootClientId, false );\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tmoveFirstItemUp( rootClientId );\n\t\t\t\t} else {\n\t\t\t\t\tswitchToDefaultOrRemove();\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tonReplace( blocks, indexToSelect, initialPosition ) {\n\t\t\tif (\n\t\t\t\tblocks.length &&\n\t\t\t\t! isUnmodifiedDefaultBlock( blocks[ blocks.length - 1 ] )\n\t\t\t) {\n\t\t\t\t__unstableMarkLastChangeAsPersistent();\n\t\t\t}\n\t\t\t//Unsynced patterns are nested in an array so we need to flatten them.\n\t\t\tconst replacementBlocks =\n\t\t\t\tblocks?.length === 1 && Array.isArray( blocks[ 0 ] )\n\t\t\t\t\t? blocks[ 0 ]\n\t\t\t\t\t: blocks;\n\t\t\treplaceBlocks(\n\t\t\t\t[ ownProps.clientId ],\n\t\t\t\treplacementBlocks,\n\t\t\t\tindexToSelect,\n\t\t\t\tinitialPosition\n\t\t\t);\n\t\t},\n\t\tonRemove() {\n\t\t\tremoveBlock( ownProps.clientId );\n\t\t},\n\t\ttoggleSelection( selectionEnabled ) {\n\t\t\ttoggleSelection( selectionEnabled );\n\t\t},\n\t};\n} );\n\n// This component is used by the BlockListBlockProvider component below. It will\n// add the props necessary for the `editor.BlockListBlock` filters.\nBlockListBlock = compose(\n\tapplyWithDispatch,\n\twithFilters( 'editor.BlockListBlock' )\n)( BlockListBlock );\n\n// This component provides all the information we need through a single store\n// subscription (useSelect mapping). Only the necessary props are passed down\n// to the BlockListBlock component, which is a filtered component, so these\n// props are public API. To avoid adding to the public API, we use a private\n// context to pass the rest of the information to the filtered BlockListBlock\n// component, and useBlockProps.\nfunction BlockListBlockProvider( props ) {\n\tconst { clientId, rootClientId } = props;\n\tconst selectedProps = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tisBlockSelected,\n\t\t\t\tgetBlockMode,\n\t\t\t\tisSelectionEnabled,\n\t\t\t\tgetTemplateLock,\n\t\t\t\tisSectionBlock: _isSectionBlock,\n\t\t\t\tgetBlockWithoutAttributes,\n\t\t\t\tgetBlockAttributes,\n\t\t\t\tcanRemoveBlock,\n\t\t\t\tcanMoveBlock,\n\n\t\t\t\tgetSettings,\n\t\t\t\tgetTemporarilyEditingAsBlocks,\n\t\t\t\tgetBlockEditingMode,\n\t\t\t\tgetBlockName,\n\t\t\t\tisFirstMultiSelectedBlock,\n\t\t\t\tgetMultiSelectedBlockClientIds,\n\t\t\t\thasSelectedInnerBlock,\n\t\t\t\tgetBlocksByName,\n\n\t\t\t\tgetBlockIndex,\n\t\t\t\tisBlockMultiSelected,\n\t\t\t\tisBlockSubtreeDisabled,\n\t\t\t\tisBlockHighlighted,\n\t\t\t\t__unstableIsFullySelected,\n\t\t\t\t__unstableSelectionHasUnmergeableBlock,\n\t\t\t\tisBlockBeingDragged,\n\t\t\t\tisDragging,\n\t\t\t\t__unstableHasActiveBlockOverlayActive,\n\t\t\t\tgetSelectedBlocksInitialCaretPosition,\n\t\t\t} = unlock( select( blockEditorStore ) );\n\t\t\tconst blockWithoutAttributes =\n\t\t\t\tgetBlockWithoutAttributes( clientId );\n\n\t\t\t// This is a temporary fix.\n\t\t\t// This function should never be called when a block is not\n\t\t\t// present in the state. It happens now because the order in\n\t\t\t// withSelect rendering is not correct.\n\t\t\tif ( ! blockWithoutAttributes ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst {\n\t\t\t\thasBlockSupport: _hasBlockSupport,\n\t\t\t\tgetActiveBlockVariation,\n\t\t\t} = select( blocksStore );\n\t\t\tconst attributes = getBlockAttributes( clientId );\n\t\t\tconst { name: blockName, isValid } = blockWithoutAttributes;\n\t\t\tconst blockType = getBlockType( blockName );\n\t\t\tconst { supportsLayout, isPreviewMode } = getSettings();\n\t\t\tconst hasLightBlockWrapper = blockType?.apiVersion > 1;\n\t\t\tconst previewContext = {\n\t\t\t\tisPreviewMode,\n\t\t\t\tblockWithoutAttributes,\n\t\t\t\tname: blockName,\n\t\t\t\tattributes,\n\t\t\t\tisValid,\n\t\t\t\tthemeSupportsLayout: supportsLayout,\n\t\t\t\tindex: getBlockIndex( clientId ),\n\t\t\t\tisReusable: isReusableBlock( blockType ),\n\t\t\t\tclassName: hasLightBlockWrapper\n\t\t\t\t\t? attributes.className\n\t\t\t\t\t: undefined,\n\t\t\t\tdefaultClassName: hasLightBlockWrapper\n\t\t\t\t\t? getBlockDefaultClassName( blockName )\n\t\t\t\t\t: undefined,\n\t\t\t\tblockTitle: blockType?.title,\n\t\t\t\tisBlockHidden: attributes?.metadata?.blockVisibility === false,\n\t\t\t};\n\n\t\t\t// When in preview mode, we can avoid a lot of selection and\n\t\t\t// editing related selectors.\n\t\t\tif ( isPreviewMode ) {\n\t\t\t\treturn previewContext;\n\t\t\t}\n\n\t\t\tconst { isBlockHidden: _isBlockHidden } = unlock(\n\t\t\t\tselect( blockEditorStore )\n\t\t\t);\n\t\t\tconst _isSelected = isBlockSelected( clientId );\n\t\t\tconst canRemove = canRemoveBlock( clientId );\n\t\t\tconst canMove = canMoveBlock( clientId );\n\t\t\tconst match = getActiveBlockVariation( blockName, attributes );\n\t\t\tconst isMultiSelected = isBlockMultiSelected( clientId );\n\t\t\tconst checkDeep = true;\n\t\t\tconst isAncestorOfSelectedBlock = hasSelectedInnerBlock(\n\t\t\t\tclientId,\n\t\t\t\tcheckDeep\n\t\t\t);\n\t\t\tconst blockEditingMode = getBlockEditingMode( clientId );\n\n\t\t\tconst multiple = hasBlockSupport( blockName, 'multiple', true );\n\n\t\t\t// For block types with `multiple` support, there is no \"original\n\t\t\t// block\" to be found in the content, as the block itself is valid.\n\t\t\tconst blocksWithSameName = multiple\n\t\t\t\t? []\n\t\t\t\t: getBlocksByName( blockName );\n\t\t\tconst isInvalid =\n\t\t\t\tblocksWithSameName.length &&\n\t\t\t\tblocksWithSameName[ 0 ] !== clientId;\n\n\t\t\treturn {\n\t\t\t\t...previewContext,\n\t\t\t\tmode: getBlockMode( clientId ),\n\t\t\t\tisSelectionEnabled: isSelectionEnabled(),\n\t\t\t\tisLocked: !! getTemplateLock( rootClientId ),\n\t\t\t\tisSectionBlock: _isSectionBlock( clientId ),\n\t\t\t\tcanRemove,\n\t\t\t\tcanMove,\n\t\t\t\tisSelected: _isSelected,\n\t\t\t\tisTemporarilyEditingAsBlocks:\n\t\t\t\t\tgetTemporarilyEditingAsBlocks() === clientId,\n\t\t\t\tblockEditingMode,\n\t\t\t\tmayDisplayControls:\n\t\t\t\t\t_isSelected ||\n\t\t\t\t\t( isFirstMultiSelectedBlock( clientId ) &&\n\t\t\t\t\t\tgetMultiSelectedBlockClientIds().every(\n\t\t\t\t\t\t\t( id ) => getBlockName( id ) === blockName\n\t\t\t\t\t\t) ),\n\t\t\t\tmayDisplayParentControls:\n\t\t\t\t\t_hasBlockSupport(\n\t\t\t\t\t\tgetBlockName( clientId ),\n\t\t\t\t\t\t'__experimentalExposeControlsToChildren',\n\t\t\t\t\t\tfalse\n\t\t\t\t\t) && hasSelectedInnerBlock( clientId ),\n\t\t\t\tblockApiVersion: blockType?.apiVersion || 1,\n\t\t\t\tblockTitle: match?.title || blockType?.title,\n\t\t\t\tisSubtreeDisabled:\n\t\t\t\t\tblockEditingMode === 'disabled' &&\n\t\t\t\t\tisBlockSubtreeDisabled( clientId ),\n\t\t\t\thasOverlay:\n\t\t\t\t\t__unstableHasActiveBlockOverlayActive( clientId ) &&\n\t\t\t\t\t! isDragging(),\n\t\t\t\tinitialPosition: _isSelected\n\t\t\t\t\t? getSelectedBlocksInitialCaretPosition()\n\t\t\t\t\t: undefined,\n\t\t\t\tisHighlighted: isBlockHighlighted( clientId ),\n\t\t\t\tisMultiSelected,\n\t\t\t\tisPartiallySelected:\n\t\t\t\t\tisMultiSelected &&\n\t\t\t\t\t! __unstableIsFullySelected() &&\n\t\t\t\t\t! __unstableSelectionHasUnmergeableBlock(),\n\t\t\t\tisDragging: isBlockBeingDragged( clientId ),\n\t\t\t\thasChildSelected: isAncestorOfSelectedBlock,\n\t\t\t\tisEditingDisabled: blockEditingMode === 'disabled',\n\t\t\t\thasEditableOutline:\n\t\t\t\t\tblockEditingMode !== 'disabled' &&\n\t\t\t\t\tgetBlockEditingMode( rootClientId ) === 'disabled',\n\t\t\t\toriginalBlockClientId: isInvalid\n\t\t\t\t\t? blocksWithSameName[ 0 ]\n\t\t\t\t\t: false,\n\t\t\t\tisBlockHidden: _isBlockHidden( clientId ),\n\t\t\t};\n\t\t},\n\t\t[ clientId, rootClientId ]\n\t);\n\n\tconst {\n\t\tisPreviewMode,\n\t\t// Fill values that end up as a public API and may not be defined in\n\t\t// preview mode.\n\t\tmode = 'visual',\n\t\tisSelectionEnabled = false,\n\t\tisLocked = false,\n\t\tcanRemove = false,\n\t\tcanMove = false,\n\t\tblockWithoutAttributes,\n\t\tname,\n\t\tattributes,\n\t\tisValid,\n\t\tisSelected = false,\n\t\tthemeSupportsLayout,\n\t\tisTemporarilyEditingAsBlocks,\n\t\tblockEditingMode,\n\t\tmayDisplayControls,\n\t\tmayDisplayParentControls,\n\t\tindex,\n\t\tblockApiVersion,\n\t\tblockTitle,\n\t\tisSubtreeDisabled,\n\t\thasOverlay,\n\t\tinitialPosition,\n\t\tisHighlighted,\n\t\tisMultiSelected,\n\t\tisPartiallySelected,\n\t\tisReusable,\n\t\tisDragging,\n\t\thasChildSelected,\n\t\tisSectionBlock,\n\t\tisEditingDisabled,\n\t\thasEditableOutline,\n\t\tclassName,\n\t\tdefaultClassName,\n\t\toriginalBlockClientId,\n\t\tisBlockHidden,\n\t} = selectedProps;\n\n\t// Users of the editor.BlockListBlock filter used to be able to\n\t// access the block prop.\n\t// Ideally these blocks would rely on the clientId prop only.\n\t// This is kept for backward compatibility reasons.\n\tconst block = useMemo(\n\t\t() => ( { ...blockWithoutAttributes, attributes } ),\n\t\t[ blockWithoutAttributes, attributes ]\n\t);\n\n\t// Block is sometimes not mounted at the right time, causing it be\n\t// undefined see issue for more info\n\t// https://github.com/WordPress/gutenberg/issues/17013\n\tif ( ! selectedProps ) {\n\t\treturn null;\n\t}\n\n\tconst privateContext = {\n\t\tisPreviewMode,\n\t\tclientId,\n\t\tclassName,\n\t\tindex,\n\t\tmode,\n\t\tname,\n\t\tblockApiVersion,\n\t\tblockTitle,\n\t\tisSelected,\n\t\tisSubtreeDisabled,\n\t\thasOverlay,\n\t\tinitialPosition,\n\t\tblockEditingMode,\n\t\tisHighlighted,\n\t\tisMultiSelected,\n\t\tisPartiallySelected,\n\t\tisReusable,\n\t\tisDragging,\n\t\thasChildSelected,\n\t\tisSectionBlock,\n\t\tisEditingDisabled,\n\t\thasEditableOutline,\n\t\tisTemporarilyEditingAsBlocks,\n\t\tdefaultClassName,\n\t\tmayDisplayControls,\n\t\tmayDisplayParentControls,\n\t\toriginalBlockClientId,\n\t\tthemeSupportsLayout,\n\t\tcanMove,\n\t\tisBlockHidden,\n\t};\n\n\tif (\n\t\tisBlockHidden &&\n\t\t! isSelected &&\n\t\t! isMultiSelected &&\n\t\t! hasChildSelected\n\t) {\n\t\treturn null;\n\t}\n\n\t// Here we separate between the props passed to BlockListBlock and any other\n\t// information we selected for internal use. BlockListBlock is a filtered\n\t// component and thus ALL the props are PUBLIC API.\n\n\t// Note that the context value doesn't have to be memoized in this case\n\t// because when it changes, this component will be re-rendered anyway, and\n\t// none of the consumers (BlockListBlock and useBlockProps) are memoized or\n\t// \"pure\". This is different from the public BlockEditContext, where\n\t// consumers might be memoized or \"pure\".\n\treturn (\n\t\t<PrivateBlockContext.Provider value={ privateContext }>\n\t\t\t<BlockListBlock\n\t\t\t\t{ ...props }\n\t\t\t\t// WARNING: all the following props are public API (through the\n\t\t\t\t// editor.BlockListBlock filter) and normally nothing new should\n\t\t\t\t// be added to it.\n\t\t\t\t{ ...{\n\t\t\t\t\tmode,\n\t\t\t\t\tisSelectionEnabled,\n\t\t\t\t\tisLocked,\n\t\t\t\t\tcanRemove,\n\t\t\t\t\tcanMove,\n\t\t\t\t\t// Users of the editor.BlockListBlock filter used to be able\n\t\t\t\t\t// to access the block prop. Ideally these blocks would rely\n\t\t\t\t\t// on the clientId prop only. This is kept for backward\n\t\t\t\t\t// compatibility reasons.\n\t\t\t\t\tblock,\n\t\t\t\t\tname,\n\t\t\t\t\tattributes,\n\t\t\t\t\tisValid,\n\t\t\t\t\tisSelected,\n\t\t\t\t} }\n\t\t\t/>\n\t\t</PrivateBlockContext.Provider>\n\t);\n}\n\nexport default memo( BlockListBlockProvider );\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -22,7 +22,6 @@ var _useBlockRefs = require("./use-block-refs");
|
|
|
22
22
|
var _useIntersectionObserver = require("./use-intersection-observer");
|
|
23
23
|
var _useScrollIntoView = require("./use-scroll-into-view");
|
|
24
24
|
var _useFlashEditableBlocks = require("../../use-flash-editable-blocks");
|
|
25
|
-
var _blockBindings = require("../../../utils/block-bindings");
|
|
26
25
|
var _useFirefoxDraggableCompatibility = require("./use-firefox-draggable-compatibility");
|
|
27
26
|
/**
|
|
28
27
|
* External dependencies
|
|
@@ -107,7 +106,8 @@ function useBlockProps(props = {}, {
|
|
|
107
106
|
isTemporarilyEditingAsBlocks,
|
|
108
107
|
defaultClassName,
|
|
109
108
|
isSectionBlock,
|
|
110
|
-
canMove
|
|
109
|
+
canMove,
|
|
110
|
+
isBlockHidden
|
|
111
111
|
} = (0, _element.useContext)(_privateBlockContext.PrivateBlockContext);
|
|
112
112
|
|
|
113
113
|
// translators: %s: Type of block (i.e. Text, Image etc)
|
|
@@ -133,7 +133,7 @@ function useBlockProps(props = {}, {
|
|
|
133
133
|
}), canMove ? ffDragRef : undefined]);
|
|
134
134
|
const blockEditContext = (0, _context.useBlockEditContext)();
|
|
135
135
|
const hasBlockBindings = !!blockEditContext[_context.blockBindingsKey];
|
|
136
|
-
const bindingsStyle = hasBlockBindings
|
|
136
|
+
const bindingsStyle = hasBlockBindings ? {
|
|
137
137
|
'--wp-admin-theme-color': 'var(--wp-block-synced-color)',
|
|
138
138
|
'--wp-admin-theme-color--rgb': 'var(--wp-block-synced-color--rgb)'
|
|
139
139
|
} : {};
|
|
@@ -173,7 +173,8 @@ function useBlockProps(props = {}, {
|
|
|
173
173
|
'is-editing-disabled': isEditingDisabled,
|
|
174
174
|
'has-editable-outline': hasEditableOutline,
|
|
175
175
|
'has-negative-margin': hasNegativeMargin,
|
|
176
|
-
'is-content-locked-temporarily-editing-as-blocks': isTemporarilyEditingAsBlocks
|
|
176
|
+
'is-content-locked-temporarily-editing-as-blocks': isTemporarilyEditingAsBlocks,
|
|
177
|
+
'is-block-hidden': isBlockHidden
|
|
177
178
|
}, className, props.className, wrapperProps.className, defaultClassName),
|
|
178
179
|
style: {
|
|
179
180
|
...wrapperProps.style,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_clsx","_interopRequireDefault","require","_element","_i18n","_blocks","_compose","_warning","_useMovingAnimation","_privateBlockContext","_useFocusFirstElement","_useIsHovered","_context","_useFocusHandler","_useSelectedBlockEventHandlers","_useBlockRefs","_useIntersectionObserver","_useScrollIntoView","_useFlashEditableBlocks","_blockBindings","_useFirefoxDraggableCompatibility","useBlockProps","props","__unstableIsHtml","clientId","className","wrapperProps","isAligned","index","mode","name","blockApiVersion","blockTitle","isSelected","isSubtreeDisabled","hasOverlay","initialPosition","blockEditingMode","isHighlighted","isMultiSelected","isPartiallySelected","isReusable","isDragging","hasChildSelected","isEditingDisabled","hasEditableOutline","isTemporarilyEditingAsBlocks","defaultClassName","isSectionBlock","canMove","useContext","PrivateBlockContext","blockLabel","sprintf","__","htmlSuffix","ffDragRef","useFirefoxDraggableCompatibility","mergedRefs","useMergeRefs","ref","useFocusFirstElement","useBlockRefProvider","useFocusHandler","useEventHandlers","useIsHovered","useIntersectionObserver","useMovingAnimation","triggerAnimationOnChange","useDisabled","isDisabled","useFlashEditableBlocks","isEnabled","useScrollIntoView","undefined","blockEditContext","useBlockEditContext","hasBlockBindings","blockBindingsKey","bindingsStyle","canBindBlock","globalThis","SCRIPT_DEBUG","warning","hasNegativeMargin","style","marginTop","charAt","marginBottom","marginLeft","marginRight","tabIndex","draggable","id","role","inert","clsx","save","getBlockProps"],"sources":["@wordpress/block-editor/src/components/block-list/use-block-props/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { useContext } from '@wordpress/element';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { __unstableGetBlockProps as getBlockProps } from '@wordpress/blocks';\nimport { useMergeRefs, useDisabled } from '@wordpress/compose';\nimport warning from '@wordpress/warning';\n\n/**\n * Internal dependencies\n */\nimport useMovingAnimation from '../../use-moving-animation';\nimport { PrivateBlockContext } from '../private-block-context';\nimport { useFocusFirstElement } from './use-focus-first-element';\nimport { useIsHovered } from './use-is-hovered';\nimport {\n\tblockBindingsKey,\n\tuseBlockEditContext,\n} from '../../block-edit/context';\nimport { useFocusHandler } from './use-focus-handler';\nimport { useEventHandlers } from './use-selected-block-event-handlers';\nimport { useBlockRefProvider } from './use-block-refs';\nimport { useIntersectionObserver } from './use-intersection-observer';\nimport { useScrollIntoView } from './use-scroll-into-view';\nimport { useFlashEditableBlocks } from '../../use-flash-editable-blocks';\nimport { canBindBlock } from '../../../utils/block-bindings';\nimport { useFirefoxDraggableCompatibility } from './use-firefox-draggable-compatibility';\n\n/**\n * This hook is used to lightly mark an element as a block element. The element\n * should be the outermost element of a block. Call this hook and pass the\n * returned props to the element to mark as a block. If you define a ref for the\n * element, it is important to pass the ref to this hook, which the hook in turn\n * will pass to the component through the props it returns. Optionally, you can\n * also pass any other props through this hook, and they will be merged and\n * returned.\n *\n * Use of this hook on the outermost element of a block is required if using API >= v2.\n *\n * @example\n * ```js\n * import { useBlockProps } from '@wordpress/block-editor';\n *\n * export default function Edit() {\n *\n * const blockProps = useBlockProps( {\n * className: 'my-custom-class',\n * style: {\n * color: '#222222',\n * backgroundColor: '#eeeeee'\n * }\n * } )\n *\n * return (\n *\t <div { ...blockProps }>\n *\n * </div>\n * )\n * }\n *\n * ```\n *\n *\n * @param {Object} props Optional. Props to pass to the element. Must contain\n * the ref if one is defined.\n * @param {Object} options Options for internal use only.\n * @param {boolean} options.__unstableIsHtml\n *\n * @return {Object} Props to pass to the element to mark as a block.\n */\nexport function useBlockProps( props = {}, { __unstableIsHtml } = {} ) {\n\tconst {\n\t\tclientId,\n\t\tclassName,\n\t\twrapperProps = {},\n\t\tisAligned,\n\t\tindex,\n\t\tmode,\n\t\tname,\n\t\tblockApiVersion,\n\t\tblockTitle,\n\t\tisSelected,\n\t\tisSubtreeDisabled,\n\t\thasOverlay,\n\t\tinitialPosition,\n\t\tblockEditingMode,\n\t\tisHighlighted,\n\t\tisMultiSelected,\n\t\tisPartiallySelected,\n\t\tisReusable,\n\t\tisDragging,\n\t\thasChildSelected,\n\t\tisEditingDisabled,\n\t\thasEditableOutline,\n\t\tisTemporarilyEditingAsBlocks,\n\t\tdefaultClassName,\n\t\tisSectionBlock,\n\t\tcanMove,\n\t} = useContext( PrivateBlockContext );\n\n\t// translators: %s: Type of block (i.e. Text, Image etc)\n\tconst blockLabel = sprintf( __( 'Block: %s' ), blockTitle );\n\tconst htmlSuffix = mode === 'html' && ! __unstableIsHtml ? '-visual' : '';\n\tconst ffDragRef = useFirefoxDraggableCompatibility();\n\tconst mergedRefs = useMergeRefs( [\n\t\tprops.ref,\n\t\tuseFocusFirstElement( { clientId, initialPosition } ),\n\t\tuseBlockRefProvider( clientId ),\n\t\tuseFocusHandler( clientId ),\n\t\tuseEventHandlers( { clientId, isSelected } ),\n\t\tuseIsHovered(),\n\t\tuseIntersectionObserver(),\n\t\tuseMovingAnimation( { triggerAnimationOnChange: index, clientId } ),\n\t\tuseDisabled( { isDisabled: ! hasOverlay } ),\n\t\tuseFlashEditableBlocks( {\n\t\t\tclientId,\n\t\t\tisEnabled: isSectionBlock,\n\t\t} ),\n\t\tuseScrollIntoView( { isSelected } ),\n\t\tcanMove ? ffDragRef : undefined,\n\t] );\n\n\tconst blockEditContext = useBlockEditContext();\n\tconst hasBlockBindings = !! blockEditContext[ blockBindingsKey ];\n\tconst bindingsStyle =\n\t\thasBlockBindings && canBindBlock( name )\n\t\t\t? {\n\t\t\t\t\t'--wp-admin-theme-color': 'var(--wp-block-synced-color)',\n\t\t\t\t\t'--wp-admin-theme-color--rgb':\n\t\t\t\t\t\t'var(--wp-block-synced-color--rgb)',\n\t\t\t }\n\t\t\t: {};\n\n\t// Ensures it warns only inside the `edit` implementation for the block.\n\tif ( blockApiVersion < 2 && clientId === blockEditContext.clientId ) {\n\t\twarning(\n\t\t\t`Block type \"${ name }\" must support API version 2 or higher to work correctly with \"useBlockProps\" method.`\n\t\t);\n\t}\n\n\tlet hasNegativeMargin = false;\n\tif (\n\t\twrapperProps?.style?.marginTop?.charAt( 0 ) === '-' ||\n\t\twrapperProps?.style?.marginBottom?.charAt( 0 ) === '-' ||\n\t\twrapperProps?.style?.marginLeft?.charAt( 0 ) === '-' ||\n\t\twrapperProps?.style?.marginRight?.charAt( 0 ) === '-'\n\t) {\n\t\thasNegativeMargin = true;\n\t}\n\n\treturn {\n\t\ttabIndex: blockEditingMode === 'disabled' ? -1 : 0,\n\t\tdraggable: canMove && ! hasChildSelected ? true : undefined,\n\t\t...wrapperProps,\n\t\t...props,\n\t\tref: mergedRefs,\n\t\tid: `block-${ clientId }${ htmlSuffix }`,\n\t\trole: 'document',\n\t\t'aria-label': blockLabel,\n\t\t'data-block': clientId,\n\t\t'data-type': name,\n\t\t'data-title': blockTitle,\n\t\tinert: isSubtreeDisabled ? 'true' : undefined,\n\t\tclassName: clsx(\n\t\t\t'block-editor-block-list__block',\n\t\t\t{\n\t\t\t\t// The wp-block className is important for editor styles.\n\t\t\t\t'wp-block': ! isAligned,\n\t\t\t\t'has-block-overlay': hasOverlay,\n\t\t\t\t'is-selected': isSelected,\n\t\t\t\t'is-highlighted': isHighlighted,\n\t\t\t\t'is-multi-selected': isMultiSelected,\n\t\t\t\t'is-partially-selected': isPartiallySelected,\n\t\t\t\t'is-reusable': isReusable,\n\t\t\t\t'is-dragging': isDragging,\n\t\t\t\t'has-child-selected': hasChildSelected,\n\t\t\t\t'is-editing-disabled': isEditingDisabled,\n\t\t\t\t'has-editable-outline': hasEditableOutline,\n\t\t\t\t'has-negative-margin': hasNegativeMargin,\n\t\t\t\t'is-content-locked-temporarily-editing-as-blocks':\n\t\t\t\t\tisTemporarilyEditingAsBlocks,\n\t\t\t},\n\t\t\tclassName,\n\t\t\tprops.className,\n\t\t\twrapperProps.className,\n\t\t\tdefaultClassName\n\t\t),\n\t\tstyle: { ...wrapperProps.style, ...props.style, ...bindingsStyle },\n\t};\n}\n\n/**\n * Call within a save function to get the props for the block wrapper.\n *\n * @param {Object} props Optional. Props to pass to the element.\n */\nuseBlockProps.save = getBlockProps;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_clsx","_interopRequireDefault","require","_element","_i18n","_blocks","_compose","_warning","_useMovingAnimation","_privateBlockContext","_useFocusFirstElement","_useIsHovered","_context","_useFocusHandler","_useSelectedBlockEventHandlers","_useBlockRefs","_useIntersectionObserver","_useScrollIntoView","_useFlashEditableBlocks","_useFirefoxDraggableCompatibility","useBlockProps","props","__unstableIsHtml","clientId","className","wrapperProps","isAligned","index","mode","name","blockApiVersion","blockTitle","isSelected","isSubtreeDisabled","hasOverlay","initialPosition","blockEditingMode","isHighlighted","isMultiSelected","isPartiallySelected","isReusable","isDragging","hasChildSelected","isEditingDisabled","hasEditableOutline","isTemporarilyEditingAsBlocks","defaultClassName","isSectionBlock","canMove","isBlockHidden","useContext","PrivateBlockContext","blockLabel","sprintf","__","htmlSuffix","ffDragRef","useFirefoxDraggableCompatibility","mergedRefs","useMergeRefs","ref","useFocusFirstElement","useBlockRefProvider","useFocusHandler","useEventHandlers","useIsHovered","useIntersectionObserver","useMovingAnimation","triggerAnimationOnChange","useDisabled","isDisabled","useFlashEditableBlocks","isEnabled","useScrollIntoView","undefined","blockEditContext","useBlockEditContext","hasBlockBindings","blockBindingsKey","bindingsStyle","globalThis","SCRIPT_DEBUG","warning","hasNegativeMargin","style","marginTop","charAt","marginBottom","marginLeft","marginRight","tabIndex","draggable","id","role","inert","clsx","save","getBlockProps"],"sources":["@wordpress/block-editor/src/components/block-list/use-block-props/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { useContext } from '@wordpress/element';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { __unstableGetBlockProps as getBlockProps } from '@wordpress/blocks';\nimport { useMergeRefs, useDisabled } from '@wordpress/compose';\nimport warning from '@wordpress/warning';\n\n/**\n * Internal dependencies\n */\nimport useMovingAnimation from '../../use-moving-animation';\nimport { PrivateBlockContext } from '../private-block-context';\nimport { useFocusFirstElement } from './use-focus-first-element';\nimport { useIsHovered } from './use-is-hovered';\nimport {\n\tblockBindingsKey,\n\tuseBlockEditContext,\n} from '../../block-edit/context';\nimport { useFocusHandler } from './use-focus-handler';\nimport { useEventHandlers } from './use-selected-block-event-handlers';\nimport { useBlockRefProvider } from './use-block-refs';\nimport { useIntersectionObserver } from './use-intersection-observer';\nimport { useScrollIntoView } from './use-scroll-into-view';\nimport { useFlashEditableBlocks } from '../../use-flash-editable-blocks';\nimport { useFirefoxDraggableCompatibility } from './use-firefox-draggable-compatibility';\n\n/**\n * This hook is used to lightly mark an element as a block element. The element\n * should be the outermost element of a block. Call this hook and pass the\n * returned props to the element to mark as a block. If you define a ref for the\n * element, it is important to pass the ref to this hook, which the hook in turn\n * will pass to the component through the props it returns. Optionally, you can\n * also pass any other props through this hook, and they will be merged and\n * returned.\n *\n * Use of this hook on the outermost element of a block is required if using API >= v2.\n *\n * @example\n * ```js\n * import { useBlockProps } from '@wordpress/block-editor';\n *\n * export default function Edit() {\n *\n * const blockProps = useBlockProps( {\n * className: 'my-custom-class',\n * style: {\n * color: '#222222',\n * backgroundColor: '#eeeeee'\n * }\n * } )\n *\n * return (\n *\t <div { ...blockProps }>\n *\n * </div>\n * )\n * }\n *\n * ```\n *\n *\n * @param {Object} props Optional. Props to pass to the element. Must contain\n * the ref if one is defined.\n * @param {Object} options Options for internal use only.\n * @param {boolean} options.__unstableIsHtml\n *\n * @return {Object} Props to pass to the element to mark as a block.\n */\nexport function useBlockProps( props = {}, { __unstableIsHtml } = {} ) {\n\tconst {\n\t\tclientId,\n\t\tclassName,\n\t\twrapperProps = {},\n\t\tisAligned,\n\t\tindex,\n\t\tmode,\n\t\tname,\n\t\tblockApiVersion,\n\t\tblockTitle,\n\t\tisSelected,\n\t\tisSubtreeDisabled,\n\t\thasOverlay,\n\t\tinitialPosition,\n\t\tblockEditingMode,\n\t\tisHighlighted,\n\t\tisMultiSelected,\n\t\tisPartiallySelected,\n\t\tisReusable,\n\t\tisDragging,\n\t\thasChildSelected,\n\t\tisEditingDisabled,\n\t\thasEditableOutline,\n\t\tisTemporarilyEditingAsBlocks,\n\t\tdefaultClassName,\n\t\tisSectionBlock,\n\t\tcanMove,\n\t\tisBlockHidden,\n\t} = useContext( PrivateBlockContext );\n\n\t// translators: %s: Type of block (i.e. Text, Image etc)\n\tconst blockLabel = sprintf( __( 'Block: %s' ), blockTitle );\n\tconst htmlSuffix = mode === 'html' && ! __unstableIsHtml ? '-visual' : '';\n\tconst ffDragRef = useFirefoxDraggableCompatibility();\n\tconst mergedRefs = useMergeRefs( [\n\t\tprops.ref,\n\t\tuseFocusFirstElement( { clientId, initialPosition } ),\n\t\tuseBlockRefProvider( clientId ),\n\t\tuseFocusHandler( clientId ),\n\t\tuseEventHandlers( { clientId, isSelected } ),\n\t\tuseIsHovered(),\n\t\tuseIntersectionObserver(),\n\t\tuseMovingAnimation( { triggerAnimationOnChange: index, clientId } ),\n\t\tuseDisabled( { isDisabled: ! hasOverlay } ),\n\t\tuseFlashEditableBlocks( {\n\t\t\tclientId,\n\t\t\tisEnabled: isSectionBlock,\n\t\t} ),\n\t\tuseScrollIntoView( { isSelected } ),\n\t\tcanMove ? ffDragRef : undefined,\n\t] );\n\n\tconst blockEditContext = useBlockEditContext();\n\tconst hasBlockBindings = !! blockEditContext[ blockBindingsKey ];\n\tconst bindingsStyle = hasBlockBindings\n\t\t? {\n\t\t\t\t'--wp-admin-theme-color': 'var(--wp-block-synced-color)',\n\t\t\t\t'--wp-admin-theme-color--rgb':\n\t\t\t\t\t'var(--wp-block-synced-color--rgb)',\n\t\t }\n\t\t: {};\n\n\t// Ensures it warns only inside the `edit` implementation for the block.\n\tif ( blockApiVersion < 2 && clientId === blockEditContext.clientId ) {\n\t\twarning(\n\t\t\t`Block type \"${ name }\" must support API version 2 or higher to work correctly with \"useBlockProps\" method.`\n\t\t);\n\t}\n\n\tlet hasNegativeMargin = false;\n\tif (\n\t\twrapperProps?.style?.marginTop?.charAt( 0 ) === '-' ||\n\t\twrapperProps?.style?.marginBottom?.charAt( 0 ) === '-' ||\n\t\twrapperProps?.style?.marginLeft?.charAt( 0 ) === '-' ||\n\t\twrapperProps?.style?.marginRight?.charAt( 0 ) === '-'\n\t) {\n\t\thasNegativeMargin = true;\n\t}\n\n\treturn {\n\t\ttabIndex: blockEditingMode === 'disabled' ? -1 : 0,\n\t\tdraggable: canMove && ! hasChildSelected ? true : undefined,\n\t\t...wrapperProps,\n\t\t...props,\n\t\tref: mergedRefs,\n\t\tid: `block-${ clientId }${ htmlSuffix }`,\n\t\trole: 'document',\n\t\t'aria-label': blockLabel,\n\t\t'data-block': clientId,\n\t\t'data-type': name,\n\t\t'data-title': blockTitle,\n\t\tinert: isSubtreeDisabled ? 'true' : undefined,\n\t\tclassName: clsx(\n\t\t\t'block-editor-block-list__block',\n\t\t\t{\n\t\t\t\t// The wp-block className is important for editor styles.\n\t\t\t\t'wp-block': ! isAligned,\n\t\t\t\t'has-block-overlay': hasOverlay,\n\t\t\t\t'is-selected': isSelected,\n\t\t\t\t'is-highlighted': isHighlighted,\n\t\t\t\t'is-multi-selected': isMultiSelected,\n\t\t\t\t'is-partially-selected': isPartiallySelected,\n\t\t\t\t'is-reusable': isReusable,\n\t\t\t\t'is-dragging': isDragging,\n\t\t\t\t'has-child-selected': hasChildSelected,\n\t\t\t\t'is-editing-disabled': isEditingDisabled,\n\t\t\t\t'has-editable-outline': hasEditableOutline,\n\t\t\t\t'has-negative-margin': hasNegativeMargin,\n\t\t\t\t'is-content-locked-temporarily-editing-as-blocks':\n\t\t\t\t\tisTemporarilyEditingAsBlocks,\n\t\t\t\t'is-block-hidden': isBlockHidden,\n\t\t\t},\n\t\t\tclassName,\n\t\t\tprops.className,\n\t\t\twrapperProps.className,\n\t\t\tdefaultClassName\n\t\t),\n\t\tstyle: { ...wrapperProps.style, ...props.style, ...bindingsStyle },\n\t};\n}\n\n/**\n * Call within a save function to get the props for the block wrapper.\n *\n * @param {Object} props Optional. Props to pass to the element.\n */\nuseBlockProps.save = getBlockProps;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
});
|
|
7
7
|
exports.default = void 0;
|
|
8
8
|
var _components = require("@wordpress/components");
|
|
9
|
+
var _blocks = require("@wordpress/blocks");
|
|
9
10
|
var _data = require("@wordpress/data");
|
|
10
11
|
var _convertToGroupButtons = require("../convert-to-group-buttons");
|
|
11
12
|
var _blockLock = require("../block-lock");
|
|
@@ -13,6 +14,7 @@ var _store = require("../../store");
|
|
|
13
14
|
var _blockModeToggle = _interopRequireDefault(require("../block-settings-menu/block-mode-toggle"));
|
|
14
15
|
var _contentLock = require("../content-lock");
|
|
15
16
|
var _blockRename = require("../block-rename");
|
|
17
|
+
var _blockVisibility = require("../block-visibility");
|
|
16
18
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
17
19
|
/**
|
|
18
20
|
* WordPress dependencies
|
|
@@ -33,9 +35,11 @@ const BlockSettingsMenuControlsSlot = ({
|
|
|
33
35
|
const {
|
|
34
36
|
selectedBlocks,
|
|
35
37
|
selectedClientIds,
|
|
36
|
-
isContentOnly
|
|
38
|
+
isContentOnly,
|
|
39
|
+
canToggleSelectedBlocksVisibility
|
|
37
40
|
} = (0, _data.useSelect)(select => {
|
|
38
41
|
const {
|
|
42
|
+
getBlocksByClientId,
|
|
39
43
|
getBlockNamesByClientId,
|
|
40
44
|
getSelectedBlockClientIds,
|
|
41
45
|
getBlockEditingMode
|
|
@@ -44,7 +48,8 @@ const BlockSettingsMenuControlsSlot = ({
|
|
|
44
48
|
return {
|
|
45
49
|
selectedBlocks: getBlockNamesByClientId(ids),
|
|
46
50
|
selectedClientIds: ids,
|
|
47
|
-
isContentOnly: getBlockEditingMode(ids[0]) === 'contentOnly'
|
|
51
|
+
isContentOnly: getBlockEditingMode(ids[0]) === 'contentOnly',
|
|
52
|
+
canToggleSelectedBlocksVisibility: getBlocksByClientId(ids).every(block => (0, _blocks.hasBlockSupport)(block.name, 'blockVisibility', true))
|
|
48
53
|
};
|
|
49
54
|
}, [clientIds]);
|
|
50
55
|
const {
|
|
@@ -55,6 +60,7 @@ const BlockSettingsMenuControlsSlot = ({
|
|
|
55
60
|
} = (0, _blockRename.useBlockRename)(selectedBlocks[0]);
|
|
56
61
|
const showLockButton = selectedClientIds.length === 1 && canLock && !isContentOnly;
|
|
57
62
|
const showRenameButton = selectedClientIds.length === 1 && canRename && !isContentOnly;
|
|
63
|
+
const showVisibilityButton = canToggleSelectedBlocksVisibility && !isContentOnly;
|
|
58
64
|
|
|
59
65
|
// Check if current selection of blocks is Groupable or Ungroupable
|
|
60
66
|
// and pass this props down to ConvertToGroupButton.
|
|
@@ -82,6 +88,8 @@ const BlockSettingsMenuControlsSlot = ({
|
|
|
82
88
|
clientId: selectedClientIds[0]
|
|
83
89
|
}), showRenameButton && /*#__PURE__*/(0, _jsxRuntime.jsx)(_blockRename.BlockRenameControl, {
|
|
84
90
|
clientId: selectedClientIds[0]
|
|
91
|
+
}), showVisibilityButton && /*#__PURE__*/(0, _jsxRuntime.jsx)(_blockVisibility.BlockVisibilityMenuItem, {
|
|
92
|
+
clientIds: selectedClientIds
|
|
85
93
|
}), fills, selectedClientIds.length === 1 && /*#__PURE__*/(0, _jsxRuntime.jsx)(_contentLock.ModifyContentLockMenuItem, {
|
|
86
94
|
clientId: selectedClientIds[0],
|
|
87
95
|
onClose: fillProps?.onClose
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_components","require","_data","_convertToGroupButtons","_blockLock","_store","_blockModeToggle","_interopRequireDefault","_contentLock","_blockRename","_jsxRuntime","Fill","Slot","createSlotFill","BlockSettingsMenuControlsSlot","fillProps","clientIds","selectedBlocks","selectedClientIds","isContentOnly","useSelect","select","getBlockNamesByClientId","getSelectedBlockClientIds","getBlockEditingMode","blockEditorStore","ids","canLock","useBlockLock","canRename","useBlockRename","showLockButton","length","showRenameButton","convertToGroupButtonProps","useConvertToGroupButtonProps","isGroupable","isUngroupable","showConvertToGroupButton","jsx","children","fills","jsxs","MenuGroup","ConvertToGroupButton","onClose","BlockLockMenuItem","clientId","BlockRenameControl","ModifyContentLockMenuItem","count","default","firstBlockClientId","onToggle","BlockSettingsMenuControls","props","__experimentalStyleProvider","document","_default","exports"],"sources":["@wordpress/block-editor/src/components/block-settings-menu-controls/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tcreateSlotFill,\n\tMenuGroup,\n\t__experimentalStyleProvider as StyleProvider,\n} from '@wordpress/components';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport {\n\tuseConvertToGroupButtonProps,\n\tConvertToGroupButton,\n} from '../convert-to-group-buttons';\nimport { BlockLockMenuItem, useBlockLock } from '../block-lock';\nimport { store as blockEditorStore } from '../../store';\nimport BlockModeToggle from '../block-settings-menu/block-mode-toggle';\nimport { ModifyContentLockMenuItem } from '../content-lock';\nimport { BlockRenameControl, useBlockRename } from '../block-rename';\n\nconst { Fill, Slot } = createSlotFill( 'BlockSettingsMenuControls' );\n\nconst BlockSettingsMenuControlsSlot = ( { fillProps, clientIds = null } ) => {\n\tconst {
|
|
1
|
+
{"version":3,"names":["_components","require","_blocks","_data","_convertToGroupButtons","_blockLock","_store","_blockModeToggle","_interopRequireDefault","_contentLock","_blockRename","_blockVisibility","_jsxRuntime","Fill","Slot","createSlotFill","BlockSettingsMenuControlsSlot","fillProps","clientIds","selectedBlocks","selectedClientIds","isContentOnly","canToggleSelectedBlocksVisibility","useSelect","select","getBlocksByClientId","getBlockNamesByClientId","getSelectedBlockClientIds","getBlockEditingMode","blockEditorStore","ids","every","block","hasBlockSupport","name","canLock","useBlockLock","canRename","useBlockRename","showLockButton","length","showRenameButton","showVisibilityButton","convertToGroupButtonProps","useConvertToGroupButtonProps","isGroupable","isUngroupable","showConvertToGroupButton","jsx","children","fills","jsxs","MenuGroup","ConvertToGroupButton","onClose","BlockLockMenuItem","clientId","BlockRenameControl","BlockVisibilityMenuItem","ModifyContentLockMenuItem","count","default","firstBlockClientId","onToggle","BlockSettingsMenuControls","props","__experimentalStyleProvider","document","_default","exports"],"sources":["@wordpress/block-editor/src/components/block-settings-menu-controls/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tcreateSlotFill,\n\tMenuGroup,\n\t__experimentalStyleProvider as StyleProvider,\n} from '@wordpress/components';\nimport { hasBlockSupport } from '@wordpress/blocks';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport {\n\tuseConvertToGroupButtonProps,\n\tConvertToGroupButton,\n} from '../convert-to-group-buttons';\nimport { BlockLockMenuItem, useBlockLock } from '../block-lock';\nimport { store as blockEditorStore } from '../../store';\nimport BlockModeToggle from '../block-settings-menu/block-mode-toggle';\nimport { ModifyContentLockMenuItem } from '../content-lock';\nimport { BlockRenameControl, useBlockRename } from '../block-rename';\nimport { BlockVisibilityMenuItem } from '../block-visibility';\n\nconst { Fill, Slot } = createSlotFill( 'BlockSettingsMenuControls' );\n\nconst BlockSettingsMenuControlsSlot = ( { fillProps, clientIds = null } ) => {\n\tconst {\n\t\tselectedBlocks,\n\t\tselectedClientIds,\n\t\tisContentOnly,\n\t\tcanToggleSelectedBlocksVisibility,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlocksByClientId,\n\t\t\t\tgetBlockNamesByClientId,\n\t\t\t\tgetSelectedBlockClientIds,\n\t\t\t\tgetBlockEditingMode,\n\t\t\t} = select( blockEditorStore );\n\t\t\tconst ids =\n\t\t\t\tclientIds !== null ? clientIds : getSelectedBlockClientIds();\n\t\t\treturn {\n\t\t\t\tselectedBlocks: getBlockNamesByClientId( ids ),\n\t\t\t\tselectedClientIds: ids,\n\t\t\t\tisContentOnly:\n\t\t\t\t\tgetBlockEditingMode( ids[ 0 ] ) === 'contentOnly',\n\t\t\t\tcanToggleSelectedBlocksVisibility: getBlocksByClientId(\n\t\t\t\t\tids\n\t\t\t\t).every( ( block ) =>\n\t\t\t\t\thasBlockSupport( block.name, 'blockVisibility', true )\n\t\t\t\t),\n\t\t\t};\n\t\t},\n\t\t[ clientIds ]\n\t);\n\n\tconst { canLock } = useBlockLock( selectedClientIds[ 0 ] );\n\tconst { canRename } = useBlockRename( selectedBlocks[ 0 ] );\n\tconst showLockButton =\n\t\tselectedClientIds.length === 1 && canLock && ! isContentOnly;\n\tconst showRenameButton =\n\t\tselectedClientIds.length === 1 && canRename && ! isContentOnly;\n\tconst showVisibilityButton =\n\t\tcanToggleSelectedBlocksVisibility && ! isContentOnly;\n\n\t// Check if current selection of blocks is Groupable or Ungroupable\n\t// and pass this props down to ConvertToGroupButton.\n\tconst convertToGroupButtonProps =\n\t\tuseConvertToGroupButtonProps( selectedClientIds );\n\tconst { isGroupable, isUngroupable } = convertToGroupButtonProps;\n\tconst showConvertToGroupButton =\n\t\t( isGroupable || isUngroupable ) && ! isContentOnly;\n\n\treturn (\n\t\t<Slot\n\t\t\tfillProps={ {\n\t\t\t\t...fillProps,\n\t\t\t\tselectedBlocks,\n\t\t\t\tselectedClientIds,\n\t\t\t} }\n\t\t>\n\t\t\t{ ( fills ) => {\n\t\t\t\tif (\n\t\t\t\t\t! fills?.length > 0 &&\n\t\t\t\t\t! showConvertToGroupButton &&\n\t\t\t\t\t! showLockButton\n\t\t\t\t) {\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\n\t\t\t\treturn (\n\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t{ showConvertToGroupButton && (\n\t\t\t\t\t\t\t<ConvertToGroupButton\n\t\t\t\t\t\t\t\t{ ...convertToGroupButtonProps }\n\t\t\t\t\t\t\t\tonClose={ fillProps?.onClose }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ showLockButton && (\n\t\t\t\t\t\t\t<BlockLockMenuItem\n\t\t\t\t\t\t\t\tclientId={ selectedClientIds[ 0 ] }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ showRenameButton && (\n\t\t\t\t\t\t\t<BlockRenameControl\n\t\t\t\t\t\t\t\tclientId={ selectedClientIds[ 0 ] }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ showVisibilityButton && (\n\t\t\t\t\t\t\t<BlockVisibilityMenuItem\n\t\t\t\t\t\t\t\tclientIds={ selectedClientIds }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ fills }\n\t\t\t\t\t\t{ selectedClientIds.length === 1 && (\n\t\t\t\t\t\t\t<ModifyContentLockMenuItem\n\t\t\t\t\t\t\t\tclientId={ selectedClientIds[ 0 ] }\n\t\t\t\t\t\t\t\tonClose={ fillProps?.onClose }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ fillProps?.count === 1 && ! isContentOnly && (\n\t\t\t\t\t\t\t<BlockModeToggle\n\t\t\t\t\t\t\t\tclientId={ fillProps?.firstBlockClientId }\n\t\t\t\t\t\t\t\tonToggle={ fillProps?.onClose }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</MenuGroup>\n\t\t\t\t);\n\t\t\t} }\n\t\t</Slot>\n\t);\n};\n\n/**\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/block-settings-menu-controls/README.md\n *\n * @param {Object} props Fill props.\n * @return {Element} Element.\n */\nfunction BlockSettingsMenuControls( { ...props } ) {\n\treturn (\n\t\t<StyleProvider document={ document }>\n\t\t\t<Fill { ...props } />\n\t\t</StyleProvider>\n\t);\n}\n\nBlockSettingsMenuControls.Slot = BlockSettingsMenuControlsSlot;\n\nexport default BlockSettingsMenuControls;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -20,6 +20,7 @@ var _blockControls = _interopRequireDefault(require("../block-controls"));
|
|
|
20
20
|
var _blockToolbarLastItem = _interopRequireDefault(require("./block-toolbar-last-item"));
|
|
21
21
|
var _blockSettingsMenu = _interopRequireDefault(require("../block-settings-menu"));
|
|
22
22
|
var _blockLock = require("../block-lock");
|
|
23
|
+
var _blockVisibility = require("../block-visibility");
|
|
23
24
|
var _convertToGroupButtons = require("../convert-to-group-buttons");
|
|
24
25
|
var _blockEditVisuallyButton = _interopRequireDefault(require("../block-edit-visually-button"));
|
|
25
26
|
var _utils = require("./utils");
|
|
@@ -77,6 +78,7 @@ function PrivateBlockToolbar({
|
|
|
77
78
|
showSlots,
|
|
78
79
|
showGroupButtons,
|
|
79
80
|
showLockButtons,
|
|
81
|
+
showBlockVisibilityButton,
|
|
80
82
|
showSwitchSectionStyleButton,
|
|
81
83
|
hasFixedToolbar,
|
|
82
84
|
isNavigationMode
|
|
@@ -135,6 +137,7 @@ function PrivateBlockToolbar({
|
|
|
135
137
|
showSlots: !_isZoomOut,
|
|
136
138
|
showGroupButtons: !_isZoomOut,
|
|
137
139
|
showLockButtons: !_isZoomOut,
|
|
140
|
+
showBlockVisibilityButton: !_isZoomOut,
|
|
138
141
|
showSwitchSectionStyleButton: _showSwitchSectionStyleButton,
|
|
139
142
|
hasFixedToolbar: getSettings().hasFixedToolbar,
|
|
140
143
|
isNavigationMode: isNavigationModeEnabled
|
|
@@ -189,6 +192,8 @@ function PrivateBlockToolbar({
|
|
|
189
192
|
className: "block-editor-block-toolbar__block-controls",
|
|
190
193
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_blockSwitcher.default, {
|
|
191
194
|
clientIds: blockClientIds
|
|
195
|
+
}), isDefaultEditingMode && showBlockVisibilityButton && /*#__PURE__*/(0, _jsxRuntime.jsx)(_blockVisibility.BlockVisibilityToolbar, {
|
|
196
|
+
clientIds: blockClientIds
|
|
192
197
|
}), !isMultiToolbar && isDefaultEditingMode && showLockButtons && /*#__PURE__*/(0, _jsxRuntime.jsx)(_blockLock.BlockLockToolbar, {
|
|
193
198
|
clientId: blockClientId
|
|
194
199
|
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_blockMover.default, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_clsx","_interopRequireDefault","require","_i18n","_data","_element","_compose","_blocks","_components","_blockMover","_blockParentSelector","_blockSwitcher","_blockControls","_blockToolbarLastItem","_blockSettingsMenu","_blockLock","_convertToGroupButtons","_blockEditVisuallyButton","_utils","_store","_blockNameContext","_navigableToolbar","_useHasBlockToolbar","_changeDesign","_switchSectionStyle","_lockUnlock","_jsxRuntime","PrivateBlockToolbar","hideDragHandle","focusOnMount","__experimentalInitialIndex","__experimentalOnIndexChange","variant","blockClientId","blockClientIds","isDefaultEditingMode","blockType","toolbarKey","shouldShowVisualToolbar","showParentSelector","isUsingBindings","hasParentPattern","hasContentOnlyLocking","showShuffleButton","showSlots","showGroupButtons","showLockButtons","showSwitchSectionStyleButton","hasFixedToolbar","isNavigationMode","useSelect","select","getBlockName","getBlockMode","getBlockParents","getSelectedBlockClientIds","isBlockValid","getBlockEditingMode","getBlockAttributes","getBlockParentsByBlockName","getTemplateLock","getSettings","getParentSectionBlock","isZoomOut","_isNavigationMode","isSectionBlock","unlock","blockEditorStore","selectedBlockClientIds","selectedBlockClientId","parents","parentSection","parentClientId","length","parentBlockName","parentBlockType","getBlockType","editingMode","isNavigationModeEnabled","_isDefaultEditingMode","_blockName","isValid","every","id","isVisual","_isUsingBindings","clientId","metadata","bindings","_hasParentPattern","_hasTemplateLock","some","_isZoomOut","_showSwitchSectionStyleButton","window","__experimentalContentOnlyPatternInsertion","hasBlockSupport","toolbarWrapperRef","useRef","nodeRef","showHoveredOrFocusedGestures","useShowHoveredOrFocusedGestures","ref","isLargeViewport","useViewportMatch","hasBlockToolbar","useHasBlockToolbar","isMultiToolbar","isSynced","isReusableBlock","isTemplatePart","classes","clsx","innerClasses","jsx","default","focusEditorOnEscape","className","__","undefined","children","jsxs","ToolbarGroup","clientIds","BlockLockToolbar","BlockGroupToolbar","Fragment","Slot","group","Provider","value","name","BlockToolbar"],"sources":["@wordpress/block-editor/src/components/block-toolbar/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useSelect } from '@wordpress/data';\nimport { useRef } from '@wordpress/element';\nimport { useViewportMatch } from '@wordpress/compose';\nimport {\n\tgetBlockType,\n\thasBlockSupport,\n\tisReusableBlock,\n\tisTemplatePart,\n} from '@wordpress/blocks';\nimport { ToolbarGroup } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport BlockMover from '../block-mover';\nimport BlockParentSelector from '../block-parent-selector';\nimport BlockSwitcher from '../block-switcher';\nimport BlockControls from '../block-controls';\nimport __unstableBlockToolbarLastItem from './block-toolbar-last-item';\nimport BlockSettingsMenu from '../block-settings-menu';\nimport { BlockLockToolbar } from '../block-lock';\nimport { BlockGroupToolbar } from '../convert-to-group-buttons';\nimport BlockEditVisuallyButton from '../block-edit-visually-button';\nimport { useShowHoveredOrFocusedGestures } from './utils';\nimport { store as blockEditorStore } from '../../store';\nimport __unstableBlockNameContext from './block-name-context';\nimport NavigableToolbar from '../navigable-toolbar';\nimport { useHasBlockToolbar } from './use-has-block-toolbar';\nimport ChangeDesign from './change-design';\nimport SwitchSectionStyle from './switch-section-style';\nimport { unlock } from '../../lock-unlock';\n\n/**\n * Renders the block toolbar.\n *\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/block-toolbar/README.md\n *\n * @param {Object} props Components props.\n * @param {boolean} props.hideDragHandle Show or hide the Drag Handle for drag and drop functionality.\n * @param {boolean} props.focusOnMount Focus the toolbar when mounted.\n * @param {number} props.__experimentalInitialIndex The initial index of the toolbar item to focus.\n * @param {Function} props.__experimentalOnIndexChange Callback function to be called when the index of the focused toolbar item changes.\n * @param {string} props.variant Style variant of the toolbar, also passed to the Dropdowns rendered from Block Toolbar Buttons.\n */\nexport function PrivateBlockToolbar( {\n\thideDragHandle,\n\tfocusOnMount,\n\t__experimentalInitialIndex,\n\t__experimentalOnIndexChange,\n\tvariant = 'unstyled',\n} ) {\n\tconst {\n\t\tblockClientId,\n\t\tblockClientIds,\n\t\tisDefaultEditingMode,\n\t\tblockType,\n\t\ttoolbarKey,\n\t\tshouldShowVisualToolbar,\n\t\tshowParentSelector,\n\t\tisUsingBindings,\n\t\thasParentPattern,\n\t\thasContentOnlyLocking,\n\t\tshowShuffleButton,\n\t\tshowSlots,\n\t\tshowGroupButtons,\n\t\tshowLockButtons,\n\t\tshowSwitchSectionStyleButton,\n\t\thasFixedToolbar,\n\t\tisNavigationMode,\n\t} = useSelect( ( select ) => {\n\t\tconst {\n\t\t\tgetBlockName,\n\t\t\tgetBlockMode,\n\t\t\tgetBlockParents,\n\t\t\tgetSelectedBlockClientIds,\n\t\t\tisBlockValid,\n\t\t\tgetBlockEditingMode,\n\t\t\tgetBlockAttributes,\n\t\t\tgetBlockParentsByBlockName,\n\t\t\tgetTemplateLock,\n\t\t\tgetSettings,\n\t\t\tgetParentSectionBlock,\n\t\t\tisZoomOut,\n\t\t\tisNavigationMode: _isNavigationMode,\n\t\t\tisSectionBlock,\n\t\t} = unlock( select( blockEditorStore ) );\n\t\tconst selectedBlockClientIds = getSelectedBlockClientIds();\n\t\tconst selectedBlockClientId = selectedBlockClientIds[ 0 ];\n\t\tconst parents = getBlockParents( selectedBlockClientId );\n\t\tconst parentSection = getParentSectionBlock( selectedBlockClientId );\n\t\tconst parentClientId = parentSection ?? parents[ parents.length - 1 ];\n\t\tconst parentBlockName = getBlockName( parentClientId );\n\t\tconst parentBlockType = getBlockType( parentBlockName );\n\t\tconst editingMode = getBlockEditingMode( selectedBlockClientId );\n\t\tconst isNavigationModeEnabled = _isNavigationMode();\n\t\tconst _isDefaultEditingMode = editingMode === 'default';\n\t\tconst _blockName = getBlockName( selectedBlockClientId );\n\t\tconst isValid = selectedBlockClientIds.every( ( id ) =>\n\t\t\tisBlockValid( id )\n\t\t);\n\t\tconst isVisual = selectedBlockClientIds.every(\n\t\t\t( id ) => getBlockMode( id ) === 'visual'\n\t\t);\n\t\tconst _isUsingBindings = selectedBlockClientIds.every(\n\t\t\t( clientId ) =>\n\t\t\t\t!! getBlockAttributes( clientId )?.metadata?.bindings\n\t\t);\n\n\t\tconst _hasParentPattern = selectedBlockClientIds.every(\n\t\t\t( clientId ) =>\n\t\t\t\tgetBlockParentsByBlockName( clientId, 'core/block', true )\n\t\t\t\t\t.length > 0\n\t\t);\n\n\t\t// If one or more selected blocks are locked, do not show the BlockGroupToolbar.\n\t\tconst _hasTemplateLock = selectedBlockClientIds.some(\n\t\t\t( id ) => getTemplateLock( id ) === 'contentOnly'\n\t\t);\n\n\t\tconst _isZoomOut = isZoomOut();\n\n\t\t// The switch style button appears more prominently with the\n\t\t// content only pattern experiment.\n\t\tconst _showSwitchSectionStyleButton =\n\t\t\twindow?.__experimentalContentOnlyPatternInsertion\n\t\t\t\t? _isZoomOut || isSectionBlock( selectedBlockClientId )\n\t\t\t\t: _isZoomOut ||\n\t\t\t\t ( isNavigationModeEnabled &&\n\t\t\t\t\t\teditingMode === 'contentOnly' &&\n\t\t\t\t\t\tisSectionBlock( selectedBlockClientId ) );\n\n\t\treturn {\n\t\t\tblockClientId: selectedBlockClientId,\n\t\t\tblockClientIds: selectedBlockClientIds,\n\t\t\tisDefaultEditingMode: _isDefaultEditingMode,\n\t\t\tblockType: selectedBlockClientId && getBlockType( _blockName ),\n\t\t\tshouldShowVisualToolbar: isValid && isVisual,\n\t\t\ttoolbarKey: `${ selectedBlockClientId }${ parentClientId }`,\n\t\t\tshowParentSelector:\n\t\t\t\t! _isZoomOut &&\n\t\t\t\tparentBlockType &&\n\t\t\t\teditingMode !== 'contentOnly' &&\n\t\t\t\tgetBlockEditingMode( parentClientId ) !== 'disabled' &&\n\t\t\t\thasBlockSupport(\n\t\t\t\t\tparentBlockType,\n\t\t\t\t\t'__experimentalParentSelector',\n\t\t\t\t\ttrue\n\t\t\t\t) &&\n\t\t\t\tselectedBlockClientIds.length === 1,\n\t\t\tisUsingBindings: _isUsingBindings,\n\t\t\thasParentPattern: _hasParentPattern,\n\t\t\thasContentOnlyLocking: _hasTemplateLock,\n\t\t\tshowShuffleButton: _isZoomOut,\n\t\t\tshowSlots: ! _isZoomOut,\n\t\t\tshowGroupButtons: ! _isZoomOut,\n\t\t\tshowLockButtons: ! _isZoomOut,\n\t\t\tshowSwitchSectionStyleButton: _showSwitchSectionStyleButton,\n\t\t\thasFixedToolbar: getSettings().hasFixedToolbar,\n\t\t\tisNavigationMode: isNavigationModeEnabled,\n\t\t};\n\t}, [] );\n\n\tconst toolbarWrapperRef = useRef( null );\n\n\t// Handles highlighting the current block outline on hover or focus of the\n\t// block type toolbar area.\n\tconst nodeRef = useRef();\n\tconst showHoveredOrFocusedGestures = useShowHoveredOrFocusedGestures( {\n\t\tref: nodeRef,\n\t} );\n\n\tconst isLargeViewport = ! useViewportMatch( 'medium', '<' );\n\n\tconst hasBlockToolbar = useHasBlockToolbar();\n\tif ( ! hasBlockToolbar ) {\n\t\treturn null;\n\t}\n\n\tconst isMultiToolbar = blockClientIds.length > 1;\n\tconst isSynced =\n\t\tisReusableBlock( blockType ) || isTemplatePart( blockType );\n\n\t// Shifts the toolbar to make room for the parent block selector.\n\tconst classes = clsx( 'block-editor-block-contextual-toolbar', {\n\t\t'has-parent': showParentSelector,\n\t\t'is-inverted-toolbar': isNavigationMode && ! hasFixedToolbar,\n\t} );\n\n\tconst innerClasses = clsx( 'block-editor-block-toolbar', {\n\t\t'is-synced': isSynced,\n\t\t'is-connected': isUsingBindings,\n\t} );\n\n\treturn (\n\t\t<NavigableToolbar\n\t\t\tfocusEditorOnEscape\n\t\t\tclassName={ classes }\n\t\t\t/* translators: accessibility text for the block toolbar */\n\t\t\taria-label={ __( 'Block tools' ) }\n\t\t\t// The variant is applied as \"toolbar\" when undefined, which is the black border style of the dropdown from the toolbar popover.\n\t\t\tvariant={ variant === 'toolbar' ? undefined : variant }\n\t\t\tfocusOnMount={ focusOnMount }\n\t\t\t__experimentalInitialIndex={ __experimentalInitialIndex }\n\t\t\t__experimentalOnIndexChange={ __experimentalOnIndexChange }\n\t\t\t// Resets the index whenever the active block changes so\n\t\t\t// this is not persisted. See https://github.com/WordPress/gutenberg/pull/25760#issuecomment-717906169\n\t\t\tkey={ toolbarKey }\n\t\t>\n\t\t\t<div ref={ toolbarWrapperRef } className={ innerClasses }>\n\t\t\t\t{ showParentSelector && ! isMultiToolbar && isLargeViewport && (\n\t\t\t\t\t<BlockParentSelector />\n\t\t\t\t) }\n\t\t\t\t{ ( shouldShowVisualToolbar || isMultiToolbar ) &&\n\t\t\t\t\t! hasParentPattern && (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tref={ nodeRef }\n\t\t\t\t\t\t\t{ ...showHoveredOrFocusedGestures }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<ToolbarGroup className=\"block-editor-block-toolbar__block-controls\">\n\t\t\t\t\t\t\t\t<BlockSwitcher clientIds={ blockClientIds } />\n\t\t\t\t\t\t\t\t{ ! isMultiToolbar &&\n\t\t\t\t\t\t\t\t\tisDefaultEditingMode &&\n\t\t\t\t\t\t\t\t\tshowLockButtons && (\n\t\t\t\t\t\t\t\t\t\t<BlockLockToolbar\n\t\t\t\t\t\t\t\t\t\t\tclientId={ blockClientId }\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<BlockMover\n\t\t\t\t\t\t\t\t\tclientIds={ blockClientIds }\n\t\t\t\t\t\t\t\t\thideDragHandle={ hideDragHandle }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</ToolbarGroup>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) }\n\t\t\t\t{ ! hasContentOnlyLocking &&\n\t\t\t\t\tshouldShowVisualToolbar &&\n\t\t\t\t\tisMultiToolbar &&\n\t\t\t\t\tshowGroupButtons && <BlockGroupToolbar /> }\n\t\t\t\t{ showShuffleButton && (\n\t\t\t\t\t<ChangeDesign clientId={ blockClientIds[ 0 ] } />\n\t\t\t\t) }\n\t\t\t\t{ showSwitchSectionStyleButton && (\n\t\t\t\t\t<SwitchSectionStyle clientId={ blockClientIds[ 0 ] } />\n\t\t\t\t) }\n\t\t\t\t{ shouldShowVisualToolbar && showSlots && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<BlockControls.Slot\n\t\t\t\t\t\t\tgroup=\"parent\"\n\t\t\t\t\t\t\tclassName=\"block-editor-block-toolbar__slot\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<BlockControls.Slot\n\t\t\t\t\t\t\tgroup=\"block\"\n\t\t\t\t\t\t\tclassName=\"block-editor-block-toolbar__slot\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<BlockControls.Slot className=\"block-editor-block-toolbar__slot\" />\n\t\t\t\t\t\t<BlockControls.Slot\n\t\t\t\t\t\t\tgroup=\"inline\"\n\t\t\t\t\t\t\tclassName=\"block-editor-block-toolbar__slot\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<BlockControls.Slot\n\t\t\t\t\t\t\tgroup=\"other\"\n\t\t\t\t\t\t\tclassName=\"block-editor-block-toolbar__slot\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<__unstableBlockNameContext.Provider\n\t\t\t\t\t\t\tvalue={ blockType?.name }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<__unstableBlockToolbarLastItem.Slot />\n\t\t\t\t\t\t</__unstableBlockNameContext.Provider>\n\t\t\t\t\t</>\n\t\t\t\t) }\n\t\t\t\t<BlockEditVisuallyButton clientIds={ blockClientIds } />\n\t\t\t\t<BlockSettingsMenu clientIds={ blockClientIds } />\n\t\t\t</div>\n\t\t</NavigableToolbar>\n\t);\n}\n\n/**\n * Renders the block toolbar.\n *\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/block-toolbar/README.md\n *\n * @param {Object} props Components props.\n * @param {boolean} props.hideDragHandle Show or hide the Drag Handle for drag and drop functionality.\n * @param {string} props.variant Style variant of the toolbar, also passed to the Dropdowns rendered from Block Toolbar Buttons.\n */\nexport default function BlockToolbar( { hideDragHandle, variant } ) {\n\treturn (\n\t\t<PrivateBlockToolbar\n\t\t\thideDragHandle={ hideDragHandle }\n\t\t\tvariant={ variant }\n\t\t\tfocusOnMount={ undefined }\n\t\t\t__experimentalInitialIndex={ undefined }\n\t\t\t__experimentalOnIndexChange={ undefined }\n\t\t/>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_clsx","_interopRequireDefault","require","_i18n","_data","_element","_compose","_blocks","_components","_blockMover","_blockParentSelector","_blockSwitcher","_blockControls","_blockToolbarLastItem","_blockSettingsMenu","_blockLock","_blockVisibility","_convertToGroupButtons","_blockEditVisuallyButton","_utils","_store","_blockNameContext","_navigableToolbar","_useHasBlockToolbar","_changeDesign","_switchSectionStyle","_lockUnlock","_jsxRuntime","PrivateBlockToolbar","hideDragHandle","focusOnMount","__experimentalInitialIndex","__experimentalOnIndexChange","variant","blockClientId","blockClientIds","isDefaultEditingMode","blockType","toolbarKey","shouldShowVisualToolbar","showParentSelector","isUsingBindings","hasParentPattern","hasContentOnlyLocking","showShuffleButton","showSlots","showGroupButtons","showLockButtons","showBlockVisibilityButton","showSwitchSectionStyleButton","hasFixedToolbar","isNavigationMode","useSelect","select","getBlockName","getBlockMode","getBlockParents","getSelectedBlockClientIds","isBlockValid","getBlockEditingMode","getBlockAttributes","getBlockParentsByBlockName","getTemplateLock","getSettings","getParentSectionBlock","isZoomOut","_isNavigationMode","isSectionBlock","unlock","blockEditorStore","selectedBlockClientIds","selectedBlockClientId","parents","parentSection","parentClientId","length","parentBlockName","parentBlockType","getBlockType","editingMode","isNavigationModeEnabled","_isDefaultEditingMode","_blockName","isValid","every","id","isVisual","_isUsingBindings","clientId","metadata","bindings","_hasParentPattern","_hasTemplateLock","some","_isZoomOut","_showSwitchSectionStyleButton","window","__experimentalContentOnlyPatternInsertion","hasBlockSupport","toolbarWrapperRef","useRef","nodeRef","showHoveredOrFocusedGestures","useShowHoveredOrFocusedGestures","ref","isLargeViewport","useViewportMatch","hasBlockToolbar","useHasBlockToolbar","isMultiToolbar","isSynced","isReusableBlock","isTemplatePart","classes","clsx","innerClasses","jsx","default","focusEditorOnEscape","className","__","undefined","children","jsxs","ToolbarGroup","clientIds","BlockVisibilityToolbar","BlockLockToolbar","BlockGroupToolbar","Fragment","Slot","group","Provider","value","name","BlockToolbar"],"sources":["@wordpress/block-editor/src/components/block-toolbar/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useSelect } from '@wordpress/data';\nimport { useRef } from '@wordpress/element';\nimport { useViewportMatch } from '@wordpress/compose';\nimport {\n\tgetBlockType,\n\thasBlockSupport,\n\tisReusableBlock,\n\tisTemplatePart,\n} from '@wordpress/blocks';\nimport { ToolbarGroup } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport BlockMover from '../block-mover';\nimport BlockParentSelector from '../block-parent-selector';\nimport BlockSwitcher from '../block-switcher';\nimport BlockControls from '../block-controls';\nimport __unstableBlockToolbarLastItem from './block-toolbar-last-item';\nimport BlockSettingsMenu from '../block-settings-menu';\nimport { BlockLockToolbar } from '../block-lock';\nimport { BlockVisibilityToolbar } from '../block-visibility';\nimport { BlockGroupToolbar } from '../convert-to-group-buttons';\nimport BlockEditVisuallyButton from '../block-edit-visually-button';\nimport { useShowHoveredOrFocusedGestures } from './utils';\nimport { store as blockEditorStore } from '../../store';\nimport __unstableBlockNameContext from './block-name-context';\nimport NavigableToolbar from '../navigable-toolbar';\nimport { useHasBlockToolbar } from './use-has-block-toolbar';\nimport ChangeDesign from './change-design';\nimport SwitchSectionStyle from './switch-section-style';\nimport { unlock } from '../../lock-unlock';\n\n/**\n * Renders the block toolbar.\n *\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/block-toolbar/README.md\n *\n * @param {Object} props Components props.\n * @param {boolean} props.hideDragHandle Show or hide the Drag Handle for drag and drop functionality.\n * @param {boolean} props.focusOnMount Focus the toolbar when mounted.\n * @param {number} props.__experimentalInitialIndex The initial index of the toolbar item to focus.\n * @param {Function} props.__experimentalOnIndexChange Callback function to be called when the index of the focused toolbar item changes.\n * @param {string} props.variant Style variant of the toolbar, also passed to the Dropdowns rendered from Block Toolbar Buttons.\n */\nexport function PrivateBlockToolbar( {\n\thideDragHandle,\n\tfocusOnMount,\n\t__experimentalInitialIndex,\n\t__experimentalOnIndexChange,\n\tvariant = 'unstyled',\n} ) {\n\tconst {\n\t\tblockClientId,\n\t\tblockClientIds,\n\t\tisDefaultEditingMode,\n\t\tblockType,\n\t\ttoolbarKey,\n\t\tshouldShowVisualToolbar,\n\t\tshowParentSelector,\n\t\tisUsingBindings,\n\t\thasParentPattern,\n\t\thasContentOnlyLocking,\n\t\tshowShuffleButton,\n\t\tshowSlots,\n\t\tshowGroupButtons,\n\t\tshowLockButtons,\n\t\tshowBlockVisibilityButton,\n\t\tshowSwitchSectionStyleButton,\n\t\thasFixedToolbar,\n\t\tisNavigationMode,\n\t} = useSelect( ( select ) => {\n\t\tconst {\n\t\t\tgetBlockName,\n\t\t\tgetBlockMode,\n\t\t\tgetBlockParents,\n\t\t\tgetSelectedBlockClientIds,\n\t\t\tisBlockValid,\n\t\t\tgetBlockEditingMode,\n\t\t\tgetBlockAttributes,\n\t\t\tgetBlockParentsByBlockName,\n\t\t\tgetTemplateLock,\n\t\t\tgetSettings,\n\t\t\tgetParentSectionBlock,\n\t\t\tisZoomOut,\n\t\t\tisNavigationMode: _isNavigationMode,\n\t\t\tisSectionBlock,\n\t\t} = unlock( select( blockEditorStore ) );\n\t\tconst selectedBlockClientIds = getSelectedBlockClientIds();\n\t\tconst selectedBlockClientId = selectedBlockClientIds[ 0 ];\n\t\tconst parents = getBlockParents( selectedBlockClientId );\n\t\tconst parentSection = getParentSectionBlock( selectedBlockClientId );\n\t\tconst parentClientId = parentSection ?? parents[ parents.length - 1 ];\n\t\tconst parentBlockName = getBlockName( parentClientId );\n\t\tconst parentBlockType = getBlockType( parentBlockName );\n\t\tconst editingMode = getBlockEditingMode( selectedBlockClientId );\n\t\tconst isNavigationModeEnabled = _isNavigationMode();\n\t\tconst _isDefaultEditingMode = editingMode === 'default';\n\t\tconst _blockName = getBlockName( selectedBlockClientId );\n\t\tconst isValid = selectedBlockClientIds.every( ( id ) =>\n\t\t\tisBlockValid( id )\n\t\t);\n\t\tconst isVisual = selectedBlockClientIds.every(\n\t\t\t( id ) => getBlockMode( id ) === 'visual'\n\t\t);\n\t\tconst _isUsingBindings = selectedBlockClientIds.every(\n\t\t\t( clientId ) =>\n\t\t\t\t!! getBlockAttributes( clientId )?.metadata?.bindings\n\t\t);\n\n\t\tconst _hasParentPattern = selectedBlockClientIds.every(\n\t\t\t( clientId ) =>\n\t\t\t\tgetBlockParentsByBlockName( clientId, 'core/block', true )\n\t\t\t\t\t.length > 0\n\t\t);\n\n\t\t// If one or more selected blocks are locked, do not show the BlockGroupToolbar.\n\t\tconst _hasTemplateLock = selectedBlockClientIds.some(\n\t\t\t( id ) => getTemplateLock( id ) === 'contentOnly'\n\t\t);\n\n\t\tconst _isZoomOut = isZoomOut();\n\n\t\t// The switch style button appears more prominently with the\n\t\t// content only pattern experiment.\n\t\tconst _showSwitchSectionStyleButton =\n\t\t\twindow?.__experimentalContentOnlyPatternInsertion\n\t\t\t\t? _isZoomOut || isSectionBlock( selectedBlockClientId )\n\t\t\t\t: _isZoomOut ||\n\t\t\t\t ( isNavigationModeEnabled &&\n\t\t\t\t\t\teditingMode === 'contentOnly' &&\n\t\t\t\t\t\tisSectionBlock( selectedBlockClientId ) );\n\n\t\treturn {\n\t\t\tblockClientId: selectedBlockClientId,\n\t\t\tblockClientIds: selectedBlockClientIds,\n\t\t\tisDefaultEditingMode: _isDefaultEditingMode,\n\t\t\tblockType: selectedBlockClientId && getBlockType( _blockName ),\n\t\t\tshouldShowVisualToolbar: isValid && isVisual,\n\t\t\ttoolbarKey: `${ selectedBlockClientId }${ parentClientId }`,\n\t\t\tshowParentSelector:\n\t\t\t\t! _isZoomOut &&\n\t\t\t\tparentBlockType &&\n\t\t\t\teditingMode !== 'contentOnly' &&\n\t\t\t\tgetBlockEditingMode( parentClientId ) !== 'disabled' &&\n\t\t\t\thasBlockSupport(\n\t\t\t\t\tparentBlockType,\n\t\t\t\t\t'__experimentalParentSelector',\n\t\t\t\t\ttrue\n\t\t\t\t) &&\n\t\t\t\tselectedBlockClientIds.length === 1,\n\t\t\tisUsingBindings: _isUsingBindings,\n\t\t\thasParentPattern: _hasParentPattern,\n\t\t\thasContentOnlyLocking: _hasTemplateLock,\n\t\t\tshowShuffleButton: _isZoomOut,\n\t\t\tshowSlots: ! _isZoomOut,\n\t\t\tshowGroupButtons: ! _isZoomOut,\n\t\t\tshowLockButtons: ! _isZoomOut,\n\t\t\tshowBlockVisibilityButton: ! _isZoomOut,\n\t\t\tshowSwitchSectionStyleButton: _showSwitchSectionStyleButton,\n\t\t\thasFixedToolbar: getSettings().hasFixedToolbar,\n\t\t\tisNavigationMode: isNavigationModeEnabled,\n\t\t};\n\t}, [] );\n\n\tconst toolbarWrapperRef = useRef( null );\n\n\t// Handles highlighting the current block outline on hover or focus of the\n\t// block type toolbar area.\n\tconst nodeRef = useRef();\n\tconst showHoveredOrFocusedGestures = useShowHoveredOrFocusedGestures( {\n\t\tref: nodeRef,\n\t} );\n\n\tconst isLargeViewport = ! useViewportMatch( 'medium', '<' );\n\n\tconst hasBlockToolbar = useHasBlockToolbar();\n\tif ( ! hasBlockToolbar ) {\n\t\treturn null;\n\t}\n\n\tconst isMultiToolbar = blockClientIds.length > 1;\n\tconst isSynced =\n\t\tisReusableBlock( blockType ) || isTemplatePart( blockType );\n\n\t// Shifts the toolbar to make room for the parent block selector.\n\tconst classes = clsx( 'block-editor-block-contextual-toolbar', {\n\t\t'has-parent': showParentSelector,\n\t\t'is-inverted-toolbar': isNavigationMode && ! hasFixedToolbar,\n\t} );\n\n\tconst innerClasses = clsx( 'block-editor-block-toolbar', {\n\t\t'is-synced': isSynced,\n\t\t'is-connected': isUsingBindings,\n\t} );\n\n\treturn (\n\t\t<NavigableToolbar\n\t\t\tfocusEditorOnEscape\n\t\t\tclassName={ classes }\n\t\t\t/* translators: accessibility text for the block toolbar */\n\t\t\taria-label={ __( 'Block tools' ) }\n\t\t\t// The variant is applied as \"toolbar\" when undefined, which is the black border style of the dropdown from the toolbar popover.\n\t\t\tvariant={ variant === 'toolbar' ? undefined : variant }\n\t\t\tfocusOnMount={ focusOnMount }\n\t\t\t__experimentalInitialIndex={ __experimentalInitialIndex }\n\t\t\t__experimentalOnIndexChange={ __experimentalOnIndexChange }\n\t\t\t// Resets the index whenever the active block changes so\n\t\t\t// this is not persisted. See https://github.com/WordPress/gutenberg/pull/25760#issuecomment-717906169\n\t\t\tkey={ toolbarKey }\n\t\t>\n\t\t\t<div ref={ toolbarWrapperRef } className={ innerClasses }>\n\t\t\t\t{ showParentSelector && ! isMultiToolbar && isLargeViewport && (\n\t\t\t\t\t<BlockParentSelector />\n\t\t\t\t) }\n\t\t\t\t{ ( shouldShowVisualToolbar || isMultiToolbar ) &&\n\t\t\t\t\t! hasParentPattern && (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tref={ nodeRef }\n\t\t\t\t\t\t\t{ ...showHoveredOrFocusedGestures }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<ToolbarGroup className=\"block-editor-block-toolbar__block-controls\">\n\t\t\t\t\t\t\t\t<BlockSwitcher clientIds={ blockClientIds } />\n\t\t\t\t\t\t\t\t{ isDefaultEditingMode &&\n\t\t\t\t\t\t\t\t\tshowBlockVisibilityButton && (\n\t\t\t\t\t\t\t\t\t\t<BlockVisibilityToolbar\n\t\t\t\t\t\t\t\t\t\t\tclientIds={ blockClientIds }\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{ ! isMultiToolbar &&\n\t\t\t\t\t\t\t\t\tisDefaultEditingMode &&\n\t\t\t\t\t\t\t\t\tshowLockButtons && (\n\t\t\t\t\t\t\t\t\t\t<BlockLockToolbar\n\t\t\t\t\t\t\t\t\t\t\tclientId={ blockClientId }\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<BlockMover\n\t\t\t\t\t\t\t\t\tclientIds={ blockClientIds }\n\t\t\t\t\t\t\t\t\thideDragHandle={ hideDragHandle }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</ToolbarGroup>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) }\n\t\t\t\t{ ! hasContentOnlyLocking &&\n\t\t\t\t\tshouldShowVisualToolbar &&\n\t\t\t\t\tisMultiToolbar &&\n\t\t\t\t\tshowGroupButtons && <BlockGroupToolbar /> }\n\t\t\t\t{ showShuffleButton && (\n\t\t\t\t\t<ChangeDesign clientId={ blockClientIds[ 0 ] } />\n\t\t\t\t) }\n\t\t\t\t{ showSwitchSectionStyleButton && (\n\t\t\t\t\t<SwitchSectionStyle clientId={ blockClientIds[ 0 ] } />\n\t\t\t\t) }\n\t\t\t\t{ shouldShowVisualToolbar && showSlots && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<BlockControls.Slot\n\t\t\t\t\t\t\tgroup=\"parent\"\n\t\t\t\t\t\t\tclassName=\"block-editor-block-toolbar__slot\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<BlockControls.Slot\n\t\t\t\t\t\t\tgroup=\"block\"\n\t\t\t\t\t\t\tclassName=\"block-editor-block-toolbar__slot\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<BlockControls.Slot className=\"block-editor-block-toolbar__slot\" />\n\t\t\t\t\t\t<BlockControls.Slot\n\t\t\t\t\t\t\tgroup=\"inline\"\n\t\t\t\t\t\t\tclassName=\"block-editor-block-toolbar__slot\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<BlockControls.Slot\n\t\t\t\t\t\t\tgroup=\"other\"\n\t\t\t\t\t\t\tclassName=\"block-editor-block-toolbar__slot\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<__unstableBlockNameContext.Provider\n\t\t\t\t\t\t\tvalue={ blockType?.name }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<__unstableBlockToolbarLastItem.Slot />\n\t\t\t\t\t\t</__unstableBlockNameContext.Provider>\n\t\t\t\t\t</>\n\t\t\t\t) }\n\t\t\t\t<BlockEditVisuallyButton clientIds={ blockClientIds } />\n\t\t\t\t<BlockSettingsMenu clientIds={ blockClientIds } />\n\t\t\t</div>\n\t\t</NavigableToolbar>\n\t);\n}\n\n/**\n * Renders the block toolbar.\n *\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/block-toolbar/README.md\n *\n * @param {Object} props Components props.\n * @param {boolean} props.hideDragHandle Show or hide the Drag Handle for drag and drop functionality.\n * @param {string} props.variant Style variant of the toolbar, also passed to the Dropdowns rendered from Block Toolbar Buttons.\n */\nexport default function BlockToolbar( { hideDragHandle, variant } ) {\n\treturn (\n\t\t<PrivateBlockToolbar\n\t\t\thideDragHandle={ hideDragHandle }\n\t\t\tvariant={ variant }\n\t\t\tfocusOnMount={ undefined }\n\t\t\t__experimentalInitialIndex={ undefined }\n\t\t\t__experimentalOnIndexChange={ undefined }\n\t\t/>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
|