UNPKG

@wordpress/block-library

Version:
91 lines (88 loc) 2.87 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = MoreEdit; var _i18n = require("@wordpress/i18n"); var _components = require("@wordpress/components"); var _blockEditor = require("@wordpress/block-editor"); var _keycodes = require("@wordpress/keycodes"); var _blocks = require("@wordpress/blocks"); var _hooks = require("../utils/hooks"); var _jsxRuntime = require("react/jsx-runtime"); /** * WordPress dependencies */ /** * Internal dependencies */ const DEFAULT_TEXT = (0, _i18n.__)('Read more'); function MoreEdit({ attributes: { customText, noTeaser }, insertBlocksAfter, setAttributes }) { const onChangeInput = event => { setAttributes({ customText: event.target.value }); }; const onKeyDown = ({ keyCode }) => { if (keyCode === _keycodes.ENTER) { insertBlocksAfter([(0, _blocks.createBlock)((0, _blocks.getDefaultBlockName)())]); } }; const getHideExcerptHelp = checked => checked ? (0, _i18n.__)('The excerpt is hidden.') : (0, _i18n.__)('The excerpt is visible.'); const toggleHideExcerpt = () => setAttributes({ noTeaser: !noTeaser }); const style = { width: `${(customText ? customText : DEFAULT_TEXT).length + 1.2}em` }; const dropdownMenuProps = (0, _hooks.useToolsPanelDropdownMenuProps)(); return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, { children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_blockEditor.InspectorControls, { children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.__experimentalToolsPanel, { label: (0, _i18n.__)('Settings'), resetAll: () => { setAttributes({ noTeaser: false }); }, dropdownMenuProps: dropdownMenuProps, children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.__experimentalToolsPanelItem, { label: (0, _i18n.__)('Hide excerpt'), isShownByDefault: true, hasValue: () => noTeaser, onDeselect: () => setAttributes({ noTeaser: false }), children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.ToggleControl, { __nextHasNoMarginBottom: true, label: (0, _i18n.__)('Hide the excerpt on the full content page'), checked: !!noTeaser, onChange: toggleHideExcerpt, help: getHideExcerptHelp }) }) }) }), /*#__PURE__*/(0, _jsxRuntime.jsx)("div", { ...(0, _blockEditor.useBlockProps)(), children: /*#__PURE__*/(0, _jsxRuntime.jsx)("input", { "aria-label": (0, _i18n.__)('“Read more” link text'), type: "text", value: customText, placeholder: DEFAULT_TEXT, onChange: onChangeInput, onKeyDown: onKeyDown, style: style }) })] }); } //# sourceMappingURL=edit.js.map