react-instantsearch
Version:
⚡ Lightning-fast search for React, by Algolia
51 lines (47 loc) • 3.05 kB
JavaScript
;
var _object_spread = require('@swc/helpers/_/_object_spread');
var _object_spread_props = require('@swc/helpers/_/_object_spread_props');
var _object_without_properties = require('@swc/helpers/_/_object_without_properties');
var instantsearchUiComponents = require('instantsearch-ui-components');
var React = require('react');
var capitalize = require('./lib/capitalize.js');
var isModifierClick = require('./lib/isModifierClick.js');
function CurrentRefinements(_0) {
var _0_classNames = _0.classNames, classNames = _0_classNames === void 0 ? {} : _0_classNames, _0_items = _0.items, items = _0_items === void 0 ? [] : _0_items, _0_hasRefinements = _0.hasRefinements, hasRefinements = _0_hasRefinements === void 0 ? false : _0_hasRefinements, props = _object_without_properties._(_0, [
"classNames",
"items",
"hasRefinements"
]);
return /*#__PURE__*/ React.createElement("div", _object_spread_props._(_object_spread._({}, props), {
className: instantsearchUiComponents.cx('ais-CurrentRefinements', classNames.root, !hasRefinements && instantsearchUiComponents.cx('ais-CurrentRefinements--noRefinement', classNames.noRefinementRoot), props.className)
}), /*#__PURE__*/ React.createElement("ul", {
className: instantsearchUiComponents.cx('ais-CurrentRefinements-list', classNames.list, /* @MAJOR remove to ensure conformity with InstantSearch.css specs */ !hasRefinements && instantsearchUiComponents.cx('ais-CurrentRefinements-list--noRefinement', classNames.noRefinementList))
}, items.map(function(item) {
return /*#__PURE__*/ React.createElement("li", {
key: [
item.indexName,
item.label
].join('/'),
className: instantsearchUiComponents.cx('ais-CurrentRefinements-item', classNames.item)
}, /*#__PURE__*/ React.createElement("span", {
className: instantsearchUiComponents.cx('ais-CurrentRefinements-label', classNames.label)
}, capitalize.capitalize(item.label), ":", ' '), item.refinements.map(function(refinement) {
return /*#__PURE__*/ React.createElement("span", {
key: refinement.label,
className: instantsearchUiComponents.cx('ais-CurrentRefinements-category', classNames.category)
}, /*#__PURE__*/ React.createElement("span", {
className: instantsearchUiComponents.cx('ais-CurrentRefinements-categoryLabel', classNames.categoryLabel)
}, refinement.label), /*#__PURE__*/ React.createElement("button", {
type: "button",
onClick: function onClick(event) {
if (isModifierClick.isModifierClick(event)) {
return;
}
item.refine(refinement);
},
className: instantsearchUiComponents.cx('ais-CurrentRefinements-delete', classNames.delete)
}, "✕"));
}));
})));
}
exports.CurrentRefinements = CurrentRefinements;