@opensite/hooks 0.1.0

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 (111) hide show
  1. package/LICENSE +28 -0
  2. package/README.md +102 -0
  3. package/dist/browser/opensite-hooks.umd.cjs +2 -0
  4. package/dist/browser/opensite-hooks.umd.js +2 -0
  5. package/dist/browser/opensite-hooks.umd.js.map +1 -0
  6. package/dist/core/index.cjs +16 -0
  7. package/dist/core/index.d.ts +24 -0
  8. package/dist/core/index.js +16 -0
  9. package/dist/core/useBoolean.cjs +8 -0
  10. package/dist/core/useBoolean.d.ts +8 -0
  11. package/dist/core/useBoolean.js +8 -0
  12. package/dist/core/useCopyToClipboard.cjs +67 -0
  13. package/dist/core/useCopyToClipboard.d.ts +9 -0
  14. package/dist/core/useCopyToClipboard.js +67 -0
  15. package/dist/core/useDebounceCallback.cjs +83 -0
  16. package/dist/core/useDebounceCallback.d.ts +11 -0
  17. package/dist/core/useDebounceCallback.js +83 -0
  18. package/dist/core/useDebounceValue.cjs +13 -0
  19. package/dist/core/useDebounceValue.d.ts +2 -0
  20. package/dist/core/useDebounceValue.js +13 -0
  21. package/dist/core/useEventListener.cjs +40 -0
  22. package/dist/core/useEventListener.d.ts +6 -0
  23. package/dist/core/useEventListener.js +40 -0
  24. package/dist/core/useHover.cjs +14 -0
  25. package/dist/core/useHover.d.ts +1 -0
  26. package/dist/core/useHover.js +14 -0
  27. package/dist/core/useIsClient.cjs +8 -0
  28. package/dist/core/useIsClient.d.ts +1 -0
  29. package/dist/core/useIsClient.js +8 -0
  30. package/dist/core/useIsomorphicLayoutEffect.cjs +2 -0
  31. package/dist/core/useIsomorphicLayoutEffect.d.ts +2 -0
  32. package/dist/core/useIsomorphicLayoutEffect.js +2 -0
  33. package/dist/core/useLocalStorage.cjs +63 -0
  34. package/dist/core/useLocalStorage.d.ts +9 -0
  35. package/dist/core/useLocalStorage.js +63 -0
  36. package/dist/core/useMap.cjs +39 -0
  37. package/dist/core/useMap.d.ts +9 -0
  38. package/dist/core/useMap.js +39 -0
  39. package/dist/core/useMediaQuery.cjs +26 -0
  40. package/dist/core/useMediaQuery.d.ts +4 -0
  41. package/dist/core/useMediaQuery.js +26 -0
  42. package/dist/core/useOnClickOutside.cjs +30 -0
  43. package/dist/core/useOnClickOutside.d.ts +3 -0
  44. package/dist/core/useOnClickOutside.js +30 -0
  45. package/dist/core/usePrevious.cjs +8 -0
  46. package/dist/core/usePrevious.d.ts +1 -0
  47. package/dist/core/usePrevious.js +8 -0
  48. package/dist/core/useResizeObserver.cjs +37 -0
  49. package/dist/core/useResizeObserver.d.ts +3 -0
  50. package/dist/core/useResizeObserver.js +37 -0
  51. package/dist/core/useSessionStorage.cjs +63 -0
  52. package/dist/core/useSessionStorage.d.ts +9 -0
  53. package/dist/core/useSessionStorage.js +63 -0
  54. package/dist/core/useThrottle.cjs +65 -0
  55. package/dist/core/useThrottle.d.ts +5 -0
  56. package/dist/core/useThrottle.js +65 -0
  57. package/dist/hooks/index.cjs +16 -0
  58. package/dist/hooks/index.d.ts +24 -0
  59. package/dist/hooks/index.js +16 -0
  60. package/dist/hooks/useBoolean.cjs +1 -0
  61. package/dist/hooks/useBoolean.d.ts +2 -0
  62. package/dist/hooks/useBoolean.js +1 -0
  63. package/dist/hooks/useCopyToClipboard.cjs +1 -0
  64. package/dist/hooks/useCopyToClipboard.d.ts +2 -0
  65. package/dist/hooks/useCopyToClipboard.js +1 -0
  66. package/dist/hooks/useDebounceCallback.cjs +1 -0
  67. package/dist/hooks/useDebounceCallback.d.ts +2 -0
  68. package/dist/hooks/useDebounceCallback.js +1 -0
  69. package/dist/hooks/useDebounceValue.cjs +1 -0
  70. package/dist/hooks/useDebounceValue.d.ts +2 -0
  71. package/dist/hooks/useDebounceValue.js +1 -0
  72. package/dist/hooks/useEventListener.cjs +1 -0
  73. package/dist/hooks/useEventListener.d.ts +1 -0
  74. package/dist/hooks/useEventListener.js +1 -0
  75. package/dist/hooks/useHover.cjs +1 -0
  76. package/dist/hooks/useHover.d.ts +1 -0
  77. package/dist/hooks/useHover.js +1 -0
  78. package/dist/hooks/useIsClient.cjs +1 -0
  79. package/dist/hooks/useIsClient.d.ts +1 -0
  80. package/dist/hooks/useIsClient.js +1 -0
  81. package/dist/hooks/useIsomorphicLayoutEffect.cjs +1 -0
  82. package/dist/hooks/useIsomorphicLayoutEffect.d.ts +1 -0
  83. package/dist/hooks/useIsomorphicLayoutEffect.js +1 -0
  84. package/dist/hooks/useLocalStorage.cjs +1 -0
  85. package/dist/hooks/useLocalStorage.d.ts +2 -0
  86. package/dist/hooks/useLocalStorage.js +1 -0
  87. package/dist/hooks/useMap.cjs +1 -0
  88. package/dist/hooks/useMap.d.ts +2 -0
  89. package/dist/hooks/useMap.js +1 -0
  90. package/dist/hooks/useMediaQuery.cjs +1 -0
  91. package/dist/hooks/useMediaQuery.d.ts +2 -0
  92. package/dist/hooks/useMediaQuery.js +1 -0
  93. package/dist/hooks/useOnClickOutside.cjs +1 -0
  94. package/dist/hooks/useOnClickOutside.d.ts +1 -0
  95. package/dist/hooks/useOnClickOutside.js +1 -0
  96. package/dist/hooks/usePrevious.cjs +1 -0
  97. package/dist/hooks/usePrevious.d.ts +1 -0
  98. package/dist/hooks/usePrevious.js +1 -0
  99. package/dist/hooks/useResizeObserver.cjs +1 -0
  100. package/dist/hooks/useResizeObserver.d.ts +1 -0
  101. package/dist/hooks/useResizeObserver.js +1 -0
  102. package/dist/hooks/useSessionStorage.cjs +1 -0
  103. package/dist/hooks/useSessionStorage.d.ts +2 -0
  104. package/dist/hooks/useSessionStorage.js +1 -0
  105. package/dist/hooks/useThrottle.cjs +1 -0
  106. package/dist/hooks/useThrottle.d.ts +2 -0
  107. package/dist/hooks/useThrottle.js +1 -0
  108. package/dist/index.cjs +9 -0
  109. package/dist/index.d.ts +9 -0
  110. package/dist/index.js +9 -0
  111. package/package.json +252 -0
