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
27 lines (26 loc) • 5.24 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.SelectIcon = exports.SelectBox = exports.List = exports.Container = exports.ButtonIcon = void 0;
var _styledComponents = _interopRequireDefault(require("styled-components"));
var _reactFontawesome = require("@fortawesome/react-fontawesome");
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5;
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
var SelectBox = _styledComponents.default.div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n height: calc(var(--spacing-scale-5x) + 2px);\n width: 100%;\n border-radius: 5px;\n padding: 0px 0px;\n border: 1px solid var(--gray-80);\n display: flex;\n background: var(--pure-0);\n cursor: text;\n\n & input[type=\"text\"] {\n height: var(--spacing-scale-5x);\n width: 100%;\n border: none;\n padding: 0px 10px;\n border-radius: 5px;\n font-size: var(--font-size-scale-up-01);\n }\n\n &:hover {\n background-image: linear-gradient(\n rgba(var(--rgb-secondary-08), 0.16),\n rgba(var(--rgb-secondary-08), 0.16)\n );\n }\n\n &:hover > input {\n background-image: linear-gradient(\n rgba(var(--rgb-secondary-08), 0.16),\n rgba(var(--rgb-secondary-08), 0.16)\n );\n }\n"])));
exports.SelectBox = SelectBox;
var ButtonIcon = _styledComponents.default.button(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n border: none;\n display: inline-block;\n align-items: center;\n justify-content: center;\n margin: 5px 5px;\n background: none;\n cursor: pointer;\n border-radius: 50%;\n width: 35px;\n\n &:hover {\n background-image: linear-gradient(\n rgba(var(--rgb-primary-default), 0.16),\n rgba(var(--rgb-primary-default), 0.16)\n );\n }\n\n &.rotate #svg {\n transform: rotate(180deg);\n transform-origin: 12px 8px;\n }\n"])));
exports.ButtonIcon = ButtonIcon;
var SelectIcon = (0, _styledComponents.default)(_reactFontawesome.FontAwesomeIcon)(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n font-size: var(--icon-size-base);\n color: var(--blue-warm-vivid-80);\n margin-top: 3px;\n"])));
exports.SelectIcon = SelectIcon;
var List = _styledComponents.default.div(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n display: none;\n border-top: 1px solid transparent;\n margin-top: 38px;\n max-height: ", ";\n overflow: auto;\n background-color: var(--pure-0);\n position: absolute;\n z-index: 999;\n box-shadow: var(--surface-blur-none) var(--surface-offset-md)\n var(--surface-blur-lg)\n rgba(var(--surface-shadow-color), var(--surface-opacity-xs));\n\n &::-webkit-scrollbar {\n width: 8px;\n }\n\n &::-webkit-scrollbar-track {\n background: var(--gray-20);\n }\n\n &::-webkit-scrollbar-thumb {\n background-color: var(--gray-40);\n }\n\n &.show {\n display: block;\n }\n\n & input[type=\"radio\"] {\n display: none;\n }\n\n & input[type=\"radio\"] + label {\n display: block;\n width: calc(100% - var(--spacing-scale-2x));\n cursor: pointer;\n padding: var(--spacing-scale-2x) var(--spacing-scale-2x);\n }\n\n & input:checked[type=\"radio\"] + label {\n background-color: var(--blue-warm-vivid-50);\n color: var(--color-secondary-01);\n }\n\n & label {\n margin-bottom: 0px;\n display: flex;\n cursor: pointer;\n padding: var(--spacing-scale-2x) var(--spacing-scale-baseh);\n border-top: 1px solid var(--rgb-secondary-04);\n }\n\n & label.checked {\n background-color: var(--blue-warm-vivid-50);\n color: var(--color-secondary-01);\n }\n\n & li,\n ul {\n list-style-type: none;\n margin-block-start: 0;\n margin-block-end: 0;\n padding-inline-start: 0;\n }\n\n & label:focus,\n li:focus {\n outline: none;\n background-image: linear-gradient(\n rgba(var(--rgb-secondary-08), 0.16),\n rgba(var(--rgb-secondary-08), 0.16)\n );\n }\n\n & li:first-child {\n border-top: 1px solid transparent;\n }\n\n & label:hover {\n background-image: linear-gradient(\n rgba(var(--rgb-secondary-08), 0.16),\n rgba(var(--rgb-secondary-08), 0.16)\n );\n }\n"])), function (props) {
return props.maxHeight || "200px";
});
exports.List = List;
var Container = _styledComponents.default.div(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral(["\n width: ", ";\n\n & #list {\n width: ", ";\n }\n\n label:hover + #inpBox {\n background-image: linear-gradient(\n rgba(var(--rgb-secondary-08), 0.16),\n rgba(var(--rgb-secondary-08), 0.16)\n );\n }\n\n label:hover + #inpBox > input {\n background-image: linear-gradient(\n rgba(var(--rgb-secondary-08), 0.16),\n rgba(var(--rgb-secondary-08), 0.16)\n );\n }\n"])), function (props) {
return props.width || "300px";
}, function (props) {
return "calc(".concat(props.width || "300px", " - 2px)") || "300px";
});
exports.Container = Container;