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
@@ -2458,8 +2458,12 @@ if (process.env.NODE_ENV === 'production') {
2458
2458
 
2459
2459
  function useIncrement(initialValue) {
2460
2460
  const [value, setValue] = react.exports.useState(initialValue);
2461
- const increment = react.exports.useCallback((step = 1) => setValue(value => value + step), []);
2462
- const reset = react.exports.useCallback(() => setValue(initialValue), []);
2461
+ const increment = react.exports.useCallback((step = 1) => {
2462
+ setValue(value => value + step);
2463
+ }, []);
2464
+ const reset = react.exports.useCallback(() => {
2465
+ setValue(initialValue);
2466
+ }, []);
2463
2467
  return [value, increment, reset];
2464
2468
  }
2465
2469
 
@@ -2928,14 +2932,17 @@ function useSingleSelection(values, defaultIndex) {
2928
2932
 
2929
2933
  function useStateCycle(stateList, initialStateIndex = 0) {
2930
2934
  const [index, setIndex] = react.exports.useState(initialStateIndex);
2931
- return [stateList[index], () => {
2935
+ return [
2936
+ stateList[index],
2937
+ () => setIndex(index => {
2932
2938
  if (index + 1 < stateList.length) {
2933
- setIndex(index + 1);
2939
+ return index + 1;
2934
2940
  }
2935
2941
  else {
2936
- setIndex(0);
2942
+ return 0;
2937
2943
  }
2938
- }];
2944
+ })
2945
+ ];
2939
2946
  }
2940
2947
 
2941
2948
  function useToggle(initialState = false) {
@@ -2956,5 +2963,32 @@ function useResizeObserver(callback, refs) {
2956
2963
  }, deps);
2957
2964
  }
2958
2965
 
2959
- export { useIncrement, useIsMounted, useMount, useResizeObserver, useSingleSelection, useStateCycle, useToggle };
2966
+ function useStep(steps, initialStepIndex = 0) {
2967
+ const [index, setIndex] = react.exports.useState(initialStepIndex);
2968
+ return [
2969
+ steps[index],
2970
+ () => {
2971
+ setIndex(index => {
2972
+ if (index === steps.length - 1) {
2973
+ return index;
2974
+ }
2975
+ else {
2976
+ return index + 1;
2977
+ }
2978
+ });
2979
+ },
2980
+ () => {
2981
+ setIndex(index => {
2982
+ if (index === 0) {
2983
+ return index;
2984
+ }
2985
+ else {
2986
+ return index - 1;
2987
+ }
2988
+ });
2989
+ }
2990
+ ];
2991
+ }
2992
+
2993
+ export { useIncrement, useIsMounted, useMount, useResizeObserver, useSingleSelection, useStateCycle, useStep, useToggle };
2960
2994
  //# sourceMappingURL=index.mjs.map