@atlaskit/button
Version:
A button triggers an event or action. They let users know what will happen next.
38 lines • 1.07 kB
JavaScript
import React from 'react';
import Spinner from '@atlaskit/spinner';
function getIconSpacing(spacing) {
switch (spacing) {
case 'compact':
return 'small';
default:
return 'medium';
}
}
function getSpinnerAppearance(_ref) {
var appearance = _ref.appearance,
isDisabled = _ref.isDisabled,
isSelected = _ref.isSelected;
if (isDisabled || isSelected) {
return 'inherit';
}
if (appearance === 'primary' || appearance === 'danger' || appearance === 'discovery') {
return 'invert';
}
return 'inherit';
}
export default function renderLoadingOverlay(_ref2) {
var appearance = _ref2.appearance,
spacing = _ref2.spacing,
isDisabled = _ref2.isDisabled,
isSelected = _ref2.isSelected,
testId = _ref2.testId;
return /*#__PURE__*/React.createElement(Spinner, {
size: getIconSpacing(spacing),
appearance: getSpinnerAppearance({
appearance: appearance,
isDisabled: isDisabled,
isSelected: isSelected
}),
testId: testId ? "".concat(testId, "--loading-spinner") : undefined
});
}