UNPKG

@wordpress/block-editor

Version:
75 lines (62 loc) 1.68 kB
import { createElement } from "@wordpress/element"; /** * WordPress dependencies */ import { symbol as reusableBlockIcon } from '@wordpress/icons'; import { useMemo } from '@wordpress/element'; import { TabPanel } from '@wordpress/components'; import { __ } from '@wordpress/i18n'; const blocksTab = { name: 'blocks', /* translators: Blocks tab title in the block inserter. */ title: __('Blocks') }; const patternsTab = { name: 'patterns', /* translators: Patterns tab title in the block inserter. */ title: __('Patterns') }; const reusableBlocksTab = { name: 'reusable', /* translators: Reusable blocks tab title in the block inserter. */ title: __('Reusable'), icon: reusableBlockIcon }; const mediaTab = { name: 'media', /* translators: Media tab title in the block inserter. */ title: __('Media') }; function InserterTabs({ children, showPatterns = false, showReusableBlocks = false, showMedia = false, onSelect, prioritizePatterns }) { const tabs = useMemo(() => { const tempTabs = []; if (prioritizePatterns && showPatterns) { tempTabs.push(patternsTab); } tempTabs.push(blocksTab); if (!prioritizePatterns && showPatterns) { tempTabs.push(patternsTab); } if (showMedia) { tempTabs.push(mediaTab); } if (showReusableBlocks) { tempTabs.push(reusableBlocksTab); } return tempTabs; }, [prioritizePatterns, showPatterns, showReusableBlocks, showMedia]); return createElement(TabPanel, { className: "block-editor-inserter__tabs", tabs: tabs, onSelect: onSelect }, children); } export default InserterTabs; //# sourceMappingURL=tabs.js.map