@zayne-labs/toolkit-react 0.11.19 → 0.11.21

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 (127) hide show
  1. package/dist/esm/hooks/createCustomContext.d.ts +21 -0
  2. package/dist/esm/hooks/createCustomContext.js +25 -0
  3. package/dist/esm/hooks/createCustomContext.js.map +1 -0
  4. package/dist/esm/hooks/effects/useAfterMountEffect.d.ts +7 -0
  5. package/dist/esm/hooks/effects/useAfterMountEffect.js +19 -0
  6. package/dist/esm/hooks/effects/useAfterMountEffect.js.map +1 -0
  7. package/dist/esm/hooks/effects/useAsyncEffect.d.ts +5 -0
  8. package/dist/esm/hooks/effects/useAsyncEffect.js +20 -0
  9. package/dist/esm/hooks/effects/useAsyncEffect.js.map +1 -0
  10. package/dist/esm/hooks/effects/useEffectOnce.d.ts +5 -0
  11. package/dist/esm/hooks/effects/useEffectOnce.js +17 -0
  12. package/dist/esm/hooks/effects/useEffectOnce.js.map +1 -0
  13. package/dist/esm/hooks/effects/useLifeCycle.d.ts +13 -0
  14. package/dist/esm/hooks/effects/useLifeCycle.js +16 -0
  15. package/dist/esm/hooks/effects/useLifeCycle.js.map +1 -0
  16. package/dist/esm/hooks/effects/useMountEffect.d.ts +5 -0
  17. package/dist/esm/hooks/effects/useMountEffect.js +10 -0
  18. package/dist/esm/hooks/effects/useMountEffect.js.map +1 -0
  19. package/dist/esm/hooks/effects/useUnMountEffect.d.ts +7 -0
  20. package/dist/esm/hooks/effects/useUnMountEffect.js +8 -0
  21. package/dist/esm/hooks/effects/useUnMountEffect.js.map +1 -0
  22. package/dist/esm/hooks/index.d.ts +27 -2
  23. package/dist/esm/hooks/index.js +27 -2
  24. package/dist/esm/hooks/useAnimateElementRefs.d.ts +19 -0
  25. package/dist/esm/hooks/useAnimateElementRefs.js +54 -0
  26. package/dist/esm/hooks/useAnimateElementRefs.js.map +1 -0
  27. package/dist/esm/hooks/useAnimationInterval.d.ts +15 -0
  28. package/dist/esm/hooks/useAnimationInterval.js +27 -0
  29. package/dist/esm/hooks/useAnimationInterval.js.map +1 -0
  30. package/dist/esm/hooks/useCallbackRef.d.ts +13 -0
  31. package/dist/esm/hooks/useCallbackRef.js +19 -0
  32. package/dist/esm/hooks/useCallbackRef.js.map +1 -0
  33. package/dist/esm/hooks/useClickOutside.d.ts +14 -0
  34. package/dist/esm/hooks/useClickOutside.js +25 -0
  35. package/dist/esm/hooks/useClickOutside.js.map +1 -0
  36. package/dist/esm/hooks/useComposeRefs.d.ts +8 -0
  37. package/dist/esm/hooks/useComposeRefs.js +11 -0
  38. package/dist/esm/hooks/useComposeRefs.js.map +1 -0
  39. package/dist/esm/hooks/useConstant.d.ts +6 -0
  40. package/dist/esm/hooks/useConstant.js +17 -0
  41. package/dist/esm/hooks/useConstant.js.map +1 -0
  42. package/dist/esm/hooks/useControllable.d.ts +55 -0
  43. package/dist/esm/hooks/useControllable.js +79 -0
  44. package/dist/esm/hooks/useControllable.js.map +1 -0
  45. package/dist/esm/hooks/useCopyToClipboard.d.ts +15 -0
  46. package/dist/esm/hooks/useCopyToClipboard.js +49 -0
  47. package/dist/esm/hooks/useCopyToClipboard.js.map +1 -0
  48. package/dist/esm/hooks/useDebounce.d.ts +23 -0
  49. package/dist/esm/hooks/useDebounce.js +32 -0
  50. package/dist/esm/hooks/useDebounce.js.map +1 -0
  51. package/dist/esm/hooks/useDisclosure.d.ts +14 -0
  52. package/dist/esm/hooks/useDisclosure.js +42 -0
  53. package/dist/esm/hooks/useDisclosure.js.map +1 -0
  54. package/dist/esm/hooks/useIsHydrated.d.ts +28 -0
  55. package/dist/esm/hooks/useIsHydrated.js +39 -0
  56. package/dist/esm/hooks/useIsHydrated.js.map +1 -0
  57. package/dist/esm/hooks/useLocationState.d.ts +17 -0
  58. package/dist/esm/hooks/useLocationState.js +24 -0
  59. package/dist/esm/hooks/useLocationState.js.map +1 -0
  60. package/dist/esm/hooks/useScrollObserver.d.ts +11 -0
  61. package/dist/esm/hooks/useScrollObserver.js +44 -0
  62. package/dist/esm/hooks/useScrollObserver.js.map +1 -0
  63. package/dist/esm/hooks/useSearch.d.ts +12 -0
  64. package/dist/esm/hooks/useSearch.js +40 -0
  65. package/dist/esm/hooks/useSearch.js.map +1 -0
  66. package/dist/esm/hooks/useSearchParams.d.ts +12 -0
  67. package/dist/esm/hooks/useSearchParams.js +36 -0
  68. package/dist/esm/hooks/useSearchParams.js.map +1 -0
  69. package/dist/esm/hooks/useShallowCompare.d.ts +8 -0
  70. package/dist/esm/hooks/useShallowCompare.js +26 -0
  71. package/dist/esm/hooks/useShallowCompare.js.map +1 -0
  72. package/dist/esm/hooks/useStorageState.d.ts +20 -0
  73. package/dist/esm/hooks/useStorageState.js +54 -0
  74. package/dist/esm/hooks/useStorageState.js.map +1 -0
  75. package/dist/esm/hooks/useStore.d.ts +8 -0
  76. package/dist/esm/hooks/useStore.js +13 -0
  77. package/dist/esm/hooks/useStore.js.map +1 -0
  78. package/dist/esm/hooks/useThrottle.d.ts +15 -0
  79. package/dist/esm/hooks/useThrottle.js +27 -0
  80. package/dist/esm/hooks/useThrottle.js.map +1 -0
  81. package/dist/esm/hooks/useToggle.d.ts +6 -0
  82. package/dist/esm/hooks/useToggle.js +18 -0
  83. package/dist/esm/hooks/useToggle.js.map +1 -0
  84. package/dist/esm/utils/composeEventHandlers.d.ts +8 -0
  85. package/dist/esm/utils/composeEventHandlers.js +36 -0
  86. package/dist/esm/utils/composeEventHandlers.js.map +1 -0
  87. package/dist/esm/utils/composeRefs.d.ts +17 -0
  88. package/dist/esm/utils/composeRefs.js +28 -0
  89. package/dist/esm/utils/composeRefs.js.map +1 -0
  90. package/dist/esm/utils/getSlot/getSlot.d.ts +60 -0
  91. package/dist/esm/utils/getSlot/getSlot.js +78 -0
  92. package/dist/esm/utils/getSlot/getSlot.js.map +1 -0
  93. package/dist/esm/utils/getSlotMap/getSlotMap.d.ts +86 -0
  94. package/dist/esm/utils/getSlotMap/getSlotMap.js +87 -0
  95. package/dist/esm/utils/getSlotMap/getSlotMap.js.map +1 -0
  96. package/dist/esm/utils/index.d.ts +8 -1
  97. package/dist/esm/utils/index.js +6 -1
  98. package/dist/esm/utils/mergeProps.d.ts +20 -0
  99. package/dist/esm/utils/mergeProps.js +31 -0
  100. package/dist/esm/utils/mergeProps.js.map +1 -0
  101. package/dist/esm/utils/mergeTwoProps.d.ts +5 -0
  102. package/dist/esm/utils/mergeTwoProps.js +42 -0
  103. package/dist/esm/utils/mergeTwoProps.js.map +1 -0
  104. package/dist/esm/utils/types/common.d.ts +43 -0
  105. package/dist/esm/utils/types/polymorphism.d.ts +13 -0
  106. package/dist/esm/zustand/createReactZustandStore.js +8 -0
  107. package/dist/esm/zustand/createReactZustandStore.js.map +1 -0
  108. package/dist/esm/zustand/createZustandContext.d.ts +13 -0
  109. package/dist/esm/zustand/createZustandContext.js +21 -0
  110. package/dist/esm/zustand/createZustandContext.js.map +1 -0
  111. package/dist/esm/zustand/createZustandStoreWithCombine.d.ts +12 -0
  112. package/dist/esm/zustand/createZustandStoreWithCombine.js +14 -0
  113. package/dist/esm/zustand/createZustandStoreWithCombine.js.map +1 -0
  114. package/dist/esm/zustand/createZustandStoreWithSubscribe.d.ts +17 -0
  115. package/dist/esm/zustand/createZustandStoreWithSubscribe.js +16 -0
  116. package/dist/esm/zustand/createZustandStoreWithSubscribe.js.map +1 -0
  117. package/dist/esm/zustand/index.d.ts +4 -38
  118. package/dist/esm/zustand/index.js +4 -42
  119. package/dist/esm/zustand/types.d.ts +20 -0
  120. package/package.json +11 -16
  121. package/dist/esm/hooks-iZivekUZ.js +0 -635
  122. package/dist/esm/hooks-iZivekUZ.js.map +0 -1
  123. package/dist/esm/index-DlScRgBk.d.ts +0 -228
  124. package/dist/esm/index-ouFKofvj.d.ts +0 -293
  125. package/dist/esm/utils-Bvs8tFDM.js +0 -279
  126. package/dist/esm/utils-Bvs8tFDM.js.map +0 -1
  127. package/dist/esm/zustand/index.js.map +0 -1
