@spark-ui/hooks 17.2.1-beta.1 → 17.2.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.
Files changed (36) hide show
  1. package/CHANGELOG.md +25 -0
  2. package/dist/use-combined-state/index.js +670 -47
  3. package/dist/use-combined-state/index.js.map +1 -1
  4. package/dist/use-combined-state/index.mjs +664 -4
  5. package/dist/use-combined-state/index.mjs.map +1 -1
  6. package/dist/use-merge-refs/index.js +7 -37
  7. package/dist/use-merge-refs/index.js.map +1 -1
  8. package/dist/use-merge-refs/index.mjs +1 -2
  9. package/dist/use-merge-refs/index.mjs.map +1 -1
  10. package/dist/use-mounted-state/index.js +7 -35
  11. package/dist/use-mounted-state/index.js.map +1 -1
  12. package/dist/use-mounted-state/index.mjs +2 -3
  13. package/dist/use-mounted-state/index.mjs.map +1 -1
  14. package/dist/use-scroll-overflow/index.js +8 -36
  15. package/dist/use-scroll-overflow/index.js.map +1 -1
  16. package/dist/use-scroll-overflow/index.mjs +2 -3
  17. package/dist/use-scroll-overflow/index.mjs.map +1 -1
  18. package/dist/use-sortable-list/index.js +6 -36
  19. package/dist/use-sortable-list/index.js.map +1 -1
  20. package/dist/use-sortable-list/index.mjs +2 -5
  21. package/dist/use-sortable-list/index.mjs.map +1 -1
  22. package/package.json +2 -2
  23. package/vite.config.ts +43 -0
  24. package/.turbo/turbo-build.log +0 -35
  25. package/.turbo/turbo-lint.log +0 -327
  26. package/dist/use-combined-state/index.d.mts +0 -12
  27. package/dist/use-combined-state/index.d.ts +0 -12
  28. package/dist/use-merge-refs/index.d.mts +0 -7
  29. package/dist/use-merge-refs/index.d.ts +0 -7
  30. package/dist/use-mounted-state/index.d.mts +0 -3
  31. package/dist/use-mounted-state/index.d.ts +0 -3
  32. package/dist/use-scroll-overflow/index.d.mts +0 -22
  33. package/dist/use-scroll-overflow/index.d.ts +0 -22
  34. package/dist/use-sortable-list/index.d.mts +0 -98
  35. package/dist/use-sortable-list/index.d.ts +0 -98
  36. package/tsup.config.ts +0 -11
