UNPKG

3 kBJavaScriptView Raw
1'use strict';
2
3var index = require('./index-b0606964.js');
4var defineProperty = require('./defineProperty-0921a47c.js');
5
6function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
7
8function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { defineProperty._defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
9
10function isEmpty(value) {
11 return value === undefined || value === null;
12} // Require a prop to not be empty
13
14
15function requireProp(props, propName, componentName) {
16 return isEmpty(props[propName]) ? new Error("The prop `".concat(propName, "` is required for `").concat(componentName, "`.")) : null;
17} // Create the `isRequired` version of a prop type
18
19
20function createIsRequired(propTypeFn) {
21 return function () {
22 return requireProp.apply(void 0, arguments) || propTypeFn.apply(void 0, arguments);
23 };
24} // Accept any number in the 0 => 1 range
25
26
27function _0to1(props, propName, componentName) {
28 if (isEmpty(props[propName])) {
29 return null;
30 }
31
32 if (typeof props[propName] === 'number' && props[propName] >= 0 && props[propName] <= 1) {
33 return null;
34 }
35
36 return new Error("Invalid prop `".concat(propName, "` supplied to `").concat(componentName, "`. Please provide a number in the 0-1 range."));
37}
38
39_0to1.isRequired = createIsRequired(_0to1); // Accept DOM Element, in DOM environments
40
41function _element(props, propName, componentName) {
42 if (!props[propName]) {
43 return null;
44 }
45
46 if (typeof Element !== 'undefined') {
47 return props[propName] instanceof Element ? null : new Error("Invalid prop `".concat(propName, "` supplied to `").concat(componentName, "`. Please provide a DOM Element."));
48 }
49
50 return null;
51}
52
53_element.isRequired = createIsRequired(_element);
54
55var ExtendedPropTypes = _objectSpread({}, index.PropTypes, {
56 _component: index.PropTypes.oneOfType([index.PropTypes.func, index.PropTypes.string, index.PropTypes.shape({
57 render: index.PropTypes.func.isRequired
58 })]),
59 _spring: index.PropTypes.shape({
60 mass: index.PropTypes.number,
61 tension: index.PropTypes.number,
62 friction: index.PropTypes.number,
63 precision: index.PropTypes.number
64 }),
65 _null: index.PropTypes.oneOf([null]),
66 _0to1: _0to1,
67 _element: _element
68});
69
70exports.PropTypes = ExtendedPropTypes;
71//# sourceMappingURL=proptypes-5b34673d.js.map