@@ -1,43 +1,5 @@
1
- import { createCustomContext, useStore } from "../hooks-iZivekUZ.js";
2
- import "../utils-Bvs8tFDM.js";
3
- import { createElement } from "react";
4
- import { createStore } from "@zayne-labs/toolkit-core";
5
- import { create, createStore as createStore$1 } from "zustand";
1
+ import { createZustandContext } from "./createZustandContext.js";
2
+ import { combine, createStoreWithCombine, createWithCombine } from "./createZustandStoreWithCombine.js";
3
+ import { createStoreWithSubscribe, createWithSubscribe } from "./createZustandStoreWithSubscribe.js";
6
4
 
7
- //#region src/zustand/createZustandContext.ts
8
- const createZustandContext = (options) => {
9
- const [Provider, useCustomContext] = createCustomContext(options);
10
- function ZustandStoreContextProvider(props) {
11
- const { children, store } = props;
12
- return createElement(Provider, { value: store }, children);
13
- }
14
- const useZustandStoreContext = (selector) => {
15
- const zustandStore = useCustomContext();
16
- return useStore(zustandStore, selector);
17
- };
18
- return [ZustandStoreContextProvider, useZustandStoreContext];
19
- };
20
-
21
- //#endregion
22
- //#region src/zustand/createZustandStoreWithCombine.ts
23
- const combine = (initialState, storeCreator) => (...params) => ({
24
- ...initialState,
25
- ...storeCreator(...params)
26
- });
27
- const createStoreWithCombine = (...params) => createStore$1(combine(...params));
28
- const createWithCombine = (...params) => create(combine(...params));
29
-
30
- //#endregion
31
- //#region src/zustand/createZustandStoreWithSubscribe.ts
32
- const createStoreWithSubscribe = ((stateInitializer) => stateInitializer ? createStore(stateInitializer) : createStore);
33
- const createWithSubscribeImpl = (createState) => {
34
- const store = createStore(createState);
35
- const useBoundStore = (selector) => useStore(store, selector);
36
- Object.assign(useBoundStore, store);
37
- return useBoundStore;
38
- };
39
- const createWithSubscribe = ((stateInitializer) => stateInitializer ? createWithSubscribeImpl(stateInitializer) : createWithSubscribeImpl);
40
-
41
- //#endregion
42
- export { combine, createStoreWithCombine, createStoreWithSubscribe, createWithCombine, createWithSubscribe, createZustandContext };
43
- //# sourceMappingURL=index.js.map
5
+ export { combine, createStoreWithCombine, createStoreWithSubscribe, createWithCombine, createWithSubscribe, createZustandContext };
@@ -0,0 +1,20 @@
1
+ import { StoreApi } from "@zayne-labs/toolkit-core";
2
+
3
+ //#region src/zustand/types.d.ts
4
+ type StoreMutatorIdentifier = never;
5
+ type Get<T, K, F> = K extends keyof T ? T[K] : F;
6
+ type Mutate<S, Ms> = number extends Ms["length" & keyof Ms] ? S : Ms extends [] ? S : Ms extends [[infer IgnoredMi, infer IgnoredMa], ...infer Mrs] ? Mutate<never, Mrs> : never;
7
+ type StateCreator<T, Mis extends Array<[StoreMutatorIdentifier, unknown]> = [], Mos extends Array<[StoreMutatorIdentifier, unknown]> = [], U = T> = {
8
+ $$storeMutators?: Mos;
9
+ } & ((setState: Get<Mutate<StoreApi<T>, Mis>, "setState", never>, getState: Get<Mutate<StoreApi<T>, Mis>, "getState", never>, store: Mutate<StoreApi<T>, Mis>) => U);
10
+ type ExtractState<S> = S extends ({
11
+ getState: () => infer T;
12
+ }) ? T : never;
13
+ type UseBoundStore<S extends ReadonlyStoreApi<unknown>> = S & {
14
+ (): ExtractState<S>;
15
+ <U>(selector: (state: ExtractState<S>) => U): U;
16
+ };
17
+ type ReadonlyStoreApi<T> = Pick<StoreApi<T>, "getInitialState" | "getState" | "subscribe">;
18
+ //#endregion
19
+ export { Mutate, StateCreator, StoreMutatorIdentifier, UseBoundStore };
20
+ //# sourceMappingURL=types.d.ts.map
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@zayne-labs/toolkit-react",
3
3
  "type": "module",
