UNPKG

@gechiui/block-editor

Version:
187 lines (152 loc) 7.34 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _element = require("@gechiui/element"); var _i18n = require("@gechiui/i18n"); var _blocks = require("@gechiui/blocks"); var _components = require("@gechiui/components"); var _data = require("@gechiui/data"); var _skipToSelectedBlock = _interopRequireDefault(require("../skip-to-selected-block")); var _blockCard = _interopRequireDefault(require("../block-card")); var _inspectorControls = _interopRequireWildcard(require("../inspector-controls")); var _blockStyles = _interopRequireDefault(require("../block-styles")); var _multiSelectionInspector = _interopRequireDefault(require("../multi-selection-inspector")); var _defaultStylePicker = _interopRequireDefault(require("../default-style-picker")); var _blockVariationTransforms = _interopRequireDefault(require("../block-variation-transforms")); var _useBlockDisplayInformation = _interopRequireDefault(require("../use-block-display-information")); var _store = require("../../store"); function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); } function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } /** * GeChiUI dependencies */ /** * Internal dependencies */ const BlockInspector = _ref => { let { showNoBlockSelectedMessage = true, bubblesVirtually = true } = _ref; const { count, hasBlockStyles, selectedBlockName, selectedBlockClientId, blockType } = (0, _data.useSelect)(select => { const { getSelectedBlockClientId, getSelectedBlockCount, getBlockName } = select(_store.store); const { getBlockStyles } = select(_blocks.store); const _selectedBlockClientId = getSelectedBlockClientId(); const _selectedBlockName = _selectedBlockClientId && getBlockName(_selectedBlockClientId); const _blockType = _selectedBlockName && (0, _blocks.getBlockType)(_selectedBlockName); const blockStyles = _selectedBlockName && getBlockStyles(_selectedBlockName); return { count: getSelectedBlockCount(), selectedBlockClientId: _selectedBlockClientId, selectedBlockName: _selectedBlockName, blockType: _blockType, hasBlockStyles: blockStyles && blockStyles.length > 0 }; }, []); if (count > 1) { return (0, _element.createElement)("div", { className: "block-editor-block-inspector" }, (0, _element.createElement)(_multiSelectionInspector.default, null), (0, _element.createElement)(_inspectorControls.default.Slot, null), (0, _element.createElement)(_inspectorControls.default.Slot, { __experimentalGroup: "typography", label: (0, _i18n.__)('排版') }), (0, _element.createElement)(_inspectorControls.default.Slot, { __experimentalGroup: "dimensions", label: (0, _i18n.__)('尺寸') }), (0, _element.createElement)(_inspectorControls.default.Slot, { __experimentalGroup: "border", label: (0, _i18n.__)('边框') })); } const isSelectedBlockUnregistered = selectedBlockName === (0, _blocks.getUnregisteredTypeHandlerName)(); /* * If the selected block is of an unregistered type, avoid showing it as an actual selection * because we want the user to focus on the unregistered block warning, not block settings. */ if (!blockType || !selectedBlockClientId || isSelectedBlockUnregistered) { if (showNoBlockSelectedMessage) { return (0, _element.createElement)("span", { className: "block-editor-block-inspector__no-blocks" }, (0, _i18n.__)('未选择区块。')); } return null; } return (0, _element.createElement)(BlockInspectorSingleBlock, { clientId: selectedBlockClientId, blockName: blockType.name, hasBlockStyles: hasBlockStyles, bubblesVirtually: bubblesVirtually }); }; const BlockInspectorSingleBlock = _ref2 => { let { clientId, blockName, hasBlockStyles, bubblesVirtually } = _ref2; const blockInformation = (0, _useBlockDisplayInformation.default)(clientId); return (0, _element.createElement)("div", { className: "block-editor-block-inspector" }, (0, _element.createElement)(_blockCard.default, blockInformation), (0, _element.createElement)(_blockVariationTransforms.default, { blockClientId: clientId }), hasBlockStyles && (0, _element.createElement)("div", null, (0, _element.createElement)(_components.PanelBody, { title: (0, _i18n.__)('样式') }, (0, _element.createElement)(_blockStyles.default, { clientId: clientId }), (0, _blocks.hasBlockSupport)(blockName, 'defaultStylePicker', true) && (0, _element.createElement)(_defaultStylePicker.default, { blockName: blockName }))), (0, _element.createElement)(_inspectorControls.default.Slot, { bubblesVirtually: bubblesVirtually }), (0, _element.createElement)(_inspectorControls.default.Slot, { __experimentalGroup: "typography", bubblesVirtually: bubblesVirtually, label: (0, _i18n.__)('排版') }), (0, _element.createElement)(_inspectorControls.default.Slot, { __experimentalGroup: "dimensions", bubblesVirtually: bubblesVirtually, label: (0, _i18n.__)('尺寸') }), (0, _element.createElement)(_inspectorControls.default.Slot, { __experimentalGroup: "border", label: (0, _i18n.__)('边框') }), (0, _element.createElement)("div", null, (0, _element.createElement)(AdvancedControls, { bubblesVirtually: bubblesVirtually })), (0, _element.createElement)(_skipToSelectedBlock.default, { key: "back" })); }; const AdvancedControls = _ref3 => { let { bubblesVirtually } = _ref3; const slot = (0, _components.__experimentalUseSlot)(_inspectorControls.InspectorAdvancedControls.slotName); const hasFills = Boolean(slot.fills && slot.fills.length); if (!hasFills) { return null; } return (0, _element.createElement)(_components.PanelBody, { className: "block-editor-block-inspector__advanced", title: (0, _i18n.__)('高级'), initialOpen: false }, (0, _element.createElement)(_inspectorControls.default.Slot, { __experimentalGroup: "advanced", bubblesVirtually: bubblesVirtually })); }; var _default = BlockInspector; exports.default = _default; //# sourceMappingURL=index.js.map