@pilotiq/pilotiq 0.12.0 → 0.13.1

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 (71) hide show
  1. package/.turbo/turbo-build.log +2 -2
  2. package/CHANGELOG.md +19 -0
  3. package/dist/pageData/helpers.d.ts +16 -0
  4. package/dist/pageData/helpers.d.ts.map +1 -1
  5. package/dist/pageData/helpers.js +61 -1
  6. package/dist/pageData/helpers.js.map +1 -1
  7. package/dist/pageData.d.ts +1 -1
  8. package/dist/pageData.d.ts.map +1 -1
  9. package/dist/pageData.js +1 -1
  10. package/dist/pageData.js.map +1 -1
  11. package/dist/react/FormCollabBindingRegistry.d.ts +33 -98
  12. package/dist/react/FormCollabBindingRegistry.d.ts.map +1 -1
  13. package/dist/react/FormCollabBindingRegistry.js.map +1 -1
  14. package/dist/react/FormStateContext.d.ts +1 -35
  15. package/dist/react/FormStateContext.d.ts.map +1 -1
  16. package/dist/react/FormStateContext.js +15 -92
  17. package/dist/react/FormStateContext.js.map +1 -1
  18. package/dist/react/RowCoordsContext.d.ts +19 -0
  19. package/dist/react/RowCoordsContext.d.ts.map +1 -0
  20. package/dist/react/RowCoordsContext.js +6 -0
  21. package/dist/react/RowCoordsContext.js.map +1 -0
  22. package/dist/react/fields/BuilderInput.d.ts.map +1 -1
  23. package/dist/react/fields/BuilderInput.js +78 -49
  24. package/dist/react/fields/BuilderInput.js.map +1 -1
  25. package/dist/react/fields/MarkdownInput.d.ts.map +1 -1
  26. package/dist/react/fields/MarkdownInput.js +35 -125
  27. package/dist/react/fields/MarkdownInput.js.map +1 -1
  28. package/dist/react/fields/RepeaterInput.d.ts.map +1 -1
  29. package/dist/react/fields/RepeaterInput.js +104 -60
  30. package/dist/react/fields/RepeaterInput.js.map +1 -1
  31. package/dist/react/fields/TextLikeInput.d.ts +11 -9
  32. package/dist/react/fields/TextLikeInput.d.ts.map +1 -1
  33. package/dist/react/fields/TextLikeInput.js +59 -189
  34. package/dist/react/fields/TextLikeInput.js.map +1 -1
  35. package/dist/react/fields/repeaterReconcile.d.ts +66 -0
  36. package/dist/react/fields/repeaterReconcile.d.ts.map +1 -0
  37. package/dist/react/fields/repeaterReconcile.js +96 -0
  38. package/dist/react/fields/repeaterReconcile.js.map +1 -0
  39. package/dist/react/formStateHelpers.d.ts +0 -15
  40. package/dist/react/formStateHelpers.d.ts.map +1 -1
  41. package/dist/react/formStateHelpers.js +0 -91
  42. package/dist/react/formStateHelpers.js.map +1 -1
  43. package/dist/react/index.d.ts +1 -1
  44. package/dist/react/index.d.ts.map +1 -1
  45. package/dist/react/index.js.map +1 -1
  46. package/dist/react/schemaRenderer/form/FormRenderer.d.ts.map +1 -1
  47. package/dist/react/schemaRenderer/form/FormRenderer.js +10 -0
  48. package/dist/react/schemaRenderer/form/FormRenderer.js.map +1 -1
  49. package/package.json +1 -1
  50. package/src/pageData/helpers.ts +55 -1
  51. package/src/pageData.test.ts +67 -0
  52. package/src/pageData.ts +1 -0
  53. package/src/react/FormCollabBindingRegistry.ts +34 -91
  54. package/src/react/FormStateContext.tsx +14 -126
  55. package/src/react/RowCoordsContext.tsx +23 -0
  56. package/src/react/fields/BuilderInput.tsx +75 -39
  57. package/src/react/fields/MarkdownInput.tsx +42 -129
  58. package/src/react/fields/RepeaterInput.tsx +107 -48
  59. package/src/react/fields/TextLikeInput.tsx +67 -225
  60. package/src/react/fields/repeaterReconcile.test.ts +114 -0
  61. package/src/react/fields/repeaterReconcile.ts +104 -0
  62. package/src/react/formStateHelpers.test.ts +0 -99
  63. package/src/react/formStateHelpers.ts +0 -83
  64. package/src/react/index.ts +0 -2
  65. package/src/react/schemaRenderer/form/FormRenderer.tsx +10 -0
  66. package/dist/react/fields/textDelta.d.ts +0 -44
  67. package/dist/react/fields/textDelta.d.ts.map +0 -1
  68. package/dist/react/fields/textDelta.js +0 -80
  69. package/dist/react/fields/textDelta.js.map +0 -1
  70. package/src/react/fields/textDelta.test.ts +0 -141
  71. package/src/react/fields/textDelta.ts +0 -86
