@gechiui/block-editor
Version:
62 lines (54 loc) • 1.17 kB
JavaScript
/**
* GeChiUI dependencies
*/
import { useMemo } from '@gechiui/element';
import { TabPanel } from '@gechiui/components';
import { __ } from '@gechiui/i18n';
const blocksTab = {
name: 'blocks',
/* translators: Blocks tab title in the block inserter. */
title: __( '区块' ),
};
const patternsTab = {
name: 'patterns',
/* translators: Patterns tab title in the block inserter. */
title: __( '样板' ),
};
const reusableBlocksTab = {
name: 'reusable',
/* translators: Reusable blocks tab title in the block inserter. */
title: __( '可重用' ),
};
function InserterTabs( {
children,
showPatterns = false,
showReusableBlocks = false,
onSelect,
} ) {
const tabs = useMemo( () => {
const tempTabs = [ blocksTab ];
if ( showPatterns ) {
tempTabs.push( patternsTab );
}
if ( showReusableBlocks ) {
tempTabs.push( reusableBlocksTab );
}
return tempTabs;
}, [
blocksTab,
showPatterns,
patternsTab,
showReusableBlocks,
reusableBlocksTab,
] );
return (
<TabPanel
className="block-editor-inserter__tabs"
tabs={ tabs }
onSelect={ onSelect }
>
{ children }
</TabPanel>
);
}
export default InserterTabs;