@mantine/hooks 7.1.2 → 7.1.3

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.
@@ -13,7 +13,15 @@ function scopeTab(node, event) {
13
13
  }
14
14
  const finalTabbable = tabbable$1[event.shiftKey ? 0 : tabbable$1.length - 1];
15
15
  const root = node.getRootNode();
16
- const leavingFinalTabbable = finalTabbable === root.activeElement || node === root.activeElement;
16
+ let leavingFinalTabbable = finalTabbable === root.activeElement || node === root.activeElement;
17
+ const activeElement = root.activeElement;
18
+ const activeElementIsRadio = activeElement.tagName === "INPUT" && activeElement.getAttribute("type") === "radio";
19
+ if (activeElementIsRadio) {
20
+ const activeRadioGroup = tabbable$1.filter(
21
+ (element) => element.getAttribute("type") === "radio" && element.getAttribute("name") === activeElement.getAttribute("name")
22
+ );
23
+ leavingFinalTabbable = activeRadioGroup.includes(finalTabbable);
24
+ }
17
25
  if (!leavingFinalTabbable) {
18
26
  return;
19
27
  }
@@ -1 +1 @@
1
- {"version":3,"file":"scope-tab.js","sources":["../../src/use-focus-trap/scope-tab.ts"],"sourcesContent":["import { findTabbableDescendants } from './tabbable';\n\nexport function scopeTab(node: HTMLElement, event: KeyboardEvent) {\n const tabbable = findTabbableDescendants(node);\n if (!tabbable.length) {\n event.preventDefault();\n return;\n }\n const finalTabbable = tabbable[event.shiftKey ? 0 : tabbable.length - 1];\n const root = node.getRootNode() as unknown as DocumentOrShadowRoot;\n const leavingFinalTabbable = finalTabbable === root.activeElement || node === root.activeElement;\n\n if (!leavingFinalTabbable) {\n return;\n }\n\n event.preventDefault();\n\n const target = tabbable[event.shiftKey ? tabbable.length - 1 : 0];\n\n if (target) {\n target.focus();\n }\n}\n"],"names":["tabbable","findTabbableDescendants"],"mappings":";;;;;;;AACO,SAAS,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE;AACtC,EAAE,MAAMA,UAAQ,GAAGC,gCAAuB,CAAC,IAAI,CAAC,CAAC;AACjD,EAAE,IAAI,CAACD,UAAQ,CAAC,MAAM,EAAE;AACxB,IAAI,KAAK,CAAC,cAAc,EAAE,CAAC;AAC3B,IAAI,OAAO;AACX,GAAG;AACH,EAAE,MAAM,aAAa,GAAGA,UAAQ,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,GAAGA,UAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AAC3E,EAAE,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;AAClC,EAAE,MAAM,oBAAoB,GAAG,aAAa,KAAK,IAAI,CAAC,aAAa,IAAI,IAAI,KAAK,IAAI,CAAC,aAAa,CAAC;AACnG,EAAE,IAAI,CAAC,oBAAoB,EAAE;AAC7B,IAAI,OAAO;AACX,GAAG;AACH,EAAE,KAAK,CAAC,cAAc,EAAE,CAAC;AACzB,EAAE,MAAM,MAAM,GAAGA,UAAQ,CAAC,KAAK,CAAC,QAAQ,GAAGA,UAAQ,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;AACpE,EAAE,IAAI,MAAM,EAAE;AACd,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;AACnB,GAAG;AACH;;"}
1
+ {"version":3,"file":"scope-tab.js","sources":["../../src/use-focus-trap/scope-tab.ts"],"sourcesContent":["import { findTabbableDescendants } from './tabbable';\n\nexport function scopeTab(node: HTMLElement, event: KeyboardEvent) {\n const tabbable = findTabbableDescendants(node);\n if (!tabbable.length) {\n event.preventDefault();\n return;\n }\n const finalTabbable = tabbable[event.shiftKey ? 0 : tabbable.length - 1];\n const root = node.getRootNode() as unknown as DocumentOrShadowRoot;\n let leavingFinalTabbable = finalTabbable === root.activeElement || node === root.activeElement;\n\n const activeElement = root.activeElement as Element;\n const activeElementIsRadio =\n activeElement.tagName === 'INPUT' && activeElement.getAttribute('type') === 'radio';\n if (activeElementIsRadio) {\n const activeRadioGroup = tabbable.filter(\n (element) =>\n element.getAttribute('type') === 'radio' &&\n element.getAttribute('name') === activeElement.getAttribute('name')\n );\n leavingFinalTabbable = activeRadioGroup.includes(finalTabbable);\n }\n\n if (!leavingFinalTabbable) {\n return;\n }\n\n event.preventDefault();\n\n const target = tabbable[event.shiftKey ? tabbable.length - 1 : 0];\n\n if (target) {\n target.focus();\n }\n}\n"],"names":["tabbable","findTabbableDescendants"],"mappings":";;;;;;;AACO,SAAS,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE;AACtC,EAAE,MAAMA,UAAQ,GAAGC,gCAAuB,CAAC,IAAI,CAAC,CAAC;AACjD,EAAE,IAAI,CAACD,UAAQ,CAAC,MAAM,EAAE;AACxB,IAAI,KAAK,CAAC,cAAc,EAAE,CAAC;AAC3B,IAAI,OAAO;AACX,GAAG;AACH,EAAE,MAAM,aAAa,GAAGA,UAAQ,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,GAAGA,UAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AAC3E,EAAE,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;AAClC,EAAE,IAAI,oBAAoB,GAAG,aAAa,KAAK,IAAI,CAAC,aAAa,IAAI,IAAI,KAAK,IAAI,CAAC,aAAa,CAAC;AACjG,EAAE,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;AAC3C,EAAE,MAAM,oBAAoB,GAAG,aAAa,CAAC,OAAO,KAAK,OAAO,IAAI,aAAa,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,OAAO,CAAC;AACnH,EAAE,IAAI,oBAAoB,EAAE;AAC5B,IAAI,MAAM,gBAAgB,GAAGA,UAAQ,CAAC,MAAM;AAC5C,MAAM,CAAC,OAAO,KAAK,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,OAAO,IAAI,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,aAAa,CAAC,YAAY,CAAC,MAAM,CAAC;AAClI,KAAK,CAAC;AACN,IAAI,oBAAoB,GAAG,gBAAgB,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;AACpE,GAAG;AACH,EAAE,IAAI,CAAC,oBAAoB,EAAE;AAC7B,IAAI,OAAO;AACX,GAAG;AACH,EAAE,KAAK,CAAC,cAAc,EAAE,CAAC;AACzB,EAAE,MAAM,MAAM,GAAGA,UAAQ,CAAC,KAAK,CAAC,QAAQ,GAAGA,UAAQ,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;AACpE,EAAE,IAAI,MAAM,EAAE;AACd,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;AACnB,GAAG;AACH;;"}
@@ -16,7 +16,7 @@ function useTimeout(callback, delay, options = { autoInvoke: false }) {
16
16
  }, delay);
