pouncejs
Version:
A collection of UI components from Panther labs
89 lines (69 loc) • 2.82 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
exports.__esModule = true;
exports.sxProp = exports.borderOpacityProp = exports.backgroundOpacityProp = exports.visuallyHiddenProp = exports.truncateProp = void 0;
var _css = _interopRequireDefault(require("@styled-system/css"));
var _helpers = require("../utils/helpers");
var _colors2 = _interopRequireDefault(require("../theme/colors"));
/* eslint-disable @typescript-eslint/no-explicit-any */
var truncateProp = function truncateProp(_ref) {
var truncated = _ref.truncated;
if (truncated) {
return {
overflow: 'hidden',
textOverflow: 'ellipsis',
whiteSpace: 'nowrap'
};
}
};
exports.truncateProp = truncateProp;
var visuallyHiddenProp = function visuallyHiddenProp(_ref2) {
var visuallyHidden = _ref2.visuallyHidden;
if (visuallyHidden) {
return {
border: '0px',
height: '1px',
width: '1px',
margin: '-1px',
padding: '0px',
overflow: 'hidden',
whiteSpace: 'nowrap',
position: 'absolute'
};
}
};
exports.visuallyHiddenProp = visuallyHiddenProp;
var backgroundOpacityProp = function backgroundOpacityProp(_ref3) {
var backgroundOpacity = _ref3.backgroundOpacity,
backgroundColor = _ref3.backgroundColor;
if (backgroundOpacity) {
var _colors;
// As the value of `backgroundOpacity` we want to be able to parse a lot of alternatives such as: 0.5, "0.5", 50, "50"
// Obviously the user can still add values such as "110" or "200", but we can't do much there
var bgOpacity = typeof backgroundOpacity === 'string' ? Number(backgroundOpacity) : backgroundOpacity;
bgOpacity = bgOpacity > 1 ? bgOpacity / 100 : bgOpacity;
var bgColor = (_colors = _colors2.default[backgroundColor]) != null ? _colors : _colors2.default.inherit;
return {
backgroundColor: (0, _helpers.addOpacity)(bgColor, bgOpacity)
};
}
};
exports.backgroundOpacityProp = backgroundOpacityProp;
var borderOpacityProp = function borderOpacityProp(_ref4) {
var borderOpacity = _ref4.borderOpacity,
borderColor = _ref4.borderColor;
if (borderOpacity) {
// As the value of `borderOpacity` we want to be able to parse a lot of alternatives such as: 0.5, "0.5", 50, "50"
// Obviously the user can still add values such as "110" or "200", but we can't do much there
var opacity = typeof borderOpacity === 'string' ? Number(borderOpacity) : borderOpacity;
opacity = opacity > 1 ? opacity / 100 : opacity;
return {
borderColor: (0, _helpers.addOpacity)(_colors2.default[borderColor], opacity)
};
}
};
exports.borderOpacityProp = borderOpacityProp;
var sxProp = function sxProp(props) {
return (0, _css.default)(props.sx)(props);
};
exports.sxProp = sxProp;