@wordpress/block-library
Version:
Block library for the WordPress editor.
68 lines (66 loc) • 2.29 kB
JavaScript
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
;