UNPKG

@gechiui/block-editor

Version:
69 lines (55 loc) 1.69 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 _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