@rrjs/react-compat 0.1.0 → 0.2.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 (56) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +11 -2
  3. package/dist/context.d.ts +3 -0
  4. package/dist/context.d.ts.map +1 -1
  5. package/dist/context.js +25 -29
  6. package/dist/context.js.map +1 -1
  7. package/dist/derive.d.ts +3 -0
  8. package/dist/derive.d.ts.map +1 -0
  9. package/dist/derive.js +10 -0
  10. package/dist/derive.js.map +1 -0
  11. package/dist/forwardRef.d.ts +1 -1
  12. package/dist/forwardRef.d.ts.map +1 -1
  13. package/dist/hooks/noop-hooks.js +1 -1
  14. package/dist/hooks/noop-hooks.js.map +1 -1
  15. package/dist/hooks/useCallback.js +1 -1
  16. package/dist/hooks/useCallback.js.map +1 -1
  17. package/dist/hooks/useContext.d.ts +1 -1
  18. package/dist/hooks/useContext.d.ts.map +1 -1
  19. package/dist/hooks/useContext.js +1 -1
  20. package/dist/hooks/useContext.js.map +1 -1
  21. package/dist/hooks/useEffect.d.ts +1 -1
  22. package/dist/hooks/useEffect.d.ts.map +1 -1
  23. package/dist/hooks/useEffect.js +36 -1
  24. package/dist/hooks/useEffect.js.map +1 -1
  25. package/dist/hooks/useId.js +1 -1
  26. package/dist/hooks/useId.js.map +1 -1
  27. package/dist/hooks/useImperativeHandle.d.ts +1 -1
  28. package/dist/hooks/useImperativeHandle.d.ts.map +1 -1
  29. package/dist/hooks/useImperativeHandle.js +1 -1
  30. package/dist/hooks/useImperativeHandle.js.map +1 -1
  31. package/dist/hooks/useLayoutEffect.js +1 -1
  32. package/dist/hooks/useLayoutEffect.js.map +1 -1
  33. package/dist/hooks/useMemo.js +1 -1
  34. package/dist/hooks/useMemo.js.map +1 -1
  35. package/dist/hooks/useReducer.js +1 -1
  36. package/dist/hooks/useReducer.js.map +1 -1
  37. package/dist/hooks/useRef.js +1 -1
  38. package/dist/hooks/useRef.js.map +1 -1
  39. package/dist/hooks/useState.d.ts.map +1 -1
  40. package/dist/hooks/useState.js +3 -2
  41. package/dist/hooks/useState.js.map +1 -1
  42. package/dist/hooks/useSyncExternalStore.js +1 -1
  43. package/dist/hooks/useSyncExternalStore.js.map +1 -1
  44. package/dist/index.d.ts +20 -19
  45. package/dist/index.d.ts.map +1 -1
  46. package/dist/index.js +16 -15
  47. package/dist/index.js.map +1 -1
  48. package/dist/instance.d.ts +3 -1
  49. package/dist/instance.d.ts.map +1 -1
  50. package/dist/instance.js +8 -2
  51. package/dist/instance.js.map +1 -1
  52. package/dist/react.d.ts +86 -0
  53. package/dist/react.d.ts.map +1 -0
  54. package/dist/react.js +219 -0
  55. package/dist/react.js.map +1 -0
  56. package/package.json +18 -5
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Saman Abaasi
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md CHANGED
@@ -1,6 +1,15 @@
1
1
  # @rrjs/react-compat
2
2
 
3
- React hooks implemented on top of signals. Designed so React code translates with minimal changes: state is read through a getter (`count()` instead of `count`). Inside JSX the Babel plugin handles this automatically.
3
+ React hooks implemented on top of signals the runtime that `@rrjs/babel-plugin`
4
+ compiles components against.
5
+
6
+ Most code does not call these hooks by hand. Write ordinary React, where state is
7
+ a value (`count`), and the plugin's default path compiles each read into the
8
+ getter call these hooks expect. See the plugin's README for what it accepts.
9
+
10
+ At this level the hooks return getters, so code that uses them directly with
11
+ `h()` and no compiler reads state as `count()`. The quick start below shows that
12
+ direct use.
4
13
 
5
14
  ## Install
6
15
 
@@ -8,7 +17,7 @@ React hooks implemented on top of signals. Designed so React code translates wit
8
17
  npm install @rrjs/react-compat @rrjs/signals @rrjs/renderer
9
18
  ```
10
19
 
11
- ## Quick start
20
+ ## Quick start: direct use without the compiler
12
21
 
13
22
  ```js
14
23
  import { useState, useEffect, useMemo } from '@rrjs/react-compat'
package/dist/context.d.ts CHANGED
@@ -6,9 +6,12 @@ export interface Context<T> {
6
6
  children: any;
7
7
  }) => any;
8
8
  }
9
+ export type ContextSnapshot = Map<symbol, unknown[]>;
9
10
  export declare function createContext<T>(defaultValue: T): Context<T>;
10
11
  export declare function pushContext(id: symbol, value: unknown): void;
11
12
  export declare function popContext(id: symbol): void;
12
13
  export declare function readContext<T>(context: Context<T>): T;
13
14
  export declare function withProvider<T, R>(context: Context<T>, value: T, fn: () => R): R;
15
+ export declare function captureContext(): ContextSnapshot;
16
+ export declare function withContextSnapshot<T>(snapshot: ContextSnapshot, fn: () => T): T;
14
17
  //# sourceMappingURL=context.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"AASA,MAAM,WAAW,OAAO,CAAC,CAAC;IACxB,GAAG,EAAE,MAAM,CAAA;IACX,aAAa,EAAE,CAAC,CAAA;IAChB,QAAQ,EAAE,CAAC,KAAK,EAAE;QAAE,KAAK,EAAE,CAAC,CAAC;QAAC,QAAQ,EAAE,GAAG,CAAA;KAAE,KAAK,GAAG,CAAA;CACtD;AAKD,wBAAgB,aAAa,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAgB5D;AAED,wBAAgB,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI,CAO5D;AAED,wBAAgB,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAK3C;AAED,wBAAgB,WAAW,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAMrD;AAID,wBAAgB,YAAY,CAAC,CAAC,EAAE,CAAC,EAC/B,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,EACnB,KAAK,EAAE,CAAC,EACR,EAAE,EAAE,MAAM,CAAC,GACV,CAAC,CAOH"}
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,OAAO,CAAC,CAAC;IACxB,GAAG,EAAE,MAAM,CAAA;IACX,aAAa,EAAE,CAAC,CAAA;IAChB,QAAQ,EAAE,CAAC,KAAK,EAAE;QAAE,KAAK,EAAE,CAAC,CAAC;QAAC,QAAQ,EAAE,GAAG,CAAA;KAAE,KAAK,GAAG,CAAA;CACtD;AAQD,MAAM,MAAM,eAAe,GAAG,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,CAAA;AAEpD,wBAAgB,aAAa,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAQ5D;AAED,wBAAgB,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI,CAO5D;AAED,wBAAgB,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAG3C;AAED,wBAAgB,WAAW,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAGrD;AAED,wBAAgB,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,CAOhF;AAED,wBAAgB,cAAc,IAAI,eAAe,CAEhD;AAED,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,QAAQ,EAAE,eAAe,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,CAUhF"}
package/dist/context.js CHANGED
@@ -1,27 +1,12 @@
1
- // ─── Context — Stack-Based Propagation ──────────────────────────────────────
2
- // Without a VDOM tree to walk, we use mount-time scoping:
3
- // - When a Provider mounts its children, it pushes its value onto the stack.
4
- // - useContext reads the current top of the stack for that context.
5
- // - When children finish mounting, the Provider pops its value.
6
- //
7
- // This works because mounting is synchronous and depth-first — the same property
8
- // React relies on for hook positional ordering.
9
- // One stack per context, keyed by the unique _id symbol
10
1
  const contextStacks = new Map();
11
2
  export function createContext(defaultValue) {
12
3
  const id = Symbol('Context');
13
- const Provider = (props) => {
14
- pushContext(id, props.value);
15
- // The renderer will call this and use the returned children.
16
- // It's responsible for popping after the children finish mounting —
17
- // we handle that via withProvider() below.
18
- return props.children;
19
- };
20
- return {
21
- _id: id,
22
- _defaultValue: defaultValue,
23
- Provider,
24
- };
4
+ const Provider = (props) => props.children;
5
+ const context = { _id: id, _defaultValue: defaultValue, Provider };
6
+ const marked = Provider;
7
+ marked._isProvider = true;
8
+ marked._context = context;
9
+ return context;
25
10
  }
