@mantine/hooks 6.0.0-alpha.0 → 6.0.0-alpha.2

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.
package/cjs/index.js CHANGED
@@ -56,6 +56,7 @@ var useTimeout = require('./use-timeout/use-timeout.js');
56
56
  var useTextSelection = require('./use-text-selection/use-text-selection.js');
57
57
  var usePrevious = require('./use-previous/use-previous.js');
58
58
  var useFavicon = require('./use-favicon/use-favicon.js');
59
+ var useHeadroom = require('./use-headroom/use-headroom.js');
59
60
  var useEyeDropper = require('./use-eye-dropper/use-eye-dropper.js');
60
61
  var parseHotkey = require('./use-hotkeys/parse-hotkey.js');
61
62
  var assignRef = require('./utils/assign-ref/assign-ref.js');
@@ -125,6 +126,7 @@ exports.useTimeout = useTimeout.useTimeout;
125
126
  exports.useTextSelection = useTextSelection.useTextSelection;
126
127
  exports.usePrevious = usePrevious.usePrevious;
127
128
  exports.useFavicon = useFavicon.useFavicon;
129
+ exports.useHeadroom = useHeadroom.useHeadroom;
128
130
  exports.useEyeDropper = useEyeDropper.useEyeDropper;
129
131
  exports.getHotkeyHandler = parseHotkey.getHotkeyHandler;
130
132
  exports.assignRef = assignRef.assignRef;
