@alessiofrittoli/react-hooks 1.1.0 → 2.0.0

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 (102) hide show
  1. package/README.md +387 -73
  2. package/dist/eslint.js +1 -2
  3. package/dist/eslint.mjs +1 -2
  4. package/dist/index.d.mts +940 -11
  5. package/dist/index.d.ts +940 -11
  6. package/dist/index.js +1 -2
  7. package/dist/index.mjs +1 -2
  8. package/package.json +132 -145
  9. package/dist/browser-api/index.d.mts +0 -6
  10. package/dist/browser-api/index.d.ts +0 -6
  11. package/dist/browser-api/index.js +0 -2
  12. package/dist/browser-api/index.js.map +0 -1
  13. package/dist/browser-api/index.mjs +0 -2
  14. package/dist/browser-api/index.mjs.map +0 -1
  15. package/dist/browser-api/storage/index.d.mts +0 -4
  16. package/dist/browser-api/storage/index.d.ts +0 -4
  17. package/dist/browser-api/storage/index.js +0 -2
  18. package/dist/browser-api/storage/index.js.map +0 -1
  19. package/dist/browser-api/storage/index.mjs +0 -2
  20. package/dist/browser-api/storage/index.mjs.map +0 -1
  21. package/dist/browser-api/storage/useLocalStorage.d.mts +0 -11
  22. package/dist/browser-api/storage/useLocalStorage.d.ts +0 -11
  23. package/dist/browser-api/storage/useLocalStorage.js +0 -2
  24. package/dist/browser-api/storage/useLocalStorage.js.map +0 -1
  25. package/dist/browser-api/storage/useLocalStorage.mjs +0 -2
  26. package/dist/browser-api/storage/useLocalStorage.mjs.map +0 -1
  27. package/dist/browser-api/storage/useSessionStorage.d.mts +0 -11
  28. package/dist/browser-api/storage/useSessionStorage.d.ts +0 -11
  29. package/dist/browser-api/storage/useSessionStorage.js +0 -2
  30. package/dist/browser-api/storage/useSessionStorage.js.map +0 -1
  31. package/dist/browser-api/storage/useSessionStorage.mjs +0 -2
  32. package/dist/browser-api/storage/useSessionStorage.mjs.map +0 -1
  33. package/dist/browser-api/storage/useStorage.d.mts +0 -12
  34. package/dist/browser-api/storage/useStorage.d.ts +0 -12
  35. package/dist/browser-api/storage/useStorage.js +0 -2
  36. package/dist/browser-api/storage/useStorage.js.map +0 -1
  37. package/dist/browser-api/storage/useStorage.mjs +0 -2
  38. package/dist/browser-api/storage/useStorage.mjs.map +0 -1
  39. package/dist/browser-api/useIsPortrait.d.mts +0 -10
  40. package/dist/browser-api/useIsPortrait.d.ts +0 -10
  41. package/dist/browser-api/useIsPortrait.js +0 -2
  42. package/dist/browser-api/useIsPortrait.js.map +0 -1
  43. package/dist/browser-api/useIsPortrait.mjs +0 -2
  44. package/dist/browser-api/useIsPortrait.mjs.map +0 -1
  45. package/dist/browser-api/useMediaQuery.d.mts +0 -11
  46. package/dist/browser-api/useMediaQuery.d.ts +0 -11
  47. package/dist/browser-api/useMediaQuery.js +0 -2
  48. package/dist/browser-api/useMediaQuery.js.map +0 -1
  49. package/dist/browser-api/useMediaQuery.mjs +0 -2
  50. package/dist/browser-api/useMediaQuery.mjs.map +0 -1
  51. package/dist/dom-api/index.d.mts +0 -2
  52. package/dist/dom-api/index.d.ts +0 -2
  53. package/dist/dom-api/index.js +0 -2
  54. package/dist/dom-api/index.js.map +0 -1
  55. package/dist/dom-api/index.mjs +0 -2
  56. package/dist/dom-api/index.mjs.map +0 -1
  57. package/dist/dom-api/useFocusTrap.d.mts +0 -15
  58. package/dist/dom-api/useFocusTrap.d.ts +0 -15
  59. package/dist/dom-api/useFocusTrap.js +0 -2
  60. package/dist/dom-api/useFocusTrap.js.map +0 -1
  61. package/dist/dom-api/useFocusTrap.mjs +0 -2
  62. package/dist/dom-api/useFocusTrap.mjs.map +0 -1
  63. package/dist/dom-api/useScrollBlock.d.mts +0 -8
  64. package/dist/dom-api/useScrollBlock.d.ts +0 -8
  65. package/dist/dom-api/useScrollBlock.js +0 -2
  66. package/dist/dom-api/useScrollBlock.js.map +0 -1
  67. package/dist/dom-api/useScrollBlock.mjs +0 -2
  68. package/dist/dom-api/useScrollBlock.mjs.map +0 -1
  69. package/dist/eslint.js.map +0 -1
  70. package/dist/eslint.mjs.map +0 -1
  71. package/dist/index.js.map +0 -1
  72. package/dist/index.mjs.map +0 -1
  73. package/dist/misc/index.d.mts +0 -3
  74. package/dist/misc/index.d.ts +0 -3
  75. package/dist/misc/index.js +0 -2
  76. package/dist/misc/index.js.map +0 -1
  77. package/dist/misc/index.mjs +0 -2
  78. package/dist/misc/index.mjs.map +0 -1
  79. package/dist/misc/useIsClient.d.mts +0 -8
  80. package/dist/misc/useIsClient.d.ts +0 -8
  81. package/dist/misc/useIsClient.js +0 -2
  82. package/dist/misc/useIsClient.js.map +0 -1
  83. package/dist/misc/useIsClient.mjs +0 -2
  84. package/dist/misc/useIsClient.mjs.map +0 -1
  85. package/dist/misc/useIsFirstRender.d.mts +0 -9
  86. package/dist/misc/useIsFirstRender.d.ts +0 -9
  87. package/dist/misc/useIsFirstRender.js +0 -2
  88. package/dist/misc/useIsFirstRender.js.map +0 -1
  89. package/dist/misc/useIsFirstRender.mjs +0 -2
  90. package/dist/misc/useIsFirstRender.mjs.map +0 -1
  91. package/dist/misc/usePagination.d.mts +0 -12
  92. package/dist/misc/usePagination.d.ts +0 -12
  93. package/dist/misc/usePagination.js +0 -2
  94. package/dist/misc/usePagination.js.map +0 -1
  95. package/dist/misc/usePagination.mjs +0 -2
  96. package/dist/misc/usePagination.mjs.map +0 -1
  97. package/dist/misc/useUpdateEffect.d.mts +0 -9
  98. package/dist/misc/useUpdateEffect.d.ts +0 -9
  99. package/dist/misc/useUpdateEffect.js +0 -2
  100. package/dist/misc/useUpdateEffect.js.map +0 -1
  101. package/dist/misc/useUpdateEffect.mjs +0 -2
  102. package/dist/misc/useUpdateEffect.mjs.map +0 -1
