@tractorzoom/equipment-card
Version:
110 lines (94 loc) • 3.45 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _CancelRounded = _interopRequireDefault(require("@material-ui/icons/CancelRounded"));
var _IconButton = _interopRequireDefault(require("@material-ui/core/IconButton"));
var _InfoRounded = _interopRequireDefault(require("@material-ui/icons/InfoRounded"));
var _InputAdornment = _interopRequireDefault(require("@material-ui/core/InputAdornment"));
var _react = _interopRequireDefault(require("react"));
var _clsx = _interopRequireDefault(require("clsx"));
var _styles = _interopRequireDefault(require("./styles"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
const useEquipmentCard = props => {
const classes = (0, _styles.default)();
const {
InputLabelProps,
InputProps,
step,
suffixLabel,
suffixOnChange,
suffixOptions,
suffixValue,
...otherProps
} = props;
const labelClassName = otherProps.value && !otherProps.error ? classes.activeLabel : '';
const inputLabelPropsObj = { ...InputLabelProps,
className: InputLabelProps.className ? (0, _clsx.default)(labelClassName, InputLabelProps.className) : labelClassName
};
const inputPropsObj = {};
const clear = () => {
otherProps.onChange({
target: {
value: ''
}
});
};
const errorOrClearAdornment = otherProps.error ? /*#__PURE__*/_react.default.createElement(_InputAdornment.default, {
position: "end"
}, /*#__PURE__*/_react.default.createElement(_InfoRounded.default, {
className: classes.errorIcon
})) : otherProps.value && !otherProps.disabled ? /*#__PURE__*/_react.default.createElement(_InputAdornment.default, {
position: "end"
}, /*#__PURE__*/_react.default.createElement(_IconButton.default, {
onClick: clear
}, /*#__PURE__*/_react.default.createElement(_CancelRounded.default, {
className: classes.clearIcon
}))) : null;
const endAdornment = suffixLabel ? /*#__PURE__*/_react.default.createElement(_InputAdornment.default, {
className: classes.suffixLabel,
position: "end"
}, suffixLabel) : errorOrClearAdornment;
if ((otherProps === null || otherProps === void 0 ? void 0 : otherProps.type) === 'number') {
inputPropsObj.step = step;
}
if ((otherProps === null || otherProps === void 0 ? void 0 : otherProps.type) === 'date') {
inputLabelPropsObj.shrink = true;
}
const updatedInputProps = { ...InputProps,
className: (0, _clsx.default)(classes.input, {
[classes.optionsInput]: suffixOptions.length,
[InputProps.className]: Boolean(InputProps.className)
}),
classes: {
adornedEnd: classes.adornedEnd,
error: classes.error,
focused: classes.focused
},
disableUnderline: true,
endAdornment,
inputProps: inputPropsObj
};
return { ...otherProps,
optionsTextFieldClassName: suffixOptions.length ? classes.optionsTextField : '',
InputLabelProps: inputLabelPropsObj,
InputProps: updatedInputProps,
optionsSelectProps: {
className: classes.optionsSelect,
SelectProps: {
classes: {
select: classes.optionsSelectLabel
}
},
InputProps: {
className: classes.optionsSelectInput
},
options: suffixOptions,
onChange: suffixOnChange,
value: suffixValue
}
};
};
var _default = useEquipmentCard;
exports.default = _default;