UNPKG

grommet

Version:

The most advanced UX framework for enterprise applications.

70 lines (53 loc) 2.5 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.propTypes = exports.baseDimension = 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; }; // (C) Copyright 2014-2016 Hewlett Packard Enterprise Development LP exports.buildPath = buildPath; var _react = require('react'); var _react2 = _interopRequireDefault(_react); var _propTypes = require('prop-types'); var _propTypes2 = _interopRequireDefault(_propTypes); var _Graphics = require('../../utils/Graphics'); var _CSSClassnames = require('../../utils/CSSClassnames'); var _CSSClassnames2 = _interopRequireDefault(_CSSClassnames); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var CLASS_ROOT = _CSSClassnames2.default.METER; var baseDimension = exports.baseDimension = _Graphics.baseUnit * 8; var propTypes = exports.propTypes = { activeIndex: _propTypes2.default.number, a11yTitle: _propTypes2.default.string, max: _propTypes2.default.number.isRequired, min: _propTypes2.default.number.isRequired, onActivate: _propTypes2.default.func, series: _propTypes2.default.arrayOf(_propTypes2.default.shape({ label: _propTypes2.default.string, value: _propTypes2.default.number.isRequired, colorIndex: _propTypes2.default.string, onClick: _propTypes2.default.func })).isRequired, total: _propTypes2.default.number }; function buildPath(itemIndex, commands, classes, onActivate, onClick, a11yTitle, role) { if (onActivate) { var onOver = onActivate.bind(null, itemIndex); var onOut = onActivate.bind(null, undefined); var a11yRoles = {}; if (a11yTitle) { a11yRoles['aria-label'] = a11yTitle; a11yRoles.role = role; } return _react2.default.createElement( 'g', _extends({ key: itemIndex }, a11yRoles), _react2.default.createElement('path', { className: classes, d: commands, 'data-index': itemIndex, onFocus: onOver, onBlur: onOut }), _react2.default.createElement('path', { className: CLASS_ROOT + '__hot', d: commands, fill: 'none', onMouseOver: onOver, onMouseOut: onOut, onClick: onClick }) ); } else { return _react2.default.createElement('path', { key: itemIndex, className: classes, d: commands }); } }