UNPKG

grommet

Version:

focus on the essential experience

80 lines (58 loc) 2.43 kB
"use strict"; var _react = _interopRequireDefault(require("react")); var _react2 = require("@storybook/react"); var _grommet = require("grommet"); var _themes = require("grommet/themes"); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; } function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; } function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } var CircleMeter = /*#__PURE__*/ function (_React$Component) { _inheritsLoose(CircleMeter, _React$Component); function CircleMeter() { var _this; for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key]; } _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this; _defineProperty(_assertThisInitialized(_this), "state", { value: 20 }); return _this; } var _proto = CircleMeter.prototype; _proto.componentDidMount = function componentDidMount() { var _this2 = this; this.timer = setInterval(function () { var value = _this2.state.value; _this2.setState({ value: value < 100 ? value + 8 : 20 }); }, 2000); }; _proto.componentWillUnmount = function componentWillUnmount() { clearInterval(this.timer); }; _proto.render = function render() { var value = this.state.value; return _react["default"].createElement(_grommet.Grommet, { theme: _themes.grommet }, _react["default"].createElement(_grommet.Box, { align: "center", pad: "large" }, _react["default"].createElement(_grommet.Meter, { type: "circle", background: "light-2", values: [{ value: value, color: value > 50 ? 'accent-2' : 'accent-1' }] }))); }; return CircleMeter; }(_react["default"].Component); (0, _react2.storiesOf)('Meter', module).add('Circle', function () { return _react["default"].createElement(CircleMeter, null); });