@gechiui/block-editor
Version:
74 lines (69 loc) • 1.69 kB
JavaScript
/**
* GeChiUI dependencies
*/
import { Button, SearchControl } from '@gechiui/components';
import { __ } from '@gechiui/i18n';
function PatternCategoriesList( {
selectedCategory,
patternCategories,
onClickCategory,
} ) {
const baseClassName = 'block-editor-block-patterns-explorer__sidebar';
return (
<div className={ `${ baseClassName }__categories-list` }>
{ patternCategories.map( ( { name, label } ) => {
return (
<Button
key={ name }
label={ label }
className={ `${ baseClassName }__categories-list__item` }
isPressed={ selectedCategory === name }
onClick={ () => {
onClickCategory( name );
} }
>
{ label }
</Button>
);
} ) }
</div>
);
}
function PatternsExplorerSearch( { filterValue, setFilterValue } ) {
const baseClassName = 'block-editor-block-patterns-explorer__search';
return (
<div className={ baseClassName }>
<SearchControl
onChange={ setFilterValue }
value={ filterValue }
label={ __( '搜索区块样板' ) }
placeholder={ __( '搜索' ) }
/>
</div>
);
}
function PatternExplorerSidebar( {
selectedCategory,
patternCategories,
onClickCategory,
filterValue,
setFilterValue,
} ) {
const baseClassName = 'block-editor-block-patterns-explorer__sidebar';
return (
<div className={ baseClassName }>
<PatternsExplorerSearch
filterValue={ filterValue }
setFilterValue={ setFilterValue }
/>
{ ! filterValue && (
<PatternCategoriesList
selectedCategory={ selectedCategory }
patternCategories={ patternCategories }
onClickCategory={ onClickCategory }
/>
) }
</div>
);
}
export default PatternExplorerSidebar;