@mmstack/primitives 22.9.4 → 22.10.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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mmstack/primitives",
3
- "version": "22.9.4",
3
+ "version": "22.10.1",
4
4
  "keywords": [
5
5
  "angular",
6
6
  "signals",
@@ -2355,6 +2355,16 @@ type PointerDragOptions = SensorRunOptions & {
2355
2355
  * sortable inside another). @default false
2356
2356
  */
2357
2357
  stopPropagation?: boolean;
2358
+ /**
2359
+ * Listen for `pointerdown` in the capture phase. Lets the sensor observe
2360
+ * presses on a surface whose own capture-phase listeners stop propagation
2361
+ * (e.g. an editor shield swallowing events before they reach rendered
2362
+ * content) — same-element listeners still run after a `stopPropagation()`,
2363
+ * so a capture-phase sensor on the shielded surface sees every press.
2364
+ * Subsequent move/up tracking is unaffected (the gesture holds pointer
2365
+ * capture). @default false
2366
+ */
2367
+ capture?: boolean;
2358
2368
  };
2359
2369
  /** A gesture signal with an `unthrottled` view and an imperative `cancel()`. */
2360
2370
  type PointerDragSignal = Signal<PointerDragState> & {
@@ -3358,12 +3368,15 @@ type HlcClock = {
3358
3368
  declare function createHlcClock(now?: () => number): HlcClock;
3359
3369
 
3360
3370
  /**
3361
- * Wire protocol version. Version 2 ops carry `cites` + `epoch` (the dot-citation register);
3362
- * envelopes from other versions are dropped loudly: an op without citations cannot be merged
3363
- * soundly (it would supersede nothing and its siblings would accumulate forever), so versions
3364
- * are never silently mixed.
3371
+ * Wire protocol version. Version 2 ops carry `cites` + `epoch` (the dot-citation register).
3372
+ * Version 3 changes MATERIALIZATION semantics, not shape: grafts descend through plain arrays
3373
+ * (per-index ops materialize instead of silently dropping) and the documented drop rule is
3374
+ * enforced for non-plain ancestors — so a v2 replica and a v3 replica CANNOT converge on the
3375
+ * same op set, which is exactly what the version fence exists to make loud. Envelopes from
3376
+ * other versions are dropped loudly, and the tab-sync join protocol refuses to pair mismatched
3377
+ * peers: versions are never silently mixed, in shape OR in meaning.
3365
3378
  */
3366
- declare const OP_PROTO_VERSION = 2;
3379
+ declare const OP_PROTO_VERSION = 3;
3367
3380
  type Key = string | number;
3368
3381
  /**
3369
3382
  * A dot: the globally-unique identity of one op at one path, the emitting replica (`origin`)