@@ -1,6 +1,6 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { createContext, useCallback, useContext, useEffect, useMemo, useRef, useState, } from 'react';
3
- import { collectFieldDefaults, collectRowArrayFieldNames, collectRowTextLeavesByArray, findFieldMeta, parseFormDataToNested, parseRowFieldPath, readNestedValue, routeBindingWrite, rowIdAtIndex, writeNestedValue, } from './formStateHelpers.js';
3
+ import { collectFieldDefaults, collectRowArrayFieldNames, findFieldMeta, parseFormDataToNested, readNestedValue, routeBindingWrite, writeNestedValue, } from './formStateHelpers.js';
4
4
  import { runJsHandler } from './fieldJsHandler.js';
5
5
  import { useToast } from './Toaster.js';
6
6
  import { useCollabRoom } from './CollabRoomContext.js';
@@ -53,7 +53,6 @@ export function useFieldState(name) {
53
53
  triggerLive: () => { },
54
54
  pending: false,
55
55
  errors: [],
56
- textBinding: null,
57
56
  };
58
57
  }
59
58
  // Dotted-path fields (inner Repeater rows) always render uncontrolled
@@ -66,37 +65,8 @@ export function useFieldState(name) {
66
65
  triggerLive: (valueOverride) => ctx.triggerLive(name, valueOverride),
67
66
  pending: ctx.fieldStatus(name) === 'pending',
68
67
  errors: ctx.errors[name] ?? [],
69
- // Phase F.6 — top-level text fields resolve from the binding-mount
70
- // text stash. Phase F.5c — dotted-path row leaves resolve through
71
- // `getRowTextBinding` when the field is text-shaped AND the row's
72
- // `__id` is already stamped in the values map. Outside a collab
73
- // room, for non-text fields, or before `addRow` has settled the
74
- // row's id, the lookup returns null and `BoundTextInput` falls
75
- // back to today's uncontrolled-input path.
76
- textBinding: dotted
77
- ? resolveRowTextBinding(ctx, name)
78
- : (ctx.textBindings?.get(name) ?? null),
79
68
  };
80
69
  }
