@fluixi/reactive 1.0.0-alpha.103 → 1.0.0-alpha.104

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 (74) hide show
  1. package/dist/cdn/reactive.cjs +43 -4
  2. package/dist/cdn/reactive.global.js +2 -2
  3. package/dist/cdn/reactive.mjs +43 -4
  4. package/dist/cdn/signal.cjs +1 -1
  5. package/dist/cdn/signal.global.js +2 -2
  6. package/dist/cdn/signal.mjs +1 -1
  7. package/dist/index.cjs +43 -4
  8. package/dist/index.mjs +43 -4
  9. package/dist/lib/index.cjs +44 -5
  10. package/dist/lib/index.mjs +44 -5
  11. package/dist/lib/observable/index.cjs +1 -1
  12. package/dist/lib/observable/index.mjs +1 -1
  13. package/dist/lib/signal/api.cjs +1 -1
  14. package/dist/lib/signal/api.mjs +1 -1
  15. package/dist/lib/signal/cached-resource.cjs +2 -2
  16. package/dist/lib/signal/cached-resource.mjs +2 -2
  17. package/dist/lib/signal/graph/children.cjs +1 -1
  18. package/dist/lib/signal/graph/children.mjs +1 -1
  19. package/dist/lib/signal/graph/compat.cjs +2 -2
  20. package/dist/lib/signal/graph/compat.mjs +2 -2
  21. package/dist/lib/signal/graph/context-children.cjs +201 -0
  22. package/dist/lib/signal/graph/context-children.d.ts +15 -0
  23. package/dist/lib/signal/graph/context-children.d.ts.map +1 -0
  24. package/dist/lib/signal/graph/context-children.js +53 -0
  25. package/dist/lib/signal/graph/context-children.mjs +178 -0
  26. package/dist/lib/signal/graph/core.cjs +2 -2
  27. package/dist/lib/signal/graph/core.mjs +2 -2
  28. package/dist/lib/signal/graph/debounced.cjs +1 -1
  29. package/dist/lib/signal/graph/debounced.mjs +1 -1
  30. package/dist/lib/signal/graph/derived.cjs +1 -1
  31. package/dist/lib/signal/graph/derived.mjs +1 -1
  32. package/dist/lib/signal/graph/error-boundary.cjs +1 -1
  33. package/dist/lib/signal/graph/error-boundary.mjs +1 -1
  34. package/dist/lib/signal/graph/index.cjs +2 -2
  35. package/dist/lib/signal/graph/index.mjs +2 -2
  36. package/dist/lib/signal/graph/observe.cjs +1 -1
  37. package/dist/lib/signal/graph/observe.mjs +1 -1
  38. package/dist/lib/signal/graph/resource.cjs +1 -1
  39. package/dist/lib/signal/graph/resource.mjs +1 -1
  40. package/dist/lib/signal/graph/runtime.cjs +1 -1
  41. package/dist/lib/signal/graph/runtime.mjs +1 -1
  42. package/dist/lib/signal/graph/signal-next.cjs +44 -5
  43. package/dist/lib/signal/graph/signal-next.d.ts +2 -1
  44. package/dist/lib/signal/graph/signal-next.d.ts.map +1 -1
  45. package/dist/lib/signal/graph/signal-next.js +2 -1
  46. package/dist/lib/signal/graph/signal-next.mjs +44 -5
  47. package/dist/lib/signal/graph/state.cjs +1 -1
  48. package/dist/lib/signal/graph/state.mjs +1 -1
  49. package/dist/lib/signal/graph/suspense.cjs +1 -1
  50. package/dist/lib/signal/graph/suspense.mjs +1 -1
  51. package/dist/lib/signal/index-legacy.cjs +2 -2
  52. package/dist/lib/signal/index-legacy.mjs +2 -2
  53. package/dist/lib/signal/index.cjs +44 -5
  54. package/dist/lib/signal/index.mjs +44 -5
  55. package/dist/lib/signal/list.cjs +1 -1
  56. package/dist/lib/signal/list.mjs +1 -1
  57. package/dist/lib/signal/resource-api.cjs +1 -1
  58. package/dist/lib/signal/resource-api.mjs +1 -1
  59. package/dist/lib/signal/signal.cjs +1 -1
  60. package/dist/lib/signal/signal.mjs +1 -1
  61. package/dist/lib/signal/utilities.cjs +2 -2
  62. package/dist/lib/signal/utilities.mjs +2 -2
  63. package/dist/lib/store/api.cjs +1 -1
  64. package/dist/lib/store/api.mjs +1 -1
  65. package/dist/lib/store/index.cjs +2 -2
  66. package/dist/lib/store/index.mjs +2 -2
  67. package/dist/lib/store/store.cjs +1 -1
  68. package/dist/lib/store/store.mjs +1 -1
  69. package/dist/tsconfig.lib.tsbuildinfo +1 -1
  70. package/dist/version.generated.cjs +2 -2
  71. package/dist/version.generated.d.ts +1 -1
  72. package/dist/version.generated.js +1 -1
  73. package/dist/version.generated.mjs +2 -2
  74. package/package.json +2 -2
