/**
 * Minified by jsDelivr using Terser v5.39.0.
 * Original file: /npm/react-stepzilla-cobbleweb@4.8.0-rc.2/dist/main.js
 *
 * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files
 */
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function t(t,e){for(var n=0;n<e.length;n++){var o=e[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,n,o){return n&&t(e.prototype,n),o&&t(e,o),e}}(),_react=require("react"),_react2=_interopRequireDefault(_react),_propTypes=require("prop-types"),_propTypes2=_interopRequireDefault(_propTypes),_promise=require("promise"),_promise2=_interopRequireDefault(_promise);function _interopRequireDefault(t){return t&&t.__esModule?t:{default:t}}function _classCallCheck(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function _inherits(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}var StepZilla=function(){function t(e){_classCallCheck(this,t);var n=_possibleConstructorReturn(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.state={compState:n.props.startAtStep,navState:n.getNavStates(n.props.startAtStep,n.props.steps.length)},n.hidden={display:"none"},n.nextTextOnFinalActionStep=n.props.nextTextOnFinalActionStep?n.props.nextTextOnFinalActionStep:n.props.nextButtonText,n.applyValidationFlagsToSteps(),n}return _inherits(t,_react.Component),_createClass(t,[{key:"applyValidationFlagsToSteps",value:function(){var t=this;this.props.steps.map((function(e,n){return t.props.dontValidate?e.validated=!0:e.validated=void 0===e.component.type||void 0===e.component.type.prototype.isValidated&&!t.isStepAtIndexHOCValidationBased(n),e}))}},{key:"getNavStates",value:function(t,e){for(var n=[],o=0;o<e;o++)o<t?n.push("done"):o===t?n.push("doing"):n.push("todo");return{current:t,styles:n}}},{key:"getPrevNextBtnLayout",value:function(t){var e=this.props.showPreviousBtn,n=!0,o=this.props.nextButtonText;return 0===t&&(e=!1),t===this.props.steps.length-2&&(o=this.props.nextTextOnFinalActionStep||o),t>=this.props.steps.length-1&&(n=this.props.nextBtnOnLastStep,e=!1!==this.props.prevBtnOnLastStep,o=this.props.nextButtonTextLastStep||o),{showPreviousBtn:e,showNextBtn:n,nextStepText:o}}},{key:"checkNavState",value:function(t){this.props.onStepChange&&this.props.onStepChange(t)}},{key:"setNavState",value:function(t){this.setState({navState:this.getNavStates(t,this.props.steps.length)}),t<this.props.steps.length&&this.setState({compState:t}),this.checkNavState(t)}},{key:"handleKeyDown",value:function(t){13===t.which&&(this.props.preventEnterSubmission||"textarea"===t.target.type?"textarea"!==t.target.type&&t.preventDefault():this.next())}},{key:"jumpToStep",value:function(t){var e=this;if(void 0===t.target)this.setNavState(t);else{if(!this.props.stepsNavigation||t.target.value===this.state.compState)return t.preventDefault(),void t.stopPropagation();t.persist();var n=t.target.value<this.state.compState,o=!1,a=!1;this.abstractStepMoveAllowedToPromise(n).then((function(){a=!(arguments.length>0&&void 0!==arguments[0])||arguments[0],n||e.updateStepValidationFlag(a),a&&(n||(o=e.props.steps.reduce((function(n,o,a){return a>=e.state.compState&&a<t.target.value&&n.push(o.validated),n}),[]).some((function(t){return!1===t}))))})).catch((function(){n||e.updateStepValidationFlag(!1)})).then((function(){a&&!o&&(t.target.value===e.props.steps.length-1&&e.state.compState===e.props.steps.length-1?e.setNavState(e.props.steps.length):e.setNavState(t.target.value))})).catch((function(t){t&&setTimeout((function(){throw t}))}))}}},{key:"next",value:function(){var t=this;this.abstractStepMoveAllowedToPromise().then((function(){var e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];t.updateStepValidationFlag(e),e&&t.setNavState(t.state.compState+1)})).catch((function(e){e&&setTimeout((function(){throw e})),t.updateStepValidationFlag(!1)}))}},{key:"previous",value:function(){this.state.compState>0&&this.setNavState(this.state.compState-1)}},{key:"updateStepValidationFlag",value:function(){var t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];this.props.steps[this.state.compState].validated=t}},{key:"stepMoveAllowed",value:function(){var t=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return!!this.props.dontValidate||(!!t||(this.isStepAtIndexHOCValidationBased(this.state.compState)?this.refs.activeComponent.refs.component.isValidated():0===Object.keys(this.refs).length||void 0===this.refs.activeComponent.isValidated||this.refs.activeComponent.isValidated()))}},{key:"isStepAtIndexHOCValidationBased",value:function(t){return this.props.hocValidationAppliedTo.length>0&&this.props.hocValidationAppliedTo.indexOf(t)>-1}},{key:"abstractStepMoveAllowedToPromise",value:function(t){return _promise2.default.resolve(this.stepMoveAllowed(t))}},{key:"getClassName",value:function(t,e){var n=t+"-"+this.state.navState.styles[e];return this.props.stepsNavigation||(n+=" no-hl"),n}},{key:"renderSteps",value:function(){var t=this;return this.props.steps.map((function(e,n){return _react2.default.createElement("li",{className:t.getClassName("progtrckr",n),onClick:function(e){t.jumpToStep(e)},key:n,value:n},_react2.default.createElement("em",null,n+1),_react2.default.createElement("span",null,t.props.steps[n].name))}))}},{key:"render",value:function(){var t=this,e=this.props,n=this.getPrevNextBtnLayout(this.state.compState),o=n.nextStepText,a=n.showNextBtn,s=n.showPreviousBtn,p={jumpToStep:function(e){t.jumpToStep(e)}},r=this.props.steps[this.state.compState].component;(r instanceof _react.Component||r.type&&r.type.prototype instanceof _react.Component)&&(p.ref="activeComponent");var i=_react2.default.cloneElement(r,p);return _react2.default.createElement("div",{className:"multi-step",onKeyDown:function(e){t.handleKeyDown(e)}},this.props.showSteps?_react2.default.createElement("ol",{className:"progtrckr"},this.renderSteps()):_react2.default.createElement("span",null),i,_react2.default.createElement("div",{style:this.props.showNavigation?{}:this.hidden,className:"footer-buttons"},_react2.default.createElement("button",{style:s?{}:this.hidden,className:e.backButtonCls,onClick:function(){t.previous()},id:"prev-button"},this.props.backButtonText),_react2.default.createElement("button",{style:a?{}:this.hidden,className:e.nextButtonCls,onClick:function(){t.next()},id:"next-button"},o)))}}]),t}();exports.default=StepZilla,StepZilla.defaultProps={showSteps:!0,showNavigation:!0,stepsNavigation:!0,prevBtnOnLastStep:!0,nextBtnOnLastStep:!0,showPreviousBtn:!0,dontValidate:!1,preventEnterSubmission:!1,startAtStep:0,nextButtonText:"Next",nextButtonTextLastStep:"Save",nextButtonCls:"btn btn-prev btn-primary btn-lg pull-right",backButtonText:"Previous",backButtonCls:"btn btn-next btn-primary btn-lg pull-left",hocValidationAppliedTo:[]},StepZilla.propTypes={steps:_propTypes2.default.arrayOf(_propTypes2.default.shape({name:_propTypes2.default.oneOfType([_propTypes2.default.string,_propTypes2.default.object]).isRequired,component:_propTypes2.default.element.isRequired})).isRequired,showSteps:_propTypes2.default.bool,showNavigation:_propTypes2.default.bool,stepsNavigation:_propTypes2.default.bool,prevBtnOnLastStep:_propTypes2.default.bool,nextBtnOnLastStep:_propTypes2.default.bool,showPreviousBtn:_propTypes2.default.bool,dontValidate:_propTypes2.default.bool,preventEnterSubmission:_propTypes2.default.bool,startAtStep:_propTypes2.default.number,nextButtonText:_propTypes2.default.string,nextButtonTextLastStep:_propTypes2.default.string,nextButtonCls:_propTypes2.default.string,backButtonCls:_propTypes2.default.string,backButtonText:_propTypes2.default.string,hocValidationAppliedTo:_propTypes2.default.array,onStepChange:_propTypes2.default.func};
//# sourceMappingURL=/sm/239d3d84f507c87e9f4c87a297eca0a28e3708f4a0cbdbc8aa2ed0d13772ee7d.map