Socket
Socket
Sign inDemoInstall

react-losen

Package Overview
Dependencies
Maintainers
4
Versions
17
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

react-losen - npm Package Compare versions

Comparing version 2.0.0-3 to 2.0.0-4

dist-src/Controls.js

7

dist-src/index.js

@@ -1,3 +0,4 @@

import Wizard from "./Wizard.js";
import Step from "./Step.js";
export { Wizard, Step };
import Wizard, { ValidationError } from "./Wizard.js";
import Step, { StepContext } from "./Step.js";
import { ControlsContext } from "./Controls.js";
export { Wizard, Step, StepContext, ValidationError, ControlsContext };

@@ -1,2 +0,2 @@

import Wizard from"./Wizard.js";import Step from"./Step.js";export{Wizard,Step};
import Wizard,{ValidationError}from"./Wizard.js";import Step,{StepContext}from"./Step.js";import{ControlsContext}from"./Controls.js";export{Wizard,Step,StepContext,ValidationError,ControlsContext};
//# sourceMappingURL=index.min.js.map

@@ -1,3 +0,3 @@

import { useEffect } from 'react';
import { useStepContext } from "./Wizard.js";
import { useEffect, createContext, useContext } from 'react';
export const StepContext = createContext(null);

@@ -15,3 +15,3 @@ const Step = ({

initialized
} = useStepContext();
} = useContext(StepContext);
const stepInfo = {

@@ -18,0 +18,0 @@ name,

@@ -1,12 +0,6 @@

import React, { createContext, useState, useContext, useEffect } from 'react';
import React, { useState, useEffect } from 'react';
import { findNextValid, findPreviousValid } from "./utils.js";
import { ControlsContext } from "./Controls.js";
import { StepContext } from "./Step.js";
export class ValidationError extends Error {}
export const StepContext = createContext(null);
export const ControlsContext = createContext(null);
export function useStepContext() {
return useContext(StepContext);
}
export function useControlsContext() {
return useContext(ControlsContext);
}

@@ -13,0 +7,0 @@ const Wizard = ({

@@ -1,2 +0,2 @@

import React, { createContext, useState, useEffect, useContext } from 'react';
import React, { createContext, useContext, useEffect, useState } from 'react';

@@ -87,9 +87,48 @@ function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {

class ValidationError extends Error {}
const StepContext = createContext(null);
const ControlsContext = createContext(null);
function useStepContext() {
return useContext(StepContext);
}
const StepContext = createContext(null);
const Step = (_ref) => {
let children = _ref.children,
name = _ref.name,
validator = _ref.validator,
autoSkip = _ref.autoSkip;
const _useContext = useContext(StepContext),
registerStep = _useContext.registerStep,
activeStep = _useContext.activeStep,
updateStep = _useContext.updateStep,
initialized = _useContext.initialized;
const stepInfo = {
name,
validator,
autoSkip
};
useEffect(() => {
if (!initialized) {
registerStep(stepInfo);
}
}, [name]);
useEffect(() => {
if (initialized) {
updateStep(stepInfo);
}
}, [autoSkip, validator]);
if (activeStep.name !== name) {
return null;
}
return children;
};
Step.defaultProps = {
validator: null,
autoSkip: false
};
class ValidationError extends Error {}
const Wizard = (_ref) => {

@@ -185,42 +224,2 @@ let children = _ref.children,

const Step = (_ref) => {
let children = _ref.children,
name = _ref.name,
validator = _ref.validator,
autoSkip = _ref.autoSkip;
const _useStepContext = useStepContext(),
registerStep = _useStepContext.registerStep,
activeStep = _useStepContext.activeStep,
updateStep = _useStepContext.updateStep,
initialized = _useStepContext.initialized;
const stepInfo = {
name,
validator,
autoSkip
};
useEffect(() => {
if (!initialized) {
registerStep(stepInfo);
}
}, [name]);
useEffect(() => {
if (initialized) {
updateStep(stepInfo);
}
}, [autoSkip, validator]);
if (activeStep.name !== name) {
return null;
}
return children;
};
Step.defaultProps = {
validator: null,
autoSkip: false
};
export { Step, Wizard };
export { ControlsContext, Step, StepContext, ValidationError, Wizard };

@@ -1,2 +0,2 @@

import React,{createContext,useState,useEffect,useContext}from"react";function asyncGeneratorStep(e,t,n,r,i,o,a){try{var l=e[o](a),s=l.value}catch(e){return void n(e)}l.done?t(s):Promise.resolve(s).then(r,i)}function _asyncToGenerator(e){return function(){var t=this,n=arguments;return new Promise(function(r,i){var o=e.apply(t,n);function a(e){asyncGeneratorStep(o,r,i,a,l,"next",e)}function l(e){asyncGeneratorStep(o,r,i,a,l,"throw",e)}a(void 0)})}}function _slicedToArray(e,t){return _arrayWithHoles(e)||_iterableToArrayLimit(e,t)||_nonIterableRest()}function _arrayWithHoles(e){if(Array.isArray(e))return e}function _iterableToArrayLimit(e,t){var n=[],r=!0,i=!1,o=void 0;try{for(var a,l=e[Symbol.iterator]();!(r=(a=l.next()).done)&&(n.push(a.value),!t||n.length!==t);r=!0);}catch(e){i=!0,o=e}finally{try{r||null==l.return||l.return()}finally{if(i)throw o}}return n}function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}function findNextValid(e,t){const n=t+e.slice(t+1).findIndex(e=>!e.autoSkip);return e.length>n?n+1:n}function findPreviousValid(e,t){return t-1-[...e].reverse().slice(e.length-t).findIndex(e=>!e.autoSkip)}class ValidationError extends Error{}const StepContext=createContext(null),ControlsContext=createContext(null);function useStepContext(){return useContext(StepContext)}const Wizard=e=>{let t=e.children,n=e.onComplete;const r=_slicedToArray(useState(0),2),i=r[0],o=r[1],a=_slicedToArray(useState([]),2),l=a[0],s=a[1],u=_slicedToArray(useState(!1),2),c=u[0],d=u[1];function f(){return(f=_asyncToGenerator(function*(){const e=l[i].validator,t=findNextValid(l,i),r=findNextValid(l,i)===i?()=>n(l[i].name):()=>o(t);if(e)try{d(!0),yield new Promise(e),r()}catch(e){if(!(e instanceof ValidationError))throw e;console.error("ReactLosen",e)}finally{d(!1)}else r()})).apply(this,arguments)}return useEffect(()=>{console.debug("steps updated",l)},[l]),React.createElement(ControlsContext.Provider,{value:{onNext:function(){return f.apply(this,arguments)},onPrevious:function(){const e=findPreviousValid(l,i);o(e)},isLoading:c,isFirst:findPreviousValid(l,i)===i,isLast:findNextValid(l,i)===i}},React.createElement(StepContext.Provider,{value:{registerStep:function(e){l.map(e=>e.name).includes(e.name)||s(t=>[...t,e])},activeStep:l[i]||{},initialized:!!l[i],updateStep:function(e){const t=l.findIndex(t=>t.name===e.name);s(n=>[...n.slice(0,t),e,...n.slice(t+1)])}}},t))},Step=e=>{let t=e.children,n=e.name,r=e.validator,i=e.autoSkip;const o=useStepContext(),a=o.registerStep,l=o.activeStep,s=o.updateStep,u=o.initialized,c={name:n,validator:r,autoSkip:i};return useEffect(()=>{u||a(c)},[n]),useEffect(()=>{u&&s(c)},[i,r]),l.name!==n?null:t};Step.defaultProps={validator:null,autoSkip:!1};export{Step,Wizard};
import React,{createContext,useContext,useEffect,useState}from"react";function asyncGeneratorStep(e,t,n,r,i,o,a){try{var l=e[o](a),s=l.value}catch(e){return void n(e)}l.done?t(s):Promise.resolve(s).then(r,i)}function _asyncToGenerator(e){return function(){var t=this,n=arguments;return new Promise(function(r,i){var o=e.apply(t,n);function a(e){asyncGeneratorStep(o,r,i,a,l,"next",e)}function l(e){asyncGeneratorStep(o,r,i,a,l,"throw",e)}a(void 0)})}}function _slicedToArray(e,t){return _arrayWithHoles(e)||_iterableToArrayLimit(e,t)||_nonIterableRest()}function _arrayWithHoles(e){if(Array.isArray(e))return e}function _iterableToArrayLimit(e,t){var n=[],r=!0,i=!1,o=void 0;try{for(var a,l=e[Symbol.iterator]();!(r=(a=l.next()).done)&&(n.push(a.value),!t||n.length!==t);r=!0);}catch(e){i=!0,o=e}finally{try{r||null==l.return||l.return()}finally{if(i)throw o}}return n}function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}function findNextValid(e,t){const n=t+e.slice(t+1).findIndex(e=>!e.autoSkip);return e.length>n?n+1:n}function findPreviousValid(e,t){return t-1-[...e].reverse().slice(e.length-t).findIndex(e=>!e.autoSkip)}const ControlsContext=createContext(null),StepContext=createContext(null),Step=e=>{let t=e.children,n=e.name,r=e.validator,i=e.autoSkip;const o=useContext(StepContext),a=o.registerStep,l=o.activeStep,s=o.updateStep,c=o.initialized,u={name:n,validator:r,autoSkip:i};return useEffect(()=>{c||a(u)},[n]),useEffect(()=>{c&&s(u)},[i,r]),l.name!==n?null:t};Step.defaultProps={validator:null,autoSkip:!1};class ValidationError extends Error{}const Wizard=e=>{let t=e.children,n=e.onComplete;const r=_slicedToArray(useState(0),2),i=r[0],o=r[1],a=_slicedToArray(useState([]),2),l=a[0],s=a[1],c=_slicedToArray(useState(!1),2),u=c[0],d=c[1];function f(){return(f=_asyncToGenerator(function*(){const e=l[i].validator,t=findNextValid(l,i),r=findNextValid(l,i)===i?()=>n(l[i].name):()=>o(t);if(e)try{d(!0),yield new Promise(e),r()}catch(e){if(!(e instanceof ValidationError))throw e;console.error("ReactLosen",e)}finally{d(!1)}else r()})).apply(this,arguments)}return useEffect(()=>{console.debug("steps updated",l)},[l]),React.createElement(ControlsContext.Provider,{value:{onNext:function(){return f.apply(this,arguments)},onPrevious:function(){const e=findPreviousValid(l,i);o(e)},isLoading:u,isFirst:findPreviousValid(l,i)===i,isLast:findNextValid(l,i)===i}},React.createElement(StepContext.Provider,{value:{registerStep:function(e){l.map(e=>e.name).includes(e.name)||s(t=>[...t,e])},activeStep:l[i]||{},initialized:!!l[i],updateStep:function(e){const t=l.findIndex(t=>t.name===e.name);s(n=>[...n.slice(0,t),e,...n.slice(t+1)])}}},t))};export{ControlsContext,Step,StepContext,ValidationError,Wizard};
//# sourceMappingURL=index.min.js.map
{
"name": "react-losen",
"description": "A super customisable Wizard for React and React Native",
"version": "2.0.0-3",
"version": "2.0.0-4",
"license": "MIT",

@@ -6,0 +6,0 @@ "esnext": "dist-src/index.js",

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc