@fundamental-engine/react 0.9.2 → 0.9.4

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.
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAGH,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACpE,OAAO,EAAsB,KAAK,WAAW,EAAE,KAAK,YAAY,EAAqB,MAAM,0BAA0B,CAAC;AACtH,OAAO,EAGL,KAAK,eAAe,EACpB,KAAK,WAAW,EAChB,KAAK,qBAAqB,EAC1B,KAAK,YAAY,EAClB,MAAM,yBAAyB,CAAC;AAEjC,MAAM,WAAW,eAAgB,SAAQ,YAAY;IACnD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,kFAAkF;IAClF,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;CAGxC;AAKD,wBAAgB,UAAU,CAAC,EACzB,SAAS,EACT,KAAK,EACL,OAAO,EACP,MAAM,EACN,OAAO,EACP,KAAK,EACL,UAAU,EACV,KAAK,EACL,SAAS,EACT,UAAU,EACV,UAAU,EACV,MAAM,EACN,OAAO,EACP,cAAc,EACd,IAAI,EACJ,OAAO,EACP,SAAS,EACT,SAAS,EACT,OAAO,EACP,MAAM,EACN,UAAU,EACV,GAAG,EACH,GAAG,EACH,YAAY,GACb,EAAE,eAAe,GAAG,YAAY,CA2ChC;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,IAAI,GAAE,YAAiB,GAAG;IACtD,SAAS,EAAE,SAAS,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAAC;IAC/C,QAAQ,EAAE,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;CACzC,CAwCA;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAC7B,OAAO,EAAE,CAAC,EAAE,EACZ,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,EACvB,OAAO,GAAE,eAAe,CAAC,CAAC,CAAM,GAC/B;IACD,YAAY,EAAE,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;IAC/C,UAAU,EAAE,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IAC7C,OAAO,EAAE,MAAM,qBAAqB,GAAG,IAAI,CAAC;CAC7C,CA+BA;AAID,YAAY,EACV,WAAW,EACX,YAAY,EACZ,IAAI,EACJ,SAAS,EACT,WAAW,EACX,WAAW,EACX,YAAY,EACZ,gBAAgB,GACjB,MAAM,0BAA0B,CAAC;AAGlC,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAGzD,YAAY,EACV,YAAY,EACZ,YAAY,EACZ,UAAU,EACV,kBAAkB,EAClB,eAAe,EACf,WAAW,EACX,qBAAqB,GACtB,MAAM,yBAAyB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAGH,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACpE,OAAO,EAAsB,KAAK,WAAW,EAAE,KAAK,YAAY,EAAqB,MAAM,0BAA0B,CAAC;AACtH,OAAO,EAGL,KAAK,eAAe,EACpB,KAAK,WAAW,EAChB,KAAK,qBAAqB,EAC1B,KAAK,YAAY,EAClB,MAAM,yBAAyB,CAAC;AAEjC,MAAM,WAAW,eAAgB,SAAQ,YAAY;IACnD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,kFAAkF;IAClF,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;CAGxC;AAKD,wBAAgB,UAAU,CAAC,EACzB,SAAS,EACT,KAAK,EACL,OAAO,EACP,MAAM,EACN,OAAO,EACP,KAAK,EACL,UAAU,EACV,KAAK,EACL,SAAS,EACT,UAAU,EACV,UAAU,EACV,MAAM,EACN,OAAO,EACP,cAAc,EACd,IAAI,EACJ,OAAO,EACP,SAAS,EACT,SAAS,EACT,OAAO,EACP,MAAM,EACN,UAAU,EACV,GAAG,EACH,GAAG,EACH,YAAY,GACb,EAAE,eAAe,GAAG,YAAY,CA2ChC;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,IAAI,GAAE,YAAiB,GAAG;IACtD,SAAS,EAAE,SAAS,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAAC;IAC/C,QAAQ,EAAE,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;CACzC,CAwCA;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAC7B,OAAO,EAAE,CAAC,EAAE,EACZ,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,EACvB,OAAO,GAAE,eAAe,CAAC,CAAC,CAAM,GAC/B;IACD,YAAY,EAAE,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;IAC/C,UAAU,EAAE,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IAC7C,OAAO,EAAE,MAAM,qBAAqB,GAAG,IAAI,CAAC;CAC7C,CAqDA;AAID,YAAY,EACV,WAAW,EACX,YAAY,EACZ,IAAI,EACJ,SAAS,EACT,WAAW,EACX,WAAW,EACX,YAAY,EACZ,gBAAgB,GACjB,MAAM,0BAA0B,CAAC;AAGlC,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAGzD,YAAY,EACV,YAAY,EACZ,YAAY,EACZ,UAAU,EACV,kBAAkB,EAClB,eAAe,EACf,WAAW,EACX,qBAAqB,GACtB,MAAM,yBAAyB,CAAC"}
package/dist/index.js CHANGED
@@ -13,7 +13,7 @@ import { jsx as _jsx } from "react/jsx-runtime";
13
13
  * The field reacts to `[data-body]` elements anywhere on the page (the field-reacts
14
14
  * law); call `field.scan()` from `onReady` after you render new bodies.
