UNPKG

@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.

66 lines (51 loc) 2.4 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default; var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default; exports.__esModule = true; exports.default = void 0; var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")); var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2")); var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties")); 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 _excluded = ["type", "size", "compact"]; const ButtonLink = /*#__PURE__*/React.forwardRef((_ref, ref) => { let { type = _consts.TYPES.PRIMARY, size, compact = false } = _ref, props = (0, _objectWithoutProperties2.default)(_ref, _excluded); const theme = (0, _useTheme.default)(); const propsWithTheme = (0, _objectSpread2.default)({ theme, size }, props); const commonProps = (0, _getButtonLinkCommonProps.default)((0, _objectSpread2.default)((0, _objectSpread2.default)({}, propsWithTheme), {}, { compact })); const buttonLinkStyles = (0, _getButtonLinkStyles.default)({ type, theme, compact }); const icons = (0, _getIconContainer.default)((0, _objectSpread2.default)((0, _objectSpread2.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;