UNPKG

use-wizard

Version:

A dead-easy-to-use light-weight react hook to handle multi-paths wizards (and simple wizards too) and navigate into them.

27 lines 1.28 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.useWizard = void 0; var react_1 = require("react"); var getInitialStep_1 = require("./dependencies/getInitialStep"); var getWizardType_1 = require("./dependencies/nextStep/getWizardType"); var isTypeWizard_1 = require("./types/typeGuards/isTypeWizard"); var getWizardMethods_1 = require("./dependencies/getWizardMethods"); var useWizard = function (options) { if (!isTypeWizard_1.isTypeWizard(options)) throw new Error("Wizard error: wrong wizard options, check the doc"); var wizardType = getWizardType_1.getWizardType({ options: options }); var _a = react_1.useState([getInitialStep_1.getInitialStep({ options: options, wizardType: wizardType })]), history = _a[0], setHistory = _a[1]; var _b = react_1.useState([]), poppedHistory = _b[0], setPoppedHistory = _b[1]; var step = history[history.length - 1]; var wizard = getWizardMethods_1.getWizardMethods({ history: history, poppedHistory: poppedHistory, setHistory: setHistory, setPoppedHistory: setPoppedHistory, wizardType: wizardType, options: options }); return [step, wizard]; }; exports.useWizard = useWizard; //# sourceMappingURL=useWizard.js.map