@@ -27,7 +27,7 @@ __export(derived_exports, {
27
27
  module.exports = __toCommonJS(derived_exports);
28
28
 
29
29
  // src/version.generated.ts
30
- var VERSION = "1.0.0-alpha.103";
30
+ var VERSION = "1.0.0-alpha.104";
31
31
 
32
32
  // src/lib/signal/graph/state.ts
33
33
  var MAJOR = VERSION.split(".")[0];
@@ -1,5 +1,5 @@
1
1
  // src/version.generated.ts
2
- var VERSION = "1.0.0-alpha.103";
2
+ var VERSION = "1.0.0-alpha.104";
3
3
 
4
4
  // src/lib/signal/graph/state.ts
5
5
  var MAJOR = VERSION.split(".")[0];
@@ -27,7 +27,7 @@ __export(error_boundary_exports, {
27
27
  module.exports = __toCommonJS(error_boundary_exports);
28
28
 
29
29
  // src/version.generated.ts
30
- var VERSION = "1.0.0-alpha.103";
30
+ var VERSION = "1.0.0-alpha.104";
31
31
 
32
32
  // src/lib/signal/graph/state.ts
33
33
  var MAJOR = VERSION.split(".")[0];
@@ -1,5 +1,5 @@
1
1
  // src/version.generated.ts
2
- var VERSION = "1.0.0-alpha.103";
2
+ var VERSION = "1.0.0-alpha.104";
3
3
 
4
4
  // src/lib/signal/graph/state.ts
5
5
  var MAJOR = VERSION.split(".")[0];
@@ -1,4 +1,4 @@
1
- /*! @fluixi/reactive v1.0.0-alpha.103 | (c) 2026 Ibrahima Touré and Fluixi contributors | MIT */
1
+ /*! @fluixi/reactive v1.0.0-alpha.104 | (c) 2026 Ibrahima Touré and Fluixi contributors | MIT */
2
2
  "use strict";
3
3
  var __defProp = Object.defineProperty;
4
4
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
@@ -29,7 +29,7 @@ __export(index_exports, {
29
29
  module.exports = __toCommonJS(index_exports);
30
30
 
31
31
  // src/version.generated.ts
32
- var VERSION = "1.0.0-alpha.103";
32
+ var VERSION = "1.0.0-alpha.104";
33
33
 
34
34
  // src/lib/signal/graph/state.ts
35
35
  var MAJOR = VERSION.split(".")[0];
@@ -1,7 +1,7 @@
1
- /*! @fluixi/reactive v1.0.0-alpha.103 | (c) 2026 Ibrahima Touré and Fluixi contributors | MIT */
1
+ /*! @fluixi/reactive v1.0.0-alpha.104 | (c) 2026 Ibrahima Touré and Fluixi contributors | MIT */
2
2
 
3
3
  // src/version.generated.ts
4
- var VERSION = "1.0.0-alpha.103";
4
+ var VERSION = "1.0.0-alpha.104";
5
5
 
6
6
  // src/lib/signal/graph/state.ts
7
7
  var MAJOR = VERSION.split(".")[0];
@@ -45,7 +45,7 @@ __export(observe_exports, {
45
45
  module.exports = __toCommonJS(observe_exports);
46
46
 
47
47
  // src/version.generated.ts
48
- var VERSION = "1.0.0-alpha.103";
48
+ var VERSION = "1.0.0-alpha.104";
49
49
 
50
50
  // src/lib/signal/graph/state.ts
51
51
  var MAJOR = VERSION.split(".")[0];
@@ -1,5 +1,5 @@
1
1
  // src/version.generated.ts
2
- var VERSION = "1.0.0-alpha.103";
2
+ var VERSION = "1.0.0-alpha.104";
3
3
 
4
4
  // src/lib/signal/graph/state.ts
5
5
  var MAJOR = VERSION.split(".")[0];
@@ -25,7 +25,7 @@ __export(resource_exports, {
25
25
  module.exports = __toCommonJS(resource_exports);
26
26
 
27
27
  // src/version.generated.ts
28
- var VERSION = "1.0.0-alpha.103";
28
+ var VERSION = "1.0.0-alpha.104";
29
29
 
30
30
  // src/lib/signal/graph/state.ts
31
31
  var MAJOR = VERSION.split(".")[0];
@@ -1,5 +1,5 @@
1
1
  // src/version.generated.ts
2
- var VERSION = "1.0.0-alpha.103";
2
+ var VERSION = "1.0.0-alpha.104";
3
3
 
4
4
  // src/lib/signal/graph/state.ts
5
5
  var MAJOR = VERSION.split(".")[0];
@@ -44,7 +44,7 @@ __export(runtime_exports, {
44
44
  module.exports = __toCommonJS(runtime_exports);
45
45
 
46
46
  // src/version.generated.ts
47
- var VERSION = "1.0.0-alpha.103";
47
+ var VERSION = "1.0.0-alpha.104";
48
48
 
49
49
  // src/lib/signal/graph/state.ts
50
50
  var MAJOR = VERSION.split(".")[0];
@@ -1,5 +1,5 @@
1
1
  // src/version.generated.ts
2
- var VERSION = "1.0.0-alpha.103";
2
+ var VERSION = "1.0.0-alpha.104";
3
3
 
4
4
  // src/lib/signal/graph/state.ts
5
5
  var MAJOR = VERSION.split(".")[0];
@@ -1,4 +1,4 @@
1
- /*! @fluixi/reactive v1.0.0-alpha.103 | (c) 2026 Ibrahima Touré and Fluixi contributors | MIT */
1
+ /*! @fluixi/reactive v1.0.0-alpha.104 | (c) 2026 Ibrahima Touré and Fluixi contributors | MIT */
2
2
  "use strict";
3
3
  var __defProp = Object.defineProperty;
4
4
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
@@ -29,7 +29,7 @@ __export(signal_next_exports, {
29
29
  batch: () => batch2,
30
30
  createChildOwner: () => createChildOwner,
31
31
  createComputed: () => createComputed,
32
- createContext: () => createContext,
32
+ createContext: () => createContext2,
33
33
  createDebounce: () => createDebounce,
34
34
  createDebouncedResource: () => createDebouncedResource,
35
35
  createDebouncedSignal: () => createDebouncedSignal,
@@ -84,7 +84,7 @@ __export(signal_next_exports, {
84
84
  module.exports = __toCommonJS(signal_next_exports);
85
85
 
86
86
  // src/version.generated.ts
87
- var VERSION = "1.0.0-alpha.103";
87
+ var VERSION = "1.0.0-alpha.104";
88
88
 
89
89
  // src/lib/signal/graph/state.ts
90
90
  var MAJOR = VERSION.split(".")[0];
@@ -932,8 +932,8 @@ function setResourceCacheScope(fn) {
932
932
  }
933
933
  var _pageCache;
934
934
  function currentResourceCache() {
935
- const scoped = _cacheScope?.();
936
- if (scoped) return scoped;
935
+ const scoped2 = _cacheScope?.();
936
+ if (scoped2) return scoped2;
937
937
  if (typeof window === "undefined") return createResourceCache();
938
938
  return _pageCache ??= createResourceCache();
939
939
  }
@@ -1190,6 +1190,45 @@ function readChildren(fn) {
1190
1190
  return __DEV__ ? createMemo(() => resolveChildrenValue(children()), void 0, { name: "children" }) : createMemo(() => resolveChildrenValue(children()));
1191
1191
  }
1192
1192
 
1193
+ // src/lib/signal/graph/context-children.ts
1194
+ function scoped(child, provider) {
1195
+ return () => {
1196
+ const scope = createChildOwner(provider);
1197
+ onCleanup(() => {
1198
+ disposeScope(scope);
1199
+ const owned = provider.owned;
1200
+ const at = owned ? owned.indexOf(scope) : -1;
1201
+ if (at >= 0) owned.splice(at, 1);
1202
+ });
1203
+ return runWithOwner(scope, child);
1204
+ };
1205
+ }
1206
+ function bindChildren(children, provider) {
1207
+ if (typeof children === "function") {
1208
+ return isSignal(children) || children.length ? children : scoped(children, provider);
1209
+ }
1210
+ return Array.isArray(children) ? children.map((child) => bindChildren(child, provider)) : children;
1211
+ }
1212
+ function createContext2(defaultValue, name) {
1213
+ const context = createContext(defaultValue, name);
1214
+ const provide2 = context.Provider;
1215
+ const Provider = (props) => provide2({
1216
+ get value() {
1217
+ return props.value;
1218
+ },
1219
+ get debug() {
1220
+ return props.debug;
1221
+ },
1222
+ // Read by the runtime Provider with its own scope current.
1223
+ get children() {
1224
+ const provider = getOwner();
1225
+ const children = props.children;
1226
+ return provider ? bindChildren(children, provider) : children;
1227
+ }
1228
+ });
1229
+ return { ...context, Provider };
1230
+ }
1231
+
1193
1232
  // src/lib/signal/graph/suspense.ts
1194
1233
  var SuspenseContext = createContext();
1195
1234
  setSuspendHandler((promise, owner) => {
@@ -28,7 +28,8 @@ export { createSelector, createDeferred, createDebounce } from './derived.js';
28
28
  export { createDebouncedSignal, createDebouncedResource, type DebounceControls, type DebouncedResourceOptions, type DebouncedResourceControls, } from './debounced.js';
29
29
  export { readChildren } from './children.js';
30
30
  export { createSignal, createMemo, createEffect, createComputed, createRenderEffect, createRoot, onCleanup, getOwner, setOwner, runWithOwner, batch, untrack, on, flush, startTransition, useTransition, } from './compat.js';
31
- export { createContext, useContext, provide, isOwnerDisposed, createChildOwner, disposeScope, type Context, type Owner } from './runtime.js';
31
+ export { useContext, provide, isOwnerDisposed, createChildOwner, disposeScope, type Context, type Owner } from './runtime.js';
32
+ export { createContext } from './context-children.js';
32
33
  export { createResource, type ResourceReturn, type ResourceActions } from './resource.js';
33
34
  export { createSuspenseBoundary, provideSuspense, SuspenseContext, type SuspenseBoundary, } from './suspense.js';
34
35
  export { createErrorBoundary, provideErrorBoundary, type ErrorBoundary, } from './error-boundary.js';
@@ -1 +1 @@
1
- {"version":3,"file":"signal-next.d.ts","sourceRoot":"","sources":["../../../../src/lib/signal/graph/signal-next.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAKH,YAAY,EACV,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,WAAW,EAAE,WAAW,EAAE,UAAU,EACrE,QAAQ,EAAE,aAAa,EAAE,aAAa,EAAE,WAAW,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAChF,QAAQ,EAAE,eAAe,EAAE,cAAc,EAAE,eAAe,EAAE,aAAa,EACzE,SAAS,EAAE,YAAY,EAAE,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,WAAW,EAC9E,UAAU,EAAE,iBAAiB,EAC7B,mBAAmB,EAAE,uBAAuB,EAAE,2BAA2B,GAC1E,MAAM,cAAc,CAAC;AAOtB,cAAc,YAAY,CAAC;AAI3B,OAAO,EACL,OAAO,EACP,QAAQ,EACR,MAAM,EACN,UAAU,EACV,WAAW,EACX,UAAU,EACV,UAAU,EACV,aAAa,GACd,MAAM,aAAa,CAAC;AAGrB,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,mBAAmB,EACnB,aAAa,EACb,mBAAmB,EACnB,cAAc,EACd,mBAAmB,EACnB,kBAAkB,EAClB,qBAAqB,EACrB,oBAAoB,EACpB,mBAAmB,EACnB,KAAK,aAAa,EAClB,KAAK,kBAAkB,GACxB,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9E,OAAO,EACL,qBAAqB,EACrB,uBAAuB,EACvB,KAAK,gBAAgB,EACrB,KAAK,wBAAwB,EAC7B,KAAK,yBAAyB,GAC/B,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAG7C,OAAO,EACL,YAAY,EACZ,UAAU,EACV,YAAY,EACZ,cAAc,EACd,kBAAkB,EAClB,UAAU,EACV,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,YAAY,EACZ,KAAK,EACL,OAAO,EACP,EAAE,EACF,KAAK,EACL,eAAe,EACf,aAAa,GAKd,MAAM,aAAa,CAAC;AAGrB,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,YAAY,EAAE,KAAK,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,cAAc,CAAC;AAG7I,OAAO,EAAE,cAAc,EAAE,KAAK,cAAc,EAAE,KAAK,eAAe,EAAE,MAAM,eAAe,CAAC;AAG1F,OAAO,EACL,sBAAsB,EACtB,eAAe,EACf,eAAe,EACf,KAAK,gBAAgB,GACtB,MAAM,eAAe,CAAC;AAGvB,OAAO,EACL,mBAAmB,EACnB,oBAAoB,EACpB,KAAK,aAAa,GACnB,MAAM,qBAAqB,CAAC;AAM7B,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAOpC,eAAO,MAAM,OAAO,eAAuB,CAAC;AAC5C,eAAO,MAAM,MAAM,eAA6B,CAAC"}
1
+ {"version":3,"file":"signal-next.d.ts","sourceRoot":"","sources":["../../../../src/lib/signal/graph/signal-next.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAKH,YAAY,EACV,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,WAAW,EAAE,WAAW,EAAE,UAAU,EACrE,QAAQ,EAAE,aAAa,EAAE,aAAa,EAAE,WAAW,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAChF,QAAQ,EAAE,eAAe,EAAE,cAAc,EAAE,eAAe,EAAE,aAAa,EACzE,SAAS,EAAE,YAAY,EAAE,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,WAAW,EAC9E,UAAU,EAAE,iBAAiB,EAC7B,mBAAmB,EAAE,uBAAuB,EAAE,2BAA2B,GAC1E,MAAM,cAAc,CAAC;AAOtB,cAAc,YAAY,CAAC;AAI3B,OAAO,EACL,OAAO,EACP,QAAQ,EACR,MAAM,EACN,UAAU,EACV,WAAW,EACX,UAAU,EACV,UAAU,EACV,aAAa,GACd,MAAM,aAAa,CAAC;AAGrB,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,mBAAmB,EACnB,aAAa,EACb,mBAAmB,EACnB,cAAc,EACd,mBAAmB,EACnB,kBAAkB,EAClB,qBAAqB,EACrB,oBAAoB,EACpB,mBAAmB,EACnB,KAAK,aAAa,EAClB,KAAK,kBAAkB,GACxB,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9E,OAAO,EACL,qBAAqB,EACrB,uBAAuB,EACvB,KAAK,gBAAgB,EACrB,KAAK,wBAAwB,EAC7B,KAAK,yBAAyB,GAC/B,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAG7C,OAAO,EACL,YAAY,EACZ,UAAU,EACV,YAAY,EACZ,cAAc,EACd,kBAAkB,EAClB,UAAU,EACV,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,YAAY,EACZ,KAAK,EACL,OAAO,EACP,EAAE,EACF,KAAK,EACL,eAAe,EACf,aAAa,GAKd,MAAM,aAAa,CAAC;AAGrB,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,YAAY,EAAE,KAAK,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,cAAc,CAAC;AAC9H,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAGtD,OAAO,EAAE,cAAc,EAAE,KAAK,cAAc,EAAE,KAAK,eAAe,EAAE,MAAM,eAAe,CAAC;AAG1F,OAAO,EACL,sBAAsB,EACtB,eAAe,EACf,eAAe,EACf,KAAK,gBAAgB,GACtB,MAAM,eAAe,CAAC;AAGvB,OAAO,EACL,mBAAmB,EACnB,oBAAoB,EACpB,KAAK,aAAa,GACnB,MAAM,qBAAqB,CAAC;AAM7B,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAOpC,eAAO,MAAM,OAAO,eAAuB,CAAC;AAC5C,eAAO,MAAM,MAAM,eAA6B,CAAC"}
@@ -23,7 +23,8 @@ export { createSignal, createMemo, createEffect, createComputed, createRenderEff
23
23
  // like the store keep type-checking. (Runtime is identical; only the surface type differs.)
24
24
  } from './compat.js';
25
25
  // Context (owner-tree)
26
- export { createContext, useContext, provide, isOwnerDisposed, createChildOwner, disposeScope } from './runtime.js';
26
+ export { useContext, provide, isOwnerDisposed, createChildOwner, disposeScope } from './runtime.js';
27
+ export { createContext } from './context-children.js';
27
28
  // Resources (+ __FX_DATA__ SSR seeding, reused from legacy hooks)
28
29
  export { createResource } from './resource.js';
29
30
  // Suspense
@@ -1,7 +1,7 @@
1
- /*! @fluixi/reactive v1.0.0-alpha.103 | (c) 2026 Ibrahima Touré and Fluixi contributors | MIT */
1
+ /*! @fluixi/reactive v1.0.0-alpha.104 | (c) 2026 Ibrahima Touré and Fluixi contributors | MIT */
2
2
 
3
3
  // src/version.generated.ts
4
- var VERSION = "1.0.0-alpha.103";
4
+ var VERSION = "1.0.0-alpha.104";
5
5
 
6
6
  // src/lib/signal/graph/state.ts
7
7
  var MAJOR = VERSION.split(".")[0];
@@ -849,8 +849,8 @@ function setResourceCacheScope(fn) {
849
849
  }
850
850
  var _pageCache;
851
851
  function currentResourceCache() {
852
- const scoped = _cacheScope?.();
853
- if (scoped) return scoped;
852
+ const scoped2 = _cacheScope?.();
853
+ if (scoped2) return scoped2;
854
854
  if (typeof window === "undefined") return createResourceCache();
855
855
  return _pageCache ??= createResourceCache();
856
856
  }
@@ -1107,6 +1107,45 @@ function readChildren(fn) {
1107
1107
  return __DEV__ ? createMemo(() => resolveChildrenValue(children()), void 0, { name: "children" }) : createMemo(() => resolveChildrenValue(children()));
1108
1108
  }
1109
1109
 
1110
+ // src/lib/signal/graph/context-children.ts
1111
+ function scoped(child, provider) {
1112
+ return () => {
1113
+ const scope = createChildOwner(provider);
1114
+ onCleanup(() => {
1115
+ disposeScope(scope);
1116
+ const owned = provider.owned;
1117
+ const at = owned ? owned.indexOf(scope) : -1;
1118
+ if (at >= 0) owned.splice(at, 1);
1119
+ });
1120
+ return runWithOwner(scope, child);
1121
+ };
1122
+ }
1123
+ function bindChildren(children, provider) {
1124
+ if (typeof children === "function") {
1125
+ return isSignal(children) || children.length ? children : scoped(children, provider);
1126
+ }
1127
+ return Array.isArray(children) ? children.map((child) => bindChildren(child, provider)) : children;
1128
+ }
1129
+ function createContext2(defaultValue, name) {
1130
+ const context = createContext(defaultValue, name);
1131
+ const provide2 = context.Provider;
1132
+ const Provider = (props) => provide2({
1133
+ get value() {
1134
+ return props.value;
1135
+ },
1136
+ get debug() {
1137
+ return props.debug;
1138
+ },
1139
+ // Read by the runtime Provider with its own scope current.
1140
+ get children() {
1141
+ const provider = getOwner();
1142
+ const children = props.children;
1143
+ return provider ? bindChildren(children, provider) : children;
1144
+ }
1145
+ });
1146
+ return { ...context, Provider };
1147
+ }
1148
+
1110
1149
  // src/lib/signal/graph/suspense.ts
1111
1150
  var SuspenseContext = createContext();
1112
1151
  setSuspendHandler((promise, owner) => {
@@ -1173,7 +1212,7 @@ export {
1173
1212
  batch2 as batch,
1174
1213
  createChildOwner,
1175
1214
  createComputed,
1176
- createContext,
1215
+ createContext2 as createContext,
1177
1216
  createDebounce,
1178
1217
  createDebouncedResource,
1179
1218
  createDebouncedSignal,
@@ -27,7 +27,7 @@ __export(state_exports, {
27
27
  module.exports = __toCommonJS(state_exports);
28
28
 
29
29
  // src/version.generated.ts
30
- var VERSION = "1.0.0-alpha.103";
30
+ var VERSION = "1.0.0-alpha.104";
31
31
 
32
32
  // src/lib/signal/graph/state.ts
33
33
  var MAJOR = VERSION.split(".")[0];
@@ -1,5 +1,5 @@
1
1
  // src/version.generated.ts
2
- var VERSION = "1.0.0-alpha.103";
2
+ var VERSION = "1.0.0-alpha.104";
3
3
 
4
4
  // src/lib/signal/graph/state.ts
5
5
  var MAJOR = VERSION.split(".")[0];
@@ -27,7 +27,7 @@ __export(suspense_exports, {
27
27
  module.exports = __toCommonJS(suspense_exports);
28
28
 
29
29
  // src/version.generated.ts
30
- var VERSION = "1.0.0-alpha.103";
30
+ var VERSION = "1.0.0-alpha.104";
31
31
 
32
32
  // src/lib/signal/graph/state.ts
33
33
  var MAJOR = VERSION.split(".")[0];
@@ -1,5 +1,5 @@
1
1
  // src/version.generated.ts
2
- var VERSION = "1.0.0-alpha.103";
2
+ var VERSION = "1.0.0-alpha.104";
3
3
 
4
4
  // src/lib/signal/graph/state.ts
5
5
  var MAJOR = VERSION.split(".")[0];
@@ -1,4 +1,4 @@
1
- /*! @fluixi/reactive v1.0.0-alpha.103 | (c) 2026 Ibrahima Touré and Fluixi contributors | MIT */
1
+ /*! @fluixi/reactive v1.0.0-alpha.104 | (c) 2026 Ibrahima Touré and Fluixi contributors | MIT */
2
2
  "use strict";
3
3
  var __defProp = Object.defineProperty;
4
4
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
@@ -494,7 +494,7 @@ function makeArrayFlat(values) {
494
494
  }
495
495
 
496
496
  // src/version.generated.ts
497
- var VERSION = "1.0.0-alpha.103";
497
+ var VERSION = "1.0.0-alpha.104";
498
498
 
499
499
  // src/lib/signal/graph/state.ts
500
500
  var MAJOR = VERSION.split(".")[0];
@@ -1,4 +1,4 @@
1
- /*! @fluixi/reactive v1.0.0-alpha.103 | (c) 2026 Ibrahima Touré and Fluixi contributors | MIT */
1
+ /*! @fluixi/reactive v1.0.0-alpha.104 | (c) 2026 Ibrahima Touré and Fluixi contributors | MIT */
2
2
 
3
3
  // src/lib/predicates.ts
4
4
  function isFunction(value) {
@@ -392,7 +392,7 @@ function makeArrayFlat(values) {
392
392
  }
393
393
 
394
394
  // src/version.generated.ts
395
- var VERSION = "1.0.0-alpha.103";
395
+ var VERSION = "1.0.0-alpha.104";
396
396
 
397
397
  // src/lib/signal/graph/state.ts
398
398
  var MAJOR = VERSION.split(".")[0];
@@ -1,4 +1,4 @@
1
- /*! @fluixi/reactive v1.0.0-alpha.103 | (c) 2026 Ibrahima Touré and Fluixi contributors | MIT */
1
+ /*! @fluixi/reactive v1.0.0-alpha.104 | (c) 2026 Ibrahima Touré and Fluixi contributors | MIT */
2
2
  "use strict";
3
3
  var __defProp = Object.defineProperty;
4
4
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
@@ -34,7 +34,7 @@ __export(index_exports, {
34
34
  context: () => context,
35
35
  createChildOwner: () => createChildOwner,
36
36
  createComputed: () => createComputed,
37
- createContext: () => createContext,
37
+ createContext: () => createContext2,
38
38
  createDebounce: () => createDebounce,
39
39
  createDebouncedResource: () => createDebouncedResource,
40
40
  createDebouncedSignal: () => createDebouncedSignal,
@@ -106,7 +106,7 @@ __export(index_exports, {
106
106
  module.exports = __toCommonJS(index_exports);
107
107
 
108
108
  // src/version.generated.ts
109
- var VERSION = "1.0.0-alpha.103";
109
+ var VERSION = "1.0.0-alpha.104";
110
110
 
111
111
  // src/lib/signal/graph/state.ts
112
112
  var MAJOR = VERSION.split(".")[0];
@@ -1000,8 +1000,8 @@ function setResourceCacheScope(fn) {
1000
1000
  }
1001
1001
  var _pageCache;
1002
1002
  function currentResourceCache() {
1003
- const scoped = _cacheScope?.();
1004
- if (scoped) return scoped;
1003
+ const scoped2 = _cacheScope?.();
1004
+ if (scoped2) return scoped2;
1005
1005
  if (typeof window === "undefined") return createResourceCache();
1006
1006
  return _pageCache ??= createResourceCache();
1007
1007
  }
@@ -1258,6 +1258,45 @@ function readChildren(fn) {
1258
1258
  return __DEV__ ? createMemo(() => resolveChildrenValue(children()), void 0, { name: "children" }) : createMemo(() => resolveChildrenValue(children()));
1259
1259
  }
1260
1260
 
1261
+ // src/lib/signal/graph/context-children.ts
1262
+ function scoped(child, provider) {
1263
+ return () => {
1264
+ const scope = createChildOwner(provider);
1265
+ onCleanup(() => {
1266
+ disposeScope(scope);
1267
+ const owned = provider.owned;
1268
+ const at = owned ? owned.indexOf(scope) : -1;
1269
+ if (at >= 0) owned.splice(at, 1);
1270
+ });
1271
+ return runWithOwner(scope, child);
1272
+ };
1273
+ }
1274
+ function bindChildren(children, provider) {
1275
+ if (typeof children === "function") {
1276
+ return isSignal(children) || children.length ? children : scoped(children, provider);
1277
+ }
1278
+ return Array.isArray(children) ? children.map((child) => bindChildren(child, provider)) : children;
1279
+ }
1280
+ function createContext2(defaultValue, name) {
1281
+ const context2 = createContext(defaultValue, name);
1282
+ const provide2 = context2.Provider;
1283
+ const Provider = (props) => provide2({
1284
+ get value() {
1285
+ return props.value;
1286
+ },
1287
+ get debug() {
1288
+ return props.debug;
1289
+ },
1290
+ // Read by the runtime Provider with its own scope current.
1291
+ get children() {
1292
+ const provider = getOwner();
1293
+ const children = props.children;
1294
+ return provider ? bindChildren(children, provider) : children;
1295
+ }
1296
+ });
1297
+ return { ...context2, Provider };
1298
+ }
1299
+
1261
1300
  // src/lib/signal/graph/suspense.ts
1262
1301
  var SuspenseContext = createContext();
1263
1302
  setSuspendHandler((promise, owner) => {
@@ -1,7 +1,7 @@
1
- /*! @fluixi/reactive v1.0.0-alpha.103 | (c) 2026 Ibrahima Touré and Fluixi contributors | MIT */
1
+ /*! @fluixi/reactive v1.0.0-alpha.104 | (c) 2026 Ibrahima Touré and Fluixi contributors | MIT */
2
2
 
3
3
  // src/version.generated.ts
4
- var VERSION = "1.0.0-alpha.103";
4
+ var VERSION = "1.0.0-alpha.104";
5
5
 
6
6
  // src/lib/signal/graph/state.ts
7
7
  var MAJOR = VERSION.split(".")[0];
@@ -895,8 +895,8 @@ function setResourceCacheScope(fn) {
895
895
  }
896
896
  var _pageCache;
897
897
  function currentResourceCache() {
898
- const scoped = _cacheScope?.();
899
- if (scoped) return scoped;
898
+ const scoped2 = _cacheScope?.();
899
+ if (scoped2) return scoped2;
900
900
  if (typeof window === "undefined") return createResourceCache();
901
901
  return _pageCache ??= createResourceCache();
902
902
  }
@@ -1153,6 +1153,45 @@ function readChildren(fn) {
1153
1153
  return __DEV__ ? createMemo(() => resolveChildrenValue(children()), void 0, { name: "children" }) : createMemo(() => resolveChildrenValue(children()));
1154
1154
  }
1155
1155
 
1156
+ // src/lib/signal/graph/context-children.ts
1157
+ function scoped(child, provider) {
1158
+ return () => {
1159
+ const scope = createChildOwner(provider);
1160
+ onCleanup(() => {
1161
+ disposeScope(scope);
1162
+ const owned = provider.owned;
1163
+ const at = owned ? owned.indexOf(scope) : -1;
1164
+ if (at >= 0) owned.splice(at, 1);
1165
+ });
1166
+ return runWithOwner(scope, child);
1167
+ };
1168
+ }
1169
+ function bindChildren(children, provider) {
1170
+ if (typeof children === "function") {
1171
+ return isSignal(children) || children.length ? children : scoped(children, provider);
1172
+ }
1173
+ return Array.isArray(children) ? children.map((child) => bindChildren(child, provider)) : children;
1174
+ }
1175
+ function createContext2(defaultValue, name) {
1176
+ const context2 = createContext(defaultValue, name);
1177
+ const provide2 = context2.Provider;
1178
+ const Provider = (props) => provide2({
1179
+ get value() {
1180
+ return props.value;
1181
+ },
1182
+ get debug() {
1183
+ return props.debug;
1184
+ },
1185
+ // Read by the runtime Provider with its own scope current.
1186
+ get children() {
1187
+ const provider = getOwner();
1188
+ const children = props.children;
1189
+ return provider ? bindChildren(children, provider) : children;
1190
+ }
1191
+ });
1192
+ return { ...context2, Provider };
1193
+ }
1194
+
1156
1195
  // src/lib/signal/graph/suspense.ts
1157
1196
  var SuspenseContext = createContext();
1158
1197
  setSuspendHandler((promise, owner) => {
@@ -1257,7 +1296,7 @@ export {
1257
1296
  context,
1258
1297
  createChildOwner,
1259
1298
  createComputed,
1260
- createContext,
1299
+ createContext2 as createContext,
1261
1300
  createDebounce,
1262
1301
  createDebouncedResource,
1263
1302
  createDebouncedSignal,
@@ -27,7 +27,7 @@ __export(list_exports, {
27
27
  module.exports = __toCommonJS(list_exports);
28
28
 
29
29
  // src/version.generated.ts
30
- var VERSION = "1.0.0-alpha.103";
30
+ var VERSION = "1.0.0-alpha.104";
31
31
 
32
32
  // src/lib/signal/graph/state.ts
33
33
  var MAJOR = VERSION.split(".")[0];
@@ -1,5 +1,5 @@
1
1
  // src/version.generated.ts
2
- var VERSION = "1.0.0-alpha.103";
2
+ var VERSION = "1.0.0-alpha.104";
3
3
 
4
4
  // src/lib/signal/graph/state.ts
5
5
  var MAJOR = VERSION.split(".")[0];
@@ -25,7 +25,7 @@ __export(resource_api_exports, {
25
25
  module.exports = __toCommonJS(resource_api_exports);
26
26
 
27
27
  // src/version.generated.ts
28
- var VERSION = "1.0.0-alpha.103";
28
+ var VERSION = "1.0.0-alpha.104";
29
29
 
30
30
  // src/lib/signal/graph/state.ts
31
31
  var MAJOR = VERSION.split(".")[0];
@@ -1,5 +1,5 @@
1
1
  // src/version.generated.ts
2
- var VERSION = "1.0.0-alpha.103";
2
+ var VERSION = "1.0.0-alpha.104";
3
3
 
4
4
  // src/lib/signal/graph/state.ts
5
5
  var MAJOR = VERSION.split(".")[0];
@@ -468,7 +468,7 @@ function makeArrayFlat(values) {
468
468
  }
469
469
 
470
470
  // src/version.generated.ts
471
- var VERSION = "1.0.0-alpha.103";
471
+ var VERSION = "1.0.0-alpha.104";
472
472
 
473
473
  // src/lib/signal/graph/state.ts
474
474
  var MAJOR = VERSION.split(".")[0];
@@ -390,7 +390,7 @@ function makeArrayFlat(values) {
390
390
  }
391
391
 
392
392
  // src/version.generated.ts
393
- var VERSION = "1.0.0-alpha.103";
393
+ var VERSION = "1.0.0-alpha.104";
394
394
 
395
395
  // src/lib/signal/graph/state.ts
396
396
  var MAJOR = VERSION.split(".")[0];
@@ -1,4 +1,4 @@
1
- /*! @fluixi/reactive v1.0.0-alpha.103 | (c) 2026 Ibrahima Touré and Fluixi contributors | MIT */
1
+ /*! @fluixi/reactive v1.0.0-alpha.104 | (c) 2026 Ibrahima Touré and Fluixi contributors | MIT */
2
2
  "use strict";
3
3
  var __defProp = Object.defineProperty;
4
4
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
@@ -45,7 +45,7 @@ __export(utilities_exports, {
45
45
  module.exports = __toCommonJS(utilities_exports);
46
46
 
47
47
  // src/version.generated.ts
48
- var VERSION = "1.0.0-alpha.103";
48
+ var VERSION = "1.0.0-alpha.104";
49
49
 
50
50
  // src/lib/signal/graph/state.ts
51
51
  var MAJOR = VERSION.split(".")[0];
@@ -1,7 +1,7 @@
1
- /*! @fluixi/reactive v1.0.0-alpha.103 | (c) 2026 Ibrahima Touré and Fluixi contributors | MIT */
1
+ /*! @fluixi/reactive v1.0.0-alpha.104 | (c) 2026 Ibrahima Touré and Fluixi contributors | MIT */
2
2
 
3
3
  // src/version.generated.ts
4
- var VERSION = "1.0.0-alpha.103";
4
+ var VERSION = "1.0.0-alpha.104";
5
5
 
6
6
  // src/lib/signal/graph/state.ts
7
7
  var MAJOR = VERSION.split(".")[0];
@@ -28,7 +28,7 @@ module.exports = __toCommonJS(api_exports);
28
28
  var import_signal = require("@fluixi/reactive/signal");
29
29
 
30
30
  // src/version.generated.ts
31
- var VERSION = "1.0.0-alpha.103";
31
+ var VERSION = "1.0.0-alpha.104";
32
32
 
33
33
  // src/lib/signal/graph/state.ts
34
34
  var MAJOR = VERSION.split(".")[0];
@@ -9,7 +9,7 @@ import {
9
9
  } from "@fluixi/reactive/signal";
10
10
 
11
11
  // src/version.generated.ts
12
- var VERSION = "1.0.0-alpha.103";
12
+ var VERSION = "1.0.0-alpha.104";
13
13
 
14
14
  // src/lib/signal/graph/state.ts
15
15
  var MAJOR = VERSION.split(".")[0];
@@ -1,4 +1,4 @@
1
- /*! @fluixi/reactive v1.0.0-alpha.103 | (c) 2026 Ibrahima Touré and Fluixi contributors | MIT */
1
+ /*! @fluixi/reactive v1.0.0-alpha.104 | (c) 2026 Ibrahima Touré and Fluixi contributors | MIT */
2
2
  "use strict";
3
3
  var __defProp = Object.defineProperty;
4
4
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
@@ -52,7 +52,7 @@ module.exports = __toCommonJS(index_exports);
52
52
  var import_signal = require("@fluixi/reactive/signal");
53
53
 
54
54
  // src/version.generated.ts
55
- var VERSION = "1.0.0-alpha.103";
55
+ var VERSION = "1.0.0-alpha.104";
56
56
 
57
57
  // src/lib/signal/graph/state.ts
58
58
  var MAJOR = VERSION.split(".")[0];