@ucam/design-system
Version:
University of Cambridge Design System
63 lines (60 loc) • 7.45 kB
JavaScript
import { __rest } from 'tslib';
import React, { forwardRef } from 'react';
import { experimentalStyled, Button as Button$1 } from '@material-ui/core';
import { alpha } from '@material-ui/core/styles';
const StyledButton = experimentalStyled(Button$1)(({ theme }) => ({
textTransform: 'none',
padding: '8px 16px',
fontSize: '16px',
fontWeight: 600,
boxShadow: 'none',
'&.MuiButton-containedPrimary': {
color: 'white',
'&.Mui-focusVisible': {
boxShadow: `0 0 0 0.2rem ${alpha(theme.palette.primary.main, 0.2)}`
}
},
'&.MuiButton-containedSecondary': {
'&.Mui-focusVisible': {
boxShadow: `0 0 0 0.2rem ${alpha(theme.palette.secondary.main, 0.2)}`
}
},
'&.MuiButton-outlined': {
borderWidth: '2px'
},
'&.MuiButton-outlinedPrimary': {
borderColor: theme.palette.primary.main,
'&.Mui-focusVisible': {
boxShadow: `0 0 0 0.2rem ${alpha(theme.palette.primary.main, 0.2)}`
}
},
'&.MuiButton-outlinedSecondary': {
borderColor: theme.palette.secondary.main,
'&.Mui-focusVisible': {
boxShadow: `0 0 0 0.2rem ${alpha(theme.palette.secondary.main, 0.2)}`
}
},
'&.MuiButton-textPrimary': {
'&.Mui-focusVisible': {
boxShadow: `0 0 0 0.2rem ${alpha(theme.palette.primary.main, 0.2)}`
}
},
'&.MuiButton-textSecondary': {
'&.Mui-focusVisible': {
boxShadow: `0 0 0 0.2rem ${alpha(theme.palette.secondary.main, 0.2)}`
}
},
'&.Mui-disabled': {
borderColor: theme.palette.grey[400]
},
'&:hover': {
boxShadow: 'none'
}
}));
const Button = forwardRef(function Button(_a, ref) {
var { variant = 'contained' } = _a, props = __rest(_a, ["variant"]);
return (React.createElement(StyledButton, Object.assign({}, props, { variant: variant, disableRipple: true, disableFocusRipple: true, disableTouchRipple: true, ref: ref })));
});
Button.propTypes = Object.assign({}, Button.propTypes);
export { Button as default };
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQnV0dG9uLmpzIiwic291cmNlcyI6WyIvQHVjYW0vZGVzaWduLXN5c3RlbS9zcmMvQnV0dG9uL0J1dHRvbi50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IEZDLCBmb3J3YXJkUmVmIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgQnV0dG9uIGFzIE11aUJ1dHRvbiwgQnV0dG9uUHJvcHMgfSBmcm9tICdAbWF0ZXJpYWwtdWkvY29yZSc7XG5pbXBvcnQgeyBleHBlcmltZW50YWxTdHlsZWQgYXMgc3R5bGVkIH0gZnJvbSAnQG1hdGVyaWFsLXVpL2NvcmUnO1xuaW1wb3J0IHsgYWxwaGEgfSBmcm9tICdAbWF0ZXJpYWwtdWkvY29yZS9zdHlsZXMnO1xuXG5kZWNsYXJlIG1vZHVsZSAnQG1hdGVyaWFsLXVpL2NvcmUvQnV0dG9uJyB7XG4gIGludGVyZmFjZSBCdXR0b25Qcm9wc1ZhcmlhbnRPdmVycmlkZXMge1xuICAgIHRleHQ6IHRydWU7XG4gIH1cbn1cblxuY29uc3QgU3R5bGVkQnV0dG9uID0gc3R5bGVkKE11aUJ1dHRvbikoKHsgdGhlbWUgfSkgPT4gKHtcbiAgdGV4dFRyYW5zZm9ybTogJ25vbmUnLFxuICBwYWRkaW5nOiAnOHB4IDE2cHgnLFxuICBmb250U2l6ZTogJzE2cHgnLFxuICBmb250V2VpZ2h0OiA2MDAsXG4gIGJveFNoYWRvdzogJ25vbmUnLFxuICAnJi5NdWlCdXR0b24tY29udGFpbmVkUHJpbWFyeSc6IHtcbiAgICBjb2xvcjogJ3doaXRlJyxcbiAgICAnJi5NdWktZm9jdXNWaXNpYmxlJzoge1xuICAgICAgYm94U2hhZG93OiBgMCAwIDAgMC4ycmVtICR7YWxwaGEodGhlbWUucGFsZXR0ZS5wcmltYXJ5Lm1haW4sIDAuMil9YFxuICAgIH1cbiAgfSxcblxuICAnJi5NdWlCdXR0b24tY29udGFpbmVkU2Vjb25kYXJ5Jzoge1xuICAgICcmLk11aS1mb2N1c1Zpc2libGUnOiB7XG4gICAgICBib3hTaGFkb3c6IGAwIDAgMCAwLjJyZW0gJHthbHBoYSh0aGVtZS5wYWxldHRlLnNlY29uZGFyeS5tYWluLCAwLjIpfWBcbiAgICB9XG4gIH0sXG5cbiAgJyYuTXVpQnV0dG9uLW91dGxpbmVkJzoge1xuICAgIGJvcmRlcldpZHRoOiAnMnB4J1xuICB9LFxuXG4gICcmLk11aUJ1dHRvbi1vdXRsaW5lZFByaW1hcnknOiB7XG4gICAgYm9yZGVyQ29sb3I6IHRoZW1lLnBhbGV0dGUucHJpbWFyeS5tYWluLFxuICAgICcmLk11aS1mb2N1c1Zpc2libGUnOiB7XG4gICAgICBib3hTaGFkb3c6IGAwIDAgMCAwLjJyZW0gJHthbHBoYSh0aGVtZS5wYWxldHRlLnByaW1hcnkubWFpbiwgMC4yKX1gXG4gICAgfVxuICB9LFxuXG4gICcmLk11aUJ1dHRvbi1vdXRsaW5lZFNlY29uZGFyeSc6IHtcbiAgICBib3JkZXJDb2xvcjogdGhlbWUucGFsZXR0ZS5zZWNvbmRhcnkubWFpbixcbiAgICAnJi5NdWktZm9jdXNWaXNpYmxlJzoge1xuICAgICAgYm94U2hhZG93OiBgMCAwIDAgMC4ycmVtICR7YWxwaGEodGhlbWUucGFsZXR0ZS5zZWNvbmRhcnkubWFpbiwgMC4yKX1gXG4gICAgfVxuICB9LFxuXG4gICcmLk11aUJ1dHRvbi10ZXh0UHJpbWFyeSc6IHtcbiAgICAnJi5NdWktZm9jdXNWaXNpYmxlJzoge1xuICAgICAgYm94U2hhZG93OiBgMCAwIDAgMC4ycmVtICR7YWxwaGEodGhlbWUucGFsZXR0ZS5wcmltYXJ5Lm1haW4sIDAuMil9YFxuICAgIH1cbiAgfSxcblxuICAnJi5NdWlCdXR0b24tdGV4dFNlY29uZGFyeSc6IHtcbiAgICAnJi5NdWktZm9jdXNWaXNpYmxlJzoge1xuICAgICAgYm94U2hhZG93OiBgMCAwIDAgMC4ycmVtICR7YWxwaGEodGhlbWUucGFsZXR0ZS5zZWNvbmRhcnkubWFpbiwgMC4yKX1gXG4gICAgfVxuICB9LFxuXG4gICcmLk11aS1kaXNhYmxlZCc6IHtcbiAgICBib3JkZXJDb2xvcjogdGhlbWUucGFsZXR0ZS5ncmV5WzQwMF1cbiAgfSxcblxuICAnJjpob3Zlcic6IHtcbiAgICBib3hTaGFkb3c6ICdub25lJ1xuICB9XG59KSk7XG5cbmNvbnN0IEJ1dHRvbiA9IGZvcndhcmRSZWY8SFRNTEJ1dHRvbkVsZW1lbnQsIEJ1dHRvblByb3BzPihmdW5jdGlvbiBCdXR0b24oXG4gIHsgdmFyaWFudCA9ICdjb250YWluZWQnLCAuLi5wcm9wcyB9LFxuICByZWZcbikge1xuICByZXR1cm4gKFxuICAgIDxTdHlsZWRCdXR0b25cbiAgICAgIHsuLi5wcm9wc31cbiAgICAgIHZhcmlhbnQ9e3ZhcmlhbnR9XG4gICAgICBkaXNhYmxlUmlwcGxlXG4gICAgICBkaXNhYmxlRm9jdXNSaXBwbGVcbiAgICAgIGRpc2FibGVUb3VjaFJpcHBsZVxuICAgICAgcmVmPXtyZWZ9XG4gICAgLz5cbiAgKTtcbn0pO1xuXG5CdXR0b24ucHJvcFR5cGVzID0ge1xuICAuLi4oQnV0dG9uIGFzIEZDPEJ1dHRvblByb3BzPikucHJvcFR5cGVzXG59O1xuXG5leHBvcnQgZGVmYXVsdCBCdXR0b247XG4iXSwibmFtZXMiOlsic3R5bGVkIiwiTXVpQnV0dG9uIl0sIm1hcHBpbmdzIjoiOzs7OztBQVdBLE1BQU0sWUFBWSxHQUFHQSxrQkFBTSxDQUFDQyxRQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLE1BQU07SUFDckQsYUFBYSxFQUFFLE1BQU07SUFDckIsT0FBTyxFQUFFLFVBQVU7SUFDbkIsUUFBUSxFQUFFLE1BQU07SUFDaEIsVUFBVSxFQUFFLEdBQUc7SUFDZixTQUFTLEVBQUUsTUFBTTtJQUNqQiw4QkFBOEIsRUFBRTtRQUM5QixLQUFLLEVBQUUsT0FBTztRQUNkLG9CQUFvQixFQUFFO1lBQ3BCLFNBQVMsRUFBRSxnQkFBZ0IsS0FBSyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsRUFBRTtTQUNwRTtLQUNGO0lBRUQsZ0NBQWdDLEVBQUU7UUFDaEMsb0JBQW9CLEVBQUU7WUFDcEIsU0FBUyxFQUFFLGdCQUFnQixLQUFLLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxFQUFFO1NBQ3RFO0tBQ0Y7SUFFRCxzQkFBc0IsRUFBRTtRQUN0QixXQUFXLEVBQUUsS0FBSztLQUNuQjtJQUVELDZCQUE2QixFQUFFO1FBQzdCLFdBQVcsRUFBRSxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJO1FBQ3ZDLG9CQUFvQixFQUFFO1lBQ3BCLFNBQVMsRUFBRSxnQkFBZ0IsS0FBSyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsRUFBRTtTQUNwRTtLQUNGO0lBRUQsK0JBQStCLEVBQUU7UUFDL0IsV0FBVyxFQUFFLEtBQUssQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLElBQUk7UUFDekMsb0JBQW9CLEVBQUU7WUFDcEIsU0FBUyxFQUFFLGdCQUFnQixLQUFLLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxFQUFFO1NBQ3RFO0tBQ0Y7SUFFRCx5QkFBeUIsRUFBRTtRQUN6QixvQkFBb0IsRUFBRTtZQUNwQixTQUFTLEVBQUUsZ0JBQWdCLEtBQUssQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLEVBQUU7U0FDcEU7S0FDRjtJQUVELDJCQUEyQixFQUFFO1FBQzNCLG9CQUFvQixFQUFFO1lBQ3BCLFNBQVMsRUFBRSxnQkFBZ0IsS0FBSyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsRUFBRTtTQUN0RTtLQUNGO0lBRUQsZ0JBQWdCLEVBQUU7UUFDaEIsV0FBVyxFQUFFLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQztLQUNyQztJQUVELFNBQVMsRUFBRTtRQUNULFNBQVMsRUFBRSxNQUFNO0tBQ2xCO0NBQ0YsQ0FBQyxDQUFDLENBQUM7TUFFRSxNQUFNLEdBQUcsVUFBVSxDQUFpQyxTQUFTLE1BQU0sQ0FDdkUsRUFBbUMsRUFDbkMsR0FBRztRQURILEVBQUUsT0FBTyxHQUFHLFdBQVcsT0FBWSxFQUFQLEtBQUssY0FBakMsV0FBbUMsQ0FBRjtJQUdqQyxRQUNFLG9CQUFDLFlBQVksb0JBQ1AsS0FBSyxJQUNULE9BQU8sRUFBRSxPQUFPLEVBQ2hCLGFBQWEsUUFDYixrQkFBa0IsUUFDbEIsa0JBQWtCLFFBQ2xCLEdBQUcsRUFBRSxHQUFHLElBQ1IsRUFDRjtBQUNKLENBQUMsRUFBRTtBQUVILE1BQU0sQ0FBQyxTQUFTLHFCQUNWLE1BQTBCLENBQUMsU0FBUyxDQUN6Qzs7OzsifQ==