@wordpress/block-editor
Version:
70 lines (65 loc) • 1.81 kB
JavaScript
import { createElement } from "@wordpress/element";
/**
* WordPress dependencies
*/
import { Button, SearchControl } from '@wordpress/components';
import { __ } from '@wordpress/i18n';
function PatternCategoriesList({
selectedCategory,
patternCategories,
onClickCategory
}) {
const baseClassName = 'block-editor-block-patterns-explorer__sidebar';
return createElement("div", {
className: `${baseClassName}__categories-list`
}, patternCategories.map(({
name,
label
}) => {
return createElement(Button, {
key: name,
label: label,
className: `${baseClassName}__categories-list__item`,
isPressed: selectedCategory === name,
onClick: () => {
onClickCategory(name);
}
}, label);
}));
}
function PatternsExplorerSearch({
filterValue,
setFilterValue
}) {
const baseClassName = 'block-editor-block-patterns-explorer__search';
return createElement("div", {
className: baseClassName
}, createElement(SearchControl, {
__nextHasNoMarginBottom: true,
onChange: setFilterValue,
value: filterValue,
label: __('Search for patterns'),
placeholder: __('Search')
}));
}
function PatternExplorerSidebar({
selectedCategory,
patternCategories,
onClickCategory,
filterValue,
setFilterValue
}) {
const baseClassName = 'block-editor-block-patterns-explorer__sidebar';
return createElement("div", {
className: baseClassName
}, createElement(PatternsExplorerSearch, {
filterValue: filterValue,
setFilterValue: setFilterValue
}), !filterValue && createElement(PatternCategoriesList, {
selectedCategory: selectedCategory,
patternCategories: patternCategories,
onClickCategory: onClickCategory
}));
}
export default PatternExplorerSidebar;
//# sourceMappingURL=sidebar.js.map