15
15
  */
16
- import { useEffect, useRef } from 'react';
16
+ import { useEffect, useRef, useState } from 'react';
17
17
  import { FIELD_CANVAS_STYLE } from '@fundamental-engine/core';
18
18
  import { createBrowserField, bindData, } from '@fundamental-engine/dom';
19
19
  // the fixed, click-through surface — shared with the vanilla mount via core/surface.ts.
@@ -116,8 +116,30 @@ export function useFieldField(opts = {}) {
116
116
  * the full `DataBinding` (`ids()`, `applied()`, …) for advanced consumers. Mirrors `useFieldField`.
117
117
  */
118
118
  export function useForcesData(records, mapper, options = {}) {
119
- const containerRef = useRef(null);
120
119
  const bindingRef = useRef(null);
120
+ // The host node is tracked in STATE, not just a ref, so the mount effect RE-RUNS the moment the
121
+ // node attaches. A plain `useRef` read once in a `[]`-dep effect stays null forever if the
122
+ // container mounts after the first effect pass (the #989 bug) — the effect never re-runs.
123
+ const [containerEl, setContainerEl] = useState(null);
124
+ // A STABLE RefObject-shaped view (built once) keeps the returned contract unchanged and avoids
125
+ // detach/reattach churn: React assigns `.current` on attach (node) / detach (null) in the commit
126
+ // phase; the setter records the node and — on a real change — flips state to wake the effect.
127
+ const refView = useRef(undefined);
128
+ if (!refView.current) {
129
+ let node = null;
130
+ refView.current = {
131
+ get current() {
132
+ return node;
133
+ },
134
+ set current(next) {
135
+ if (next === node)
136
+ return;
137
+ node = next;
138
+ setContainerEl(next);
139
+ },
140
+ };
141
+ }
142
+ const containerRef = refView.current;
121
143
  // latest mapper/options/records held in refs so the binding can read them without re-creating
122
144
  // the binding (and re-mounting every body) when an inline closure changes identity each render.
123
145
  const mapperRef = useRef(mapper);
@@ -126,9 +148,10 @@ export function useForcesData(records, mapper, options = {}) {
126
148
  optionsRef.current = options;
127
149
  const recordsRef = useRef(records);
128
150
  recordsRef.current = records;
129
- // create/destroy the binding when the container element appears/disappears.
151
+ // create/destroy the binding when the container element appears/disappears — keyed on the node,
152
+ // so a container that attaches AFTER first render still gets bound (the null-first-pass fix).
130
153
  useEffect(() => {
131
- const container = containerRef.current;
154
+ const container = containerEl;
132
155
  if (!container)
133
156
  return;
134
157
  const binding = bindData(container, recordsRef.current, (rec, i) => mapperRef.current(rec, i), optionsRef.current);
@@ -137,8 +160,8 @@ export function useForcesData(records, mapper, options = {}) {
137
160
  binding.destroy();
138
161
  bindingRef.current = null;
139
162
  };
140
- // mount once per container; data flows through update() in the effect below.
141
- }, []);
163
+ // re-mount when the container node identity changes; data flows through update() in the effect below.
164
+ }, [containerEl]);
142
165
  // push every records change into the live binding (diff by id is bindData's job).
143
166
  useEffect(() => {
144
167
  bindingRef.current?.update(records);
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fundamental-engine/react",
3
- "version": "0.9.2",
3
+ "version": "0.9.4",
4
4
  "description": "React adapter for Fundamental — a reciprocal DOM-physics field as a <FieldField> component + useFieldField hook.",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -45,8 +45,8 @@
45
45
  "access": "public"
46
46
  },
47
47
  "dependencies": {
48
- "@fundamental-engine/dom": "0.9.2",
49
- "@fundamental-engine/core": "0.9.2"
48
+ "@fundamental-engine/core": "0.9.4",
49
+ "@fundamental-engine/dom": "0.9.4"
50
50
  },
51
51
  "peerDependencies": {
52
52
  "react": ">=18"
@@ -54,6 +54,7 @@
54
54
  "devDependencies": {
55
55
  "@types/react": "^19.0.0",
56
56
  "react": "^19.0.0",
57
+ "react-test-renderer": "^19.2.7",
57
58
  "typescript": "^5.9.3"
58
59
  },
59
60
  "scripts": {