@mantine/hooks 7.3.1 → 7.4.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 (83) hide show
  1. package/cjs/index.cjs +2 -0
  2. package/cjs/index.cjs.map +1 -1
  3. package/cjs/use-callback-ref/use-callback-ref.cjs.map +1 -1
  4. package/cjs/use-debounced-callback/use-debounced-callback.cjs.map +1 -1
  5. package/cjs/use-debounced-state/use-debounced-state.cjs.map +1 -1
  6. package/cjs/use-debounced-value/use-debounced-value.cjs.map +1 -1
  7. package/cjs/use-did-update/use-did-update.cjs.map +1 -1
  8. package/cjs/use-disclosure/use-disclosure.cjs.map +1 -1
  9. package/cjs/use-event-listener/use-event-listener.cjs.map +1 -1
  10. package/cjs/use-focus-trap/use-focus-trap.cjs +2 -2
  11. package/cjs/use-focus-trap/use-focus-trap.cjs.map +1 -1
  12. package/cjs/use-focus-within/use-focus-within.cjs.map +1 -1
  13. package/cjs/use-fullscreen/use-fullscreen.cjs.map +1 -1
  14. package/cjs/use-hash/use-hash.cjs.map +1 -1
  15. package/cjs/use-headroom/use-headroom.cjs +1 -1
  16. package/cjs/use-headroom/use-headroom.cjs.map +1 -1
  17. package/cjs/use-hover/use-hover.cjs.map +1 -1
  18. package/cjs/use-idle/use-idle.cjs.map +1 -1
  19. package/cjs/use-in-viewport/use-in-viewport.cjs +26 -0
  20. package/cjs/use-in-viewport/use-in-viewport.cjs.map +1 -0
  21. package/cjs/use-local-storage/create-storage.cjs.map +1 -1
  22. package/cjs/use-media-query/use-media-query.cjs.map +1 -1
  23. package/cjs/use-merged-ref/use-merged-ref.cjs.map +1 -1
  24. package/cjs/use-move/use-move.cjs +6 -4
  25. package/cjs/use-move/use-move.cjs.map +1 -1
  26. package/cjs/use-network/use-network.cjs.map +1 -1
  27. package/cjs/use-pagination/use-pagination.cjs +10 -7
  28. package/cjs/use-pagination/use-pagination.cjs.map +1 -1
  29. package/cjs/use-scroll-into-view/use-scroll-into-view.cjs.map +1 -1
  30. package/cjs/use-set-state/use-set-state.cjs.map +1 -1
  31. package/cjs/use-text-selection/use-text-selection.cjs.map +1 -1
  32. package/cjs/use-timeout/use-timeout.cjs.map +1 -1
  33. package/cjs/use-uncontrolled/use-uncontrolled.cjs +2 -2
  34. package/cjs/use-uncontrolled/use-uncontrolled.cjs.map +1 -1
  35. package/cjs/use-viewport-size/use-viewport-size.cjs.map +1 -1
  36. package/cjs/use-window-scroll/use-window-scroll.cjs.map +1 -1
  37. package/cjs/utils/range/range.cjs +6 -2
  38. package/cjs/utils/range/range.cjs.map +1 -1
  39. package/esm/index.mjs +1 -0
  40. package/esm/index.mjs.map +1 -1
  41. package/esm/use-callback-ref/use-callback-ref.mjs.map +1 -1
  42. package/esm/use-debounced-callback/use-debounced-callback.mjs.map +1 -1
  43. package/esm/use-debounced-state/use-debounced-state.mjs.map +1 -1
  44. package/esm/use-debounced-value/use-debounced-value.mjs.map +1 -1
  45. package/esm/use-did-update/use-did-update.mjs.map +1 -1
  46. package/esm/use-disclosure/use-disclosure.mjs.map +1 -1
  47. package/esm/use-event-listener/use-event-listener.mjs.map +1 -1
  48. package/esm/use-focus-trap/use-focus-trap.mjs +2 -2
  49. package/esm/use-focus-trap/use-focus-trap.mjs.map +1 -1
  50. package/esm/use-focus-within/use-focus-within.mjs.map +1 -1
  51. package/esm/use-fullscreen/use-fullscreen.mjs.map +1 -1
  52. package/esm/use-hash/use-hash.mjs.map +1 -1
  53. package/esm/use-headroom/use-headroom.mjs +1 -1
  54. package/esm/use-headroom/use-headroom.mjs.map +1 -1
  55. package/esm/use-hover/use-hover.mjs.map +1 -1
  56. package/esm/use-idle/use-idle.mjs.map +1 -1
  57. package/esm/use-in-viewport/use-in-viewport.mjs +24 -0
  58. package/esm/use-in-viewport/use-in-viewport.mjs.map +1 -0
  59. package/esm/use-local-storage/create-storage.mjs.map +1 -1
  60. package/esm/use-media-query/use-media-query.mjs.map +1 -1
  61. package/esm/use-merged-ref/use-merged-ref.mjs.map +1 -1
  62. package/esm/use-move/use-move.mjs +6 -4
  63. package/esm/use-move/use-move.mjs.map +1 -1
  64. package/esm/use-network/use-network.mjs.map +1 -1
  65. package/esm/use-pagination/use-pagination.mjs +4 -1
  66. package/esm/use-pagination/use-pagination.mjs.map +1 -1
  67. package/esm/use-scroll-into-view/use-scroll-into-view.mjs.map +1 -1
  68. package/esm/use-set-state/use-set-state.mjs.map +1 -1
  69. package/esm/use-text-selection/use-text-selection.mjs.map +1 -1
  70. package/esm/use-timeout/use-timeout.mjs.map +1 -1
  71. package/esm/use-uncontrolled/use-uncontrolled.mjs +2 -2
  72. package/esm/use-uncontrolled/use-uncontrolled.mjs.map +1 -1
  73. package/esm/use-viewport-size/use-viewport-size.mjs.map +1 -1
  74. package/esm/use-window-scroll/use-window-scroll.mjs.map +1 -1
  75. package/esm/utils/range/range.mjs +6 -2
  76. package/esm/utils/range/range.mjs.map +1 -1
  77. package/lib/index.d.mts +2 -1
  78. package/lib/index.d.ts +2 -1
  79. package/lib/use-did-update/use-did-update.d.ts +1 -1
  80. package/lib/use-in-viewport/use-in-viewport.d.ts +4 -0
  81. package/lib/use-move/use-move.d.ts +1 -1
  82. package/lib/use-uncontrolled/use-uncontrolled.d.ts +2 -2
  83. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"range.mjs","sources":["../../../src/utils/range/range.ts"],"sourcesContent":["export function range(start: number, end: number) {\n const length = end - start + 1;\n return Array.from({ length }, (_, index) => index + start);\n}\n"],"names":[],"mappings":";AACO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAK,CAAA,CAAA,CAAA,CAAA,CAAC,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAE,GAAG,CAAE,CAAA,CAAA;AAClC,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,MAAM,CAAG,CAAA,CAAA,CAAA,CAAA,CAAG,GAAG,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAG,CAAC,CAAC;AACjC,CAAA,CAAE,OAAO,CAAK,CAAA,CAAA,CAAA,CAAA,CAAC,IAAI,CAAC,CAAA,CAAE,MAAM,CAAE,CAAA,CAAA,CAAE,CAAC,CAAC,EAAE,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAK,KAAK,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAC;AAC7D,CAAA;;"}