17
17
  }
18
18
  },
19
- [callback, delay]
19
+ [delay]
20
20
  );
21
21
  const clear = React.useCallback(() => {
22
22
  if (timeoutRef.current) {
@@ -1 +1 @@
1
- {"version":3,"file":"use-timeout.js","sources":["../../src/use-timeout/use-timeout.ts"],"sourcesContent":["import { useRef, useEffect, useCallback } from 'react';\n\nexport function useTimeout(\n callback: (...callbackParams: any[]) => void,\n delay: number,\n options: { autoInvoke: boolean } = { autoInvoke: false }\n) {\n const timeoutRef = useRef<number | null>(null);\n\n const start = useCallback(\n (...callbackParams: any[]) => {\n if (!timeoutRef.current) {\n timeoutRef.current = window.setTimeout(() => {\n callback(callbackParams);\n timeoutRef.current = null;\n }, delay);\n }\n },\n [callback, delay]\n );\n\n const clear = useCallback(() => {\n if (timeoutRef.current) {\n window.clearTimeout(timeoutRef.current);\n timeoutRef.current = null;\n }\n }, []);\n\n useEffect(() => {\n if (options.autoInvoke) {\n start();\n }\n\n return clear;\n }, [clear, start]);\n\n return { start, clear };\n}\n"],"names":["useRef","useCallback","useEffect"],"mappings":";;;;;;;AACO,SAAS,UAAU,CAAC,QAAQ,EAAE,KAAK,EAAE,OAAO,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE;AAC7E,EAAE,MAAM,UAAU,GAAGA,YAAM,CAAC,IAAI,CAAC,CAAC;AAClC,EAAE,MAAM,KAAK,GAAGC,iBAAW;AAC3B,IAAI,CAAC,GAAG,cAAc,KAAK;AAC3B,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE;AAC/B,QAAQ,UAAU,CAAC,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM;AACrD,UAAU,QAAQ,CAAC,cAAc,CAAC,CAAC;AACnC,UAAU,UAAU,CAAC,OAAO,GAAG,IAAI,CAAC;AACpC,SAAS,EAAE,KAAK,CAAC,CAAC;AAClB,OAAO;AACP,KAAK;AACL,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC;AACrB,GAAG,CAAC;AACJ,EAAE,MAAM,KAAK,GAAGA,iBAAW,CAAC,MAAM;AAClC,IAAI,IAAI,UAAU,CAAC,OAAO,EAAE;AAC5B,MAAM,MAAM,CAAC,YAAY,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;AAC9C,MAAM,UAAU,CAAC,OAAO,GAAG,IAAI,CAAC;AAChC,KAAK;AACL,GAAG,EAAE,EAAE,CAAC,CAAC;AACT,EAAEC,eAAS,CAAC,MAAM;AAClB,IAAI,IAAI,OAAO,CAAC,UAAU,EAAE;AAC5B,MAAM,KAAK,EAAE,CAAC;AACd,KAAK;AACL,IAAI,OAAO,KAAK,CAAC;AACjB,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;AACrB,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;AAC1B;;"}
1
+ {"version":3,"file":"use-timeout.js","sources":["../../src/use-timeout/use-timeout.ts"],"sourcesContent":["import { useRef, useEffect, useCallback } from 'react';\n\nexport function useTimeout(\n callback: (...callbackParams: any[]) => void,\n delay: number,\n options: { autoInvoke: boolean } = { autoInvoke: false }\n) {\n const timeoutRef = useRef<number | null>(null);\n\n const start = useCallback(\n (...callbackParams: any[]) => {\n if (!timeoutRef.current) {\n timeoutRef.current = window.setTimeout(() => {\n callback(callbackParams);\n timeoutRef.current = null;\n }, delay);\n }\n },\n [delay]\n );\n\n const clear = useCallback(() => {\n if (timeoutRef.current) {\n window.clearTimeout(timeoutRef.current);\n timeoutRef.current = null;\n }\n }, []);\n\n useEffect(() => {\n if (options.autoInvoke) {\n start();\n }\n\n return clear;\n }, [clear, start]);\n\n return { start, clear };\n}\n"],"names":["useRef","useCallback","useEffect"],"mappings":";;;;;;;AACO,SAAS,UAAU,CAAC,QAAQ,EAAE,KAAK,EAAE,OAAO,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE;AAC7E,EAAE,MAAM,UAAU,GAAGA,YAAM,CAAC,IAAI,CAAC,CAAC;AAClC,EAAE,MAAM,KAAK,GAAGC,iBAAW;AAC3B,IAAI,CAAC,GAAG,cAAc,KAAK;AAC3B,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE;AAC/B,QAAQ,UAAU,CAAC,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM;AACrD,UAAU,QAAQ,CAAC,cAAc,CAAC,CAAC;AACnC,UAAU,UAAU,CAAC,OAAO,GAAG,IAAI,CAAC;AACpC,SAAS,EAAE,KAAK,CAAC,CAAC;AAClB,OAAO;AACP,KAAK;AACL,IAAI,CAAC,KAAK,CAAC;AACX,GAAG,CAAC;AACJ,EAAE,MAAM,KAAK,GAAGA,iBAAW,CAAC,MAAM;AAClC,IAAI,IAAI,UAAU,CAAC,OAAO,EAAE;AAC5B,MAAM,MAAM,CAAC,YAAY,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;AAC9C,MAAM,UAAU,CAAC,OAAO,GAAG,IAAI,CAAC;AAChC,KAAK;AACL,GAAG,EAAE,EAAE,CAAC,CAAC;AACT,EAAEC,eAAS,CAAC,MAAM;AAClB,IAAI,IAAI,OAAO,CAAC,UAAU,EAAE;AAC5B,MAAM,KAAK,EAAE,CAAC;AACd,KAAK;AACL,IAAI,OAAO,KAAK,CAAC;AACjB,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;AACrB,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;AAC1B;;"}
@@ -9,7 +9,15 @@ function scopeTab(node, event) {
9
9
  }
10
10
  const finalTabbable = tabbable[event.shiftKey ? 0 : tabbable.length - 1];
11
11
  const root = node.getRootNode();
12
- const leavingFinalTabbable = finalTabbable === root.activeElement || node === root.activeElement;
12
+ let leavingFinalTabbable = finalTabbable === root.activeElement || node === root.activeElement;
13
+ const activeElement = root.activeElement;
14
+ const activeElementIsRadio = activeElement.tagName === "INPUT" && activeElement.getAttribute("type") === "radio";
15
+ if (activeElementIsRadio) {
16
+ const activeRadioGroup = tabbable.filter(
17
+ (element) => element.getAttribute("type") === "radio" && element.getAttribute("name") === activeElement.getAttribute("name")
18
+ );
19
+ leavingFinalTabbable = activeRadioGroup.includes(finalTabbable);
20
+ }
13
21
  if (!leavingFinalTabbable) {
14
22
  return;
15
23
  }
@@ -1 +1 @@
1
- {"version":3,"file":"scope-tab.mjs","sources":["../../src/use-focus-trap/scope-tab.ts"],"sourcesContent":["import { findTabbableDescendants } from './tabbable';\n\nexport function scopeTab(node: HTMLElement, event: KeyboardEvent) {\n const tabbable = findTabbableDescendants(node);\n if (!tabbable.length) {\n event.preventDefault();\n return;\n }\n const finalTabbable = tabbable[event.shiftKey ? 0 : tabbable.length - 1];\n const root = node.getRootNode() as unknown as DocumentOrShadowRoot;\n const leavingFinalTabbable = finalTabbable === root.activeElement || node === root.activeElement;\n\n if (!leavingFinalTabbable) {\n return;\n }\n\n event.preventDefault();\n\n const target = tabbable[event.shiftKey ? tabbable.length - 1 : 0];\n\n if (target) {\n target.focus();\n }\n}\n"],"names":[],"mappings":";;;AACO,SAAS,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE;AACtC,EAAE,MAAM,QAAQ,GAAG,uBAAuB,CAAC,IAAI,CAAC,CAAC;AACjD,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE;AACxB,IAAI,KAAK,CAAC,cAAc,EAAE,CAAC;AAC3B,IAAI,OAAO;AACX,GAAG;AACH,EAAE,MAAM,aAAa,GAAG,QAAQ,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AAC3E,EAAE,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;AAClC,EAAE,MAAM,oBAAoB,GAAG,aAAa,KAAK,IAAI,CAAC,aAAa,IAAI,IAAI,KAAK,IAAI,CAAC,aAAa,CAAC;AACnG,EAAE,IAAI,CAAC,oBAAoB,EAAE;AAC7B,IAAI,OAAO;AACX,GAAG;AACH,EAAE,KAAK,CAAC,cAAc,EAAE,CAAC;AACzB,EAAE,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;AACpE,EAAE,IAAI,MAAM,EAAE;AACd,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;AACnB,GAAG;AACH;;"}
1
+ {"version":3,"file":"scope-tab.mjs","sources":["../../src/use-focus-trap/scope-tab.ts"],"sourcesContent":["import { findTabbableDescendants } from './tabbable';\n\nexport function scopeTab(node: HTMLElement, event: KeyboardEvent) {\n const tabbable = findTabbableDescendants(node);\n if (!tabbable.length) {\n event.preventDefault();\n return;\n }\n const finalTabbable = tabbable[event.shiftKey ? 0 : tabbable.length - 1];\n const root = node.getRootNode() as unknown as DocumentOrShadowRoot;\n let leavingFinalTabbable = finalTabbable === root.activeElement || node === root.activeElement;\n\n const activeElement = root.activeElement as Element;\n const activeElementIsRadio =\n activeElement.tagName === 'INPUT' && activeElement.getAttribute('type') === 'radio';\n if (activeElementIsRadio) {\n const activeRadioGroup = tabbable.filter(\n (element) =>\n element.getAttribute('type') === 'radio' &&\n element.getAttribute('name') === activeElement.getAttribute('name')\n );\n leavingFinalTabbable = activeRadioGroup.includes(finalTabbable);\n }\n\n if (!leavingFinalTabbable) {\n return;\n }\n\n event.preventDefault();\n\n const target = tabbable[event.shiftKey ? tabbable.length - 1 : 0];\n\n if (target) {\n target.focus();\n }\n}\n"],"names":[],"mappings":";;;AACO,SAAS,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE;AACtC,EAAE,MAAM,QAAQ,GAAG,uBAAuB,CAAC,IAAI,CAAC,CAAC;AACjD,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE;AACxB,IAAI,KAAK,CAAC,cAAc,EAAE,CAAC;AAC3B,IAAI,OAAO;AACX,GAAG;AACH,EAAE,MAAM,aAAa,GAAG,QAAQ,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AAC3E,EAAE,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;AAClC,EAAE,IAAI,oBAAoB,GAAG,aAAa,KAAK,IAAI,CAAC,aAAa,IAAI,IAAI,KAAK,IAAI,CAAC,aAAa,CAAC;AACjG,EAAE,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;AAC3C,EAAE,MAAM,oBAAoB,GAAG,aAAa,CAAC,OAAO,KAAK,OAAO,IAAI,aAAa,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,OAAO,CAAC;AACnH,EAAE,IAAI,oBAAoB,EAAE;AAC5B,IAAI,MAAM,gBAAgB,GAAG,QAAQ,CAAC,MAAM;AAC5C,MAAM,CAAC,OAAO,KAAK,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,OAAO,IAAI,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,aAAa,CAAC,YAAY,CAAC,MAAM,CAAC;AAClI,KAAK,CAAC;AACN,IAAI,oBAAoB,GAAG,gBAAgB,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;AACpE,GAAG;AACH,EAAE,IAAI,CAAC,oBAAoB,EAAE;AAC7B,IAAI,OAAO;AACX,GAAG;AACH,EAAE,KAAK,CAAC,cAAc,EAAE,CAAC;AACzB,EAAE,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;AACpE,EAAE,IAAI,MAAM,EAAE;AACd,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;AACnB,GAAG;AACH;;"}
@@ -12,7 +12,7 @@ function useTimeout(callback, delay, options = { autoInvoke: false }) {
12
12
  }, delay);
13
13
  }
14
14
  },
