{"version":3,"file":"events.js","names":[],"sources":["esm/tables/events.js"],"sourcesContent":["const FORM_CONTROLS = [\"input\", \"select\", \"textarea\"];\nconst nativeHost = (nativeProp) => ({\n  tags: \"*\",\n  payload: \"unknown\",\n  nativeProp,\n  web: \"host\",\n  native: \"host\"\n});\nconst webOnly = (note) => ({\n  tags: \"*\",\n  payload: \"unknown\",\n  nativeProp: null,\n  web: \"host\",\n  native: \"none\",\n  note\n});\nconst EVENTS = {\n  // pointer and touch\n  onPointerCancel: nativeHost(\"onPointerCancel\"),\n  onPointerDown: nativeHost(\"onPointerDown\"),\n  onPointerEnter: nativeHost(\"onPointerEnter\"),\n  onPointerLeave: nativeHost(\"onPointerLeave\"),\n  onPointerMove: nativeHost(\"onPointerMove\"),\n  onPointerOut: nativeHost(\"onPointerOut\"),\n  onPointerOver: nativeHost(\"onPointerOver\"),\n  onPointerUp: nativeHost(\"onPointerUp\"),\n  onGotPointerCapture: nativeHost(\"onGotPointerCapture\"),\n  onLostPointerCapture: nativeHost(\"onLostPointerCapture\"),\n  onTouchCancel: nativeHost(\"onTouchCancel\"),\n  onTouchEnd: nativeHost(\"onTouchEnd\"),\n  onTouchMove: nativeHost(\"onTouchMove\"),\n  onTouchStart: nativeHost(\"onTouchStart\"),\n  // press\n  onClick: {\n    tags: \"*\",\n    payload: \"DOMClickEvent\",\n    nativeProp: \"onPress\",\n    web: \"host\",\n    native: \"polyfill\",\n    note: \"native builds the click payload from the press event; preventDefault and stopPropagation are no-ops because there is nothing to cancel\"\n  },\n  onAuxClick: webOnly(\"native has no secondary pointer button\"),\n  onContextMenu: webOnly(\"native has no context menu event; use a long press\"),\n  // focus\n  onBlur: {\n    tags: \"*\",\n    payload: \"unknown\",\n    nativeProp: \"onBlur\",\n    web: \"host\",\n    native: \"polyfill\",\n    note: \"native focus events only fire on elements that can hold focus, which is text entry and pressable elements\"\n  },\n  onFocus: {\n    tags: \"*\",\n    payload: \"unknown\",\n    nativeProp: \"onFocus\",\n    web: \"host\",\n    native: \"polyfill\",\n    note: \"native focus events only fire on elements that can hold focus, which is text entry and pressable elements\"\n  },\n  onFocusIn: webOnly(\"native has no bubbling focus event; use onFocus\"),\n  onFocusOut: webOnly(\"native has no bubbling blur event; use onBlur\"),\n  // keyboard\n  onKeyDown: {\n    tags: \"*\",\n    payload: \"DOMKeyEvent\",\n    nativeProp: \"onKeyPress\",\n    web: \"host\",\n    native: \"polyfill\",\n    note: \"native only reports key presses inside a text-entry control, and reports the submit key as Enter\"\n  },\n  onKeyUp: webOnly(\"react native reports key presses, not key releases\"),\n  // clipboard\n  onCopy: webOnly(\"native has no clipboard events\"),\n  onCut: webOnly(\"native has no clipboard events\"),\n  onPaste: webOnly(\"native has no clipboard events\"),\n  // document and viewport\n  onFullscreenChange: webOnly(\"fullscreen is a browser api\"),\n  onFullscreenError: webOnly(\"fullscreen is a browser api\"),\n  onScroll: nativeHost(\"onScroll\"),\n  onWheel: webOnly(\"native has no wheel input\"),\n  // React Native desktop carries the mouse subset that React Strict DOM forwards.\n  onMouseDown: nativeHost(\"onMouseDown\"),\n  onMouseEnter: nativeHost(\"onMouseEnter\"),\n  onMouseLeave: nativeHost(\"onMouseLeave\"),\n  onMouseMove: webOnly(\"use onPointerMove for cross-platform pointer input\"),\n  onMouseOut: nativeHost(\"onMouseOut\"),\n  onMouseOver: nativeHost(\"onMouseOver\"),\n  onMouseUp: nativeHost(\"onMouseUp\"),\n  // image\n  onError: {\n    tags: [\"img\"],\n    payload: \"DOMImageErrorEvent\",\n    nativeProp: \"onError\",\n    web: \"host\",\n    native: \"polyfill\"\n  },\n  onLoad: {\n    tags: [\"img\"],\n    payload: \"DOMImageLoadEvent\",\n    nativeProp: \"onLoad\",\n    web: \"host\",\n    native: \"polyfill\",\n    note: \"native reports naturalWidth and naturalHeight from the decoded source\"\n  },\n  // form controls\n  onChange: {\n    tags: FORM_CONTROLS,\n    payload: \"DOMChangeEvent\",\n    nativeProp: \"onChange\",\n    web: \"host\",\n    native: \"polyfill\",\n    note: \"native fires on every keystroke like onInput, because there is no commit-on-blur change event\"\n  },\n  onInput: {\n    tags: FORM_CONTROLS,\n    payload: \"DOMInputEvent\",\n    nativeProp: \"onChange\",\n    web: \"host\",\n    native: \"polyfill\"\n  },\n  onBeforeInput: {\n    tags: FORM_CONTROLS,\n    payload: \"unknown\",\n    nativeProp: null,\n    web: \"host\",\n    native: \"none\",\n    note: \"native text entry reports changes only after they are applied\"\n  },\n  onInvalid: {\n    tags: FORM_CONTROLS,\n    payload: \"unknown\",\n    nativeProp: null,\n    web: \"host\",\n    native: \"none\",\n    note: \"native has no form validation\"\n  },\n  onSelect: {\n    tags: FORM_CONTROLS,\n    payload: \"unknown\",\n    nativeProp: null,\n    web: \"host\",\n    native: \"none\",\n    note: \"read the selection through the element ref instead\"\n  }\n};\nconst EVENT_NAMES = Object.keys(EVENTS);\nexport {\n  EVENTS,\n  EVENT_NAMES\n};\n//# sourceMappingURL=events.js.map\n"],"mappings":";AAAA,MAAM,gBAAgB;CAAC;CAAS;CAAU;AAAU;AACpD,MAAM,cAAc,gBAAgB;CAClC,MAAM;CACN,SAAS;CACT;CACA,KAAK;CACL,QAAQ;AACV;AACA,MAAM,WAAW,UAAU;CACzB,MAAM;CACN,SAAS;CACT,YAAY;CACZ,KAAK;CACL,QAAQ;CACR;AACF;AACA,MAAM,SAAS;CAEb,iBAAiB,WAAW,iBAAiB;CAC7C,eAAe,WAAW,eAAe;CACzC,gBAAgB,WAAW,gBAAgB;CAC3C,gBAAgB,WAAW,gBAAgB;CAC3C,eAAe,WAAW,eAAe;CACzC,cAAc,WAAW,cAAc;CACvC,eAAe,WAAW,eAAe;CACzC,aAAa,WAAW,aAAa;CACrC,qBAAqB,WAAW,qBAAqB;CACrD,sBAAsB,WAAW,sBAAsB;CACvD,eAAe,WAAW,eAAe;CACzC,YAAY,WAAW,YAAY;CACnC,aAAa,WAAW,aAAa;CACrC,cAAc,WAAW,cAAc;CAEvC,SAAS;EACP,MAAM;EACN,SAAS;EACT,YAAY;EACZ,KAAK;EACL,QAAQ;EACR,MAAM;CACR;CACA,YAAY,QAAQ,wCAAwC;CAC5D,eAAe,QAAQ,oDAAoD;CAE3E,QAAQ;EACN,MAAM;EACN,SAAS;EACT,YAAY;EACZ,KAAK;EACL,QAAQ;EACR,MAAM;CACR;CACA,SAAS;EACP,MAAM;EACN,SAAS;EACT,YAAY;EACZ,KAAK;EACL,QAAQ;EACR,MAAM;CACR;CACA,WAAW,QAAQ,iDAAiD;CACpE,YAAY,QAAQ,+CAA+C;CAEnE,WAAW;EACT,MAAM;EACN,SAAS;EACT,YAAY;EACZ,KAAK;EACL,QAAQ;EACR,MAAM;CACR;CACA,SAAS,QAAQ,oDAAoD;CAErE,QAAQ,QAAQ,gCAAgC;CAChD,OAAO,QAAQ,gCAAgC;CAC/C,SAAS,QAAQ,gCAAgC;CAEjD,oBAAoB,QAAQ,6BAA6B;CACzD,mBAAmB,QAAQ,6BAA6B;CACxD,UAAU,WAAW,UAAU;CAC/B,SAAS,QAAQ,2BAA2B;CAE5C,aAAa,WAAW,aAAa;CACrC,cAAc,WAAW,cAAc;CACvC,cAAc,WAAW,cAAc;CACvC,aAAa,QAAQ,oDAAoD;CACzE,YAAY,WAAW,YAAY;CACnC,aAAa,WAAW,aAAa;CACrC,WAAW,WAAW,WAAW;CAEjC,SAAS;EACP,MAAM,CAAC,KAAK;EACZ,SAAS;EACT,YAAY;EACZ,KAAK;EACL,QAAQ;CACV;CACA,QAAQ;EACN,MAAM,CAAC,KAAK;EACZ,SAAS;EACT,YAAY;EACZ,KAAK;EACL,QAAQ;EACR,MAAM;CACR;CAEA,UAAU;EACR,MAAM;EACN,SAAS;EACT,YAAY;EACZ,KAAK;EACL,QAAQ;EACR,MAAM;CACR;CACA,SAAS;EACP,MAAM;EACN,SAAS;EACT,YAAY;EACZ,KAAK;EACL,QAAQ;CACV;CACA,eAAe;EACb,MAAM;EACN,SAAS;EACT,YAAY;EACZ,KAAK;EACL,QAAQ;EACR,MAAM;CACR;CACA,WAAW;EACT,MAAM;EACN,SAAS;EACT,YAAY;EACZ,KAAK;EACL,QAAQ;EACR,MAAM;CACR;CACA,UAAU;EACR,MAAM;EACN,SAAS;EACT,YAAY;EACZ,KAAK;EACL,QAAQ;EACR,MAAM;CACR;AACF;AACA,MAAM,cAAc,OAAO,KAAK,MAAM"}