UNPKG

@wordpress/block-library

Version:
68 lines (66 loc) 2.29 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = TitleModal; var _element = require("@wordpress/element"); var _i18n = require("@wordpress/i18n"); var _components = require("@wordpress/components"); var _jsxRuntime = require("react/jsx-runtime"); /** * WordPress dependencies */ function TitleModal({ areaLabel, onClose, onSubmit }) { // Restructure onCreate to set the blocks on local state. // Add modal to confirm title and trigger onCreate. const [title, setTitle] = (0, _element.useState)(''); const submitForCreation = event => { event.preventDefault(); onSubmit(title); }; return /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Modal, { title: (0, _i18n.sprintf)( // Translators: %s as template part area title ("Header", "Footer", etc.). (0, _i18n.__)('Create new %s'), areaLabel.toLowerCase()), onRequestClose: onClose, focusOnMount: "firstContentElement", size: "small", children: /*#__PURE__*/(0, _jsxRuntime.jsx)("form", { onSubmit: submitForCreation, children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.__experimentalVStack, { spacing: "5", children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_components.TextControl, { label: (0, _i18n.__)('Name'), value: title, onChange: setTitle, placeholder: (0, _i18n.__)('Custom Template Part'), __nextHasNoMarginBottom: true, __next40pxDefaultSize: true }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.__experimentalHStack, { justify: "right", children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Button, { __next40pxDefaultSize: true, variant: "tertiary", onClick: () => { onClose(); setTitle(''); }, children: (0, _i18n.__)('Cancel') }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Button, { variant: "primary", type: "submit", accessibleWhenDisabled: true, disabled: !title.length, __next40pxDefaultSize: true, children: (0, _i18n.__)('Create') })] })] }) }) }); } //# sourceMappingURL=title-modal.js.map