fk-react-ui-components
Version:
Step 1 : Create a file in [ Seeds / Plants / Trees ] <br> Step 2 : It should export an Object with component name and story Component [Refer other components] <br> Step 3 : Story Component should return a react component <br> Step 3 : Created file should
85 lines (73 loc) • 6.36 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.ToolTipContainer = undefined;
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
var _templateObject = _taggedTemplateLiteral(['\n max-width: 200px;\n box-sizing: border-box;\n padding: 10px;\n background-color: ', ';\n color: ', ';\n border-radius: 3px;\n opacity: ', ';\n ', ';\n\n &:before {\n content: \'\';\n display: block;\n width: 0;\n height: 0;\n position: absolute;\n border-top: ', 'px solid transparent;\n border-bottom: ', 'px solid transparent;\n border-right: ', 'px solid ', ';\n }\n'], ['\n max-width: 200px;\n box-sizing: border-box;\n padding: 10px;\n background-color: ', ';\n color: ', ';\n border-radius: 3px;\n opacity: ', ';\n ', ';\n\n &:before {\n content: \'\';\n display: block;\n width: 0;\n height: 0;\n position: absolute;\n border-top: ', 'px solid transparent;\n border-bottom: ', 'px solid transparent;\n border-right: ', 'px solid ', ';\n }\n']);
var _styledComponents = require('styled-components');
var _styledComponents2 = _interopRequireDefault(_styledComponents);
var _colorCodes = require('../../colorCodes');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _taggedTemplateLiteral(strings, raw) { return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
var defaultProps = {
theme: _extends({}, _colorCodes.guidelineColors)
};
var pointerLength = 8;
var spacing = 4;
function pointerCSS(alignment) {
var css = '';
switch (alignment) {
case 'bottom-right':
css = '\n margin-top: ' + (pointerLength + spacing) + 'px;\n &:before {\n top: 0px;\n right: 8px;\n transform: rotateZ(90deg);\n }\n ';
break;
case 'bottom-center':
css = '\n margin-top: ' + (pointerLength + spacing) + 'px;\n &:before {\n top: 0px;\n right: calc(50% - ' + pointerLength / 2 + 'px);\n transform: rotateZ(90deg);\n }\n ';
break;
case 'bottom-left':
css = '\n margin-top: ' + (pointerLength + spacing) + 'px;\n &:before {\n top: 0px;\n left: 8px;\n transform: rotateZ(90deg);\n }\n ';
break;
case 'left-bottom':
css = '\n margin-right: ' + (pointerLength + spacing) + 'px;\n &:before {\n bottom: 3px;\n right: 4px;\n transform: rotateZ(180deg);\n }\n ';
break;
case 'left-center':
css = '\n margin-right: ' + (pointerLength + spacing) + 'px;\n &:before {\n bottom: calc(50% - ' + pointerLength + 'px);\n right: 4px;\n transform: rotateZ(180deg);\n }\n ';
break;
case 'left-top':
css = '\n margin-right: ' + (pointerLength + spacing) + 'px;\n &:before {\n top: 2px;\n right: 4px;\n transform: rotateZ(180deg);\n }\n ';
break;
case 'top-left':
css = '\n margin-bottom: ' + (pointerLength + spacing) + 'px;\n &:before {\n bottom: 0px;\n left: 7px;\n transform: rotateZ(270deg);\n }\n ';
break;
case 'top-center':
css = '\n margin-bottom: ' + (pointerLength + spacing) + 'px;\n &:before {\n bottom: 0px;\n left: calc(50% - ' + pointerLength / 2 + 'px);\n transform: rotateZ(270deg);\n }\n ';
break;
case 'top-right':
css = '\n margin-bottom: ' + (pointerLength + spacing) + 'px;\n &:before {\n bottom: 0px;\n right: 7px;\n transform: rotateZ(270deg);\n }\n ';
break;
case 'right-top':
css = '\n margin-left: ' + (pointerLength + spacing) + 'px;\n &:before {\n top: 5px;\n left: 4px;\n transform: rotateZ(0deg);\n }\n ';
break;
case 'right-center':
css = '\n margin-left: ' + (pointerLength + spacing) + 'px;\n &:before {\n top: calc(50% - ' + pointerLength + 'px);\n left: 4px;\n transform: rotateZ(0deg);\n }\n ';
break;
case 'right-bottom':
css = '\n margin-left: ' + (pointerLength + spacing) + 'px;\n &:before {\n bottom: 5px;\n left: 4px;\n transform: rotateZ(0deg);\n }\n ';
break;
default:
css = '';
}
return css;
}
var ToolTipContainer = exports.ToolTipContainer = _styledComponents2.default.div(_templateObject, function (props) {
return props.theme.black;
}, function (props) {
return props.theme.white;
}, function (props) {
return props.theme.lightenColors.light;
}, function (props) {
return pointerCSS(props.position);
}, pointerLength, pointerLength, pointerLength, function (props) {
return props.theme.black;
});
ToolTipContainer.defaultProps = defaultProps;