@gechiui/block-editor
Version:
117 lines (95 loc) • 3.4 kB
JavaScript
;
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