electrode-houseparty-example-component
Version:
electrode-houseparty-example-component
84 lines (68 loc) • 2.28 kB
JavaScript
;
exports.__esModule = true;
var _assign = require("babel-runtime/core-js/object/assign");
var _assign2 = _interopRequireDefault(_assign);
var _typeof2 = require("babel-runtime/helpers/typeof");
var _typeof3 = _interopRequireDefault(_typeof2);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var PARENT = { divisor: 2 };
var CHILD = { divisor: 4, rotateBack: -1 };
var SINGLE = { marginDivisor: 8 };
var CONTAINER = { paddingDivisor: .13, marginDivisor: .13 };
exports.default = function (type, size, rotateVal) {
var nodeSize = type === "child" ? size / CHILD.divisor : size / PARENT.divisor;
var parentOrSingle = {
width: nodeSize + "em",
height: nodeSize + "em",
margin: "-" + nodeSize / PARENT.divisor + "em",
display: "block",
position: "absolute",
top: "50%",
left: "50%",
transform: "translate(0em)"
};
switch (type) {
case "single":
{
var _ret = function () {
var singleNode = {
display: "inline-block",
position: "relative",
margin: nodeSize / SINGLE.marginDivisor + "em"
};
["width", "height"].map(function (prop) {
return singleNode[prop] = parentOrSingle[prop];
});
return {
v: singleNode
};
}();
if ((typeof _ret === "undefined" ? "undefined" : (0, _typeof3.default)(_ret)) === "object") return _ret.v;
}
case "child":
{
var childNode = {
transform: "rotate(" + rotateVal * 1 + "deg) translate(" + nodeSize * PARENT.divisor + "em) rotate(" + rotateVal * CHILD.rotateBack + "deg)", // eslint-disable-line max-len
backgroundSize: "100%"
};
return (0, _assign2.default)(parentOrSingle, childNode);
}
case "container":
{
return {
position: "relative",
width: size + "em",
height: size + "em",
padding: size * CONTAINER.paddingDivisor + "em",
borderRadius: "50%",
display: "inline-block",
margin: size * CONTAINER.marginDivisor + "em",
float: "right"
};
}
default:
{
return parentOrSingle;
}
}
};