5 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			5 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
/* interact.js 1.10.27 | https://raw.github.com/taye/interact.js/main/LICENSE */
 | 
						|
 | 
						|
import extend from"../../utils/extend.prod.js";import getOriginXY from"../../utils/getOriginXY.prod.js";import hypot from"../../utils/hypot.prod.js";import is from"../../utils/is.prod.js";import{resolveRectLike,rectToXY}from"../../utils/rect.prod.js";import{makeModifier}from"../base.prod.js";import"../Modification.prod.js";import"../../utils/clone.prod.js";function start(t){const{interaction:e,interactable:n,element:r,rect:i,state:o,startOffset:s}=t,{options:a}=o,l=a.offsetWithOrigin?getOrigin(t):{x:0,y:0};let g;if("startCoords"===a.offset)g={x:e.coords.start.page.x,y:e.coords.start.page.y};else{const t=resolveRectLike(a.offset,n,r,[e]);g=rectToXY(t)||{x:0,y:0},g.x+=l.x,g.y+=l.y}const{relativePoints:f}=a;o.offsets=i&&f&&f.length?f.map(((t,e)=>({index:e,relativePoint:t,x:s.left-i.width*t.x+g.x,y:s.top-i.height*t.y+g.y}))):[{index:0,relativePoint:null,x:g.x,y:g.y}]}function set(t){const{interaction:e,coords:n,state:r}=t,{options:i,offsets:o}=r,s=getOriginXY(e.interactable,e.element,e.prepared.name),a=extend({},n),l=[];i.offsetWithOrigin||(a.x-=s.x,a.y-=s.y);for(const t of o){const n=a.x-t.x,r=a.y-t.y;for(let o=0,s=i.targets.length;o<s;o++){const s=i.targets[o];let a;a=is.func(s)?s(n,r,e._proxy,t,o):s,a&&l.push({x:(is.number(a.x)?a.x:n)+t.x,y:(is.number(a.y)?a.y:r)+t.y,range:is.number(a.range)?a.range:i.range,source:s,index:o,offset:t})}}const g={target:null,inRange:!1,distance:0,range:0,delta:{x:0,y:0}};for(const t of l){const e=t.range,n=t.x-a.x,r=t.y-a.y,i=hypot(n,r);let o=i<=e;e===1/0&&g.inRange&&g.range!==1/0&&(o=!1),g.target&&!(o?g.inRange&&e!==1/0?i/e<g.distance/g.range:e===1/0&&g.range!==1/0||i<g.distance:!g.inRange&&i<g.distance)||(g.target=t,g.distance=i,g.range=e,g.inRange=o,g.delta.x=n,g.delta.y=r)}return g.inRange&&(n.x=g.target.x,n.y=g.target.y),r.closest=g,g}function getOrigin(t){const{element:e}=t.interaction;return rectToXY(resolveRectLike(t.state.options.origin,null,null,[e]))||getOriginXY(t.interactable,e,t.interaction.prepared.name)}const defaults={range:1/0,targets:null,offset:null,offsetWithOrigin:!0,origin:null,relativePoints:null,endOnly:!1,enabled:!1},snap={start:start,set:set,defaults:defaults};var snap$1=makeModifier(snap,"snap");export{snap$1 as default,snap};
 | 
						|
//# sourceMappingURL=pointer.prod.js.map
 |