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
63 lines (62 loc) • 3.28 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _react = _interopRequireDefault(require("react"));
var _propTypes = _interopRequireDefault(require("prop-types"));
var _classnames = _interopRequireDefault(require("classnames"));
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 Switch = function Switch(_ref) {
var _classNames;
var checked = _ref.checked,
disabled = _ref.disabled,
id = _ref.id,
label = _ref.label,
toggleLabel = _ref.toggleLabel,
density = _ref.density,
align = _ref.align,
iconProps = _ref.iconProps;
var btnClasses = (0, _classnames.default)((_classNames = {}, _defineProperty(_classNames, "".concat(align), true), _defineProperty(_classNames, "".concat(density), true), _defineProperty(_classNames, "icon", !!iconProps), _classNames));
return /*#__PURE__*/_react.default.createElement(_styles.Wrapper, {
className: btnClasses,
icon: iconProps
}, /*#__PURE__*/_react.default.createElement("input", {
id: id,
type: "checkbox",
checked: checked,
disabled: disabled
}), /*#__PURE__*/_react.default.createElement("label", {
htmlFor: id
}, label), toggleLabel && /*#__PURE__*/_react.default.createElement("div", {
className: "switch-data",
"data-enabled": toggleLabel === null || toggleLabel === void 0 ? void 0 : toggleLabel.enabled,
"data-disabled": toggleLabel === null || toggleLabel === void 0 ? void 0 : toggleLabel.disabled
}));
};
Switch.propTypes = {
checked: _propTypes.default.bool,
disabled: _propTypes.default.bool,
id: _propTypes.default.string.isRequired,
label: _propTypes.default.string.isRequired,
toggleLabel: _propTypes.default.shape({
enabled: _propTypes.default.string,
disabled: _propTypes.default.string
}),
density: _propTypes.default.string,
align: _propTypes.default.string,
iconProps: _propTypes.default.shape({
enabled: _propTypes.default.string,
disabled: _propTypes.default.string
})
};
Switch.defaultProps = {
iconProps: null
};
var _default = Switch;
exports.default = _default;