UNPKG

@wordpress/block-library

Version:
104 lines (89 loc) 2.76 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.settings = exports.name = void 0; var _element = require("@wordpress/element"); var _lodash = require("lodash"); var _i18n = require("@wordpress/i18n"); var _blocks = require("@wordpress/blocks"); var _components = require("@wordpress/components"); var _edit = _interopRequireDefault(require("./edit")); /** * External dependencies */ /** * WordPress dependencies */ /** * Internal dependencies */ var name = 'core/more'; exports.name = name; var settings = { title: (0, _i18n._x)('More', 'block name'), description: (0, _i18n.__)('Content before this block will be shown in the excerpt on your archives page.'), icon: (0, _element.createElement)(_components.SVG, { viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg" }, (0, _element.createElement)(_components.Path, { fill: "none", d: "M0 0h24v24H0V0z" }), (0, _element.createElement)(_components.G, null, (0, _element.createElement)(_components.Path, { d: "M2 9v2h19V9H2zm0 6h5v-2H2v2zm7 0h5v-2H9v2zm7 0h5v-2h-5v2z" }))), category: 'layout', supports: { customClassName: false, className: false, html: false, multiple: false }, attributes: { customText: { type: 'string' }, noTeaser: { type: 'boolean', default: false } }, transforms: { from: [{ type: 'raw', schema: { 'wp-block': { attributes: ['data-block'] } }, isMatch: function isMatch(node) { return node.dataset && node.dataset.block === 'core/more'; }, transform: function transform(node) { var _node$dataset = node.dataset, customText = _node$dataset.customText, noTeaser = _node$dataset.noTeaser; var attrs = {}; // Don't copy unless defined and not an empty string if (customText) { attrs.customText = customText; } // Special handling for boolean if (noTeaser === '') { attrs.noTeaser = true; } return (0, _blocks.createBlock)('core/more', attrs); } }] }, edit: _edit.default, save: function save(_ref) { var attributes = _ref.attributes; var customText = attributes.customText, noTeaser = attributes.noTeaser; var moreTag = customText ? "<!--more ".concat(customText, "-->") : '<!--more-->'; var noTeaserTag = noTeaser ? '<!--noteaser-->' : ''; return (0, _element.createElement)(_element.RawHTML, null, (0, _lodash.compact)([moreTag, noTeaserTag]).join('\n')); } }; exports.settings = settings; //# sourceMappingURL=index.js.map