81
- /**
82
- * Phase F.5c — dotted-name `TextBinding` resolver. Returns `null`
83
- * whenever any precondition fails so the caller's renderer can take a
84
- * single branch on null vs non-null.
85
- */
86
- function resolveRowTextBinding(ctx, dottedName) {
87
- if (!ctx.rowTextLeaves || !ctx.getRowTextBinding)
88
- return null;
89
- const parsed = parseRowFieldPath(dottedName);
90
- if (!parsed)
91
- return null;
92
- const set = ctx.rowTextLeaves.get(parsed.arrayName);
93
- if (!set?.has(parsed.fieldName))
94
- return null;
95
- const rowId = rowIdAtIndex(ctx.values, parsed.arrayName, parsed.index);
96
- if (!rowId)
97
- return null;
98
- return ctx.getRowTextBinding(parsed.arrayName, rowId, parsed.fieldName);
99
- }
100
70
  /** Provider component for the controlled form path. Holds the values map,
101
71
  * the current form meta (replaced wholesale on live POST), and the
102
72
  * per-field live trigger. Mounted by `FormRenderer` when the form has a
@@ -107,22 +77,11 @@ export function FormStateProvider({ initialMeta, initialErrors, children, fetchI
107
77
  const [errors, setErrors] = useState(initialErrors);
108
78
  const [pendingNames, setPendingNames] = useState(() => new Set());
109
79
  const [inFlight, setInFlight] = useState(false);
110
- // Phase F.6 — per-field text-CRDT stash. `null` until the collab effect
111
- // populates it; stays `null` outside a collab room. Stored in state (not
112
- // a ref) so consumers of `useFieldState` re-render once the bindings
113
- // land. One extra render after collab-mount; acceptable since the
114
- // existing `setValuesState` overlay below already triggers one when the
115
- // room has pre-existing state.
116
- const [textBindings, setTextBindings] = useState(null);
117
- // Phase F.5 — per-Repeater/Builder row-array stash. Same lifecycle as
118
- // `textBindings`: populated on collab mount when the binding implements
119
- // F.5 row methods, cleared on unmount.
80
+ // Phase F.5 — per-Repeater/Builder row-array stash. Populated on
81
+ // collab mount when the binding implements F.5 row methods, cleared
82
+ // on unmount. Stored in state (not a ref) so consumers of
83
+ // `useRowBinding` re-render once the bindings land.
120
84
  const [rowBindings, setRowBindings] = useState(null);
121
- // Phase F.5c — per-array set of text-shaped row leaves + a pre-bound
122
- // resolver. Both populated at binding mount when the active binding
123
- // implements `getRowTextBinding`; cleared on unmount.
124
- const [rowTextLeaves, setRowTextLeaves] = useState(null);
125
- const [getRowTextBinding, setGetRowTextBinding] = useState(null);
126
85
  const { notify } = useToast();
127
86
  // Track an incrementing in-flight id so out-of-order responses are dropped.
128
87
  // useRef (not useState) so React StrictMode dev double-invokes don't
@@ -177,27 +136,6 @@ export function FormStateProvider({ initialMeta, initialErrors, children, fetchI
177
136
  if (Object.keys(synced).length > 0) {
178
137
  setValuesState((prev) => ({ ...prev, ...synced }));
179
138
  }
180
- // Phase F.6 — ask the binding for a `TextBinding` on every top-level
181
- // field name. The text/non-text allowlist lives in the binding impl,
182
- // not in core: the binding returns `null` for non-text fields and
183
- // text fields opted out via `.collab(false)`. `getTextBinding` is
184
- // optional on the contract — F1-era plugins that haven't implemented
185
- // it short-circuit the whole stash and every text field stays on the
186
- // LWW path. We stash only the non-null answers. Cleanup is owned by
187
- // `binding.destroy()` (expected to cascade into every issued
188
- // `TextBinding`).
189
- if (binding.getTextBinding) {
190
- const textStash = new Map();
191
- for (const fieldName of Object.keys(valuesRef.current)) {
192
- if (fieldName.includes('.'))
193
- continue;
194
- const tb = binding.getTextBinding(fieldName);
195
- if (tb)
196
- textStash.set(fieldName, tb);
197
- }
198
- if (textStash.size > 0)
199
- setTextBindings(textStash);
200
- }
201
139
  // Phase F.5 — build a `RowBindingApi` per top-level Repeater/Builder
202
140
  // field when the binding implements all three lifecycle methods. The
203
141
  // walk reads from formMeta (structural — fields exist regardless of
@@ -205,10 +143,9 @@ export function FormStateProvider({ initialMeta, initialErrors, children, fetchI
205
143
  // the array name so `RepeaterInput` calls `rb.add(rowId, …)` rather
206
144
  // than `binding.addRow(name, rowId, …)`. Partial F.5 impls (e.g. a
207
145
  // binding that has addRow but not reorderRows) skip the stash — the
208
- // contract says all three or nothing. F.5c's per-row text path is
209
- // exposed separately via `getRowTextBinding` and stays optional.
146
+ // contract says all three or nothing.
210
147
  if (binding.addRow && binding.removeRow && binding.reorderRows) {
211
- const { addRow, removeRow, reorderRows, subscribeRows } = binding;
148
+ const { addRow, removeRow, reorderRows, subscribeRows, getRowOrder } = binding;
212
149
  const arrayNames = collectRowArrayFieldNames(formMetaRef.current);
213
150
  if (arrayNames.length > 0) {
214
151
  const rowStash = new Map();
@@ -224,26 +161,18 @@ export function FormStateProvider({ initialMeta, initialErrors, children, fetchI
224
161
  subscribe: subscribeRows
225
162
  ? (fn) => subscribeRows.call(binding, arrayName, fn)
226
163
  : () => () => { },
164
+ // `getRowOrder` is optional — bindings that ship row CRUD
165
+ // without a snapshot read (test stubs, older plugins) get a
166
+ // `[]` substitute. The renderer's reconciler treats empty as
167
+ // "no orphans known" and no-ops, which is the safest fallback.
168
+ current: getRowOrder
169
+ ? () => getRowOrder.call(binding, arrayName)
170
+ : () => [],
227
171
  });
228
172
  }
229
173
  setRowBindings(rowStash);
230
174
  }
231
175
  }
232
- // Phase F.5c — capture the per-array text-leaf allowlist + bind the
233
- // row-text resolver to the active binding. `getRowTextBinding` may
234
- // be absent on partial F.5 impls; we expose the resolver as null in
235
- // that case so `useFieldState` short-circuits cleanly.
236
- if (binding.getRowTextBinding) {
237
- const leaves = collectRowTextLeavesByArray(formMetaRef.current);
238
- if (leaves.size > 0) {
239
- setRowTextLeaves(leaves);
240
- const bound = binding.getRowTextBinding;
241
- // useState's functional-updater overload would invoke the
242
- // stored function during set; wrapping in a fresh closure keeps
243
- // React's setState path from confusing it for an updater fn.
244
- setGetRowTextBinding(() => (arrayName, rowId, fieldName) => bound.call(binding, arrayName, rowId, fieldName));
245
- }
246
- }
247
176
  // Subscribe to remote changes. Local writes ALSO trigger this
248
177
  // (Yjs observers fire on local transactions too) — the per-key
249
178
  // Object.is short-circuit below collapses them into no-op renders.
@@ -264,10 +193,7 @@ export function FormStateProvider({ initialMeta, initialErrors, children, fetchI
264
193
  unsubscribe();
265
194
  binding.destroy();
266
195
  bindingRef.current = null;
267
- setTextBindings(null);
268
196
  setRowBindings(null);
269
- setRowTextLeaves(null);
270
- setGetRowTextBinding(null);
271
197
  };
272
198
  // `valuesRef.current` is intentionally read once at mount — initial
273
199
  // values seed the binding; subsequent edits flow through `setValue`
@@ -495,11 +421,8 @@ export function FormStateProvider({ initialMeta, initialErrors, children, fetchI
495
421
  formMeta,
496
422
  inFlight,
497
423
  fieldStatus,
498
- textBindings,
499
424
  rowBindings,
500
- rowTextLeaves,
501
- getRowTextBinding,
502
- }), [values, setValue, triggerLive, errors, applyErrors, formMeta, inFlight, fieldStatus, textBindings, rowBindings, rowTextLeaves, getRowTextBinding]);
425
+ }), [values, setValue, triggerLive, errors, applyErrors, formMeta, inFlight, fieldStatus, rowBindings]);
503
426
  return (_jsx(FormStateContext.Provider, { value: api, children: children }));
504
427
  }
505
428
  //# sourceMappingURL=FormStateContext.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"FormStateContext.js","sourceRoot":"","sources":["../../src/react/FormStateContext.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FormStateContext.js","sourceRoot":"","sources":["../../src/react/FormStateContext.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ import React from 'react';
2
+ /**
3
+ * Phase 1 — row-text Tiptap-backed collab plan
4
+ * (`pilotiq-pro/docs/plans/collab-row-text-tiptap-backed.md`).
5
+ *
6
+ * Each Repeater / Builder row mounts a `<RowCoordsContext.Provider>`
7
+ * around its children so dotted-path text leaves can compose a
8
+ * fragment-key that includes the stable `rowId` (survives reorders).
9
+ * Top-level fields see `null` and fall through to bare-name fragment
10
+ * routing.
11
+ */
12
+ export interface RowCoords {
13
+ arrayName: string;
14
+ rowIndex: number;
15
+ rowId: string;
16
+ }
17
+ export declare const RowCoordsContext: React.Context<RowCoords | null>;
18
+ export declare function useRowCoords(): RowCoords | null;
19
+ //# sourceMappingURL=RowCoordsContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RowCoordsContext.d.ts","sourceRoot":"","sources":["../../src/react/RowCoordsContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoC,MAAM,OAAO,CAAA;AAExD;;;;;;;;;GASG;AACH,MAAM,WAAW,SAAS;IACxB,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAG,MAAM,CAAA;IACjB,KAAK,EAAM,MAAM,CAAA;CAClB;AAED,eAAO,MAAM,gBAAgB,iCAAwC,CAAA;AAErE,wBAAgB,YAAY,IAAI,SAAS,GAAG,IAAI,CAE/C"}
@@ -0,0 +1,6 @@
1
+ import { createContext, useContext } from 'react';
2
+ export const RowCoordsContext = createContext(null);
3
+ export function useRowCoords() {
4
+ return useContext(RowCoordsContext);
5
+ }
6
+ //# sourceMappingURL=RowCoordsContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RowCoordsContext.js","sourceRoot":"","sources":["../../src/react/RowCoordsContext.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AAkBxD,MAAM,CAAC,MAAM,gBAAgB,GAAG,aAAa,CAAmB,IAAI,CAAC,CAAA;AAErE,MAAM,UAAU,YAAY;IAC1B,OAAO,UAAU,CAAC,gBAAgB,CAAC,CAAA;AACrC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"BuilderInput.d.ts","sourceRoot":"","sources":["../../../src/react/fields/BuilderInput.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkE,MAAM,OAAO,CAAA;AAEtF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AAgG1D;;;;;;;;;;;;GAYG;AACH,wBAAgB,YAAY,CAAC,EAC3B,EAAE,EACF,IAAI,EACJ,QAAQ,GACT,EAAE;IACD,EAAE,EAAQ,WAAW,CAAA;IACrB,IAAI,EAAM,MAAM,CAAA;IAChB,QAAQ,EAAE,OAAO,CAAA;CAClB,GAAG,KAAK,CAAC,YAAY,CAqdrB"}
1
+ {"version":3,"file":"BuilderInput.d.ts","sourceRoot":"","sources":["../../../src/react/fields/BuilderInput.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkE,MAAM,OAAO,CAAA;AAEtF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AAkG1D;;;;;;;;;;;;GAYG;AACH,wBAAgB,YAAY,CAAC,EAC3B,EAAE,EACF,IAAI,EACJ,QAAQ,GACT,EAAE;IACD,EAAE,EAAQ,WAAW,CAAA;IACrB,IAAI,EAAM,MAAM,CAAA;IAChB,QAAQ,EAAE,OAAO,CAAA;CAClB,GAAG,KAAK,CAAC,YAAY,CA0erB"}
@@ -5,9 +5,11 @@ import { Button } from '../ui/button.js';
5
5
  import { SchemaRenderer } from '../SchemaRenderer.js';
6
6
  import { FormIdContext, useFormState, useRowBinding } from '../FormStateContext.js';
7
7
  import { findFieldMeta } from '../formStateHelpers.js';
8
+ import { RowCoordsContext } from '../RowCoordsContext.js';
8
9
  import { useIconFor } from '../icon-context.js';
9
10
  import { reorderRows, ExtraActionStrip, buildGridContainer } from './RepeaterInput.js';
10
11
  import { syncRowGates } from './syncRowGates.js';
12
+ import { consumeReconcileFlag, computeReconcilePlan } from './repeaterReconcile.js';
11
13
  import { RowChromeIconButton, ReorderGrip, CollapseChevron, BulkCollapseHeader, resolveRowChrome, DEFAULT_MOVE_UP, DEFAULT_MOVE_DOWN, DEFAULT_CLONE, DEFAULT_DELETE, } from './rowChromeButton.js';
12
14
  import { generateRowId, makeAccordionStorage, makeCollapsedStorage, } from './rowState.js';
13
15
  import { useRowReorderDnd } from './useRowReorderDnd.js';
@@ -94,11 +96,9 @@ export function BuilderInput({ el, name, disabled, }) {
94
96
  // the first event — without it, the picker dropdown choice doesn't
95
97
  // propagate until the user makes their first inner-field edit.
96
98
  const rowBinding = useRowBinding(name);
97
- // Phase F.5c — mirror row identities into the form's values map so dotted
98
- // row-leaf consumers (`useFieldState('${name}.${i}.data.text').textBinding`)
99
- // can resolve the row's `__id` via `rowIdAtIndex(ctx.values, name, i)`.
100
- // Without this stamp the F.5c per-row Y.Text path stays null on Builder
101
- // and inner text fields never sync. Mirrors the same fix in RepeaterInput.
99
+ // Mirror row identities into the form's values map so dotted row-leaf
100
+ // consumers can resolve the row's `__id` via `rowIdAtIndex(ctx.values,
101
+ // name, i)`. Mirrors the same plumbing in RepeaterInput.
102
102
  const formStateForIds = useFormState();
103
103
  const ctxSetValue = formStateForIds?.setValue;
104
104
  useEffect(() => {
@@ -164,6 +164,33 @@ export function BuilderInput({ el, name, disabled, }) {
164
164
  });
165
165
  });
166
166
  }, [rowBinding, blocksByName, meta.blocks]);