package/cjs/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,46 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var React = require('react');
6
+ var useWindowScroll = require('../use-window-scroll/use-window-scroll.js');
7
+ var useIsomorphicEffect = require('../use-isomorphic-effect/use-isomorphic-effect.js');
8
+
9
+ const isFixed = (current, fixedAt) => current <= fixedAt;
10
+ const isPinned = (current, previous) => current <= previous;
11
+ const isReleased = (current, previous, fixedAt) => !isPinned(current, previous) && !isFixed(current, fixedAt);
12
+ function useHeadroom({ fixedAt = 0, onPin, onFix, onRelease } = {}) {
13
+ const scrollRef = React.useRef(0);
14
+ const [{ y: scrollPosition }] = useWindowScroll.useWindowScroll();
15
+ useIsomorphicEffect.useIsomorphicEffect(() => {
16
+ if (isPinned(scrollPosition, scrollRef.current)) {
17
+ onPin == null ? void 0 : onPin();
18
+ }
19
+ }, [scrollPosition, onPin]);
20
+ useIsomorphicEffect.useIsomorphicEffect(() => {
21
+ if (isFixed(scrollPosition, fixedAt)) {
22
+ onFix == null ? void 0 : onFix();
23
+ }
24
+ }, [scrollPosition, fixedAt, onFix]);
25
+ useIsomorphicEffect.useIsomorphicEffect(() => {
26
+ if (isReleased(scrollPosition, scrollRef.current, fixedAt)) {
27
+ onRelease == null ? void 0 : onRelease();
28
+ }
29
+ }, [scrollPosition, onRelease]);
30
+ useIsomorphicEffect.useIsomorphicEffect(() => {
31
+ scrollRef.current = window.scrollY;
32
+ }, [scrollPosition]);
33
+ if (isPinned(scrollPosition, scrollRef.current)) {
34
+ return true;
35
+ }
36
+ if (isFixed(scrollPosition, fixedAt)) {
37
+ return true;
38
+ }
39
+ return false;
40
+ }
41
+
42
+ exports.isFixed = isFixed;
43
+ exports.isPinned = isPinned;
44
+ exports.isReleased = isReleased;
45
+ exports.useHeadroom = useHeadroom;
46
+ //# sourceMappingURL=use-headroom.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-headroom.js","sources":["../../src/use-headroom/use-headroom.ts"],"sourcesContent":["import { useRef } from 'react';\nimport { useWindowScroll } from '../use-window-scroll/use-window-scroll';\nimport { useIsomorphicEffect } from '../use-isomorphic-effect/use-isomorphic-effect';\n\nexport const isFixed = (current: number, fixedAt: number) => current <= fixedAt;\nexport const isPinned = (current: number, previous: number) => current <= previous;\nexport const isReleased = (current: number, previous: number, fixedAt: number) =>\n !isPinned(current, previous) && !isFixed(current, fixedAt);\n\ninterface UseHeadroomInput {\n /** Number in px at which element should be fixed */\n fixedAt?: number;\n\n /** Called when element is pinned */\n onPin?(): void;\n\n /** Called when element is at fixed position */\n onFix?(): void;\n\n /** Called when element is unpinned */\n onRelease?(): void;\n}\n\nexport function useHeadroom({ fixedAt = 0, onPin, onFix, onRelease }: UseHeadroomInput = {}) {\n const scrollRef = useRef(0);\n const [{ y: scrollPosition }] = useWindowScroll();\n\n useIsomorphicEffect(() => {\n if (isPinned(scrollPosition, scrollRef.current)) {\n onPin?.();\n }\n }, [scrollPosition, onPin]);\n\n useIsomorphicEffect(() => {\n if (isFixed(scrollPosition, fixedAt)) {\n onFix?.();\n }\n }, [scrollPosition, fixedAt, onFix]);\n\n useIsomorphicEffect(() => {\n if (isReleased(scrollPosition, scrollRef.current, fixedAt)) {\n onRelease?.();\n }\n }, [scrollPosition, onRelease]);\n\n useIsomorphicEffect(() => {\n scrollRef.current = window.scrollY;\n }, [scrollPosition]);\n\n if (isPinned(scrollPosition, scrollRef.current)) {\n return true;\n }\n\n if (isFixed(scrollPosition, fixedAt)) {\n return true;\n }\n\n return false;\n}\n"],"names":["useRef","useWindowScroll","useIsomorphicEffect"],"mappings":";;;;;;;;AAGY,MAAC,OAAO,GAAG,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,IAAI,QAAQ;AACpD,MAAC,QAAQ,GAAG,CAAC,OAAO,EAAE,QAAQ,KAAK,OAAO,IAAI,SAAS;AACvD,MAAC,UAAU,GAAG,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,KAAK,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE;AAC9G,SAAS,WAAW,CAAC,EAAE,OAAO,GAAG,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,EAAE;AAC3E,EAAE,MAAM,SAAS,GAAGA,YAAM,CAAC,CAAC,CAAC,CAAC;AAC9B,EAAE,MAAM,CAAC,EAAE,CAAC,EAAE,cAAc,EAAE,CAAC,GAAGC,+BAAe,EAAE,CAAC;AACpD,EAAEC,uCAAmB,CAAC,MAAM;AAC5B,IAAI,IAAI,QAAQ,CAAC,cAAc,EAAE,SAAS,CAAC,OAAO,CAAC,EAAE;AACrD,MAAM,KAAK,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,KAAK,EAAE,CAAC;AACvC,KAAK;AACL,GAAG,EAAE,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC,CAAC;AAC9B,EAAEA,uCAAmB,CAAC,MAAM;AAC5B,IAAI,IAAI,OAAO,CAAC,cAAc,EAAE,OAAO,CAAC,EAAE;AAC1C,MAAM,KAAK,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,KAAK,EAAE,CAAC;AACvC,KAAK;AACL,GAAG,EAAE,CAAC,cAAc,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;AACvC,EAAEA,uCAAmB,CAAC,MAAM;AAC5B,IAAI,IAAI,UAAU,CAAC,cAAc,EAAE,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE;AAChE,MAAM,SAAS,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,SAAS,EAAE,CAAC;AAC/C,KAAK;AACL,GAAG,EAAE,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC,CAAC;AAClC,EAAEA,uCAAmB,CAAC,MAAM;AAC5B,IAAI,SAAS,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;AACvC,GAAG,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC;AACvB,EAAE,IAAI,QAAQ,CAAC,cAAc,EAAE,SAAS,CAAC,OAAO,CAAC,EAAE;AACnD,IAAI,OAAO,IAAI,CAAC;AAChB,GAAG;AACH,EAAE,IAAI,OAAO,CAAC,cAAc,EAAE,OAAO,CAAC,EAAE;AACxC,IAAI,OAAO,IAAI,CAAC;AAChB,GAAG;AACH,EAAE,OAAO,KAAK,CAAC;AACf;;;;;;;"}
package/esm/index.js CHANGED
@@ -52,6 +52,7 @@ export { useTimeout } from './use-timeout/use-timeout.js';
52
52
  export { useTextSelection } from './use-text-selection/use-text-selection.js';
53
53
  export { usePrevious } from './use-previous/use-previous.js';
54
54
  export { useFavicon } from './use-favicon/use-favicon.js';
55
+ export { useHeadroom } from './use-headroom/use-headroom.js';
55
56
  export { useEyeDropper } from './use-eye-dropper/use-eye-dropper.js';
56
57
  export { getHotkeyHandler } from './use-hotkeys/parse-hotkey.js';
57
58
  export { assignRef } from './utils/assign-ref/assign-ref.js';
