@wordpress/block-editor
Version:
76 lines (70 loc) • 1.79 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = BorderStyleControl;
var _element = require("@wordpress/element");
var _components = require("@wordpress/components");
var _i18n = require("@wordpress/i18n");
/**
* WordPress dependencies
*/
const DEFAULT_STYLE = {
key: 'default',
name: (0, _i18n.__)('Default'),
style: {
borderStyle: undefined
}
};
const BORDER_STYLES = [DEFAULT_STYLE, {
key: 'none',
name: (0, _i18n.__)('None'),
style: {
borderStyle: 'none'
}
}, {
key: 'solid',
name: (0, _i18n.__)('Solid'),
style: {
borderStyle: 'solid'
}
}, {
key: 'dashed',
name: (0, _i18n.__)('Dashed'),
style: {
borderStyle: 'dashed'
}
}, {
key: 'dotted',
name: (0, _i18n.__)('Dotted'),
style: {
borderStyle: 'dotted'
}
}];
/**
* Control to display border style options.
*
* @param {Object} props Component props.
* @param {Object} props.onChange Handler for changing border style selection.
* @param {Object} props.value Currently selected border style value.
*
* @return {WPElement} Custom border style select control.
*/
function BorderStyleControl({
onChange,
value
}) {
const style = BORDER_STYLES.find(option => option.key === value);
return (0, _element.createElement)("fieldset", {
className: "components-border-style-control"
}, (0, _element.createElement)(_components.CustomSelectControl, {
className: "components-border-style-control__select",
label: (0, _i18n.__)('Border style'),
options: BORDER_STYLES,
value: style || DEFAULT_STYLE,
onChange: ({
selectedItem
}) => selectedItem.key === 'default' ? onChange(undefined) : onChange(selectedItem.key)
}));
}
//# sourceMappingURL=index.js.map