@tdukart/seven-segment-display
Version:
A React widget that is a 7 segment display
91 lines (76 loc) • 8.24 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
var _react = require("react");
var _react2 = _interopRequireDefault(_react);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
var Colon = function (_React$Component) {
_inherits(Colon, _React$Component);
function Colon(props) {
_classCallCheck(this, Colon);
return _possibleConstructorReturn(this, (Colon.__proto__ || Object.getPrototypeOf(Colon)).call(this, props));
}
_createClass(Colon, [{
key: "transform",
value: function transform(functions) {
return functions.reduce(function (funcs, func) {
var name = Object.keys(func)[0];
var params = Array.isArray(func[name]) ? func[name] : [func[name]];
return funcs + " " + name + "(" + params.join(" ") + ")";
}, "");
}
}, {
key: "render",
value: function render() {
return _react2.default.createElement(
"svg",
{ viewBox: [-1, -1, 12, 20] },
_react2.default.createElement(
"g",
{
transform: this.transform([{ translate: [this.props.x, this.props.y] }]),
style: {
fillRule: "evenodd",
stroke: this.props.strokeColor,
strokeWidth: 0.25,
strokeOpacity: 1,
strokeLinecap: "butt",
strokeLinejoin: "miter"
}
},
_react2.default.createElement("circle", {
cx: 12 / 2,
cy: 20 / 3,
r: 1,
fill: this.props.color,
fillOpacity: this.props.on ? this.props.onOpacity : this.props.offOpacity
}),
_react2.default.createElement("circle", {
cx: 12 - 12 / 2,
cy: 20 - 20 / 3,
r: 1,
fill: this.props.color,
fillOpacity: this.props.on ? this.props.onOpacity : this.props.offOpacity
})
)
);
}
}]);
return Colon;
}(_react2.default.Component);
Colon.defaultProps = {
on: true,
onOpacity: 1,
offOpacity: 0.15,
color: "red",
strokeColor: "#fff",
x: 0,
y: 0
};
exports.default = Colon;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9Db2xvbi5qc3giXSwibmFtZXMiOlsiQ29sb24iLCJwcm9wcyIsImZ1bmN0aW9ucyIsInJlZHVjZSIsImZ1bmNzIiwiZnVuYyIsIm5hbWUiLCJPYmplY3QiLCJrZXlzIiwicGFyYW1zIiwiQXJyYXkiLCJpc0FycmF5Iiwiam9pbiIsInRyYW5zZm9ybSIsInRyYW5zbGF0ZSIsIngiLCJ5IiwiZmlsbFJ1bGUiLCJzdHJva2UiLCJzdHJva2VDb2xvciIsInN0cm9rZVdpZHRoIiwic3Ryb2tlT3BhY2l0eSIsInN0cm9rZUxpbmVjYXAiLCJzdHJva2VMaW5lam9pbiIsImNvbG9yIiwib24iLCJvbk9wYWNpdHkiLCJvZmZPcGFjaXR5IiwiQ29tcG9uZW50IiwiZGVmYXVsdFByb3BzIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUFBOzs7Ozs7Ozs7Ozs7SUFFTUEsSzs7O0FBQ0osaUJBQVlDLEtBQVosRUFBbUI7QUFBQTs7QUFBQSx5R0FDWEEsS0FEVztBQUVsQjs7Ozs4QkFFU0MsUyxFQUFXO0FBQ25CLGFBQU9BLFVBQVVDLE1BQVYsQ0FBaUIsVUFBQ0MsS0FBRCxFQUFRQyxJQUFSLEVBQWlCO0FBQ3ZDLFlBQUlDLE9BQU9DLE9BQU9DLElBQVAsQ0FBWUgsSUFBWixFQUFrQixDQUFsQixDQUFYO0FBQ0EsWUFBSUksU0FBU0MsTUFBTUMsT0FBTixDQUFjTixLQUFLQyxJQUFMLENBQWQsSUFBNEJELEtBQUtDLElBQUwsQ0FBNUIsR0FBeUMsQ0FBQ0QsS0FBS0MsSUFBTCxDQUFELENBQXREO0FBQ0EsZUFBVUYsS0FBVixTQUFtQkUsSUFBbkIsU0FBMkJHLE9BQU9HLElBQVAsQ0FBWSxHQUFaLENBQTNCO0FBQ0QsT0FKTSxFQUlKLEVBSkksQ0FBUDtBQUtEOzs7NkJBRVE7QUFDUCxhQUNFO0FBQUE7QUFBQSxVQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUYsRUFBSyxDQUFDLENBQU4sRUFBUyxFQUFULEVBQWEsRUFBYixDQUFkO0FBQ0U7QUFBQTtBQUFBO0FBQ0UsdUJBQVcsS0FBS0MsU0FBTCxDQUFlLENBQ3hCLEVBQUVDLFdBQVcsQ0FBQyxLQUFLYixLQUFMLENBQVdjLENBQVosRUFBZSxLQUFLZCxLQUFMLENBQVdlLENBQTFCLENBQWIsRUFEd0IsQ0FBZixDQURiO0FBSUUsbUJBQU87QUFDTEMsd0JBQVUsU0FETDtBQUVMQyxzQkFBUSxLQUFLakIsS0FBTCxDQUFXa0IsV0FGZDtBQUdMQywyQkFBYSxJQUhSO0FBSUxDLDZCQUFlLENBSlY7QUFLTEMsNkJBQWUsTUFMVjtBQU1MQyw4QkFBZ0I7QUFOWDtBQUpUO0FBYUU7QUFDRSxnQkFBSSxLQUFLLENBRFg7QUFFRSxnQkFBSSxLQUFLLENBRlg7QUFHRSxlQUFHLENBSEw7QUFJRSxrQkFBTSxLQUFLdEIsS0FBTCxDQUFXdUIsS0FKbkI7QUFLRSx5QkFDRSxLQUFLdkIsS0FBTCxDQUFXd0IsRUFBWCxHQUFnQixLQUFLeEIsS0FBTCxDQUFXeUIsU0FBM0IsR0FBdUMsS0FBS3pCLEtBQUwsQ0FBVzBCO0FBTnRELFlBYkY7QUFzQkU7QUFDRSxnQkFBSSxLQUFLLEtBQUssQ0FEaEI7QUFFRSxnQkFBSSxLQUFLLEtBQUssQ0FGaEI7QUFHRSxlQUFHLENBSEw7QUFJRSxrQkFBTSxLQUFLMUIsS0FBTCxDQUFXdUIsS0FKbkI7QUFLRSx5QkFDRSxLQUFLdkIsS0FBTCxDQUFXd0IsRUFBWCxHQUFnQixLQUFLeEIsS0FBTCxDQUFXeUIsU0FBM0IsR0FBdUMsS0FBS3pCLEtBQUwsQ0FBVzBCO0FBTnREO0FBdEJGO0FBREYsT0FERjtBQW9DRDs7OztFQWxEaUIsZ0JBQU1DLFM7O0FBcUQxQjVCLE1BQU02QixZQUFOLEdBQXFCO0FBQ25CSixNQUFJLElBRGU7QUFFbkJDLGFBQVcsQ0FGUTtBQUduQkMsY0FBWSxJQUhPO0FBSW5CSCxTQUFPLEtBSlk7QUFLbkJMLGVBQWEsTUFMTTtBQU1uQkosS0FBRyxDQU5nQjtBQU9uQkMsS0FBRztBQVBnQixDQUFyQjs7a0JBVWVoQixLIiwiZmlsZSI6IkNvbG9uLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuXG5jbGFzcyBDb2xvbiBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gIGNvbnN0cnVjdG9yKHByb3BzKSB7XG4gICAgc3VwZXIocHJvcHMpO1xuICB9XG5cbiAgdHJhbnNmb3JtKGZ1bmN0aW9ucykge1xuICAgIHJldHVybiBmdW5jdGlvbnMucmVkdWNlKChmdW5jcywgZnVuYykgPT4ge1xuICAgICAgdmFyIG5hbWUgPSBPYmplY3Qua2V5cyhmdW5jKVswXTtcbiAgICAgIHZhciBwYXJhbXMgPSBBcnJheS5pc0FycmF5KGZ1bmNbbmFtZV0pID8gZnVuY1tuYW1lXSA6IFtmdW5jW25hbWVdXTtcbiAgICAgIHJldHVybiBgJHtmdW5jc30gJHtuYW1lfSgke3BhcmFtcy5qb2luKFwiIFwiKX0pYDtcbiAgICB9LCBcIlwiKTtcbiAgfVxuXG4gIHJlbmRlcigpIHtcbiAgICByZXR1cm4gKFxuICAgICAgPHN2ZyB2aWV3Qm94PXtbLTEsIC0xLCAxMiwgMjBdfT5cbiAgICAgICAgPGdcbiAgICAgICAgICB0cmFuc2Zvcm09e3RoaXMudHJhbnNmb3JtKFtcbiAgICAgICAgICAgIHsgdHJhbnNsYXRlOiBbdGhpcy5wcm9wcy54LCB0aGlzLnByb3BzLnldIH1cbiAgICAgICAgICBdKX1cbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgZmlsbFJ1bGU6IFwiZXZlbm9kZFwiLFxuICAgICAgICAgICAgc3Ryb2tlOiB0aGlzLnByb3BzLnN0cm9rZUNvbG9yLFxuICAgICAgICAgICAgc3Ryb2tlV2lkdGg6IDAuMjUsXG4gICAgICAgICAgICBzdHJva2VPcGFjaXR5OiAxLFxuICAgICAgICAgICAgc3Ryb2tlTGluZWNhcDogXCJidXR0XCIsXG4gICAgICAgICAgICBzdHJva2VMaW5lam9pbjogXCJtaXRlclwiXG4gICAgICAgICAgfX1cbiAgICAgICAgPlxuICAgICAgICAgIDxjaXJjbGVcbiAgICAgICAgICAgIGN4PXsxMiAvIDJ9XG4gICAgICAgICAgICBjeT17MjAgLyAzfVxuICAgICAgICAgICAgcj17MX1cbiAgICAgICAgICAgIGZpbGw9e3RoaXMucHJvcHMuY29sb3J9XG4gICAgICAgICAgICBmaWxsT3BhY2l0eT17XG4gICAgICAgICAgICAgIHRoaXMucHJvcHMub24gPyB0aGlzLnByb3BzLm9uT3BhY2l0eSA6IHRoaXMucHJvcHMub2ZmT3BhY2l0eVxuICAgICAgICAgICAgfVxuICAgICAgICAgIC8+XG4gICAgICAgICAgPGNpcmNsZVxuICAgICAgICAgICAgY3g9ezEyIC0gMTIgLyAyfVxuICAgICAgICAgICAgY3k9ezIwIC0gMjAgLyAzfVxuICAgICAgICAgICAgcj17MX1cbiAgICAgICAgICAgIGZpbGw9e3RoaXMucHJvcHMuY29sb3J9XG4gICAgICAgICAgICBmaWxsT3BhY2l0eT17XG4gICAgICAgICAgICAgIHRoaXMucHJvcHMub24gPyB0aGlzLnByb3BzLm9uT3BhY2l0eSA6IHRoaXMucHJvcHMub2ZmT3BhY2l0eVxuICAgICAgICAgICAgfVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvZz5cbiAgICAgIDwvc3ZnPlxuICAgICk7XG4gIH1cbn1cblxuQ29sb24uZGVmYXVsdFByb3BzID0ge1xuICBvbjogdHJ1ZSxcbiAgb25PcGFjaXR5OiAxLFxuICBvZmZPcGFjaXR5OiAwLjE1LFxuICBjb2xvcjogXCJyZWRcIixcbiAgc3Ryb2tlQ29sb3I6IFwiI2ZmZlwiLFxuICB4OiAwLFxuICB5OiAwXG59O1xuXG5leHBvcnQgZGVmYXVsdCBDb2xvbjtcbiJdfQ==