UNPKG

pouncejs

Version:

A collection of UI components from Panther labs

89 lines (69 loc) 2.82 kB
"use strict"; 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;