@up-group-ui/react-controls
Version:
Up shared react controls
59 lines • 2.36 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
var tslib_1 = require("tslib");
var jsx_runtime_1 = require("react/jsx-runtime");
var react_1 = (0, tslib_1.__importDefault)(require("react"));
var Input_1 = (0, tslib_1.__importDefault)(require("../Input"));
var _ = (0, tslib_1.__importStar)(require("lodash"));
var UpEmail = (function (_super) {
(0, tslib_1.__extends)(UpEmail, _super);
function UpEmail(p, c) {
var _this = _super.call(this, p, c) || this;
_this.emailHandleChangeEvent = function (event, value, error) {
_this.setState({ value: value, error: error }, function () {
if (_this.props.onChange) {
_this.props.onChange(event, value, error);
}
});
};
_this.state = {};
return _this;
}
Object.defineProperty(UpEmail.prototype, "isControlled", {
get: function () {
return this.props.value !== undefined;
},
enumerable: false,
configurable: true
});
Object.defineProperty(UpEmail.prototype, "currentValue", {
get: function () {
return this.isControlled ? this.props.value : this.state.value;
},
enumerable: false,
configurable: true
});
Object.defineProperty(UpEmail.prototype, "currentError", {
get: function () {
return this.isControlled ? this.props.error : this.state.error;
},
enumerable: false,
configurable: true
});
UpEmail.prototype.render = function () {
return ((0, jsx_runtime_1.jsx)(Input_1.default, (0, tslib_1.__assign)({}, this.props, { iconName: "email", value: this.currentValue, onChange: this.emailHandleChangeEvent, error: this.currentError, hasError: !_.isEmpty(this.currentError) }), void 0));
};
UpEmail.defaultProps = {
showError: true,
defaultValue: '',
validation: [
{
pattern: /^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/,
errorMessage: 'Le champ doit être un courriel',
},
],
};
return UpEmail;
}(react_1.default.Component));
exports.default = UpEmail;
//# sourceMappingURL=UpEmail.js.map