@vtex/styleguide
Version:
> VTEX Styleguide React components ([Docs](https://vtex.github.io/styleguide))
104 lines (78 loc) • 3.1 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
var _react = require("react");
var _react2 = _interopRequireDefault(_react);
var _propTypes = require("prop-types");
var _propTypes2 = _interopRequireDefault(_propTypes);
var _Input = require("../Input");
var _Input2 = _interopRequireDefault(_Input);
var _VisibilityOn = require("../icon/VisibilityOn");
var _VisibilityOn2 = _interopRequireDefault(_VisibilityOn);
var _VisibilityOff = require("../icon/VisibilityOff");
var _VisibilityOff2 = _interopRequireDefault(_VisibilityOff);
var _withForwardedRef = require("../../modules/withForwardedRef");
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; }
var InputPassword =
/*#__PURE__*/
function (_Component) {
_inheritsLoose(InputPassword, _Component);
function InputPassword() {
var _this;
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
args[_key] = arguments[_key];
}
_this = _Component.call.apply(_Component, [this].concat(args)) || this;
_this.state = {
showPassword: false
};
_this.toggle = function () {
return _this.setState(function (state) {
return {
showPassword: !state.showPassword
};
});
};
return _this;
}
var _proto = InputPassword.prototype;
_proto.render = function render() {
var _this2 = this;
var iconSize = InputPassword.iconSizes[this.props.size] || InputPassword.iconSizes.default;
return _react2.default.createElement(_Input2.default, _extends({}, this.props, {
type: this.state.showPassword ? 'text' : 'password',
token: true,
spellCheck: "false",
suffix: _react2.default.createElement("span", {
className: "pointer pt2",
onClick: function onClick() {
return _this2.toggle();
}
}, this.state.showPassword ? _react2.default.createElement(_VisibilityOff2.default, {
solid: true,
size: iconSize
}) : _react2.default.createElement(_VisibilityOn2.default, {
solid: true,
size: iconSize
}))
}));
};
return InputPassword;
}(_react.Component);
InputPassword.iconSizes = {
small: 14,
default: 16,
large: 18,
'x-large': 22
};
InputPassword.propTypes = {
/** @ignore Forwarded Ref */
forwardedRef: _withForwardedRef.refShape,
onChange: _propTypes2.default.func,
size: _propTypes2.default.string,
value: _propTypes2.default.string
};
exports.default = (0, _withForwardedRef.withForwardedRef)(InputPassword);