167
+ // Phase A reconciliation for `Builder.relationship` PK-switch — mirrors
168
+ // the effect in `RepeaterInput`. See its comment + the plan doc:
169
+ // `pilotiq-pro/docs/plans/repeater-relationship-pk-switch.md`.
170
+ useEffect(() => {
171
+ if (!rowBinding)
172
+ return;
173
+ if (!consumeReconcileFlag(formId))
174
+ return;
175
+ const timer = setTimeout(() => {
176
+ const plan = computeReconcilePlan({
177
+ current: rowBinding.current(),
178
+ authoritative: initialRows.map(r => r.id),
179
+ });
180
+ for (const id of plan.toRemove)
181
+ rowBinding.remove(id);
182
+ // For Builder, the row carries a block `type` discriminator; seed
183
+ // it on the add path so peers' picker dropdowns see the right
184
+ // block (matches the existing add path in `addBlock`). The block
185
+ // type comes from initialRows when the row is server-rendered.
186
+ for (const id of plan.toAdd) {
187
+ const row = initialRows.find(r => r.id === id);
188
+ rowBinding.add(id, row?.type ? { type: row.type } : {});
189
+ }
190
+ }, 1500);
191
+ return () => clearTimeout(timer);
192
+ // eslint-disable-next-line react-hooks/exhaustive-deps
193
+ }, [rowBinding, formId]);
167
194
  const [collapsed, setCollapsed] = useState(() => accordion ? {} : initSeedCollapsed(initialRows, formId, name, defaultCollapsed, collapsible));
