design-system-govbr-rnp
Version:
## Padrão Digital de Governo - React Biblioteca de componentes React que implementa o [Padrão Visual digital do governo](https://www.gov.br/ds/). O objetivo da biblioteca é facilitar a implementação e promover a padronização das interfaces de sistemas do
97 lines (96 loc) • 4.5 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _reactFontawesome = require("@fortawesome/react-fontawesome");
var _classnames = _interopRequireDefault(require("classnames"));
var _propTypes = _interopRequireDefault(require("prop-types"));
var _react = _interopRequireDefault(require("react"));
var _Feedback = _interopRequireDefault(require("../Feedback/Feedback"));
var _styles = require("./styles");
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
var Input = function Input(_ref) {
var _classNames;
var buttonProps = _ref.buttonProps,
density = _ref.density,
disabled = _ref.disabled,
feedback = _ref.feedback,
icon = _ref.icon,
id = _ref.id,
informativeText = _ref.informativeText,
label = _ref.label,
name = _ref.name,
placeholder = _ref.placeholder,
Ref = _ref.Ref,
required = _ref.required,
styles = _ref.styles,
type = _ref.type,
variant = _ref.variant;
var renderIconButton = function renderIconButton() {
return /*#__PURE__*/_react.default.createElement("button", {
onClick: buttonProps.onClick,
"aria-label": buttonProps.label
}, /*#__PURE__*/_react.default.createElement(_reactFontawesome.FontAwesomeIcon, {
icon: buttonProps.icon
}));
};
return /*#__PURE__*/_react.default.createElement(_styles.Wrapper, {
variant: variant,
density: density,
style: styles
}, /*#__PURE__*/_react.default.createElement("label", {
htmlFor: id
}, label), /*#__PURE__*/_react.default.createElement("div", {
className: "input-group"
}, icon && /*#__PURE__*/_react.default.createElement(_reactFontawesome.FontAwesomeIcon, {
"aria-hidden": "true",
className: "sided-icon",
icon: icon
}), /*#__PURE__*/_react.default.createElement("input", {
className: (0, _classnames.default)((_classNames = {
"with-icon": !!icon
}, _defineProperty(_classNames, "feedback-".concat(feedback ? feedback.type : ""), !!feedback), _defineProperty(_classNames, "disabled", disabled), _classNames)),
disabled: disabled,
id: id,
name: name,
placeholder: placeholder,
ref: Ref,
required: required,
type: type
})), buttonProps && renderIconButton(), feedback && /*#__PURE__*/_react.default.createElement(_Feedback.default, {
type: feedback.type,
message: feedback.message
}), informativeText && /*#__PURE__*/_react.default.createElement("p", null, informativeText));
};
Input.propTypes = {
buttonProps: _propTypes.default.shape({
icon: _propTypes.default.object,
label: _propTypes.default.string,
onClick: _propTypes.default.func
}),
density: _propTypes.default.string,
disabled: _propTypes.default.bool,
feedback: _propTypes.default.shape({
type: _propTypes.default.string,
message: _propTypes.default.string
}),
icon: _propTypes.default.object,
id: _propTypes.default.string,
informativeText: _propTypes.default.string,
label: _propTypes.default.string.isRequired,
name: _propTypes.default.string.isRequired,
placeholder: _propTypes.default.string,
ref: _propTypes.default.shape({
current: _propTypes.default.instanceOf(Element)
}),
required: _propTypes.default.bool,
styles: _propTypes.default.object,
type: _propTypes.default.string.isRequired
};
var _default = Input;
exports.default = _default;