@wordpress/block-library
Version:
Block library for the WordPress editor.
113 lines (112 loc) • 2.81 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 _icons = require("@wordpress/icons");
var _blockEditor = require("@wordpress/block-editor");
var _initBlock = _interopRequireDefault(require("../utils/init-block"));
var _edit = _interopRequireDefault(require("./edit"));
var _save = _interopRequireDefault(require("./save"));
var _transforms = _interopRequireDefault(require("./transforms"));
var _lockUnlock = require("../lock-unlock");
/**
* WordPress dependencies
*/
/**
* Internal dependencies
*/
const metadata = exports.metadata = {
$schema: "https://schemas.wp.org/trunk/block.json",
apiVersion: 3,
name: "core/list-item",
title: "List Item",
category: "text",
parent: ["core/list"],
allowedBlocks: ["core/list"],
description: "An individual item within a list.",
textdomain: "default",
attributes: {
placeholder: {
type: "string"
},
content: {
type: "rich-text",
source: "rich-text",
selector: "li",
role: "content"
}
},
supports: {
anchor: true,
className: false,
splitting: true,
__experimentalBorder: {
color: true,
radius: true,
style: true,
width: true
},
color: {
gradients: true,
link: true,
background: true,
__experimentalDefaultControls: {
text: true
}
},
spacing: {
margin: true,
padding: true,
__experimentalDefaultControls: {
margin: false,
padding: false
}
},
typography: {
fontSize: true,
lineHeight: true,
__experimentalFontFamily: true,
__experimentalFontWeight: true,
__experimentalFontStyle: true,
__experimentalTextTransform: true,
__experimentalTextDecoration: true,
__experimentalLetterSpacing: true,
__experimentalDefaultControls: {
fontSize: true
}
},
interactivity: {
clientNavigation: true
}
},
selectors: {
root: ".wp-block-list > li",
border: ".wp-block-list:not(.wp-block-list .wp-block-list) > li"
}
};
const {
name
} = metadata;
exports.name = name;
const settings = exports.settings = {
icon: _icons.listItem,
edit: _edit.default,
save: _save.default,
merge(attributes, attributesToMerge) {
return {
...attributes,
content: attributes.content + attributesToMerge.content
};
},
transforms: _transforms.default,
[(0, _lockUnlock.unlock)(_blockEditor.privateApis).requiresWrapperOnCopy]: true
};
const init = () => (0, _initBlock.default)({
name,
metadata,
settings
});
exports.init = init;
//# sourceMappingURL=index.js.map
;