geoiq-frontend-ui-kit
Version:
This project is a UI kit for GeoIQ's frontend. It's built with React, TypeScript, and Vite.
32 lines (31 loc) • 906 B
JavaScript
import { useState as p } from "react";
import { StepItemStatus as e } from "./index.es28.js";
const N = (o) => {
const i = JSON.parse(
JSON.stringify(o)
), [a, u] = p(i);
return {
steps: a,
nextStep: () => {
u((n) => {
const t = [...n], s = t.findIndex(
(r) => r.status === e.CURRENT
);
return s !== -1 && (t[s].status = e.COMPLETED, s < t.length - 1 && (t[s + 1].status = e.CURRENT)), t;
});
},
resetSteps: () => {
u(i);
},
previousStep: () => {
u((n) => {
const t = [...n], s = t.findIndex((r) => r.status === e.CURRENT || n[n.length - 1].id == r?.id && r.status == e.COMPLETED);
return s !== -1 && s > -1 && (t[s].status = e.PENDING, s == 0 ? t[s].status = e.CURRENT : t[s - 1].status = e.CURRENT), t;
});
}
};
};
export {
N as useStepper
};
//# sourceMappingURL=index.es77.js.map