26
11
  export function pushContext(id, value) {
27
12
  let stack = contextStacks.get(id);
@@ -33,19 +18,13 @@ export function pushContext(id, value) {
33
18
  }
34
19
  export function popContext(id) {
35
20
  const stack = contextStacks.get(id);
36
- if (stack && stack.length > 0) {
21
+ if (stack?.length)
37
22
  stack.pop();
38
- }
39
23
  }
40
24
  export function readContext(context) {
41
25
  const stack = contextStacks.get(context._id);
42
- if (stack && stack.length > 0) {
43
- return stack[stack.length - 1];
44
- }
45
- return context._defaultValue;
26
+ return stack?.length ? stack[stack.length - 1] : context._defaultValue;
46
27
  }
47
- // Used by tests and the renderer to wrap a function call with a Provider's value.
48
- // Pushes value before fn runs, pops after — even if fn throws.
49
28
  export function withProvider(context, value, fn) {
50
29
  pushContext(context._id, value);
51
30
  try {
@@ -55,4 +34,21 @@ export function withProvider(context, value, fn) {
55
34
  popContext(context._id);
56
35
  }
57
36
  }
37
+ export function captureContext() {
38
+ return new Map([...contextStacks].map(([id, stack]) => [id, [...stack]]));
39
+ }
40
+ export function withContextSnapshot(snapshot, fn) {
41
+ const previous = captureContext();
42
+ contextStacks.clear();
43
+ for (const [id, stack] of snapshot)
44
+ contextStacks.set(id, [...stack]);
45
+ try {
46
+ return fn();
47
+ }
48
+ finally {
49
+ contextStacks.clear();
50
+ for (const [id, stack] of previous)
51
+ contextStacks.set(id, stack);
52
+ }
53
+ }
58
54
  //# sourceMappingURL=context.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,0DAA0D;AAC1D,+EAA+E;AAC/E,sEAAsE;AACtE,kEAAkE;AAClE,EAAE;AACF,iFAAiF;AACjF,gDAAgD;AAQhD,wDAAwD;AACxD,MAAM,aAAa,GAAG,IAAI,GAAG,EAAqB,CAAA;AAElD,MAAM,UAAU,aAAa,CAAI,YAAe;IAC9C,MAAM,EAAE,GAAG,MAAM,CAAC,SAAS,CAAC,CAAA;IAE5B,MAAM,QAAQ,GAAG,CAAC,KAAkC,EAAE,EAAE;QACtD,WAAW,CAAC,EAAE,EAAE,KAAK,CAAC,KAAK,CAAC,CAAA;QAC5B,6DAA6D;QAC7D,oEAAoE;QACpE,2CAA2C;QAC3C,OAAO,KAAK,CAAC,QAAQ,CAAA;IACvB,CAAC,CAAA;IAED,OAAO;QACL,GAAG,EAAE,EAAE;QACP,aAAa,EAAE,YAAY;QAC3B,QAAQ;KACT,CAAA;AACH,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,EAAU,EAAE,KAAc;IACpD,IAAI,KAAK,GAAG,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IACjC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,KAAK,GAAG,EAAE,CAAA;QACV,aAAa,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC,CAAA;IAC9B,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;AACnB,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,EAAU;IACnC,MAAM,KAAK,GAAG,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IACnC,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9B,KAAK,CAAC,GAAG,EAAE,CAAA;IACb,CAAC;AACH,CAAC;AAED,MAAM,UAAU,WAAW,CAAI,OAAmB;IAChD,MAAM,KAAK,GAAG,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;IAC5C,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9B,OAAO,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAM,CAAA;IACrC,CAAC;IACD,OAAO,OAAO,CAAC,aAAa,CAAA;AAC9B,CAAC;AAED,kFAAkF;AAClF,+DAA+D;AAC/D,MAAM,UAAU,YAAY,CAC1B,OAAmB,EACnB,KAAQ,EACR,EAAW;IAEX,WAAW,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;IAC/B,IAAI,CAAC;QACH,OAAO,EAAE,EAAE,CAAA;IACb,CAAC;YAAS,CAAC;QACT,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;IACzB,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"AAWA,MAAM,aAAa,GAAG,IAAI,GAAG,EAAqB,CAAA;AAGlD,MAAM,UAAU,aAAa,CAAI,YAAe;IAC9C,MAAM,EAAE,GAAG,MAAM,CAAC,SAAS,CAAC,CAAA;IAC5B,MAAM,QAAQ,GAAG,CAAC,KAAkC,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAA;IACvE,MAAM,OAAO,GAAe,EAAE,GAAG,EAAE,EAAE,EAAE,aAAa,EAAE,YAAY,EAAE,QAAQ,EAAE,CAAA;IAC9E,MAAM,MAAM,GAAG,QAA6B,CAAA;IAC5C,MAAM,CAAC,WAAW,GAAG,IAAI,CAAA;IACzB,MAAM,CAAC,QAAQ,GAAG,OAAO,CAAA;IACzB,OAAO,OAAO,CAAA;AAChB,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,EAAU,EAAE,KAAc;IACpD,IAAI,KAAK,GAAG,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IACjC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,KAAK,GAAG,EAAE,CAAA;QACV,aAAa,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC,CAAA;IAC9B,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;AACnB,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,EAAU;IACnC,MAAM,KAAK,GAAG,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IACnC,IAAI,KAAK,EAAE,MAAM;QAAE,KAAK,CAAC,GAAG,EAAE,CAAA;AAChC,CAAC;AAED,MAAM,UAAU,WAAW,CAAI,OAAmB;IAChD,MAAM,KAAK,GAAG,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;IAC5C,OAAO,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAM,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAA;AAC7E,CAAC;AAED,MAAM,UAAU,YAAY,CAAO,OAAmB,EAAE,KAAQ,EAAE,EAAW;IAC3E,WAAW,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;IAC/B,IAAI,CAAC;QACH,OAAO,EAAE,EAAE,CAAA;IACb,CAAC;YAAS,CAAC;QACT,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;IACzB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,cAAc;IAC5B,OAAO,IAAI,GAAG,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;AAC3E,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAI,QAAyB,EAAE,EAAW;IAC3E,MAAM,QAAQ,GAAG,cAAc,EAAE,CAAA;IACjC,aAAa,CAAC,KAAK,EAAE,CAAA;IACrB,KAAK,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,IAAI,QAAQ;QAAE,aAAa,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,CAAA;IACrE,IAAI,CAAC;QACH,OAAO,EAAE,EAAE,CAAA;IACb,CAAC;YAAS,CAAC;QACT,aAAa,CAAC,KAAK,EAAE,CAAA;QACrB,KAAK,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,IAAI,QAAQ;YAAE,aAAa,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC,CAAA;IAClE,CAAC;AACH,CAAC"}
@@ -0,0 +1,3 @@
1
+ /** Compiler-created computation owned by the mounted component. */
2
+ export declare function derive<T>(factory: () => T): () => T;
3
+ //# sourceMappingURL=derive.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"derive.d.ts","sourceRoot":"","sources":["../src/derive.ts"],"names":[],"mappings":"AAGA,mEAAmE;AACnE,wBAAgB,MAAM,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,GAAG,MAAM,CAAC,CAKnD"}
package/dist/derive.js ADDED
@@ -0,0 +1,10 @@
1
+ import { computed } from '@rrjs/signals';
2
+ import { getCurrentInstance } from './instance.js';
3
+ /** Compiler-created computation owned by the mounted component. */
4
+ export function derive(factory) {
5
+ const instance = getCurrentInstance();
6
+ const value = computed(factory);
7
+ instance.cleanup.push(value.dispose);
8
+ return value;
9
+ }
10
+ //# sourceMappingURL=derive.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"derive.js","sourceRoot":"","sources":["../src/derive.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AACxC,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAElD,mEAAmE;AACnE,MAAM,UAAU,MAAM,CAAI,OAAgB;IACxC,MAAM,QAAQ,GAAG,kBAAkB,EAAE,CAAA;IACrC,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAA;IAC/B,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;IACpC,OAAO,KAAK,CAAA;AACd,CAAC"}
@@ -1,4 +1,4 @@
1
- import type { RefObject } from './hooks/useRef';
1
+ import type { RefObject } from './hooks/useRef.js';
2
2
  export type Ref<T> = ((instance: T | null) => void) | RefObject<T> | null;
3
3
  export declare const FORWARD_REF: unique symbol;
4
4
  export interface ForwardRefComponent<P, T> {
@@ -1 +1 @@
1
- {"version":3,"file":"forwardRef.d.ts","sourceRoot":"","sources":["../src/forwardRef.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAG/C,MAAM,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC,GAAG,IAAI,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI,CAAA;AAIzE,eAAO,MAAM,WAAW,eAAuB,CAAA;AAE/C,MAAM,WAAW,mBAAmB,CAAC,CAAC,EAAE,CAAC;IACvC,CAAC,KAAK,EAAE,CAAC,GAAG;QAAE,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAA;KAAE,GAAG,GAAG,CAAA;IAClC,CAAC,WAAW,CAAC,EAAE,IAAI,CAAA;IACnB,OAAO,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,CAAA;CACxC;AAOD,wBAAgB,UAAU,CAAC,CAAC,EAAE,CAAC,EAC7B,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,GACrC,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,CAY3B;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,mBAAmB,CAAC,GAAG,EAAE,GAAG,CAAC,CAKnF"}
1
+ {"version":3,"file":"forwardRef.d.ts","sourceRoot":"","sources":["../src/forwardRef.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAGlD,MAAM,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC,GAAG,IAAI,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI,CAAA;AAIzE,eAAO,MAAM,WAAW,eAAuB,CAAA;AAE/C,MAAM,WAAW,mBAAmB,CAAC,CAAC,EAAE,CAAC;IACvC,CAAC,KAAK,EAAE,CAAC,GAAG;QAAE,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAA;KAAE,GAAG,GAAG,CAAA;IAClC,CAAC,WAAW,CAAC,EAAE,IAAI,CAAA;IACnB,OAAO,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,CAAA;CACxC;AAOD,wBAAgB,UAAU,CAAC,CAAC,EAAE,CAAC,EAC7B,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,GACrC,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,CAY3B;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,mBAAmB,CAAC,GAAG,EAAE,GAAG,CAAC,CAKnF"}
@@ -1,4 +1,4 @@
1
- import { getCurrentInstance } from '../instance';
1
+ import { getCurrentInstance } from '../instance.js';
2
2
  export function useTransition() {
3
3
  const isPending = () => false;
4
4
  const startTransition = (fn) => {
@@ -1 +1 @@
1
- {"version":3,"file":"noop-hooks.js","sourceRoot":"","sources":["../../src/hooks/noop-hooks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAe,MAAM,aAAa,CAAA;AAiB7D,MAAM,UAAU,aAAa;IAC3B,MAAM,SAAS,GAAG,GAAG,EAAE,CAAC,KAAK,CAAA;IAC7B,MAAM,eAAe,GAAoB,CAAC,EAAE,EAAE,EAAE;QAC9C,EAAE,EAAE,CAAA;IACN,CAAC,CAAA;IACD,OAAO,CAAC,SAAS,EAAE,eAAe,CAAC,CAAA;AACrC,CAAC;AAED,gFAAgF;AAChF,+EAA+E;AAC/E,+EAA+E;AAC/E,qDAAqD;AACrD,EAAE;AACF,6EAA6E;AAC7E,8EAA8E;AAC9E,6EAA6E;AAE7E,MAAM,UAAU,gBAAgB,CAAI,KAAQ;IAC1C,OAAO,KAAK,CAAA;AACd,CAAC;AAiBD,SAAS,WAAW,CAClB,IAAwC,EACxC,IAAwC;IAExC,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,IAAI,CAAA;IACzD,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAA;IAC5C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;YAAE,OAAO,IAAI,CAAA;IAC/C,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AAKD,MAAM,UAAU,kBAAkB,CAAC,EAAY,EAAE,IAA6B;IAC5E,MAAM,QAAQ,GAAG,kBAAkB,EAAE,CAAA;IACrC,MAAM,CAAC,GAAG,QAAQ,CAAC,SAAS,EAAE,CAAA;IAE9B,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAuC,CAAA;IAExE,MAAM,SAAS,GAAG,CAAC,IAA4B,EAAe,EAAE,CAAC,CAAC;QAChE,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,GAAG,EAAE,GAAG,EAAE;YACR,MAAM,MAAM,GAAG,EAAE,EAAE,CAAA;YACnB,IAAI,CAAC,OAAO,GAAG,OAAO,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAA;QAC7D,CAAC;KACF,CAAC,CAAA;IAEF,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,MAAM,IAAI,GAA2B,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAA;QAC5D,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAA;QACxB,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAA;QAC5C,OAAM;IACR,CAAC;IAED,IAAI,WAAW,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACrC,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAA;QACpB,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAA;IAClD,CAAC;AACH,CAAC;AAED,gFAAgF;AAChF,6EAA6E;AAC7E,wEAAwE;AACxE,6DAA6D;AAE7D,MAAM,UAAU,aAAa,CAAI,MAAS,EAAE,UAA0B;IACpE,sBAAsB;AACxB,CAAC"}
1
+ {"version":3,"file":"noop-hooks.js","sourceRoot":"","sources":["../../src/hooks/noop-hooks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAe,MAAM,gBAAgB,CAAA;AAiBhE,MAAM,UAAU,aAAa;IAC3B,MAAM,SAAS,GAAG,GAAG,EAAE,CAAC,KAAK,CAAA;IAC7B,MAAM,eAAe,GAAoB,CAAC,EAAE,EAAE,EAAE;QAC9C,EAAE,EAAE,CAAA;IACN,CAAC,CAAA;IACD,OAAO,CAAC,SAAS,EAAE,eAAe,CAAC,CAAA;AACrC,CAAC;AAED,gFAAgF;AAChF,+EAA+E;AAC/E,+EAA+E;AAC/E,qDAAqD;AACrD,EAAE;AACF,6EAA6E;AAC7E,8EAA8E;AAC9E,6EAA6E;AAE7E,MAAM,UAAU,gBAAgB,CAAI,KAAQ;IAC1C,OAAO,KAAK,CAAA;AACd,CAAC;AAiBD,SAAS,WAAW,CAClB,IAAwC,EACxC,IAAwC;IAExC,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,IAAI,CAAA;IACzD,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAA;IAC5C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;YAAE,OAAO,IAAI,CAAA;IAC/C,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AAKD,MAAM,UAAU,kBAAkB,CAAC,EAAY,EAAE,IAA6B;IAC5E,MAAM,QAAQ,GAAG,kBAAkB,EAAE,CAAA;IACrC,MAAM,CAAC,GAAG,QAAQ,CAAC,SAAS,EAAE,CAAA;IAE9B,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAuC,CAAA;IAExE,MAAM,SAAS,GAAG,CAAC,IAA4B,EAAe,EAAE,CAAC,CAAC;QAChE,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,GAAG,EAAE,GAAG,EAAE;YACR,MAAM,MAAM,GAAG,EAAE,EAAE,CAAA;YACnB,IAAI,CAAC,OAAO,GAAG,OAAO,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAA;QAC7D,CAAC;KACF,CAAC,CAAA;IAEF,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,MAAM,IAAI,GAA2B,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAA;QAC5D,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAA;QACxB,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAA;QAC5C,OAAM;IACR,CAAC;IAED,IAAI,WAAW,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACrC,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAA;QACpB,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAA;IAClD,CAAC;AACH,CAAC;AAED,gFAAgF;AAChF,6EAA6E;AAC7E,wEAAwE;AACxE,6DAA6D;AAE7D,MAAM,UAAU,aAAa,CAAI,MAAS,EAAE,UAA0B;IACpE,sBAAsB;AACxB,CAAC"}
@@ -1,4 +1,4 @@
1
- import { getCurrentInstance } from '../instance';
1
+ import { getCurrentInstance } from '../instance.js';
2
2
  function depsChanged(next, prev) {
3
3
  if (next === undefined || prev === undefined)
4
4
  return true;
@@ -1 +1 @@
1
- {"version":3,"file":"useCallback.js","sourceRoot":"","sources":["../../src/hooks/useCallback.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAOhD,SAAS,WAAW,CAClB,IAAwC,EACxC,IAAwC;IAExC,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,IAAI,CAAA;IACzD,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAA;IAC5C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;YAAE,OAAO,IAAI,CAAA;IAC/C,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AAED,2DAA2D;AAC3D,4EAA4E;AAC5E,wCAAwC;AACxC,EAAE;AACF,2EAA2E;AAC3E,2EAA2E;AAC3E,sDAAsD;AAEtD,MAAM,UAAU,WAAW,CACzB,EAAK,EACL,IAA6B;IAE7B,MAAM,QAAQ,GAAG,kBAAkB,EAAE,CAAA;IACrC,MAAM,CAAC,GAAG,QAAQ,CAAC,SAAS,EAAE,CAAA;IAE9B,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAmC,CAAA;IAEpE,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,EAAE,EAAE,IAAI,EAAwB,CAAA;QACtD,OAAO,EAAE,CAAA;IACX,CAAC;IAED,IAAI,WAAW,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACrC,QAAQ,CAAC,EAAE,GAAG,EAAE,CAAA;QAChB,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAA;IACtB,CAAC;IAED,OAAO,QAAQ,CAAC,EAAE,CAAA;AACpB,CAAC"}
1
+ {"version":3,"file":"useCallback.js","sourceRoot":"","sources":["../../src/hooks/useCallback.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AAOnD,SAAS,WAAW,CAClB,IAAwC,EACxC,IAAwC;IAExC,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,IAAI,CAAA;IACzD,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAA;IAC5C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;YAAE,OAAO,IAAI,CAAA;IAC/C,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AAED,2DAA2D;AAC3D,4EAA4E;AAC5E,wCAAwC;AACxC,EAAE;AACF,2EAA2E;AAC3E,2EAA2E;AAC3E,sDAAsD;AAEtD,MAAM,UAAU,WAAW,CACzB,EAAK,EACL,IAA6B;IAE7B,MAAM,QAAQ,GAAG,kBAAkB,EAAE,CAAA;IACrC,MAAM,CAAC,GAAG,QAAQ,CAAC,SAAS,EAAE,CAAA;IAE9B,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAmC,CAAA;IAEpE,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,EAAE,EAAE,IAAI,EAAwB,CAAA;QACtD,OAAO,EAAE,CAAA;IACX,CAAC;IAED,IAAI,WAAW,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACrC,QAAQ,CAAC,EAAE,GAAG,EAAE,CAAA;QAChB,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAA;IACtB,CAAC;IAED,OAAO,QAAQ,CAAC,EAAE,CAAA;AACpB,CAAC"}
@@ -1,3 +1,3 @@
1
- import { Context } from '../context';
1
+ import { Context } from '../context.js';
2
2
  export declare function useContext<T>(context: Context<T>): T;
3
3
  //# sourceMappingURL=useContext.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useContext.d.ts","sourceRoot":"","sources":["../../src/hooks/useContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,OAAO,EAAE,MAAM,YAAY,CAAA;AAYjD,wBAAgB,UAAU,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAEpD"}
1
+ {"version":3,"file":"useContext.d.ts","sourceRoot":"","sources":["../../src/hooks/useContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,OAAO,EAAE,MAAM,eAAe,CAAA;AAYpD,wBAAgB,UAAU,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAEpD"}
@@ -1,4 +1,4 @@
1
- import { readContext } from '../context';
1
+ import { readContext } from '../context.js';
2
2
  // useContext does NOT need a hook slot.
3
3
  // It just reads the current value from the global stack for this context.
4
4
  // No state to persist between renders — the stack handles it.
@@ -1 +1 @@
1
- {"version":3,"file":"useContext.js","sourceRoot":"","sources":["../../src/hooks/useContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAW,MAAM,YAAY,CAAA;AAEjD,wCAAwC;AACxC,0EAA0E;AAC1E,8DAA8D;AAC9D,EAAE;AACF,uEAAuE;AACvE,8EAA8E;AAC9E,yEAAyE;AACzE,4EAA4E;AAC5E,uCAAuC;AAEvC,MAAM,UAAU,UAAU,CAAI,OAAmB;IAC/C,OAAO,WAAW,CAAC,OAAO,CAAC,CAAA;AAC7B,CAAC"}
1
+ {"version":3,"file":"useContext.js","sourceRoot":"","sources":["../../src/hooks/useContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAW,MAAM,eAAe,CAAA;AAEpD,wCAAwC;AACxC,0EAA0E;AAC1E,8DAA8D;AAC9D,EAAE;AACF,uEAAuE;AACvE,8EAA8E;AAC9E,yEAAyE;AACzE,4EAA4E;AAC5E,uCAAuC;AAEvC,MAAM,UAAU,UAAU,CAAI,OAAmB;IAC/C,OAAO,WAAW,CAAC,OAAO,CAAC,CAAA;AAC7B,CAAC"}
@@ -1,5 +1,5 @@
1
1
  type EffectCleanup = void | (() => void);
2
2
  type EffectFn = () => EffectCleanup;
3
- export declare function useEffect(fn: EffectFn, deps?: ReadonlyArray<unknown>): void;
3
+ export declare function useEffect(fn: EffectFn, deps?: ReadonlyArray<unknown> | (() => ReadonlyArray<unknown>)): void;
4
4
  export {};
5
5
  //# sourceMappingURL=useEffect.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useEffect.d.ts","sourceRoot":"","sources":["../../src/hooks/useEffect.ts"],"names":[],"mappings":"AA2BA,KAAK,aAAa,GAAG,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,CAAA;AACxC,KAAK,QAAQ,GAAG,MAAM,aAAa,CAAA;AAEnC,wBAAgB,SAAS,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,EAAE,aAAa,CAAC,OAAO,CAAC,GAAG,IAAI,CAkB3E"}
1
+ {"version":3,"file":"useEffect.d.ts","sourceRoot":"","sources":["../../src/hooks/useEffect.ts"],"names":[],"mappings":"AA4BA,KAAK,aAAa,GAAG,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,CAAA;AACxC,KAAK,QAAQ,GAAG,MAAM,aAAa,CAAA;AAEnC,wBAAgB,SAAS,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,EAAE,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,aAAa,CAAC,OAAO,CAAC,CAAC,GAAG,IAAI,CAkD5G"}
@@ -1,4 +1,5 @@
1
- import { getCurrentInstance } from '../instance';
1
+ import { getCurrentInstance, flushPassiveEffects } from '../instance.js';
2
+ import { effect } from '@rrjs/signals';
2
3
  function depsChanged(next, prev) {
3
4
  if (next === undefined || prev === undefined)
4
5
  return true;
@@ -13,6 +14,40 @@ function depsChanged(next, prev) {
13
14
  export function useEffect(fn, deps) {
14
15
  const instance = getCurrentInstance();
15
16
  const i = instance.hookIndex++;
17
+ if (typeof deps === 'function') {
18
+ if (instance.hooks[i] !== undefined)
19
+ throw new Error('Reactive useEffect dependencies are initialized once');
20
+ const hook = { deps: undefined, cleanup: null };
21
+ instance.hooks[i] = hook;
22
+ let initialized = false;
23
+ let scheduled = false;
24
+ const stop = effect(() => {
25
+ const next = deps();
26
+ if (initialized && !depsChanged(next, hook.deps))
27
+ return;
28
+ hook.deps = [...next];
29
+ if (!scheduled) {
30
+ scheduled = true;
31
+ instance.passiveEffects.push({
32
+ cleanup: () => {
33
+ const cleanup = hook.cleanup;
34
+ hook.cleanup = null;
35
+ cleanup?.();
36
+ },
37
+ run: () => {
38
+ scheduled = false;
39
+ const result = fn();
40
+ hook.cleanup = typeof result === 'function' ? result : null;
41
+ },
42
+ });
43
+ if (initialized)
44
+ flushPassiveEffects(instance);
45
+ }
46
+ initialized = true;
47
+ });
48
+ instance.cleanup.push(stop);
49
+ return;
50
+ }
16
51
  const existing = instance.hooks[i];
17
52
  if (existing === undefined) {
18
53
  // First render — always schedule. There are no prev deps to compare to.
@@ -1 +1 @@
1
- {"version":3,"file":"useEffect.js","sourceRoot":"","sources":["../../src/hooks/useEffect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAe,MAAM,aAAa,CAAA;AAO7D,SAAS,WAAW,CAClB,IAAwC,EACxC,IAAwC;IAExC,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,IAAI,CAAA;IACzD,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAA;IAC5C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;YAAE,OAAO,IAAI,CAAA;IAC/C,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AAaD,MAAM,UAAU,SAAS,CAAC,EAAY,EAAE,IAA6B;IACnE,MAAM,QAAQ,GAAG,kBAAkB,EAAE,CAAA;IACrC,MAAM,CAAC,GAAG,QAAQ,CAAC,SAAS,EAAE,CAAA;IAE9B,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAA8B,CAAA;IAE/D,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,wEAAwE;QACxE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAmB,CAAA;QAC5D,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAkB,EAAE,EAAE,CAAC,CAAC,CAAA;QAC/E,OAAM;IACR,CAAC;IAED,sEAAsE;IACtE,IAAI,WAAW,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACrC,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAA;QACpB,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAA;IACvD,CAAC;AACH,CAAC;AAED,SAAS,SAAS,CAAC,IAAmB,EAAE,EAAY;IAClD,OAAO;QACL,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,GAAG,EAAE,GAAG,EAAE;YACR,MAAM,MAAM,GAAG,EAAE,EAAE,CAAA;YACnB,IAAI,CAAC,OAAO,GAAG,OAAO,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAA;QAC7D,CAAC;KACF,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"useEffect.js","sourceRoot":"","sources":["../../src/hooks/useEffect.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { getCurrentInstance } from '../instance';
1
+ import { getCurrentInstance } from '../instance.js';
2
2
  // A global counter is the simplest correct implementation client-side.
3
3
  // React 18 also uses a counter, though theirs encodes tree position
4
4
  // for SSR/hydration matching. For pure client rendering, a counter is fine.
@@ -1 +1 @@
1
- {"version":3,"file":"useId.js","sourceRoot":"","sources":["../../src/hooks/useId.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAMhD,uEAAuE;AACvE,oEAAoE;AACpE,4EAA4E;AAC5E,EAAE;AACF,wEAAwE;AACxE,kEAAkE;AAElE,IAAI,MAAM,GAAG,CAAC,CAAA;AAEd,SAAS,UAAU;IACjB,OAAO,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,CAAA;AACxC,CAAC;AAED,6EAA6E;AAC7E,2DAA2D;AAC3D,iFAAiF;AACjF,kFAAkF;AAElF,MAAM,UAAU,KAAK;IACnB,MAAM,QAAQ,GAAG,kBAAkB,EAAE,CAAA;IACrC,MAAM,CAAC,GAAG,QAAQ,CAAC,SAAS,EAAE,CAAA;IAE9B,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE,CAAC;QACpC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,EAAE,EAAE,UAAU,EAAE,EAAe,CAAA;IACvD,CAAC;IAED,OAAQ,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAe,CAAC,EAAE,CAAA;AAC5C,CAAC;AAED,gFAAgF;AAChF,MAAM,UAAU,eAAe;IAC7B,MAAM,GAAG,CAAC,CAAA;AACZ,CAAC"}
1
+ {"version":3,"file":"useId.js","sourceRoot":"","sources":["../../src/hooks/useId.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AAMnD,uEAAuE;AACvE,oEAAoE;AACpE,4EAA4E;AAC5E,EAAE;AACF,wEAAwE;AACxE,kEAAkE;AAElE,IAAI,MAAM,GAAG,CAAC,CAAA;AAEd,SAAS,UAAU;IACjB,OAAO,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,CAAA;AACxC,CAAC;AAED,6EAA6E;AAC7E,2DAA2D;AAC3D,iFAAiF;AACjF,kFAAkF;AAElF,MAAM,UAAU,KAAK;IACnB,MAAM,QAAQ,GAAG,kBAAkB,EAAE,CAAA;IACrC,MAAM,CAAC,GAAG,QAAQ,CAAC,SAAS,EAAE,CAAA;IAE9B,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE,CAAC;QACpC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,EAAE,EAAE,UAAU,EAAE,EAAe,CAAA;IACvD,CAAC;IAED,OAAQ,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAe,CAAC,EAAE,CAAA;AAC5C,CAAC;AAED,gFAAgF;AAChF,MAAM,UAAU,eAAe;IAC7B,MAAM,GAAG,CAAC,CAAA;AACZ,CAAC"}
@@ -1,3 +1,3 @@
1
- import type { Ref } from '../forwardRef';
1
+ import type { Ref } from '../forwardRef.js';
2
2
  export declare function useImperativeHandle<T>(ref: Ref<T> | undefined, factory: () => T, deps?: ReadonlyArray<unknown>): void;
3
3
  //# sourceMappingURL=useImperativeHandle.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useImperativeHandle.d.ts","sourceRoot":"","sources":["../../src/hooks/useImperativeHandle.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,eAAe,CAAA;AA2BxC,wBAAgB,mBAAmB,CAAC,CAAC,EACnC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,SAAS,EACvB,OAAO,EAAE,MAAM,CAAC,EAChB,IAAI,CAAC,EAAE,aAAa,CAAC,OAAO,CAAC,GAC5B,IAAI,CAmCN"}
1
+ {"version":3,"file":"useImperativeHandle.d.ts","sourceRoot":"","sources":["../../src/hooks/useImperativeHandle.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AA2B3C,wBAAgB,mBAAmB,CAAC,CAAC,EACnC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,SAAS,EACvB,OAAO,EAAE,MAAM,CAAC,EAChB,IAAI,CAAC,EAAE,aAAa,CAAC,OAAO,CAAC,GAC5B,IAAI,CAmCN"}
@@ -1,4 +1,4 @@
1
- import { getCurrentInstance } from '../instance';
1
+ import { getCurrentInstance } from '../instance.js';
2
2
  function depsChanged(next, prev) {
3
3
  if (next === undefined || prev === undefined)
4
4
  return true;
@@ -1 +1 @@
1
- {"version":3,"file":"useImperativeHandle.js","sourceRoot":"","sources":["../../src/hooks/useImperativeHandle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAe,MAAM,aAAa,CAAA;AAQ7D,SAAS,WAAW,CAClB,IAAwC,EACxC,IAAwC;IAExC,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,IAAI,CAAA;IACzD,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAA;IAC5C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;YAAE,OAAO,IAAI,CAAA;IAC/C,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AAED,gEAAgE;AAChE,yEAAyE;AACzE,oCAAoC;AACpC,EAAE;AACF,iFAAiF;AACjF,4EAA4E;AAC5E,8EAA8E;AAE9E,MAAM,UAAU,mBAAmB,CACjC,GAAuB,EACvB,OAAgB,EAChB,IAA6B;IAE7B,MAAM,QAAQ,GAAG,kBAAkB,EAAE,CAAA;IACrC,MAAM,CAAC,GAAG,QAAQ,CAAC,SAAS,EAAE,CAAA;IAE9B,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAwC,CAAA;IAEzE,MAAM,MAAM,GAAgB;QAC1B,OAAO,EAAE,QAAQ,EAAE,OAAO,IAAI,IAAI;QAClC,GAAG,EAAE,GAAG,EAAE;YACR,IAAI,CAAC,GAAG;gBAAE,OAAM;YAChB,MAAM,KAAK,GAAG,OAAO,EAAE,CAAA;YAEvB,IAAI,OAAO,GAAG,KAAK,UAAU,EAAE,CAAC;gBAC9B,GAAG,CAAC,KAAK,CAAC,CAET;gBAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAA6B,CAAC,OAAO,GAAG,GAAG,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;YAC3E,CAAC;iBAAM,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,SAAS,IAAI,GAAG,EAAE,CAAC;gBACvD,GAAG,CAAC,OAAO,GAAG,KAAK,CAClB;gBAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAA6B,CAAC,OAAO,GAAG,GAAG,EAAE;oBAC7D,GAAG,CAAC,OAAO,GAAG,IAAW,CAAA;gBAC3B,CAAC,CAAA;YACH,CAAC;QACH,CAAC;KACF,CAAA;IAED,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAA6B,CAAA;QACtE,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QACnC,OAAM;IACR,CAAC;IAED,IAAI,WAAW,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACrC,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAA;QACpB,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IACrC,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"useImperativeHandle.js","sourceRoot":"","sources":["../../src/hooks/useImperativeHandle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAe,MAAM,gBAAgB,CAAA;AAQhE,SAAS,WAAW,CAClB,IAAwC,EACxC,IAAwC;IAExC,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,IAAI,CAAA;IACzD,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAA;IAC5C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;YAAE,OAAO,IAAI,CAAA;IAC/C,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AAED,gEAAgE;AAChE,yEAAyE;AACzE,oCAAoC;AACpC,EAAE;AACF,iFAAiF;AACjF,4EAA4E;AAC5E,8EAA8E;AAE9E,MAAM,UAAU,mBAAmB,CACjC,GAAuB,EACvB,OAAgB,EAChB,IAA6B;IAE7B,MAAM,QAAQ,GAAG,kBAAkB,EAAE,CAAA;IACrC,MAAM,CAAC,GAAG,QAAQ,CAAC,SAAS,EAAE,CAAA;IAE9B,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAwC,CAAA;IAEzE,MAAM,MAAM,GAAgB;QAC1B,OAAO,EAAE,QAAQ,EAAE,OAAO,IAAI,IAAI;QAClC,GAAG,EAAE,GAAG,EAAE;YACR,IAAI,CAAC,GAAG;gBAAE,OAAM;YAChB,MAAM,KAAK,GAAG,OAAO,EAAE,CAAA;YAEvB,IAAI,OAAO,GAAG,KAAK,UAAU,EAAE,CAAC;gBAC9B,GAAG,CAAC,KAAK,CAAC,CAET;gBAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAA6B,CAAC,OAAO,GAAG,GAAG,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;YAC3E,CAAC;iBAAM,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,SAAS,IAAI,GAAG,EAAE,CAAC;gBACvD,GAAG,CAAC,OAAO,GAAG,KAAK,CAClB;gBAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAA6B,CAAC,OAAO,GAAG,GAAG,EAAE;oBAC7D,GAAG,CAAC,OAAO,GAAG,IAAW,CAAA;gBAC3B,CAAC,CAAA;YACH,CAAC;QACH,CAAC;KACF,CAAA;IAED,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAA6B,CAAA;QACtE,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QACnC,OAAM;IACR,CAAC;IAED,IAAI,WAAW,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACrC,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAA;QACpB,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IACrC,CAAC;AACH,CAAC"}
@@ -1,4 +1,4 @@
1
- import { getCurrentInstance } from '../instance';
1
+ import { getCurrentInstance } from '../instance.js';
2
2
  function depsChanged(next, prev) {
3
3
  if (next === undefined || prev === undefined)
4
4
  return true;
@@ -1 +1 @@
1
- {"version":3,"file":"useLayoutEffect.js","sourceRoot":"","sources":["../../src/hooks/useLayoutEffect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAe,MAAM,aAAa,CAAA;AAO7D,SAAS,WAAW,CAClB,IAAwC,EACxC,IAAwC;IAExC,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,IAAI,CAAA;IACzD,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAA;IAC5C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;YAAE,OAAO,IAAI,CAAA;IAC/C,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AAKD,4EAA4E;AAC5E,8BAA8B;AAC9B,6DAA6D;AAC7D,0EAA0E;AAC1E,uEAAuE;AACvE,EAAE;AACF,8EAA8E;AAE9E,MAAM,UAAU,eAAe,CAAC,EAAY,EAAE,IAA6B;IACzE,MAAM,QAAQ,GAAG,kBAAkB,EAAE,CAAA;IACrC,MAAM,CAAC,GAAG,QAAQ,CAAC,SAAS,EAAE,CAAA;IAE9B,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAoC,CAAA;IAErE,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAyB,CAAA;QAClE,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAwB,EAAE,EAAE,CAAC,CAAC,CAAA;QACpF,OAAM;IACR,CAAC;IAED,IAAI,WAAW,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACrC,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAA;QACpB,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAA;IACtD,CAAC;AACH,CAAC;AAED,SAAS,SAAS,CAAC,IAAyB,EAAE,EAAY;IACxD,OAAO;QACL,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,GAAG,EAAE,GAAG,EAAE;YACR,MAAM,MAAM,GAAG,EAAE,EAAE,CAAA;YACnB,IAAI,CAAC,OAAO,GAAG,OAAO,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAA;QAC7D,CAAC;KACF,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"useLayoutEffect.js","sourceRoot":"","sources":["../../src/hooks/useLayoutEffect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAe,MAAM,gBAAgB,CAAA;AAOhE,SAAS,WAAW,CAClB,IAAwC,EACxC,IAAwC;IAExC,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,IAAI,CAAA;IACzD,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAA;IAC5C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;YAAE,OAAO,IAAI,CAAA;IAC/C,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AAKD,4EAA4E;AAC5E,8BAA8B;AAC9B,6DAA6D;AAC7D,0EAA0E;AAC1E,uEAAuE;AACvE,EAAE;AACF,8EAA8E;AAE9E,MAAM,UAAU,eAAe,CAAC,EAAY,EAAE,IAA6B;IACzE,MAAM,QAAQ,GAAG,kBAAkB,EAAE,CAAA;IACrC,MAAM,CAAC,GAAG,QAAQ,CAAC,SAAS,EAAE,CAAA;IAE9B,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAoC,CAAA;IAErE,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAyB,CAAA;QAClE,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAwB,EAAE,EAAE,CAAC,CAAC,CAAA;QACpF,OAAM;IACR,CAAC;IAED,IAAI,WAAW,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACrC,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAA;QACpB,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAA;IACtD,CAAC;AACH,CAAC;AAED,SAAS,SAAS,CAAC,IAAyB,EAAE,EAAY;IACxD,OAAO;QACL,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,GAAG,EAAE,GAAG,EAAE;YACR,MAAM,MAAM,GAAG,EAAE,EAAE,CAAA;YACnB,IAAI,CAAC,OAAO,GAAG,OAAO,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAA;QAC7D,CAAC;KACF,CAAA;AACH,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { computed } from '@rrjs/signals';
2
- import { getCurrentInstance } from '../instance';
2
+ import { getCurrentInstance } from '../instance.js';
3
3
  // useMemo wraps the factory in computed(), which auto-tracks signal reads.
4
4
  // Returns the GETTER, not the value — for the same reason useState does.
5
5
  // This allows chained useMemo and downstream effects to track changes.
@@ -1 +1 @@
1
- {"version":3,"file":"useMemo.js","sourceRoot":"","sources":["../../src/hooks/useMemo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AACxC,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAMhD,2EAA2E;AAC3E,yEAAyE;AACzE,uEAAuE;AACvE,EAAE;AACF,qFAAqF;AACrF,qEAAqE;AAErE,MAAM,UAAU,OAAO,CACrB,OAAgB,EAChB,KAA8B;IAE9B,MAAM,QAAQ,GAAG,kBAAkB,EAAE,CAAA;IACrC,MAAM,CAAC,GAAG,QAAQ,CAAC,SAAS,EAAE,CAAA;IAE9B,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE,CAAC;QACpC,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAA;QAChC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,MAAM,EAAoB,CAAA;IAClD,CAAC;IAED,OAAQ,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAoB,CAAC,MAAM,CAAA;AACrD,CAAC"}
1
+ {"version":3,"file":"useMemo.js","sourceRoot":"","sources":["../../src/hooks/useMemo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AACxC,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AAMnD,2EAA2E;AAC3E,yEAAyE;AACzE,uEAAuE;AACvE,EAAE;AACF,qFAAqF;AACrF,qEAAqE;AAErE,MAAM,UAAU,OAAO,CACrB,OAAgB,EAChB,KAA8B;IAE9B,MAAM,QAAQ,GAAG,kBAAkB,EAAE,CAAA;IACrC,MAAM,CAAC,GAAG,QAAQ,CAAC,SAAS,EAAE,CAAA;IAE9B,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE,CAAC;QACpC,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAA;QAChC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,MAAM,EAAoB,CAAA;IAClD,CAAC;IAED,OAAQ,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAoB,CAAC,MAAM,CAAA;AACrD,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { createSignal } from '@rrjs/signals';
2
- import { getCurrentInstance } from '../instance';
2
+ import { getCurrentInstance } from '../instance.js';
3
3
  export function useReducer(reducer, initialArg, init) {
4
4
  const instance = getCurrentInstance();
5
5
  const i = instance.hookIndex++;
@@ -1 +1 @@
1
- {"version":3,"file":"useReducer.js","sourceRoot":"","sources":["../../src/hooks/useReducer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAmChD,MAAM,UAAU,UAAU,CACxB,OAAsB,EACtB,UAAe,EACf,IAAsB;IAEtB,MAAM,QAAQ,GAAG,kBAAkB,EAAE,CAAA;IACrC,MAAM,CAAC,GAAG,QAAQ,CAAC,SAAS,EAAE,CAAA;IAE9B,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE,CAAC;QACpC,0CAA0C;QAC1C,wEAAwE;QACxE,MAAM,YAAY,GAAM,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAA;QAE1E,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,YAAY,CAAI,YAAY,CAAC,CAAA;QAEtD,MAAM,QAAQ,GAAgB,CAAC,MAAS,EAAE,EAAE;YAC1C,MAAM,YAAY,GAAG,MAAM,EAAE,CAAA;YAC7B,MAAM,SAAS,GAAG,OAAO,CAAC,YAAY,EAAE,MAAM,CAAC,CAAA;YAC/C,MAAM,CAAC,SAAS,CAAC,CAAA;QACnB,CAAC,CAAA;QAED,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAA0B,CAAA;IAClE,CAAC;IAED,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAyB,CAAA;IACtD,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAA;AACrC,CAAC"}
1
+ {"version":3,"file":"useReducer.js","sourceRoot":"","sources":["../../src/hooks/useReducer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AAmCnD,MAAM,UAAU,UAAU,CACxB,OAAsB,EACtB,UAAe,EACf,IAAsB;IAEtB,MAAM,QAAQ,GAAG,kBAAkB,EAAE,CAAA;IACrC,MAAM,CAAC,GAAG,QAAQ,CAAC,SAAS,EAAE,CAAA;IAE9B,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE,CAAC;QACpC,0CAA0C;QAC1C,wEAAwE;QACxE,MAAM,YAAY,GAAM,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAA;QAE1E,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,YAAY,CAAI,YAAY,CAAC,CAAA;QAEtD,MAAM,QAAQ,GAAgB,CAAC,MAAS,EAAE,EAAE;YAC1C,MAAM,YAAY,GAAG,MAAM,EAAE,CAAA;YAC7B,MAAM,SAAS,GAAG,OAAO,CAAC,YAAY,EAAE,MAAM,CAAC,CAAA;YAC/C,MAAM,CAAC,SAAS,CAAC,CAAA;QACnB,CAAC,CAAA;QAED,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAA0B,CAAA;IAClE,CAAC;IAED,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAyB,CAAA;IACtD,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAA;AACrC,CAAC"}
@@ -1,4 +1,4 @@
1
- import { getCurrentInstance } from '../instance';
1
+ import { getCurrentInstance } from '../instance.js';
2
2
  export function useRef(initial) {
3
3
  const instance = getCurrentInstance();
4
4
  const i = instance.hookIndex++;
@@ -1 +1 @@
1
- {"version":3,"file":"useRef.js","sourceRoot":"","sources":["../../src/hooks/useRef.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAMhD,MAAM,UAAU,MAAM,CAAI,OAAU;IAClC,MAAM,QAAQ,GAAG,kBAAkB,EAAE,CAAA;IACrC,MAAM,CAAC,GAAG,QAAQ,CAAC,SAAS,EAAE,CAAA;IAE9B,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE,CAAC;QACpC,oCAAoC;QACpC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,CAAA;IAC1C,CAAC;IAED,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;AAC1B,CAAC"}
1
+ {"version":3,"file":"useRef.js","sourceRoot":"","sources":["../../src/hooks/useRef.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AAMnD,MAAM,UAAU,MAAM,CAAI,OAAU;IAClC,MAAM,QAAQ,GAAG,kBAAkB,EAAE,CAAA;IACrC,MAAM,CAAC,GAAG,QAAQ,CAAC,SAAS,EAAE,CAAA;IAE9B,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE,CAAC;QACpC,oCAAoC;QACpC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,CAAA;IAC1C,CAAC;IAED,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;AAC1B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"useState.d.ts","sourceRoot":"","sources":["../../src/hooks/useState.ts"],"names":[],"mappings":"AAgBA,KAAK,cAAc,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,CAAA;AAQ7C,wBAAgB,QAAQ,CAAC,CAAC,EACxB,OAAO,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,GACrB,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CA+BhD"}
1
+ {"version":3,"file":"useState.d.ts","sourceRoot":"","sources":["../../src/hooks/useState.ts"],"names":[],"mappings":"AAgBA,KAAK,cAAc,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,CAAA;AAQ7C,wBAAgB,QAAQ,CAAC,CAAC,EACxB,OAAO,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,GACrB,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAgChD"}
@@ -1,5 +1,5 @@
1
1
  import { createSignal } from '@rrjs/signals';
2
- import { getCurrentInstance } from '../instance';
2
+ import { getCurrentInstance } from '../instance.js';
3
3
  export function useState(initial) {
4
4
  const instance = getCurrentInstance();
5
5
  const i = instance.hookIndex++;
@@ -13,7 +13,8 @@ export function useState(initial) {
13
13
  // applies the updater, and writes the result.
14
14
  const dispatch = (action) => {
15
15
  if (typeof action === 'function') {
16
- setter(action(getter()));
16
+ const value = action(getter());
17
+ setter(() => value);
17
18
  }
18
19
  else {
19
20
  setter(action);
@@ -1 +1 @@
1
- {"version":3,"file":"useState.js","sourceRoot":"","sources":["../../src/hooks/useState.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAuBhD,MAAM,UAAU,QAAQ,CACtB,OAAsB;IAEtB,MAAM,QAAQ,GAAG,kBAAkB,EAAE,CAAA;IACrC,MAAM,CAAC,GAAG,QAAQ,CAAC,SAAS,EAAE,CAAA;IAE9B,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE,CAAC;QACpC,MAAM,YAAY,GAChB,OAAO,OAAO,KAAK,UAAU;YAC3B,CAAC,CAAE,OAAmB,EAAE;YACxB,CAAC,CAAC,OAAO,CAAA;QAEb,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,YAAY,CAAI,YAAY,CAAC,CAAA;QAEtD,4DAA4D;QAC5D,mEAAmE;QACnE,8CAA8C;QAC9C,MAAM,QAAQ,GAAG,CAAC,MAAyB,EAAQ,EAAE;YACnD,IAAI,OAAO,MAAM,KAAK,UAAU,EAAE,CAAC;gBACjC,MAAM,CAAE,MAAyB,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;YAC9C,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,MAAM,CAAC,CAAA;YAChB,CAAC;QACH,CAAC,CAAA;QAED,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAqB,CAAA;IACrE,CAAC;IAED,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAoB,CAAA;IAEjD,oCAAoC;IACpC,uEAAuE;IACvE,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAA;AACrC,CAAC"}
1
+ {"version":3,"file":"useState.js","sourceRoot":"","sources":["../../src/hooks/useState.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AAuBnD,MAAM,UAAU,QAAQ,CACtB,OAAsB;IAEtB,MAAM,QAAQ,GAAG,kBAAkB,EAAE,CAAA;IACrC,MAAM,CAAC,GAAG,QAAQ,CAAC,SAAS,EAAE,CAAA;IAE9B,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE,CAAC;QACpC,MAAM,YAAY,GAChB,OAAO,OAAO,KAAK,UAAU;YAC3B,CAAC,CAAE,OAAmB,EAAE;YACxB,CAAC,CAAC,OAAO,CAAA;QAEb,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,YAAY,CAAI,YAAY,CAAC,CAAA;QAEtD,4DAA4D;QAC5D,mEAAmE;QACnE,8CAA8C;QAC9C,MAAM,QAAQ,GAAG,CAAC,MAAyB,EAAQ,EAAE;YACnD,IAAI,OAAO,MAAM,KAAK,UAAU,EAAE,CAAC;gBACjC,MAAM,KAAK,GAAI,MAAyB,CAAC,MAAM,EAAE,CAAC,CAAA;gBAClD,MAAM,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAA;YACrB,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,MAAM,CAAC,CAAA;YAChB,CAAC;QACH,CAAC,CAAA;QAED,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAqB,CAAA;IACrE,CAAC;IAED,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAoB,CAAA;IAEjD,oCAAoC;IACpC,uEAAuE;IACvE,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAA;AACrC,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { createSignal } from '@rrjs/signals';
2
- import { getCurrentInstance } from '../instance';
2
+ import { getCurrentInstance } from '../instance.js';
3
3
  // useSyncExternalStore is the React 18+ primitive that lets external state
4
4
  // libraries (Redux, Zustand, Jotai, etc.) plug into a React-compatible
5
5
  // rendering system.
@@ -1 +1 @@
1
- {"version":3,"file":"useSyncExternalStore.js","sourceRoot":"","sources":["../../src/hooks/useSyncExternalStore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAU,MAAM,eAAe,CAAA;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAShD,2EAA2E;AAC3E,uEAAuE;AACvE,oBAAoB;AACpB,EAAE;AACF,gBAAgB;AAChB,kFAAkF;AAClF,6DAA6D;AAC7D,8DAA8D;AAC9D,EAAE;AACF,uDAAuD;AACvD,kCAAkC;AAClC,kDAAkD;AAClD,uEAAuE;AACvE,qCAAqC;AACrC,wEAAwE;AACxE,EAAE;AACF,4EAA4E;AAC5E,0EAA0E;AAC1E,gEAAgE;AAEhE,MAAM,UAAU,oBAAoB,CAClC,SAAoB,EACpB,WAAoB,EACpB,kBAA4B;IAE5B,MAAM,QAAQ,GAAG,kBAAkB,EAAE,CAAA;IACrC,MAAM,CAAC,GAAG,QAAQ,CAAC,SAAS,EAAE,CAAA;IAE9B,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE,CAAC;QACpC,gDAAgD;QAChD,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,YAAY,CAAI,WAAW,EAAE,CAAC,CAAA;QAEvD,MAAM,aAAa,GAAG,GAAG,EAAE;YACzB,MAAM,IAAI,GAAG,WAAW,EAAE,CAAA;YAC1B,yEAAyE;YACzE,oEAAoE;YACpE,MAAM,CAAC,IAAI,CAAC,CAAA;QACd,CAAC,CAAA;QAED,MAAM,WAAW,GAAG,SAAS,CAAC,aAAa,CAAC,CAAA;QAE5C,+DAA+D;QAC/D,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;QAElC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,EAAiC,CAAA;IAC5E,CAAC;IAED,OAAQ,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAiC,CAAC,MAAM,CAAA;AAClE,CAAC"}
1
+ {"version":3,"file":"useSyncExternalStore.js","sourceRoot":"","sources":["../../src/hooks/useSyncExternalStore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAU,MAAM,eAAe,CAAA;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AASnD,2EAA2E;AAC3E,uEAAuE;AACvE,oBAAoB;AACpB,EAAE;AACF,gBAAgB;AAChB,kFAAkF;AAClF,6DAA6D;AAC7D,8DAA8D;AAC9D,EAAE;AACF,uDAAuD;AACvD,kCAAkC;AAClC,kDAAkD;AAClD,uEAAuE;AACvE,qCAAqC;AACrC,wEAAwE;AACxE,EAAE;AACF,4EAA4E;AAC5E,0EAA0E;AAC1E,gEAAgE;AAEhE,MAAM,UAAU,oBAAoB,CAClC,SAAoB,EACpB,WAAoB,EACpB,kBAA4B;IAE5B,MAAM,QAAQ,GAAG,kBAAkB,EAAE,CAAA;IACrC,MAAM,CAAC,GAAG,QAAQ,CAAC,SAAS,EAAE,CAAA;IAE9B,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE,CAAC;QACpC,gDAAgD;QAChD,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,YAAY,CAAI,WAAW,EAAE,CAAC,CAAA;QAEvD,MAAM,aAAa,GAAG,GAAG,EAAE;YACzB,MAAM,IAAI,GAAG,WAAW,EAAE,CAAA;YAC1B,yEAAyE;YACzE,oEAAoE;YACpE,MAAM,CAAC,IAAI,CAAC,CAAA;QACd,CAAC,CAAA;QAED,MAAM,WAAW,GAAG,SAAS,CAAC,aAAa,CAAC,CAAA;QAE5C,+DAA+D;QAC/D,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;QAElC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,EAAiC,CAAA;IAC5E,CAAC;IAED,OAAQ,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAiC,CAAC,MAAM,CAAA;AAClE,CAAC"}
package/dist/index.d.ts CHANGED
@@ -1,20 +1,21 @@
1
- export { useRef } from './hooks/useRef';
2
- export type { RefObject } from './hooks/useRef';
3
- export { useState } from './hooks/useState';
4
- export { useReducer } from './hooks/useReducer';
5
- export { useMemo } from './hooks/useMemo';
6
- export { useCallback } from './hooks/useCallback';
7
- export { useEffect } from './hooks/useEffect';
8
- export { useLayoutEffect } from './hooks/useLayoutEffect';
9
- export { useContext } from './hooks/useContext';
10
- export { useId } from './hooks/useId';
11
- export { useImperativeHandle } from './hooks/useImperativeHandle';
12
- export { useSyncExternalStore } from './hooks/useSyncExternalStore';
13
- export { useTransition, useDeferredValue, useInsertionEffect, useDebugValue, } from './hooks/noop-hooks';
14
- export { forwardRef, isForwardRef, FORWARD_REF } from './forwardRef';
15
- export type { Ref, ForwardRefComponent } from './forwardRef';
16
- export { createContext, withProvider, pushContext, popContext, } from './context';
17
- export type { Context } from './context';
18
- export { createInstance, withInstance, getCurrentInstance, setCurrentInstance, flushLayoutEffects, flushPassiveEffects, } from './instance';
19
- export type { ComponentInstance, EffectEntry } from './instance';
1
+ export { useRef } from './hooks/useRef.js';
2
+ export type { RefObject } from './hooks/useRef.js';
3
+ export { useState } from './hooks/useState.js';
4
+ export { useReducer } from './hooks/useReducer.js';
5
+ export { useMemo } from './hooks/useMemo.js';
6
+ export { useCallback } from './hooks/useCallback.js';
7
+ export { useEffect } from './hooks/useEffect.js';
8
+ export { useLayoutEffect } from './hooks/useLayoutEffect.js';
9
+ export { useContext } from './hooks/useContext.js';
10
+ export { useId } from './hooks/useId.js';
11
+ export { useImperativeHandle } from './hooks/useImperativeHandle.js';
12
+ export { useSyncExternalStore } from './hooks/useSyncExternalStore.js';
13
+ export { useTransition, useDeferredValue, useInsertionEffect, useDebugValue, } from './hooks/noop-hooks.js';
14
+ export { forwardRef, isForwardRef, FORWARD_REF } from './forwardRef.js';
15
+ export type { Ref, ForwardRefComponent } from './forwardRef.js';
16
+ export { createContext, withProvider, pushContext, popContext, captureContext, withContextSnapshot, } from './context.js';
17
+ export type { Context, ContextSnapshot } from './context.js';
18
+ export { createInstance, withInstance, getCurrentInstance, setCurrentInstance, flushLayoutEffects, flushPassiveEffects, } from './instance.js';
19
+ export type { ComponentInstance, EffectEntry } from './instance.js';
20
+ export { derive } from './derive.js';
20
21
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AACvC,YAAY,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAE/C,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAA;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAC/C,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAA;AACrC,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAA;AACjE,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAA;AAGnE,OAAO,EACL,aAAa,EACb,gBAAgB,EAChB,kBAAkB,EAClB,aAAa,GACd,MAAM,oBAAoB,CAAA;AAE3B,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AACpE,YAAY,EAAE,GAAG,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAA;AAE5D,OAAO,EACL,aAAa,EACb,YAAY,EACZ,WAAW,EACX,UAAU,GACX,MAAM,WAAW,CAAA;AAClB,YAAY,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAExC,OAAO,EACL,cAAc,EACd,YAAY,EACZ,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,YAAY,CAAA;AACnB,YAAY,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAC1C,YAAY,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAElD,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAClD,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAA;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAClD,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAA;AACxC,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAA;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAA;AAGtE,OAAO,EACL,aAAa,EACb,gBAAgB,EAChB,kBAAkB,EAClB,aAAa,GACd,MAAM,uBAAuB,CAAA;AAE9B,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AACvE,YAAY,EAAE,GAAG,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAA;AAE/D,OAAO,EACL,aAAa,EACb,YAAY,EACZ,WAAW,EACX,UAAU,EACV,cAAc,EACd,mBAAmB,GACpB,MAAM,cAAc,CAAA;AACrB,YAAY,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAE5D,OAAO,EACL,cAAc,EACd,YAAY,EACZ,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,eAAe,CAAA;AACtB,YAAY,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AACnE,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA"}
package/dist/index.js CHANGED
@@ -1,17 +1,18 @@
1
- export { useRef } from './hooks/useRef';
2
- export { useState } from './hooks/useState';
3
- export { useReducer } from './hooks/useReducer';
4
- export { useMemo } from './hooks/useMemo';
5
- export { useCallback } from './hooks/useCallback';
6
- export { useEffect } from './hooks/useEffect';
7
- export { useLayoutEffect } from './hooks/useLayoutEffect';
8
- export { useContext } from './hooks/useContext';
9
- export { useId } from './hooks/useId';
10
- export { useImperativeHandle } from './hooks/useImperativeHandle';
11
- export { useSyncExternalStore } from './hooks/useSyncExternalStore';
1
+ export { useRef } from './hooks/useRef.js';
2
+ export { useState } from './hooks/useState.js';
3
+ export { useReducer } from './hooks/useReducer.js';
4
+ export { useMemo } from './hooks/useMemo.js';
5
+ export { useCallback } from './hooks/useCallback.js';
6
+ export { useEffect } from './hooks/useEffect.js';
7
+ export { useLayoutEffect } from './hooks/useLayoutEffect.js';
8
+ export { useContext } from './hooks/useContext.js';
9
+ export { useId } from './hooks/useId.js';
10
+ export { useImperativeHandle } from './hooks/useImperativeHandle.js';
11
+ export { useSyncExternalStore } from './hooks/useSyncExternalStore.js';
12
12
  // Documented no-ops — Tier 3 in the compatibility contract
13
- export { useTransition, useDeferredValue, useInsertionEffect, useDebugValue, } from './hooks/noop-hooks';
14
- export { forwardRef, isForwardRef, FORWARD_REF } from './forwardRef';
15
- export { createContext, withProvider, pushContext, popContext, } from './context';
16
- export { createInstance, withInstance, getCurrentInstance, setCurrentInstance, flushLayoutEffects, flushPassiveEffects, } from './instance';
13
+ export { useTransition, useDeferredValue, useInsertionEffect, useDebugValue, } from './hooks/noop-hooks.js';
14
+ export { forwardRef, isForwardRef, FORWARD_REF } from './forwardRef.js';
15
+ export { createContext, withProvider, pushContext, popContext, captureContext, withContextSnapshot, } from './context.js';
16
+ export { createInstance, withInstance, getCurrentInstance, setCurrentInstance, flushLayoutEffects, flushPassiveEffects, } from './instance.js';
17
+ export { derive } from './derive.js';
17
18
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAGvC,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAA;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAC/C,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAA;AACrC,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAA;AACjE,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAA;AAEnE,2DAA2D;AAC3D,OAAO,EACL,aAAa,EACb,gBAAgB,EAChB,kBAAkB,EAClB,aAAa,GACd,MAAM,oBAAoB,CAAA;AAE3B,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAGpE,OAAO,EACL,aAAa,EACb,YAAY,EACZ,WAAW,EACX,UAAU,GACX,MAAM,WAAW,CAAA;AAGlB,OAAO,EACL,cAAc,EACd,YAAY,EACZ,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,YAAY,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAG1C,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAClD,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAA;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAClD,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAA;AACxC,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAA;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAA;AAEtE,2DAA2D;AAC3D,OAAO,EACL,aAAa,EACb,gBAAgB,EAChB,kBAAkB,EAClB,aAAa,GACd,MAAM,uBAAuB,CAAA;AAE9B,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAGvE,OAAO,EACL,aAAa,EACb,YAAY,EACZ,WAAW,EACX,UAAU,EACV,cAAc,EACd,mBAAmB,GACpB,MAAM,cAAc,CAAA;AAGrB,OAAO,EACL,cAAc,EACd,YAAY,EACZ,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,eAAe,CAAA;AAEtB,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA"}
@@ -1,4 +1,6 @@
1
1
  export interface ComponentInstance {
2
+ /** Diagnostic identity of the mounted component; never used for behavior. */
3
+ displayName?: string;
2
4
  hooks: any[];
3
5
  hookIndex: number;
4
6
  layoutEffects: EffectEntry[];
@@ -11,7 +13,7 @@ export interface EffectEntry {
11
13
  }
12
14
  export declare function getCurrentInstance(): ComponentInstance;
13
15
  export declare function setCurrentInstance(instance: ComponentInstance | null): void;
14
- export declare function createInstance(): ComponentInstance;
16
+ export declare function createInstance(displayName?: string): ComponentInstance;
15
17
  export declare function withInstance<T>(instance: ComponentInstance, fn: () => T): T;
16
18
  export declare function flushLayoutEffects(instance: ComponentInstance): void;
17
19
  export declare function flushPassiveEffects(instance: ComponentInstance): void;
@@ -1 +1 @@
1
- {"version":3,"file":"instance.d.ts","sourceRoot":"","sources":["../src/instance.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,iBAAiB;IAEhC,KAAK,EAAE,GAAG,EAAE,CAAA;IAEZ,SAAS,EAAE,MAAM,CAAA;IAEjB,aAAa,EAAE,WAAW,EAAE,CAAA;IAC5B,cAAc,EAAE,WAAW,EAAE,CAAA;IAE7B,OAAO,EAAE,KAAK,CAAC,MAAM,IAAI,CAAC,CAAA;CAC3B;AAED,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,IAAI,CAAA;IACf,OAAO,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,IAAI,CAAA;CAC7B;AASD,wBAAgB,kBAAkB,IAAI,iBAAiB,CAQtD;AAED,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,iBAAiB,GAAG,IAAI,GAAG,IAAI,CAE3E;AAID,wBAAgB,cAAc,IAAI,iBAAiB,CAQlD;AAQD,wBAAgB,YAAY,CAAC,CAAC,EAC5B,QAAQ,EAAE,iBAAiB,EAC3B,EAAE,EAAE,MAAM,CAAC,GACV,CAAC,CASH;AAsBD,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,iBAAiB,GAAG,IAAI,CAapE;AAED,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,iBAAiB,GAAG,IAAI,CAerE"}
1
+ {"version":3,"file":"instance.d.ts","sourceRoot":"","sources":["../src/instance.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,iBAAiB;IAChC,6EAA6E;IAC7E,WAAW,CAAC,EAAE,MAAM,CAAA;IAEpB,KAAK,EAAE,GAAG,EAAE,CAAA;IAEZ,SAAS,EAAE,MAAM,CAAA;IAEjB,aAAa,EAAE,WAAW,EAAE,CAAA;IAC5B,cAAc,EAAE,WAAW,EAAE,CAAA;IAE7B,OAAO,EAAE,KAAK,CAAC,MAAM,IAAI,CAAC,CAAA;CAC3B;AAED,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,IAAI,CAAA;IACf,OAAO,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,IAAI,CAAA;CAC7B;AASD,wBAAgB,kBAAkB,IAAI,iBAAiB,CAQtD;AAED,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,iBAAiB,GAAG,IAAI,GAAG,IAAI,CAE3E;AAID,wBAAgB,cAAc,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,iBAAiB,CAWtE;AAQD,wBAAgB,YAAY,CAAC,CAAC,EAC5B,QAAQ,EAAE,iBAAiB,EAC3B,EAAE,EAAE,MAAM,CAAC,GACV,CAAC,CAWH;AAsBD,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,iBAAiB,GAAG,IAAI,CAapE;AAED,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,iBAAiB,GAAG,IAAI,CAerE"}
package/dist/instance.js CHANGED
@@ -1,4 +1,5 @@
1
1
  // ─── Types ──────────────────────────────────────────────────────────────────
2
+ import { emitRuntimeEvent } from '@rrjs/signals';
2
3
  // ─── The current rendering instance ─────────────────────────────────────────
3
4
  // While a component function is running, this holds the instance whose hooks
4
5
  // should be allocated to the next hook call. After the function returns,
@@ -15,14 +16,17 @@ export function setCurrentInstance(instance) {
15
16
  currentInstance = instance;
16
17
  }
17
18
  // ─── Create a new component instance ────────────────────────────────────────
18
- export function createInstance() {
19
- return {
19
+ export function createInstance(displayName) {
20
+ const instance = {
21
+ displayName,
20
22
  hooks: [],
21
23
  hookIndex: 0,
22
24
  layoutEffects: [],
23
25
  passiveEffects: [],
24
26
  cleanup: [],
25
27
  };
28
+ emitRuntimeEvent('component-create', instance);
29
+ return instance;
26
30
  }
27
31
  // ─── Render lifecycle ───────────────────────────────────────────────────────
28
32
  // Wraps a component function call with the proper instance setup.
@@ -34,10 +38,12 @@ export function withInstance(instance, fn) {
34
38
  setCurrentInstance(instance);
35
39
  instance.hookIndex = 0;
36
40
  try {
41
+ emitRuntimeEvent('component-enter', instance);
37
42
  return fn();
38
43
  }
39
44
  finally {
40
45
  setCurrentInstance(prev);
46
+ emitRuntimeEvent('component-leave', instance);
41
47
  }
42
48
  }
43
49
  // ─── Effect flushing ────────────────────────────────────────────────────────
@@ -1 +1 @@
1
- {"version":3,"file":"instance.js","sourceRoot":"","sources":["../src/instance.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAmB/E,+EAA+E;AAC/E,6EAA6E;AAC7E,yEAAyE;AACzE,wBAAwB;AAExB,IAAI,eAAe,GAA6B,IAAI,CAAA;AAEpD,MAAM,UAAU,kBAAkB;IAChC,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CACb,sCAAsC;YACtC,mEAAmE,CACpE,CAAA;IACH,CAAC;IACD,OAAO,eAAe,CAAA;AACxB,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,QAAkC;IACnE,eAAe,GAAG,QAAQ,CAAA;AAC5B,CAAC;AAED,+EAA+E;AAE/E,MAAM,UAAU,cAAc;IAC5B,OAAO;QACL,KAAK,EAAE,EAAE;QACT,SAAS,EAAE,CAAC;QACZ,aAAa,EAAE,EAAE;QACjB,cAAc,EAAE,EAAE;QAClB,OAAO,EAAE,EAAE;KACZ,CAAA;AACH,CAAC;AAED,+EAA+E;AAC/E,kEAAkE;AAClE,4CAA4C;AAC5C,yEAAyE;AACzE,wEAAwE;AAExE,MAAM,UAAU,YAAY,CAC1B,QAA2B,EAC3B,EAAW;IAEX,MAAM,IAAI,GAAG,eAAe,CAAA;IAC5B,kBAAkB,CAAC,QAAQ,CAAC,CAAA;IAC5B,QAAQ,CAAC,SAAS,GAAG,CAAC,CAAA;IACtB,IAAI,CAAC;QACH,OAAO,EAAE,EAAE,CAAA;IACb,CAAC;YAAS,CAAC;QACT,kBAAkB,CAAC,IAAI,CAAC,CAAA;IAC1B,CAAC;AACH,CAAC;AAGD,+EAA+E;AAC/E,yEAAyE;AACzE,0EAA0E;AAC1E,EAAE;AACF,kDAAkD;AAClD,6EAA6E;AAC7E,sDAAsD;AAEtD,mFAAmF;AACnF,yFAAyF;AACzF,oFAAoF;AACpF,MAAM,OAAO,GAAG,IAAI,cAAc,EAAE,CAAA;AACpC,MAAM,qBAAqB,GAAsB,EAAE,CAAA;AAEnD,OAAO,CAAC,KAAK,CAAC,SAAS,GAAG,GAAG,EAAE;IAC7B,MAAM,OAAO,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;IAC/C,KAAK,MAAM,KAAK,IAAI,OAAO;QAAE,KAAK,EAAE,CAAA;AACtC,CAAC,CAAA;AAED,MAAM,UAAU,kBAAkB,CAAC,QAA2B;IAC5D,sEAAsE;IACtE,iFAAiF;IACjF,yDAAyD;IACzD,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAA;IACtC,QAAQ,CAAC,aAAa,GAAG,EAAE,CAAA;IAE3B,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,KAAK,CAAC,OAAO,EAAE,EAAE,CAAA;IACnB,CAAC;IACD,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,KAAK,CAAC,GAAG,EAAE,CAAA;IACb,CAAC;AACH,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,QAA2B;IAC7D,yEAAyE;IACzE,qBAAqB,CAAC,IAAI,CAAC,GAAG,EAAE;QAC9B,MAAM,OAAO,GAAG,QAAQ,CAAC,cAAc,CAAA;QACvC,QAAQ,CAAC,cAAc,GAAG,EAAE,CAAA;QAE5B,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,KAAK,CAAC,OAAO,EAAE,EAAE,CAAA;QACnB,CAAC;QACD,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,KAAK,CAAC,GAAG,EAAE,CAAA;QACb,CAAC;IACH,CAAC,CAAC,CAAA;IAEF,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAA;AACjC,CAAC"}
1
+ {"version":3,"file":"instance.js","sourceRoot":"","sources":["../src/instance.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,86 @@
1
+ export type ReactNode = any;
2
+ export type Ref<T> = {
3
+ current: T | null;
4
+ } | ((value: T | null) => void | (() => void)) | null;
5
+ export declare const Fragment: unique symbol;
6
+ export interface Element {
7
+ $$typeof: symbol;
8
+ type: any;
9
+ key: string | null;
10
+ props: Record<string, any>;
11
+ }
12
+ export interface Context<T> {
13
+ _id: symbol;
14
+ _defaultValue: T;
15
+ Provider: ((props: {
16
+ value: T;
17
+ children?: ReactNode;
18
+ }) => ReactNode) & {
19
+ _context: Context<T>;
20
+ };
21
+ }
22
+ export interface Owner {
23
+ hooks: any[];
24
+ index: number;
25
+ context: Map<symbol, unknown>;
26
+ disposed: boolean;
27
+ depth: number;
28
+ render: () => void;
29
+ hookCount?: number;
30
+ layout?: Array<() => void>;
31
+ passive?: Array<() => void>;
32
+ }
33
+ export declare function createElement(type: any, input?: any, ...children: any[]): Element;
34
+ export declare function isValidElement(value: any): value is Element;
35
+ export declare function cloneElement(element: Element, props?: any, ...children: any[]): Element;
36
+ export declare function createContext<T>(value: T): Context<T>;
37
+ export declare function withOwner<T>(owner: Owner, fn: () => T): T;
38
+ export declare function invalidate(instance: Owner): void;
39
+ export declare function flushPassive(): void;
40
+ export declare function commitEffects(): void;
41
+ export declare function afterCommit(fn: () => void): void;
42
+ export declare function finishOwner(instance: Owner): void;
43
+ export declare function flushUpdates(): void;
44
+ export declare function disposeOwner(instance: Owner): void;
45
+ export declare function useState<T>(initial: T | (() => T)): [T, (value: T | ((previous: T) => T)) => void];
46
+ export declare function useState<T = undefined>(): [T | undefined, (value: T | undefined | ((previous: T | undefined) => T | undefined)) => void];
47
+ export declare function useEffect(fn: () => void | (() => void), deps?: readonly unknown[]): void;
48
+ export declare function useLayoutEffect(fn: () => void | (() => void), deps?: readonly unknown[]): void;
49
+ export declare function useMemo<T>(factory: () => T, deps?: readonly unknown[]): T;
50
+ export declare function useCallback<T extends Function>(fn: T, deps?: readonly unknown[]): T;
51
+ export declare function useRef<T>(value: T): {
52
+ current: T;
53
+ };
54
+ export declare function useContext<T>(context: Context<T>): T;
55
+ export declare function useReducer<S, A>(reducer: (state: S, action: A) => S, initial: S): [S, (action: A) => void];
56
+ export declare function useId(): string;
57
+ export declare function useImperativeHandle<T>(ref: Ref<T> | undefined, factory: () => T, deps?: readonly unknown[]): void;
58
+ export declare function forwardRef<T, P = {}>(render: (props: P, ref: Ref<T>) => any): (props: P & {
59
+ ref?: Ref<T>;
60
+ }) => any;
61
+ export declare function memo<T>(component: T): T;
62
+ export declare function useSyncExternalStore<T>(subscribe: (notify: () => void) => () => void, getSnapshot: () => T): T;
63
+ export declare function useDebugValue(_value: unknown): void;
64
+ declare const _default: {
65
+ createElement: typeof createElement;
66
+ cloneElement: typeof cloneElement;
67
+ isValidElement: typeof isValidElement;
68
+ Fragment: symbol;
69
+ createContext: typeof createContext;
70
+ useState: typeof useState;
71
+ useEffect: typeof useEffect;
72
+ useLayoutEffect: typeof useLayoutEffect;
73
+ useMemo: typeof useMemo;
74
+ useCallback: typeof useCallback;
75
+ useRef: typeof useRef;
76
+ useContext: typeof useContext;
77
+ useReducer: typeof useReducer;
78
+ useId: typeof useId;
79
+ useImperativeHandle: typeof useImperativeHandle;
80
+ forwardRef: typeof forwardRef;
81
+ memo: typeof memo;
82
+ useSyncExternalStore: typeof useSyncExternalStore;
83
+ useDebugValue: typeof useDebugValue;
84
+ };
85
+ export default _default;
86
+ //# sourceMappingURL=react.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"react.d.ts","sourceRoot":"","sources":["../src/react.ts"],"names":[],"mappings":"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"}
package/dist/react.js ADDED
@@ -0,0 +1,219 @@
1
+ import { createSignal, effect } from '@rrjs/signals';
2
+ export const Fragment = Symbol.for('rrjs.compat.fragment');
3
+ const elementType = Symbol.for('rrjs.compat.element');
4
+ let current = null;
5
+ let nextId = 0;
6
+ const pending = new Set();
7
+ const layout = [];
8
+ const passive = [];
9
+ let scheduled = false;
10
+ let passiveScheduled = false;
11
+ let flushing = false;
12
+ export function createElement(type, input = null, ...children) {
13
+ const { key = null, ...props } = input ?? {};
14
+ if (children.length)
15
+ props.children = children.length === 1 ? children[0] : children;
16
+ return { $$typeof: elementType, type, key: key == null ? null : String(key), props };
17
+ }
18
+ export function isValidElement(value) {
19
+ return value?.$$typeof === elementType;
20
+ }
21
+ export function cloneElement(element, props, ...children) {
22
+ return createElement(element.type, { ...element.props, key: element.key, ...props }, ...children);
23
+ }
24
+ export function createContext(value) {
25
+ const context = { _id: Symbol(), _defaultValue: value };
26
+ context.Provider = Object.assign((props) => props.children, { _context: context });
27
+ return context;
28
+ }
29
+ export function withOwner(owner, fn) {
30
+ const previous = current;
31
+ current = owner;
32
+ owner.index = 0;
33
+ pending.delete(owner);
34
+ try {
35
+ const result = fn();
36
+ if (owner.hookCount !== undefined && owner.hookCount !== owner.index) {
37
+ throw new Error('Hook count changed between component executions');
38
+ }
39
+ owner.hookCount = owner.index;
40
+ return result;
41
+ }
42
+ finally {
43
+ current = previous;
44
+ }
45
+ }
46
+ function owner() {
47
+ if (!current)
48
+ throw new Error('Hook called outside a compatibility component');
49
+ return current;
50
+ }
51
+ export function invalidate(instance) {
52
+ if (instance.disposed)
53
+ return;
54
+ pending.add(instance);
55
+ if (!scheduled) {
56
+ scheduled = true;
57
+ queueMicrotask(flushUpdates);
58
+ }
59
+ }
60
+ export function flushPassive() {
61
+ passiveScheduled = false;
62
+ for (const run of passive.splice(0))
63
+ run();
64
+ }
65
+ export function commitEffects() {
66
+ while (layout.length)
67
+ for (const run of layout.splice(0))
68
+ run();
69
+ if (passive.length && !passiveScheduled) {
70
+ passiveScheduled = true;
71
+ setTimeout(flushPassive, 0);
72
+ }
73
+ }
74
+ export function afterCommit(fn) { layout.push(fn); }
75
+ export function finishOwner(instance) {
76
+ layout.push(...(instance.layout?.splice(0) ?? []));
77
+ passive.push(...(instance.passive?.splice(0) ?? []));
78
+ }
79
+ export function flushUpdates() {
80
+ if (flushing)
81
+ return;
82
+ flushing = true;
83
+ scheduled = false;
84
+ try {
85
+ // Commit previous passive work before rendering another state snapshot.
86
+ flushPassive();
87
+ let iterations = 0;
88
+ while (pending.size) {
89
+ if (++iterations > 1000)
90
+ throw new Error('Too many compatibility updates');
91
+ const instance = [...pending].sort((a, b) => a.depth - b.depth)[0];
92
+ pending.delete(instance);
93
+ if (!instance.disposed)
94
+ instance.render();
95
+ commitEffects();
96
+ }
97
+ }
98
+ finally {
99
+ flushing = false;
100
+ }
101
+ }
102
+ export function disposeOwner(instance) {
103
+ instance.disposed = true;
104
+ pending.delete(instance);
105
+ for (const hook of instance.hooks) {
106
+ hook.dispose?.();
107
+ hook.cleanup?.();
108
+ hook.cleanup = undefined;
109
+ }
110
+ }
111
+ export function useState(initial) {
112
+ const instance = owner();
113
+ const index = instance.index++;
114
+ if (!instance.hooks[index]) {
115
+ const [read, write] = createSignal(typeof initial === 'function' ? initial() : initial);
116
+ let active = false;
117
+ const dispose = effect(() => { read(); if (active)
118
+ invalidate(instance); });
119
+ active = true;
120
+ const dispatch = (action) => {
121
+ if (instance.disposed)
122
+ return;
123
+ const value = typeof action === 'function' ? action(read()) : action;
124
+ write(() => value);
125
+ };
126
+ instance.hooks[index] = { read, dispatch, dispose };
127
+ }
128
+ const hook = instance.hooks[index];
129
+ return [hook.read(), hook.dispatch];
130
+ }
131
+ function changed(next, prev) {
132
+ return !next || !prev || next.length !== prev.length || next.some((value, i) => !Object.is(value, prev[i]));
133
+ }
134
+ function registerEffect(fn, deps, queue) {
135
+ const instance = owner();
136
+ const index = instance.index++;
137
+ const hook = instance.hooks[index] ?? (instance.hooks[index] = {});
138
+ if (!hook.initialized || changed(deps, hook.deps)) {
139
+ hook.initialized = true;
140
+ hook.deps = deps;
141
+ const localQueue = queue === layout ? (instance.layout ??= []) : (instance.passive ??= []);
142
+ localQueue.push(() => {
143
+ if (instance.disposed)
144
+ return;
145
+ hook.cleanup?.();
146
+ hook.cleanup = undefined;
147
+ const cleanup = fn();
148
+ if (typeof cleanup === 'function')
149
+ hook.cleanup = cleanup;
150
+ });
151
+ }
152
+ }
153
+ export function useEffect(fn, deps) { registerEffect(fn, deps, passive); }
154
+ export function useLayoutEffect(fn, deps) { registerEffect(fn, deps, layout); }
155
+ export function useMemo(factory, deps) {
156
+ const instance = owner();
157
+ const index = instance.index++;
158
+ const old = instance.hooks[index];
159
+ if (!old || changed(deps, old.deps))
160
+ instance.hooks[index] = { value: factory(), deps };
161
+ return instance.hooks[index].value;
162
+ }
163
+ export function useCallback(fn, deps) { return useMemo(() => fn, deps); }
164
+ export function useRef(value) {
165
+ const instance = owner();
166
+ const index = instance.index++;
167
+ return instance.hooks[index] ?? (instance.hooks[index] = { current: value });
168
+ }
169
+ export function useContext(context) {
170
+ const instance = owner();
171
+ return (instance.context.has(context._id) ? instance.context.get(context._id) : context._defaultValue);
172
+ }
173
+ export function useReducer(reducer, initial) {
174
+ const [state, setState] = useState(initial);
175
+ const latest = useRef(reducer);
176
+ latest.current = reducer;
177
+ const dispatch = useCallback((action) => setState(previous => latest.current(previous, action)), []);
178
+ return [state, dispatch];
179
+ }
180
+ export function useId() { return useMemo(() => `:rr${nextId++}:`, []); }
181
+ export function useImperativeHandle(ref, factory, deps) {
182
+ useLayoutEffect(() => {
183
+ const value = factory();
184
+ if (typeof ref === 'function') {
185
+ const cleanup = ref(value);
186
+ return () => { if (cleanup)
187
+ cleanup();
188
+ else
189
+ ref(null); };
190
+ }
191
+ if (ref) {
192
+ ref.current = value;
193
+ return () => { ref.current = null; };
194
+ }
195
+ }, deps ? [...deps, ref] : undefined);
196
+ }
197
+ export function forwardRef(render) {
198
+ return props => { const { ref, ...rest } = props; return render(rest, ref ?? null); };
199
+ }
200
+ // Rendering a memo component remains correct without the bailout optimization.
201
+ export function memo(component) { return component; }
202
+ export function useSyncExternalStore(subscribe, getSnapshot) {
203
+ const [, force] = useState(0);
204
+ const snapshot = getSnapshot();
205
+ useLayoutEffect(() => {
206
+ let previous = snapshot;
207
+ const check = () => { const next = getSnapshot(); if (!Object.is(previous, next)) {
208
+ previous = next;
209
+ force(n => n + 1);
210
+ } };
211
+ const dispose = subscribe(check);
212
+ check();
213
+ return dispose;
214
+ }, [subscribe, getSnapshot]);
215
+ return snapshot;
216
+ }
217
+ export function useDebugValue(_value) { }
218
+ export default { createElement, cloneElement, isValidElement, Fragment, createContext, useState, useEffect, useLayoutEffect, useMemo, useCallback, useRef, useContext, useReducer, useId, useImperativeHandle, forwardRef, memo, useSyncExternalStore, useDebugValue };
219
+ //# sourceMappingURL=react.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"react.js","sourceRoot":"","sources":["../src/react.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,10 +1,16 @@
1
1
  {
2
2
  "name": "@rrjs/react-compat",
3
- "version": "0.1.0",
3
+ "version": "0.2.0",
4
4
  "description": "React hooks API on top of signals: useState, useEffect, useReducer, useContext, and more",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
7
7
  "types": "./dist/index.d.ts",
8
+ "exports": {
9
+ ".": {
10
+ "types": "./dist/index.d.ts",
11
+ "import": "./dist/index.js"
12
+ }
13
+ },
8
14
  "files": [
9
15
  "dist",
10
16
  "README.md",
@@ -17,7 +23,7 @@
17
23
  "prepublishOnly": "npm run build && npm test"
18
24
  },
19
25
  "dependencies": {
20
- "@rrjs/signals": "^0.1.0"
26
+ "@rrjs/signals": "^0.2.0"
21
27
  },
22
28
  "devDependencies": {
23
29
  "vitest": "^1.0.0",
@@ -25,11 +31,18 @@
25
31
  "typescript": "^5.0.0"
26
32
  },
27
33
  "license": "MIT",
28
- "author": "Saman Abaasi <samabaasii@gmail.com>",
34
+ "author": "Saman Abaasi <samyar1992@gmail.com>",
29
35
  "repository": {
30
36
  "type": "git",
31
37
  "url": "https://github.com/SamAbaasi/reactive-react.git",
32
38
  "directory": "packages/react-compat"
33
39
  },
34
- "keywords": ["react", "hooks", "compatibility", "signals", "useState", "useEffect"]
35
- }
40
+ "keywords": [
41
+ "react",
42
+ "hooks",
43
+ "compatibility",
44
+ "signals",
45
+ "useState",
46
+ "useEffect"
47
+ ]
48
+ }