UNPKG

@wordpress/block-editor

Version:
55 lines (51 loc) 1.68 kB
import { createElement } from "@wordpress/element"; /** * External dependencies */ import classnames from 'classnames'; /** * WordPress dependencies */ import { __ } from '@wordpress/i18n'; import { Button, Placeholder } from '@wordpress/components'; import { layout } from '@wordpress/icons'; function BlockVariationPicker({ icon = layout, label = __('Choose variation'), instructions = __('Select a variation to start with.'), variations, onSelect, allowSkip }) { const classes = classnames('block-editor-block-variation-picker', { 'has-many-variations': variations.length > 4 }); return createElement(Placeholder, { icon: icon, label: label, instructions: instructions, className: classes }, createElement("ul", { className: "block-editor-block-variation-picker__variations", role: "list", "aria-label": __('Block variations') }, variations.map(variation => createElement("li", { key: variation.name }, createElement(Button, { variant: "secondary", icon: variation.icon && variation.icon.src ? variation.icon.src : variation.icon, iconSize: 48, onClick: () => onSelect(variation), className: "block-editor-block-variation-picker__variation", label: variation.description || variation.title }), createElement("span", { className: "block-editor-block-variation-picker__variation-label" }, variation.title)))), allowSkip && createElement("div", { className: "block-editor-block-variation-picker__skip" }, createElement(Button, { variant: "link", onClick: () => onSelect() }, __('Skip')))); } export default BlockVariationPicker; //# sourceMappingURL=index.js.map