168
195
  // Accordion mode: single open row id (null = all collapsed). See
169
196
  // RepeaterInput for the seeding semantics — Builder mirrors it exactly.
@@ -277,52 +304,48 @@ export function BuilderInput({ el, name, disabled, }) {
277
304
  }
278
305
  };
279
306
  const moveRow = (id, dir) => {
280
- let newOrder = null;
281
- setRows(prev => {
282
- const idx = prev.findIndex(r => r.id === id);
283
- if (idx < 0)
284
- return prev;
285
- let next;
286
- if (dir === -1) {
287
- let target = idx - 1;
288
- while (target >= 0 && prev[target]?.hidden)
289
- target--;
290
- if (target < 0)
291
- return prev;
292
- next = reorderRows(prev, idx, target);
293
- }
294
- else {
295
- let target = idx + 1;
296
- while (target < prev.length && prev[target]?.hidden)
297
- target++;
298
- if (target >= prev.length)
299
- return prev;
300
- next = reorderRows(prev, idx, target + 1);
301
- }
302
- if (next !== prev)
303
- newOrder = next.map(r => r.id);
304
- return next;
305
- });
306
- if (newOrder !== null)
307
- rowBinding?.reorder(newOrder);
307
+ const idx = rows.findIndex(r => r.id === id);
308
+ if (idx < 0)
309
+ return;
310
+ let next;
311
+ if (dir === -1) {
312
+ let target = idx - 1;
313
+ while (target >= 0 && rows[target]?.hidden)
314
+ target--;
315
+ if (target < 0)
316
+ return;
317
+ next = reorderRows(rows, idx, target);
318
+ }
319
+ else {
320
+ let target = idx + 1;
321
+ while (target < rows.length && rows[target]?.hidden)
322
+ target++;
323
+ if (target >= rows.length)
324
+ return;
325
+ next = reorderRows(rows, idx, target + 1);
326
+ }
327
+ if (next === rows)
328
+ return;
329
+ setRows(next);
330
+ rowBinding?.reorder(next.map(r => r.id));
308
331
  };
