UNPKG

@mskcc/carbon-react

Version:

Carbon react components for the MSKCC DSM

75 lines (66 loc) 2.39 kB
/** * MSKCC 2021, 2024 */ 'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); var _rollupPluginBabelHelpers = require('../../_virtual/_rollupPluginBabelHelpers.js'); var PropTypes = require('prop-types'); var React = require('react'); var cx = require('classnames'); var usePrefix = require('../../internal/usePrefix.js'); function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; } var PropTypes__default = /*#__PURE__*/_interopDefaultLegacy(PropTypes); var React__default = /*#__PURE__*/_interopDefaultLegacy(React); var cx__default = /*#__PURE__*/_interopDefaultLegacy(cx); const ButtonSkeleton = _ref => { let { className, small = false, href, size = 'lg', ...rest } = _ref; const prefix = usePrefix.usePrefix(); const buttonClasses = cx__default["default"](className, { [`${prefix}--skeleton`]: true, [`${prefix}--btn`]: true, [`${prefix}--btn--sm`]: small || size === 'sm', [`${prefix}--btn--md`]: size === 'md', [`${prefix}--btn--lg`]: size === 'lg' }); const commonProps = { className: buttonClasses, ...rest }; const button = /*#__PURE__*/React__default["default"].createElement("div", commonProps); const anchor = /*#__PURE__*/React__default["default"].createElement("a", _rollupPluginBabelHelpers["extends"]({}, commonProps, { href: href, role: "button" })); // eslint-disable-line return href ? anchor : button; }; ButtonSkeleton.propTypes = { /** * Specify an optional className to add. */ className: PropTypes__default["default"].string, /** * Optionally specify an href for your Button to become an `<a>` element */ href: PropTypes__default["default"].string, /** * Specify the size of the button, from a list of available sizes. * For `default` buttons, this prop can remain unspecified or use `default`. * In the next major release of Carbon, `default`, `field`, and `small` will be removed */ size: PropTypes__default["default"].oneOf(['sm', 'md', 'lg']), /** * @deprecated This property will be removed in the next major Carbon version, * use size={sm} instead. * * Specify whether the Button should be a small variant */ small: PropTypes__default["default"].bool }; exports.ButtonSkeleton = ButtonSkeleton; exports["default"] = ButtonSkeleton;