@wordpress/block-library
Version:
Block library for the WordPress editor.
8 lines (7 loc) • 16 kB
Source Map (JSON)
{
"version": 3,
"sources": ["../../src/spacer/edit.js"],
"sourcesContent": ["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tuseBlockProps,\n\tgetCustomValueFromPreset,\n\tgetSpacingPresetCssVar,\n\tstore as blockEditorStore,\n\tprivateApis as blockEditorPrivateApis,\n\tuseBlockEditingMode,\n} from '@wordpress/block-editor';\nimport { ResizableBox } from '@wordpress/components';\nimport { useState, useEffect } from '@wordpress/element';\nimport { View } from '@wordpress/primitives';\nimport { useSelect, useDispatch } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../lock-unlock';\nimport SpacerControls from './controls';\nimport { MIN_SPACER_SIZE } from './constants';\n\nconst { useSpacingSizes } = unlock( blockEditorPrivateApis );\n\nconst ResizableSpacer = ( {\n\torientation,\n\tonResizeStart,\n\tonResize,\n\tonResizeStop,\n\tisSelected,\n\tisResizing,\n\tsetIsResizing,\n\t...props\n} ) => {\n\tconst getCurrentSize = ( elt ) => {\n\t\treturn orientation === 'horizontal'\n\t\t\t? elt.clientWidth\n\t\t\t: elt.clientHeight;\n\t};\n\n\tconst getNextVal = ( elt ) => {\n\t\treturn `${ getCurrentSize( elt ) }px`;\n\t};\n\n\treturn (\n\t\t<ResizableBox\n\t\t\tclassName={ clsx( 'block-library-spacer__resize-container', {\n\t\t\t\t'resize-horizontal': orientation === 'horizontal',\n\t\t\t\t'is-resizing': isResizing,\n\t\t\t\t'is-selected': isSelected,\n\t\t\t} ) }\n\t\t\tonResizeStart={ ( _event, _direction, elt ) => {\n\t\t\t\tconst nextVal = getNextVal( elt );\n\t\t\t\tonResizeStart( nextVal );\n\t\t\t\tonResize( nextVal );\n\t\t\t} }\n\t\t\tonResize={ ( _event, _direction, elt ) => {\n\t\t\t\tonResize( getNextVal( elt ) );\n\t\t\t\tif ( ! isResizing ) {\n\t\t\t\t\tsetIsResizing( true );\n\t\t\t\t}\n\t\t\t} }\n\t\t\tonResizeStop={ ( _event, _direction, elt ) => {\n\t\t\t\tconst nextVal = getCurrentSize( elt );\n\t\t\t\tonResizeStop( `${ nextVal }px` );\n\t\t\t\tsetIsResizing( false );\n\t\t\t} }\n\t\t\t__experimentalShowTooltip\n\t\t\t__experimentalTooltipProps={ {\n\t\t\t\taxis: orientation === 'horizontal' ? 'x' : 'y',\n\t\t\t\tposition: 'corner',\n\t\t\t\tisVisible: isResizing,\n\t\t\t} }\n\t\t\tshowHandle={ isSelected }\n\t\t\t{ ...props }\n\t\t/>\n\t);\n};\n\nconst SpacerEdit = ( {\n\tattributes,\n\tisSelected,\n\tsetAttributes,\n\ttoggleSelection,\n\tcontext,\n\t__unstableParentLayout: parentLayout,\n\tclassName,\n} ) => {\n\tconst disableCustomSpacingSizes = useSelect( ( select ) => {\n\t\tconst editorSettings = select( blockEditorStore ).getSettings();\n\t\treturn editorSettings?.disableCustomSpacingSizes;\n\t} );\n\tconst { orientation } = context;\n\tconst {\n\t\torientation: parentOrientation,\n\t\ttype,\n\t\tdefault: { type: defaultType } = {},\n\t} = parentLayout || {};\n\t// Check if the spacer is inside a flex container.\n\tconst isFlexLayout =\n\t\ttype === 'flex' || ( ! type && defaultType === 'flex' );\n\t// If the spacer is inside a flex container, it should either inherit the orientation\n\t// of the parent or use the flex default orientation.\n\tconst inheritedOrientation =\n\t\t! parentOrientation && isFlexLayout\n\t\t\t? 'horizontal'\n\t\t\t: parentOrientation || orientation;\n\tconst { height, width, style: blockStyle = {} } = attributes;\n\n\tconst { layout = {} } = blockStyle;\n\tconst { selfStretch, flexSize } = layout;\n\n\tconst spacingSizes = useSpacingSizes();\n\n\tconst [ isResizing, setIsResizing ] = useState( false );\n\tconst [ temporaryHeight, setTemporaryHeight ] = useState( null );\n\tconst [ temporaryWidth, setTemporaryWidth ] = useState( null );\n\n\tconst onResizeStart = () => toggleSelection( false );\n\tconst onResizeStop = () => toggleSelection( true );\n\n\tconst { __unstableMarkNextChangeAsNotPersistent } =\n\t\tuseDispatch( blockEditorStore );\n\n\tconst handleOnVerticalResizeStop = ( newHeight ) => {\n\t\tonResizeStop();\n\n\t\tif ( isFlexLayout ) {\n\t\t\tsetAttributes( {\n\t\t\t\tstyle: {\n\t\t\t\t\t...blockStyle,\n\t\t\t\t\tlayout: {\n\t\t\t\t\t\t...layout,\n\t\t\t\t\t\tflexSize: newHeight,\n\t\t\t\t\t\tselfStretch: 'fixed',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t} );\n\t\t}\n\n\t\tsetAttributes( { height: newHeight } );\n\t\tsetTemporaryHeight( null );\n\t};\n\n\tconst handleOnHorizontalResizeStop = ( newWidth ) => {\n\t\tonResizeStop();\n\n\t\tif ( isFlexLayout ) {\n\t\t\tsetAttributes( {\n\t\t\t\tstyle: {\n\t\t\t\t\t...blockStyle,\n\t\t\t\t\tlayout: {\n\t\t\t\t\t\t...layout,\n\t\t\t\t\t\tflexSize: newWidth,\n\t\t\t\t\t\tselfStretch: 'fixed',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t} );\n\t\t}\n\n\t\tsetAttributes( { width: newWidth } );\n\t\tsetTemporaryWidth( null );\n\t};\n\n\tconst getHeightForVerticalBlocks = () => {\n\t\tif ( isFlexLayout ) {\n\t\t\treturn undefined;\n\t\t}\n\t\treturn temporaryHeight || getSpacingPresetCssVar( height ) || undefined;\n\t};\n\n\tconst getWidthForHorizontalBlocks = () => {\n\t\tif ( isFlexLayout ) {\n\t\t\treturn undefined;\n\t\t}\n\t\treturn temporaryWidth || getSpacingPresetCssVar( width ) || undefined;\n\t};\n\n\tconst sizeConditionalOnOrientation =\n\t\tinheritedOrientation === 'horizontal'\n\t\t\t? temporaryWidth || flexSize\n\t\t\t: temporaryHeight || flexSize;\n\n\tconst style = {\n\t\theight:\n\t\t\tinheritedOrientation === 'horizontal'\n\t\t\t\t? 24\n\t\t\t\t: getHeightForVerticalBlocks(),\n\t\twidth:\n\t\t\tinheritedOrientation === 'horizontal'\n\t\t\t\t? getWidthForHorizontalBlocks()\n\t\t\t\t: undefined,\n\t\t// In vertical flex containers, the spacer shrinks to nothing without a minimum width.\n\t\tminWidth:\n\t\t\tinheritedOrientation === 'vertical' && isFlexLayout\n\t\t\t\t? 48\n\t\t\t\t: undefined,\n\t\t// Add flex-basis so temporary sizes are respected.\n\t\tflexBasis: isFlexLayout ? sizeConditionalOnOrientation : undefined,\n\t\t// Remove flex-grow when resizing.\n\t\tflexGrow: isFlexLayout && isResizing ? 0 : undefined,\n\t};\n\n\tconst resizableBoxWithOrientation = ( blockOrientation ) => {\n\t\tif ( blockOrientation === 'horizontal' ) {\n\t\t\treturn (\n\t\t\t\t<ResizableSpacer\n\t\t\t\t\tminWidth={ MIN_SPACER_SIZE }\n\t\t\t\t\tenable={ {\n\t\t\t\t\t\ttop: false,\n\t\t\t\t\t\tright: true,\n\t\t\t\t\t\tbottom: false,\n\t\t\t\t\t\tleft: false,\n\t\t\t\t\t\ttopRight: false,\n\t\t\t\t\t\tbottomRight: false,\n\t\t\t\t\t\tbottomLeft: false,\n\t\t\t\t\t\ttopLeft: false,\n\t\t\t\t\t} }\n\t\t\t\t\torientation={ blockOrientation }\n\t\t\t\t\tonResizeStart={ onResizeStart }\n\t\t\t\t\tonResize={ setTemporaryWidth }\n\t\t\t\t\tonResizeStop={ handleOnHorizontalResizeStop }\n\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\tisResizing={ isResizing }\n\t\t\t\t\tsetIsResizing={ setIsResizing }\n\t\t\t\t/>\n\t\t\t);\n\t\t}\n\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<ResizableSpacer\n\t\t\t\t\tminHeight={ MIN_SPACER_SIZE }\n\t\t\t\t\tenable={ {\n\t\t\t\t\t\ttop: false,\n\t\t\t\t\t\tright: false,\n\t\t\t\t\t\tbottom: true,\n\t\t\t\t\t\tleft: false,\n\t\t\t\t\t\ttopRight: false,\n\t\t\t\t\t\tbottomRight: false,\n\t\t\t\t\t\tbottomLeft: false,\n\t\t\t\t\t\ttopLeft: false,\n\t\t\t\t\t} }\n\t\t\t\t\torientation={ blockOrientation }\n\t\t\t\t\tonResizeStart={ onResizeStart }\n\t\t\t\t\tonResize={ setTemporaryHeight }\n\t\t\t\t\tonResizeStop={ handleOnVerticalResizeStop }\n\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\tisResizing={ isResizing }\n\t\t\t\t\tsetIsResizing={ setIsResizing }\n\t\t\t\t/>\n\t\t\t</>\n\t\t);\n\t};\n\n\tuseEffect( () => {\n\t\t// To avoid interfering with undo/redo operations any changes in this\n\t\t// effect must not make history and should be preceded by\n\t\t// `__unstableMarkNextChangeAsNotPersistent()`.\n\t\tconst setAttributesCovertly = ( nextAttributes ) => {\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tsetAttributes( nextAttributes );\n\t\t};\n\n\t\tif (\n\t\t\tisFlexLayout &&\n\t\t\tselfStretch !== 'fill' &&\n\t\t\tselfStretch !== 'fit' &&\n\t\t\tflexSize === undefined\n\t\t) {\n\t\t\tif ( inheritedOrientation === 'horizontal' ) {\n\t\t\t\t// If spacer is moving from a vertical container to a horizontal container,\n\t\t\t\t// it might not have width but have height instead.\n\t\t\t\tconst newSize =\n\t\t\t\t\tgetCustomValueFromPreset( width, spacingSizes ) ||\n\t\t\t\t\tgetCustomValueFromPreset( height, spacingSizes ) ||\n\t\t\t\t\t'100px';\n\t\t\t\tsetAttributesCovertly( {\n\t\t\t\t\twidth: '0px',\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\t...blockStyle,\n\t\t\t\t\t\tlayout: {\n\t\t\t\t\t\t\t...layout,\n\t\t\t\t\t\t\tflexSize: newSize,\n\t\t\t\t\t\t\tselfStretch: 'fixed',\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t} );\n\t\t\t} else {\n\t\t\t\tconst newSize =\n\t\t\t\t\tgetCustomValueFromPreset( height, spacingSizes ) ||\n\t\t\t\t\tgetCustomValueFromPreset( width, spacingSizes ) ||\n\t\t\t\t\t'100px';\n\t\t\t\tsetAttributesCovertly( {\n\t\t\t\t\theight: '0px',\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\t...blockStyle,\n\t\t\t\t\t\tlayout: {\n\t\t\t\t\t\t\t...layout,\n\t\t\t\t\t\t\tflexSize: newSize,\n\t\t\t\t\t\t\tselfStretch: 'fixed',\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t} );\n\t\t\t}\n\t\t} else if (\n\t\t\tisFlexLayout &&\n\t\t\t( selfStretch === 'fill' || selfStretch === 'fit' )\n\t\t) {\n\t\t\tsetAttributesCovertly(\n\t\t\t\tinheritedOrientation === 'horizontal'\n\t\t\t\t\t? { width: undefined }\n\t\t\t\t\t: { height: undefined }\n\t\t\t);\n\t\t} else if ( ! isFlexLayout && ( selfStretch || flexSize ) ) {\n\t\t\tsetAttributesCovertly( {\n\t\t\t\t...( inheritedOrientation === 'horizontal'\n\t\t\t\t\t? { width: flexSize }\n\t\t\t\t\t: { height: flexSize } ),\n\t\t\t\tstyle: {\n\t\t\t\t\t...blockStyle,\n\t\t\t\t\tlayout: {\n\t\t\t\t\t\t...layout,\n\t\t\t\t\t\tflexSize: undefined,\n\t\t\t\t\t\tselfStretch: undefined,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t} );\n\t\t}\n\t}, [\n\t\tblockStyle,\n\t\tflexSize,\n\t\theight,\n\t\tinheritedOrientation,\n\t\tisFlexLayout,\n\t\tlayout,\n\t\tselfStretch,\n\t\tsetAttributes,\n\t\tspacingSizes,\n\t\twidth,\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t] );\n\n\tconst blockEditingMode = useBlockEditingMode();\n\n\treturn (\n\t\t<>\n\t\t\t<View\n\t\t\t\t{ ...useBlockProps( {\n\t\t\t\t\tstyle,\n\t\t\t\t\tclassName: clsx( className, {\n\t\t\t\t\t\t'custom-sizes-disabled': disableCustomSpacingSizes,\n\t\t\t\t\t} ),\n\t\t\t\t} ) }\n\t\t\t>\n\t\t\t\t{ blockEditingMode === 'default' &&\n\t\t\t\t\tresizableBoxWithOrientation( inheritedOrientation ) }\n\t\t\t</View>\n\t\t\t{ ! isFlexLayout && (\n\t\t\t\t<SpacerControls\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\theight={ temporaryHeight || height }\n\t\t\t\t\twidth={ temporaryWidth || width }\n\t\t\t\t\torientation={ inheritedOrientation }\n\t\t\t\t\tisResizing={ isResizing }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</>\n\t);\n};\n\nexport default SpacerEdit;\n"],
"mappings": "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",
"names": ["blockEditorPrivateApis", "clsx", "blockEditorStore", "SpacerControls"]
}