UNPKG

react-instantsearch

Version:
46 lines (43 loc) • 1.83 kB
import { _ } from '@swc/helpers/esm/_object_without_properties.js'; import { createCompareBarComponent } from 'instantsearch-ui-components'; import React, { createElement, Fragment } from 'react'; import { useCompare } from 'react-instantsearch-core'; var CompareBarUiComponent = createCompareBarComponent({ createElement: createElement, Fragment: Fragment }); /** * Renders the comparison selection bar: the records picked for comparison, * a clear-selection action, and the "Compare" call-to-action that opens the * `<Chat>` widget with the comparison message. * * Select records from your own UI (e.g. a "Compare" button in your hit * component) with `useCompare().toggleItem(hit)` — the selection is shared * with this widget. */ function CompareBar(_0) { var classNames = _0.classNames, translations = _0.translations, itemComponent = _0.itemComponent, props = _(_0, [ "classNames", "translations", "itemComponent" ]); var _useCompare = useCompare(props, { $$widgetType: 'ais.compareBar' }), items = _useCompare.items, minItems = _useCompare.minItems, maxItems = _useCompare.maxItems, canCompare = _useCompare.canCompare, removeItem = _useCompare.removeItem, clearItems = _useCompare.clearItems, compare = _useCompare.compare; return /*#__PURE__*/ React.createElement(CompareBarUiComponent, { items: items, minItems: minItems, maxItems: maxItems, canCompare: canCompare, onCompare: function onCompare() { return compare(); }, onRemove: function onRemove(item) { return removeItem(item.objectID); }, onClear: clearItems, itemComponent: itemComponent, classNames: classNames, translations: translations }); } export { CompareBar };