309
332
  // ── DnD state (skipped when buttonsOnly) ────────────────
310
333
  const dndEnabled = reorderable && !buttonsOnly && !disabled;
311
334
  const { dragId, dropAt, onDragStart: onRowDragStart, onDragOver: onRowDragOver, onDrop: onRowDrop, onDragEnd: onRowDragEnd, } = useRowReorderDnd({
312
335
  enabled: dndEnabled,
313
336
  onDrop: (fromId, at) => {
314
- let newOrder = null;
315
- setRows(prev => {
316
- const fromIdx = prev.findIndex(r => r.id === fromId);
317
- if (fromIdx < 0)
318
- return prev;
319
- const next = reorderRows(prev, fromIdx, at);
320
- if (next !== prev)
321
- newOrder = next.map(r => r.id);
322
- return next;
323
- });
324
- if (newOrder !== null)
325
- rowBinding?.reorder(newOrder);
337
+ // See RepeaterInput's matching onDrop comment — closure-mutation
338
+ // through setRows's updater is unreliable when other state updates
339
+ // are batched (useRowReorderDnd nulls dragId/dropAt right before
340
+ // calling this).
341
+ const fromIdx = rows.findIndex(r => r.id === fromId);
342
+ if (fromIdx < 0)
343
+ return;
344
+ const next = reorderRows(rows, fromIdx, at);
345
+ if (next === rows)
346
+ return;
347
+ setRows(next);
348
+ rowBinding?.reorder(next.map(r => r.id));
326
349
  },
327
350
  });
