{ "version": 3, "sources": [ "interactableTargets.ts" ], "names": [ "Interactable", "extend", "pointerEventsMethod", "options", "this", "events", "plugin", "id", "install", "scope", "prototype", "pointerEvents", "__backCompatOption", "_backCompatOption", "optionName", "newValue", "ret", "call", "listeners", "[object Object]", "targets", "node", "type", "eventTarget", "interactables", "forEachMatch", "interactable", "eventable", "types", "length", "testIgnoreAllow", "push", "props", "getRect", "element", "defaults" ], "mappings": "uBAASA,MAAoB,sCAGtBC,MAAY,0BA2BnB,SAASC,EAAyCC,GAGhD,OAFAF,EAAOG,KAAKC,OAAOF,QAASA,GAErBC,KAGT,MAAME,EAAiB,CACrBC,GAAI,qCACJC,QA1BgBC,GAChB,MAAMT,aAAEA,GAAiBS,EAEzBT,EAAaU,UAAUC,cAAgBT,EAEvC,MAAMU,EAAqBZ,EAAaU,UAAUG,kBAElDb,EAAaU,UAAUG,kBAAoB,SAAUC,EAAYC,GAC/D,MAAMC,EAAMJ,EAAmBK,KAAKb,KAAMU,EAAYC,GAMtD,OAJIC,IAAQZ,OACVA,KAAKC,OAAOF,QAAQW,GAAcC,GAG7BC,IAaTE,UAAW,CACTC,iCACEC,QAAAA,EACAC,KAAAA,EACAC,KAAAA,EACAC,YAAAA,GACCd,GACDA,EAAMe,cAAcC,aAAaJ,GAAOK,IACtC,MAAMC,EAAYD,EAAarB,OACzBF,EAAUwB,EAAUxB,QAGxBwB,EAAUC,MAAMN,IAChBK,EAAUC,MAAMN,GAAMO,QACxBH,EAAaI,gBAAgB3B,EAASkB,EAAME,IAC1CH,EAAQW,KAAK,CACXV,KAAAA,EACAM,UAAAA,EACAK,MAAO,CAAEN,aAAAA,SAMjBP,oBAAuBO,aAAAA,IACrBA,EAAarB,OAAO4B,QAAoBC,GAC/BR,EAAaO,QAAQC,IAIhCf,oBAAuBO,aAAAA,EAAcvB,QAAAA,GAAWM,GAC9CR,EAAOyB,EAAarB,OAAOF,QAASM,EAAME,cAAcwB,UACxDlC,EAAOyB,EAAarB,OAAOF,QAASA,EAAQQ,eAAiB,sBAKpDL", "sourcesContent": [ "import { Interactable } from '@interactjs/core/Interactable'\nimport { Scope, Plugin } from '@interactjs/core/scope'\nimport { Element } from '@interactjs/types/index'\nimport extend from '@interactjs/utils/extend'\n\ndeclare module '@interactjs/core/Interactable' {\n interface Interactable {\n pointerEvents: typeof pointerEventsMethod\n __backCompatOption: (optionName: string, newValue: any) => any\n }\n}\n\nfunction install (scope: Scope) {\n const { Interactable } = scope\n\n Interactable.prototype.pointerEvents = pointerEventsMethod\n\n const __backCompatOption = Interactable.prototype._backCompatOption\n\n Interactable.prototype._backCompatOption = function (optionName, newValue) {\n const ret = __backCompatOption.call(this, optionName, newValue)\n\n if (ret === this) {\n this.events.options[optionName] = newValue\n }\n\n return ret\n }\n}\n\nfunction pointerEventsMethod (this: Interactable, options: any) {\n extend(this.events.options, options)\n\n return this\n}\n\nconst plugin: Plugin = {\n id: 'pointer-events/interactableTargets',\n install,\n listeners: {\n 'pointerEvents:collect-targets': ({\n targets,\n node,\n type,\n eventTarget,\n }, scope) => {\n scope.interactables.forEachMatch(node, (interactable: Interactable) => {\n const eventable = interactable.events\n const options = eventable.options\n\n if (\n eventable.types[type] &&\n eventable.types[type].length &&\n interactable.testIgnoreAllow(options, node, eventTarget)) {\n targets.push({\n node,\n eventable,\n props: { interactable },\n })\n }\n })\n },\n\n 'interactable:new': ({ interactable }) => {\n interactable.events.getRect = function (element: Element) {\n return interactable.getRect(element)\n }\n },\n\n 'interactable:set': ({ interactable, options }, scope) => {\n extend(interactable.events.options, scope.pointerEvents.defaults)\n extend(interactable.events.options, options.pointerEvents || {})\n },\n },\n}\n\nexport default plugin\n" ] }