@geezee/react-ui
Version:
Modern and minimalist React UI library.
34 lines • 1.81 kB
JavaScript
import _extends from "@babel/runtime/helpers/esm/extends";
import _JSXStyle from "styled-jsx/style";
import React from 'react';
import ButtonIcon from './button-icon';
export var getButtonChildrenWithIcon = function getButtonChildrenWithIcon(loading, auto, size, children, icons, isTag) {
var icon = icons.icon,
iconRight = icons.iconRight;
var hasIcon = icon || iconRight;
var isRight = Boolean(iconRight);
var paddingForAutoMode = auto || size === 'mini' || isTag ? "calc(var(--cfx-ui-button-height) / 2 + var(--cfx-ui-button-padding) * .5)" : 0;
if (!hasIcon) return /*#__PURE__*/React.createElement("div", {
className: "text ".concat(loading ? 'hidden' : '')
}, children);
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(ButtonIcon, {
isRight: isRight
}, hasIcon), /*#__PURE__*/React.createElement("div", {
className: _JSXStyle.dynamic([["3568181479", [paddingForAutoMode, paddingForAutoMode]]]) + " " + "text ".concat(isRight ? 'right' : 'left', " ").concat(loading ? 'hidden' : '')
}, children, /*#__PURE__*/React.createElement(_JSXStyle, {
id: "3568181479",
dynamic: [paddingForAutoMode, paddingForAutoMode]
}, ".left.__jsx-style-dynamic-selector{padding-left:".concat(paddingForAutoMode, ";}.right.__jsx-style-dynamic-selector{padding-right:").concat(paddingForAutoMode, ";}"))));
};
export var filterPropsWithGroup = function filterPropsWithGroup(props, config) {
if (!config.isButtonGroup) return props;
return _extends(_extends({}, props), {}, {
auto: true,
shadow: false,
ghost: config.ghost || props.ghost,
size: config.size || props.size,
variant: config.variant || props.variant,
color: config.color || props.color,
disabled: config.disabled || props.disabled
});
};