package/esm/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,39 @@
1
+ import { useRef } from 'react';
2
+ import { useWindowScroll } from '../use-window-scroll/use-window-scroll.js';
3
+ import { useIsomorphicEffect } from '../use-isomorphic-effect/use-isomorphic-effect.js';
4
+
5
+ const isFixed = (current, fixedAt) => current <= fixedAt;
6
+ const isPinned = (current, previous) => current <= previous;
7
+ const isReleased = (current, previous, fixedAt) => !isPinned(current, previous) && !isFixed(current, fixedAt);
8
+ function useHeadroom({ fixedAt = 0, onPin, onFix, onRelease } = {}) {
9
+ const scrollRef = useRef(0);
10
+ const [{ y: scrollPosition }] = useWindowScroll();
11
+ useIsomorphicEffect(() => {
12
+ if (isPinned(scrollPosition, scrollRef.current)) {
13
+ onPin == null ? void 0 : onPin();
14
+ }
15
+ }, [scrollPosition, onPin]);
16
+ useIsomorphicEffect(() => {
17
+ if (isFixed(scrollPosition, fixedAt)) {
18
+ onFix == null ? void 0 : onFix();
19
+ }
20
+ }, [scrollPosition, fixedAt, onFix]);
21
+ useIsomorphicEffect(() => {
22
+ if (isReleased(scrollPosition, scrollRef.current, fixedAt)) {
23
+ onRelease == null ? void 0 : onRelease();
24
+ }
25
+ }, [scrollPosition, onRelease]);
26
+ useIsomorphicEffect(() => {
27
+ scrollRef.current = window.scrollY;
28
+ }, [scrollPosition]);
29
+ if (isPinned(scrollPosition, scrollRef.current)) {
30
+ return true;
31
+ }
32
+ if (isFixed(scrollPosition, fixedAt)) {
33
+ return true;
34
+ }
35
+ return false;
36
+ }
37
+
38
+ export { isFixed, isPinned, isReleased, useHeadroom };
39
+ //# sourceMappingURL=use-headroom.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-headroom.js","sources":["../../src/use-headroom/use-headroom.ts"],"sourcesContent":["import { useRef } from 'react';\nimport { useWindowScroll } from '../use-window-scroll/use-window-scroll';\nimport { useIsomorphicEffect } from '../use-isomorphic-effect/use-isomorphic-effect';\n\nexport const isFixed = (current: number, fixedAt: number) => current <= fixedAt;\nexport const isPinned = (current: number, previous: number) => current <= previous;\nexport const isReleased = (current: number, previous: number, fixedAt: number) =>\n !isPinned(current, previous) && !isFixed(current, fixedAt);\n\ninterface UseHeadroomInput {\n /** Number in px at which element should be fixed */\n fixedAt?: number;\n\n /** Called when element is pinned */\n onPin?(): void;\n\n /** Called when element is at fixed position */\n onFix?(): void;\n\n /** Called when element is unpinned */\n onRelease?(): void;\n}\n\nexport function useHeadroom({ fixedAt = 0, onPin, onFix, onRelease }: UseHeadroomInput = {}) {\n const scrollRef = useRef(0);\n const [{ y: scrollPosition }] = useWindowScroll();\n\n useIsomorphicEffect(() => {\n if (isPinned(scrollPosition, scrollRef.current)) {\n onPin?.();\n }\n }, [scrollPosition, onPin]);\n\n useIsomorphicEffect(() => {\n if (isFixed(scrollPosition, fixedAt)) {\n onFix?.();\n }\n }, [scrollPosition, fixedAt, onFix]);\n\n useIsomorphicEffect(() => {\n if (isReleased(scrollPosition, scrollRef.current, fixedAt)) {\n onRelease?.();\n }\n }, [scrollPosition, onRelease]);\n\n useIsomorphicEffect(() => {\n scrollRef.current = window.scrollY;\n }, [scrollPosition]);\n\n if (isPinned(scrollPosition, scrollRef.current)) {\n return true;\n }\n\n if (isFixed(scrollPosition, fixedAt)) {\n return true;\n }\n\n return false;\n}\n"],"names":[],"mappings":";;;;AAGY,MAAC,OAAO,GAAG,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,IAAI,QAAQ;AACpD,MAAC,QAAQ,GAAG,CAAC,OAAO,EAAE,QAAQ,KAAK,OAAO,IAAI,SAAS;AACvD,MAAC,UAAU,GAAG,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,KAAK,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE;AAC9G,SAAS,WAAW,CAAC,EAAE,OAAO,GAAG,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,EAAE;AAC3E,EAAE,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;AAC9B,EAAE,MAAM,CAAC,EAAE,CAAC,EAAE,cAAc,EAAE,CAAC,GAAG,eAAe,EAAE,CAAC;AACpD,EAAE,mBAAmB,CAAC,MAAM;AAC5B,IAAI,IAAI,QAAQ,CAAC,cAAc,EAAE,SAAS,CAAC,OAAO,CAAC,EAAE;AACrD,MAAM,KAAK,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,KAAK,EAAE,CAAC;AACvC,KAAK;AACL,GAAG,EAAE,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC,CAAC;AAC9B,EAAE,mBAAmB,CAAC,MAAM;AAC5B,IAAI,IAAI,OAAO,CAAC,cAAc,EAAE,OAAO,CAAC,EAAE;AAC1C,MAAM,KAAK,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,KAAK,EAAE,CAAC;AACvC,KAAK;AACL,GAAG,EAAE,CAAC,cAAc,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;AACvC,EAAE,mBAAmB,CAAC,MAAM;AAC5B,IAAI,IAAI,UAAU,CAAC,cAAc,EAAE,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE;AAChE,MAAM,SAAS,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,SAAS,EAAE,CAAC;AAC/C,KAAK;AACL,GAAG,EAAE,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC,CAAC;AAClC,EAAE,mBAAmB,CAAC,MAAM;AAC5B,IAAI,SAAS,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;AACvC,GAAG,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC;AACvB,EAAE,IAAI,QAAQ,CAAC,cAAc,EAAE,SAAS,CAAC,OAAO,CAAC,EAAE;AACnD,IAAI,OAAO,IAAI,CAAC;AAChB,GAAG;AACH,EAAE,IAAI,OAAO,CAAC,cAAc,EAAE,OAAO,CAAC,EAAE;AACxC,IAAI,OAAO,IAAI,CAAC;AAChB,GAAG;AACH,EAAE,OAAO,KAAK,CAAC;AACf;;;;"}
package/lib/index.d.ts CHANGED
@@ -53,6 +53,7 @@ export { useTimeout } from './use-timeout/use-timeout';
53
53
  export { useTextSelection } from './use-text-selection/use-text-selection';
