extra-react-hooks 0.1.6 → 0.1.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (39) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/README.md +9 -0
  3. package/dist/es2015/index.min.mjs +1 -1
  4. package/dist/es2015/index.min.mjs.map +1 -1
  5. package/dist/es2015/index.mjs +41 -7
  6. package/dist/es2015/index.mjs.map +1 -1
  7. package/dist/es2015/index.umd.js +41 -6
  8. package/dist/es2015/index.umd.js.map +1 -1
  9. package/dist/es2015/index.umd.min.js +1 -1
  10. package/dist/es2015/index.umd.min.js.map +1 -1
  11. package/dist/es2018/index.min.mjs +1 -1
  12. package/dist/es2018/index.min.mjs.map +1 -1
  13. package/dist/es2018/index.mjs +41 -7
  14. package/dist/es2018/index.mjs.map +1 -1
  15. package/dist/es2018/index.umd.js +41 -6
  16. package/dist/es2018/index.umd.js.map +1 -1
  17. package/dist/es2018/index.umd.min.js +1 -1
  18. package/dist/es2018/index.umd.min.js.map +1 -1
  19. package/lib/es2015/index.d.ts +1 -0
  20. package/lib/es2015/index.js +1 -0
  21. package/lib/es2015/index.js.map +1 -1
  22. package/lib/es2015/use-increment.js +6 -2
  23. package/lib/es2015/use-increment.js.map +1 -1
  24. package/lib/es2015/use-state-cycle.js +7 -4
  25. package/lib/es2015/use-state-cycle.js.map +1 -1
  26. package/lib/es2015/use-step.d.ts +1 -0
  27. package/lib/es2015/use-step.js +32 -0
  28. package/lib/es2015/use-step.js.map +1 -0
  29. package/lib/es2018/index.d.ts +1 -0
  30. package/lib/es2018/index.js +1 -0
  31. package/lib/es2018/index.js.map +1 -1
  32. package/lib/es2018/use-increment.js +6 -2
  33. package/lib/es2018/use-increment.js.map +1 -1
  34. package/lib/es2018/use-state-cycle.js +7 -4
  35. package/lib/es2018/use-state-cycle.js.map +1 -1
  36. package/lib/es2018/use-step.d.ts +1 -0
  37. package/lib/es2018/use-step.js +32 -0
  38. package/lib/es2018/use-step.js.map +1 -0
  39. package/package.json +12 -12
@@ -2464,8 +2464,12 @@
2464
2464
 
2465
2465
  function useIncrement(initialValue) {
2466
2466
  const [value, setValue] = react.exports.useState(initialValue);
2467
- const increment = react.exports.useCallback((step = 1) => setValue(value => value + step), []);
2468
- const reset = react.exports.useCallback(() => setValue(initialValue), []);
2467
+ const increment = react.exports.useCallback((step = 1) => {
2468
+ setValue(value => value + step);
2469
+ }, []);
2470
+ const reset = react.exports.useCallback(() => {
2471
+ setValue(initialValue);
2472
+ }, []);
2469
2473
  return [value, increment, reset];
2470
2474
  }
2471
2475
 
@@ -2934,14 +2938,17 @@
2934
2938
 
2935
2939
  function useStateCycle(stateList, initialStateIndex = 0) {
2936
2940
  const [index, setIndex] = react.exports.useState(initialStateIndex);
2937
- return [stateList[index], () => {
2941
+ return [
2942
+ stateList[index],
2943
+ () => setIndex(index => {
2938
2944
  if (index + 1 < stateList.length) {
2939
- setIndex(index + 1);
2945
+ return index + 1;
2940
2946
  }
2941
2947
  else {
2942
- setIndex(0);
2948
+ return 0;
2943
2949
  }
2944
- }];
2950
+ })
2951
+ ];
2945
2952
  }
2946
2953
 
2947
2954
  function useToggle(initialState = false) {
@@ -2962,12 +2969,40 @@
2962
2969
  }, deps);
2963
2970
  }
2964
2971
 
2972
+ function useStep(steps, initialStepIndex = 0) {
2973
+ const [index, setIndex] = react.exports.useState(initialStepIndex);
2974
+ return [
2975
+ steps[index],
2976
+ () => {
2977
+ setIndex(index => {
2978
+ if (index === steps.length - 1) {
2979
+ return index;
2980
+ }
2981
+ else {
2982
+ return index + 1;
2983
+ }
2984
+ });
2985
+ },
2986
+ () => {
2987
+ setIndex(index => {
2988
+ if (index === 0) {
2989
+ return index;
2990
+ }
2991
+ else {
2992
+ return index - 1;
2993
+ }
2994
+ });
2995
+ }
2996
+ ];
2997
+ }
2998
+
2965
2999
  exports.useIncrement = useIncrement;
2966
3000
  exports.useIsMounted = useIsMounted;
2967
3001
  exports.useMount = useMount;
2968
3002
  exports.useResizeObserver = useResizeObserver;
2969
3003
  exports.useSingleSelection = useSingleSelection;
2970
3004
  exports.useStateCycle = useStateCycle;
3005
+ exports.useStep = useStep;
2971
3006
  exports.useToggle = useToggle;
2972
3007
 
2973
3008
  Object.defineProperty(exports, '__esModule', { value: true });