@kiwicom/orbit-components
Version:
Orbit-components is a React component library which provides developers with the easiest possible way of building Kiwi.com’s products.
51 lines (50 loc) • 1.9 kB
JavaScript
;
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
exports.__esModule = true;
exports.default = void 0;
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
var React = _interopRequireWildcard(require("react"));
var _consts = require("./consts");
var _ButtonPrimitive = _interopRequireDefault(require("../primitives/ButtonPrimitive"));
var _useTheme = _interopRequireDefault(require("../hooks/useTheme"));
var _getIconContainer = _interopRequireDefault(require("../primitives/ButtonPrimitive/common/getIconContainer"));
var _getButtonLinkStyles = _interopRequireDefault(require("./helpers/getButtonLinkStyles"));
var _getButtonLinkIconForeground = _interopRequireDefault(require("./helpers/getButtonLinkIconForeground"));
var _getButtonLinkCommonProps = _interopRequireDefault(require("./helpers/getButtonLinkCommonProps"));
const ButtonLink = /*#__PURE__*/React.forwardRef(({
type = _consts.TYPES.PRIMARY,
size,
compact = false,
...props
}, ref) => {
const theme = (0, _useTheme.default)();
const propsWithTheme = {
theme,
size,
...props
};
const commonProps = (0, _getButtonLinkCommonProps.default)({
...propsWithTheme,
compact
});
const buttonLinkStyles = (0, _getButtonLinkStyles.default)({
type,
theme,
compact
});
const icons = (0, _getIconContainer.default)({
...propsWithTheme,
iconForeground: (0, _getButtonLinkIconForeground.default)({
type,
theme,
compact
})
});
return /*#__PURE__*/React.createElement(_ButtonPrimitive.default, (0, _extends2.default)({
ref: ref
}, props, buttonLinkStyles, commonProps, icons));
});
ButtonLink.displayName = "ButtonLink";
var _default = ButtonLink;
exports.default = _default;