UNPKG

@wordpress/block-library

Version:
150 lines (148 loc) 3.94 kB
"use strict"; 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 _i18n = require("@wordpress/i18n"); var _initBlock = _interopRequireDefault(require("../utils/init-block")); var _edit = _interopRequireDefault(require("./edit")); var _save = _interopRequireDefault(require("./save")); var _transforms = _interopRequireDefault(require("./transforms")); /** * WordPress dependencies */ /** * Internal dependencies */ const metadata = exports.metadata = { $schema: "https://schemas.wp.org/trunk/block.json", apiVersion: 3, name: "core/details", title: "Details", category: "text", description: "Hide and show additional content.", keywords: ["accordion", "summary", "toggle", "disclosure"], textdomain: "default", attributes: { showContent: { type: "boolean", "default": false }, summary: { type: "rich-text", source: "rich-text", selector: "summary", role: "content" }, name: { type: "string", source: "attribute", attribute: "name", selector: ".wp-block-details" }, allowedBlocks: { type: "array" }, placeholder: { type: "string" } }, supports: { __experimentalOnEnter: true, align: ["wide", "full"], anchor: true, color: { gradients: true, link: true, __experimentalDefaultControls: { background: true, text: true } }, __experimentalBorder: { color: true, width: true, style: true }, html: false, spacing: { margin: true, padding: true, blockGap: 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 } }, layout: { allowEditing: false }, interactivity: { clientNavigation: true } }, editorStyle: "wp-block-details-editor", style: "wp-block-details" }; const { name } = metadata; exports.name = name; const settings = exports.settings = { icon: _icons.details, example: { attributes: { summary: (0, _i18n.__)('La Mancha'), showContent: true }, innerBlocks: [{ name: 'core/paragraph', attributes: { content: (0, _i18n.__)('In a village of La Mancha, the name of which I have no desire to call to mind, there lived not long since one of those gentlemen that keep a lance in the lance-rack, an old buckler, a lean hack, and a greyhound for coursing.') } }] }, __experimentalLabel(attributes, { context }) { const { summary } = attributes; const customName = attributes?.metadata?.name; const hasSummary = summary?.trim().length > 0; // In the list view, use the block's summary as the label. // If the summary is empty, fall back to the default label. if (context === 'list-view' && (customName || hasSummary)) { return customName || summary; } if (context === 'accessibility') { return !hasSummary ? (0, _i18n.__)('Details. Empty.') : (0, _i18n.sprintf)(/* translators: accessibility text; summary title. */ (0, _i18n.__)('Details. %s'), summary); } }, save: _save.default, edit: _edit.default, transforms: _transforms.default }; const init = () => (0, _initBlock.default)({ name, metadata, settings }); exports.init = init; //# sourceMappingURL=index.js.map