"use strict";

var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");

Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.SnapType = exports.SizeType = exports.ScaleType = exports.RangeType = exports.PointType = exports.GraphPropsType = exports.DomainType = exports.ChildrenType = exports.BaseDomainRangeType = void 0;

var _propTypes = _interopRequireDefault(require("prop-types"));

var BaseDomainRangeType = {
  min: _propTypes["default"].number.isRequired,
  max: _propTypes["default"].number.isRequired,
  step: _propTypes["default"].number
};
exports.BaseDomainRangeType = BaseDomainRangeType;

var DomainType = _propTypes["default"].shape(BaseDomainRangeType);

exports.DomainType = DomainType;

var RangeType = _propTypes["default"].shape(BaseDomainRangeType);

exports.RangeType = RangeType;

var SizeType = _propTypes["default"].shape({
  width: _propTypes["default"].number.isRequired,
  height: _propTypes["default"].number.isRequired
});

exports.SizeType = SizeType;

var PointType = _propTypes["default"].shape({
  x: _propTypes["default"].number.isRequired,
  y: _propTypes["default"].number.isRequired
});

exports.PointType = PointType;

var ChildrenType = _propTypes["default"].oneOfType([_propTypes["default"].arrayOf(_propTypes["default"].node), _propTypes["default"].node]).isRequired;

exports.ChildrenType = ChildrenType;

var ScaleType = _propTypes["default"].shape({
  x: _propTypes["default"].func.isRequired,
  y: _propTypes["default"].func.isRequired
});

exports.ScaleType = ScaleType;

var SnapType = _propTypes["default"].shape({
  x: _propTypes["default"].func.isRequired,
  y: _propTypes["default"].func.isRequired
});

exports.SnapType = SnapType;

var GraphPropsType = _propTypes["default"].shape({
  scale: ScaleType.isRequired,
  snap: SnapType.isRequired,
  domain: DomainType.isRequired,
  range: RangeType.isRequired,
  size: SizeType.isRequired
});

exports.GraphPropsType = GraphPropsType;
//# sourceMappingURL=types.js.map