UNPKG

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
'use strict'; 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;