UNPKG

@modern-kit/react

Version:
34 lines (30 loc) 1.01 kB
'use strict'; var utils = require('@modern-kit/utils'); var hooksUseStep = require('../useStep/index.cjs'); var React = require('react'); function useStepState(props) { const initialState = "initialState" in props ? props.initialState : null; const { type, key } = props?.storageOptions ?? {}; const [_state, _setState] = React.useState(initialState); const setState = React.useCallback( (newState) => { _setState((prev) => { const newStateToUse = utils.isFunction(newState) ? newState(prev) : newState; if (type && key) { utils.setStorageItem(type, key, newStateToUse); } return newStateToUse; }); }, [type, key] ); const clearState = React.useCallback(() => { if (type && key) { utils.removeStorageItem(type, key); } _setState(null); }, [type, key]); return { state: _state, setState, clearState, ...hooksUseStep.useStep(props) }; } exports.useStepState = useStepState; //# sourceMappingURL=index.cjs.map