@hhgtech/hhg-components
Version:
Hello Health Group common components
36 lines (30 loc) • 2.47 kB
JavaScript
;
var tslib_es6 = require('./tslib.es6-92cccef3.js');
var React = require('react');
var index = require('./index-86fd931c.js');
function _interopDefault (e) { return e && e.__esModule ? e : { 'default': e }; }
var React__default = /*#__PURE__*/_interopDefault(React);
/**
* @deprecated Consider to use at '@hhgtech/hhg-components/mantine'
*/
const Button = (_a) => {
var { size, color = 'primary', isDisabled, isBlock, title, onClick, icon, iconPosition = 'left', children, isLoading = false, loadingText, dataEventCategory, dataEventAction, dataEventLabel, dataProductChannel, dataProductSku, dataProductBrand, dataProductName, dataProductPrice, dataProductCategory, dataProductPosition, type } = _a, rest = tslib_es6.__rest(_a, ["size", "color", "isDisabled", "isBlock", "title", "onClick", "icon", "iconPosition", "children", "isLoading", "loadingText", "dataEventCategory", "dataEventAction", "dataEventLabel", "dataProductChannel", "dataProductSku", "dataProductBrand", "dataProductName", "dataProductPrice", "dataProductCategory", "dataProductPosition", "type"]);
const gtmProps = {
'data-event-category': dataEventCategory,
'data-event-action': dataEventAction,
'data-event-label': dataEventLabel,
'data-product-channel': dataProductChannel,
'data-product-sku': dataProductSku,
'data-product-brand': dataProductBrand,
'data-product-name': dataProductName,
'data-product-price': dataProductPrice,
'data-product-category': dataProductCategory,
'data-product-position': dataProductPosition,
};
return (React__default["default"].createElement(index.Button, Object.assign({}, gtmProps, { size: size, variant: color === 'transparent' ? 'white' : color === 'danger' ? 'error' : color, disabled: isDisabled, onClick: (evt) => {
!isLoading && !isDisabled && onClick && onClick(evt);
}, title: title, loading: isLoading, type: type || 'submit', leftIcon: iconPosition === 'left' ? icon : undefined, rightIcon: iconPosition === 'right' ? icon : undefined,
// hasIcon={!!icon || undefined}
w: isBlock ? '100%' : undefined, p: isBlock ? '12px auto' : undefined, "data-color": color, "data-size": size, "data-block": isBlock, "data-has-icon": !!icon || undefined, "data-theme": rest.theme, "data-is-loading": isLoading }, rest), isLoading ? loadingText || children : children));
};
exports.Button = Button;