5 lines
1.8 KiB
JavaScript
5 lines
1.8 KiB
JavaScript
/* interact.js 1.10.27 | https://raw.github.com/taye/interact.js/main/LICENSE */
|
|
|
|
import{Modification}from"./Modification.prod.js";import"../utils/clone.prod.js";import"../utils/extend.prod.js";import"../utils/rect.prod.js";function makeModifier(t,e){const{defaults:i}=t,o={start:t.start,set:t.set,beforeEnd:t.beforeEnd,stop:t.stop},n=t=>{const n=t||{};n.enabled=!1!==n.enabled;for(const t in i)t in n||(n[t]=i[t]);const r={options:n,methods:o,name:e,enable(){return n.enabled=!0,r},disable(){return n.enabled=!1,r}};return r};return e&&"string"==typeof e&&(n._defaults=i,n._methods=o),n}function addEventModifiers(t){let{iEvent:e,interaction:i}=t;const o=i.modification.result;o&&(e.modifiers=o.eventProps)}const modifiersBase={id:"modifiers/base",before:["actions"],install(t){t.defaults.perAction.modifiers=[]},listeners:{"interactions:new"(t){let{interaction:e}=t;e.modification=new Modification(e)},"interactions:before-action-start"(t){const{interaction:e}=t,i=t.interaction.modification;i.start(t,e.coords.start.page),e.edges=i.edges,i.applyToInteraction(t)},"interactions:before-action-move"(t){const{interaction:e}=t,{modification:i}=e,o=i.setAndApply(t);return e.edges=i.edges,o},"interactions:before-action-end"(t){const{interaction:e}=t,{modification:i}=e,o=i.beforeEnd(t);return e.edges=i.startEdges,o},"interactions:action-start":addEventModifiers,"interactions:action-move":addEventModifiers,"interactions:action-end":addEventModifiers,"interactions:after-action-start"(t){return t.interaction.modification.restoreInteractionCoords(t)},"interactions:after-action-move"(t){return t.interaction.modification.restoreInteractionCoords(t)},"interactions:stop"(t){return t.interaction.modification.stop(t)}}};export{addEventModifiers,modifiersBase as default,makeModifier};
|
|
//# sourceMappingURL=base.prod.js.map
|