@weasel-js/routing 1.12.0 → 1.13.0-rc.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.
@@ -510,6 +510,122 @@ function overrideActionBindings(action, overrides) {
510
510
  return { ...action, defaultBinding: kept };
511
511
  }
512
512
 
513
+ // src/interactions/dispatcher/inputFacts.ts
514
+ function modifierStateOf(e) {
515
+ return { alt: e.altKey, ctrl: e.ctrlKey, meta: e.metaKey, shift: e.shiftKey };
516
+ }
517
+ function worldPointOf(event) {
518
+ switch (event.kind) {
519
+ case "pointerdown":
520
+ case "hover":
521
+ case "longpress":
522
+ case "click":
523
+ case "doubleclick":
524
+ case "contextmenu":
525
+ return event.x !== void 0 && event.y !== void 0 ? { x: event.x, y: event.y } : void 0;
526
+ case "carry":
527
+ return { x: event.x, y: event.y };
528
+ default:
529
+ return void 0;
530
+ }
531
+ }
532
+ function carriedBy(event) {
533
+ if (event.kind === "carry") return { items: [], carry: { type: event.type, value: event.value } };
534
+ return event.kind === "drop" || event.kind === "paste" ? { items: event.items } : void 0;
535
+ }
536
+ function immediateParams(event, resolved) {
537
+ switch (event.kind) {
538
+ case "wheel":
539
+ return {
540
+ deltaX: event.deltaX,
541
+ deltaY: event.deltaY,
542
+ clientX: event.clientX,
543
+ clientY: event.clientY,
544
+ affordance: event.affordance,
545
+ ...resolved
546
+ };
547
+ case "pinch":
548
+ return {
549
+ scale: event.scale,
550
+ rotation: event.rotation,
551
+ clientX: event.clientX,
552
+ clientY: event.clientY,
553
+ affordance: event.affordance,
554
+ ...resolved
555
+ };
556
+ case "click":
557
+ case "doubleclick":
558
+ return {
559
+ worldX: event.x,
560
+ worldY: event.y,
561
+ affordance: event.affordance,
562
+ // The press point too: an action that places geometry at the click wants it.
563
+ ...event.kind === "click" ? { pressX: event.pressX, pressY: event.pressY } : {},
564
+ mods: modifierStateOf(event),
565
+ ...resolved
566
+ };
567
+ // Only a `stage: 'press'` pointerdown reaches an immediate invoker: the
568
+ // buffered copy matches `drag` specs, which are ongoing.
569
+ case "contextmenu":
570
+ return {
571
+ worldX: event.x,
572
+ worldY: event.y,
573
+ clientX: event.clientX,
574
+ clientY: event.clientY,
575
+ affordance: event.affordance,
576
+ bodyTarget: event.bodyTarget,
577
+ bodyKind: event.bodyKind,
578
+ mods: modifierStateOf(event),
579
+ ...resolved
580
+ };
581
+ case "pointerdown":
582
+ case "longpress":
583
+ return {
584
+ worldX: event.x,
585
+ worldY: event.y,
586
+ affordance: event.affordance,
587
+ bodyTarget: event.bodyTarget,
588
+ mods: modifierStateOf(event),
589
+ ...resolved
590
+ };
591
+ case "hover":
592
+ return {
593
+ worldX: event.x,
594
+ worldY: event.y,
595
+ clientX: event.clientX,
596
+ clientY: event.clientY,
597
+ affordance: event.affordance,
598
+ bodyTarget: event.bodyTarget,
599
+ mods: modifierStateOf(event),
600
+ held: event.held === true,
601
+ ...resolved
602
+ };
603
+ case "carry":
604
+ return {
605
+ worldX: event.x,
606
+ worldY: event.y,
607
+ clientX: event.clientX,
608
+ clientY: event.clientY,
609
+ carry: { type: event.type, value: event.value },
610
+ affordance: event.affordance,
611
+ bodyTarget: event.bodyTarget,
612
+ bodyKind: event.bodyKind,
613
+ mods: modifierStateOf(event),
614
+ ...resolved
615
+ };
616
+ case "drop":
617
+ case "paste":
618
+ return {
619
+ items: event.items,
620
+ via: event.kind,
621
+ ...event.kind === "drop" && event.x !== void 0 ? { worldX: event.x, worldY: event.y } : {},
622
+ ...resolved
623
+ };
624
+ default:
625
+ return resolved;
626
+ }
627
+ }
628
+
513
629
  // src/interactions/actions/toolOffhand.ts
514
630
  var TOOL_OFFHAND_ID = "tool.offhand";
515
631
  function offhandKeyFor(trigger) {
@@ -1123,122 +1239,6 @@ function createDispatchTrace(limit, dev) {
1123
1239
  };
1124
1240
  }
1125
1241
 
