UNPKG

@gechiui/block-editor

Version:
79 lines (76 loc) 2.07 kB
import _extends from "@babel/runtime/helpers/esm/extends"; import { createElement } from "@gechiui/element"; /** * External dependencies */ import classnames from 'classnames'; /** * GeChiUI dependencies */ import { useSelect } from '@gechiui/data'; import { forwardRef } from '@gechiui/element'; /** * Internal dependencies */ import ListViewBlockSelectButton from './block-select-button'; import BlockDraggable from '../block-draggable'; import { store as blockEditorStore } from '../../store'; const ListViewBlockContents = forwardRef((_ref, ref) => { let { onClick, onToggleExpanded, block, isSelected, position, siblingBlockCount, level, ...props } = _ref; const { clientId } = block; const { blockMovingClientId, selectedBlockInBlockEditor } = useSelect(select => { const { getBlockRootClientId, hasBlockMovingClientId, getSelectedBlockClientId } = select(blockEditorStore); return { rootClientId: getBlockRootClientId(clientId) || '', blockMovingClientId: hasBlockMovingClientId(), selectedBlockInBlockEditor: getSelectedBlockClientId() }; }, [clientId]); const isBlockMoveTarget = blockMovingClientId && selectedBlockInBlockEditor === clientId; const className = classnames('block-editor-list-view-block-contents', { 'is-dropping-before': isBlockMoveTarget }); return createElement(BlockDraggable, { clientIds: [block.clientId] }, _ref2 => { let { draggable, onDragStart, onDragEnd } = _ref2; return createElement(ListViewBlockSelectButton, _extends({ ref: ref, className: className, block: block, onClick: onClick, onToggleExpanded: onToggleExpanded, isSelected: isSelected, position: position, siblingBlockCount: siblingBlockCount, level: level, draggable: draggable, onDragStart: onDragStart, onDragEnd: onDragEnd }, props)); }); }); export default ListViewBlockContents; //# sourceMappingURL=block-contents.js.map