@wordpress/block-editor
Version:
84 lines (78 loc) • 2.29 kB
JavaScript
import { createElement } from "@wordpress/element";
/**
* WordPress dependencies
*/
import { __ } from '@wordpress/i18n';
import { Button } from '@wordpress/components';
import { chevronRight, chevronLeft, grid, stretchFullWidth } from '@wordpress/icons';
/**
* Internal dependencies
*/
import { VIEWMODES } from './constants';
const Actions = ({
onStartBlank,
onBlockPatternSelect
}) => createElement("div", {
className: "block-editor-block-pattern-setup__actions"
}, createElement(Button, {
onClick: onStartBlank
}, __('Start blank')), createElement(Button, {
isPrimary: true,
onClick: onBlockPatternSelect
}, __('Choose')));
const CarouselNavigation = ({
handlePrevious,
handleNext,
activeSlide,
totalSlides
}) => createElement("div", {
className: "block-editor-block-pattern-setup__navigation"
}, createElement(Button, {
icon: chevronLeft,
label: __('Previous pattern'),
onClick: handlePrevious,
disabled: activeSlide === 0
}), createElement(Button, {
icon: chevronRight,
label: __('Next pattern'),
onClick: handleNext,
disabled: activeSlide === totalSlides - 1
}));
const SetupToolbar = ({
viewMode,
setViewMode,
handlePrevious,
handleNext,
activeSlide,
totalSlides,
onBlockPatternSelect,
onStartBlank
}) => {
const isCarouselView = viewMode === VIEWMODES.carousel;
const displayControls = createElement("div", {
className: "block-editor-block-pattern-setup__display-controls"
}, createElement(Button, {
icon: stretchFullWidth,
label: __('Carousel view'),
onClick: () => setViewMode(VIEWMODES.carousel),
isPressed: isCarouselView
}), createElement(Button, {
icon: grid,
label: __('Grid view'),
onClick: () => setViewMode(VIEWMODES.grid),
isPressed: viewMode === VIEWMODES.grid
}));
return createElement("div", {
className: "block-editor-block-pattern-setup__toolbar"
}, isCarouselView && createElement(CarouselNavigation, {
handlePrevious: handlePrevious,
handleNext: handleNext,
activeSlide: activeSlide,
totalSlides: totalSlides
}), displayControls, isCarouselView && createElement(Actions, {
onBlockPatternSelect: onBlockPatternSelect,
onStartBlank: onStartBlank
}));
};
export default SetupToolbar;
//# sourceMappingURL=setup-toolbar.js.map