UNPKG

@gechiui/block-editor

Version:
54 lines (48 loc) 1.35 kB
import { createElement } from "@gechiui/element"; /** * GeChiUI dependencies */ import { useSelect } from '@gechiui/data'; /** * Internal dependencies */ import BlockTypesList from '../block-types-list'; import useClipboardBlock from './hooks/use-clipboard-block'; import { store as blockEditorStore } from '../../store'; import useBlockTypeImpressions from './hooks/use-block-type-impressions'; import { filterInserterItems } from './utils'; function BlockTypesTab(_ref) { let { onSelect, rootClientId, listProps } = _ref; const clipboardBlock = useClipboardBlock(rootClientId); const { blockTypes } = useSelect(select => { const { getInserterItems } = select(blockEditorStore); const blockItems = filterInserterItems(getInserterItems(rootClientId)); return { blockTypes: clipboardBlock ? [clipboardBlock, ...blockItems] : blockItems }; }, [rootClientId]); const { items, trackBlockTypeSelected } = useBlockTypeImpressions(blockTypes); const handleSelect = function () { trackBlockTypeSelected(...arguments); onSelect(...arguments); }; return createElement(BlockTypesList, { name: "Blocks", items: items, onSelect: handleSelect, listProps: listProps }); } export default BlockTypesTab; //# sourceMappingURL=block-types-tab.native.js.map