UNPKG

@wordpress/editor

Version:
61 lines (57 loc) 1.8 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = CreateNewTemplate; var _components = require("@wordpress/components"); var _i18n = require("@wordpress/i18n"); var _data = require("@wordpress/data"); var _coreData = require("@wordpress/core-data"); var _element = require("@wordpress/element"); var _createNewTemplateModal = _interopRequireDefault(require("./create-new-template-modal")); var _hooks = require("./hooks"); var _jsxRuntime = require("react/jsx-runtime"); /** * WordPress dependencies */ /** * Internal dependencies */ function CreateNewTemplate({ onClick }) { const { canCreateTemplates } = (0, _data.useSelect)(select => { const { canUser } = select(_coreData.store); return { canCreateTemplates: canUser('create', { kind: 'postType', name: 'wp_template' }) }; }, []); const [isCreateModalOpen, setIsCreateModalOpen] = (0, _element.useState)(false); const allowSwitchingTemplate = (0, _hooks.useAllowSwitchingTemplates)(); // The default template in a post is indicated by an empty string. if (!canCreateTemplates || !allowSwitchingTemplate) { return null; } return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, { children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_components.MenuItem, { onClick: () => { setIsCreateModalOpen(true); }, children: (0, _i18n.__)('Create new template') }), isCreateModalOpen && /*#__PURE__*/(0, _jsxRuntime.jsx)(_createNewTemplateModal.default, { onClose: () => { setIsCreateModalOpen(false); onClick(); } })] }); } //# sourceMappingURL=create-new-template.js.map