328
351
  // ── Inner-field live re-resolve (mirrors RepeaterInput) ─
@@ -529,12 +552,18 @@ function BuilderRow({ row, block, index, isFirstVisible, isLastVisible, name, di
529
552
  // `name.<i>.type`.
530
553
  const dataPrefix = `${name}.${index}.data`;
531
554
  const namespaced = useMemo(() => row.children.map(c => prefixFieldNames(c, dataPrefix)), [row.children, dataPrefix]);
555
+ // Row coords for dotted-path text leaves under this row — composes
556
+ // fragment-key `${arrayName}.${rowId}.${fieldName}` (Phase 1 of
557
+ // collab-row-text-tiptap-backed.md). `parseRowFieldPath` strips the
558
+ // Builder-specific `data` segment, so the coords use the array name +
559
+ // the row's stable id without referencing the dialect.
560
+ const rowCoords = useMemo(() => ({ arrayName: name, rowIndex: index, rowId: row.id }), [name, index, row.id]);
532
561
  const RowIcon = useIconFor(showIcons ? block?.icon : undefined);
533
562
  const blockLabel = block?.label ?? row.type ?? 'Block';
534
563
  const numberPrefix = showNumbers ? `${index + 1}. ` : '';
535
564
  const headerLabel = row.itemLabel ?? `${numberPrefix}${blockLabel}`;
536
565
  if (row.hidden) {
537
- return (_jsxs("div", { style: { display: 'none' }, "data-pilotiq-builder-row": "hidden", children: [_jsx("input", { type: "hidden", name: `${name}.${index}.__id`, value: row.id, readOnly: true }), _jsx("input", { type: "hidden", name: `${name}.${index}.type`, value: row.type, readOnly: true }), _jsx(SchemaRenderer, { elements: namespaced })] }));
566
+ return (_jsx(RowCoordsContext.Provider, { value: rowCoords, children: _jsxs("div", { style: { display: 'none' }, "data-pilotiq-builder-row": "hidden", children: [_jsx("input", { type: "hidden", name: `${name}.${index}.__id`, value: row.id, readOnly: true }), _jsx("input", { type: "hidden", name: `${name}.${index}.type`, value: row.type, readOnly: true }), _jsx(SchemaRenderer, { elements: namespaced })] }) }));
538
567
  }
539
568
  if (row.unknownType || !block) {
540
569
  // Stale block type — keep envelope round-tripping but show a clear
@@ -559,9 +588,9 @@ function BuilderRow({ row, block, index, isFirstVisible, isLastVisible, name, di
559
588
  }
560
589
  : {};
561
590
  const innerColumns = block.columns && block.columns > 1 ? block.columns : 1;
562
- return (_jsxs("div", { className: `rounded-md border bg-card transition-opacity ${isDragging ? 'opacity-50' : ''}`, "data-pilotiq-builder-row": "", ...dragProps, children: [_jsxs("div", { className: "flex items-center gap-2 border-b px-3 py-2", children: [reorderable && !buttonsOnly && canReorder && (_jsx(ReorderGrip, { disabled: disabled, buttons: buttons })), collapsible && (_jsx(CollapseChevron, { isCollapsed: isCollapsed, disabled: disabled, buttons: buttons, onToggle: onToggleCollapse })), RowIcon && _jsx(RowIcon, { className: "size-4 shrink-0 text-muted-foreground" }), _jsx("span", { className: "flex-1 truncate text-sm font-medium", children: headerLabel }), _jsx("input", { type: "hidden", name: `${name}.${index}.__id`, value: row.id, readOnly: true }), _jsx("input", { type: "hidden", name: `${name}.${index}.type`, value: row.type, readOnly: true }), reorderable && canReorder && (_jsxs(_Fragment, { children: [_jsx(RowChromeIconButton, { defaults: DEFAULT_MOVE_UP, override: buttons?.moveUp, disabled: disabled || isFirstVisible, onClick: onMoveUp }), _jsx(RowChromeIconButton, { defaults: DEFAULT_MOVE_DOWN, override: buttons?.moveDown, disabled: disabled || isLastVisible, onClick: onMoveDown })] })), row.extraActions && row.extraActions.length > 0 && (_jsx(ExtraActionStrip, { actions: row.extraActions, rowPath: rowPath, disabled: disabled })), cloneable && canClone && (_jsx(RowChromeIconButton, { defaults: DEFAULT_CLONE, override: buttons?.clone, disabled: disabled || atMax, onClick: onClone })), deletable && canDelete && (_jsx(RowChromeIconButton, { defaults: DEFAULT_DELETE, override: buttons?.delete, disabled: disabled || atMin, onClick: onRemove }))] }), _jsx("div", { className: "p-3", style: isCollapsed ? { display: 'none' } : undefined, children: innerColumns > 1
563
- ? (_jsx("div", { className: "grid gap-3", style: { gridTemplateColumns: `repeat(${innerColumns}, minmax(0, 1fr))` }, children: _jsx(SchemaRenderer, { elements: namespaced }) }))
564
- : _jsx(SchemaRenderer, { elements: namespaced }) })] }));
591
+ return (_jsx(RowCoordsContext.Provider, { value: rowCoords, children: _jsxs("div", { className: `rounded-md border bg-card transition-opacity ${isDragging ? 'opacity-50' : ''}`, "data-pilotiq-builder-row": "", ...dragProps, children: [_jsxs("div", { className: "flex items-center gap-2 border-b px-3 py-2", children: [reorderable && !buttonsOnly && canReorder && (_jsx(ReorderGrip, { disabled: disabled, buttons: buttons })), collapsible && (_jsx(CollapseChevron, { isCollapsed: isCollapsed, disabled: disabled, buttons: buttons, onToggle: onToggleCollapse })), RowIcon && _jsx(RowIcon, { className: "size-4 shrink-0 text-muted-foreground" }), _jsx("span", { className: "flex-1 truncate text-sm font-medium", children: headerLabel }), _jsx("input", { type: "hidden", name: `${name}.${index}.__id`, value: row.id, readOnly: true }), _jsx("input", { type: "hidden", name: `${name}.${index}.type`, value: row.type, readOnly: true }), reorderable && canReorder && (_jsxs(_Fragment, { children: [_jsx(RowChromeIconButton, { defaults: DEFAULT_MOVE_UP, override: buttons?.moveUp, disabled: disabled || isFirstVisible, onClick: onMoveUp }), _jsx(RowChromeIconButton, { defaults: DEFAULT_MOVE_DOWN, override: buttons?.moveDown, disabled: disabled || isLastVisible, onClick: onMoveDown })] })), row.extraActions && row.extraActions.length > 0 && (_jsx(ExtraActionStrip, { actions: row.extraActions, rowPath: rowPath, disabled: disabled })), cloneable && canClone && (_jsx(RowChromeIconButton, { defaults: DEFAULT_CLONE, override: buttons?.clone, disabled: disabled || atMax, onClick: onClone })), deletable && canDelete && (_jsx(RowChromeIconButton, { defaults: DEFAULT_DELETE, override: buttons?.delete, disabled: disabled || atMin, onClick: onRemove }))] }), _jsx("div", { className: "p-3", style: isCollapsed ? { display: 'none' } : undefined, children: innerColumns > 1
592
+ ? (_jsx("div", { className: "grid gap-3", style: { gridTemplateColumns: `repeat(${innerColumns}, minmax(0, 1fr))` }, children: _jsx(SchemaRenderer, { elements: namespaced }) }))
593
+ : _jsx(SchemaRenderer, { elements: namespaced }) })] }) }));
565
594
  }
566
595
  function DropIndicator() {
567
596
  return (_jsx("div", { "aria-hidden": "true", className: "pointer-events-none h-0.5 rounded-full bg-primary" }));