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.32 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default; var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default; Object.defineProperty(exports, "__esModule", { value: 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 _getIconContainer = _interopRequireDefault(require("../primitives/ButtonPrimitive/common/getIconContainer")); var _getCommonProps = _interopRequireDefault(require("../primitives/ButtonPrimitive/common/getCommonProps")); var _useTheme = _interopRequireDefault(require("../hooks/useTheme")); var _getButtonStyles = _interopRequireDefault(require("./helpers/getButtonStyles")); var _getButtonIconForeground = _interopRequireDefault(require("./helpers/getButtonIconForeground")); const _excluded = ["type", "size", "disabled"]; const Button = /*#__PURE__*/React.forwardRef((_ref, ref) => { let { type = _consts.TYPE_OPTIONS.PRIMARY, size, disabled = false } = _ref, props = (0, _objectWithoutProperties2.default)(_ref, _excluded); const theme = (0, _useTheme.default)(); const propsWithTheme = (0, _objectSpread2.default)({ theme, size }, props); const commonProps = (0, _getCommonProps.default)(propsWithTheme); const buttonStyles = (0, _getButtonStyles.default)({ type, theme, disabled }); const icons = (0, _getIconContainer.default)((0, _objectSpread2.default)((0, _objectSpread2.default)({}, propsWithTheme), {}, { iconForeground: (0, _getButtonIconForeground.default)({ type, theme }) })); return /*#__PURE__*/React.createElement(_ButtonPrimitive.default, (0, _extends2.default)({ ref: ref, disabled: disabled }, props, buttonStyles, commonProps, icons)); }); Button.displayName = "Button"; var _default = Button; exports.default = _default;