@naturacosmeticos/natds-react
Version:
A collection of components from Natura Design System for React
46 lines • 3.7 kB
JavaScript
;
var __assign = (this && this.__assign) || function () {
__assign = Object.assign || function(t) {
for (var s, i = 1, n = arguments.length; i < n; i++) {
s = arguments[i];
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
t[p] = s[p];
}
return t;
};
return __assign.apply(this, arguments);
};
var __rest = (this && this.__rest) || function (s, e) {
var t = {};
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
t[p] = s[p];
if (s != null && typeof Object.getOwnPropertySymbols === "function")
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
t[p[i]] = s[p[i]];
}
return t;
};
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
/* eslint-disable react/button-has-type */
var react_1 = __importDefault(require("react"));
var react_jss_1 = require("react-jss");
var Icon_1 = require("../Icon");
var Ripple_1 = require("../Ripple");
var GayaButton_styles_1 = __importDefault(require("./GayaButton.styles"));
var GayaButton = react_1.default.forwardRef(function (_a, ref) {
var children = _a.children, _b = _a.className, className = _b === void 0 ? '' : _b, brand = _a.brand, ariaLabel = _a.ariaLabel, role = _a.role, ariaDisabled = _a.ariaDisabled, ariaHaspopup = _a.ariaHaspopup, _c = _a.mode, mode = _c === void 0 ? 'light' : _c, _d = _a.color, color = _d === void 0 ? 'primary' : _d, textTransform = _a.textTransform, _e = _a.disabled, disabled = _e === void 0 ? false : _e, _f = _a.fullWidth, fullWidth = _f === void 0 ? false : _f, display = _a.display, _g = _a.iconPosition, iconPosition = _g === void 0 ? 'right' : _g, onClick = _a.onClick, _h = _a.size, size = _h === void 0 ? 'semiX' : _h, testID = _a.testID, _j = _a.type, type = _j === void 0 ? 'button' : _j, _k = _a.variant, variant = _k === void 0 ? 'contained' : _k, rest = __rest(_a, ["children", "className", "brand", "ariaLabel", "role", "ariaDisabled", "ariaHaspopup", "mode", "color", "textTransform", "disabled", "fullWidth", "display", "iconPosition", "onClick", "size", "testID", "type", "variant"]);
var _l = (0, GayaButton_styles_1.default)(__assign({ disabled: disabled, color: color, brand: brand, mode: mode, fullWidth: fullWidth, display: display, iconPosition: iconPosition, size: size, variant: variant, textTransform: textTransform }, rest)), gayaButton = _l.gayaButton, label = _l.label, labelContainer = _l.labelContainer;
var theme = (0, react_jss_1.useTheme)();
var iconColor = theme.button[variant].color.enable.label;
return (react_1.default.createElement(Ripple_1.Ripple, { brand: brand, disabled: disabled, fullWidth: fullWidth },
react_1.default.createElement("button", { className: "".concat(gayaButton, " ").concat(className, " Gaya-Button"), "data-testid": testID, disabled: disabled || ariaDisabled, onClick: onClick, type: type, ref: ref, "aria-disabled": disabled || ariaDisabled, "aria-label": ariaLabel, role: role, "aria-haspopup": ariaHaspopup },
react_1.default.createElement("div", { className: labelContainer },
react_1.default.createElement("span", { className: label }, children),
rest.showIcon && react_1.default.createElement(Icon_1.Icon, { name: rest.iconName, color: iconColor })))));
});
exports.default = GayaButton;
//# sourceMappingURL=GayaButton.js.map