wix-style-react
Version:
37 lines (27 loc) • 1.6 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.validateStepsPropType = void 0;
var _propTypes = _interopRequireDefault(require("prop-types"));
var _constants = require("./constants");
var validateStepsPropType = function validateStepsPropType(props, propName, componentName, location) {
var steps = props[propName];
var activeStep = props.activeStep;
if (Array.isArray(steps)) {
if (steps.length < _constants.MIN_STEPS || steps.length > _constants.MAX_STEPS) {
return new Error("The prop `".concat(propName, "` in `").concat(componentName, "` has to be an array with a length between ").concat(_constants.MIN_STEPS, " and ").concat(_constants.MAX_STEPS, "."));
}
if (typeof activeStep === 'number' && steps[activeStep].type === _constants.StepType.Disabled) {
return new Error("Invalid prop `".concat(propName, "[").concat(activeStep, "].type` of value `").concat(steps[activeStep].type, "` supplied to `").concat(componentName, "`. Active step cannot be disabled, will use default `").concat(_constants.StepType.Normal, "` type."));
}
} // Validate default steps array shape
_propTypes["default"].checkPropTypes({
steps: _propTypes["default"].arrayOf(_propTypes["default"].shape({
text: _propTypes["default"].string.isRequired,
type: _propTypes["default"].oneOf(Object.values(_constants.StepType))
})).isRequired
}, props, location, componentName);
};
exports.validateStepsPropType = validateStepsPropType;