UNPKG

@smart-react-components/ui

Version:
24 lines (23 loc) 1.91 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const element_props_1 = __importDefault(require("@smart-react-components/core/element-props")); const click_events_1 = __importDefault(require("@smart-react-components/core/element-props/click-events")); const react_1 = __importDefault(require("react")); const styled_components_1 = require("styled-components"); const WaveEffect_1 = __importDefault(require("../WaveEffect")); const ButtonAddonElement_1 = __importDefault(require("../components/Button/ButtonAddonElement")); const wave_effect_1 = require("../util/wave-effect"); const ButtonAddon = (props) => { const theme = (0, styled_components_1.useTheme)(); const waveEffectPalette = react_1.default.useMemo(() => (0, wave_effect_1.getWaveEffectPalette)(props, theme.$.vars.isDarkMode), [props.palette, props.isOutline, props.isSoft, props.waveEffectPalette, theme.$.vars.isDarkMode]); const El = (react_1.default.createElement(ButtonAddonElement_1.default, Object.assign({ addonPosition: props.position, buttonSize: props.size, buttonSizeSm: props.sizeSm, buttonSizeMd: props.sizeMd, buttonSizeLg: props.sizeLg, buttonSizeXl: props.sizeXl, hasHover: props.hasHover, isDisabled: props.isDisabled, isOutline: props.isOutline, isSeparated: props.isSeparated, isSoft: props.isSoft, palette: props.palette, shape: props.shape }, (!props.isDisabled && (0, element_props_1.default)(props, [click_events_1.default])), props.elementProps), props.children)); return props.isSeparated && props.hasWaveEffect ? react_1.default.createElement(WaveEffect_1.default, { palette: waveEffectPalette }, El) : El; }; ButtonAddon.defaultProps = { elementProps: {}, }; ButtonAddon.displayName = 'SRCAddon'; exports.default = ButtonAddon;