@wordpress/block-library
Version:
Block library for the WordPress editor.
161 lines (140 loc) • 3.8 kB
JavaScript
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.settings = exports.name = exports.metadata = exports.init = void 0;
var _lodash = require("lodash");
var _icons = require("@wordpress/icons");
var _i18n = require("@wordpress/i18n");
var _initBlock = _interopRequireDefault(require("../utils/init-block"));
var _deprecated = _interopRequireDefault(require("./deprecated"));
var _edit = _interopRequireDefault(require("./edit"));
var _save = _interopRequireDefault(require("./save"));
var _transforms = _interopRequireDefault(require("./transforms"));
/**
* External dependencies
*/
/**
* WordPress dependencies
*/
/**
* Internal dependencies
*/
const metadata = {
$schema: "https://schemas.wp.org/trunk/block.json",
apiVersion: 2,
name: "core/heading",
title: "Heading",
category: "text",
description: "Introduce new sections and organize content to help visitors (and search engines) understand the structure of your content.",
keywords: ["title", "subtitle"],
textdomain: "default",
attributes: {
textAlign: {
type: "string"
},
content: {
type: "string",
source: "html",
selector: "h1,h2,h3,h4,h5,h6",
"default": "",
__experimentalRole: "content"
},
level: {
type: "number",
"default": 2
},
placeholder: {
type: "string"
}
},
supports: {
align: ["wide", "full"],
anchor: true,
className: false,
color: {
gradients: true,
link: true,
__experimentalDefaultControls: {
background: true,
text: true
}
},
spacing: {
margin: true,
padding: true
},
typography: {
fontSize: true,
lineHeight: true,
__experimentalFontFamily: true,
__experimentalFontStyle: true,
__experimentalFontWeight: true,
__experimentalLetterSpacing: true,
__experimentalTextTransform: true,
__experimentalTextDecoration: true,
__experimentalDefaultControls: {
fontSize: true,
fontAppearance: true,
textTransform: true
}
},
__experimentalSelector: "h1,h2,h3,h4,h5,h6",
__unstablePasteTextInline: true,
__experimentalSlashInserter: true
},
editorStyle: "wp-block-heading-editor",
style: "wp-block-heading"
};
exports.metadata = metadata;
const {
name
} = metadata;
exports.name = name;
const settings = {
icon: _icons.heading,
example: {
attributes: {
content: (0, _i18n.__)('Code is Poetry'),
level: 2
}
},
__experimentalLabel(attributes, _ref) {
let {
context
} = _ref;
const {
content,
level
} = attributes; // In the list view, use the block's content as the label.
// If the content is empty, fall back to the default label.
if (context === 'list-view' && content) {
return content;
}
if (context === 'accessibility') {
return (0, _lodash.isEmpty)(content) ? (0, _i18n.sprintf)(
/* translators: accessibility text. %s: heading level. */
(0, _i18n.__)('Level %s. Empty.'), level) : (0, _i18n.sprintf)(
/* translators: accessibility text. 1: heading level. 2: heading content. */
(0, _i18n.__)('Level %1$s. %2$s'), level, content);
}
},
transforms: _transforms.default,
deprecated: _deprecated.default,
merge(attributes, attributesToMerge) {
return {
content: (attributes.content || '') + (attributesToMerge.content || '')
};
},
edit: _edit.default,
save: _save.default
};
exports.settings = settings;
const init = () => (0, _initBlock.default)({
name,
metadata,
settings
});
exports.init = init;
//# sourceMappingURL=index.js.map
;