@mantine/hooks 4.2.2 → 4.2.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.
- package/cjs/use-list-state/use-list-state.js +51 -22
- package/cjs/use-list-state/use-list-state.js.map +1 -1
- package/cjs/use-move/use-move.js +3 -1
- package/cjs/use-move/use-move.js.map +1 -1
- package/esm/use-list-state/use-list-state.js +51 -22
- package/esm/use-list-state/use-list-state.js.map +1 -1
- package/esm/use-move/use-move.js +3 -1
- package/esm/use-move/use-move.js.map +1 -1
- package/lib/use-list-state/use-list-state.d.ts +11 -11
- package/lib/use-list-state/use-list-state.d.ts.map +1 -1
- package/lib/use-move/use-move.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -25,39 +25,68 @@ var __spreadValues = (a, b) => {
|
|
|
25
25
|
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
26
26
|
function useListState(initialValue = []) {
|
|
27
27
|
const [state, setState] = react.useState(initialValue);
|
|
28
|
-
const append = (...items) =>
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
const
|
|
34
|
-
const
|
|
28
|
+
const append = (...items) => {
|
|
29
|
+
const newState = [...state, ...items];
|
|
30
|
+
setState(newState);
|
|
31
|
+
return newState;
|
|
32
|
+
};
|
|
33
|
+
const prepend = (...items) => {
|
|
34
|
+
const newState = [...items, ...state];
|
|
35
|
+
setState(newState);
|
|
36
|
+
return newState;
|
|
37
|
+
};
|
|
38
|
+
const insert = (index, ...items) => {
|
|
39
|
+
const newState = [...state.slice(0, index), ...items, ...state.slice(index)];
|
|
40
|
+
setState(newState);
|
|
41
|
+
return newState;
|
|
42
|
+
};
|
|
43
|
+
const apply = (fn) => {
|
|
44
|
+
const newState = state.map((item, index) => fn(item, index));
|
|
45
|
+
setState(newState);
|
|
46
|
+
return newState;
|
|
47
|
+
};
|
|
48
|
+
const remove = (...indices) => {
|
|
49
|
+
const newState = state.filter((_, index) => !indices.includes(index));
|
|
50
|
+
setState(newState);
|
|
51
|
+
return newState;
|
|
52
|
+
};
|
|
53
|
+
const pop = () => {
|
|
54
|
+
const cloned = [...state];
|
|
35
55
|
cloned.pop();
|
|
56
|
+
setState(cloned);
|
|
36
57
|
return cloned;
|
|
37
|
-
}
|
|
38
|
-
const shift = () =>
|
|
39
|
-
const cloned = [...
|
|
58
|
+
};
|
|
59
|
+
const shift = () => {
|
|
60
|
+
const cloned = [...state];
|
|
40
61
|
cloned.shift();
|
|
62
|
+
setState(cloned);
|
|
41
63
|
return cloned;
|
|
42
|
-
}
|
|
43
|
-
const reorder = ({ from, to }) =>
|
|
44
|
-
const cloned = [...
|
|
45
|
-
const item =
|
|
64
|
+
};
|
|
65
|
+
const reorder = ({ from, to }) => {
|
|
66
|
+
const cloned = [...state];
|
|
67
|
+
const item = state[from];
|
|
46
68
|
cloned.splice(from, 1);
|
|
47
69
|
cloned.splice(to, 0, item);
|
|
70
|
+
setState(cloned);
|
|
48
71
|
return cloned;
|
|
49
|
-
}
|
|
50
|
-
const setItem = (index, item) =>
|
|
51
|
-
const cloned = [...
|
|
72
|
+
};
|
|
73
|
+
const setItem = (index, item) => {
|
|
74
|
+
const cloned = [...state];
|
|
52
75
|
cloned[index] = item;
|
|
76
|
+
setState(cloned);
|
|
53
77
|
return cloned;
|
|
54
|
-
}
|
|
55
|
-
const setItemProp = (index, prop, value) =>
|
|
56
|
-
const cloned = [...
|
|
78
|
+
};
|
|
79
|
+
const setItemProp = (index, prop, value) => {
|
|
80
|
+
const cloned = [...state];
|
|
57
81
|
cloned[index] = __spreadProps(__spreadValues({}, cloned[index]), { [prop]: value });
|
|
82
|
+
setState(cloned);
|
|
58
83
|
return cloned;
|
|
59
|
-
}
|
|
60
|
-
const applyWhere = (condition, fn) =>
|
|
84
|
+
};
|
|
85
|
+
const applyWhere = (condition, fn) => {
|
|
86
|
+
const newState = state.map((item, index) => condition(item, index) ? fn(item, index) : item);
|
|
87
|
+
setState(newState);
|
|
88
|
+
return newState;
|
|
89
|
+
};
|
|
61
90
|
return [
|
|
62
91
|
state,
|
|
63
92
|
{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-list-state.js","sources":["../../src/use-list-state/use-list-state.ts"],"sourcesContent":["import React, { useState } from 'react';\n\nexport interface UseListStateHandler<T> {\n setState: React.Dispatch<React.SetStateAction<T[]>>;\n append: (...items: T[]) =>
|
|
1
|
+
{"version":3,"file":"use-list-state.js","sources":["../../src/use-list-state/use-list-state.ts"],"sourcesContent":["import React, { useState } from 'react';\n\nexport interface UseListStateHandler<T> {\n setState: React.Dispatch<React.SetStateAction<T[]>>;\n append: (...items: T[]) => T[];\n prepend: (...items: T[]) => T[];\n insert: (index: number, ...items: T[]) => T[];\n pop: () => T[];\n shift: () => T[];\n apply: (fn: (item: T, index?: number) => T) => T[];\n applyWhere: (\n condition: (item: T, index: number) => boolean,\n fn: (item: T, index?: number) => T\n ) => T[];\n remove: (...indices: number[]) => T[];\n reorder: ({ from, to }: { from: number; to: number }) => T[];\n setItem: (index: number, item: T) => T[];\n setItemProp: <K extends keyof T, U extends T[K]>(index: number, prop: K, value: U) => T[];\n}\n\nexport type UseListState<T> = [T[], UseListStateHandler<T>];\n\nexport function useListState<T>(initialValue: T[] = []): UseListState<T> {\n const [state, setState] = useState(initialValue);\n\n const append = (...items: T[]): T[] => {\n const newState = [...state, ...items];\n setState(newState);\n return newState;\n };\n\n const prepend = (...items: T[]): T[] => {\n const newState = [...items, ...state];\n setState(newState);\n return newState;\n };\n\n const insert = (index: number, ...items: T[]): T[] => {\n const newState = [...state.slice(0, index), ...items, ...state.slice(index)];\n setState(newState);\n return newState;\n };\n\n const apply = (fn: (item: T, index?: number) => T): T[] => {\n const newState = state.map((item, index) => fn(item, index));\n setState(newState);\n return newState;\n };\n\n const remove = (...indices: number[]): T[] => {\n const newState = state.filter((_, index) => !indices.includes(index));\n setState(newState);\n return newState;\n };\n\n const pop = (): T[] => {\n const cloned = [...state];\n cloned.pop();\n setState(cloned);\n return cloned;\n };\n\n const shift = (): T[] => {\n const cloned = [...state];\n cloned.shift();\n setState(cloned);\n return cloned;\n };\n\n const reorder = ({ from, to }: { from: number; to: number }): T[] => {\n const cloned = [...state];\n const item = state[from];\n\n cloned.splice(from, 1);\n cloned.splice(to, 0, item);\n\n setState(cloned);\n return cloned;\n };\n\n const setItem = (index: number, item: T): T[] => {\n const cloned = [...state];\n cloned[index] = item;\n setState(cloned);\n return cloned;\n };\n\n const setItemProp = <K extends keyof T, U extends T[K]>(\n index: number,\n prop: K,\n value: U\n ): T[] => {\n const cloned = [...state];\n cloned[index] = { ...cloned[index], [prop]: value };\n setState(cloned);\n return cloned;\n };\n\n const applyWhere = (\n condition: (item: T, index: number) => boolean,\n fn: (item: T, index?: number) => T\n ): T[] => {\n const newState = state.map((item, index) => (condition(item, index) ? fn(item, index) : item));\n setState(newState);\n return newState;\n };\n\n return [\n state,\n {\n setState,\n append,\n prepend,\n insert,\n pop,\n shift,\n apply,\n applyWhere,\n remove,\n reorder,\n setItem,\n setItemProp,\n },\n ];\n}\n"],"names":["useState"],"mappings":";;;;;;AAAA,IAAI,SAAS,GAAG,MAAM,CAAC,cAAc,CAAC;AACtC,IAAI,UAAU,GAAG,MAAM,CAAC,gBAAgB,CAAC;AACzC,IAAI,iBAAiB,GAAG,MAAM,CAAC,yBAAyB,CAAC;AACzD,IAAI,mBAAmB,GAAG,MAAM,CAAC,qBAAqB,CAAC;AACvD,IAAI,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC;AACnD,IAAI,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,oBAAoB,CAAC;AACzD,IAAI,eAAe,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,KAAK,GAAG,IAAI,GAAG,GAAG,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAChK,IAAI,cAAc,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK;AAC/B,EAAE,KAAK,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;AAChC,IAAI,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC;AAClC,MAAM,eAAe,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AACxC,EAAE,IAAI,mBAAmB;AACzB,IAAI,KAAK,IAAI,IAAI,IAAI,mBAAmB,CAAC,CAAC,CAAC,EAAE;AAC7C,MAAM,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC;AACpC,QAAQ,eAAe,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AAC1C,KAAK;AACL,EAAE,OAAO,CAAC,CAAC;AACX,CAAC,CAAC;AACF,IAAI,aAAa,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,UAAU,CAAC,CAAC,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;AAE3D,SAAS,YAAY,CAAC,YAAY,GAAG,EAAE,EAAE;AAChD,EAAE,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAGA,cAAQ,CAAC,YAAY,CAAC,CAAC;AACnD,EAAE,MAAM,MAAM,GAAG,CAAC,GAAG,KAAK,KAAK;AAC/B,IAAI,MAAM,QAAQ,GAAG,CAAC,GAAG,KAAK,EAAE,GAAG,KAAK,CAAC,CAAC;AAC1C,IAAI,QAAQ,CAAC,QAAQ,CAAC,CAAC;AACvB,IAAI,OAAO,QAAQ,CAAC;AACpB,GAAG,CAAC;AACJ,EAAE,MAAM,OAAO,GAAG,CAAC,GAAG,KAAK,KAAK;AAChC,IAAI,MAAM,QAAQ,GAAG,CAAC,GAAG,KAAK,EAAE,GAAG,KAAK,CAAC,CAAC;AAC1C,IAAI,QAAQ,CAAC,QAAQ,CAAC,CAAC;AACvB,IAAI,OAAO,QAAQ,CAAC;AACpB,GAAG,CAAC;AACJ,EAAE,MAAM,MAAM,GAAG,CAAC,KAAK,EAAE,GAAG,KAAK,KAAK;AACtC,IAAI,MAAM,QAAQ,GAAG,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,GAAG,KAAK,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;AACjF,IAAI,QAAQ,CAAC,QAAQ,CAAC,CAAC;AACvB,IAAI,OAAO,QAAQ,CAAC;AACpB,GAAG,CAAC;AACJ,EAAE,MAAM,KAAK,GAAG,CAAC,EAAE,KAAK;AACxB,IAAI,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,KAAK,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;AACjE,IAAI,QAAQ,CAAC,QAAQ,CAAC,CAAC;AACvB,IAAI,OAAO,QAAQ,CAAC;AACpB,GAAG,CAAC;AACJ,EAAE,MAAM,MAAM,GAAG,CAAC,GAAG,OAAO,KAAK;AACjC,IAAI,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;AAC1E,IAAI,QAAQ,CAAC,QAAQ,CAAC,CAAC;AACvB,IAAI,OAAO,QAAQ,CAAC;AACpB,GAAG,CAAC;AACJ,EAAE,MAAM,GAAG,GAAG,MAAM;AACpB,IAAI,MAAM,MAAM,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC;AAC9B,IAAI,MAAM,CAAC,GAAG,EAAE,CAAC;AACjB,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAC;AACrB,IAAI,OAAO,MAAM,CAAC;AAClB,GAAG,CAAC;AACJ,EAAE,MAAM,KAAK,GAAG,MAAM;AACtB,IAAI,MAAM,MAAM,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC;AAC9B,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;AACnB,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAC;AACrB,IAAI,OAAO,MAAM,CAAC;AAClB,GAAG,CAAC;AACJ,EAAE,MAAM,OAAO,GAAG,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK;AACpC,IAAI,MAAM,MAAM,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC;AAC9B,IAAI,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;AAC7B,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;AAC3B,IAAI,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;AAC/B,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAC;AACrB,IAAI,OAAO,MAAM,CAAC;AAClB,GAAG,CAAC;AACJ,EAAE,MAAM,OAAO,GAAG,CAAC,KAAK,EAAE,IAAI,KAAK;AACnC,IAAI,MAAM,MAAM,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC;AAC9B,IAAI,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;AACzB,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAC;AACrB,IAAI,OAAO,MAAM,CAAC;AAClB,GAAG,CAAC;AACJ,EAAE,MAAM,WAAW,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,KAAK;AAC9C,IAAI,MAAM,MAAM,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC;AAC9B,IAAI,MAAM,CAAC,KAAK,CAAC,GAAG,aAAa,CAAC,cAAc,CAAC,EAAE,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,GAAG,KAAK,EAAE,CAAC,CAAC;AACxF,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAC;AACrB,IAAI,OAAO,MAAM,CAAC;AAClB,GAAG,CAAC;AACJ,EAAE,MAAM,UAAU,GAAG,CAAC,SAAS,EAAE,EAAE,KAAK;AACxC,IAAI,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,KAAK,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;AACjG,IAAI,QAAQ,CAAC,QAAQ,CAAC,CAAC;AACvB,IAAI,OAAO,QAAQ,CAAC;AACpB,GAAG,CAAC;AACJ,EAAE,OAAO;AACT,IAAI,KAAK;AACT,IAAI;AACJ,MAAM,QAAQ;AACd,MAAM,MAAM;AACZ,MAAM,OAAO;AACb,MAAM,MAAM;AACZ,MAAM,GAAG;AACT,MAAM,KAAK;AACX,MAAM,KAAK;AACX,MAAM,UAAU;AAChB,MAAM,MAAM;AACZ,MAAM,OAAO;AACb,MAAM,OAAO;AACb,MAAM,WAAW;AACjB,KAAK;AACL,GAAG,CAAC;AACJ;;;;"}
|
package/cjs/use-move/use-move.js
CHANGED
|
@@ -58,9 +58,11 @@ function useMove(onChange, handlers, dir = "ltr") {
|
|
|
58
58
|
const stopScrubbing = () => {
|
|
59
59
|
if (isSliding.current && mounted.current) {
|
|
60
60
|
isSliding.current = false;
|
|
61
|
-
typeof (handlers == null ? void 0 : handlers.onScrubEnd) === "function" && handlers.onScrubEnd();
|
|
62
61
|
setActive(false);
|
|
63
62
|
unbindEvents();
|
|
63
|
+
setTimeout(() => {
|
|
64
|
+
typeof (handlers == null ? void 0 : handlers.onScrubEnd) === "function" && handlers.onScrubEnd();
|
|
65
|
+
}, 0);
|
|
64
66
|
}
|
|
65
67
|
};
|
|
66
68
|
const onMouseDown = (event) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-move.js","sources":["../../src/use-move/use-move.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-use-before-define */\nimport { useEffect, useState, useRef } from 'react';\nimport { clamp } from '../utils';\n\nexport interface UseMovePosition {\n x: number;\n y: number;\n}\n\nexport const clampUseMovePosition = (position: UseMovePosition) => ({\n x: clamp({ min: 0, max: 1, value: position.x }),\n y: clamp({ min: 0, max: 1, value: position.y }),\n});\n\ninterface useMoveHandlers {\n onScrubStart?(): void;\n onScrubEnd?(): void;\n}\n\nexport function useMove<T extends HTMLElement = HTMLDivElement>(\n onChange: (value: UseMovePosition) => void,\n handlers?: useMoveHandlers,\n dir: 'ltr' | 'rtl' = 'ltr'\n) {\n const ref = useRef<T>();\n const mounted = useRef<boolean>(false);\n const isSliding = useRef(false);\n const frame = useRef(0);\n const [active, setActive] = useState(false);\n\n useEffect(() => {\n mounted.current = true;\n }, []);\n\n useEffect(() => {\n const onScrub = ({ x, y }: UseMovePosition) => {\n cancelAnimationFrame(frame.current);\n\n frame.current = requestAnimationFrame(() => {\n if (mounted.current && ref.current) {\n ref.current.style.userSelect = 'none';\n const rect = ref.current.getBoundingClientRect();\n\n if (rect.width && rect.height) {\n const _x = clamp({ value: (x - rect.left) / rect.width, min: 0, max: 1 });\n onChange({\n x: dir === 'ltr' ? _x : 1 - _x,\n y: clamp({ value: (y - rect.top) / rect.height, min: 0, max: 1 }),\n });\n }\n }\n });\n };\n\n const bindEvents = () => {\n document.addEventListener('mousemove', onMouseMove);\n document.addEventListener('mouseup', stopScrubbing);\n document.addEventListener('touchmove', onTouchMove);\n document.addEventListener('touchend', stopScrubbing);\n };\n\n const unbindEvents = () => {\n document.removeEventListener('mousemove', onMouseMove);\n document.removeEventListener('mouseup', stopScrubbing);\n document.removeEventListener('touchmove', onTouchMove);\n document.removeEventListener('touchend', stopScrubbing);\n };\n\n const startScrubbing = () => {\n if (!isSliding.current && mounted.current) {\n isSliding.current = true;\n typeof handlers?.onScrubStart === 'function' && handlers.onScrubStart();\n setActive(true);\n bindEvents();\n }\n };\n\n const stopScrubbing = () => {\n if (isSliding.current && mounted.current) {\n isSliding.current = false;\n typeof handlers?.onScrubEnd === 'function' && handlers.onScrubEnd();\n
|
|
1
|
+
{"version":3,"file":"use-move.js","sources":["../../src/use-move/use-move.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-use-before-define */\nimport { useEffect, useState, useRef } from 'react';\nimport { clamp } from '../utils';\n\nexport interface UseMovePosition {\n x: number;\n y: number;\n}\n\nexport const clampUseMovePosition = (position: UseMovePosition) => ({\n x: clamp({ min: 0, max: 1, value: position.x }),\n y: clamp({ min: 0, max: 1, value: position.y }),\n});\n\ninterface useMoveHandlers {\n onScrubStart?(): void;\n onScrubEnd?(): void;\n}\n\nexport function useMove<T extends HTMLElement = HTMLDivElement>(\n onChange: (value: UseMovePosition) => void,\n handlers?: useMoveHandlers,\n dir: 'ltr' | 'rtl' = 'ltr'\n) {\n const ref = useRef<T>();\n const mounted = useRef<boolean>(false);\n const isSliding = useRef(false);\n const frame = useRef(0);\n const [active, setActive] = useState(false);\n\n useEffect(() => {\n mounted.current = true;\n }, []);\n\n useEffect(() => {\n const onScrub = ({ x, y }: UseMovePosition) => {\n cancelAnimationFrame(frame.current);\n\n frame.current = requestAnimationFrame(() => {\n if (mounted.current && ref.current) {\n ref.current.style.userSelect = 'none';\n const rect = ref.current.getBoundingClientRect();\n\n if (rect.width && rect.height) {\n const _x = clamp({ value: (x - rect.left) / rect.width, min: 0, max: 1 });\n onChange({\n x: dir === 'ltr' ? _x : 1 - _x,\n y: clamp({ value: (y - rect.top) / rect.height, min: 0, max: 1 }),\n });\n }\n }\n });\n };\n\n const bindEvents = () => {\n document.addEventListener('mousemove', onMouseMove);\n document.addEventListener('mouseup', stopScrubbing);\n document.addEventListener('touchmove', onTouchMove);\n document.addEventListener('touchend', stopScrubbing);\n };\n\n const unbindEvents = () => {\n document.removeEventListener('mousemove', onMouseMove);\n document.removeEventListener('mouseup', stopScrubbing);\n document.removeEventListener('touchmove', onTouchMove);\n document.removeEventListener('touchend', stopScrubbing);\n };\n\n const startScrubbing = () => {\n if (!isSliding.current && mounted.current) {\n isSliding.current = true;\n typeof handlers?.onScrubStart === 'function' && handlers.onScrubStart();\n setActive(true);\n bindEvents();\n }\n };\n\n const stopScrubbing = () => {\n if (isSliding.current && mounted.current) {\n isSliding.current = false;\n setActive(false);\n unbindEvents();\n setTimeout(() => {\n typeof handlers?.onScrubEnd === 'function' && handlers.onScrubEnd();\n }, 0);\n }\n };\n\n const onMouseDown = (event: MouseEvent) => {\n startScrubbing();\n onMouseMove(event);\n };\n\n const onMouseMove = (event: MouseEvent) => onScrub({ x: event.clientX, y: event.clientY });\n\n const onTouchStart = (event: TouchEvent) => {\n startScrubbing();\n event?.preventDefault();\n onTouchMove(event);\n };\n\n const onTouchMove = (event: TouchEvent) => {\n event?.preventDefault();\n onScrub({ x: event.changedTouches[0].clientX, y: event.changedTouches[0].clientY });\n };\n\n ref.current.addEventListener('mousedown', onMouseDown);\n ref.current.addEventListener('touchstart', onTouchStart);\n\n return () => {\n if (ref.current) {\n ref.current.removeEventListener('mousedown', onMouseDown);\n ref.current.removeEventListener('touchstart', onTouchStart);\n }\n };\n }, [dir, onChange]);\n\n return { ref, active };\n}\n"],"names":["clamp","useRef","useState","useEffect"],"mappings":";;;;;;;AAEY,MAAC,oBAAoB,GAAG,CAAC,QAAQ,MAAM;AACnD,EAAE,CAAC,EAAEA,WAAK,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC;AACjD,EAAE,CAAC,EAAEA,WAAK,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC;AACjD,CAAC,EAAE;AACI,SAAS,OAAO,CAAC,QAAQ,EAAE,QAAQ,EAAE,GAAG,GAAG,KAAK,EAAE;AACzD,EAAE,MAAM,GAAG,GAAGC,YAAM,EAAE,CAAC;AACvB,EAAE,MAAM,OAAO,GAAGA,YAAM,CAAC,KAAK,CAAC,CAAC;AAChC,EAAE,MAAM,SAAS,GAAGA,YAAM,CAAC,KAAK,CAAC,CAAC;AAClC,EAAE,MAAM,KAAK,GAAGA,YAAM,CAAC,CAAC,CAAC,CAAC;AAC1B,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAGC,cAAQ,CAAC,KAAK,CAAC,CAAC;AAC9C,EAAEC,eAAS,CAAC,MAAM;AAClB,IAAI,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;AAC3B,GAAG,EAAE,EAAE,CAAC,CAAC;AACT,EAAEA,eAAS,CAAC,MAAM;AAClB,IAAI,MAAM,OAAO,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK;AAClC,MAAM,oBAAoB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AAC1C,MAAM,KAAK,CAAC,OAAO,GAAG,qBAAqB,CAAC,MAAM;AAClD,QAAQ,IAAI,OAAO,CAAC,OAAO,IAAI,GAAG,CAAC,OAAO,EAAE;AAC5C,UAAU,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,GAAG,MAAM,CAAC;AAChD,UAAU,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,CAAC,qBAAqB,EAAE,CAAC;AAC3D,UAAU,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE;AACzC,YAAY,MAAM,EAAE,GAAGH,WAAK,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;AACtF,YAAY,QAAQ,CAAC;AACrB,cAAc,CAAC,EAAE,GAAG,KAAK,KAAK,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE;AAC5C,cAAc,CAAC,EAAEA,WAAK,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC;AAC/E,aAAa,CAAC,CAAC;AACf,WAAW;AACX,SAAS;AACT,OAAO,CAAC,CAAC;AACT,KAAK,CAAC;AACN,IAAI,MAAM,UAAU,GAAG,MAAM;AAC7B,MAAM,QAAQ,CAAC,gBAAgB,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;AAC1D,MAAM,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;AAC1D,MAAM,QAAQ,CAAC,gBAAgB,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;AAC1D,MAAM,QAAQ,CAAC,gBAAgB,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;AAC3D,KAAK,CAAC;AACN,IAAI,MAAM,YAAY,GAAG,MAAM;AAC/B,MAAM,QAAQ,CAAC,mBAAmB,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;AAC7D,MAAM,QAAQ,CAAC,mBAAmB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;AAC7D,MAAM,QAAQ,CAAC,mBAAmB,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;AAC7D,MAAM,QAAQ,CAAC,mBAAmB,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;AAC9D,KAAK,CAAC;AACN,IAAI,MAAM,cAAc,GAAG,MAAM;AACjC,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO,EAAE;AACjD,QAAQ,SAAS,CAAC,OAAO,GAAG,IAAI,CAAC;AACjC,QAAQ,QAAQ,QAAQ,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,QAAQ,CAAC,YAAY,CAAC,KAAK,UAAU,IAAI,QAAQ,CAAC,YAAY,EAAE,CAAC;AAC7G,QAAQ,SAAS,CAAC,IAAI,CAAC,CAAC;AACxB,QAAQ,UAAU,EAAE,CAAC;AACrB,OAAO;AACP,KAAK,CAAC;AACN,IAAI,MAAM,aAAa,GAAG,MAAM;AAChC,MAAM,IAAI,SAAS,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO,EAAE;AAChD,QAAQ,SAAS,CAAC,OAAO,GAAG,KAAK,CAAC;AAClC,QAAQ,SAAS,CAAC,KAAK,CAAC,CAAC;AACzB,QAAQ,YAAY,EAAE,CAAC;AACvB,QAAQ,UAAU,CAAC,MAAM;AACzB,UAAU,QAAQ,QAAQ,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,QAAQ,CAAC,UAAU,CAAC,KAAK,UAAU,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC;AAC3G,SAAS,EAAE,CAAC,CAAC,CAAC;AACd,OAAO;AACP,KAAK,CAAC;AACN,IAAI,MAAM,WAAW,GAAG,CAAC,KAAK,KAAK;AACnC,MAAM,cAAc,EAAE,CAAC;AACvB,MAAM,WAAW,CAAC,KAAK,CAAC,CAAC;AACzB,KAAK,CAAC;AACN,IAAI,MAAM,WAAW,GAAG,CAAC,KAAK,KAAK,OAAO,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;AACnF,IAAI,MAAM,YAAY,GAAG,CAAC,KAAK,KAAK;AACpC,MAAM,cAAc,EAAE,CAAC;AACvB,MAAM,KAAK,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,KAAK,CAAC,cAAc,EAAE,CAAC;AACtD,MAAM,WAAW,CAAC,KAAK,CAAC,CAAC;AACzB,KAAK,CAAC;AACN,IAAI,MAAM,WAAW,GAAG,CAAC,KAAK,KAAK;AACnC,MAAM,KAAK,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,KAAK,CAAC,cAAc,EAAE,CAAC;AACtD,MAAM,OAAO,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;AAC1F,KAAK,CAAC;AACN,IAAI,GAAG,CAAC,OAAO,CAAC,gBAAgB,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;AAC3D,IAAI,GAAG,CAAC,OAAO,CAAC,gBAAgB,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;AAC7D,IAAI,OAAO,MAAM;AACjB,MAAM,IAAI,GAAG,CAAC,OAAO,EAAE;AACvB,QAAQ,GAAG,CAAC,OAAO,CAAC,mBAAmB,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;AAClE,QAAQ,GAAG,CAAC,OAAO,CAAC,mBAAmB,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;AACpE,OAAO;AACP,KAAK,CAAC;AACN,GAAG,EAAE,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC;AACtB,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC;AACzB;;;;;"}
|
|
@@ -21,39 +21,68 @@ var __spreadValues = (a, b) => {
|
|
|
21
21
|
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
22
22
|
function useListState(initialValue = []) {
|
|
23
23
|
const [state, setState] = useState(initialValue);
|
|
24
|
-
const append = (...items) =>
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
const
|
|
30
|
-
const
|
|
24
|
+
const append = (...items) => {
|
|
25
|
+
const newState = [...state, ...items];
|
|
26
|
+
setState(newState);
|
|
27
|
+
return newState;
|
|
28
|
+
};
|
|
29
|
+
const prepend = (...items) => {
|
|
30
|
+
const newState = [...items, ...state];
|
|
31
|
+
setState(newState);
|
|
32
|
+
return newState;
|
|
33
|
+
};
|
|
34
|
+
const insert = (index, ...items) => {
|
|
35
|
+
const newState = [...state.slice(0, index), ...items, ...state.slice(index)];
|
|
36
|
+
setState(newState);
|
|
37
|
+
return newState;
|
|
38
|
+
};
|
|
39
|
+
const apply = (fn) => {
|
|
40
|
+
const newState = state.map((item, index) => fn(item, index));
|
|
41
|
+
setState(newState);
|
|
42
|
+
return newState;
|
|
43
|
+
};
|
|
44
|
+
const remove = (...indices) => {
|
|
45
|
+
const newState = state.filter((_, index) => !indices.includes(index));
|
|
46
|
+
setState(newState);
|
|
47
|
+
return newState;
|
|
48
|
+
};
|
|
49
|
+
const pop = () => {
|
|
50
|
+
const cloned = [...state];
|
|
31
51
|
cloned.pop();
|
|
52
|
+
setState(cloned);
|
|
32
53
|
return cloned;
|
|
33
|
-
}
|
|
34
|
-
const shift = () =>
|
|
35
|
-
const cloned = [...
|
|
54
|
+
};
|
|
55
|
+
const shift = () => {
|
|
56
|
+
const cloned = [...state];
|
|
36
57
|
cloned.shift();
|
|
58
|
+
setState(cloned);
|
|
37
59
|
return cloned;
|
|
38
|
-
}
|
|
39
|
-
const reorder = ({ from, to }) =>
|
|
40
|
-
const cloned = [...
|
|
41
|
-
const item =
|
|
60
|
+
};
|
|
61
|
+
const reorder = ({ from, to }) => {
|
|
62
|
+
const cloned = [...state];
|
|
63
|
+
const item = state[from];
|
|
42
64
|
cloned.splice(from, 1);
|
|
43
65
|
cloned.splice(to, 0, item);
|
|
66
|
+
setState(cloned);
|
|
44
67
|
return cloned;
|
|
45
|
-
}
|
|
46
|
-
const setItem = (index, item) =>
|
|
47
|
-
const cloned = [...
|
|
68
|
+
};
|
|
69
|
+
const setItem = (index, item) => {
|
|
70
|
+
const cloned = [...state];
|
|
48
71
|
cloned[index] = item;
|
|
72
|
+
setState(cloned);
|
|
49
73
|
return cloned;
|
|
50
|
-
}
|
|
51
|
-
const setItemProp = (index, prop, value) =>
|
|
52
|
-
const cloned = [...
|
|
74
|
+
};
|
|
75
|
+
const setItemProp = (index, prop, value) => {
|
|
76
|
+
const cloned = [...state];
|
|
53
77
|
cloned[index] = __spreadProps(__spreadValues({}, cloned[index]), { [prop]: value });
|
|
78
|
+
setState(cloned);
|
|
54
79
|
return cloned;
|
|
55
|
-
}
|
|
56
|
-
const applyWhere = (condition, fn) =>
|
|
80
|
+
};
|
|
81
|
+
const applyWhere = (condition, fn) => {
|
|
82
|
+
const newState = state.map((item, index) => condition(item, index) ? fn(item, index) : item);
|
|
83
|
+
setState(newState);
|
|
84
|
+
return newState;
|
|
85
|
+
};
|
|
57
86
|
return [
|
|
58
87
|
state,
|
|
59
88
|
{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-list-state.js","sources":["../../src/use-list-state/use-list-state.ts"],"sourcesContent":["import React, { useState } from 'react';\n\nexport interface UseListStateHandler<T> {\n setState: React.Dispatch<React.SetStateAction<T[]>>;\n append: (...items: T[]) =>
|
|
1
|
+
{"version":3,"file":"use-list-state.js","sources":["../../src/use-list-state/use-list-state.ts"],"sourcesContent":["import React, { useState } from 'react';\n\nexport interface UseListStateHandler<T> {\n setState: React.Dispatch<React.SetStateAction<T[]>>;\n append: (...items: T[]) => T[];\n prepend: (...items: T[]) => T[];\n insert: (index: number, ...items: T[]) => T[];\n pop: () => T[];\n shift: () => T[];\n apply: (fn: (item: T, index?: number) => T) => T[];\n applyWhere: (\n condition: (item: T, index: number) => boolean,\n fn: (item: T, index?: number) => T\n ) => T[];\n remove: (...indices: number[]) => T[];\n reorder: ({ from, to }: { from: number; to: number }) => T[];\n setItem: (index: number, item: T) => T[];\n setItemProp: <K extends keyof T, U extends T[K]>(index: number, prop: K, value: U) => T[];\n}\n\nexport type UseListState<T> = [T[], UseListStateHandler<T>];\n\nexport function useListState<T>(initialValue: T[] = []): UseListState<T> {\n const [state, setState] = useState(initialValue);\n\n const append = (...items: T[]): T[] => {\n const newState = [...state, ...items];\n setState(newState);\n return newState;\n };\n\n const prepend = (...items: T[]): T[] => {\n const newState = [...items, ...state];\n setState(newState);\n return newState;\n };\n\n const insert = (index: number, ...items: T[]): T[] => {\n const newState = [...state.slice(0, index), ...items, ...state.slice(index)];\n setState(newState);\n return newState;\n };\n\n const apply = (fn: (item: T, index?: number) => T): T[] => {\n const newState = state.map((item, index) => fn(item, index));\n setState(newState);\n return newState;\n };\n\n const remove = (...indices: number[]): T[] => {\n const newState = state.filter((_, index) => !indices.includes(index));\n setState(newState);\n return newState;\n };\n\n const pop = (): T[] => {\n const cloned = [...state];\n cloned.pop();\n setState(cloned);\n return cloned;\n };\n\n const shift = (): T[] => {\n const cloned = [...state];\n cloned.shift();\n setState(cloned);\n return cloned;\n };\n\n const reorder = ({ from, to }: { from: number; to: number }): T[] => {\n const cloned = [...state];\n const item = state[from];\n\n cloned.splice(from, 1);\n cloned.splice(to, 0, item);\n\n setState(cloned);\n return cloned;\n };\n\n const setItem = (index: number, item: T): T[] => {\n const cloned = [...state];\n cloned[index] = item;\n setState(cloned);\n return cloned;\n };\n\n const setItemProp = <K extends keyof T, U extends T[K]>(\n index: number,\n prop: K,\n value: U\n ): T[] => {\n const cloned = [...state];\n cloned[index] = { ...cloned[index], [prop]: value };\n setState(cloned);\n return cloned;\n };\n\n const applyWhere = (\n condition: (item: T, index: number) => boolean,\n fn: (item: T, index?: number) => T\n ): T[] => {\n const newState = state.map((item, index) => (condition(item, index) ? fn(item, index) : item));\n setState(newState);\n return newState;\n };\n\n return [\n state,\n {\n setState,\n append,\n prepend,\n insert,\n pop,\n shift,\n apply,\n applyWhere,\n remove,\n reorder,\n setItem,\n setItemProp,\n },\n ];\n}\n"],"names":[],"mappings":"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"}
|
package/esm/use-move/use-move.js
CHANGED
|
@@ -54,9 +54,11 @@ function useMove(onChange, handlers, dir = "ltr") {
|
|
|
54
54
|
const stopScrubbing = () => {
|
|
55
55
|
if (isSliding.current && mounted.current) {
|
|
56
56
|
isSliding.current = false;
|
|
57
|
-
typeof (handlers == null ? void 0 : handlers.onScrubEnd) === "function" && handlers.onScrubEnd();
|
|
58
57
|
setActive(false);
|
|
59
58
|
unbindEvents();
|
|
59
|
+
setTimeout(() => {
|
|
60
|
+
typeof (handlers == null ? void 0 : handlers.onScrubEnd) === "function" && handlers.onScrubEnd();
|
|
61
|
+
}, 0);
|
|
60
62
|
}
|
|
61
63
|
};
|
|
62
64
|
const onMouseDown = (event) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-move.js","sources":["../../src/use-move/use-move.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-use-before-define */\nimport { useEffect, useState, useRef } from 'react';\nimport { clamp } from '../utils';\n\nexport interface UseMovePosition {\n x: number;\n y: number;\n}\n\nexport const clampUseMovePosition = (position: UseMovePosition) => ({\n x: clamp({ min: 0, max: 1, value: position.x }),\n y: clamp({ min: 0, max: 1, value: position.y }),\n});\n\ninterface useMoveHandlers {\n onScrubStart?(): void;\n onScrubEnd?(): void;\n}\n\nexport function useMove<T extends HTMLElement = HTMLDivElement>(\n onChange: (value: UseMovePosition) => void,\n handlers?: useMoveHandlers,\n dir: 'ltr' | 'rtl' = 'ltr'\n) {\n const ref = useRef<T>();\n const mounted = useRef<boolean>(false);\n const isSliding = useRef(false);\n const frame = useRef(0);\n const [active, setActive] = useState(false);\n\n useEffect(() => {\n mounted.current = true;\n }, []);\n\n useEffect(() => {\n const onScrub = ({ x, y }: UseMovePosition) => {\n cancelAnimationFrame(frame.current);\n\n frame.current = requestAnimationFrame(() => {\n if (mounted.current && ref.current) {\n ref.current.style.userSelect = 'none';\n const rect = ref.current.getBoundingClientRect();\n\n if (rect.width && rect.height) {\n const _x = clamp({ value: (x - rect.left) / rect.width, min: 0, max: 1 });\n onChange({\n x: dir === 'ltr' ? _x : 1 - _x,\n y: clamp({ value: (y - rect.top) / rect.height, min: 0, max: 1 }),\n });\n }\n }\n });\n };\n\n const bindEvents = () => {\n document.addEventListener('mousemove', onMouseMove);\n document.addEventListener('mouseup', stopScrubbing);\n document.addEventListener('touchmove', onTouchMove);\n document.addEventListener('touchend', stopScrubbing);\n };\n\n const unbindEvents = () => {\n document.removeEventListener('mousemove', onMouseMove);\n document.removeEventListener('mouseup', stopScrubbing);\n document.removeEventListener('touchmove', onTouchMove);\n document.removeEventListener('touchend', stopScrubbing);\n };\n\n const startScrubbing = () => {\n if (!isSliding.current && mounted.current) {\n isSliding.current = true;\n typeof handlers?.onScrubStart === 'function' && handlers.onScrubStart();\n setActive(true);\n bindEvents();\n }\n };\n\n const stopScrubbing = () => {\n if (isSliding.current && mounted.current) {\n isSliding.current = false;\n typeof handlers?.onScrubEnd === 'function' && handlers.onScrubEnd();\n
|
|
1
|
+
{"version":3,"file":"use-move.js","sources":["../../src/use-move/use-move.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-use-before-define */\nimport { useEffect, useState, useRef } from 'react';\nimport { clamp } from '../utils';\n\nexport interface UseMovePosition {\n x: number;\n y: number;\n}\n\nexport const clampUseMovePosition = (position: UseMovePosition) => ({\n x: clamp({ min: 0, max: 1, value: position.x }),\n y: clamp({ min: 0, max: 1, value: position.y }),\n});\n\ninterface useMoveHandlers {\n onScrubStart?(): void;\n onScrubEnd?(): void;\n}\n\nexport function useMove<T extends HTMLElement = HTMLDivElement>(\n onChange: (value: UseMovePosition) => void,\n handlers?: useMoveHandlers,\n dir: 'ltr' | 'rtl' = 'ltr'\n) {\n const ref = useRef<T>();\n const mounted = useRef<boolean>(false);\n const isSliding = useRef(false);\n const frame = useRef(0);\n const [active, setActive] = useState(false);\n\n useEffect(() => {\n mounted.current = true;\n }, []);\n\n useEffect(() => {\n const onScrub = ({ x, y }: UseMovePosition) => {\n cancelAnimationFrame(frame.current);\n\n frame.current = requestAnimationFrame(() => {\n if (mounted.current && ref.current) {\n ref.current.style.userSelect = 'none';\n const rect = ref.current.getBoundingClientRect();\n\n if (rect.width && rect.height) {\n const _x = clamp({ value: (x - rect.left) / rect.width, min: 0, max: 1 });\n onChange({\n x: dir === 'ltr' ? _x : 1 - _x,\n y: clamp({ value: (y - rect.top) / rect.height, min: 0, max: 1 }),\n });\n }\n }\n });\n };\n\n const bindEvents = () => {\n document.addEventListener('mousemove', onMouseMove);\n document.addEventListener('mouseup', stopScrubbing);\n document.addEventListener('touchmove', onTouchMove);\n document.addEventListener('touchend', stopScrubbing);\n };\n\n const unbindEvents = () => {\n document.removeEventListener('mousemove', onMouseMove);\n document.removeEventListener('mouseup', stopScrubbing);\n document.removeEventListener('touchmove', onTouchMove);\n document.removeEventListener('touchend', stopScrubbing);\n };\n\n const startScrubbing = () => {\n if (!isSliding.current && mounted.current) {\n isSliding.current = true;\n typeof handlers?.onScrubStart === 'function' && handlers.onScrubStart();\n setActive(true);\n bindEvents();\n }\n };\n\n const stopScrubbing = () => {\n if (isSliding.current && mounted.current) {\n isSliding.current = false;\n setActive(false);\n unbindEvents();\n setTimeout(() => {\n typeof handlers?.onScrubEnd === 'function' && handlers.onScrubEnd();\n }, 0);\n }\n };\n\n const onMouseDown = (event: MouseEvent) => {\n startScrubbing();\n onMouseMove(event);\n };\n\n const onMouseMove = (event: MouseEvent) => onScrub({ x: event.clientX, y: event.clientY });\n\n const onTouchStart = (event: TouchEvent) => {\n startScrubbing();\n event?.preventDefault();\n onTouchMove(event);\n };\n\n const onTouchMove = (event: TouchEvent) => {\n event?.preventDefault();\n onScrub({ x: event.changedTouches[0].clientX, y: event.changedTouches[0].clientY });\n };\n\n ref.current.addEventListener('mousedown', onMouseDown);\n ref.current.addEventListener('touchstart', onTouchStart);\n\n return () => {\n if (ref.current) {\n ref.current.removeEventListener('mousedown', onMouseDown);\n ref.current.removeEventListener('touchstart', onTouchStart);\n }\n };\n }, [dir, onChange]);\n\n return { ref, active };\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
export interface UseListStateHandler<T> {
|
|
3
3
|
setState: React.Dispatch<React.SetStateAction<T[]>>;
|
|
4
|
-
append: (...items: T[]) =>
|
|
5
|
-
prepend: (...items: T[]) =>
|
|
6
|
-
insert: (index: number, ...items: T[]) =>
|
|
7
|
-
pop: () =>
|
|
8
|
-
shift: () =>
|
|
9
|
-
apply: (fn: (item: T, index?: number) => T) =>
|
|
10
|
-
applyWhere: (condition: (item: T, index: number) => boolean, fn: (item: T, index?: number) => T) =>
|
|
11
|
-
remove: (...indices: number[]) =>
|
|
4
|
+
append: (...items: T[]) => T[];
|
|
5
|
+
prepend: (...items: T[]) => T[];
|
|
6
|
+
insert: (index: number, ...items: T[]) => T[];
|
|
7
|
+
pop: () => T[];
|
|
8
|
+
shift: () => T[];
|
|
9
|
+
apply: (fn: (item: T, index?: number) => T) => T[];
|
|
10
|
+
applyWhere: (condition: (item: T, index: number) => boolean, fn: (item: T, index?: number) => T) => T[];
|
|
11
|
+
remove: (...indices: number[]) => T[];
|
|
12
12
|
reorder: ({ from, to }: {
|
|
13
13
|
from: number;
|
|
14
14
|
to: number;
|
|
15
|
-
}) =>
|
|
16
|
-
setItem: (index: number, item: T) =>
|
|
17
|
-
setItemProp: <K extends keyof T, U extends T[K]>(index: number, prop: K, value: U) =>
|
|
15
|
+
}) => T[];
|
|
16
|
+
setItem: (index: number, item: T) => T[];
|
|
17
|
+
setItemProp: <K extends keyof T, U extends T[K]>(index: number, prop: K, value: U) => T[];
|
|
18
18
|
}
|
|
19
19
|
export declare type UseListState<T> = [T[], UseListStateHandler<T>];
|
|
20
20
|
export declare function useListState<T>(initialValue?: T[]): UseListState<T>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-list-state.d.ts","sourceRoot":"","sources":["../../src/use-list-state/use-list-state.ts"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAC;AAExC,MAAM,WAAW,mBAAmB,CAAC,CAAC;IACpC,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACpD,MAAM,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,KAAK,
|
|
1
|
+
{"version":3,"file":"use-list-state.d.ts","sourceRoot":"","sources":["../../src/use-list-state/use-list-state.ts"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAC;AAExC,MAAM,WAAW,mBAAmB,CAAC,CAAC;IACpC,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACpD,MAAM,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC;IAC/B,OAAO,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC;IAChC,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,KAAK,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC;IAC9C,GAAG,EAAE,MAAM,CAAC,EAAE,CAAC;IACf,KAAK,EAAE,MAAM,CAAC,EAAE,CAAC;IACjB,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,MAAM,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;IACnD,UAAU,EAAE,CACV,SAAS,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,EAC9C,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,MAAM,KAAK,CAAC,KAC/B,CAAC,EAAE,CAAC;IACT,MAAM,EAAE,CAAC,GAAG,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC;IACtC,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,KAAK,CAAC,EAAE,CAAC;IAC7D,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;IACzC,WAAW,EAAE,CAAC,CAAC,SAAS,MAAM,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;CAC3F;AAED,oBAAY,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC;AAE5D,wBAAgB,YAAY,CAAC,CAAC,EAAE,YAAY,GAAE,CAAC,EAAO,GAAG,YAAY,CAAC,CAAC,CAAC,CAsGvE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-move.d.ts","sourceRoot":"","sources":["../../src/use-move/use-move.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,eAAe;IAC9B,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX;AAED,eAAO,MAAM,oBAAoB,aAAc,eAAe;;;CAG5D,CAAC;AAEH,UAAU,eAAe;IACvB,YAAY,CAAC,IAAI,IAAI,CAAC;IACtB,UAAU,CAAC,IAAI,IAAI,CAAC;CACrB;AAED,wBAAgB,OAAO,CAAC,CAAC,SAAS,WAAW,GAAG,cAAc,EAC5D,QAAQ,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,IAAI,EAC1C,QAAQ,CAAC,EAAE,eAAe,EAC1B,GAAG,GAAE,KAAK,GAAG,KAAa;;;
|
|
1
|
+
{"version":3,"file":"use-move.d.ts","sourceRoot":"","sources":["../../src/use-move/use-move.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,eAAe;IAC9B,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX;AAED,eAAO,MAAM,oBAAoB,aAAc,eAAe;;;CAG5D,CAAC;AAEH,UAAU,eAAe;IACvB,YAAY,CAAC,IAAI,IAAI,CAAC;IACtB,UAAU,CAAC,IAAI,IAAI,CAAC;CACrB;AAED,wBAAgB,OAAO,CAAC,CAAC,SAAS,WAAW,GAAG,cAAc,EAC5D,QAAQ,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,IAAI,EAC1C,QAAQ,CAAC,EAAE,eAAe,EAC1B,GAAG,GAAE,KAAK,GAAG,KAAa;;;EAgG3B"}
|