@spaced-out/ui-design-system
Version:
Sense UI components library
60 lines (59 loc) • 2.94 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.SearchInput = void 0;
var React = _interopRequireWildcard(require("react"));
var _classify = _interopRequireDefault(require("../../utils/classify"));
var _CircularLoader = require("../CircularLoader");
var _Input = require("../Input");
var _SearchInputModule = _interopRequireDefault(require("./SearchInput.module.css"));
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
const SearchInput = exports.SearchInput = /*#__PURE__*/React.forwardRef((_ref, ref) => {
let {
value,
disabled,
locked,
placeholder = 'Search...',
classNames,
onClear,
isLoading,
size,
iconLeftName = 'magnifying-glass',
...searchInputProps
} = _ref;
const handleClearClick = () => {
if (value && !(disabled || locked)) {
onClear?.();
}
};
return /*#__PURE__*/React.createElement("div", {
className: (0, _classify.default)(_SearchInputModule.default.searchInputWrapper, classNames?.wrapper)
}, /*#__PURE__*/React.createElement(_Input.Input, _extends({}, searchInputProps, {
type: "text",
ref: ref,
classNames: {
iconRight: value && !(disabled || locked) ? _SearchInputModule.default.clickable : '',
iconLeft: value && !disabled ? _SearchInputModule.default.primaryText : '',
box: classNames?.box
},
placeholder: placeholder,
value: value,
disabled: disabled,
locked: locked,
iconLeftName: iconLeftName,
size: size,
iconRightName: value && !(disabled || locked) ? 'xmark' : 'fw',
onIconRightClick: handleClearClick
})), isLoading && /*#__PURE__*/React.createElement("div", {
className: (0, _classify.default)(_SearchInputModule.default.loaderContainer, {
[_SearchInputModule.default.small]: size === 'small'
})
}, /*#__PURE__*/React.createElement(_CircularLoader.CircularLoader, {
colorToken: "colorFillPrimary",
className: _SearchInputModule.default.loader,
size: "small"
})));
});