@@ -1,98 +0,0 @@
1
- import { Ref } from 'react';
2
-
3
- interface UseSortableListOptions<T> {
4
- /**
5
- * The list of items to be sortable
6
- */
7
- items: T[];
8
- /**
9
- * Callback called when items are reordered
10
- * @param newItems - The reordered items array
11
- */
12
- onReorder: (newItems: T[]) => void;
13
- /**
14
- * Function to generate a unique key for each item
15
- * @param item - The item to generate a key for
16
- * @returns A unique string key for the item
17
- */
18
- getItemKey: (item: T) => string;
19
- }
20
- interface SortableItemProps<TElement extends HTMLElement = HTMLElement> {
21
- /**
22
- * Whether the item is draggable
23
- */
24
- draggable: boolean;
25
- /**
26
- * Handler for drag start event
27
- */
28
- onDragStart: (e: React.DragEvent) => void;
29
- /**
30
- * Handler for drag enter event
31
- */
32
- onDragEnter: (e: React.DragEvent) => void;
33
- /**
34
- * Handler for drag over event
35
- */
36
- onDragOver: (e: React.DragEvent) => void;
37
- /**
38
- * Handler for drag leave event
39
- */
40
- onDragLeave: (e: React.DragEvent) => void;
41
- /**
42
- * Handler for drag end event
43
- */
44
- onDragEnd: (e: React.DragEvent) => void;
45
- /**
46
- * Handler for drop event
47
- */
48
- onDrop: (e: React.DragEvent) => void;
49
- /**
50
- * Handler for keyboard navigation
51
- */
52
- onKeyDown: (e: React.KeyboardEvent) => void;
53
- /**
54
- * Tab index for keyboard navigation
55
- */
56
- tabIndex: number;
57
- /**
58
- * Ref callback to attach to the item element
59
- */
60
- ref: Ref<TElement>;
61
- }
62
- interface UseSortableListReturn<T> {
63
- /**
64
- * Get props to spread on a sortable item element (includes ref)
65
- * @param item - The item to get props for
66
- * @param index - The current index of the item in the list
67
- * @returns Props object to spread on the element
68
- */
69
- getItemProps: <TElement extends HTMLElement = HTMLElement>(item: T, index: number) => SortableItemProps<TElement>;
70
- }
71
- /**
72
- * Hook to make a list of items sortable via drag and drop and keyboard navigation
73
- *
74
- * @example
75
- * ```tsx
76
- * const { getItemProps } = useSortableList({
77
- * items: myItems,
78
- * onReorder: setMyItems,
79
- * getItemKey: (item) => item.id
80
- * })
81
- *
82
- * return (
83
- * <ul>
84
- * {myItems.map((item, index) => (
85
- * <li
86
- * key={getItemKey(item)}
87
- * {...getItemProps(item, index)}
88
- * >
89
- * {item.name}
90
- * </li>
91
- * ))}
92
- * </ul>
93
- * )
94
- * ```
95
- */
96
- declare function useSortableList<T>({ items, onReorder, getItemKey, }: UseSortableListOptions<T>): UseSortableListReturn<T>;
97
-
98
- export { type SortableItemProps, type UseSortableListOptions, type UseSortableListReturn, useSortableList };
@@ -1,98 +0,0 @@
1
- import { Ref } from 'react';
2
-
3
- interface UseSortableListOptions<T> {
4
- /**
5
- * The list of items to be sortable
6
- */
7
- items: T[];
8
- /**
9
- * Callback called when items are reordered
10
- * @param newItems - The reordered items array
11
- */
12
- onReorder: (newItems: T[]) => void;
13
- /**
14
- * Function to generate a unique key for each item
15
- * @param item - The item to generate a key for
16
- * @returns A unique string key for the item
17
- */
18
- getItemKey: (item: T) => string;
19
- }
20
- interface SortableItemProps<TElement extends HTMLElement = HTMLElement> {
21
- /**
22
- * Whether the item is draggable
23
- */
24
- draggable: boolean;
25
- /**
26
- * Handler for drag start event
27
- */
28
- onDragStart: (e: React.DragEvent) => void;
29
- /**
30
- * Handler for drag enter event
31
- */
32
- onDragEnter: (e: React.DragEvent) => void;
33
- /**
34
- * Handler for drag over event
35
- */
36
- onDragOver: (e: React.DragEvent) => void;
37
- /**
38
- * Handler for drag leave event
39
- */
40
- onDragLeave: (e: React.DragEvent) => void;
41
- /**
42
- * Handler for drag end event
43
- */
44
- onDragEnd: (e: React.DragEvent) => void;
45
- /**
46
- * Handler for drop event
47
- */
48
- onDrop: (e: React.DragEvent) => void;
49
- /**
50
- * Handler for keyboard navigation
51
- */
52
- onKeyDown: (e: React.KeyboardEvent) => void;
53
- /**
54
- * Tab index for keyboard navigation
55
- */
56
- tabIndex: number;
57
- /**
58
- * Ref callback to attach to the item element
59
- */
60
- ref: Ref<TElement>;
61
- }
62
- interface UseSortableListReturn<T> {
63
- /**
64
- * Get props to spread on a sortable item element (includes ref)
65
- * @param item - The item to get props for
66
- * @param index - The current index of the item in the list
67
- * @returns Props object to spread on the element
68
- */
69
- getItemProps: <TElement extends HTMLElement = HTMLElement>(item: T, index: number) => SortableItemProps<TElement>;
70
- }
71
- /**
72
- * Hook to make a list of items sortable via drag and drop and keyboard navigation
73
- *
74
- * @example
75
- * ```tsx
76
- * const { getItemProps } = useSortableList({
77
- * items: myItems,
78
- * onReorder: setMyItems,
79
- * getItemKey: (item) => item.id
80
- * })
81
- *
82
- * return (
83
- * <ul>
84
- * {myItems.map((item, index) => (
85
- * <li
86
- * key={getItemKey(item)}
87
- * {...getItemProps(item, index)}
88
- * >
89
- * {item.name}
90
- * </li>
91
- * ))}
92
- * </ul>
93
- * )
94
- * ```
95
- */
96
- declare function useSortableList<T>({ items, onReorder, getItemKey, }: UseSortableListOptions<T>): UseSortableListReturn<T>;
97
-
98
- export { type SortableItemProps, type UseSortableListOptions, type UseSortableListReturn, useSortableList };
package/tsup.config.ts DELETED
@@ -1,11 +0,0 @@
1
- import { defineConfig } from 'tsup'
2
-
3
- export default defineConfig(() => {
4
- return {
5
- entryPoints: ['src/*/index.(ts|tsx)'],
6
- format: ['cjs', 'esm'],
7
- dts: true,
8
- sourcemap: true,
9
- external: ['react'],
10
- }
11
- })