1
+ {"version":3,"file":"range.mjs","sources":["../../../src/utils/range/range.ts"],"sourcesContent":["export function range(start: number, end: number) {\n const length = Math.abs(end - start) + 1;\n const reversed = start > end;\n\n if (!reversed) {\n return Array.from({ length }, (_, index) => index + start);\n }\n\n return Array.from({ length }, (_, index) => start - index);\n}\n"],"names":[],"mappings":";AACO,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAK,CAAA,CAAA,CAAA,CAAA,CAAC,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAE,GAAG,CAAE,CAAA,CAAA;AAClC,CAAA,CAAE,CAAM,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAM,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAI,CAAC,CAAA,CAAA,CAAG,CAAC,CAAA,CAAA,CAAG,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAA,CAAA,CAAG,CAAC,CAAC;AAC3C,CAAA,CAAE,MAAM,CAAQ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAG,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAG,GAAG,CAAC;AAC/B,CAAE,CAAA,CAAA,CAAA,CAAA,CAAI,CAAC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAQ,CAAE,CAAA,CAAA;AACjB,CAAA,CAAA,CAAA,CAAI,OAAO,CAAK,CAAA,CAAA,CAAA,CAAA,CAAC,IAAI,CAAC,CAAA,CAAE,MAAM,CAAE,CAAA,CAAA,CAAE,CAAC,CAAC,EAAE,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAK,KAAK,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAC;AAC/D,CAAG,CAAA,CAAA;AACH,CAAA,CAAE,OAAO,CAAK,CAAA,CAAA,CAAA,CAAA,CAAC,IAAI,CAAC,CAAA,CAAE,MAAM,CAAE,CAAA,CAAA,CAAE,CAAC,CAAC,EAAE,CAAK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAK,KAAK,CAAG,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC,CAAC;AAC7D,CAAA;;"}
package/lib/index.d.mts CHANGED
@@ -56,9 +56,10 @@ export { usePrevious } from './use-previous/use-previous';
56
56
  export { useFavicon } from './use-favicon/use-favicon';