package/package.json ADDED
@@ -0,0 +1,252 @@
1
+ {
2
+ "name": "@opensite/hooks",
3
+ "version": "0.1.0",
4
+ "description": "Performance-first React hooks for UI state, storage, events, and responsive behavior with tree-shakable exports.",
5
+ "keywords": [
6
+ "react",
7
+ "hooks",
8
+ "performance",
9
+ "utilities",
10
+ "opensite",
11
+ "tree-shakeable"
12
+ ],
13
+ "homepage": "https://github.com/opensite-ai/opensite-hooks#readme",
14
+ "repository": {
15
+ "type": "git",
16
+ "url": "git+https://github.com/opensite-ai/opensite-hooks.git"
17
+ },
18
+ "bugs": {
19
+ "url": "https://github.com/opensite-ai/opensite-hooks/issues"
20
+ },
21
+ "author": "OpenSite AI (https://opensite.ai)",
22
+ "license": "BSD 3",
23
+ "private": false,
24
+ "type": "module",
25
+ "main": "dist/index.cjs",
26
+ "module": "dist/index.js",
27
+ "types": "dist/index.d.ts",
28
+ "files": [
29
+ "dist"
30
+ ],
31
+ "sideEffects": false,
32
+ "publishConfig": {
33
+ "access": "public"
34
+ },
35
+ "exports": {
36
+ ".": {
37
+ "import": "./dist/index.js",
38
+ "require": "./dist/index.cjs",
39
+ "types": "./dist/index.d.ts"
40
+ },
41
+ "./core": {
42
+ "import": "./dist/core/index.js",
43
+ "require": "./dist/core/index.cjs",
44
+ "types": "./dist/core/index.d.ts"
45
+ },
46
+ "./hooks": {
47
+ "import": "./dist/hooks/index.js",
48
+ "require": "./dist/hooks/index.cjs",
49
+ "types": "./dist/hooks/index.d.ts"
50
+ },
51
+ "./core/useBoolean": {
52
+ "import": "./dist/core/useBoolean.js",
53
+ "require": "./dist/core/useBoolean.cjs",
54
+ "types": "./dist/core/useBoolean.d.ts"
55
+ },
56
+ "./hooks/useBoolean": {
57
+ "import": "./dist/hooks/useBoolean.js",
58
+ "require": "./dist/hooks/useBoolean.cjs",
59
+ "types": "./dist/hooks/useBoolean.d.ts"
60
+ },
61
+ "./core/useDebounceValue": {
62
+ "import": "./dist/core/useDebounceValue.js",
63
+ "require": "./dist/core/useDebounceValue.cjs",
64
+ "types": "./dist/core/useDebounceValue.d.ts"
65
+ },
66
+ "./hooks/useDebounceValue": {
67
+ "import": "./dist/hooks/useDebounceValue.js",
68
+ "require": "./dist/hooks/useDebounceValue.cjs",
69
+ "types": "./dist/hooks/useDebounceValue.d.ts"
70
+ },
71
+ "./core/useDebounceCallback": {
72
+ "import": "./dist/core/useDebounceCallback.js",
73
+ "require": "./dist/core/useDebounceCallback.cjs",
74
+ "types": "./dist/core/useDebounceCallback.d.ts"
75
+ },
76
+ "./hooks/useDebounceCallback": {
77
+ "import": "./dist/hooks/useDebounceCallback.js",
78
+ "require": "./dist/hooks/useDebounceCallback.cjs",
79
+ "types": "./dist/hooks/useDebounceCallback.d.ts"
80
+ },
81
+ "./core/useLocalStorage": {
82
+ "import": "./dist/core/useLocalStorage.js",
83
+ "require": "./dist/core/useLocalStorage.cjs",
84
+ "types": "./dist/core/useLocalStorage.d.ts"
85
+ },
86
+ "./hooks/useLocalStorage": {
87
+ "import": "./dist/hooks/useLocalStorage.js",
88
+ "require": "./dist/hooks/useLocalStorage.cjs",
89
+ "types": "./dist/hooks/useLocalStorage.d.ts"
90
+ },
91
+ "./core/useSessionStorage": {
92
+ "import": "./dist/core/useSessionStorage.js",
93
+ "require": "./dist/core/useSessionStorage.cjs",
94
+ "types": "./dist/core/useSessionStorage.d.ts"
95
+ },
96
+ "./hooks/useSessionStorage": {
97
+ "import": "./dist/hooks/useSessionStorage.js",
98
+ "require": "./dist/hooks/useSessionStorage.cjs",
99
+ "types": "./dist/hooks/useSessionStorage.d.ts"
100
+ },
101
+ "./core/useOnClickOutside": {
102
+ "import": "./dist/core/useOnClickOutside.js",
103
+ "require": "./dist/core/useOnClickOutside.cjs",
104
+ "types": "./dist/core/useOnClickOutside.d.ts"
105
+ },
106
+ "./hooks/useOnClickOutside": {
107
+ "import": "./dist/hooks/useOnClickOutside.js",
108
+ "require": "./dist/hooks/useOnClickOutside.cjs",
109
+ "types": "./dist/hooks/useOnClickOutside.d.ts"
110
+ },
111
+ "./core/useMediaQuery": {
112
+ "import": "./dist/core/useMediaQuery.js",
113
+ "require": "./dist/core/useMediaQuery.cjs",
114
+ "types": "./dist/core/useMediaQuery.d.ts"
115
+ },
116
+ "./hooks/useMediaQuery": {
117
+ "import": "./dist/hooks/useMediaQuery.js",
118
+ "require": "./dist/hooks/useMediaQuery.cjs",
119
+ "types": "./dist/hooks/useMediaQuery.d.ts"
120
+ },
121
+ "./core/useEventListener": {
122
+ "import": "./dist/core/useEventListener.js",
123
+ "require": "./dist/core/useEventListener.cjs",
124
+ "types": "./dist/core/useEventListener.d.ts"
125
+ },
126
+ "./hooks/useEventListener": {
127
+ "import": "./dist/hooks/useEventListener.js",
128
+ "require": "./dist/hooks/useEventListener.cjs",
129
+ "types": "./dist/hooks/useEventListener.d.ts"
130
+ },
131
+ "./core/useIsClient": {
132
+ "import": "./dist/core/useIsClient.js",
133
+ "require": "./dist/core/useIsClient.cjs",
134
+ "types": "./dist/core/useIsClient.d.ts"
135
+ },
136
+ "./hooks/useIsClient": {
137
+ "import": "./dist/hooks/useIsClient.js",
138
+ "require": "./dist/hooks/useIsClient.cjs",
139
+ "types": "./dist/hooks/useIsClient.d.ts"
140
+ },
141
+ "./core/useCopyToClipboard": {
142
+ "import": "./dist/core/useCopyToClipboard.js",
143
+ "require": "./dist/core/useCopyToClipboard.cjs",
144
+ "types": "./dist/core/useCopyToClipboard.d.ts"
145
+ },
146
+ "./hooks/useCopyToClipboard": {
147
+ "import": "./dist/hooks/useCopyToClipboard.js",
148
+ "require": "./dist/hooks/useCopyToClipboard.cjs",
149
+ "types": "./dist/hooks/useCopyToClipboard.d.ts"
150
+ },
151
+ "./core/usePrevious": {
152
+ "import": "./dist/core/usePrevious.js",
153
+ "require": "./dist/core/usePrevious.cjs",
154
+ "types": "./dist/core/usePrevious.d.ts"
155
+ },
156
+ "./hooks/usePrevious": {
157
+ "import": "./dist/hooks/usePrevious.js",
158
+ "require": "./dist/hooks/usePrevious.cjs",
159
+ "types": "./dist/hooks/usePrevious.d.ts"
160
+ },
161
+ "./core/useThrottle": {
162
+ "import": "./dist/core/useThrottle.js",
163
+ "require": "./dist/core/useThrottle.cjs",
164
+ "types": "./dist/core/useThrottle.d.ts"
165
+ },
166
+ "./hooks/useThrottle": {
167
+ "import": "./dist/hooks/useThrottle.js",
168
+ "require": "./dist/hooks/useThrottle.cjs",
169
+ "types": "./dist/hooks/useThrottle.d.ts"
170
+ },
171
+ "./core/useResizeObserver": {
172
+ "import": "./dist/core/useResizeObserver.js",
173
+ "require": "./dist/core/useResizeObserver.cjs",
174
+ "types": "./dist/core/useResizeObserver.d.ts"
175
+ },
176
+ "./hooks/useResizeObserver": {
177
+ "import": "./dist/hooks/useResizeObserver.js",
178
+ "require": "./dist/hooks/useResizeObserver.cjs",
179
+ "types": "./dist/hooks/useResizeObserver.d.ts"
180
+ },
181
+ "./core/useHover": {
182
+ "import": "./dist/core/useHover.js",
183
+ "require": "./dist/core/useHover.cjs",
184
+ "types": "./dist/core/useHover.d.ts"
185
+ },
186
+ "./hooks/useHover": {
187
+ "import": "./dist/hooks/useHover.js",
188
+ "require": "./dist/hooks/useHover.cjs",
189
+ "types": "./dist/hooks/useHover.d.ts"
190
+ },
191
+ "./core/useIsomorphicLayoutEffect": {
192
+ "import": "./dist/core/useIsomorphicLayoutEffect.js",
193
+ "require": "./dist/core/useIsomorphicLayoutEffect.cjs",
194
+ "types": "./dist/core/useIsomorphicLayoutEffect.d.ts"
195
+ },
196
+ "./hooks/useIsomorphicLayoutEffect": {
197
+ "import": "./dist/hooks/useIsomorphicLayoutEffect.js",
198
+ "require": "./dist/hooks/useIsomorphicLayoutEffect.cjs",
199
+ "types": "./dist/hooks/useIsomorphicLayoutEffect.d.ts"
200
+ },
201
+ "./core/useMap": {
202
+ "import": "./dist/core/useMap.js",
203
+ "require": "./dist/core/useMap.cjs",
204
+ "types": "./dist/core/useMap.d.ts"
205
+ },
206
+ "./hooks/useMap": {
207
+ "import": "./dist/hooks/useMap.js",
208
+ "require": "./dist/hooks/useMap.cjs",
209
+ "types": "./dist/hooks/useMap.d.ts"
210
+ }
211
+ },
212
+ "scripts": {
213
+ "build": "pnpm run build:lib && pnpm run build:umd",
214
+ "build:lib": "tsc && node scripts/emit-cjs.js",
215
+ "build:umd": "vite build --config vite.umd.config.ts",
216
+ "build:watch": "tsc -w",
217
+ "clean": "rimraf dist",
218
+ "lint": "eslint src --ext .ts,.tsx",
219
+ "test": "vitest run",
220
+ "bundle-analysis": "node scripts/analyze-bundle.js || true",
221
+ "prepare": "husky",
222
+ "prepack": "pnpm run build",
223
+ "prepublishOnly": "pnpm run build"
224
+ },
225
+ "peerDependencies": {
226
+ "react": ">=17.0.0",
227
+ "react-dom": ">=17.0.0"
228
+ },
229
+ "devDependencies": {
230
+ "@commitlint/cli": "^20.1.0",
231
+ "@commitlint/config-conventional": "^20.0.0",
232
+ "@types/node": "^20.17.6",
233
+ "@types/react": "^18.3.3",
234
+ "@types/react-dom": "^18.3.0",
235
+ "@typescript-eslint/eslint-plugin": "^8.46.0",
236
+ "@typescript-eslint/parser": "^8.46.0",
237
+ "@vitejs/plugin-react": "^4.2.1",
238
+ "eslint": "^9.37.0",
239
+ "happy-dom": "^15.11.7",
240
+ "husky": "^9.1.7",
241
+ "terser": "^5.44.0",
242
+ "typescript": "^5.6.2",
243
+ "vite": "^5.4.20",
244
+ "vitest": "^3.2.4"
245
+ },
246
+ "dependencies": {},
247
+ "packageManager": "pnpm@10.24.0",
248
+ "engines": {
249
+ "node": ">=18.0.0",
250
+ "pnpm": ">=9.0.0"
251
+ }
252
+ }