1126
- // src/interactions/dispatcher/inputFacts.ts
1127
- function modifiersOf(e) {
1128
- return { alt: e.altKey, ctrl: e.ctrlKey, meta: e.metaKey, shift: e.shiftKey };
1129
- }
1130
- function worldPointOf(event) {
1131
- switch (event.kind) {
1132
- case "pointerdown":
1133
- case "hover":
1134
- case "longpress":
1135
- case "click":
1136
- case "doubleclick":
1137
- case "contextmenu":
1138
- return event.x !== void 0 && event.y !== void 0 ? { x: event.x, y: event.y } : void 0;
1139
- case "carry":
1140
- return { x: event.x, y: event.y };
1141
- default:
1142
- return void 0;
1143
- }
1144
- }
1145
- function carriedBy(event) {
1146
- if (event.kind === "carry") return { items: [], carry: { type: event.type, value: event.value } };
1147
- return event.kind === "drop" || event.kind === "paste" ? { items: event.items } : void 0;
1148
- }
1149
- function immediateParams(event, resolved) {
1150
- switch (event.kind) {
1151
- case "wheel":
1152
- return {
1153
- deltaX: event.deltaX,
1154
- deltaY: event.deltaY,
1155
- clientX: event.clientX,
1156
- clientY: event.clientY,
1157
- affordance: event.affordance,
1158
- ...resolved
1159
- };
1160
- case "pinch":
1161
- return {
1162
- scale: event.scale,
1163
- rotation: event.rotation,
1164
- clientX: event.clientX,
1165
- clientY: event.clientY,
1166
- affordance: event.affordance,
1167
- ...resolved
1168
- };
1169
- case "click":
1170
- case "doubleclick":
1171
- return {
1172
- worldX: event.x,
1173
- worldY: event.y,
1174
- affordance: event.affordance,
1175
- // The press point too: an action that places geometry at the click wants it.
1176
- ...event.kind === "click" ? { pressX: event.pressX, pressY: event.pressY } : {},
1177
- mods: modifiersOf(event),
1178
- ...resolved
1179
- };
1180
- // Only a `stage: 'press'` pointerdown reaches an immediate invoker: the
1181
- // buffered copy matches `drag` specs, which are ongoing.
1182
- case "contextmenu":
1183
- return {
1184
- worldX: event.x,
1185
- worldY: event.y,
1186
- clientX: event.clientX,
1187
- clientY: event.clientY,
1188
- affordance: event.affordance,
1189
- bodyTarget: event.bodyTarget,
1190
- bodyKind: event.bodyKind,
1191
- mods: modifiersOf(event),
1192
- ...resolved
1193
- };
1194
- case "pointerdown":
1195
- case "longpress":
1196
- return {
1197
- worldX: event.x,
1198
- worldY: event.y,
1199
- affordance: event.affordance,
1200
- bodyTarget: event.bodyTarget,
1201
- mods: modifiersOf(event),
1202
- ...resolved
1203
- };
1204
- case "hover":
1205
- return {
1206
- worldX: event.x,
1207
- worldY: event.y,
1208
- clientX: event.clientX,
1209
- clientY: event.clientY,
1210
- affordance: event.affordance,
1211
- bodyTarget: event.bodyTarget,
1212
- mods: modifiersOf(event),
1213
- held: event.held === true,
1214
- ...resolved
1215
- };
1216
- case "carry":
1217
- return {
1218
- worldX: event.x,
1219
- worldY: event.y,
1220
- clientX: event.clientX,
1221
- clientY: event.clientY,
1222
- carry: { type: event.type, value: event.value },
1223
- affordance: event.affordance,
1224
- bodyTarget: event.bodyTarget,
1225
- bodyKind: event.bodyKind,
1226
- mods: modifiersOf(event),
1227
- ...resolved
1228
- };
1229
- case "drop":
1230
- case "paste":
1231
- return {
1232
- items: event.items,
1233
- via: event.kind,
1234
- ...event.kind === "drop" && event.x !== void 0 ? { worldX: event.x, worldY: event.y } : {},
1235
- ...resolved
1236
- };
1237
- default:
1238
- return resolved;
1239
- }
1240
- }
1241
-
1242
1242
  // src/interactions/dispatcher/ranking.ts
