@gechiui/block-editor
Version:
69 lines (55 loc) • 1.69 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 _data = require("@gechiui/data");
var _blockTypesList = _interopRequireDefault(require("../block-types-list"));
var _useClipboardBlock = _interopRequireDefault(require("./hooks/use-clipboard-block"));
var _store = require("../../store");
var _useBlockTypeImpressions = _interopRequireDefault(require("./hooks/use-block-type-impressions"));
var _utils = require("./utils");
/**
* GeChiUI dependencies
*/
/**
* Internal dependencies
*/
function BlockTypesTab(_ref) {
let {
onSelect,
rootClientId,
listProps
} = _ref;
const clipboardBlock = (0, _useClipboardBlock.default)(rootClientId);
const {
blockTypes
} = (0, _data.useSelect)(select => {
const {
getInserterItems
} = select(_store.store);
const blockItems = (0, _utils.filterInserterItems)(getInserterItems(rootClientId));
return {
blockTypes: clipboardBlock ? [clipboardBlock, ...blockItems] : blockItems
};
}, [rootClientId]);
const {
items,
trackBlockTypeSelected
} = (0, _useBlockTypeImpressions.default)(blockTypes);
const handleSelect = function () {
trackBlockTypeSelected(...arguments);
onSelect(...arguments);
};
return (0, _element.createElement)(_blockTypesList.default, {
name: "Blocks",
items: items,
onSelect: handleSelect,
listProps: listProps
});
}
var _default = BlockTypesTab;
exports.default = _default;
//# sourceMappingURL=block-types-tab.native.js.map