4
- "version": "0.11.19",
4
+ "version": "0.11.21",
5
5
  "description": "A collection of utility functions, types and composables used by my other projects. Nothing too fancy but can be useful.",
6
6
  "author": "Ryan Zayne",
7
7
  "license": "MIT",
@@ -32,8 +32,7 @@
32
32
  },
33
33
  "peerDependencies": {
34
34
  "@types/react": ">=19.0.0",
35
- "react": ">=19.0.0",
36
- "zustand": ">=5.0.0"
35
+ "react": ">=19.0.0"
37
36
  },
38
37
  "peerDependenciesMeta": {
39
38
  "@types/react": {
@@ -41,14 +40,11 @@
41
40
  },
42
41
  "react": {
43
42
  "optional": true
44
- },
45
- "zustand": {
46
- "optional": true
47
43
  }
48
44
  },
49
45
  "dependencies": {
50
- "@zayne-labs/toolkit-core": "0.11.19",
51
- "@zayne-labs/toolkit-type-helpers": "0.11.19"
46
+ "@zayne-labs/toolkit-core": "0.11.21",
47
+ "@zayne-labs/toolkit-type-helpers": "0.11.21"
52
48
  },
53
49
  "devDependencies": {
54
50
  "@arethetypeswrong/cli": "^0.18.2",
@@ -56,17 +52,16 @@
56
52
  "@size-limit/esbuild-why": "^11.2.0",
57
53
  "@size-limit/preset-small-lib": "^11.2.0",
58
54
  "@total-typescript/ts-reset": "^0.6.1",
59
- "@types/node": "^24.5.2",
60
- "@types/react": "^19.1.15",
61
- "@zayne-labs/tsconfig": "0.10.1",
55
+ "@types/node": "^24.6.1",
56
+ "@types/react": "^19.2.0",
57
+ "@zayne-labs/tsconfig": "0.10.4",
62
58
  "concurrently": "^9.2.1",
63
- "cross-env": "^10.0.0",
59
+ "cross-env": "^10.1.0",
64
60
  "publint": "^0.3.13",
65
- "react": "^19.1.1",
61
+ "react": "^19.2.0",
66
62
  "size-limit": "^11.2.0",
67
- "tsdown": "^0.15.5",
68
- "typescript": "5.9.2",
69
- "zustand": "^5.0.8"
63
+ "tsdown": "^0.15.6",
64
+ "typescript": "5.9.3"
70
65
  },
71
66
  "publishConfig": {
72
67
  "access": "public",