15
- [callback, delay]
15
+ [delay]
16
16
  );
17
17
  const clear = useCallback(() => {
18
18
  if (timeoutRef.current) {
@@ -1 +1 @@
1
- {"version":3,"file":"use-timeout.mjs","sources":["../../src/use-timeout/use-timeout.ts"],"sourcesContent":["import { useRef, useEffect, useCallback } from 'react';\n\nexport function useTimeout(\n callback: (...callbackParams: any[]) => void,\n delay: number,\n options: { autoInvoke: boolean } = { autoInvoke: false }\n) {\n const timeoutRef = useRef<number | null>(null);\n\n const start = useCallback(\n (...callbackParams: any[]) => {\n if (!timeoutRef.current) {\n timeoutRef.current = window.setTimeout(() => {\n callback(callbackParams);\n timeoutRef.current = null;\n }, delay);\n }\n },\n [callback, delay]\n );\n\n const clear = useCallback(() => {\n if (timeoutRef.current) {\n window.clearTimeout(timeoutRef.current);\n timeoutRef.current = null;\n }\n }, []);\n\n useEffect(() => {\n if (options.autoInvoke) {\n start();\n }\n\n return clear;\n }, [clear, start]);\n\n return { start, clear };\n}\n"],"names":[],"mappings":";;;AACO,SAAS,UAAU,CAAC,QAAQ,EAAE,KAAK,EAAE,OAAO,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE;AAC7E,EAAE,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;AAClC,EAAE,MAAM,KAAK,GAAG,WAAW;AAC3B,IAAI,CAAC,GAAG,cAAc,KAAK;AAC3B,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE;AAC/B,QAAQ,UAAU,CAAC,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM;AACrD,UAAU,QAAQ,CAAC,cAAc,CAAC,CAAC;AACnC,UAAU,UAAU,CAAC,OAAO,GAAG,IAAI,CAAC;AACpC,SAAS,EAAE,KAAK,CAAC,CAAC;AAClB,OAAO;AACP,KAAK;AACL,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC;AACrB,GAAG,CAAC;AACJ,EAAE,MAAM,KAAK,GAAG,WAAW,CAAC,MAAM;AAClC,IAAI,IAAI,UAAU,CAAC,OAAO,EAAE;AAC5B,MAAM,MAAM,CAAC,YAAY,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;AAC9C,MAAM,UAAU,CAAC,OAAO,GAAG,IAAI,CAAC;AAChC,KAAK;AACL,GAAG,EAAE,EAAE,CAAC,CAAC;AACT,EAAE,SAAS,CAAC,MAAM;AAClB,IAAI,IAAI,OAAO,CAAC,UAAU,EAAE;AAC5B,MAAM,KAAK,EAAE,CAAC;AACd,KAAK;AACL,IAAI,OAAO,KAAK,CAAC;AACjB,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;AACrB,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;AAC1B;;"}
1
+ {"version":3,"file":"use-timeout.mjs","sources":["../../src/use-timeout/use-timeout.ts"],"sourcesContent":["import { useRef, useEffect, useCallback } from 'react';\n\nexport function useTimeout(\n callback: (...callbackParams: any[]) => void,\n delay: number,\n options: { autoInvoke: boolean } = { autoInvoke: false }\n) {\n const timeoutRef = useRef<number | null>(null);\n\n const start = useCallback(\n (...callbackParams: any[]) => {\n if (!timeoutRef.current) {\n timeoutRef.current = window.setTimeout(() => {\n callback(callbackParams);\n timeoutRef.current = null;\n }, delay);\n }\n },\n [delay]\n );\n\n const clear = useCallback(() => {\n if (timeoutRef.current) {\n window.clearTimeout(timeoutRef.current);\n timeoutRef.current = null;\n }\n }, []);\n\n useEffect(() => {\n if (options.autoInvoke) {\n start();\n }\n\n return clear;\n }, [clear, start]);\n\n return { start, clear };\n}\n"],"names":[],"mappings":";;;AACO,SAAS,UAAU,CAAC,QAAQ,EAAE,KAAK,EAAE,OAAO,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE;AAC7E,EAAE,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;AAClC,EAAE,MAAM,KAAK,GAAG,WAAW;AAC3B,IAAI,CAAC,GAAG,cAAc,KAAK;AAC3B,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE;AAC/B,QAAQ,UAAU,CAAC,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM;AACrD,UAAU,QAAQ,CAAC,cAAc,CAAC,CAAC;AACnC,UAAU,UAAU,CAAC,OAAO,GAAG,IAAI,CAAC;AACpC,SAAS,EAAE,KAAK,CAAC,CAAC;AAClB,OAAO;AACP,KAAK;AACL,IAAI,CAAC,KAAK,CAAC;AACX,GAAG,CAAC;AACJ,EAAE,MAAM,KAAK,GAAG,WAAW,CAAC,MAAM;AAClC,IAAI,IAAI,UAAU,CAAC,OAAO,EAAE;AAC5B,MAAM,MAAM,CAAC,YAAY,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;AAC9C,MAAM,UAAU,CAAC,OAAO,GAAG,IAAI,CAAC;AAChC,KAAK;AACL,GAAG,EAAE,EAAE,CAAC,CAAC;AACT,EAAE,SAAS,CAAC,MAAM;AAClB,IAAI,IAAI,OAAO,CAAC,UAAU,EAAE;AAC5B,MAAM,KAAK,EAAE,CAAC;AACd,KAAK;AACL,IAAI,OAAO,KAAK,CAAC;AACjB,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;AACrB,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;AAC1B;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mantine/hooks",
3
- "version": "7.1.2",
3
+ "version": "7.1.3",
4
4
  "main": "./cjs/index.js",
5
5
  "types": "./lib/index.d.ts",
6
6
  "module": "./esm/index.mjs",