UNPKG

@gechiui/block-editor

Version:
117 lines (95 loc) 3.4 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 _components = require("@gechiui/components"); var _data = require("@gechiui/data"); var _compose = require("@gechiui/compose"); var _blocks = require("@gechiui/blocks"); var _blockEditor = require("@gechiui/block-editor"); var _reactNative = require("react-native"); var _blockTitle = _interopRequireDefault(require("../block-title")); var _useBlockDisplayInformation = _interopRequireDefault(require("../use-block-display-information")); var _subdirectoryIcon = _interopRequireDefault(require("./subdirectory-icon")); var _store = require("../../store"); var _blockSelectionButton = _interopRequireDefault(require("./block-selection-button.scss")); /** * GeChiUI dependencies */ /** * External dependencies */ /** * Internal dependencies */ const BlockSelectionButton = _ref => { let { clientId, rootClientId, rootBlockIcon, isRTL } = _ref; const blockInformation = (0, _useBlockDisplayInformation.default)(clientId); return (0, _element.createElement)(_reactNative.View, { style: [_blockSelectionButton.default.selectionButtonContainer, rootClientId && _blockSelectionButton.default.densedPaddingLeft] }, (0, _element.createElement)(_reactNative.TouchableOpacity, { style: _blockSelectionButton.default.button, onPress: () => { /* Open BottomSheet with markup */ }, disabled: true /* Disable temporarily since onPress function is empty */ }, rootClientId && rootBlockIcon && [(0, _element.createElement)(_components.Icon, { key: "parent-icon", size: 24, icon: rootBlockIcon.src, fill: _blockSelectionButton.default.icon.color }), (0, _element.createElement)(_reactNative.View, { key: "subdirectory-icon", style: _blockSelectionButton.default.arrow }, (0, _element.createElement)(_subdirectoryIcon.default, { fill: _blockSelectionButton.default.arrow.color, isRTL: isRTL }))], (blockInformation === null || blockInformation === void 0 ? void 0 : blockInformation.icon) && (0, _element.createElement)(_blockEditor.BlockIcon, { size: 24, icon: blockInformation.icon, fill: _blockSelectionButton.default.icon.color }), (0, _element.createElement)(_reactNative.Text, { maxFontSizeMultiplier: 1.25, ellipsizeMode: "tail", numberOfLines: 1, style: _blockSelectionButton.default.selectionButtonTitle }, (0, _element.createElement)(_blockTitle.default, { clientId: clientId })))); }; var _default = (0, _compose.compose)([(0, _data.withSelect)((select, _ref2) => { let { clientId } = _ref2; const { getBlockRootClientId, getBlockName, getSettings } = select(_store.store); const rootClientId = getBlockRootClientId(clientId); if (!rootClientId) { return { clientId }; } const rootBlockName = getBlockName(rootClientId); const rootBlockType = (0, _blocks.getBlockType)(rootBlockName); const rootBlockIcon = rootBlockType ? rootBlockType.icon : {}; return { clientId, rootClientId, rootBlockIcon, isRTL: getSettings().isRTL }; })])(BlockSelectionButton); exports.default = _default; //# sourceMappingURL=block-selection-button.native.js.map