@reckona/mreact-compat 0.0.161 → 0.0.163

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.
@@ -9,12 +9,21 @@ export interface SyntheticEvent {
9
9
  type: string;
10
10
  target: EventTarget | null;
11
11
  currentTarget: EventTarget | null;
12
+ pointerId?: number;
13
+ pointerType?: string;
14
+ isPrimary?: boolean;
12
15
  clientX?: number;
13
16
  clientY?: number;
14
17
  pageX?: number;
15
18
  pageY?: number;
16
19
  screenX?: number;
17
20
  screenY?: number;
21
+ button?: number;
22
+ buttons?: number;
23
+ ctrlKey?: boolean;
24
+ shiftKey?: boolean;
25
+ altKey?: boolean;
26
+ metaKey?: boolean;
18
27
  relatedTarget?: EventTarget | null;
19
28
  touches?: TouchList;
20
29
  changedTouches?: TouchList;
@@ -1 +1 @@
1
- {"version":3,"file":"event-types.d.ts","sourceRoot":"","sources":["../src/event-types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,OAAO,CAAC;IACpB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;IACnB,WAAW,EAAE,KAAK,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,WAAW,GAAG,IAAI,CAAC;IAC3B,aAAa,EAAE,WAAW,GAAG,IAAI,CAAC;IAClC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;IACnC,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,cAAc,CAAC,EAAE,SAAS,CAAC;IAC3B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,IAAI,IAAI,CAAC;IAChB,cAAc,IAAI,IAAI,CAAC;IACvB,eAAe,IAAI,IAAI,CAAC;IACxB,kBAAkB,IAAI,OAAO,CAAC;IAC9B,YAAY,IAAI,OAAO,CAAC;IACxB,oBAAoB,IAAI,OAAO,CAAC;CACjC"}
1
+ {"version":3,"file":"event-types.d.ts","sourceRoot":"","sources":["../src/event-types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,OAAO,CAAC;IACpB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;IACnB,WAAW,EAAE,KAAK,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,WAAW,GAAG,IAAI,CAAC;IAC3B,aAAa,EAAE,WAAW,GAAG,IAAI,CAAC;IAClC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,aAAa,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;IACnC,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,cAAc,CAAC,EAAE,SAAS,CAAC;IAC3B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,IAAI,IAAI,CAAC;IAChB,cAAc,IAAI,IAAI,CAAC;IACvB,eAAe,IAAI,IAAI,CAAC;IACxB,kBAAkB,IAAI,OAAO,CAAC;IAC9B,YAAY,IAAI,OAAO,CAAC;IACxB,oBAAoB,IAAI,OAAO,CAAC;CACjC"}
@@ -1 +1 @@
1
- {"version":3,"file":"event-types.js","sourceRoot":"","sources":["../src/event-types.ts"],"names":[],"mappings":"","sourcesContent":["export interface SyntheticEvent {\n bubbles: boolean;\n cancelable: boolean;\n defaultPrevented: boolean;\n eventPhase: number;\n isTrusted: boolean;\n nativeEvent: Event;\n timeStamp: number;\n type: string;\n target: EventTarget | null;\n currentTarget: EventTarget | null;\n clientX?: number;\n clientY?: number;\n pageX?: number;\n pageY?: number;\n screenX?: number;\n screenY?: number;\n relatedTarget?: EventTarget | null;\n touches?: TouchList;\n changedTouches?: TouchList;\n key?: string;\n persist(): void;\n preventDefault(): void;\n stopPropagation(): void;\n isDefaultPrevented(): boolean;\n isPersistent(): boolean;\n isPropagationStopped(): boolean;\n}\n"]}
1
+ {"version":3,"file":"event-types.js","sourceRoot":"","sources":["../src/event-types.ts"],"names":[],"mappings":"","sourcesContent":["export interface SyntheticEvent {\n bubbles: boolean;\n cancelable: boolean;\n defaultPrevented: boolean;\n eventPhase: number;\n isTrusted: boolean;\n nativeEvent: Event;\n timeStamp: number;\n type: string;\n target: EventTarget | null;\n currentTarget: EventTarget | null;\n pointerId?: number;\n pointerType?: string;\n isPrimary?: boolean;\n clientX?: number;\n clientY?: number;\n pageX?: number;\n pageY?: number;\n screenX?: number;\n screenY?: number;\n button?: number;\n buttons?: number;\n ctrlKey?: boolean;\n shiftKey?: boolean;\n altKey?: boolean;\n metaKey?: boolean;\n relatedTarget?: EventTarget | null;\n touches?: TouchList;\n changedTouches?: TouchList;\n key?: string;\n persist(): void;\n preventDefault(): void;\n stopPropagation(): void;\n isDefaultPrevented(): boolean;\n isPersistent(): boolean;\n isPropagationStopped(): boolean;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":"AA6FA,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,CAMvD;AAED,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,GACpC,IAAI,CAmBN;AAED,wBAAgB,oCAAoC,CAClD,IAAI,EAAE,OAAO,EACb,QAAQ,EAAE,MAAM,GACf,IAAI,CAmBN;AAoDD,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE,CAO5D;AAED,wBAAgB,qBAAqB,CACnC,SAAS,EAAE,OAAO,EAClB,MAAM,EAAE,UAAU,GACjB,IAAI,CAEN;AAED,wBAAgB,gBAAgB,CAC9B,SAAS,EAAE,MAAM,GAChB,UAAU,GAAG,YAAY,GAAG,SAAS,CAUvC;AAsCD,wBAAgB,4BAA4B,CAC1C,IAAI,EAAE,OAAO,EACb,SAAS,EAAE,MAAM,GAChB,IAAI,CAkBN;AAqLD,wBAAgB,YAAY,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,GAAG,OAAO,EAAE,CA4BnE"}
1
+ {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":"AA6FA,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,CAMvD;AAED,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI,CAmB9F;AAED,wBAAgB,oCAAoC,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAmB1F;AAoDD,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE,CAO5D;AAED,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,GAAG,IAAI,CAElF;AAED,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,UAAU,GAAG,YAAY,GAAG,SAAS,CAUzF;AAsCD,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAkBnF;AA2KD,wBAAgB,YAAY,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,GAAG,OAAO,EAAE,CA4BnE"}
package/dist/events.js CHANGED
@@ -318,9 +318,7 @@ function dispatchPointerTransitionEvent(propName, event, target, state) {
318
318
  }
319
319
  function dispatchEventPropNames(propNames, phase, event, target, state) {
320
320
  for (const propName of propNames) {
321
- if (propName === "onChange" &&
322
- event.type === "change" &&
323
- isTextInputChangeTarget(target)) {
321
+ if (propName === "onChange" && event.type === "change" && isTextInputChangeTarget(target)) {
324
322
  continue;
325
323
  }
326
324
  const listenerName = phase === "capture" ? `${propName}Capture` : propName;
@@ -364,9 +362,7 @@ function dispatchMouseTransitionEvent(propName, event, target, state) {
364
362
  }
365
363
  }
366
364
  function isInternalMouseTransition(event, target) {
367
- const relatedTarget = event instanceof MouseEvent && event.relatedTarget instanceof Node
368
- ? event.relatedTarget
369
- : null;
365
+ const relatedTarget = event instanceof MouseEvent && event.relatedTarget instanceof Node ? event.relatedTarget : null;
370
366
  return relatedTarget !== null && target.contains(relatedTarget);
371
367
  }
372
368
  export function getEventPath(root, event) {
@@ -398,6 +394,9 @@ function createSyntheticEvent(nativeEvent, currentTarget, state = {
398
394
  propagationStopped: false,
399
395
  }, syntheticType = nativeEvent.type) {
400
396
  const mouseEvent = nativeEvent instanceof MouseEvent ? nativeEvent : undefined;
397
+ const pointerEvent = "pointerId" in nativeEvent || "pointerType" in nativeEvent
398
+ ? nativeEvent
399
+ : undefined;
401
400
  const touchEvent = nativeEvent instanceof TouchEvent ? nativeEvent : undefined;
402
401
  const keyboardEvent = nativeEvent instanceof KeyboardEvent ? nativeEvent : undefined;
403
402
  return {
@@ -422,8 +421,21 @@ function createSyntheticEvent(nativeEvent, currentTarget, state = {
422
421
  pageY: mouseEvent.pageY,
423
422
  screenX: mouseEvent.screenX,
424
423
  screenY: mouseEvent.screenY,
424
+ button: mouseEvent.button,
425
+ buttons: mouseEvent.buttons,
426
+ ctrlKey: mouseEvent.ctrlKey,
427
+ shiftKey: mouseEvent.shiftKey,
428
+ altKey: mouseEvent.altKey,
429
+ metaKey: mouseEvent.metaKey,
425
430
  relatedTarget: mouseEvent.relatedTarget,
426
431
  }),
432
+ ...(pointerEvent === undefined
433
+ ? {}
434
+ : {
435
+ pointerId: pointerEvent.pointerId,
436
+ pointerType: pointerEvent.pointerType,
437
+ isPrimary: pointerEvent.isPrimary,
438
+ }),
427
439
  ...(touchEvent === undefined
428
440
  ? {}
429
441
  : {
@@ -1 +1 @@
1
- {"version":3,"file":"events.js","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":"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","sourcesContent":["import { runWithEventPriority } from \"./hooks.js\";\nimport { getAppliedEventHandler } from \"./event-listeners.js\";\nimport type { SyntheticEvent } from \"./event-types.js\";\n\nconst delegatedRootListeners = new WeakMap<Element, Set<string>>();\n// A synthetic update can mount another delegated root before the native event\n// finishes bubbling. Process each native event once across delegated roots.\nconst dispatchedDelegatedEvents = new WeakMap<Event, Set<string>>();\nconst logicalEventParents = new WeakMap<Element, ParentNode>();\n\nconst reactPropToNativeEvent = new Map<string, string[]>([\n [\"onAnimationEnd\", [\"animationend\"]],\n [\"onAnimationIteration\", [\"animationiteration\"]],\n [\"onAnimationStart\", [\"animationstart\"]],\n [\"onBeforeInput\", [\"beforeinput\"]],\n [\"onCompositionEnd\", [\"compositionend\"]],\n [\"onCompositionStart\", [\"compositionstart\"]],\n [\"onCompositionUpdate\", [\"compositionupdate\"]],\n [\"onContextMenu\", [\"contextmenu\"]],\n [\"onDoubleClick\", [\"dblclick\"]],\n [\"onDrag\", [\"drag\"]],\n [\"onDragEnd\", [\"dragend\"]],\n [\"onDragEnter\", [\"dragenter\"]],\n [\"onDragExit\", [\"dragexit\"]],\n [\"onDragLeave\", [\"dragleave\"]],\n [\"onDragOver\", [\"dragover\"]],\n [\"onDragStart\", [\"dragstart\"]],\n [\"onDrop\", [\"drop\"]],\n [\"onFocus\", [\"focusin\"]],\n [\"onBlur\", [\"focusout\"]],\n [\"onGotPointerCapture\", [\"gotpointercapture\"]],\n [\"onLostPointerCapture\", [\"lostpointercapture\"]],\n [\"onMouseEnter\", [\"mouseover\"]],\n [\"onMouseLeave\", [\"mouseout\"]],\n [\"onPointerCancel\", [\"pointercancel\"]],\n [\"onPointerDown\", [\"pointerdown\"]],\n [\"onPointerEnter\", [\"pointerover\"]],\n [\"onPointerLeave\", [\"pointerout\"]],\n [\"onPointerMove\", [\"pointermove\"]],\n [\"onPointerOut\", [\"pointerout\"]],\n [\"onPointerOver\", [\"pointerover\"]],\n [\"onPointerUp\", [\"pointerup\"]],\n [\"onTouchCancel\", [\"touchcancel\"]],\n [\"onTouchEnd\", [\"touchend\"]],\n [\"onTouchMove\", [\"touchmove\"]],\n [\"onTouchStart\", [\"touchstart\"]],\n [\"onTransitionEnd\", [\"transitionend\"]],\n [\"onChange\", [\"change\", \"input\"]],\n]);\n\nconst nativeEventToReactProps = new Map<string, string[]>([\n [\"animationend\", [\"onAnimationEnd\"]],\n [\"animationiteration\", [\"onAnimationIteration\"]],\n [\"animationstart\", [\"onAnimationStart\"]],\n [\"beforeinput\", [\"onBeforeInput\"]],\n [\"compositionend\", [\"onCompositionEnd\"]],\n [\"compositionstart\", [\"onCompositionStart\"]],\n [\"compositionupdate\", [\"onCompositionUpdate\"]],\n [\"contextmenu\", [\"onContextMenu\"]],\n [\"dblclick\", [\"onDoubleClick\"]],\n [\"drag\", [\"onDrag\"]],\n [\"dragend\", [\"onDragEnd\"]],\n [\"dragenter\", [\"onDragEnter\"]],\n [\"dragexit\", [\"onDragExit\"]],\n [\"dragleave\", [\"onDragLeave\"]],\n [\"dragover\", [\"onDragOver\"]],\n [\"dragstart\", [\"onDragStart\"]],\n [\"drop\", [\"onDrop\"]],\n [\"focusin\", [\"onFocus\"]],\n [\"focusout\", [\"onBlur\"]],\n [\"gotpointercapture\", [\"onGotPointerCapture\"]],\n [\"lostpointercapture\", [\"onLostPointerCapture\"]],\n [\"input\", [\"onInput\", \"onChange\"]],\n [\"keydown\", [\"onKeyDown\"]],\n [\"keyup\", [\"onKeyUp\"]],\n [\"mousedown\", [\"onMouseDown\"]],\n [\"mousemove\", [\"onMouseMove\"]],\n [\"mouseup\", [\"onMouseUp\"]],\n [\"mouseout\", [\"onMouseOut\"]],\n [\"mouseover\", [\"onMouseOver\"]],\n [\"pointercancel\", [\"onPointerCancel\"]],\n [\"pointerdown\", [\"onPointerDown\"]],\n [\"pointermove\", [\"onPointerMove\"]],\n [\"pointerout\", [\"onPointerOut\"]],\n [\"pointerover\", [\"onPointerOver\"]],\n [\"pointerup\", [\"onPointerUp\"]],\n [\"touchcancel\", [\"onTouchCancel\"]],\n [\"touchend\", [\"onTouchEnd\"]],\n [\"touchmove\", [\"onTouchMove\"]],\n [\"touchstart\", [\"onTouchStart\"]],\n [\"transitionend\", [\"onTransitionEnd\"]],\n]);\n\nexport function toEventNames(propName: string): string[] {\n const eventNames: string[] = [];\n forEachEventName(propName, (eventName) => {\n eventNames.push(eventName);\n });\n return eventNames;\n}\n\nexport function forEachEventName(\n propName: string,\n callback: (eventName: string) => void,\n): void {\n const directEventName = directNativeEventName(propName);\n\n if (directEventName !== undefined) {\n callback(directEventName);\n return;\n }\n\n const basePropName = toBaseEventPropName(propName);\n const mappedEventNames = reactPropToNativeEvent.get(basePropName);\n\n if (mappedEventNames === undefined) {\n callback(basePropName.slice(2).toLowerCase());\n return;\n }\n\n for (let index = 0; index < mappedEventNames.length; index += 1) {\n callback(mappedEventNames[index]!);\n }\n}\n\nexport function ensureDelegatedEventListenersForProp(\n root: Element,\n propName: string,\n): void {\n const directEventName = directNativeEventName(propName);\n\n if (directEventName !== undefined) {\n ensureDelegatedEventListener(root, directEventName);\n return;\n }\n\n const basePropName = toBaseEventPropName(propName);\n const mappedEventNames = reactPropToNativeEvent.get(basePropName);\n\n if (mappedEventNames === undefined) {\n ensureDelegatedEventListener(root, basePropName.slice(2).toLowerCase());\n return;\n }\n\n for (let index = 0; index < mappedEventNames.length; index += 1) {\n ensureDelegatedEventListener(root, mappedEventNames[index]!);\n }\n}\n\nfunction directNativeEventName(propName: string): string | undefined {\n switch (propName) {\n case \"onClick\":\n case \"onClickCapture\":\n return \"click\";\n case \"onInput\":\n case \"onInputCapture\":\n return \"input\";\n case \"onKeyDown\":\n case \"onKeyDownCapture\":\n return \"keydown\";\n case \"onKeyUp\":\n case \"onKeyUpCapture\":\n return \"keyup\";\n case \"onMouseDown\":\n case \"onMouseDownCapture\":\n return \"mousedown\";\n case \"onMouseMove\":\n case \"onMouseMoveCapture\":\n return \"mousemove\";\n case \"onMouseOut\":\n case \"onMouseOutCapture\":\n return \"mouseout\";\n case \"onMouseOver\":\n case \"onMouseOverCapture\":\n return \"mouseover\";\n case \"onMouseUp\":\n case \"onMouseUpCapture\":\n return \"mouseup\";\n case \"onScroll\":\n case \"onScrollCapture\":\n return \"scroll\";\n case \"onSubmit\":\n case \"onSubmitCapture\":\n return \"submit\";\n case \"onWheel\":\n case \"onWheelCapture\":\n return \"wheel\";\n default:\n return undefined;\n }\n}\n\nfunction toBaseEventPropName(propName: string): string {\n const basePropName = propName.endsWith(\"Capture\")\n ? propName.slice(0, -\"Capture\".length)\n : propName;\n return basePropName;\n}\n\nexport function toEventPropNames(eventName: string): string[] {\n const propNames = nativeEventToReactProps.get(eventName);\n if (propNames !== undefined) {\n return propNames;\n }\n const propName = `on${eventName.slice(0, 1).toUpperCase()}${eventName.slice(1)}`;\n return [propName];\n}\n\nexport function setLogicalEventParent(\n container: Element,\n parent: ParentNode,\n): void {\n logicalEventParents.set(container, parent);\n}\n\nexport function getEventPriority(\n eventName: string,\n): \"discrete\" | \"continuous\" | \"default\" {\n if (discreteEventNames.has(eventName)) {\n return \"discrete\";\n }\n\n if (continuousEventNames.has(eventName)) {\n return \"continuous\";\n }\n\n return \"default\";\n}\n\nconst discreteEventNames = new Set([\n \"beforeinput\",\n \"change\",\n \"click\",\n \"dblclick\",\n \"focusin\",\n \"focusout\",\n \"input\",\n \"keydown\",\n \"keyup\",\n \"mousedown\",\n \"mouseup\",\n \"pointerdown\",\n \"pointerup\",\n \"submit\",\n \"touchcancel\",\n \"touchend\",\n \"touchstart\",\n]);\n\nconst continuousEventNames = new Set([\n \"drag\",\n \"dragenter\",\n \"dragleave\",\n \"dragover\",\n \"mousemove\",\n \"mouseout\",\n \"mouseover\",\n \"pointermove\",\n \"pointerout\",\n \"pointerover\",\n \"scroll\",\n \"touchmove\",\n \"wheel\",\n]);\n\nexport function ensureDelegatedEventListener(\n root: Element,\n eventName: string,\n): void {\n const listeners = delegatedRootListeners.get(root) ?? new Set<string>();\n\n if (listeners.has(eventName)) {\n return;\n }\n\n listeners.add(eventName);\n delegatedRootListeners.set(root, listeners);\n root.addEventListener(eventName, (event) => {\n if (hasDispatchedDelegatedEvent(event, eventName)) {\n return;\n }\n markDispatchedDelegatedEvent(event, eventName);\n runWithEventPriority(getEventPriority(eventName), () => {\n dispatchDelegatedEvent(root, eventName, event);\n });\n });\n}\n\nfunction hasDispatchedDelegatedEvent(event: Event, eventName: string): boolean {\n return dispatchedDelegatedEvents.get(event)?.has(eventName) ?? false;\n}\n\nfunction markDispatchedDelegatedEvent(event: Event, eventName: string): void {\n const events = dispatchedDelegatedEvents.get(event) ?? new Set<string>();\n events.add(eventName);\n dispatchedDelegatedEvents.set(event, events);\n}\n\nfunction dispatchDelegatedEvent(\n root: Element,\n eventName: string,\n event: Event,\n): void {\n const path = getEventPath(root, event);\n const propNames = toEventPropNames(eventName);\n const state = {\n defaultPrevented: event.defaultPrevented,\n propagationStopped: false,\n };\n\n for (let index = path.length - 1; index >= 0; index -= 1) {\n const target = path[index]!;\n dispatchEventPropNames(propNames, \"capture\", event, target, state);\n\n if (state.propagationStopped) {\n return;\n }\n }\n\n if (eventName === \"mouseover\") {\n for (let index = path.length - 1; index >= 0; index -= 1) {\n const target = path[index]!;\n dispatchMouseTransitionEvent(\"onMouseEnter\", event, target, state);\n\n if (state.propagationStopped) {\n return;\n }\n }\n }\n\n if (eventName === \"mouseout\") {\n for (const target of path) {\n dispatchMouseTransitionEvent(\"onMouseLeave\", event, target, state);\n\n if (state.propagationStopped) {\n return;\n }\n }\n }\n\n if (eventName === \"pointerover\") {\n for (let index = path.length - 1; index >= 0; index -= 1) {\n const target = path[index]!;\n dispatchPointerTransitionEvent(\"onPointerEnter\", event, target, state);\n\n if (state.propagationStopped) {\n return;\n }\n }\n }\n\n if (eventName === \"pointerout\") {\n for (const target of path) {\n dispatchPointerTransitionEvent(\"onPointerLeave\", event, target, state);\n\n if (state.propagationStopped) {\n return;\n }\n }\n }\n\n for (const target of path) {\n dispatchEventPropNames(propNames, \"bubble\", event, target, state);\n\n if (state.propagationStopped) {\n return;\n }\n }\n}\n\nfunction dispatchPointerTransitionEvent(\n propName: \"onPointerEnter\" | \"onPointerLeave\",\n event: Event,\n target: Element,\n state: { defaultPrevented: boolean; propagationStopped: boolean },\n): void {\n if (isInternalMouseTransition(event, target)) {\n return;\n }\n\n const handler = getAppliedEventHandler(target, propName);\n\n if (handler !== undefined) {\n handler(createSyntheticEvent(event, target, state, propName.slice(2).toLowerCase()));\n }\n}\n\nfunction dispatchEventPropNames(\n propNames: readonly string[],\n phase: \"capture\" | \"bubble\",\n event: Event,\n target: Element,\n state: { defaultPrevented: boolean; propagationStopped: boolean },\n): void {\n for (const propName of propNames) {\n if (\n propName === \"onChange\" &&\n event.type === \"change\" &&\n isTextInputChangeTarget(target)\n ) {\n continue;\n }\n\n const listenerName = phase === \"capture\" ? `${propName}Capture` : propName;\n const handler = getAppliedEventHandler(target, listenerName);\n\n if (handler !== undefined) {\n handler(createSyntheticEvent(event, target, state));\n }\n\n if (state.propagationStopped) {\n return;\n }\n }\n}\n\nfunction isTextInputChangeTarget(target: Element): boolean {\n if (target instanceof HTMLTextAreaElement) {\n return true;\n }\n\n if (!(target instanceof HTMLInputElement)) {\n return false;\n }\n\n return !nonTextInputTypes.has(target.type);\n}\n\nconst nonTextInputTypes = new Set([\n \"button\",\n \"checkbox\",\n \"color\",\n \"file\",\n \"hidden\",\n \"image\",\n \"radio\",\n \"range\",\n \"reset\",\n \"submit\",\n]);\n\nfunction dispatchMouseTransitionEvent(\n propName: \"onMouseEnter\" | \"onMouseLeave\",\n event: Event,\n target: Element,\n state: { defaultPrevented: boolean; propagationStopped: boolean },\n): void {\n if (isInternalMouseTransition(event, target)) {\n return;\n }\n\n const handler = getAppliedEventHandler(target, propName);\n\n if (handler !== undefined) {\n handler(createSyntheticEvent(event, target, state));\n }\n}\n\nfunction isInternalMouseTransition(event: Event, target: Element): boolean {\n const relatedTarget =\n event instanceof MouseEvent && event.relatedTarget instanceof Node\n ? event.relatedTarget\n : null;\n\n return relatedTarget !== null && target.contains(relatedTarget);\n}\n\nexport function getEventPath(root: Element, event: Event): Element[] {\n const path: Element[] = [];\n const visited = new Set<Node>();\n let cursor = event.target instanceof Node ? event.target : null;\n\n while (cursor !== null) {\n if (visited.has(cursor)) {\n break;\n }\n visited.add(cursor);\n\n if (cursor instanceof Element) {\n path.push(cursor);\n }\n\n if (cursor === root) {\n const logicalParent = logicalEventParents.get(root);\n if (logicalParent === undefined) {\n break;\n }\n cursor = logicalParent;\n continue;\n }\n\n cursor = cursor.parentNode;\n }\n\n return path;\n}\n\nfunction createSyntheticEvent(\n nativeEvent: Event,\n currentTarget: EventTarget,\n state: { defaultPrevented: boolean; propagationStopped: boolean } = {\n defaultPrevented: nativeEvent.defaultPrevented,\n propagationStopped: false,\n },\n syntheticType = nativeEvent.type,\n): SyntheticEvent {\n const mouseEvent = nativeEvent instanceof MouseEvent ? nativeEvent : undefined;\n const touchEvent = nativeEvent instanceof TouchEvent ? nativeEvent : undefined;\n const keyboardEvent = nativeEvent instanceof KeyboardEvent ? nativeEvent : undefined;\n\n return {\n bubbles: nativeEvent.bubbles,\n cancelable: nativeEvent.cancelable,\n get defaultPrevented() {\n return state.defaultPrevented;\n },\n eventPhase: nativeEvent.eventPhase,\n isTrusted: nativeEvent.isTrusted ?? false,\n nativeEvent,\n timeStamp: nativeEvent.timeStamp,\n type: syntheticType,\n target: nativeEvent.target,\n currentTarget,\n ...(mouseEvent === undefined\n ? {}\n : {\n clientX: mouseEvent.clientX,\n clientY: mouseEvent.clientY,\n pageX: mouseEvent.pageX,\n pageY: mouseEvent.pageY,\n screenX: mouseEvent.screenX,\n screenY: mouseEvent.screenY,\n relatedTarget: mouseEvent.relatedTarget,\n }),\n ...(touchEvent === undefined\n ? {}\n : {\n touches: touchEvent.touches,\n changedTouches: touchEvent.changedTouches,\n }),\n ...(keyboardEvent === undefined ? {} : { key: keyboardEvent.key }),\n persist() {},\n preventDefault() {\n state.defaultPrevented = true;\n nativeEvent.preventDefault();\n },\n stopPropagation() {\n state.propagationStopped = true;\n nativeEvent.stopPropagation();\n },\n isDefaultPrevented() {\n return state.defaultPrevented;\n },\n isPersistent() {\n return true;\n },\n isPropagationStopped() {\n return state.propagationStopped;\n },\n };\n}\n"]}
1
+ {"version":3,"file":"events.js","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":"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","sourcesContent":["import { runWithEventPriority } from \"./hooks.js\";\nimport { getAppliedEventHandler } from \"./event-listeners.js\";\nimport type { SyntheticEvent } from \"./event-types.js\";\n\nconst delegatedRootListeners = new WeakMap<Element, Set<string>>();\n// A synthetic update can mount another delegated root before the native event\n// finishes bubbling. Process each native event once across delegated roots.\nconst dispatchedDelegatedEvents = new WeakMap<Event, Set<string>>();\nconst logicalEventParents = new WeakMap<Element, ParentNode>();\n\nconst reactPropToNativeEvent = new Map<string, string[]>([\n [\"onAnimationEnd\", [\"animationend\"]],\n [\"onAnimationIteration\", [\"animationiteration\"]],\n [\"onAnimationStart\", [\"animationstart\"]],\n [\"onBeforeInput\", [\"beforeinput\"]],\n [\"onCompositionEnd\", [\"compositionend\"]],\n [\"onCompositionStart\", [\"compositionstart\"]],\n [\"onCompositionUpdate\", [\"compositionupdate\"]],\n [\"onContextMenu\", [\"contextmenu\"]],\n [\"onDoubleClick\", [\"dblclick\"]],\n [\"onDrag\", [\"drag\"]],\n [\"onDragEnd\", [\"dragend\"]],\n [\"onDragEnter\", [\"dragenter\"]],\n [\"onDragExit\", [\"dragexit\"]],\n [\"onDragLeave\", [\"dragleave\"]],\n [\"onDragOver\", [\"dragover\"]],\n [\"onDragStart\", [\"dragstart\"]],\n [\"onDrop\", [\"drop\"]],\n [\"onFocus\", [\"focusin\"]],\n [\"onBlur\", [\"focusout\"]],\n [\"onGotPointerCapture\", [\"gotpointercapture\"]],\n [\"onLostPointerCapture\", [\"lostpointercapture\"]],\n [\"onMouseEnter\", [\"mouseover\"]],\n [\"onMouseLeave\", [\"mouseout\"]],\n [\"onPointerCancel\", [\"pointercancel\"]],\n [\"onPointerDown\", [\"pointerdown\"]],\n [\"onPointerEnter\", [\"pointerover\"]],\n [\"onPointerLeave\", [\"pointerout\"]],\n [\"onPointerMove\", [\"pointermove\"]],\n [\"onPointerOut\", [\"pointerout\"]],\n [\"onPointerOver\", [\"pointerover\"]],\n [\"onPointerUp\", [\"pointerup\"]],\n [\"onTouchCancel\", [\"touchcancel\"]],\n [\"onTouchEnd\", [\"touchend\"]],\n [\"onTouchMove\", [\"touchmove\"]],\n [\"onTouchStart\", [\"touchstart\"]],\n [\"onTransitionEnd\", [\"transitionend\"]],\n [\"onChange\", [\"change\", \"input\"]],\n]);\n\nconst nativeEventToReactProps = new Map<string, string[]>([\n [\"animationend\", [\"onAnimationEnd\"]],\n [\"animationiteration\", [\"onAnimationIteration\"]],\n [\"animationstart\", [\"onAnimationStart\"]],\n [\"beforeinput\", [\"onBeforeInput\"]],\n [\"compositionend\", [\"onCompositionEnd\"]],\n [\"compositionstart\", [\"onCompositionStart\"]],\n [\"compositionupdate\", [\"onCompositionUpdate\"]],\n [\"contextmenu\", [\"onContextMenu\"]],\n [\"dblclick\", [\"onDoubleClick\"]],\n [\"drag\", [\"onDrag\"]],\n [\"dragend\", [\"onDragEnd\"]],\n [\"dragenter\", [\"onDragEnter\"]],\n [\"dragexit\", [\"onDragExit\"]],\n [\"dragleave\", [\"onDragLeave\"]],\n [\"dragover\", [\"onDragOver\"]],\n [\"dragstart\", [\"onDragStart\"]],\n [\"drop\", [\"onDrop\"]],\n [\"focusin\", [\"onFocus\"]],\n [\"focusout\", [\"onBlur\"]],\n [\"gotpointercapture\", [\"onGotPointerCapture\"]],\n [\"lostpointercapture\", [\"onLostPointerCapture\"]],\n [\"input\", [\"onInput\", \"onChange\"]],\n [\"keydown\", [\"onKeyDown\"]],\n [\"keyup\", [\"onKeyUp\"]],\n [\"mousedown\", [\"onMouseDown\"]],\n [\"mousemove\", [\"onMouseMove\"]],\n [\"mouseup\", [\"onMouseUp\"]],\n [\"mouseout\", [\"onMouseOut\"]],\n [\"mouseover\", [\"onMouseOver\"]],\n [\"pointercancel\", [\"onPointerCancel\"]],\n [\"pointerdown\", [\"onPointerDown\"]],\n [\"pointermove\", [\"onPointerMove\"]],\n [\"pointerout\", [\"onPointerOut\"]],\n [\"pointerover\", [\"onPointerOver\"]],\n [\"pointerup\", [\"onPointerUp\"]],\n [\"touchcancel\", [\"onTouchCancel\"]],\n [\"touchend\", [\"onTouchEnd\"]],\n [\"touchmove\", [\"onTouchMove\"]],\n [\"touchstart\", [\"onTouchStart\"]],\n [\"transitionend\", [\"onTransitionEnd\"]],\n]);\n\nexport function toEventNames(propName: string): string[] {\n const eventNames: string[] = [];\n forEachEventName(propName, (eventName) => {\n eventNames.push(eventName);\n });\n return eventNames;\n}\n\nexport function forEachEventName(propName: string, callback: (eventName: string) => void): void {\n const directEventName = directNativeEventName(propName);\n\n if (directEventName !== undefined) {\n callback(directEventName);\n return;\n }\n\n const basePropName = toBaseEventPropName(propName);\n const mappedEventNames = reactPropToNativeEvent.get(basePropName);\n\n if (mappedEventNames === undefined) {\n callback(basePropName.slice(2).toLowerCase());\n return;\n }\n\n for (let index = 0; index < mappedEventNames.length; index += 1) {\n callback(mappedEventNames[index]!);\n }\n}\n\nexport function ensureDelegatedEventListenersForProp(root: Element, propName: string): void {\n const directEventName = directNativeEventName(propName);\n\n if (directEventName !== undefined) {\n ensureDelegatedEventListener(root, directEventName);\n return;\n }\n\n const basePropName = toBaseEventPropName(propName);\n const mappedEventNames = reactPropToNativeEvent.get(basePropName);\n\n if (mappedEventNames === undefined) {\n ensureDelegatedEventListener(root, basePropName.slice(2).toLowerCase());\n return;\n }\n\n for (let index = 0; index < mappedEventNames.length; index += 1) {\n ensureDelegatedEventListener(root, mappedEventNames[index]!);\n }\n}\n\nfunction directNativeEventName(propName: string): string | undefined {\n switch (propName) {\n case \"onClick\":\n case \"onClickCapture\":\n return \"click\";\n case \"onInput\":\n case \"onInputCapture\":\n return \"input\";\n case \"onKeyDown\":\n case \"onKeyDownCapture\":\n return \"keydown\";\n case \"onKeyUp\":\n case \"onKeyUpCapture\":\n return \"keyup\";\n case \"onMouseDown\":\n case \"onMouseDownCapture\":\n return \"mousedown\";\n case \"onMouseMove\":\n case \"onMouseMoveCapture\":\n return \"mousemove\";\n case \"onMouseOut\":\n case \"onMouseOutCapture\":\n return \"mouseout\";\n case \"onMouseOver\":\n case \"onMouseOverCapture\":\n return \"mouseover\";\n case \"onMouseUp\":\n case \"onMouseUpCapture\":\n return \"mouseup\";\n case \"onScroll\":\n case \"onScrollCapture\":\n return \"scroll\";\n case \"onSubmit\":\n case \"onSubmitCapture\":\n return \"submit\";\n case \"onWheel\":\n case \"onWheelCapture\":\n return \"wheel\";\n default:\n return undefined;\n }\n}\n\nfunction toBaseEventPropName(propName: string): string {\n const basePropName = propName.endsWith(\"Capture\")\n ? propName.slice(0, -\"Capture\".length)\n : propName;\n return basePropName;\n}\n\nexport function toEventPropNames(eventName: string): string[] {\n const propNames = nativeEventToReactProps.get(eventName);\n if (propNames !== undefined) {\n return propNames;\n }\n const propName = `on${eventName.slice(0, 1).toUpperCase()}${eventName.slice(1)}`;\n return [propName];\n}\n\nexport function setLogicalEventParent(container: Element, parent: ParentNode): void {\n logicalEventParents.set(container, parent);\n}\n\nexport function getEventPriority(eventName: string): \"discrete\" | \"continuous\" | \"default\" {\n if (discreteEventNames.has(eventName)) {\n return \"discrete\";\n }\n\n if (continuousEventNames.has(eventName)) {\n return \"continuous\";\n }\n\n return \"default\";\n}\n\nconst discreteEventNames = new Set([\n \"beforeinput\",\n \"change\",\n \"click\",\n \"dblclick\",\n \"focusin\",\n \"focusout\",\n \"input\",\n \"keydown\",\n \"keyup\",\n \"mousedown\",\n \"mouseup\",\n \"pointerdown\",\n \"pointerup\",\n \"submit\",\n \"touchcancel\",\n \"touchend\",\n \"touchstart\",\n]);\n\nconst continuousEventNames = new Set([\n \"drag\",\n \"dragenter\",\n \"dragleave\",\n \"dragover\",\n \"mousemove\",\n \"mouseout\",\n \"mouseover\",\n \"pointermove\",\n \"pointerout\",\n \"pointerover\",\n \"scroll\",\n \"touchmove\",\n \"wheel\",\n]);\n\nexport function ensureDelegatedEventListener(root: Element, eventName: string): void {\n const listeners = delegatedRootListeners.get(root) ?? new Set<string>();\n\n if (listeners.has(eventName)) {\n return;\n }\n\n listeners.add(eventName);\n delegatedRootListeners.set(root, listeners);\n root.addEventListener(eventName, (event) => {\n if (hasDispatchedDelegatedEvent(event, eventName)) {\n return;\n }\n markDispatchedDelegatedEvent(event, eventName);\n runWithEventPriority(getEventPriority(eventName), () => {\n dispatchDelegatedEvent(root, eventName, event);\n });\n });\n}\n\nfunction hasDispatchedDelegatedEvent(event: Event, eventName: string): boolean {\n return dispatchedDelegatedEvents.get(event)?.has(eventName) ?? false;\n}\n\nfunction markDispatchedDelegatedEvent(event: Event, eventName: string): void {\n const events = dispatchedDelegatedEvents.get(event) ?? new Set<string>();\n events.add(eventName);\n dispatchedDelegatedEvents.set(event, events);\n}\n\nfunction dispatchDelegatedEvent(root: Element, eventName: string, event: Event): void {\n const path = getEventPath(root, event);\n const propNames = toEventPropNames(eventName);\n const state = {\n defaultPrevented: event.defaultPrevented,\n propagationStopped: false,\n };\n\n for (let index = path.length - 1; index >= 0; index -= 1) {\n const target = path[index]!;\n dispatchEventPropNames(propNames, \"capture\", event, target, state);\n\n if (state.propagationStopped) {\n return;\n }\n }\n\n if (eventName === \"mouseover\") {\n for (let index = path.length - 1; index >= 0; index -= 1) {\n const target = path[index]!;\n dispatchMouseTransitionEvent(\"onMouseEnter\", event, target, state);\n\n if (state.propagationStopped) {\n return;\n }\n }\n }\n\n if (eventName === \"mouseout\") {\n for (const target of path) {\n dispatchMouseTransitionEvent(\"onMouseLeave\", event, target, state);\n\n if (state.propagationStopped) {\n return;\n }\n }\n }\n\n if (eventName === \"pointerover\") {\n for (let index = path.length - 1; index >= 0; index -= 1) {\n const target = path[index]!;\n dispatchPointerTransitionEvent(\"onPointerEnter\", event, target, state);\n\n if (state.propagationStopped) {\n return;\n }\n }\n }\n\n if (eventName === \"pointerout\") {\n for (const target of path) {\n dispatchPointerTransitionEvent(\"onPointerLeave\", event, target, state);\n\n if (state.propagationStopped) {\n return;\n }\n }\n }\n\n for (const target of path) {\n dispatchEventPropNames(propNames, \"bubble\", event, target, state);\n\n if (state.propagationStopped) {\n return;\n }\n }\n}\n\nfunction dispatchPointerTransitionEvent(\n propName: \"onPointerEnter\" | \"onPointerLeave\",\n event: Event,\n target: Element,\n state: { defaultPrevented: boolean; propagationStopped: boolean },\n): void {\n if (isInternalMouseTransition(event, target)) {\n return;\n }\n\n const handler = getAppliedEventHandler(target, propName);\n\n if (handler !== undefined) {\n handler(createSyntheticEvent(event, target, state, propName.slice(2).toLowerCase()));\n }\n}\n\nfunction dispatchEventPropNames(\n propNames: readonly string[],\n phase: \"capture\" | \"bubble\",\n event: Event,\n target: Element,\n state: { defaultPrevented: boolean; propagationStopped: boolean },\n): void {\n for (const propName of propNames) {\n if (propName === \"onChange\" && event.type === \"change\" && isTextInputChangeTarget(target)) {\n continue;\n }\n\n const listenerName = phase === \"capture\" ? `${propName}Capture` : propName;\n const handler = getAppliedEventHandler(target, listenerName);\n\n if (handler !== undefined) {\n handler(createSyntheticEvent(event, target, state));\n }\n\n if (state.propagationStopped) {\n return;\n }\n }\n}\n\nfunction isTextInputChangeTarget(target: Element): boolean {\n if (target instanceof HTMLTextAreaElement) {\n return true;\n }\n\n if (!(target instanceof HTMLInputElement)) {\n return false;\n }\n\n return !nonTextInputTypes.has(target.type);\n}\n\nconst nonTextInputTypes = new Set([\n \"button\",\n \"checkbox\",\n \"color\",\n \"file\",\n \"hidden\",\n \"image\",\n \"radio\",\n \"range\",\n \"reset\",\n \"submit\",\n]);\n\nfunction dispatchMouseTransitionEvent(\n propName: \"onMouseEnter\" | \"onMouseLeave\",\n event: Event,\n target: Element,\n state: { defaultPrevented: boolean; propagationStopped: boolean },\n): void {\n if (isInternalMouseTransition(event, target)) {\n return;\n }\n\n const handler = getAppliedEventHandler(target, propName);\n\n if (handler !== undefined) {\n handler(createSyntheticEvent(event, target, state));\n }\n}\n\nfunction isInternalMouseTransition(event: Event, target: Element): boolean {\n const relatedTarget =\n event instanceof MouseEvent && event.relatedTarget instanceof Node ? event.relatedTarget : null;\n\n return relatedTarget !== null && target.contains(relatedTarget);\n}\n\nexport function getEventPath(root: Element, event: Event): Element[] {\n const path: Element[] = [];\n const visited = new Set<Node>();\n let cursor = event.target instanceof Node ? event.target : null;\n\n while (cursor !== null) {\n if (visited.has(cursor)) {\n break;\n }\n visited.add(cursor);\n\n if (cursor instanceof Element) {\n path.push(cursor);\n }\n\n if (cursor === root) {\n const logicalParent = logicalEventParents.get(root);\n if (logicalParent === undefined) {\n break;\n }\n cursor = logicalParent;\n continue;\n }\n\n cursor = cursor.parentNode;\n }\n\n return path;\n}\n\nfunction createSyntheticEvent(\n nativeEvent: Event,\n currentTarget: EventTarget,\n state: { defaultPrevented: boolean; propagationStopped: boolean } = {\n defaultPrevented: nativeEvent.defaultPrevented,\n propagationStopped: false,\n },\n syntheticType = nativeEvent.type,\n): SyntheticEvent {\n const mouseEvent = nativeEvent instanceof MouseEvent ? nativeEvent : undefined;\n const pointerEvent =\n \"pointerId\" in nativeEvent || \"pointerType\" in nativeEvent\n ? (nativeEvent as PointerEvent)\n : undefined;\n const touchEvent = nativeEvent instanceof TouchEvent ? nativeEvent : undefined;\n const keyboardEvent = nativeEvent instanceof KeyboardEvent ? nativeEvent : undefined;\n\n return {\n bubbles: nativeEvent.bubbles,\n cancelable: nativeEvent.cancelable,\n get defaultPrevented() {\n return state.defaultPrevented;\n },\n eventPhase: nativeEvent.eventPhase,\n isTrusted: nativeEvent.isTrusted ?? false,\n nativeEvent,\n timeStamp: nativeEvent.timeStamp,\n type: syntheticType,\n target: nativeEvent.target,\n currentTarget,\n ...(mouseEvent === undefined\n ? {}\n : {\n clientX: mouseEvent.clientX,\n clientY: mouseEvent.clientY,\n pageX: mouseEvent.pageX,\n pageY: mouseEvent.pageY,\n screenX: mouseEvent.screenX,\n screenY: mouseEvent.screenY,\n button: mouseEvent.button,\n buttons: mouseEvent.buttons,\n ctrlKey: mouseEvent.ctrlKey,\n shiftKey: mouseEvent.shiftKey,\n altKey: mouseEvent.altKey,\n metaKey: mouseEvent.metaKey,\n relatedTarget: mouseEvent.relatedTarget,\n }),\n ...(pointerEvent === undefined\n ? {}\n : {\n pointerId: pointerEvent.pointerId,\n pointerType: pointerEvent.pointerType,\n isPrimary: pointerEvent.isPrimary,\n }),\n ...(touchEvent === undefined\n ? {}\n : {\n touches: touchEvent.touches,\n changedTouches: touchEvent.changedTouches,\n }),\n ...(keyboardEvent === undefined ? {} : { key: keyboardEvent.key }),\n persist() {},\n preventDefault() {\n state.defaultPrevented = true;\n nativeEvent.preventDefault();\n },\n stopPropagation() {\n state.propagationStopped = true;\n nativeEvent.stopPropagation();\n },\n isDefaultPrevented() {\n return state.defaultPrevented;\n },\n isPersistent() {\n return true;\n },\n isPropagationStopped() {\n return state.propagationStopped;\n },\n };\n}\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@reckona/mreact-compat",
3
- "version": "0.0.161",
3
+ "version": "0.0.163",
4
4
  "description": "React-compatible runtime implementation for mreact.",
5
5
  "keywords": [
6
6
  "compatibility",
@@ -69,7 +69,7 @@
69
69
  "access": "public"
70
70
  },
71
71
  "dependencies": {
72
- "@reckona/mreact-reactive-core": "0.0.161",
73
- "@reckona/mreact-shared": "0.0.161"
72
+ "@reckona/mreact-shared": "0.0.163",
73
+ "@reckona/mreact-reactive-core": "0.0.163"
74
74
  }
75
75
  }
@@ -9,12 +9,21 @@ export interface SyntheticEvent {
9
9
  type: string;
10
10
  target: EventTarget | null;
11
11
  currentTarget: EventTarget | null;
12
+ pointerId?: number;
13
+ pointerType?: string;
14
+ isPrimary?: boolean;
12
15
  clientX?: number;
13
16
  clientY?: number;
14
17
  pageX?: number;
15
18
  pageY?: number;
16
19
  screenX?: number;
17
20
  screenY?: number;
21
+ button?: number;
22
+ buttons?: number;
23
+ ctrlKey?: boolean;
24
+ shiftKey?: boolean;
25
+ altKey?: boolean;
26
+ metaKey?: boolean;
18
27
  relatedTarget?: EventTarget | null;
19
28
  touches?: TouchList;
20
29
  changedTouches?: TouchList;
package/src/events.ts CHANGED
@@ -99,10 +99,7 @@ export function toEventNames(propName: string): string[] {
99
99
  return eventNames;
100
100
  }
101
101
 
102
- export function forEachEventName(
103
- propName: string,
104
- callback: (eventName: string) => void,
105
- ): void {
102
+ export function forEachEventName(propName: string, callback: (eventName: string) => void): void {
106
103
  const directEventName = directNativeEventName(propName);
107
104
 
108
105
  if (directEventName !== undefined) {
@@ -123,10 +120,7 @@ export function forEachEventName(
123
120
  }
124
121
  }
125
122
 
126
- export function ensureDelegatedEventListenersForProp(
127
- root: Element,
128
- propName: string,
129
- ): void {
123
+ export function ensureDelegatedEventListenersForProp(root: Element, propName: string): void {
130
124
  const directEventName = directNativeEventName(propName);
131
125
 
132
126
  if (directEventName !== undefined) {
@@ -206,16 +200,11 @@ export function toEventPropNames(eventName: string): string[] {
206
200
  return [propName];
207
201
  }
208
202
 
209
- export function setLogicalEventParent(
210
- container: Element,
211
- parent: ParentNode,
212
- ): void {
203
+ export function setLogicalEventParent(container: Element, parent: ParentNode): void {
213
204
  logicalEventParents.set(container, parent);
214
205
  }
215
206
 
216
- export function getEventPriority(
217
- eventName: string,
218
- ): "discrete" | "continuous" | "default" {
207
+ export function getEventPriority(eventName: string): "discrete" | "continuous" | "default" {
219
208
  if (discreteEventNames.has(eventName)) {
220
209
  return "discrete";
221
210
  }
@@ -263,10 +252,7 @@ const continuousEventNames = new Set([
263
252
  "wheel",
264
253
  ]);
265
254
 
266
- export function ensureDelegatedEventListener(
267
- root: Element,
268
- eventName: string,
269
- ): void {
255
+ export function ensureDelegatedEventListener(root: Element, eventName: string): void {
270
256
  const listeners = delegatedRootListeners.get(root) ?? new Set<string>();
271
257
 
272
258
  if (listeners.has(eventName)) {
@@ -296,11 +282,7 @@ function markDispatchedDelegatedEvent(event: Event, eventName: string): void {
296
282
  dispatchedDelegatedEvents.set(event, events);
297
283
  }
298
284
 
299
- function dispatchDelegatedEvent(
300
- root: Element,
301
- eventName: string,
302
- event: Event,
303
- ): void {
285
+ function dispatchDelegatedEvent(root: Element, eventName: string, event: Event): void {
304
286
  const path = getEventPath(root, event);
305
287
  const propNames = toEventPropNames(eventName);
306
288
  const state = {
@@ -393,11 +375,7 @@ function dispatchEventPropNames(
393
375
  state: { defaultPrevented: boolean; propagationStopped: boolean },
394
376
  ): void {
395
377
  for (const propName of propNames) {
396
- if (
397
- propName === "onChange" &&
398
- event.type === "change" &&
399
- isTextInputChangeTarget(target)
400
- ) {
378
+ if (propName === "onChange" && event.type === "change" && isTextInputChangeTarget(target)) {
401
379
  continue;
402
380
  }
403
381
 
@@ -458,9 +436,7 @@ function dispatchMouseTransitionEvent(
458
436
 
459
437
  function isInternalMouseTransition(event: Event, target: Element): boolean {
460
438
  const relatedTarget =
461
- event instanceof MouseEvent && event.relatedTarget instanceof Node
462
- ? event.relatedTarget
463
- : null;
439
+ event instanceof MouseEvent && event.relatedTarget instanceof Node ? event.relatedTarget : null;
464
440
 
465
441
  return relatedTarget !== null && target.contains(relatedTarget);
466
442
  }
@@ -505,6 +481,10 @@ function createSyntheticEvent(
505
481
  syntheticType = nativeEvent.type,
506
482
  ): SyntheticEvent {
507
483
  const mouseEvent = nativeEvent instanceof MouseEvent ? nativeEvent : undefined;
484
+ const pointerEvent =
485
+ "pointerId" in nativeEvent || "pointerType" in nativeEvent
486
+ ? (nativeEvent as PointerEvent)
487
+ : undefined;
508
488
  const touchEvent = nativeEvent instanceof TouchEvent ? nativeEvent : undefined;
509
489
  const keyboardEvent = nativeEvent instanceof KeyboardEvent ? nativeEvent : undefined;
510
490
 
@@ -530,8 +510,21 @@ function createSyntheticEvent(
530
510
  pageY: mouseEvent.pageY,
531
511
  screenX: mouseEvent.screenX,
532
512
  screenY: mouseEvent.screenY,
513
+ button: mouseEvent.button,
514
+ buttons: mouseEvent.buttons,
515
+ ctrlKey: mouseEvent.ctrlKey,
516
+ shiftKey: mouseEvent.shiftKey,
517
+ altKey: mouseEvent.altKey,
518
+ metaKey: mouseEvent.metaKey,
533
519
  relatedTarget: mouseEvent.relatedTarget,
534
520
  }),
521
+ ...(pointerEvent === undefined
522
+ ? {}
523
+ : {
524
+ pointerId: pointerEvent.pointerId,
525
+ pointerType: pointerEvent.pointerType,
526
+ isPrimary: pointerEvent.isPrimary,
527
+ }),
535
528
  ...(touchEvent === undefined
536
529
  ? {}
537
530
  : {