57
57
  export { useHeadroom } from './use-headroom/use-headroom';
58
58
  export { useEyeDropper } from './use-eye-dropper/use-eye-dropper';
59
+ export { useInViewport } from './use-in-viewport/use-in-viewport';
59
60
  export type { UseMovePosition } from './use-move/use-move';
60
61
  export type { OS } from './use-os/use-os';
61
- export type { HotkeyItem } from './use-hotkeys/use-hotkeys';
62
+ export type { HotkeyItem, HotkeyItemOptions } from './use-hotkeys/use-hotkeys';
62
63
  export type { UseListStateHandlers } from './use-list-state/use-list-state';
63
64
  export type { EyeDropperOpenReturnType } from './use-eye-dropper/use-eye-dropper';
64
65
  export type { UseMediaQueryOptions } from './use-media-query/use-media-query';
package/lib/index.d.ts CHANGED
@@ -56,9 +56,10 @@ export { usePrevious } from './use-previous/use-previous';
56
56
  export { useFavicon } from './use-favicon/use-favicon';
57
57
  export { useHeadroom } from './use-headroom/use-headroom';
58
58
  export { useEyeDropper } from './use-eye-dropper/use-eye-dropper';
59
+ export { useInViewport } from './use-in-viewport/use-in-viewport';
59
60
  export type { UseMovePosition } from './use-move/use-move';
60
61
  export type { OS } from './use-os/use-os';
61
- export type { HotkeyItem } from './use-hotkeys/use-hotkeys';
62
+ export type { HotkeyItem, HotkeyItemOptions } from './use-hotkeys/use-hotkeys';
62
63
  export type { UseListStateHandlers } from './use-list-state/use-list-state';
63
64
  export type { EyeDropperOpenReturnType } from './use-eye-dropper/use-eye-dropper';
64
65
  export type { UseMediaQueryOptions } from './use-media-query/use-media-query';
@@ -1,2 +1,2 @@
1
- import { EffectCallback, DependencyList } from 'react';
1
+ import { DependencyList, EffectCallback } from 'react';
2
2
  export declare function useDidUpdate(fn: EffectCallback, dependencies?: DependencyList): void;
@@ -0,0 +1,4 @@
1
+ export declare function useInViewport<T extends HTMLElement = any>(): {
2
+ ref: import("react").RefObject<T>;
3
+ inViewport: boolean;
4
+ };
@@ -2,7 +2,7 @@ export interface UseMovePosition {
2
2
  x: number;
3
3
  y: number;
4
4
  }
5
- export declare const clampUseMovePosition: (position: UseMovePosition) => {
5
+ export declare function clampUseMovePosition(position: UseMovePosition): {
6
6
  x: number;
7
7
  y: number;
8
8
  };
@@ -6,7 +6,7 @@ interface UseUncontrolledInput<T> {
6
6
  /** Final value for uncontrolled state when value and defaultValue are not provided */
7
7
  finalValue?: T;
8
8
  /** Controlled state onChange handler */
9
- onChange?: (value: T) => void;
9
+ onChange?: (value: T, ...payload: any[]) => void;
10
10
  }
11
- export declare function useUncontrolled<T>({ value, defaultValue, finalValue, onChange, }: UseUncontrolledInput<T>): [T, (value: T) => void, boolean];
11
+ export declare function useUncontrolled<T>({ value, defaultValue, finalValue, onChange, }: UseUncontrolledInput<T>): [T, (value: T, ...payload: any[]) => void, boolean];
12
12
  export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mantine/hooks",
3
- "version": "7.3.1",
3
+ "version": "7.4.0",
4
4
  "description": "A collection of 50+ hooks for state and UI management",
5
5
  "homepage": "https://mantine.dev",
6
6
  "license": "MIT",