UNPKG

@gechiui/block-editor

Version:
78 lines (62 loc) 1.95 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 _searchItems = require("./search-items"); var _blockTypesList = _interopRequireDefault(require("../block-types-list")); var _noResults = _interopRequireDefault(require("./no-results")); var _store = require("../../store"); var _useBlockTypeImpressions = _interopRequireDefault(require("./hooks/use-block-type-impressions")); var _utils = require("./utils"); /** * GeChiUI dependencies */ /** * Internal dependencies */ function InserterSearchResults(_ref) { let { filterValue, onSelect, listProps, rootClientId, isFullScreen } = _ref; const { blockTypes } = (0, _data.useSelect)(select => { const allItems = select(_store.store).getInserterItems(rootClientId); const availableItems = (0, _utils.filterInserterItems)(allItems, { allowReusable: true }); const filteredItems = (0, _searchItems.searchItems)(availableItems, filterValue); return { blockTypes: filteredItems }; }, [rootClientId, filterValue]); const { items, trackBlockTypeSelected } = (0, _useBlockTypeImpressions.default)(blockTypes); if (!items || (items === null || items === void 0 ? void 0 : items.length) === 0) { return (0, _element.createElement)(_noResults.default, null); } const handleSelect = function () { trackBlockTypeSelected(...arguments); onSelect(...arguments); }; return (0, _element.createElement)(_blockTypesList.default, { name: "Blocks", initialNumToRender: isFullScreen ? 10 : 3, items, onSelect: handleSelect, listProps }); } var _default = InserterSearchResults; exports.default = _default; //# sourceMappingURL=search-results.native.js.map