@@ -1,2 +0,0 @@
1
- 'use strict';var react=require('react'),helpers=require('@alessiofrittoli/math-utils/helpers');var p=(t={})=>react.useMemo(()=>helpers.paginate(t),[t]);exports.usePagination=p;//# sourceMappingURL=usePagination.js.map
2
- //# sourceMappingURL=usePagination.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/misc/usePagination.ts"],"names":["usePagination","options","useMemo","paginate"],"mappings":"mGASaA,CAAgB,CAAA,CAAEC,EAA2B,EAAC,GAC1DC,cAAS,IAAMC,gBAAAA,CAAUF,CAAQ,CAAG,CAAA,CAAEA,CAAQ,CAAE","file":"usePagination.js","sourcesContent":["import { useMemo } from 'react'\nimport { paginate, type PaginateOptions } from '@alessiofrittoli/math-utils/helpers'\n\n/**\n * Get pagination informations based on the given options.\n *\n * @param options An object defining pagination input data. See {@link PaginateOptions} for more information.\n * @returns A memoized object containing pagination informations based on the given options.\n */\nexport const usePagination = ( options: PaginateOptions = {} ) => (\n\tuseMemo( () => paginate( options ), [ options ] )\n)"]}
@@ -1,2 +0,0 @@
1
- import {useMemo}from'react';import {paginate}from'@alessiofrittoli/math-utils/helpers';var m=(t={})=>useMemo(()=>paginate(t),[t]);export{m as usePagination};//# sourceMappingURL=usePagination.mjs.map
2
- //# sourceMappingURL=usePagination.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/misc/usePagination.ts"],"names":["usePagination","options","useMemo","paginate"],"mappings":"2FASaA,CAAgB,CAAA,CAAEC,EAA2B,EAAC,GAC1DC,QAAS,IAAMC,QAAAA,CAAUF,CAAQ,CAAG,CAAA,CAAEA,CAAQ,CAAE","file":"usePagination.mjs","sourcesContent":["import { useMemo } from 'react'\nimport { paginate, type PaginateOptions } from '@alessiofrittoli/math-utils/helpers'\n\n/**\n * Get pagination informations based on the given options.\n *\n * @param options An object defining pagination input data. See {@link PaginateOptions} for more information.\n * @returns A memoized object containing pagination informations based on the given options.\n */\nexport const usePagination = ( options: PaginateOptions = {} ) => (\n\tuseMemo( () => paginate( options ), [ options ] )\n)"]}
@@ -1,9 +0,0 @@
1
- /**
2
- * Modified version of `useEffect` that skips the first render.
3
- *
4
- * @param effect Imperative function that can return a cleanup function.
5
- * @param deps If present, effect will only activate if the values in the list change.
6
- */
7
- declare const useUpdateEffect: (effect: React.EffectCallback, deps?: React.DependencyList) => void;
8
-
9
- export { useUpdateEffect };
@@ -1,9 +0,0 @@
1
- /**
2
- * Modified version of `useEffect` that skips the first render.
3
- *
4
- * @param effect Imperative function that can return a cleanup function.
5
- * @param deps If present, effect will only activate if the values in the list change.
6
- */
7
- declare const useUpdateEffect: (effect: React.EffectCallback, deps?: React.DependencyList) => void;
8
-
9
- export { useUpdateEffect };
@@ -1,2 +0,0 @@
1
- 'use strict';var react=require('react');var r=()=>{let e=react.useRef(true);return e.current?(e.current=false,true):e.current};var m=(e,t)=>{let s=r();react.useEffect(()=>{if(!s)return e()},t);};exports.useUpdateEffect=m;//# sourceMappingURL=useUpdateEffect.js.map
2
- //# sourceMappingURL=useUpdateEffect.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/misc/useIsFirstRender.ts","../../src/misc/useUpdateEffect.ts"],"names":["useIsFirstRender","isFirst","useRef","useUpdateEffect","effect","deps","useEffect"],"mappings":"wCAQO,IAAMA,CAAmB,CAAA,IAAM,CAErC,IAAMC,CAAAA,CAAUC,aAAQ,IAAK,CAAA,CAE7B,OAAKD,CAAQ,CAAA,OAAA,EACZA,CAAQ,CAAA,OAAA,CAAU,KAEX,CAAA,IAAA,EAGDA,EAAQ,OAEhB,CAAA,KCVaE,CAAkB,CAAA,CAC9BC,EACAC,CACI,GAAA,CAEJ,IAAMJ,CAAAA,CAAUD,CAAiB,EAAA,CAEjCM,gBAAW,IAAM,CAChB,GAAK,CAAEL,CAAAA,CAAU,OAAOG,CAAO,EAEhC,CAAGC,CAAAA,CAAK,EAET","file":"useUpdateEffect.js","sourcesContent":["import { useRef } from 'react'\n\n/**\n * Check if is first React Hook/Component render.\n * \n * @returns `true` at the mount time, then always `false`.\n * - Note that if the React Hook/Component has no state updates, `useIsFirstRender` will always return `true`.\n */\nexport const useIsFirstRender = () => {\n\n\tconst isFirst = useRef( true )\n\n\tif ( isFirst.current ) {\n\t\tisFirst.current = false\n\n\t\treturn true\n\t}\n\n\treturn isFirst.current\n\t\n}","import { useEffect } from 'react'\nimport { useIsFirstRender } from './useIsFirstRender'\n\n\n/**\n * Modified version of `useEffect` that skips the first render.\n *\n * @param\teffect\tImperative function that can return a cleanup function.\n * @param\tdeps\tIf present, effect will only activate if the values in the list change.\n */\nexport const useUpdateEffect = (\n\teffect\t: React.EffectCallback,\n\tdeps?\t: React.DependencyList,\n) => {\n\n\tconst isFirst = useIsFirstRender()\n\n\tuseEffect( () => {\n\t\tif ( ! isFirst ) return effect()\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, deps )\n\t\n}"]}
@@ -1,2 +0,0 @@
1
- import {useEffect,useRef}from'react';var r=()=>{let e=useRef(true);return e.current?(e.current=false,true):e.current};var R=(e,t)=>{let s=r();useEffect(()=>{if(!s)return e()},t);};export{R as useUpdateEffect};//# sourceMappingURL=useUpdateEffect.mjs.map
2
- //# sourceMappingURL=useUpdateEffect.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/misc/useIsFirstRender.ts","../../src/misc/useUpdateEffect.ts"],"names":["useIsFirstRender","isFirst","useRef","useUpdateEffect","effect","deps","useEffect"],"mappings":"qCAQO,IAAMA,CAAmB,CAAA,IAAM,CAErC,IAAMC,CAAAA,CAAUC,OAAQ,IAAK,CAAA,CAE7B,OAAKD,CAAQ,CAAA,OAAA,EACZA,CAAQ,CAAA,OAAA,CAAU,KAEX,CAAA,IAAA,EAGDA,EAAQ,OAEhB,CAAA,KCVaE,CAAkB,CAAA,CAC9BC,EACAC,CACI,GAAA,CAEJ,IAAMJ,CAAAA,CAAUD,CAAiB,EAAA,CAEjCM,UAAW,IAAM,CAChB,GAAK,CAAEL,CAAAA,CAAU,OAAOG,CAAO,EAEhC,CAAGC,CAAAA,CAAK,EAET","file":"useUpdateEffect.mjs","sourcesContent":["import { useRef } from 'react'\n\n/**\n * Check if is first React Hook/Component render.\n * \n * @returns `true` at the mount time, then always `false`.\n * - Note that if the React Hook/Component has no state updates, `useIsFirstRender` will always return `true`.\n */\nexport const useIsFirstRender = () => {\n\n\tconst isFirst = useRef( true )\n\n\tif ( isFirst.current ) {\n\t\tisFirst.current = false\n\n\t\treturn true\n\t}\n\n\treturn isFirst.current\n\t\n}","import { useEffect } from 'react'\nimport { useIsFirstRender } from './useIsFirstRender'\n\n\n/**\n * Modified version of `useEffect` that skips the first render.\n *\n * @param\teffect\tImperative function that can return a cleanup function.\n * @param\tdeps\tIf present, effect will only activate if the values in the list change.\n */\nexport const useUpdateEffect = (\n\teffect\t: React.EffectCallback,\n\tdeps?\t: React.DependencyList,\n) => {\n\n\tconst isFirst = useIsFirstRender()\n\n\tuseEffect( () => {\n\t\tif ( ! isFirst ) return effect()\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, deps )\n\t\n}"]}