54
54
  export { usePrevious } from './use-previous/use-previous';
55
55
  export { useFavicon } from './use-favicon/use-favicon';
56
+ export { useHeadroom } from './use-headroom/use-headroom';
56
57
  export { useEyeDropper } from './use-eye-dropper/use-eye-dropper';
57
58
  export type { UseMovePosition } from './use-move/use-move';
58
59
  export type { OS } from './use-os/use-os';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ export declare const isFixed: (current: number, fixedAt: number) => boolean;
2
+ export declare const isPinned: (current: number, previous: number) => boolean;
3
+ export declare const isReleased: (current: number, previous: number, fixedAt: number) => boolean;
4
+ interface UseHeadroomInput {
5
+ /** Number in px at which element should be fixed */
6
+ fixedAt?: number;
7
+ /** Called when element is pinned */
8
+ onPin?(): void;
9
+ /** Called when element is at fixed position */
10
+ onFix?(): void;
11
+ /** Called when element is unpinned */
12
+ onRelease?(): void;
13
+ }
14
+ export declare function useHeadroom({ fixedAt, onPin, onFix, onRelease }?: UseHeadroomInput): boolean;
15
+ export {};
16
+ //# sourceMappingURL=use-headroom.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-headroom.d.ts","sourceRoot":"","sources":["../../src/use-headroom/use-headroom.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,OAAO,YAAa,MAAM,WAAW,MAAM,YAAuB,CAAC;AAChF,eAAO,MAAM,QAAQ,YAAa,MAAM,YAAY,MAAM,YAAwB,CAAC;AACnF,eAAO,MAAM,UAAU,YAAa,MAAM,YAAY,MAAM,WAAW,MAAM,YACjB,CAAC;AAE7D,UAAU,gBAAgB;IACxB,oDAAoD;IACpD,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,oCAAoC;IACpC,KAAK,CAAC,IAAI,IAAI,CAAC;IAEf,+CAA+C;IAC/C,KAAK,CAAC,IAAI,IAAI,CAAC;IAEf,sCAAsC;IACtC,SAAS,CAAC,IAAI,IAAI,CAAC;CACpB;AAED,wBAAgB,WAAW,CAAC,EAAE,OAAW,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,GAAE,gBAAqB,WAmC1F"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mantine/hooks",
3
- "version": "6.0.0-alpha.0",
3
+ "version": "6.0.0-alpha.2",
4
4
  "main": "cjs/index.js",
5
5
  "module": "esm/index.js",
6
6
  "types": "lib/index.d.ts",