UNPKG

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
"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;