@cbinsights/fds
Version:
Form: A design system by CB Insights
56 lines (47 loc) • 2 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = exports.SelectedValue = void 0;
var _react = _interopRequireDefault(require("react"));
var _utils = require("../utils");
var SelectedValue = function SelectedValue(_ref) {
var item = _ref.item,
selectProps = _ref.selectProps;
var text = item.text,
defaultType = item.defaultType,
isExpert = item.isExpert,
type = item.type;
var setCursorPosition = selectProps.setCursorPosition,
value = selectProps.value,
onSetSearchItems = selectProps.onSetSearchItems;
var itemIndex = Array.isArray(value) ? value.findIndex(function (i) {
return i === item;
}) : 0;
var handleClick = function handleClick() {
return setCursorPosition === null || setCursorPosition === void 0 ? void 0 : setCursorPosition(itemIndex + 1);
};
var handleDoubleClick = function handleDoubleClick() {
if (Array.isArray(value)) {
var deletedItem = value[itemIndex];
var newValues = value.filter(function (val) {
return val !== deletedItem;
});
setCursorPosition === null || setCursorPosition === void 0 ? void 0 : setCursorPosition(itemIndex);
onSetSearchItems === null || onSetSearchItems === void 0 ? void 0 : onSetSearchItems(newValues);
}
};
return /*#__PURE__*/_react.default.createElement("span", {
className: "".concat(type, " ").concat(type === 'bool' ? "".concat("bool".concat(text)) : ''),
role: "listitem",
onClick: handleClick,
onDoubleClick: handleDoubleClick,
"data-testid": "custom-selected-value"
}, text, type === 'entity' && /*#__PURE__*/_react.default.createElement("span", {
className: "color--secondary fontSize--xs margin--left--xs"
}, (0, _utils.getValueType)(defaultType, isExpert)));
};
exports.SelectedValue = SelectedValue;
var _default = SelectedValue;
exports.default = _default;