@wordpress/block-library
Version:
Block library for the WordPress editor.
152 lines (151 loc) • 3.12 kB
JavaScript
/**
* WordPress dependencies
*/
import { __ } from '@wordpress/i18n';
import { button as icon } from '@wordpress/icons';
/**
* Internal dependencies
*/
import initBlock from '../utils/init-block';
import deprecated from './deprecated';
import edit from './edit';
const metadata = {
$schema: "https://schemas.wp.org/trunk/block.json",
apiVersion: 2,
name: "core/button",
title: "Button",
category: "design",
parent: ["core/buttons"],
description: "Prompt visitors to take action with a button-style link.",
keywords: ["link"],
textdomain: "default",
attributes: {
url: {
type: "string",
source: "attribute",
selector: "a",
attribute: "href"
},
title: {
type: "string",
source: "attribute",
selector: "a",
attribute: "title"
},
text: {
type: "string",
source: "html",
selector: "a"
},
linkTarget: {
type: "string",
source: "attribute",
selector: "a",
attribute: "target"
},
rel: {
type: "string",
source: "attribute",
selector: "a",
attribute: "rel"
},
placeholder: {
type: "string"
},
backgroundColor: {
type: "string"
},
textColor: {
type: "string"
},
gradient: {
type: "string"
},
width: {
type: "number"
}
},
supports: {
anchor: true,
align: true,
alignWide: false,
color: {
__experimentalSkipSerialization: true,
gradients: true,
__experimentalDefaultControls: {
background: true,
text: true
}
},
typography: {
fontSize: true,
lineHeight: true,
__experimentalFontFamily: true,
__experimentalFontWeight: true,
__experimentalFontStyle: true,
__experimentalTextTransform: true,
__experimentalTextDecoration: true,
__experimentalLetterSpacing: true,
__experimentalDefaultControls: {
fontSize: true
}
},
reusable: false,
spacing: {
__experimentalSkipSerialization: true,
padding: ["horizontal", "vertical"],
__experimentalDefaultControls: {
padding: true
}
},
__experimentalBorder: {
radius: true,
__experimentalSkipSerialization: true,
__experimentalDefaultControls: {
radius: true
}
},
__experimentalSelector: ".wp-block-button .wp-block-button__link"
},
styles: [{
name: "fill",
label: "Fill",
isDefault: true
}, {
name: "outline",
label: "Outline"
}],
editorStyle: "wp-block-button-editor",
style: "wp-block-button"
};
import save from './save';
const {
name
} = metadata;
export { metadata, name };
export const settings = {
icon,
example: {
attributes: {
className: 'is-style-fill',
text: __('Call to Action')
}
},
edit,
save,
deprecated,
merge: (a, _ref) => {
let {
text = ''
} = _ref;
return { ...a,
text: (a.text || '') + text
};
}
};
export const init = () => initBlock({
name,
metadata,
settings
});
//# sourceMappingURL=index.js.map