1243
1243
  function liveInView(binding, view) {
1244
1244
  const views = binding.opts?.views;
@@ -1358,7 +1358,7 @@ function buildDispatchRecord(r, walked, event, ctx, predicted, outcome) {
1358
1358
  input: {
1359
1359
  eventKind: event.kind,
1360
1360
  ...eventKey !== void 0 ? { key: eventKey } : {},
1361
- modifiers: modifiersOf(event),
1361
+ modifiers: modifierStateOf(event),
1362
1362
  viewId: view,
1363
1363
  ...world !== void 0 ? { world } : {},
1364
1364
  ...r.ruleCtx !== void 0 ? { mode: r.ruleCtx.mode } : {}
@@ -3171,7 +3171,7 @@ function createMenuHost(src) {
3171
3171
  client: req.client,
3172
3172
  world: req.world,
3173
3173
  ...req.under ? { under: req.under } : {},
3174
- ...req.above ? { above: true } : {},
3174
+ ...req.side ? { side: req.side } : {},
3175
3175
  source: req.source ?? "pointer"
3176
3176
  };
3177
3177
  emit();
@@ -3189,6 +3189,6 @@ function createMenuHost(src) {
3189
3189
  };
3190
3190
  }
3191
3191
 
3192
- export { ALWAYS, ActionDisabledReason, COARSE_TARGET_SCALE, DEFAULT_ALLOWED_CAPABILITIES, DEFAULT_DEVICE_PROFILE, DepNode, INGEST_STRING_MIMES, KEYMAP_HOLD, LONG_PRESS_HAPTIC_MS, NEVER, NO_OVERRIDES, PREDICATE_TARGET, ScopeNode, TOOL_OFFHAND_ID, actionBindings, actionCursor, actionItemTitle, actionItems, actionSettingsParams, actionShortcuts, addCarrySurface, admitIngestMime, anyBinding, assembleEntries, bindingId, buildDepsFromRequires, buildRouteRegistry, buildRuleCtx, buildToolOffhandBindings, carryGestureId, clientToCanvas, clientToCanvasRect, createDepRegistry, createDispatchTrace, createDispatcher, createKeymapStack, createLongPressStore, createMenuHost, createTraceRing, depNodeOf, describeKeymap, describeRule, dlog, dwarn, evaluate, evaluateActive, evaluateEnabled, findConflicts, heldKeySpec, historyKey, isDebugEnabled, isTool, itemTypesFromDataTransfer, itemsFromClipboardData, itemsFromDataTransfer, itemsFromFiles, keySpecShortcut, keymapContribution, keymapLeaderBindingId, keymapLeaderId, keymapShortcuts, keysHeld, liveScope, makeToolOffhandAction, matchBest, matchSorted, matchSortedWithBarred, matchesKeyBinding, mergeMenuDefs, multiTouchGestureId, offhandKeyFor, openPointerSession, overriddenBindings, overrideActionBindings, pickMenu, pointerGestureId, pushOwner, readActionSettings, reportRouteConflicts, resolveBindingOverrides, resolveDeviceProfile, resolveMenu, resolveParams, resolveSchemaMenu, roleReader, routesForSpec, ruleCanHoldIn, rulesExclusive, scopeBindings, startCarry, targetConsultsAffordance, tuneAction, tunedParams, validateActionDefaultBinding, validateActionId };
3193
- //# sourceMappingURL=chunk-ARDHI47M.js.map
3194
- //# sourceMappingURL=chunk-ARDHI47M.js.map
3192
+ export { ALWAYS, ActionDisabledReason, COARSE_TARGET_SCALE, DEFAULT_ALLOWED_CAPABILITIES, DEFAULT_DEVICE_PROFILE, DepNode, INGEST_STRING_MIMES, KEYMAP_HOLD, LONG_PRESS_HAPTIC_MS, NEVER, NO_OVERRIDES, PREDICATE_TARGET, ScopeNode, TOOL_OFFHAND_ID, actionBindings, actionCursor, actionItemTitle, actionItems, actionSettingsParams, actionShortcuts, addCarrySurface, admitIngestMime, anyBinding, assembleEntries, bindingId, buildDepsFromRequires, buildRouteRegistry, buildRuleCtx, buildToolOffhandBindings, carryGestureId, clientToCanvas, clientToCanvasRect, createDepRegistry, createDispatchTrace, createDispatcher, createKeymapStack, createLongPressStore, createMenuHost, createTraceRing, depNodeOf, describeKeymap, describeRule, dlog, dwarn, evaluate, evaluateActive, evaluateEnabled, findConflicts, heldKeySpec, historyKey, isDebugEnabled, isTool, itemTypesFromDataTransfer, itemsFromClipboardData, itemsFromDataTransfer, itemsFromFiles, keySpecShortcut, keymapContribution, keymapLeaderBindingId, keymapLeaderId, keymapShortcuts, keysHeld, liveScope, makeToolOffhandAction, matchBest, matchSorted, matchSortedWithBarred, matchesKeyBinding, mergeMenuDefs, modifierStateOf, multiTouchGestureId, offhandKeyFor, openPointerSession, overriddenBindings, overrideActionBindings, pickMenu, pointerGestureId, pushOwner, readActionSettings, reportRouteConflicts, resolveBindingOverrides, resolveDeviceProfile, resolveMenu, resolveParams, resolveSchemaMenu, roleReader, routesForSpec, ruleCanHoldIn, rulesExclusive, scopeBindings, startCarry, targetConsultsAffordance, tuneAction, tunedParams, validateActionDefaultBinding, validateActionId };
3193
+ //# sourceMappingURL=chunk-CRF3ROBB.js.map
3194
+ //# sourceMappingURL=chunk-CRF3ROBB.js.map