@interactjs/modifiers
Advanced tools
| /** | ||
| * interact.js 1.10.26 | ||
| * | ||
| * Copyright (c) 2012-present Taye Adeyemi <dev@taye.me> | ||
| * Released under the MIT License. | ||
| * https://raw.github.com/taye/interact.js/main/LICENSE | ||
| */ | ||
| export { default } from '../noop.js'; | ||
| //# sourceMappingURL=avoid.stub.js.map |
| {"version":3,"file":"avoid.stub.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;"} |
| /* interact.js 1.10.26 | https://raw.github.com/taye/interact.js/main/LICENSE */ | ||
| export{default}from"../noop.prod.js"; | ||
| //# sourceMappingURL=avoid.stub.prod.js.map |
| {"version":3,"file":"avoid.stub.prod.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;"} |
| /** | ||
| * interact.js 1.10.26 | ||
| * | ||
| * Copyright (c) 2012-present Taye Adeyemi <dev@taye.me> | ||
| * Released under the MIT License. | ||
| * https://raw.github.com/taye/interact.js/main/LICENSE | ||
| */ | ||
| export { default } from '../noop.js'; | ||
| //# sourceMappingURL=rubberband.stub.js.map |
| {"version":3,"file":"rubberband.stub.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;"} |
| /* interact.js 1.10.26 | https://raw.github.com/taye/interact.js/main/LICENSE */ | ||
| export{default}from"../noop.prod.js"; | ||
| //# sourceMappingURL=rubberband.stub.prod.js.map |
| {"version":3,"file":"rubberband.stub.prod.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;"} |
| /** | ||
| * interact.js 1.10.26 | ||
| * | ||
| * Copyright (c) 2012-present Taye Adeyemi <dev@taye.me> | ||
| * Released under the MIT License. | ||
| * https://raw.github.com/taye/interact.js/main/LICENSE | ||
| */ | ||
| export { default } from '../noop.js'; | ||
| //# sourceMappingURL=spring.stub.js.map |
| {"version":3,"file":"spring.stub.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;"} |
| /* interact.js 1.10.26 | https://raw.github.com/taye/interact.js/main/LICENSE */ | ||
| export{default}from"../noop.prod.js"; | ||
| //# sourceMappingURL=spring.stub.prod.js.map |
| {"version":3,"file":"spring.stub.prod.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;"} |
| /** | ||
| * interact.js 1.10.26 | ||
| * | ||
| * Copyright (c) 2012-present Taye Adeyemi <dev@taye.me> | ||
| * Released under the MIT License. | ||
| * https://raw.github.com/taye/interact.js/main/LICENSE | ||
| */ | ||
| export { default } from '../noop.js'; | ||
| //# sourceMappingURL=transform.stub.js.map |
| {"version":3,"file":"transform.stub.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;"} |
| /* interact.js 1.10.26 | https://raw.github.com/taye/interact.js/main/LICENSE */ | ||
| export{default}from"../noop.prod.js"; | ||
| //# sourceMappingURL=transform.stub.prod.js.map |
| {"version":3,"file":"transform.stub.prod.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;"} |
+40
-32
@@ -1,35 +0,43 @@ | ||
| "use strict"; | ||
| /** | ||
| * interact.js 1.10.26 | ||
| * | ||
| * Copyright (c) 2012-present Taye Adeyemi <dev@taye.me> | ||
| * Released under the MIT License. | ||
| * https://raw.github.com/taye/interact.js/main/LICENSE | ||
| */ | ||
| Object.defineProperty(exports, "__esModule", { | ||
| value: true | ||
| }); | ||
| exports.default = void 0; | ||
| var _aspectRatio = _interopRequireDefault(require("./aspectRatio")); | ||
| var _avoid = _interopRequireDefault(require("./avoid/avoid")); | ||
| var _edges = _interopRequireDefault(require("./restrict/edges")); | ||
| var _pointer = _interopRequireDefault(require("./restrict/pointer")); | ||
| var _rect = _interopRequireDefault(require("./restrict/rect")); | ||
| var _size = _interopRequireDefault(require("./restrict/size")); | ||
| var _rubberband = _interopRequireDefault(require("./rubberband/rubberband")); | ||
| var _edges2 = _interopRequireDefault(require("./snap/edges")); | ||
| var _pointer2 = _interopRequireDefault(require("./snap/pointer")); | ||
| var _size2 = _interopRequireDefault(require("./snap/size")); | ||
| var _spring = _interopRequireDefault(require("./spring/spring")); | ||
| var _transform = _interopRequireDefault(require("./transform/transform")); | ||
| function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | ||
| import aspectRatio from './aspectRatio.js'; | ||
| import restrictEdges from './restrict/edges.js'; | ||
| import restrict from './restrict/pointer.js'; | ||
| import restrictRect from './restrict/rect.js'; | ||
| import restrictSize from './restrict/size.js'; | ||
| import snapEdges from './snap/edges.js'; | ||
| import snap from './snap/pointer.js'; | ||
| import snapSize from './snap/size.js'; | ||
| import noop from './noop.js'; | ||
| import "../utils/extend.js"; | ||
| import "../utils/rect.js"; | ||
| import './base.js'; | ||
| import './Modification.js'; | ||
| import "../utils/clone.js"; | ||
| import "../utils/is.js"; | ||
| import "../utils/getOriginXY.js"; | ||
| import "../utils/hypot.js"; | ||
| /* eslint-disable n/no-extraneous-import, import/no-unresolved */ | ||
| var _default = exports.default = { | ||
| aspectRatio: _aspectRatio.default, | ||
| restrictEdges: _edges.default, | ||
| restrict: _pointer.default, | ||
| restrictRect: _rect.default, | ||
| restrictSize: _size.default, | ||
| snapEdges: _edges2.default, | ||
| snap: _pointer2.default, | ||
| snapSize: _size2.default, | ||
| spring: _spring.default, | ||
| avoid: _avoid.default, | ||
| transform: _transform.default, | ||
| rubberband: _rubberband.default | ||
| var all = { | ||
| aspectRatio, | ||
| restrictEdges, | ||
| restrict, | ||
| restrictRect, | ||
| restrictSize, | ||
| snapEdges, | ||
| snap, | ||
| snapSize, | ||
| spring: noop, | ||
| avoid: noop, | ||
| transform: noop, | ||
| rubberband: noop | ||
| }; | ||
| //# sourceMappingURL=all.js.map | ||
| export { all as default }; | ||
| //# sourceMappingURL=all.js.map |
+1
-43
@@ -1,43 +0,1 @@ | ||
| { | ||
| "version": 3, | ||
| "names": [ | ||
| "_aspectRatio", | ||
| "_interopRequireDefault", | ||
| "require", | ||
| "_avoid", | ||
| "_edges", | ||
| "_pointer", | ||
| "_rect", | ||
| "_size", | ||
| "_rubberband", | ||
| "_edges2", | ||
| "_pointer2", | ||
| "_size2", | ||
| "_spring", | ||
| "_transform", | ||
| "obj", | ||
| "__esModule", | ||
| "default", | ||
| "_default", | ||
| "exports", | ||
| "aspectRatio", | ||
| "restrictEdges", | ||
| "restrict", | ||
| "restrictRect", | ||
| "restrictSize", | ||
| "snapEdges", | ||
| "snap", | ||
| "snapSize", | ||
| "spring", | ||
| "avoid", | ||
| "transform", | ||
| "rubberband" | ||
| ], | ||
| "sources": [ | ||
| "all.ts" | ||
| ], | ||
| "sourcesContent": [ | ||
| "/* eslint-disable n/no-extraneous-import, import/no-unresolved */\nimport aspectRatio from './aspectRatio'\nimport avoid from './avoid/avoid'\nimport restrictEdges from './restrict/edges'\nimport restrict from './restrict/pointer'\nimport restrictRect from './restrict/rect'\nimport restrictSize from './restrict/size'\nimport rubberband from './rubberband/rubberband'\nimport snapEdges from './snap/edges'\nimport snap from './snap/pointer'\nimport snapSize from './snap/size'\nimport spring from './spring/spring'\nimport transform from './transform/transform'\n\nexport default {\n aspectRatio,\n restrictEdges,\n restrict,\n restrictRect,\n restrictSize,\n snapEdges,\n snap,\n snapSize,\n\n spring,\n avoid,\n transform,\n rubberband,\n}\n" | ||
| ], | ||
| "mappings": ";;;;;;AACA,IAAAA,YAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,MAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,MAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,QAAA,GAAAJ,sBAAA,CAAAC,OAAA;AACA,IAAAI,KAAA,GAAAL,sBAAA,CAAAC,OAAA;AACA,IAAAK,KAAA,GAAAN,sBAAA,CAAAC,OAAA;AACA,IAAAM,WAAA,GAAAP,sBAAA,CAAAC,OAAA;AACA,IAAAO,OAAA,GAAAR,sBAAA,CAAAC,OAAA;AACA,IAAAQ,SAAA,GAAAT,sBAAA,CAAAC,OAAA;AACA,IAAAS,MAAA,GAAAV,sBAAA,CAAAC,OAAA;AACA,IAAAU,OAAA,GAAAX,sBAAA,CAAAC,OAAA;AACA,IAAAW,UAAA,GAAAZ,sBAAA,CAAAC,OAAA;AAA6C,SAAAD,uBAAAa,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAZ7C;AAAA,IAAAG,QAAA,GAAAC,OAAA,CAAAF,OAAA,GAce;EACbG,WAAW,EAAXA,oBAAW;EACXC,aAAa,EAAbA,cAAa;EACbC,QAAQ,EAARA,gBAAQ;EACRC,YAAY,EAAZA,aAAY;EACZC,YAAY,EAAZA,aAAY;EACZC,SAAS,EAATA,eAAS;EACTC,IAAI,EAAJA,iBAAI;EACJC,QAAQ,EAARA,cAAQ;EAERC,MAAM,EAANA,eAAM;EACNC,KAAK,EAALA,cAAK;EACLC,SAAS,EAATA,kBAAS;EACTC,UAAU,EAAVA;AACF,CAAC" | ||
| } | ||
| {"version":3,"file":"all.js","sources":["all.ts"],"sourcesContent":["/* eslint-disable n/no-extraneous-import, import/no-unresolved */\nimport aspectRatio from './aspectRatio'\nimport avoid from './avoid/avoid'\nimport restrictEdges from './restrict/edges'\nimport restrict from './restrict/pointer'\nimport restrictRect from './restrict/rect'\nimport restrictSize from './restrict/size'\nimport rubberband from './rubberband/rubberband'\nimport snapEdges from './snap/edges'\nimport snap from './snap/pointer'\nimport snapSize from './snap/size'\nimport spring from './spring/spring'\nimport transform from './transform/transform'\n\nexport default {\n aspectRatio,\n restrictEdges,\n restrict,\n restrictRect,\n restrictSize,\n snapEdges,\n snap,\n snapSize,\n\n spring,\n avoid,\n transform,\n rubberband,\n}\n"],"names":["aspectRatio","restrictEdges","restrict","restrictRect","restrictSize","snapEdges","snap","snapSize","spring","avoid","transform","rubberband"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAcA,UAAe;EACbA,WAAW;EACXC,aAAa;EACbC,QAAQ;EACRC,YAAY;EACZC,YAAY;EACZC,SAAS;EACTC,IAAI;EACJC,QAAQ;UAERC,IAAM;SACNC,IAAK;aACLC,IAAS;AACTC,cAAAA,IAAAA;AACF,CAAC;;;;"} |
+4
-2
@@ -1,2 +0,4 @@ | ||
| Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var e=p(require("./aspectRatio")),r=p(require("./avoid/avoid")),t=p(require("./restrict/edges")),i=p(require("./restrict/pointer")),a=p(require("./restrict/rect")),u=p(require("./restrict/size")),s=p(require("./rubberband/rubberband")),d=p(require("./snap/edges")),n=p(require("./snap/pointer")),f=p(require("./snap/size")),l=p(require("./spring/spring")),o=p(require("./transform/transform"));function p(e){return e&&e.__esModule?e:{default:e}}exports.default={aspectRatio:e.default,restrictEdges:t.default,restrict:i.default,restrictRect:a.default,restrictSize:u.default,snapEdges:d.default,snap:n.default,snapSize:f.default,spring:l.default,avoid:r.default,transform:o.default,rubberband:s.default}; | ||
| //# sourceMappingURL=all.prod.js.map | ||
| /* interact.js 1.10.26 | https://raw.github.com/taye/interact.js/main/LICENSE */ | ||
| import aspectRatio from"./aspectRatio.prod.js";import restrictEdges from"./restrict/edges.prod.js";import restrict from"./restrict/pointer.prod.js";import restrictRect from"./restrict/rect.prod.js";import restrictSize from"./restrict/size.prod.js";import snapEdges from"./snap/edges.prod.js";import snap from"./snap/pointer.prod.js";import snapSize from"./snap/size.prod.js";import noop from"./noop.prod.js";import"../utils/extend.prod.js";import"../utils/rect.prod.js";import"./base.prod.js";import"./Modification.prod.js";import"../utils/clone.prod.js";import"../utils/is.prod.js";import"../utils/getOriginXY.prod.js";import"../utils/hypot.prod.js";var all={aspectRatio:aspectRatio,restrictEdges:restrictEdges,restrict:restrict,restrictRect:restrictRect,restrictSize:restrictSize,snapEdges:snapEdges,snap:snap,snapSize:snapSize,spring:noop,avoid:noop,transform:noop,rubberband:noop};export{all as default}; | ||
| //# sourceMappingURL=all.prod.js.map |
+1
-42
@@ -1,42 +0,1 @@ | ||
| { | ||
| "version": 3, | ||
| "names": [ | ||
| "_aspectRatio", | ||
| "_interopRequireDefault", | ||
| "require", | ||
| "_avoid", | ||
| "_edges", | ||
| "_pointer", | ||
| "_rect", | ||
| "_size", | ||
| "_rubberband", | ||
| "_edges2", | ||
| "_pointer2", | ||
| "_size2", | ||
| "_spring", | ||
| "_transform", | ||
| "obj", | ||
| "__esModule", | ||
| "default", | ||
| "exports", | ||
| "aspectRatio", | ||
| "restrictEdges", | ||
| "restrict", | ||
| "restrictRect", | ||
| "restrictSize", | ||
| "snapEdges", | ||
| "snap", | ||
| "snapSize", | ||
| "spring", | ||
| "avoid", | ||
| "transform", | ||
| "rubberband" | ||
| ], | ||
| "sources": [ | ||
| "all.ts" | ||
| ], | ||
| "sourcesContent": [ | ||
| "/* eslint-disable n/no-extraneous-import, import/no-unresolved */\nimport aspectRatio from './aspectRatio'\nimport avoid from './avoid/avoid'\nimport restrictEdges from './restrict/edges'\nimport restrict from './restrict/pointer'\nimport restrictRect from './restrict/rect'\nimport restrictSize from './restrict/size'\nimport rubberband from './rubberband/rubberband'\nimport snapEdges from './snap/edges'\nimport snap from './snap/pointer'\nimport snapSize from './snap/size'\nimport spring from './spring/spring'\nimport transform from './transform/transform'\n\nexport default {\n aspectRatio,\n restrictEdges,\n restrict,\n restrictRect,\n restrictSize,\n snapEdges,\n snap,\n snapSize,\n\n spring,\n avoid,\n transform,\n rubberband,\n}\n" | ||
| ], | ||
| "mappings": "8EACA,IAAAA,EAAAC,EAAAC,QAAA,kBACAC,EAAAF,EAAAC,QAAA,kBACAE,EAAAH,EAAAC,QAAA,qBACAG,EAAAJ,EAAAC,QAAA,uBACAI,EAAAL,EAAAC,QAAA,oBACAK,EAAAN,EAAAC,QAAA,oBACAM,EAAAP,EAAAC,QAAA,4BACAO,EAAAR,EAAAC,QAAA,iBACAQ,EAAAT,EAAAC,QAAA,mBACAS,EAAAV,EAAAC,QAAA,gBACAU,EAAAX,EAAAC,QAAA,oBACAW,EAAAZ,EAAAC,QAAA,0BAA6C,SAAAD,EAAAa,GAAA,OAAAA,KAAAC,WAAAD,EAAA,CAAAE,QAAAF,EAAA,CAZ7CG,QAAAD,QAce,CACbE,sBACAC,wBACAC,mBACAC,uBACAC,uBACAC,oBACAC,eACAC,mBAEAC,iBACAC,gBACAC,oBACAC" | ||
| } | ||
| {"version":3,"file":"all.prod.js","sources":["all.ts"],"sourcesContent":["/* eslint-disable n/no-extraneous-import, import/no-unresolved */\nimport aspectRatio from './aspectRatio'\nimport avoid from './avoid/avoid'\nimport restrictEdges from './restrict/edges'\nimport restrict from './restrict/pointer'\nimport restrictRect from './restrict/rect'\nimport restrictSize from './restrict/size'\nimport rubberband from './rubberband/rubberband'\nimport snapEdges from './snap/edges'\nimport snap from './snap/pointer'\nimport snapSize from './snap/size'\nimport spring from './spring/spring'\nimport transform from './transform/transform'\n\nexport default {\n aspectRatio,\n restrictEdges,\n restrict,\n restrictRect,\n restrictSize,\n snapEdges,\n snap,\n snapSize,\n\n spring,\n avoid,\n transform,\n rubberband,\n}\n"],"names":["all","aspectRatio","restrictEdges","restrict","restrictRect","restrictSize","snapEdges","snap","snapSize","spring","avoid","transform","rubberband"],"mappings":";;2oBAcA,IAAeA,IAAA,CACbC,wBACAC,4BACAC,kBACAC,0BACAC,0BACAC,oBACAC,UACAC,yBAEAC,WACAC,eACAC,KACAC,WAAAA"} |
+38
-32
@@ -1,12 +0,15 @@ | ||
| "use strict"; | ||
| /** | ||
| * interact.js 1.10.26 | ||
| * | ||
| * Copyright (c) 2012-present Taye Adeyemi <dev@taye.me> | ||
| * Released under the MIT License. | ||
| * https://raw.github.com/taye/interact.js/main/LICENSE | ||
| */ | ||
| Object.defineProperty(exports, "__esModule", { | ||
| value: true | ||
| }); | ||
| exports.default = exports.aspectRatio = void 0; | ||
| var _extend = _interopRequireDefault(require("../utils/extend.js")); | ||
| var _rect = require("../utils/rect.js"); | ||
| var _base = require("./base"); | ||
| var _Modification = require("./Modification"); | ||
| function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | ||
| import extend from "../utils/extend.js"; | ||
| import { addEdges } from "../utils/rect.js"; | ||
| import { makeModifier } from './base.js'; | ||
| import { Modification } from './Modification.js'; | ||
| import "../utils/clone.js"; | ||
| /** | ||
@@ -30,3 +33,3 @@ * @module modifiers/aspectRatio | ||
| const aspectRatio = exports.aspectRatio = { | ||
| const aspectRatio = { | ||
| start(arg) { | ||
@@ -50,4 +53,4 @@ const { | ||
| } | ||
| state.startCoords = (0, _extend.default)({}, coords); | ||
| state.startRect = (0, _extend.default)({}, rect); | ||
| state.startCoords = extend({}, coords); | ||
| state.startRect = extend({}, rect); | ||
| state.ratio = ratio; | ||
@@ -75,6 +78,6 @@ state.equalDelta = equalDelta; | ||
| if (enabled !== false) { | ||
| (0, _extend.default)(edges, linkedEdges); | ||
| extend(edges, linkedEdges); | ||
| } | ||
| if (!(modifiers != null && modifiers.length)) return; | ||
| const subModification = new _Modification.Modification(arg.interaction); | ||
| const subModification = new Modification(arg.interaction); | ||
| subModification.copyFrom(arg.interaction.modification); | ||
@@ -96,5 +99,5 @@ subModification.prepareStates(modifiers); | ||
| } = state; | ||
| const initialCoords = (0, _extend.default)({}, coords); | ||
| const initialCoords = extend({}, coords); | ||
| const aspectMethod = state.equalDelta ? setEqualDelta : setRatio; | ||
| (0, _extend.default)(arg.edges, linkedEdges); | ||
| extend(arg.edges, linkedEdges); | ||
| aspectMethod(state, state.xIsPrimaryAxis, coords, rect); | ||
@@ -104,4 +107,4 @@ if (!state.subModification) { | ||
| } | ||
| const correctedRect = (0, _extend.default)({}, rect); | ||
| (0, _rect.addEdges)(linkedEdges, correctedRect, { | ||
| const correctedRect = extend({}, rect); | ||
| addEdges(linkedEdges, correctedRect, { | ||
| x: coords.x - initialCoords.x, | ||
@@ -126,3 +129,3 @@ y: coords.y - initialCoords.y | ||
| aspectMethod(state, xIsCriticalAxis, result.coords, result.rect); | ||
| (0, _extend.default)(coords, result.coords); | ||
| extend(coords, result.coords); | ||
| } | ||
@@ -138,6 +141,7 @@ return result.eventProps; | ||
| }; | ||
| function setEqualDelta({ | ||
| startCoords, | ||
| edgeSign | ||
| }, xIsPrimaryAxis, coords) { | ||
| function setEqualDelta(_ref, xIsPrimaryAxis, coords) { | ||
| let { | ||
| startCoords, | ||
| edgeSign | ||
| } = _ref; | ||
| if (xIsPrimaryAxis) { | ||
@@ -149,8 +153,9 @@ coords.y = startCoords.y + (coords.x - startCoords.x) * edgeSign.y; | ||
| } | ||
| function setRatio({ | ||
| startRect, | ||
| startCoords, | ||
| ratio, | ||
| edgeSign | ||
| }, xIsPrimaryAxis, coords, rect) { | ||
| function setRatio(_ref2, xIsPrimaryAxis, coords, rect) { | ||
| let { | ||
| startRect, | ||
| startCoords, | ||
| ratio, | ||
| edgeSign | ||
| } = _ref2; | ||
| if (xIsPrimaryAxis) { | ||
@@ -164,3 +169,4 @@ const newHeight = rect.width / ratio; | ||
| } | ||
| var _default = exports.default = (0, _base.makeModifier)(aspectRatio, 'aspectRatio'); | ||
| //# sourceMappingURL=aspectRatio.js.map | ||
| var aspectRatio$1 = makeModifier(aspectRatio, 'aspectRatio'); | ||
| export { aspectRatio, aspectRatio$1 as default }; | ||
| //# sourceMappingURL=aspectRatio.js.map |
+1
-80
@@ -1,80 +0,1 @@ | ||
| { | ||
| "version": 3, | ||
| "names": [ | ||
| "_extend", | ||
| "_interopRequireDefault", | ||
| "require", | ||
| "_rect", | ||
| "_base", | ||
| "_Modification", | ||
| "obj", | ||
| "__esModule", | ||
| "default", | ||
| "aspectRatio", | ||
| "exports", | ||
| "start", | ||
| "arg", | ||
| "state", | ||
| "rect", | ||
| "edges", | ||
| "pageCoords", | ||
| "coords", | ||
| "ratio", | ||
| "enabled", | ||
| "options", | ||
| "equalDelta", | ||
| "modifiers", | ||
| "width", | ||
| "height", | ||
| "startCoords", | ||
| "extend", | ||
| "startRect", | ||
| "linkedEdges", | ||
| "top", | ||
| "left", | ||
| "bottom", | ||
| "right", | ||
| "xIsPrimaryAxis", | ||
| "sign", | ||
| "edgeSign", | ||
| "x", | ||
| "y", | ||
| "length", | ||
| "subModification", | ||
| "Modification", | ||
| "interaction", | ||
| "copyFrom", | ||
| "modification", | ||
| "prepareStates", | ||
| "startAll", | ||
| "set", | ||
| "initialCoords", | ||
| "aspectMethod", | ||
| "setEqualDelta", | ||
| "setRatio", | ||
| "correctedRect", | ||
| "addEdges", | ||
| "result", | ||
| "setAll", | ||
| "prevCoords", | ||
| "prevRect", | ||
| "delta", | ||
| "changed", | ||
| "xIsCriticalAxis", | ||
| "Math", | ||
| "abs", | ||
| "eventProps", | ||
| "defaults", | ||
| "newHeight", | ||
| "newWidth", | ||
| "_default", | ||
| "makeModifier" | ||
| ], | ||
| "sources": [ | ||
| "aspectRatio.ts" | ||
| ], | ||
| "sourcesContent": [ | ||
| "/**\n * @module modifiers/aspectRatio\n *\n * @description\n * This modifier forces elements to be resized with a specified dx/dy ratio.\n *\n * ```js\n * interact(target).resizable({\n * modifiers: [\n * interact.modifiers.snapSize({\n * targets: [ interact.snappers.grid({ x: 20, y: 20 }) ],\n * }),\n * interact.aspectRatio({ ratio: 'preserve' }),\n * ],\n * });\n * ```\n */\n\nimport type { Point, Rect, EdgeOptions } from '@interactjs/core/types'\nimport extend from '@interactjs/utils/extend'\nimport { addEdges } from '@interactjs/utils/rect'\n\nimport { makeModifier } from './base'\nimport { Modification } from './Modification'\nimport type { Modifier, ModifierModule, ModifierState } from './types'\n\nexport interface AspectRatioOptions {\n ratio?: number | 'preserve'\n equalDelta?: boolean\n modifiers?: Modifier[]\n enabled?: boolean\n}\n\nexport type AspectRatioState = ModifierState<\n AspectRatioOptions,\n {\n startCoords: Point\n startRect: Rect\n linkedEdges: EdgeOptions\n ratio: number\n equalDelta: boolean\n xIsPrimaryAxis: boolean\n edgeSign: {\n x: number\n y: number\n }\n subModification: Modification\n }\n>\n\nconst aspectRatio: ModifierModule<AspectRatioOptions, AspectRatioState> = {\n start(arg) {\n const { state, rect, edges, pageCoords: coords } = arg\n let { ratio, enabled } = state.options\n const { equalDelta, modifiers } = state.options\n\n if (ratio === 'preserve') {\n ratio = rect.width / rect.height\n }\n\n state.startCoords = extend({}, coords)\n state.startRect = extend({}, rect)\n state.ratio = ratio\n state.equalDelta = equalDelta\n\n const linkedEdges = (state.linkedEdges = {\n top: edges.top || (edges.left && !edges.bottom),\n left: edges.left || (edges.top && !edges.right),\n bottom: edges.bottom || (edges.right && !edges.top),\n right: edges.right || (edges.bottom && !edges.left),\n })\n\n state.xIsPrimaryAxis = !!(edges.left || edges.right)\n\n if (state.equalDelta) {\n const sign = (linkedEdges.left ? 1 : -1) * (linkedEdges.top ? 1 : -1)\n state.edgeSign = {\n x: sign,\n y: sign,\n }\n } else {\n state.edgeSign = {\n x: linkedEdges.left ? -1 : 1,\n y: linkedEdges.top ? -1 : 1,\n }\n }\n\n if (enabled !== false) {\n extend(edges, linkedEdges)\n }\n\n if (!modifiers?.length) return\n\n const subModification = new Modification(arg.interaction)\n\n subModification.copyFrom(arg.interaction.modification)\n subModification.prepareStates(modifiers)\n\n state.subModification = subModification\n subModification.startAll({ ...arg })\n },\n\n set(arg) {\n const { state, rect, coords } = arg\n const { linkedEdges } = state\n const initialCoords = extend({}, coords)\n const aspectMethod = state.equalDelta ? setEqualDelta : setRatio\n\n extend(arg.edges, linkedEdges)\n aspectMethod(state, state.xIsPrimaryAxis, coords, rect)\n\n if (!state.subModification) {\n return null\n }\n\n const correctedRect = extend({}, rect)\n\n addEdges(linkedEdges, correctedRect, {\n x: coords.x - initialCoords.x,\n y: coords.y - initialCoords.y,\n })\n\n const result = state.subModification.setAll({\n ...arg,\n rect: correctedRect,\n edges: linkedEdges,\n pageCoords: coords,\n prevCoords: coords,\n prevRect: correctedRect,\n })\n\n const { delta } = result\n\n if (result.changed) {\n const xIsCriticalAxis = Math.abs(delta.x) > Math.abs(delta.y)\n\n // do aspect modification again with critical edge axis as primary\n aspectMethod(state, xIsCriticalAxis, result.coords, result.rect)\n extend(coords, result.coords)\n }\n\n return result.eventProps\n },\n\n defaults: {\n ratio: 'preserve',\n equalDelta: false,\n modifiers: [],\n enabled: false,\n },\n}\n\nfunction setEqualDelta({ startCoords, edgeSign }: AspectRatioState, xIsPrimaryAxis: boolean, coords: Point) {\n if (xIsPrimaryAxis) {\n coords.y = startCoords.y + (coords.x - startCoords.x) * edgeSign.y\n } else {\n coords.x = startCoords.x + (coords.y - startCoords.y) * edgeSign.x\n }\n}\n\nfunction setRatio(\n { startRect, startCoords, ratio, edgeSign }: AspectRatioState,\n xIsPrimaryAxis: boolean,\n coords: Point,\n rect: Rect,\n) {\n if (xIsPrimaryAxis) {\n const newHeight = rect.width / ratio\n\n coords.y = startCoords.y + (newHeight - startRect.height) * edgeSign.y\n } else {\n const newWidth = rect.height * ratio\n\n coords.x = startCoords.x + (newWidth - startRect.width) * edgeSign.x\n }\n}\n\nexport default makeModifier(aspectRatio, 'aspectRatio')\nexport { aspectRatio }\n" | ||
| ], | ||
| "mappings": "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" | ||
| } | ||
| {"version":3,"file":"aspectRatio.js","sources":["aspectRatio.ts"],"sourcesContent":["/**\n * @module modifiers/aspectRatio\n *\n * @description\n * This modifier forces elements to be resized with a specified dx/dy ratio.\n *\n * ```js\n * interact(target).resizable({\n * modifiers: [\n * interact.modifiers.snapSize({\n * targets: [ interact.snappers.grid({ x: 20, y: 20 }) ],\n * }),\n * interact.aspectRatio({ ratio: 'preserve' }),\n * ],\n * });\n * ```\n */\n\nimport type { Point, Rect, EdgeOptions } from '@interactjs/core/types'\nimport extend from '@interactjs/utils/extend'\nimport { addEdges } from '@interactjs/utils/rect'\n\nimport { makeModifier } from './base'\nimport { Modification } from './Modification'\nimport type { Modifier, ModifierModule, ModifierState } from './types'\n\nexport interface AspectRatioOptions {\n ratio?: number | 'preserve'\n equalDelta?: boolean\n modifiers?: Modifier[]\n enabled?: boolean\n}\n\nexport type AspectRatioState = ModifierState<\n AspectRatioOptions,\n {\n startCoords: Point\n startRect: Rect\n linkedEdges: EdgeOptions\n ratio: number\n equalDelta: boolean\n xIsPrimaryAxis: boolean\n edgeSign: {\n x: number\n y: number\n }\n subModification: Modification\n }\n>\n\nconst aspectRatio: ModifierModule<AspectRatioOptions, AspectRatioState> = {\n start(arg) {\n const { state, rect, edges, pageCoords: coords } = arg\n let { ratio, enabled } = state.options\n const { equalDelta, modifiers } = state.options\n\n if (ratio === 'preserve') {\n ratio = rect.width / rect.height\n }\n\n state.startCoords = extend({}, coords)\n state.startRect = extend({}, rect)\n state.ratio = ratio\n state.equalDelta = equalDelta\n\n const linkedEdges = (state.linkedEdges = {\n top: edges.top || (edges.left && !edges.bottom),\n left: edges.left || (edges.top && !edges.right),\n bottom: edges.bottom || (edges.right && !edges.top),\n right: edges.right || (edges.bottom && !edges.left),\n })\n\n state.xIsPrimaryAxis = !!(edges.left || edges.right)\n\n if (state.equalDelta) {\n const sign = (linkedEdges.left ? 1 : -1) * (linkedEdges.top ? 1 : -1)\n state.edgeSign = {\n x: sign,\n y: sign,\n }\n } else {\n state.edgeSign = {\n x: linkedEdges.left ? -1 : 1,\n y: linkedEdges.top ? -1 : 1,\n }\n }\n\n if (enabled !== false) {\n extend(edges, linkedEdges)\n }\n\n if (!modifiers?.length) return\n\n const subModification = new Modification(arg.interaction)\n\n subModification.copyFrom(arg.interaction.modification)\n subModification.prepareStates(modifiers)\n\n state.subModification = subModification\n subModification.startAll({ ...arg })\n },\n\n set(arg) {\n const { state, rect, coords } = arg\n const { linkedEdges } = state\n const initialCoords = extend({}, coords)\n const aspectMethod = state.equalDelta ? setEqualDelta : setRatio\n\n extend(arg.edges, linkedEdges)\n aspectMethod(state, state.xIsPrimaryAxis, coords, rect)\n\n if (!state.subModification) {\n return null\n }\n\n const correctedRect = extend({}, rect)\n\n addEdges(linkedEdges, correctedRect, {\n x: coords.x - initialCoords.x,\n y: coords.y - initialCoords.y,\n })\n\n const result = state.subModification.setAll({\n ...arg,\n rect: correctedRect,\n edges: linkedEdges,\n pageCoords: coords,\n prevCoords: coords,\n prevRect: correctedRect,\n })\n\n const { delta } = result\n\n if (result.changed) {\n const xIsCriticalAxis = Math.abs(delta.x) > Math.abs(delta.y)\n\n // do aspect modification again with critical edge axis as primary\n aspectMethod(state, xIsCriticalAxis, result.coords, result.rect)\n extend(coords, result.coords)\n }\n\n return result.eventProps\n },\n\n defaults: {\n ratio: 'preserve',\n equalDelta: false,\n modifiers: [],\n enabled: false,\n },\n}\n\nfunction setEqualDelta({ startCoords, edgeSign }: AspectRatioState, xIsPrimaryAxis: boolean, coords: Point) {\n if (xIsPrimaryAxis) {\n coords.y = startCoords.y + (coords.x - startCoords.x) * edgeSign.y\n } else {\n coords.x = startCoords.x + (coords.y - startCoords.y) * edgeSign.x\n }\n}\n\nfunction setRatio(\n { startRect, startCoords, ratio, edgeSign }: AspectRatioState,\n xIsPrimaryAxis: boolean,\n coords: Point,\n rect: Rect,\n) {\n if (xIsPrimaryAxis) {\n const newHeight = rect.width / ratio\n\n coords.y = startCoords.y + (newHeight - startRect.height) * edgeSign.y\n } else {\n const newWidth = rect.height * ratio\n\n coords.x = startCoords.x + (newWidth - startRect.width) * edgeSign.x\n }\n}\n\nexport default makeModifier(aspectRatio, 'aspectRatio')\nexport { aspectRatio }\n"],"names":["aspectRatio","start","arg","state","rect","edges","pageCoords","coords","ratio","enabled","options","equalDelta","modifiers","width","height","startCoords","extend","startRect","linkedEdges","top","left","bottom","right","xIsPrimaryAxis","sign","edgeSign","x","y","length","subModification","Modification","interaction","copyFrom","modification","prepareStates","startAll","set","initialCoords","aspectMethod","setEqualDelta","setRatio","correctedRect","addEdges","result","setAll","prevCoords","prevRect","delta","changed","xIsCriticalAxis","Math","abs","eventProps","defaults","_ref","_ref2","newHeight","newWidth","makeModifier"],"mappings":"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"} |
@@ -1,2 +0,4 @@ | ||
| Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.aspectRatio=void 0;var t,e=(t=require("../utils/extend.prod.js"))&&t.__esModule?t:{default:t},o=require("../utils/rect.prod.js"),r=require("./base"),i=require("./Modification");const s=exports.aspectRatio={start(t){const{state:o,rect:r,edges:s,pageCoords:a}=t;let{ratio:d,enabled:l}=o.options;const{equalDelta:n,modifiers:c}=o.options;"preserve"===d&&(d=r.width/r.height),o.startCoords=(0,e.default)({},a),o.startRect=(0,e.default)({},r),o.ratio=d,o.equalDelta=n;const u=o.linkedEdges={top:s.top||s.left&&!s.bottom,left:s.left||s.top&&!s.right,bottom:s.bottom||s.right&&!s.top,right:s.right||s.bottom&&!s.left};if(o.xIsPrimaryAxis=!(!s.left&&!s.right),o.equalDelta){const t=(u.left?1:-1)*(u.top?1:-1);o.edgeSign={x:t,y:t}}else o.edgeSign={x:u.left?-1:1,y:u.top?-1:1};if(!1!==l&&(0,e.default)(s,u),null==c||!c.length)return;const f=new i.Modification(t.interaction);f.copyFrom(t.interaction.modification),f.prepareStates(c),o.subModification=f,f.startAll({...t})},set(t){const{state:r,rect:i,coords:s}=t,{linkedEdges:l}=r,n=(0,e.default)({},s),c=r.equalDelta?a:d;if((0,e.default)(t.edges,l),c(r,r.xIsPrimaryAxis,s,i),!r.subModification)return null;const u=(0,e.default)({},i);(0,o.addEdges)(l,u,{x:s.x-n.x,y:s.y-n.y});const f=r.subModification.setAll({...t,rect:u,edges:l,pageCoords:s,prevCoords:s,prevRect:u}),{delta:p}=f;return f.changed&&(c(r,Math.abs(p.x)>Math.abs(p.y),f.coords,f.rect),(0,e.default)(s,f.coords)),f.eventProps},defaults:{ratio:"preserve",equalDelta:!1,modifiers:[],enabled:!1}};function a({startCoords:t,edgeSign:e},o,r){o?r.y=t.y+(r.x-t.x)*e.y:r.x=t.x+(r.y-t.y)*e.x}function d({startRect:t,startCoords:e,ratio:o,edgeSign:r},i,s,a){if(i){const i=a.width/o;s.y=e.y+(i-t.height)*r.y}else{const i=a.height*o;s.x=e.x+(i-t.width)*r.x}}exports.default=(0,r.makeModifier)(s,"aspectRatio"); | ||
| //# sourceMappingURL=aspectRatio.prod.js.map | ||
| /* interact.js 1.10.26 | https://raw.github.com/taye/interact.js/main/LICENSE */ | ||
| import extend from"../utils/extend.prod.js";import{addEdges}from"../utils/rect.prod.js";import{makeModifier}from"./base.prod.js";import{Modification}from"./Modification.prod.js";import"../utils/clone.prod.js";const aspectRatio={start(t){const{state:e,rect:o,edges:i,pageCoords:s}=t;let{ratio:a,enabled:r}=e.options;const{equalDelta:d,modifiers:n}=e.options;"preserve"===a&&(a=o.width/o.height),e.startCoords=extend({},s),e.startRect=extend({},o),e.ratio=a,e.equalDelta=d;const l=e.linkedEdges={top:i.top||i.left&&!i.bottom,left:i.left||i.top&&!i.right,bottom:i.bottom||i.right&&!i.top,right:i.right||i.bottom&&!i.left};if(e.xIsPrimaryAxis=!(!i.left&&!i.right),e.equalDelta){const t=(l.left?1:-1)*(l.top?1:-1);e.edgeSign={x:t,y:t}}else e.edgeSign={x:l.left?-1:1,y:l.top?-1:1};if(!1!==r&&extend(i,l),null==n||!n.length)return;const c=new Modification(t.interaction);c.copyFrom(t.interaction.modification),c.prepareStates(n),e.subModification=c,c.startAll({...t})},set(t){const{state:e,rect:o,coords:i}=t,{linkedEdges:s}=e,a=extend({},i),r=e.equalDelta?setEqualDelta:setRatio;if(extend(t.edges,s),r(e,e.xIsPrimaryAxis,i,o),!e.subModification)return null;const d=extend({},o);addEdges(s,d,{x:i.x-a.x,y:i.y-a.y});const n=e.subModification.setAll({...t,rect:d,edges:s,pageCoords:i,prevCoords:i,prevRect:d}),{delta:l}=n;if(n.changed){r(e,Math.abs(l.x)>Math.abs(l.y),n.coords,n.rect),extend(i,n.coords)}return n.eventProps},defaults:{ratio:"preserve",equalDelta:!1,modifiers:[],enabled:!1}};function setEqualDelta(t,e,o){let{startCoords:i,edgeSign:s}=t;e?o.y=i.y+(o.x-i.x)*s.y:o.x=i.x+(o.y-i.y)*s.x}function setRatio(t,e,o,i){let{startRect:s,startCoords:a,ratio:r,edgeSign:d}=t;if(e){const t=i.width/r;o.y=a.y+(t-s.height)*d.y}else{const t=i.height*r;o.x=a.x+(t-s.width)*d.x}}var aspectRatio$1=makeModifier(aspectRatio,"aspectRatio");export{aspectRatio,aspectRatio$1 as default}; | ||
| //# sourceMappingURL=aspectRatio.prod.js.map |
@@ -1,77 +0,1 @@ | ||
| { | ||
| "version": 3, | ||
| "names": [ | ||
| "obj", | ||
| "_extendProd", | ||
| "require", | ||
| "__esModule", | ||
| "default", | ||
| "_rectProd", | ||
| "_base", | ||
| "_Modification", | ||
| "aspectRatio", | ||
| "exports", | ||
| "start", | ||
| "arg", | ||
| "state", | ||
| "rect", | ||
| "edges", | ||
| "pageCoords", | ||
| "coords", | ||
| "ratio", | ||
| "enabled", | ||
| "options", | ||
| "equalDelta", | ||
| "modifiers", | ||
| "width", | ||
| "height", | ||
| "startCoords", | ||
| "extend", | ||
| "startRect", | ||
| "linkedEdges", | ||
| "top", | ||
| "left", | ||
| "bottom", | ||
| "right", | ||
| "xIsPrimaryAxis", | ||
| "sign", | ||
| "edgeSign", | ||
| "x", | ||
| "y", | ||
| "length", | ||
| "subModification", | ||
| "Modification", | ||
| "interaction", | ||
| "copyFrom", | ||
| "modification", | ||
| "prepareStates", | ||
| "startAll", | ||
| "set", | ||
| "initialCoords", | ||
| "aspectMethod", | ||
| "setEqualDelta", | ||
| "setRatio", | ||
| "correctedRect", | ||
| "addEdges", | ||
| "result", | ||
| "setAll", | ||
| "prevCoords", | ||
| "prevRect", | ||
| "delta", | ||
| "changed", | ||
| "Math", | ||
| "abs", | ||
| "eventProps", | ||
| "defaults", | ||
| "newHeight", | ||
| "newWidth", | ||
| "makeModifier" | ||
| ], | ||
| "sources": [ | ||
| "aspectRatio.ts" | ||
| ], | ||
| "sourcesContent": [ | ||
| "/**\n * @module modifiers/aspectRatio\n *\n * @description\n * This modifier forces elements to be resized with a specified dx/dy ratio.\n *\n * ```js\n * interact(target).resizable({\n * modifiers: [\n * interact.modifiers.snapSize({\n * targets: [ interact.snappers.grid({ x: 20, y: 20 }) ],\n * }),\n * interact.aspectRatio({ ratio: 'preserve' }),\n * ],\n * });\n * ```\n */\n\nimport type { Point, Rect, EdgeOptions } from '@interactjs/core/types'\nimport extend from '@interactjs/utils/extend'\nimport { addEdges } from '@interactjs/utils/rect'\n\nimport { makeModifier } from './base'\nimport { Modification } from './Modification'\nimport type { Modifier, ModifierModule, ModifierState } from './types'\n\nexport interface AspectRatioOptions {\n ratio?: number | 'preserve'\n equalDelta?: boolean\n modifiers?: Modifier[]\n enabled?: boolean\n}\n\nexport type AspectRatioState = ModifierState<\n AspectRatioOptions,\n {\n startCoords: Point\n startRect: Rect\n linkedEdges: EdgeOptions\n ratio: number\n equalDelta: boolean\n xIsPrimaryAxis: boolean\n edgeSign: {\n x: number\n y: number\n }\n subModification: Modification\n }\n>\n\nconst aspectRatio: ModifierModule<AspectRatioOptions, AspectRatioState> = {\n start(arg) {\n const { state, rect, edges, pageCoords: coords } = arg\n let { ratio, enabled } = state.options\n const { equalDelta, modifiers } = state.options\n\n if (ratio === 'preserve') {\n ratio = rect.width / rect.height\n }\n\n state.startCoords = extend({}, coords)\n state.startRect = extend({}, rect)\n state.ratio = ratio\n state.equalDelta = equalDelta\n\n const linkedEdges = (state.linkedEdges = {\n top: edges.top || (edges.left && !edges.bottom),\n left: edges.left || (edges.top && !edges.right),\n bottom: edges.bottom || (edges.right && !edges.top),\n right: edges.right || (edges.bottom && !edges.left),\n })\n\n state.xIsPrimaryAxis = !!(edges.left || edges.right)\n\n if (state.equalDelta) {\n const sign = (linkedEdges.left ? 1 : -1) * (linkedEdges.top ? 1 : -1)\n state.edgeSign = {\n x: sign,\n y: sign,\n }\n } else {\n state.edgeSign = {\n x: linkedEdges.left ? -1 : 1,\n y: linkedEdges.top ? -1 : 1,\n }\n }\n\n if (enabled !== false) {\n extend(edges, linkedEdges)\n }\n\n if (!modifiers?.length) return\n\n const subModification = new Modification(arg.interaction)\n\n subModification.copyFrom(arg.interaction.modification)\n subModification.prepareStates(modifiers)\n\n state.subModification = subModification\n subModification.startAll({ ...arg })\n },\n\n set(arg) {\n const { state, rect, coords } = arg\n const { linkedEdges } = state\n const initialCoords = extend({}, coords)\n const aspectMethod = state.equalDelta ? setEqualDelta : setRatio\n\n extend(arg.edges, linkedEdges)\n aspectMethod(state, state.xIsPrimaryAxis, coords, rect)\n\n if (!state.subModification) {\n return null\n }\n\n const correctedRect = extend({}, rect)\n\n addEdges(linkedEdges, correctedRect, {\n x: coords.x - initialCoords.x,\n y: coords.y - initialCoords.y,\n })\n\n const result = state.subModification.setAll({\n ...arg,\n rect: correctedRect,\n edges: linkedEdges,\n pageCoords: coords,\n prevCoords: coords,\n prevRect: correctedRect,\n })\n\n const { delta } = result\n\n if (result.changed) {\n const xIsCriticalAxis = Math.abs(delta.x) > Math.abs(delta.y)\n\n // do aspect modification again with critical edge axis as primary\n aspectMethod(state, xIsCriticalAxis, result.coords, result.rect)\n extend(coords, result.coords)\n }\n\n return result.eventProps\n },\n\n defaults: {\n ratio: 'preserve',\n equalDelta: false,\n modifiers: [],\n enabled: false,\n },\n}\n\nfunction setEqualDelta({ startCoords, edgeSign }: AspectRatioState, xIsPrimaryAxis: boolean, coords: Point) {\n if (xIsPrimaryAxis) {\n coords.y = startCoords.y + (coords.x - startCoords.x) * edgeSign.y\n } else {\n coords.x = startCoords.x + (coords.y - startCoords.y) * edgeSign.x\n }\n}\n\nfunction setRatio(\n { startRect, startCoords, ratio, edgeSign }: AspectRatioState,\n xIsPrimaryAxis: boolean,\n coords: Point,\n rect: Rect,\n) {\n if (xIsPrimaryAxis) {\n const newHeight = rect.width / ratio\n\n coords.y = startCoords.y + (newHeight - startRect.height) * edgeSign.y\n } else {\n const newWidth = rect.height * ratio\n\n coords.x = startCoords.x + (newWidth - startRect.width) * edgeSign.x\n }\n}\n\nexport default makeModifier(aspectRatio, 'aspectRatio')\nexport { aspectRatio }\n" | ||
| ], | ||
| "mappings": "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" | ||
| } | ||
| {"version":3,"file":"aspectRatio.prod.js","sources":["aspectRatio.ts"],"sourcesContent":["/**\n * @module modifiers/aspectRatio\n *\n * @description\n * This modifier forces elements to be resized with a specified dx/dy ratio.\n *\n * ```js\n * interact(target).resizable({\n * modifiers: [\n * interact.modifiers.snapSize({\n * targets: [ interact.snappers.grid({ x: 20, y: 20 }) ],\n * }),\n * interact.aspectRatio({ ratio: 'preserve' }),\n * ],\n * });\n * ```\n */\n\nimport type { Point, Rect, EdgeOptions } from '@interactjs/core/types'\nimport extend from '@interactjs/utils/extend'\nimport { addEdges } from '@interactjs/utils/rect'\n\nimport { makeModifier } from './base'\nimport { Modification } from './Modification'\nimport type { Modifier, ModifierModule, ModifierState } from './types'\n\nexport interface AspectRatioOptions {\n ratio?: number | 'preserve'\n equalDelta?: boolean\n modifiers?: Modifier[]\n enabled?: boolean\n}\n\nexport type AspectRatioState = ModifierState<\n AspectRatioOptions,\n {\n startCoords: Point\n startRect: Rect\n linkedEdges: EdgeOptions\n ratio: number\n equalDelta: boolean\n xIsPrimaryAxis: boolean\n edgeSign: {\n x: number\n y: number\n }\n subModification: Modification\n }\n>\n\nconst aspectRatio: ModifierModule<AspectRatioOptions, AspectRatioState> = {\n start(arg) {\n const { state, rect, edges, pageCoords: coords } = arg\n let { ratio, enabled } = state.options\n const { equalDelta, modifiers } = state.options\n\n if (ratio === 'preserve') {\n ratio = rect.width / rect.height\n }\n\n state.startCoords = extend({}, coords)\n state.startRect = extend({}, rect)\n state.ratio = ratio\n state.equalDelta = equalDelta\n\n const linkedEdges = (state.linkedEdges = {\n top: edges.top || (edges.left && !edges.bottom),\n left: edges.left || (edges.top && !edges.right),\n bottom: edges.bottom || (edges.right && !edges.top),\n right: edges.right || (edges.bottom && !edges.left),\n })\n\n state.xIsPrimaryAxis = !!(edges.left || edges.right)\n\n if (state.equalDelta) {\n const sign = (linkedEdges.left ? 1 : -1) * (linkedEdges.top ? 1 : -1)\n state.edgeSign = {\n x: sign,\n y: sign,\n }\n } else {\n state.edgeSign = {\n x: linkedEdges.left ? -1 : 1,\n y: linkedEdges.top ? -1 : 1,\n }\n }\n\n if (enabled !== false) {\n extend(edges, linkedEdges)\n }\n\n if (!modifiers?.length) return\n\n const subModification = new Modification(arg.interaction)\n\n subModification.copyFrom(arg.interaction.modification)\n subModification.prepareStates(modifiers)\n\n state.subModification = subModification\n subModification.startAll({ ...arg })\n },\n\n set(arg) {\n const { state, rect, coords } = arg\n const { linkedEdges } = state\n const initialCoords = extend({}, coords)\n const aspectMethod = state.equalDelta ? setEqualDelta : setRatio\n\n extend(arg.edges, linkedEdges)\n aspectMethod(state, state.xIsPrimaryAxis, coords, rect)\n\n if (!state.subModification) {\n return null\n }\n\n const correctedRect = extend({}, rect)\n\n addEdges(linkedEdges, correctedRect, {\n x: coords.x - initialCoords.x,\n y: coords.y - initialCoords.y,\n })\n\n const result = state.subModification.setAll({\n ...arg,\n rect: correctedRect,\n edges: linkedEdges,\n pageCoords: coords,\n prevCoords: coords,\n prevRect: correctedRect,\n })\n\n const { delta } = result\n\n if (result.changed) {\n const xIsCriticalAxis = Math.abs(delta.x) > Math.abs(delta.y)\n\n // do aspect modification again with critical edge axis as primary\n aspectMethod(state, xIsCriticalAxis, result.coords, result.rect)\n extend(coords, result.coords)\n }\n\n return result.eventProps\n },\n\n defaults: {\n ratio: 'preserve',\n equalDelta: false,\n modifiers: [],\n enabled: false,\n },\n}\n\nfunction setEqualDelta({ startCoords, edgeSign }: AspectRatioState, xIsPrimaryAxis: boolean, coords: Point) {\n if (xIsPrimaryAxis) {\n coords.y = startCoords.y + (coords.x - startCoords.x) * edgeSign.y\n } else {\n coords.x = startCoords.x + (coords.y - startCoords.y) * edgeSign.x\n }\n}\n\nfunction setRatio(\n { startRect, startCoords, ratio, edgeSign }: AspectRatioState,\n xIsPrimaryAxis: boolean,\n coords: Point,\n rect: Rect,\n) {\n if (xIsPrimaryAxis) {\n const newHeight = rect.width / ratio\n\n coords.y = startCoords.y + (newHeight - startRect.height) * edgeSign.y\n } else {\n const newWidth = rect.height * ratio\n\n coords.x = startCoords.x + (newWidth - startRect.width) * edgeSign.x\n }\n}\n\nexport default makeModifier(aspectRatio, 'aspectRatio')\nexport { aspectRatio }\n"],"names":["aspectRatio","start","arg","state","rect","edges","pageCoords","coords","ratio","enabled","options","equalDelta","modifiers","width","height","startCoords","extend","startRect","linkedEdges","top","left","bottom","right","xIsPrimaryAxis","sign","edgeSign","x","y","length","subModification","Modification","interaction","copyFrom","modification","prepareStates","startAll","set","initialCoords","aspectMethod","setEqualDelta","setRatio","correctedRect","addEdges","result","setAll","prevCoords","prevRect","delta","changed","Math","abs","eventProps","defaults","_ref","_ref2","newHeight","newWidth","aspectRatio$1","makeModifier"],"mappings":"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"} |
+9
-13
@@ -1,14 +0,10 @@ | ||
| "use strict"; | ||
| /** | ||
| * interact.js 1.10.26 | ||
| * | ||
| * Copyright (c) 2012-present Taye Adeyemi <dev@taye.me> | ||
| * Released under the MIT License. | ||
| * https://raw.github.com/taye/interact.js/main/LICENSE | ||
| */ | ||
| Object.defineProperty(exports, "__esModule", { | ||
| value: true | ||
| }); | ||
| Object.defineProperty(exports, "default", { | ||
| enumerable: true, | ||
| get: function () { | ||
| return _noop.default; | ||
| } | ||
| }); | ||
| var _noop = _interopRequireDefault(require("../noop")); | ||
| function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | ||
| //# sourceMappingURL=avoid.js.map | ||
| export { default } from '../noop.js'; | ||
| //# sourceMappingURL=avoid.js.map |
+1
-18
@@ -1,18 +0,1 @@ | ||
| { | ||
| "version": 3, | ||
| "names": [ | ||
| "_noop", | ||
| "_interopRequireDefault", | ||
| "require", | ||
| "obj", | ||
| "__esModule", | ||
| "default" | ||
| ], | ||
| "sources": [ | ||
| "avoid.ts" | ||
| ], | ||
| "sourcesContent": [ | ||
| "export { default } from '../noop'\n" | ||
| ], | ||
| "mappings": ";;;;;;;;;;;AAAA,IAAAA,KAAA,GAAAC,sBAAA,CAAAC,OAAA;AAAiC,SAAAD,uBAAAE,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA" | ||
| } | ||
| {"version":3,"file":"avoid.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;"} |
@@ -1,2 +0,4 @@ | ||
| Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"default",{enumerable:!0,get:()=>r.default});var e,r=(e=require("../noop"))&&e.__esModule?e:{default:e}; | ||
| //# sourceMappingURL=avoid.prod.js.map | ||
| /* interact.js 1.10.26 | https://raw.github.com/taye/interact.js/main/LICENSE */ | ||
| export{default}from"../noop.prod.js"; | ||
| //# sourceMappingURL=avoid.prod.js.map |
@@ -1,17 +0,1 @@ | ||
| { | ||
| "version": 3, | ||
| "names": [ | ||
| "obj", | ||
| "_noop", | ||
| "require", | ||
| "__esModule", | ||
| "default" | ||
| ], | ||
| "sources": [ | ||
| "avoid.ts" | ||
| ], | ||
| "sourcesContent": [ | ||
| "export { default } from '../noop'\n" | ||
| ], | ||
| "mappings": "kIAAA,IAAiCA,EAAjCC,GAAiCD,EAAjCE,QAAA,aAAiCF,EAAAG,WAAAH,EAAA,CAAAI,QAAAJ" | ||
| } | ||
| {"version":3,"file":"avoid.prod.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;"} |
+23
-19
@@ -1,10 +0,13 @@ | ||
| "use strict"; | ||
| /** | ||
| * interact.js 1.10.26 | ||
| * | ||
| * Copyright (c) 2012-present Taye Adeyemi <dev@taye.me> | ||
| * Released under the MIT License. | ||
| * https://raw.github.com/taye/interact.js/main/LICENSE | ||
| */ | ||
| Object.defineProperty(exports, "__esModule", { | ||
| value: true | ||
| }); | ||
| exports.addEventModifiers = addEventModifiers; | ||
| exports.default = void 0; | ||
| exports.makeModifier = makeModifier; | ||
| var _Modification = require("./Modification"); | ||
| import { Modification } from './Modification.js'; | ||
| import "../utils/clone.js"; | ||
| import "../utils/extend.js"; | ||
| import "../utils/rect.js"; | ||
| function makeModifier(module, name) { | ||
@@ -27,3 +30,2 @@ const { | ||
| if (!(prop in options)) { | ||
| ; | ||
| options[prop] = defaults[prop]; | ||
@@ -54,6 +56,7 @@ } | ||
| } | ||
| function addEventModifiers({ | ||
| iEvent, | ||
| interaction | ||
| }) { | ||
| function addEventModifiers(_ref) { | ||
| let { | ||
| iEvent, | ||
| interaction | ||
| } = _ref; | ||
| const result = interaction.modification.result; | ||
@@ -71,6 +74,7 @@ if (result) { | ||
| listeners: { | ||
| 'interactions:new': ({ | ||
| interaction | ||
| }) => { | ||
| interaction.modification = new _Modification.Modification(interaction); | ||
| 'interactions:new': _ref2 => { | ||
| let { | ||
| interaction | ||
| } = _ref2; | ||
| interaction.modification = new Modification(interaction); | ||
| }, | ||
@@ -116,3 +120,3 @@ 'interactions:before-action-start': arg => { | ||
| }; | ||
| var _default = exports.default = modifiersBase; | ||
| //# sourceMappingURL=base.js.map | ||
| export { addEventModifiers, modifiersBase as default, makeModifier }; | ||
| //# sourceMappingURL=base.js.map |
+1
-61
@@ -1,61 +0,1 @@ | ||
| { | ||
| "version": 3, | ||
| "names": [ | ||
| "_Modification", | ||
| "require", | ||
| "makeModifier", | ||
| "module", | ||
| "name", | ||
| "defaults", | ||
| "methods", | ||
| "start", | ||
| "set", | ||
| "beforeEnd", | ||
| "stop", | ||
| "modifier", | ||
| "_options", | ||
| "options", | ||
| "enabled", | ||
| "prop", | ||
| "m", | ||
| "enable", | ||
| "disable", | ||
| "_defaults", | ||
| "_methods", | ||
| "addEventModifiers", | ||
| "iEvent", | ||
| "interaction", | ||
| "result", | ||
| "modification", | ||
| "modifiers", | ||
| "eventProps", | ||
| "modifiersBase", | ||
| "id", | ||
| "before", | ||
| "install", | ||
| "scope", | ||
| "perAction", | ||
| "listeners", | ||
| "interactions:new", | ||
| "Modification", | ||
| "arg", | ||
| "coords", | ||
| "page", | ||
| "edges", | ||
| "applyToInteraction", | ||
| "ret", | ||
| "setAndApply", | ||
| "startEdges", | ||
| "restoreInteractionCoords", | ||
| "_default", | ||
| "exports", | ||
| "default" | ||
| ], | ||
| "sources": [ | ||
| "base.ts" | ||
| ], | ||
| "sourcesContent": [ | ||
| "import type { InteractEvent } from '@interactjs/core/InteractEvent'\nimport type Interaction from '@interactjs/core/Interaction'\nimport type { Plugin } from '@interactjs/core/scope'\n\nimport { Modification } from './Modification'\nimport type { Modifier, ModifierModule, ModifierState } from './types'\n\ndeclare module '@interactjs/core/Interaction' {\n interface Interaction {\n modification?: Modification\n }\n}\n\ndeclare module '@interactjs/core/InteractEvent' {\n interface InteractEvent {\n modifiers?: Array<{\n name: string\n [key: string]: any\n }>\n }\n}\n\ndeclare module '@interactjs/core/options' {\n interface PerActionDefaults {\n modifiers?: Modifier[]\n }\n}\n\nexport function makeModifier<\n Defaults extends { enabled?: boolean },\n State extends ModifierState,\n Name extends string,\n Result,\n>(module: ModifierModule<Defaults, State, Result>, name?: Name) {\n const { defaults } = module\n const methods = {\n start: module.start,\n set: module.set,\n beforeEnd: module.beforeEnd,\n stop: module.stop,\n }\n\n const modifier = (_options?: Partial<Defaults>) => {\n const options = (_options || {}) as Defaults\n\n options.enabled = options.enabled !== false\n\n // add missing defaults to options\n for (const prop in defaults) {\n if (!(prop in options)) {\n ;(options as any)[prop] = defaults[prop]\n }\n }\n\n const m: Modifier<Defaults, State, Name, Result> = {\n options,\n methods,\n name,\n enable: () => {\n options.enabled = true\n return m\n },\n disable: () => {\n options.enabled = false\n return m\n },\n }\n\n return m\n }\n\n if (name && typeof name === 'string') {\n // for backwrads compatibility\n modifier._defaults = defaults\n modifier._methods = methods\n }\n\n return modifier\n}\n\nexport function addEventModifiers({\n iEvent,\n interaction,\n}: {\n iEvent: InteractEvent<any>\n interaction: Interaction<any>\n}) {\n const result = interaction.modification!.result\n\n if (result) {\n iEvent.modifiers = result.eventProps\n }\n}\n\nconst modifiersBase: Plugin = {\n id: 'modifiers/base',\n before: ['actions'],\n install: (scope) => {\n scope.defaults.perAction.modifiers = []\n },\n listeners: {\n 'interactions:new': ({ interaction }) => {\n interaction.modification = new Modification(interaction)\n },\n\n 'interactions:before-action-start': (arg) => {\n const { interaction } = arg\n const modification = arg.interaction.modification!\n\n modification.start(arg, interaction.coords.start.page)\n interaction.edges = modification.edges\n modification.applyToInteraction(arg)\n },\n\n 'interactions:before-action-move': (arg) => {\n const { interaction } = arg\n const { modification } = interaction\n const ret = modification.setAndApply(arg)\n interaction.edges = modification.edges\n\n return ret\n },\n\n 'interactions:before-action-end': (arg) => {\n const { interaction } = arg\n const { modification } = interaction\n const ret = modification.beforeEnd(arg)\n interaction.edges = modification.startEdges\n\n return ret\n },\n\n 'interactions:action-start': addEventModifiers,\n 'interactions:action-move': addEventModifiers,\n 'interactions:action-end': addEventModifiers,\n\n 'interactions:after-action-start': (arg) => arg.interaction.modification.restoreInteractionCoords(arg),\n 'interactions:after-action-move': (arg) => arg.interaction.modification.restoreInteractionCoords(arg),\n\n 'interactions:stop': (arg) => arg.interaction.modification.stop(arg),\n },\n}\n\nexport default modifiersBase\n" | ||
| ], | ||
| "mappings": "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" | ||
| } | ||
| {"version":3,"file":"base.js","sources":["base.ts"],"sourcesContent":["import type { InteractEvent } from '@interactjs/core/InteractEvent'\nimport type Interaction from '@interactjs/core/Interaction'\nimport type { Plugin } from '@interactjs/core/scope'\n\nimport { Modification } from './Modification'\nimport type { Modifier, ModifierModule, ModifierState } from './types'\n\ndeclare module '@interactjs/core/Interaction' {\n interface Interaction {\n modification?: Modification\n }\n}\n\ndeclare module '@interactjs/core/InteractEvent' {\n interface InteractEvent {\n modifiers?: Array<{\n name: string\n [key: string]: any\n }>\n }\n}\n\ndeclare module '@interactjs/core/options' {\n interface PerActionDefaults {\n modifiers?: Modifier[]\n }\n}\n\nexport function makeModifier<\n Defaults extends { enabled?: boolean },\n State extends ModifierState,\n Name extends string,\n Result,\n>(module: ModifierModule<Defaults, State, Result>, name?: Name) {\n const { defaults } = module\n const methods = {\n start: module.start,\n set: module.set,\n beforeEnd: module.beforeEnd,\n stop: module.stop,\n }\n\n const modifier = (_options?: Partial<Defaults>) => {\n const options = (_options || {}) as Defaults\n\n options.enabled = options.enabled !== false\n\n // add missing defaults to options\n for (const prop in defaults) {\n if (!(prop in options)) {\n ;(options as any)[prop] = defaults[prop]\n }\n }\n\n const m: Modifier<Defaults, State, Name, Result> = {\n options,\n methods,\n name,\n enable: () => {\n options.enabled = true\n return m\n },\n disable: () => {\n options.enabled = false\n return m\n },\n }\n\n return m\n }\n\n if (name && typeof name === 'string') {\n // for backwrads compatibility\n modifier._defaults = defaults\n modifier._methods = methods\n }\n\n return modifier\n}\n\nexport function addEventModifiers({\n iEvent,\n interaction,\n}: {\n iEvent: InteractEvent<any>\n interaction: Interaction<any>\n}) {\n const result = interaction.modification!.result\n\n if (result) {\n iEvent.modifiers = result.eventProps\n }\n}\n\nconst modifiersBase: Plugin = {\n id: 'modifiers/base',\n before: ['actions'],\n install: (scope) => {\n scope.defaults.perAction.modifiers = []\n },\n listeners: {\n 'interactions:new': ({ interaction }) => {\n interaction.modification = new Modification(interaction)\n },\n\n 'interactions:before-action-start': (arg) => {\n const { interaction } = arg\n const modification = arg.interaction.modification!\n\n modification.start(arg, interaction.coords.start.page)\n interaction.edges = modification.edges\n modification.applyToInteraction(arg)\n },\n\n 'interactions:before-action-move': (arg) => {\n const { interaction } = arg\n const { modification } = interaction\n const ret = modification.setAndApply(arg)\n interaction.edges = modification.edges\n\n return ret\n },\n\n 'interactions:before-action-end': (arg) => {\n const { interaction } = arg\n const { modification } = interaction\n const ret = modification.beforeEnd(arg)\n interaction.edges = modification.startEdges\n\n return ret\n },\n\n 'interactions:action-start': addEventModifiers,\n 'interactions:action-move': addEventModifiers,\n 'interactions:action-end': addEventModifiers,\n\n 'interactions:after-action-start': (arg) => arg.interaction.modification.restoreInteractionCoords(arg),\n 'interactions:after-action-move': (arg) => arg.interaction.modification.restoreInteractionCoords(arg),\n\n 'interactions:stop': (arg) => arg.interaction.modification.stop(arg),\n },\n}\n\nexport default modifiersBase\n"],"names":["makeModifier","module","name","defaults","methods","start","set","beforeEnd","stop","modifier","_options","options","enabled","prop","m","enable","disable","_defaults","_methods","addEventModifiers","_ref","iEvent","interaction","result","modification","modifiers","eventProps","modifiersBase","id","before","install","scope","perAction","listeners","_ref2","Modification","arg","coords","page","edges","applyToInteraction","ret","setAndApply","startEdges","restoreInteractionCoords"],"mappings":";;;;;;;;;;;;;AA4BO,SAASA,YAAYA,CAK1BC,MAA+C,EAAEC,IAAW,EAAE;EAC9D,MAAM;AAAEC,IAAAA,QAAAA;AAAS,GAAC,GAAGF,MAAM,CAAA;AAC3B,EAAA,MAAMG,OAAO,GAAG;IACdC,KAAK,EAAEJ,MAAM,CAACI,KAAK;IACnBC,GAAG,EAAEL,MAAM,CAACK,GAAG;IACfC,SAAS,EAAEN,MAAM,CAACM,SAAS;IAC3BC,IAAI,EAAEP,MAAM,CAACO,IAAAA;GACd,CAAA;EAED,MAAMC,QAAQ,GAAIC,QAA4B,IAAK;AACjD,IAAA,MAAMC,OAAO,GAAID,QAAQ,IAAI,EAAe,CAAA;AAE5CC,IAAAA,OAAO,CAACC,OAAO,GAAGD,OAAO,CAACC,OAAO,KAAK,KAAK,CAAA;;AAE3C;AACA,IAAA,KAAK,MAAMC,IAAI,IAAIV,QAAQ,EAAE;AAC3B,MAAA,IAAI,EAAEU,IAAI,IAAIF,OAAO,CAAC,EAAE;AACpBA,QAAAA,OAAO,CAASE,IAAI,CAAC,GAAGV,QAAQ,CAACU,IAAI,CAAC,CAAA;AAC1C,OAAA;AACF,KAAA;AAEA,IAAA,MAAMC,CAA0C,GAAG;MACjDH,OAAO;MACPP,OAAO;MACPF,IAAI;MACJa,MAAM,EAAEA,MAAM;QACZJ,OAAO,CAACC,OAAO,GAAG,IAAI,CAAA;AACtB,QAAA,OAAOE,CAAC,CAAA;OACT;MACDE,OAAO,EAAEA,MAAM;QACbL,OAAO,CAACC,OAAO,GAAG,KAAK,CAAA;AACvB,QAAA,OAAOE,CAAC,CAAA;AACV,OAAA;KACD,CAAA;AAED,IAAA,OAAOA,CAAC,CAAA;GACT,CAAA;AAED,EAAA,IAAIZ,IAAI,IAAI,OAAOA,IAAI,KAAK,QAAQ,EAAE;AACpC;IACAO,QAAQ,CAACQ,SAAS,GAAGd,QAAQ,CAAA;IAC7BM,QAAQ,CAACS,QAAQ,GAAGd,OAAO,CAAA;AAC7B,GAAA;AAEA,EAAA,OAAOK,QAAQ,CAAA;AACjB,CAAA;AAEO,SAASU,iBAAiBA,CAAAC,IAAA,EAM9B;EAAA,IAN+B;IAChCC,MAAM;AACNC,IAAAA,WAAAA;AAIF,GAAC,GAAAF,IAAA,CAAA;AACC,EAAA,MAAMG,MAAM,GAAGD,WAAW,CAACE,YAAY,CAAED,MAAM,CAAA;AAE/C,EAAA,IAAIA,MAAM,EAAE;AACVF,IAAAA,MAAM,CAACI,SAAS,GAAGF,MAAM,CAACG,UAAU,CAAA;AACtC,GAAA;AACF,CAAA;AAEA,MAAMC,aAAqB,GAAG;AAC5BC,EAAAA,EAAE,EAAE,gBAAgB;EACpBC,MAAM,EAAE,CAAC,SAAS,CAAC;EACnBC,OAAO,EAAGC,KAAK,IAAK;AAClBA,IAAAA,KAAK,CAAC5B,QAAQ,CAAC6B,SAAS,CAACP,SAAS,GAAG,EAAE,CAAA;GACxC;AACDQ,EAAAA,SAAS,EAAE;IACT,kBAAkB,EAAEC,KAAA,IAAqB;MAAA,IAApB;AAAEZ,QAAAA,WAAAA;AAAY,OAAC,GAAAY,KAAA,CAAA;AAClCZ,MAAAA,WAAW,CAACE,YAAY,GAAG,IAAIW,YAAY,CAACb,WAAW,CAAC,CAAA;KACzD;IAED,kCAAkC,EAAGc,GAAG,IAAK;MAC3C,MAAM;AAAEd,QAAAA,WAAAA;AAAY,OAAC,GAAGc,GAAG,CAAA;AAC3B,MAAA,MAAMZ,YAAY,GAAGY,GAAG,CAACd,WAAW,CAACE,YAAa,CAAA;AAElDA,MAAAA,YAAY,CAACnB,KAAK,CAAC+B,GAAG,EAAEd,WAAW,CAACe,MAAM,CAAChC,KAAK,CAACiC,IAAI,CAAC,CAAA;AACtDhB,MAAAA,WAAW,CAACiB,KAAK,GAAGf,YAAY,CAACe,KAAK,CAAA;AACtCf,MAAAA,YAAY,CAACgB,kBAAkB,CAACJ,GAAG,CAAC,CAAA;KACrC;IAED,iCAAiC,EAAGA,GAAG,IAAK;MAC1C,MAAM;AAAEd,QAAAA,WAAAA;AAAY,OAAC,GAAGc,GAAG,CAAA;MAC3B,MAAM;AAAEZ,QAAAA,YAAAA;AAAa,OAAC,GAAGF,WAAW,CAAA;AACpC,MAAA,MAAMmB,GAAG,GAAGjB,YAAY,CAACkB,WAAW,CAACN,GAAG,CAAC,CAAA;AACzCd,MAAAA,WAAW,CAACiB,KAAK,GAAGf,YAAY,CAACe,KAAK,CAAA;AAEtC,MAAA,OAAOE,GAAG,CAAA;KACX;IAED,gCAAgC,EAAGL,GAAG,IAAK;MACzC,MAAM;AAAEd,QAAAA,WAAAA;AAAY,OAAC,GAAGc,GAAG,CAAA;MAC3B,MAAM;AAAEZ,QAAAA,YAAAA;AAAa,OAAC,GAAGF,WAAW,CAAA;AACpC,MAAA,MAAMmB,GAAG,GAAGjB,YAAY,CAACjB,SAAS,CAAC6B,GAAG,CAAC,CAAA;AACvCd,MAAAA,WAAW,CAACiB,KAAK,GAAGf,YAAY,CAACmB,UAAU,CAAA;AAE3C,MAAA,OAAOF,GAAG,CAAA;KACX;AAED,IAAA,2BAA2B,EAAEtB,iBAAiB;AAC9C,IAAA,0BAA0B,EAAEA,iBAAiB;AAC7C,IAAA,yBAAyB,EAAEA,iBAAiB;AAE5C,IAAA,iCAAiC,EAAGiB,GAAG,IAAKA,GAAG,CAACd,WAAW,CAACE,YAAY,CAACoB,wBAAwB,CAACR,GAAG,CAAC;AACtG,IAAA,gCAAgC,EAAGA,GAAG,IAAKA,GAAG,CAACd,WAAW,CAACE,YAAY,CAACoB,wBAAwB,CAACR,GAAG,CAAC;IAErG,mBAAmB,EAAGA,GAAG,IAAKA,GAAG,CAACd,WAAW,CAACE,YAAY,CAAChB,IAAI,CAAC4B,GAAG,CAAA;AACrE,GAAA;AACF;;;;"} |
+4
-2
@@ -1,2 +0,4 @@ | ||
| Object.defineProperty(exports,"__esModule",{value:!0}),exports.addEventModifiers=e,exports.default=void 0,exports.makeModifier=(t,e)=>{const{defaults:o}=t,i={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 o)t in n||(n[t]=o[t]);const r={options:n,methods:i,name:e,enable:()=>(n.enabled=!0,r),disable:()=>(n.enabled=!1,r)};return r};return e&&"string"==typeof e&&(n._defaults=o,n._methods=i),n};var t=require("./Modification");function e({iEvent:t,interaction:e}){const o=e.modification.result;o&&(t.modifiers=o.eventProps)}const o={id:"modifiers/base",before:["actions"],install(t){t.defaults.perAction.modifiers=[]},listeners:{"interactions:new"({interaction:e}){e.modification=new t.Modification(e)},"interactions:before-action-start"(t){const{interaction:e}=t,o=t.interaction.modification;o.start(t,e.coords.start.page),e.edges=o.edges,o.applyToInteraction(t)},"interactions:before-action-move"(t){const{interaction:e}=t,{modification:o}=e,i=o.setAndApply(t);return e.edges=o.edges,i},"interactions:before-action-end"(t){const{interaction:e}=t,{modification:o}=e,i=o.beforeEnd(t);return e.edges=o.startEdges,i},"interactions:action-start":e,"interactions:action-move":e,"interactions:action-end":e,"interactions:after-action-start":t=>t.interaction.modification.restoreInteractionCoords(t),"interactions:after-action-move":t=>t.interaction.modification.restoreInteractionCoords(t),"interactions:stop":t=>t.interaction.modification.stop(t)}};exports.default=o; | ||
| //# sourceMappingURL=base.prod.js.map | ||
| /* interact.js 1.10.26 | 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 |
+1
-58
@@ -1,58 +0,1 @@ | ||
| { | ||
| "version": 3, | ||
| "names": [ | ||
| "module", | ||
| "name", | ||
| "defaults", | ||
| "methods", | ||
| "start", | ||
| "set", | ||
| "beforeEnd", | ||
| "stop", | ||
| "modifier", | ||
| "_options", | ||
| "options", | ||
| "enabled", | ||
| "prop", | ||
| "m", | ||
| "enable", | ||
| "disable", | ||
| "_defaults", | ||
| "_methods", | ||
| "_Modification", | ||
| "require", | ||
| "addEventModifiers", | ||
| "iEvent", | ||
| "interaction", | ||
| "result", | ||
| "modification", | ||
| "modifiers", | ||
| "eventProps", | ||
| "modifiersBase", | ||
| "id", | ||
| "before", | ||
| "install", | ||
| "scope", | ||
| "perAction", | ||
| "listeners", | ||
| "Modification", | ||
| "arg", | ||
| "coords", | ||
| "page", | ||
| "edges", | ||
| "applyToInteraction", | ||
| "ret", | ||
| "setAndApply", | ||
| "startEdges", | ||
| "restoreInteractionCoords", | ||
| "exports", | ||
| "default" | ||
| ], | ||
| "sources": [ | ||
| "base.ts" | ||
| ], | ||
| "sourcesContent": [ | ||
| "import type { InteractEvent } from '@interactjs/core/InteractEvent'\nimport type Interaction from '@interactjs/core/Interaction'\nimport type { Plugin } from '@interactjs/core/scope'\n\nimport { Modification } from './Modification'\nimport type { Modifier, ModifierModule, ModifierState } from './types'\n\ndeclare module '@interactjs/core/Interaction' {\n interface Interaction {\n modification?: Modification\n }\n}\n\ndeclare module '@interactjs/core/InteractEvent' {\n interface InteractEvent {\n modifiers?: Array<{\n name: string\n [key: string]: any\n }>\n }\n}\n\ndeclare module '@interactjs/core/options' {\n interface PerActionDefaults {\n modifiers?: Modifier[]\n }\n}\n\nexport function makeModifier<\n Defaults extends { enabled?: boolean },\n State extends ModifierState,\n Name extends string,\n Result,\n>(module: ModifierModule<Defaults, State, Result>, name?: Name) {\n const { defaults } = module\n const methods = {\n start: module.start,\n set: module.set,\n beforeEnd: module.beforeEnd,\n stop: module.stop,\n }\n\n const modifier = (_options?: Partial<Defaults>) => {\n const options = (_options || {}) as Defaults\n\n options.enabled = options.enabled !== false\n\n // add missing defaults to options\n for (const prop in defaults) {\n if (!(prop in options)) {\n ;(options as any)[prop] = defaults[prop]\n }\n }\n\n const m: Modifier<Defaults, State, Name, Result> = {\n options,\n methods,\n name,\n enable: () => {\n options.enabled = true\n return m\n },\n disable: () => {\n options.enabled = false\n return m\n },\n }\n\n return m\n }\n\n if (name && typeof name === 'string') {\n // for backwrads compatibility\n modifier._defaults = defaults\n modifier._methods = methods\n }\n\n return modifier\n}\n\nexport function addEventModifiers({\n iEvent,\n interaction,\n}: {\n iEvent: InteractEvent<any>\n interaction: Interaction<any>\n}) {\n const result = interaction.modification!.result\n\n if (result) {\n iEvent.modifiers = result.eventProps\n }\n}\n\nconst modifiersBase: Plugin = {\n id: 'modifiers/base',\n before: ['actions'],\n install: (scope) => {\n scope.defaults.perAction.modifiers = []\n },\n listeners: {\n 'interactions:new': ({ interaction }) => {\n interaction.modification = new Modification(interaction)\n },\n\n 'interactions:before-action-start': (arg) => {\n const { interaction } = arg\n const modification = arg.interaction.modification!\n\n modification.start(arg, interaction.coords.start.page)\n interaction.edges = modification.edges\n modification.applyToInteraction(arg)\n },\n\n 'interactions:before-action-move': (arg) => {\n const { interaction } = arg\n const { modification } = interaction\n const ret = modification.setAndApply(arg)\n interaction.edges = modification.edges\n\n return ret\n },\n\n 'interactions:before-action-end': (arg) => {\n const { interaction } = arg\n const { modification } = interaction\n const ret = modification.beforeEnd(arg)\n interaction.edges = modification.startEdges\n\n return ret\n },\n\n 'interactions:action-start': addEventModifiers,\n 'interactions:action-move': addEventModifiers,\n 'interactions:action-end': addEventModifiers,\n\n 'interactions:after-action-start': (arg) => arg.interaction.modification.restoreInteractionCoords(arg),\n 'interactions:after-action-move': (arg) => arg.interaction.modification.restoreInteractionCoords(arg),\n\n 'interactions:stop': (arg) => arg.interaction.modification.stop(arg),\n },\n}\n\nexport default modifiersBase\n" | ||
| ], | ||
| "mappings": "+HA4BO,CAKLA,EAAiDC,KACjD,MAAMC,SAAEA,GAAaF,EACfG,EAAU,CACdC,MAAOJ,EAAOI,MACdC,IAAKL,EAAOK,IACZC,UAAWN,EAAOM,UAClBC,KAAMP,EAAOO,MAGTC,EAAYC,IAChB,MAAMC,EAAWD,GAAY,CAAC,EAE9BC,EAAQC,SAA8B,IAApBD,EAAQC,QAG1B,IAAK,MAAMC,KAAQV,EACXU,KAAQF,IACVA,EAAgBE,GAAQV,EAASU,IAIvC,MAAMC,EAA6C,CACjDH,UACAP,UACAF,OACAa,OAAQA,KACNJ,EAAQC,SAAU,EACXE,GAETE,QAASA,KACPL,EAAQC,SAAU,EACXE,IAIX,OAAOA,CAAC,EASV,OANIZ,GAAwB,iBAATA,IAEjBO,EAASQ,UAAYd,EACrBM,EAASS,SAAWd,GAGfK,CACT,EA1EA,IAAAU,EAAAC,QAAA,kBA4EO,SAASC,GAAkBC,OAChCA,EAAMC,YACNA,IAKA,MAAMC,EAASD,EAAYE,aAAcD,OAErCA,IACFF,EAAOI,UAAYF,EAAOG,WAE9B,CAEA,MAAMC,EAAwB,CAC5BC,GAAI,iBACJC,OAAQ,CAAC,WACTC,OAEA,CAFUC,GACRA,EAAM7B,SAAS8B,UAAUP,UAAY,EAAE,EAEzCQ,UAAW,CACT,kBAEA,EAFuBX,gBACrBA,EAAYE,aAAe,IAAIU,eAAaZ,EAAY,EAG1D,kCAOA,CAPqCa,GACnC,MAAMb,YAAEA,GAAgBa,EAClBX,EAAeW,EAAIb,YAAYE,aAErCA,EAAapB,MAAM+B,EAAKb,EAAYc,OAAOhC,MAAMiC,MACjDf,EAAYgB,MAAQd,EAAac,MACjCd,EAAae,mBAAmBJ,EAAI,EAGtC,iCAOA,CAPoCA,GAClC,MAAMb,YAAEA,GAAgBa,GAClBX,aAAEA,GAAiBF,EACnBkB,EAAMhB,EAAaiB,YAAYN,GAGrC,OAFAb,EAAYgB,MAAQd,EAAac,MAE1BE,CAAG,EAGZ,gCAOA,CAPmCL,GACjC,MAAMb,YAAEA,GAAgBa,GAClBX,aAAEA,GAAiBF,EACnBkB,EAAMhB,EAAalB,UAAU6B,GAGnC,OAFAb,EAAYgB,MAAQd,EAAakB,WAE1BF,CAAG,EAGZ,4BAA6BpB,EAC7B,2BAA4BA,EAC5B,0BAA2BA,EAE3B,kCAAoCe,GAAQA,EAAIb,YAAYE,aAAamB,yBAAyBR,GAClG,iCAAmCA,GAAQA,EAAIb,YAAYE,aAAamB,yBAAyBR,GAEjG,oBAAsBA,GAAQA,EAAIb,YAAYE,aAAajB,KAAK4B,KAEnES,QAAAC,QAEclB" | ||
| } | ||
| {"version":3,"file":"base.prod.js","sources":["base.ts"],"sourcesContent":["import type { InteractEvent } from '@interactjs/core/InteractEvent'\nimport type Interaction from '@interactjs/core/Interaction'\nimport type { Plugin } from '@interactjs/core/scope'\n\nimport { Modification } from './Modification'\nimport type { Modifier, ModifierModule, ModifierState } from './types'\n\ndeclare module '@interactjs/core/Interaction' {\n interface Interaction {\n modification?: Modification\n }\n}\n\ndeclare module '@interactjs/core/InteractEvent' {\n interface InteractEvent {\n modifiers?: Array<{\n name: string\n [key: string]: any\n }>\n }\n}\n\ndeclare module '@interactjs/core/options' {\n interface PerActionDefaults {\n modifiers?: Modifier[]\n }\n}\n\nexport function makeModifier<\n Defaults extends { enabled?: boolean },\n State extends ModifierState,\n Name extends string,\n Result,\n>(module: ModifierModule<Defaults, State, Result>, name?: Name) {\n const { defaults } = module\n const methods = {\n start: module.start,\n set: module.set,\n beforeEnd: module.beforeEnd,\n stop: module.stop,\n }\n\n const modifier = (_options?: Partial<Defaults>) => {\n const options = (_options || {}) as Defaults\n\n options.enabled = options.enabled !== false\n\n // add missing defaults to options\n for (const prop in defaults) {\n if (!(prop in options)) {\n ;(options as any)[prop] = defaults[prop]\n }\n }\n\n const m: Modifier<Defaults, State, Name, Result> = {\n options,\n methods,\n name,\n enable: () => {\n options.enabled = true\n return m\n },\n disable: () => {\n options.enabled = false\n return m\n },\n }\n\n return m\n }\n\n if (name && typeof name === 'string') {\n // for backwrads compatibility\n modifier._defaults = defaults\n modifier._methods = methods\n }\n\n return modifier\n}\n\nexport function addEventModifiers({\n iEvent,\n interaction,\n}: {\n iEvent: InteractEvent<any>\n interaction: Interaction<any>\n}) {\n const result = interaction.modification!.result\n\n if (result) {\n iEvent.modifiers = result.eventProps\n }\n}\n\nconst modifiersBase: Plugin = {\n id: 'modifiers/base',\n before: ['actions'],\n install: (scope) => {\n scope.defaults.perAction.modifiers = []\n },\n listeners: {\n 'interactions:new': ({ interaction }) => {\n interaction.modification = new Modification(interaction)\n },\n\n 'interactions:before-action-start': (arg) => {\n const { interaction } = arg\n const modification = arg.interaction.modification!\n\n modification.start(arg, interaction.coords.start.page)\n interaction.edges = modification.edges\n modification.applyToInteraction(arg)\n },\n\n 'interactions:before-action-move': (arg) => {\n const { interaction } = arg\n const { modification } = interaction\n const ret = modification.setAndApply(arg)\n interaction.edges = modification.edges\n\n return ret\n },\n\n 'interactions:before-action-end': (arg) => {\n const { interaction } = arg\n const { modification } = interaction\n const ret = modification.beforeEnd(arg)\n interaction.edges = modification.startEdges\n\n return ret\n },\n\n 'interactions:action-start': addEventModifiers,\n 'interactions:action-move': addEventModifiers,\n 'interactions:action-end': addEventModifiers,\n\n 'interactions:after-action-start': (arg) => arg.interaction.modification.restoreInteractionCoords(arg),\n 'interactions:after-action-move': (arg) => arg.interaction.modification.restoreInteractionCoords(arg),\n\n 'interactions:stop': (arg) => arg.interaction.modification.stop(arg),\n },\n}\n\nexport default modifiersBase\n"],"names":["defaults","start","module","set","beforeEnd","stop","modifier","_options","options","enabled","prop","m","methods","name","enable","disable","_defaults","addEventModifiers","_ref","iEvent","interaction","modification","result","eventProps","modifiersBase","id","before","scope","install","perAction","modifiers","listeners","_ref2","Modification","arg","coords","page","edges","setAndApply","startEdges","restoreInteractionCoords","makeModifier"],"mappings":";;yKA4BO,MAAAA,SAMCA,GAAEA,IAAmB,CAC3BC,QAAgBA,MACdA,IAAKC,EAAQC,IACbA,UAAWD,EAAIE,UACfA,KAASF,EAAQG,MAElBC,EAAAC,IAEKD,MAAAA,EAAYC,GAAiC,CAAA,EACjDC,EAAaC,SAA+B,IAAnBD,EAAAC,QAIzB,IAAA,MAAAC,KAAAV,EACKU,KAAUF,MACHE,GAAIF,EAAUE,IAG1B,MAAAC,EAAA,CAEAH,UACEA,UACAI,OACAC,MAGE,GADAL,OADFM,EAAcL,SAAA,EACLE,CAACF,EAET,OAGC,GADAD,OADFO,EAAeN,SAAA,EACNE,CAACF,UAGXE,CAAA,EASH,OANCE,GAAA,iBAAAA,IAGCP,EAAAU,UAAAhB,EACAM,EAASU,SAASJ,GAEpBN,CAEA,CACF,SAAAW,kBAAAC,GAEgBD,IAAAA,OAAkBE,EAAAC,YAChCD,GACAC,EAID,QAAAA,EAAAC,aAAAC,OACCA,IAEAH,YAAYG,EAAAC,WAEZ,CACF,MAAAC,cAAA,CAEAC,GAAMD,iBACJC,OAAoB,CAAA,WACpBC,OAEEC,CAFOA,GACTC,EAAUD,SAAUE,UAAAC,UAAA,EAAA,EAEnBC,UAAA,mBAGGX,CAFOY,GACT,IAAAZ,YAAqBA,GAAEA,EAAaA,EAAAC,aAAA,IAAAY,aAAAb,EAAA,EAEnC,kCAQCC,CARDa,GAED,MAAAd,YACQA,GAAEA,IAAmBc,EAAAd,YAAAC,aAC3BA,QAAqBa,EAAGd,EAAYe,aAAcC,MAElDf,EAAYgB,QAAYjB,MACxBA,EAAYiB,mBAAoBH,IAEjC,iCAQC,CARDA,GAED,MAAAd,YACQA,GAAEA,gBACFC,GAAEA,MAA4BiB,YAAAJ,GAEpCd,OADAA,EAAYC,MAAAA,EAAwBgB,SAIrC,gCAQC,CARDH,GAED,MAAAd,YACQA,GAAEA,gBACFC,GAAEA,MAA4BjB,UAAA8B,GAEpCd,OADAA,EAAYC,MAAAA,EAAsBkB,cAInC,4BAAAtB,kBAED,6CACA,4CACA,iCAA4C,CAAAiB,GAAAA,SAAAd,YAAAC,aAAAmB,yBAAAN,EAAA,EAE5C,iCAAiCA,GAAMA,SAAQd,YAAYC,aAAamB,yBAAyBN,EAAI,EACrG,mBAAuE,CAAvCA,GAAAA,SAAAd,YAAcC,aAAaA,KAAYa,aAI3EjB,kBAAAO,yBAAAiB"} |
+31
-7
@@ -1,9 +0,33 @@ | ||
| "use strict"; | ||
| /** | ||
| * interact.js 1.10.26 | ||
| * | ||
| * Copyright (c) 2012-present Taye Adeyemi <dev@taye.me> | ||
| * Released under the MIT License. | ||
| * https://raw.github.com/taye/interact.js/main/LICENSE | ||
| */ | ||
| var _plugin = _interopRequireDefault(require("./plugin.js")); | ||
| var _index = _interopRequireDefault(require("../interact/index.js")); | ||
| function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | ||
| import modifiers from './plugin.js'; | ||
| import interact from "../interact/index.js"; | ||
| import "../snappers/plugin.js"; | ||
| import './all.js'; | ||
| import './aspectRatio.js'; | ||
| import "../utils/extend.js"; | ||
| import "../utils/rect.js"; | ||
| import './base.js'; | ||
| import './Modification.js'; | ||
| import "../utils/clone.js"; | ||
| import './restrict/edges.js'; | ||
| import './restrict/pointer.js'; | ||
| import "../utils/is.js"; | ||
| import './restrict/rect.js'; | ||
| import './restrict/size.js'; | ||
| import './snap/edges.js'; | ||
| import './snap/size.js'; | ||
| import './snap/pointer.js'; | ||
| import "../utils/getOriginXY.js"; | ||
| import "../utils/hypot.js"; | ||
| import './noop.js'; | ||
| /* eslint-disable no-console, eol-last, import/no-duplicates, import/no-extraneous-dependencies, import/order */ | ||
| _index.default.use(_plugin.default); | ||
| //# sourceMappingURL=index.js.map | ||
| interact.use(modifiers); | ||
| //# sourceMappingURL=index.js.map |
+1
-22
@@ -1,22 +0,1 @@ | ||
| { | ||
| "version": 3, | ||
| "names": [ | ||
| "_plugin", | ||
| "_interopRequireDefault", | ||
| "require", | ||
| "_index", | ||
| "obj", | ||
| "__esModule", | ||
| "default", | ||
| "interact", | ||
| "use", | ||
| "plugin" | ||
| ], | ||
| "sources": [ | ||
| "index.ts" | ||
| ], | ||
| "sourcesContent": [ | ||
| "/* eslint-disable no-console, eol-last, import/no-duplicates, import/no-extraneous-dependencies, import/order */\nimport '@interactjs/modifiers/plugin'\nimport interact from '@interactjs/interact/index'\nimport plugin from '@interactjs/modifiers/plugin'\ninteract.use(plugin)" | ||
| ], | ||
| "mappings": ";;AACA,IAAAA,OAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,MAAA,GAAAF,sBAAA,CAAAC,OAAA;AAAiD,SAAAD,uBAAAG,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAFjD;;AAIAG,cAAQ,CAACC,GAAG,CAACC,eAAM,CAAC" | ||
| } | ||
| {"version":3,"file":"index.js","sources":["index.ts"],"sourcesContent":["/* eslint-disable no-console, eol-last, import/no-duplicates, import/no-extraneous-dependencies, import/order */\nimport '@interactjs/modifiers/plugin'\nimport interact from '@interactjs/interact/index'\nimport plugin from '@interactjs/modifiers/plugin'\ninteract.use(plugin)"],"names":["interact","use","plugin"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAIAA,QAAQ,CAACC,GAAG,CAACC,SAAM,CAAC"} |
+4
-2
@@ -1,2 +0,4 @@ | ||
| var e=r(require("./plugin.prod.js"));function r(e){return e&&e.__esModule?e:{default:e}}r(require("../interact/index.prod.js")).default.use(e.default); | ||
| //# sourceMappingURL=index.prod.js.map | ||
| /* interact.js 1.10.26 | https://raw.github.com/taye/interact.js/main/LICENSE */ | ||
| import modifiers from"./plugin.prod.js";import interact from"../interact/index.prod.js";import"../snappers/plugin.prod.js";import"./all.prod.js";import"./aspectRatio.prod.js";import"../utils/extend.prod.js";import"../utils/rect.prod.js";import"./base.prod.js";import"./Modification.prod.js";import"../utils/clone.prod.js";import"./restrict/edges.prod.js";import"./restrict/pointer.prod.js";import"../utils/is.prod.js";import"./restrict/rect.prod.js";import"./restrict/size.prod.js";import"./snap/edges.prod.js";import"./snap/size.prod.js";import"./snap/pointer.prod.js";import"../utils/getOriginXY.prod.js";import"../utils/hypot.prod.js";import"./noop.prod.js";interact.use(modifiers); | ||
| //# sourceMappingURL=index.prod.js.map |
+1
-21
@@ -1,21 +0,1 @@ | ||
| { | ||
| "version": 3, | ||
| "names": [ | ||
| "_pluginProd", | ||
| "_interopRequireDefault", | ||
| "require", | ||
| "obj", | ||
| "__esModule", | ||
| "default", | ||
| "interact", | ||
| "use", | ||
| "plugin" | ||
| ], | ||
| "sources": [ | ||
| "index.ts" | ||
| ], | ||
| "sourcesContent": [ | ||
| "/* eslint-disable no-console, eol-last, import/no-duplicates, import/no-extraneous-dependencies, import/order */\nimport '@interactjs/modifiers/plugin'\nimport interact from '@interactjs/interact/index'\nimport plugin from '@interactjs/modifiers/plugin'\ninteract.use(plugin)" | ||
| ], | ||
| "mappings": "AACA,IAAAA,EAAAC,EAAAC,QAAA,qBACiD,SAAAD,EAAAE,GAAA,OAAAA,KAAAC,WAAAD,EAAA,CAAAE,QAAAF,EAAA,CAAjDF,EAAAC,QAAA,8BAEAI,QAASC,IAAIC" | ||
| } | ||
| {"version":3,"file":"index.prod.js","sources":["index.ts"],"sourcesContent":["/* eslint-disable no-console, eol-last, import/no-duplicates, import/no-extraneous-dependencies, import/order */\nimport '@interactjs/modifiers/plugin'\nimport interact from '@interactjs/interact/index'\nimport plugin from '@interactjs/modifiers/plugin'\ninteract.use(plugin)"],"names":["interact","use","plugin"],"mappings":";;qpBAIAA,SAASC,IAAIC"} |
+48
-48
@@ -1,29 +0,27 @@ | ||
| "use strict"; | ||
| /** | ||
| * interact.js 1.10.26 | ||
| * | ||
| * Copyright (c) 2012-present Taye Adeyemi <dev@taye.me> | ||
| * Released under the MIT License. | ||
| * https://raw.github.com/taye/interact.js/main/LICENSE | ||
| */ | ||
| Object.defineProperty(exports, "__esModule", { | ||
| value: true | ||
| }); | ||
| exports.Modification = void 0; | ||
| exports.getRectOffset = getRectOffset; | ||
| var _clone = _interopRequireDefault(require("../utils/clone.js")); | ||
| var _extend = _interopRequireDefault(require("../utils/extend.js")); | ||
| var rectUtils = _interopRequireWildcard(require("../utils/rect.js")); | ||
| function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); } | ||
| function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; } | ||
| function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | ||
| import clone from "../utils/clone.js"; | ||
| import extend from "../utils/extend.js"; | ||
| import * as rectUtils from "../utils/rect.js"; | ||
| class Modification { | ||
| states = []; | ||
| startOffset = { | ||
| left: 0, | ||
| right: 0, | ||
| top: 0, | ||
| bottom: 0 | ||
| }; | ||
| startDelta; | ||
| result; | ||
| endResult; | ||
| startEdges; | ||
| edges; | ||
| interaction; | ||
| constructor(interaction) { | ||
| this.states = []; | ||
| this.startOffset = { | ||
| left: 0, | ||
| right: 0, | ||
| top: 0, | ||
| bottom: 0 | ||
| }; | ||
| this.startDelta = void 0; | ||
| this.result = void 0; | ||
| this.endResult = void 0; | ||
| this.startEdges = void 0; | ||
| this.edges = void 0; | ||
| this.interaction = void 0; | ||
| this.interaction = interaction; | ||
@@ -38,5 +36,6 @@ this.result = createResult(); | ||
| } | ||
| start({ | ||
| phase | ||
| }, pageCoords) { | ||
| start(_ref, pageCoords) { | ||
| let { | ||
| phase | ||
| } = _ref; | ||
| const { | ||
@@ -47,4 +46,4 @@ interaction | ||
| this.prepareStates(modifierList); | ||
| this.startEdges = (0, _extend.default)({}, interaction.edges); | ||
| this.edges = (0, _extend.default)({}, this.startEdges); | ||
| this.startEdges = extend({}, interaction.edges); | ||
| this.edges = extend({}, this.startEdges); | ||
| this.startOffset = getRectOffset(interaction.rect, pageCoords); | ||
@@ -93,5 +92,5 @@ this.startDelta = { | ||
| } = arg; | ||
| arg.coords = (0, _extend.default)({}, arg.pageCoords); | ||
| arg.rect = (0, _extend.default)({}, unmodifiedRect); | ||
| arg.edges = (0, _extend.default)({}, unmodifiedEdges); | ||
| arg.coords = extend({}, arg.pageCoords); | ||
| arg.rect = extend({}, unmodifiedRect); | ||
| arg.edges = extend({}, unmodifiedEdges); | ||
| const states = skipModifiers ? this.states.slice(skipModifiers) : this.states; | ||
@@ -104,3 +103,3 @@ const newResult = createResult(arg.coords, arg.rect); | ||
| } = state; | ||
| const lastModifierCoords = (0, _extend.default)({}, arg.coords); | ||
| const lastModifierCoords = extend({}, arg.coords); | ||
| let returnValue = null; | ||
@@ -117,3 +116,3 @@ if ((_state$methods = state.methods) != null && _state$methods.set && this.shouldDo(options, preEnd, phase)) { | ||
| } | ||
| (0, _extend.default)(this.edges, arg.edges); | ||
| extend(this.edges, arg.edges); | ||
| newResult.delta.x = arg.coords.x - arg.pageCoords.x; | ||
@@ -148,3 +147,3 @@ newResult.delta.y = arg.coords.y - arg.pageCoords.y; | ||
| if (phase === 'start') { | ||
| (0, _extend.default)(this.startDelta, result.delta); | ||
| extend(this.startDelta, result.delta); | ||
| } | ||
@@ -242,3 +241,3 @@ for (const [coordsSet, delta] of [[startCoords, startDelta], [curCoords, curDelta]]) { | ||
| } | ||
| const modifierArg = (0, _extend.default)({ | ||
| const modifierArg = extend({ | ||
| states: this.states, | ||
@@ -276,9 +275,10 @@ interactable: interaction.interactable, | ||
| } | ||
| restoreInteractionCoords({ | ||
| interaction: { | ||
| coords, | ||
| rect, | ||
| modification | ||
| } | ||
| }) { | ||
| restoreInteractionCoords(_ref2) { | ||
| let { | ||
| interaction: { | ||
| coords, | ||
| rect, | ||
| modification | ||
| } | ||
| } = _ref2; | ||
| if (!modification.result) return; | ||
@@ -323,4 +323,4 @@ const { | ||
| this.edges = other.edges; | ||
| this.states = other.states.map(s => (0, _clone.default)(s)); | ||
| this.result = createResult((0, _extend.default)({}, other.result.coords), (0, _extend.default)({}, other.result.rect)); | ||
| this.states = other.states.map(s => clone(s)); | ||
| this.result = createResult(extend({}, other.result.coords), extend({}, other.result.rect)); | ||
| } | ||
@@ -333,3 +333,2 @@ destroy() { | ||
| } | ||
| exports.Modification = Modification; | ||
| function createResult(coords, rect) { | ||
@@ -380,2 +379,3 @@ return { | ||
| } | ||
| //# sourceMappingURL=Modification.js.map | ||
| export { Modification, getRectOffset }; | ||
| //# sourceMappingURL=Modification.js.map |
+1
-142
@@ -1,142 +0,1 @@ | ||
| { | ||
| "version": 3, | ||
| "names": [ | ||
| "_clone", | ||
| "_interopRequireDefault", | ||
| "require", | ||
| "_extend", | ||
| "rectUtils", | ||
| "_interopRequireWildcard", | ||
| "_getRequireWildcardCache", | ||
| "e", | ||
| "WeakMap", | ||
| "r", | ||
| "t", | ||
| "__esModule", | ||
| "default", | ||
| "has", | ||
| "get", | ||
| "n", | ||
| "__proto__", | ||
| "a", | ||
| "Object", | ||
| "defineProperty", | ||
| "getOwnPropertyDescriptor", | ||
| "u", | ||
| "prototype", | ||
| "hasOwnProperty", | ||
| "call", | ||
| "i", | ||
| "set", | ||
| "obj", | ||
| "Modification", | ||
| "states", | ||
| "startOffset", | ||
| "left", | ||
| "right", | ||
| "top", | ||
| "bottom", | ||
| "startDelta", | ||
| "result", | ||
| "endResult", | ||
| "startEdges", | ||
| "edges", | ||
| "interaction", | ||
| "constructor", | ||
| "createResult", | ||
| "start", | ||
| "phase", | ||
| "pageCoords", | ||
| "modifierList", | ||
| "getModifierList", | ||
| "prepareStates", | ||
| "extend", | ||
| "getRectOffset", | ||
| "rect", | ||
| "x", | ||
| "y", | ||
| "arg", | ||
| "fillArg", | ||
| "preEnd", | ||
| "startAll", | ||
| "setAll", | ||
| "interactable", | ||
| "element", | ||
| "state", | ||
| "methods", | ||
| "skipModifiers", | ||
| "unmodifiedRect", | ||
| "unmodifiedEdges", | ||
| "coords", | ||
| "slice", | ||
| "newResult", | ||
| "_state$methods", | ||
| "options", | ||
| "lastModifierCoords", | ||
| "returnValue", | ||
| "shouldDo", | ||
| "addEdges", | ||
| "eventProps", | ||
| "push", | ||
| "delta", | ||
| "rectDelta", | ||
| "prevCoords", | ||
| "prevRect", | ||
| "rectChanged", | ||
| "changed", | ||
| "applyToInteraction", | ||
| "curCoords", | ||
| "cur", | ||
| "startCoords", | ||
| "curDelta", | ||
| "coordsSet", | ||
| "page", | ||
| "client", | ||
| "width", | ||
| "height", | ||
| "setAndApply", | ||
| "modifiedCoords", | ||
| "length", | ||
| "interacting", | ||
| "adjustment", | ||
| "beforeEnd", | ||
| "event", | ||
| "doPreend", | ||
| "endPosition", | ||
| "move", | ||
| "stop", | ||
| "modifierArg", | ||
| "index", | ||
| "name", | ||
| "restoreInteractionCoords", | ||
| "modification", | ||
| "coordsAndDeltas", | ||
| "requireEndOnly", | ||
| "enabled", | ||
| "endOnly", | ||
| "setStart", | ||
| "copyFrom", | ||
| "other", | ||
| "map", | ||
| "s", | ||
| "clone", | ||
| "destroy", | ||
| "prop", | ||
| "exports", | ||
| "actionOptions", | ||
| "prepared", | ||
| "actionModifiers", | ||
| "modifiers", | ||
| "type", | ||
| "_methods", | ||
| "filter", | ||
| "m" | ||
| ], | ||
| "sources": [ | ||
| "Modification.ts" | ||
| ], | ||
| "sourcesContent": [ | ||
| "import type { EventPhase } from '@interactjs/core/InteractEvent'\nimport type { Interaction, DoAnyPhaseArg } from '@interactjs/core/Interaction'\nimport type { EdgeOptions, FullRect, Point, Rect } from '@interactjs/core/types'\nimport clone from '@interactjs/utils/clone'\nimport extend from '@interactjs/utils/extend'\nimport * as rectUtils from '@interactjs/utils/rect'\n\nimport type { Modifier, ModifierArg, ModifierState } from './types'\n\nexport interface ModificationResult {\n delta: Point\n rectDelta: Rect\n coords: Point\n rect: FullRect\n eventProps: any[]\n changed: boolean\n}\n\ninterface MethodArg {\n phase: EventPhase\n pageCoords: Point\n rect: FullRect\n coords: Point\n preEnd?: boolean\n skipModifiers?: number\n}\n\nexport class Modification {\n states: ModifierState[] = []\n startOffset: Rect = { left: 0, right: 0, top: 0, bottom: 0 }\n startDelta!: Point\n result!: ModificationResult\n endResult!: Point\n startEdges!: EdgeOptions\n edges: EdgeOptions\n readonly interaction: Readonly<Interaction>\n\n constructor(interaction: Interaction) {\n this.interaction = interaction\n this.result = createResult()\n this.edges = {\n left: false,\n right: false,\n top: false,\n bottom: false,\n }\n }\n\n start({ phase }: { phase: EventPhase }, pageCoords: Point) {\n const { interaction } = this\n const modifierList = getModifierList(interaction)\n this.prepareStates(modifierList)\n\n this.startEdges = extend({}, interaction.edges)\n this.edges = extend({}, this.startEdges)\n this.startOffset = getRectOffset(interaction.rect, pageCoords)\n this.startDelta = { x: 0, y: 0 }\n\n const arg = this.fillArg({\n phase,\n pageCoords,\n preEnd: false,\n })\n\n this.result = createResult()\n this.startAll(arg)\n\n const result = (this.result = this.setAll(arg))\n\n return result\n }\n\n fillArg(arg: Partial<ModifierArg>) {\n const { interaction } = this\n\n arg.interaction = interaction\n arg.interactable = interaction.interactable\n arg.element = interaction.element\n arg.rect ||= interaction.rect\n arg.edges ||= this.startEdges\n arg.startOffset = this.startOffset\n\n return arg as ModifierArg\n }\n\n startAll(arg: MethodArg & Partial<ModifierArg>) {\n for (const state of this.states) {\n if (state.methods.start) {\n arg.state = state\n state.methods.start(arg as ModifierArg)\n }\n }\n }\n\n setAll(arg: MethodArg & Partial<ModifierArg>): ModificationResult {\n const { phase, preEnd, skipModifiers, rect: unmodifiedRect, edges: unmodifiedEdges } = arg\n\n arg.coords = extend({}, arg.pageCoords)\n arg.rect = extend({}, unmodifiedRect)\n arg.edges = extend({}, unmodifiedEdges)\n\n const states = skipModifiers ? this.states.slice(skipModifiers) : this.states\n\n const newResult = createResult(arg.coords, arg.rect)\n\n for (const state of states) {\n const { options } = state\n const lastModifierCoords = extend({}, arg.coords)\n let returnValue = null\n\n if (state.methods?.set && this.shouldDo(options, preEnd, phase)) {\n arg.state = state\n returnValue = state.methods.set(arg as ModifierArg<never>)\n\n rectUtils.addEdges(arg.edges, arg.rect, {\n x: arg.coords.x - lastModifierCoords.x,\n y: arg.coords.y - lastModifierCoords.y,\n })\n }\n\n newResult.eventProps.push(returnValue)\n }\n\n extend(this.edges, arg.edges)\n\n newResult.delta.x = arg.coords.x - arg.pageCoords.x\n newResult.delta.y = arg.coords.y - arg.pageCoords.y\n\n newResult.rectDelta.left = arg.rect.left - unmodifiedRect.left\n newResult.rectDelta.right = arg.rect.right - unmodifiedRect.right\n newResult.rectDelta.top = arg.rect.top - unmodifiedRect.top\n newResult.rectDelta.bottom = arg.rect.bottom - unmodifiedRect.bottom\n\n const prevCoords = this.result.coords\n const prevRect = this.result.rect\n\n if (prevCoords && prevRect) {\n const rectChanged =\n newResult.rect.left !== prevRect.left ||\n newResult.rect.right !== prevRect.right ||\n newResult.rect.top !== prevRect.top ||\n newResult.rect.bottom !== prevRect.bottom\n\n newResult.changed =\n rectChanged || prevCoords.x !== newResult.coords.x || prevCoords.y !== newResult.coords.y\n }\n\n return newResult\n }\n\n applyToInteraction(arg: { phase: EventPhase; rect?: Rect }) {\n const { interaction } = this\n const { phase } = arg\n const curCoords = interaction.coords.cur\n const startCoords = interaction.coords.start\n const { result, startDelta } = this\n const curDelta = result.delta\n\n if (phase === 'start') {\n extend(this.startDelta, result.delta)\n }\n\n for (const [coordsSet, delta] of [\n [startCoords, startDelta],\n [curCoords, curDelta],\n ] as const) {\n coordsSet.page.x += delta.x\n coordsSet.page.y += delta.y\n coordsSet.client.x += delta.x\n coordsSet.client.y += delta.y\n }\n\n const { rectDelta } = this.result\n const rect = arg.rect || interaction.rect\n\n rect.left += rectDelta.left\n rect.right += rectDelta.right\n rect.top += rectDelta.top\n rect.bottom += rectDelta.bottom\n\n rect.width = rect.right - rect.left\n rect.height = rect.bottom - rect.top\n }\n\n setAndApply(\n arg: Partial<DoAnyPhaseArg> & {\n phase: EventPhase\n preEnd?: boolean\n skipModifiers?: number\n modifiedCoords?: Point\n },\n ): void | false {\n const { interaction } = this\n const { phase, preEnd, skipModifiers } = arg\n\n const result = this.setAll(\n this.fillArg({\n preEnd,\n phase,\n pageCoords: arg.modifiedCoords || interaction.coords.cur.page,\n }),\n )\n\n this.result = result\n\n // don't fire an action move if a modifier would keep the event in the same\n // cordinates as before\n if (\n !result.changed &&\n (!skipModifiers || skipModifiers < this.states.length) &&\n interaction.interacting()\n ) {\n return false\n }\n\n if (arg.modifiedCoords) {\n const { page } = interaction.coords.cur\n const adjustment = {\n x: arg.modifiedCoords.x - page.x,\n y: arg.modifiedCoords.y - page.y,\n }\n\n result.coords.x += adjustment.x\n result.coords.y += adjustment.y\n result.delta.x += adjustment.x\n result.delta.y += adjustment.y\n }\n\n this.applyToInteraction(arg)\n }\n\n beforeEnd(arg: Omit<DoAnyPhaseArg, 'iEvent'> & { state?: ModifierState }): void | false {\n const { interaction, event } = arg\n const states = this.states\n\n if (!states || !states.length) {\n return\n }\n\n let doPreend = false\n\n for (const state of states) {\n arg.state = state\n const { options, methods } = state\n\n const endPosition = methods.beforeEnd && methods.beforeEnd(arg as unknown as ModifierArg)\n\n if (endPosition) {\n this.endResult = endPosition\n return false\n }\n\n doPreend = doPreend || (!doPreend && this.shouldDo(options, true, arg.phase, true))\n }\n\n if (doPreend) {\n // trigger a final modified move before ending\n interaction.move({ event, preEnd: true })\n }\n }\n\n stop(arg: { interaction: Interaction }) {\n const { interaction } = arg\n\n if (!this.states || !this.states.length) {\n return\n }\n\n const modifierArg: Partial<ModifierArg> = extend(\n {\n states: this.states,\n interactable: interaction.interactable,\n element: interaction.element,\n rect: null,\n },\n arg,\n )\n\n this.fillArg(modifierArg)\n\n for (const state of this.states) {\n modifierArg.state = state\n\n if (state.methods.stop) {\n state.methods.stop(modifierArg as ModifierArg)\n }\n }\n\n this.states = null\n this.endResult = null\n }\n\n prepareStates(modifierList: Modifier[]) {\n this.states = []\n\n for (let index = 0; index < modifierList.length; index++) {\n const { options, methods, name } = modifierList[index]\n\n this.states.push({\n options,\n methods,\n index,\n name,\n })\n }\n\n return this.states\n }\n\n restoreInteractionCoords({ interaction: { coords, rect, modification } }: { interaction: Interaction }) {\n if (!modification.result) return\n\n const { startDelta } = modification\n const { delta: curDelta, rectDelta } = modification.result\n\n const coordsAndDeltas = [\n [coords.start, startDelta],\n [coords.cur, curDelta],\n ]\n\n for (const [coordsSet, delta] of coordsAndDeltas as any) {\n coordsSet.page.x -= delta.x\n coordsSet.page.y -= delta.y\n coordsSet.client.x -= delta.x\n coordsSet.client.y -= delta.y\n }\n\n rect.left -= rectDelta.left\n rect.right -= rectDelta.right\n rect.top -= rectDelta.top\n rect.bottom -= rectDelta.bottom\n }\n\n shouldDo(options, preEnd?: boolean, phase?: string, requireEndOnly?: boolean) {\n if (\n // ignore disabled modifiers\n !options ||\n options.enabled === false ||\n // check if we require endOnly option to fire move before end\n (requireEndOnly && !options.endOnly) ||\n // don't apply endOnly modifiers when not ending\n (options.endOnly && !preEnd) ||\n // check if modifier should run be applied on start\n (phase === 'start' && !options.setStart)\n ) {\n return false\n }\n\n return true\n }\n\n copyFrom(other: Modification) {\n this.startOffset = other.startOffset\n this.startDelta = other.startDelta\n this.startEdges = other.startEdges\n this.edges = other.edges\n this.states = other.states.map((s) => clone(s) as ModifierState)\n this.result = createResult(extend({}, other.result.coords), extend({}, other.result.rect))\n }\n\n destroy() {\n for (const prop in this) {\n this[prop] = null\n }\n }\n}\n\nfunction createResult(coords?: Point, rect?: FullRect): ModificationResult {\n return {\n rect,\n coords,\n delta: { x: 0, y: 0 },\n rectDelta: {\n left: 0,\n right: 0,\n top: 0,\n bottom: 0,\n },\n eventProps: [],\n changed: true,\n }\n}\n\nfunction getModifierList(interaction) {\n const actionOptions = interaction.interactable.options[interaction.prepared.name]\n const actionModifiers = actionOptions.modifiers\n\n if (actionModifiers && actionModifiers.length) {\n return actionModifiers\n }\n\n return ['snap', 'snapSize', 'snapEdges', 'restrict', 'restrictEdges', 'restrictSize']\n .map((type) => {\n const options = actionOptions[type]\n\n return (\n options &&\n options.enabled && {\n options,\n methods: options._methods,\n }\n )\n })\n .filter((m) => !!m)\n}\n\nexport function getRectOffset(rect, coords) {\n return rect\n ? {\n left: coords.x - rect.left,\n top: coords.y - rect.top,\n right: rect.right - coords.x,\n bottom: rect.bottom - coords.y,\n }\n : {\n left: 0,\n top: 0,\n right: 0,\n bottom: 0,\n }\n}\n" | ||
| ], | ||
| "mappings": "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" | ||
| } | ||
| {"version":3,"file":"Modification.js","sources":["Modification.ts"],"sourcesContent":["import type { EventPhase } from '@interactjs/core/InteractEvent'\nimport type { Interaction, DoAnyPhaseArg } from '@interactjs/core/Interaction'\nimport type { EdgeOptions, FullRect, Point, Rect } from '@interactjs/core/types'\nimport clone from '@interactjs/utils/clone'\nimport extend from '@interactjs/utils/extend'\nimport * as rectUtils from '@interactjs/utils/rect'\n\nimport type { Modifier, ModifierArg, ModifierState } from './types'\n\nexport interface ModificationResult {\n delta: Point\n rectDelta: Rect\n coords: Point\n rect: FullRect\n eventProps: any[]\n changed: boolean\n}\n\ninterface MethodArg {\n phase: EventPhase\n pageCoords: Point\n rect: FullRect\n coords: Point\n preEnd?: boolean\n skipModifiers?: number\n}\n\nexport class Modification {\n states: ModifierState[] = []\n startOffset: Rect = { left: 0, right: 0, top: 0, bottom: 0 }\n startDelta!: Point\n result!: ModificationResult\n endResult!: Point\n startEdges!: EdgeOptions\n edges: EdgeOptions\n readonly interaction: Readonly<Interaction>\n\n constructor(interaction: Interaction) {\n this.interaction = interaction\n this.result = createResult()\n this.edges = {\n left: false,\n right: false,\n top: false,\n bottom: false,\n }\n }\n\n start({ phase }: { phase: EventPhase }, pageCoords: Point) {\n const { interaction } = this\n const modifierList = getModifierList(interaction)\n this.prepareStates(modifierList)\n\n this.startEdges = extend({}, interaction.edges)\n this.edges = extend({}, this.startEdges)\n this.startOffset = getRectOffset(interaction.rect, pageCoords)\n this.startDelta = { x: 0, y: 0 }\n\n const arg = this.fillArg({\n phase,\n pageCoords,\n preEnd: false,\n })\n\n this.result = createResult()\n this.startAll(arg)\n\n const result = (this.result = this.setAll(arg))\n\n return result\n }\n\n fillArg(arg: Partial<ModifierArg>) {\n const { interaction } = this\n\n arg.interaction = interaction\n arg.interactable = interaction.interactable\n arg.element = interaction.element\n arg.rect ||= interaction.rect\n arg.edges ||= this.startEdges\n arg.startOffset = this.startOffset\n\n return arg as ModifierArg\n }\n\n startAll(arg: MethodArg & Partial<ModifierArg>) {\n for (const state of this.states) {\n if (state.methods.start) {\n arg.state = state\n state.methods.start(arg as ModifierArg)\n }\n }\n }\n\n setAll(arg: MethodArg & Partial<ModifierArg>): ModificationResult {\n const { phase, preEnd, skipModifiers, rect: unmodifiedRect, edges: unmodifiedEdges } = arg\n\n arg.coords = extend({}, arg.pageCoords)\n arg.rect = extend({}, unmodifiedRect)\n arg.edges = extend({}, unmodifiedEdges)\n\n const states = skipModifiers ? this.states.slice(skipModifiers) : this.states\n\n const newResult = createResult(arg.coords, arg.rect)\n\n for (const state of states) {\n const { options } = state\n const lastModifierCoords = extend({}, arg.coords)\n let returnValue = null\n\n if (state.methods?.set && this.shouldDo(options, preEnd, phase)) {\n arg.state = state\n returnValue = state.methods.set(arg as ModifierArg<never>)\n\n rectUtils.addEdges(arg.edges, arg.rect, {\n x: arg.coords.x - lastModifierCoords.x,\n y: arg.coords.y - lastModifierCoords.y,\n })\n }\n\n newResult.eventProps.push(returnValue)\n }\n\n extend(this.edges, arg.edges)\n\n newResult.delta.x = arg.coords.x - arg.pageCoords.x\n newResult.delta.y = arg.coords.y - arg.pageCoords.y\n\n newResult.rectDelta.left = arg.rect.left - unmodifiedRect.left\n newResult.rectDelta.right = arg.rect.right - unmodifiedRect.right\n newResult.rectDelta.top = arg.rect.top - unmodifiedRect.top\n newResult.rectDelta.bottom = arg.rect.bottom - unmodifiedRect.bottom\n\n const prevCoords = this.result.coords\n const prevRect = this.result.rect\n\n if (prevCoords && prevRect) {\n const rectChanged =\n newResult.rect.left !== prevRect.left ||\n newResult.rect.right !== prevRect.right ||\n newResult.rect.top !== prevRect.top ||\n newResult.rect.bottom !== prevRect.bottom\n\n newResult.changed =\n rectChanged || prevCoords.x !== newResult.coords.x || prevCoords.y !== newResult.coords.y\n }\n\n return newResult\n }\n\n applyToInteraction(arg: { phase: EventPhase; rect?: Rect }) {\n const { interaction } = this\n const { phase } = arg\n const curCoords = interaction.coords.cur\n const startCoords = interaction.coords.start\n const { result, startDelta } = this\n const curDelta = result.delta\n\n if (phase === 'start') {\n extend(this.startDelta, result.delta)\n }\n\n for (const [coordsSet, delta] of [\n [startCoords, startDelta],\n [curCoords, curDelta],\n ] as const) {\n coordsSet.page.x += delta.x\n coordsSet.page.y += delta.y\n coordsSet.client.x += delta.x\n coordsSet.client.y += delta.y\n }\n\n const { rectDelta } = this.result\n const rect = arg.rect || interaction.rect\n\n rect.left += rectDelta.left\n rect.right += rectDelta.right\n rect.top += rectDelta.top\n rect.bottom += rectDelta.bottom\n\n rect.width = rect.right - rect.left\n rect.height = rect.bottom - rect.top\n }\n\n setAndApply(\n arg: Partial<DoAnyPhaseArg> & {\n phase: EventPhase\n preEnd?: boolean\n skipModifiers?: number\n modifiedCoords?: Point\n },\n ): void | false {\n const { interaction } = this\n const { phase, preEnd, skipModifiers } = arg\n\n const result = this.setAll(\n this.fillArg({\n preEnd,\n phase,\n pageCoords: arg.modifiedCoords || interaction.coords.cur.page,\n }),\n )\n\n this.result = result\n\n // don't fire an action move if a modifier would keep the event in the same\n // cordinates as before\n if (\n !result.changed &&\n (!skipModifiers || skipModifiers < this.states.length) &&\n interaction.interacting()\n ) {\n return false\n }\n\n if (arg.modifiedCoords) {\n const { page } = interaction.coords.cur\n const adjustment = {\n x: arg.modifiedCoords.x - page.x,\n y: arg.modifiedCoords.y - page.y,\n }\n\n result.coords.x += adjustment.x\n result.coords.y += adjustment.y\n result.delta.x += adjustment.x\n result.delta.y += adjustment.y\n }\n\n this.applyToInteraction(arg)\n }\n\n beforeEnd(arg: Omit<DoAnyPhaseArg, 'iEvent'> & { state?: ModifierState }): void | false {\n const { interaction, event } = arg\n const states = this.states\n\n if (!states || !states.length) {\n return\n }\n\n let doPreend = false\n\n for (const state of states) {\n arg.state = state\n const { options, methods } = state\n\n const endPosition = methods.beforeEnd && methods.beforeEnd(arg as unknown as ModifierArg)\n\n if (endPosition) {\n this.endResult = endPosition\n return false\n }\n\n doPreend = doPreend || (!doPreend && this.shouldDo(options, true, arg.phase, true))\n }\n\n if (doPreend) {\n // trigger a final modified move before ending\n interaction.move({ event, preEnd: true })\n }\n }\n\n stop(arg: { interaction: Interaction }) {\n const { interaction } = arg\n\n if (!this.states || !this.states.length) {\n return\n }\n\n const modifierArg: Partial<ModifierArg> = extend(\n {\n states: this.states,\n interactable: interaction.interactable,\n element: interaction.element,\n rect: null,\n },\n arg,\n )\n\n this.fillArg(modifierArg)\n\n for (const state of this.states) {\n modifierArg.state = state\n\n if (state.methods.stop) {\n state.methods.stop(modifierArg as ModifierArg)\n }\n }\n\n this.states = null\n this.endResult = null\n }\n\n prepareStates(modifierList: Modifier[]) {\n this.states = []\n\n for (let index = 0; index < modifierList.length; index++) {\n const { options, methods, name } = modifierList[index]\n\n this.states.push({\n options,\n methods,\n index,\n name,\n })\n }\n\n return this.states\n }\n\n restoreInteractionCoords({ interaction: { coords, rect, modification } }: { interaction: Interaction }) {\n if (!modification.result) return\n\n const { startDelta } = modification\n const { delta: curDelta, rectDelta } = modification.result\n\n const coordsAndDeltas = [\n [coords.start, startDelta],\n [coords.cur, curDelta],\n ]\n\n for (const [coordsSet, delta] of coordsAndDeltas as any) {\n coordsSet.page.x -= delta.x\n coordsSet.page.y -= delta.y\n coordsSet.client.x -= delta.x\n coordsSet.client.y -= delta.y\n }\n\n rect.left -= rectDelta.left\n rect.right -= rectDelta.right\n rect.top -= rectDelta.top\n rect.bottom -= rectDelta.bottom\n }\n\n shouldDo(options, preEnd?: boolean, phase?: string, requireEndOnly?: boolean) {\n if (\n // ignore disabled modifiers\n !options ||\n options.enabled === false ||\n // check if we require endOnly option to fire move before end\n (requireEndOnly && !options.endOnly) ||\n // don't apply endOnly modifiers when not ending\n (options.endOnly && !preEnd) ||\n // check if modifier should run be applied on start\n (phase === 'start' && !options.setStart)\n ) {\n return false\n }\n\n return true\n }\n\n copyFrom(other: Modification) {\n this.startOffset = other.startOffset\n this.startDelta = other.startDelta\n this.startEdges = other.startEdges\n this.edges = other.edges\n this.states = other.states.map((s) => clone(s) as ModifierState)\n this.result = createResult(extend({}, other.result.coords), extend({}, other.result.rect))\n }\n\n destroy() {\n for (const prop in this) {\n this[prop] = null\n }\n }\n}\n\nfunction createResult(coords?: Point, rect?: FullRect): ModificationResult {\n return {\n rect,\n coords,\n delta: { x: 0, y: 0 },\n rectDelta: {\n left: 0,\n right: 0,\n top: 0,\n bottom: 0,\n },\n eventProps: [],\n changed: true,\n }\n}\n\nfunction getModifierList(interaction) {\n const actionOptions = interaction.interactable.options[interaction.prepared.name]\n const actionModifiers = actionOptions.modifiers\n\n if (actionModifiers && actionModifiers.length) {\n return actionModifiers\n }\n\n return ['snap', 'snapSize', 'snapEdges', 'restrict', 'restrictEdges', 'restrictSize']\n .map((type) => {\n const options = actionOptions[type]\n\n return (\n options &&\n options.enabled && {\n options,\n methods: options._methods,\n }\n )\n })\n .filter((m) => !!m)\n}\n\nexport function getRectOffset(rect, coords) {\n return rect\n ? {\n left: coords.x - rect.left,\n top: coords.y - rect.top,\n right: rect.right - coords.x,\n bottom: rect.bottom - coords.y,\n }\n : {\n left: 0,\n top: 0,\n right: 0,\n bottom: 0,\n }\n}\n"],"names":["Modification","states","startOffset","left","right","top","bottom","startDelta","result","endResult","startEdges","edges","interaction","constructor","createResult","start","_ref","pageCoords","phase","modifierList","getModifierList","prepareStates","extend","getRectOffset","rect","x","y","arg","fillArg","preEnd","startAll","setAll","interactable","element","state","methods","skipModifiers","unmodifiedRect","unmodifiedEdges","coords","slice","newResult","_state$methods","options","lastModifierCoords","returnValue","set","shouldDo","rectUtils","addEdges","eventProps","push","delta","rectDelta","prevCoords","prevRect","rectChanged","changed","applyToInteraction","curCoords","cur","startCoords","curDelta","coordsSet","page","client","width","height","setAndApply","modifiedCoords","length","interacting","adjustment","beforeEnd","event","doPreend","endPosition","move","stop","modifierArg","index","name","restoreInteractionCoords","_ref2","modification","coordsAndDeltas","requireEndOnly","enabled","endOnly","setStart","copyFrom","other","map","s","clone","destroy","prop","actionOptions","prepared","actionModifiers","modifiers","type","_methods","filter","m"],"mappings":"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"} |
@@ -1,2 +0,4 @@ | ||
| Object.defineProperty(exports,"__esModule",{value:!0}),exports.Modification=void 0,exports.getRectOffset=a;var t=o(require("../utils/clone.prod.js")),e=o(require("../utils/extend.prod.js")),s=((t,e)=>{if(t&&t.__esModule)return t;if(null===t||"object"!=typeof t&&"function"!=typeof t)return{default:t};var s=r(e);if(s&&s.has(t))return s.get(t);var o={__proto__:null},i=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var a in t)if("default"!==a&&Object.prototype.hasOwnProperty.call(t,a)){var n=i?Object.getOwnPropertyDescriptor(t,a):null;n&&(n.get||n.set)?Object.defineProperty(o,a,n):o[a]=t[a]}return o.default=t,s&&s.set(t,o),o})(require("../utils/rect.prod.js"));function r(t){if("function"!=typeof WeakMap)return null;var e=new WeakMap,s=new WeakMap;return(r=t=>t?s:e)(t)}function o(t){return t&&t.__esModule?t:{default:t}}function i(t,e){return{rect:e,coords:t,delta:{x:0,y:0},rectDelta:{left:0,right:0,top:0,bottom:0},eventProps:[],changed:!0}}function a(t,e){return t?{left:e.x-t.left,top:e.y-t.top,right:t.right-e.x,bottom:t.bottom-e.y}:{left:0,top:0,right:0,bottom:0}}exports.Modification=class{states=[];startOffset={left:0,right:0,top:0,bottom:0};startDelta;result;endResult;startEdges;edges;interaction;constructor(t){this.interaction=t,this.result=i(),this.edges={left:!1,right:!1,top:!1,bottom:!1}}start({phase:t},s){const{interaction:r}=this,o=(t=>{const e=t.interactable.options[t.prepared.name],s=e.modifiers;return s&&s.length?s:["snap","snapSize","snapEdges","restrict","restrictEdges","restrictSize"].map((t=>{const s=e[t];return s&&s.enabled&&{options:s,methods:s._methods}})).filter((t=>!!t))})(r);this.prepareStates(o),this.startEdges=(0,e.default)({},r.edges),this.edges=(0,e.default)({},this.startEdges),this.startOffset=a(r.rect,s),this.startDelta={x:0,y:0};const n=this.fillArg({phase:t,pageCoords:s,preEnd:!1});return this.result=i(),this.startAll(n),this.result=this.setAll(n)}fillArg(t){const{interaction:e}=this;return t.interaction=e,t.interactable=e.interactable,t.element=e.element,t.rect||(t.rect=e.rect),t.edges||(t.edges=this.startEdges),t.startOffset=this.startOffset,t}startAll(t){for(const e of this.states)e.methods.start&&(t.state=e,e.methods.start(t))}setAll(t){const{phase:r,preEnd:o,skipModifiers:a,rect:n,edges:l}=t;t.coords=(0,e.default)({},t.pageCoords),t.rect=(0,e.default)({},n),t.edges=(0,e.default)({},l);const d=a?this.states.slice(a):this.states,c=i(t.coords,t.rect);for(const i of d){var h;const{options:a}=i,n=(0,e.default)({},t.coords);let l=null;null!=(h=i.methods)&&h.set&&this.shouldDo(a,o,r)&&(t.state=i,l=i.methods.set(t),s.addEdges(t.edges,t.rect,{x:t.coords.x-n.x,y:t.coords.y-n.y})),c.eventProps.push(l)}(0,e.default)(this.edges,t.edges),c.delta.x=t.coords.x-t.pageCoords.x,c.delta.y=t.coords.y-t.pageCoords.y,c.rectDelta.left=t.rect.left-n.left,c.rectDelta.right=t.rect.right-n.right,c.rectDelta.top=t.rect.top-n.top,c.rectDelta.bottom=t.rect.bottom-n.bottom;const f=this.result.coords,p=this.result.rect;if(f&&p){const t=c.rect.left!==p.left||c.rect.right!==p.right||c.rect.top!==p.top||c.rect.bottom!==p.bottom;c.changed=t||f.x!==c.coords.x||f.y!==c.coords.y}return c}applyToInteraction(t){const{interaction:s}=this,{phase:r}=t,o=s.coords.cur,i=s.coords.start,{result:a,startDelta:n}=this,l=a.delta;"start"===r&&(0,e.default)(this.startDelta,a.delta);for(const[t,e]of[[i,n],[o,l]])t.page.x+=e.x,t.page.y+=e.y,t.client.x+=e.x,t.client.y+=e.y;const{rectDelta:d}=this.result,c=t.rect||s.rect;c.left+=d.left,c.right+=d.right,c.top+=d.top,c.bottom+=d.bottom,c.width=c.right-c.left,c.height=c.bottom-c.top}setAndApply(t){const{interaction:e}=this,{phase:s,preEnd:r,skipModifiers:o}=t,i=this.setAll(this.fillArg({preEnd:r,phase:s,pageCoords:t.modifiedCoords||e.coords.cur.page}));if(this.result=i,!i.changed&&(!o||o<this.states.length)&&e.interacting())return!1;if(t.modifiedCoords){const{page:s}=e.coords.cur,r={x:t.modifiedCoords.x-s.x,y:t.modifiedCoords.y-s.y};i.coords.x+=r.x,i.coords.y+=r.y,i.delta.x+=r.x,i.delta.y+=r.y}this.applyToInteraction(t)}beforeEnd(t){const{interaction:e,event:s}=t,r=this.states;if(!r||!r.length)return;let o=!1;for(const e of r){t.state=e;const{options:s,methods:r}=e,i=r.beforeEnd&&r.beforeEnd(t);if(i)return this.endResult=i,!1;o=o||!o&&this.shouldDo(s,!0,t.phase,!0)}o&&e.move({event:s,preEnd:!0})}stop(t){const{interaction:s}=t;if(!this.states||!this.states.length)return;const r=(0,e.default)({states:this.states,interactable:s.interactable,element:s.element,rect:null},t);this.fillArg(r);for(const t of this.states)r.state=t,t.methods.stop&&t.methods.stop(r);this.states=null,this.endResult=null}prepareStates(t){this.states=[];for(let e=0;e<t.length;e++){const{options:s,methods:r,name:o}=t[e];this.states.push({options:s,methods:r,index:e,name:o})}return this.states}restoreInteractionCoords({interaction:{coords:t,rect:e,modification:s}}){if(!s.result)return;const{startDelta:r}=s,{delta:o,rectDelta:i}=s.result,a=[[t.start,r],[t.cur,o]];for(const[t,e]of a)t.page.x-=e.x,t.page.y-=e.y,t.client.x-=e.x,t.client.y-=e.y;e.left-=i.left,e.right-=i.right,e.top-=i.top,e.bottom-=i.bottom}shouldDo(t,e,s,r){return!(!t||!1===t.enabled||r&&!t.endOnly||t.endOnly&&!e||"start"===s&&!t.setStart)}copyFrom(s){this.startOffset=s.startOffset,this.startDelta=s.startDelta,this.startEdges=s.startEdges,this.edges=s.edges,this.states=s.states.map((e=>(0,t.default)(e))),this.result=i((0,e.default)({},s.result.coords),(0,e.default)({},s.result.rect))}destroy(){for(const t in this)this[t]=null}}; | ||
| //# sourceMappingURL=Modification.prod.js.map | ||
| /* interact.js 1.10.26 | https://raw.github.com/taye/interact.js/main/LICENSE */ | ||
| import clone from"../utils/clone.prod.js";import extend from"../utils/extend.prod.js";import*as rectUtils from"../utils/rect.prod.js";class Modification{constructor(t){this.states=[],this.startOffset={left:0,right:0,top:0,bottom:0},this.startDelta=void 0,this.result=void 0,this.endResult=void 0,this.startEdges=void 0,this.edges=void 0,this.interaction=void 0,this.interaction=t,this.result=createResult(),this.edges={left:!1,right:!1,top:!1,bottom:!1}}start(t,e){let{phase:s}=t;const{interaction:o}=this,r=getModifierList(o);this.prepareStates(r),this.startEdges=extend({},o.edges),this.edges=extend({},this.startEdges),this.startOffset=getRectOffset(o.rect,e),this.startDelta={x:0,y:0};const i=this.fillArg({phase:s,pageCoords:e,preEnd:!1});this.result=createResult(),this.startAll(i);return this.result=this.setAll(i)}fillArg(t){const{interaction:e}=this;return t.interaction=e,t.interactable=e.interactable,t.element=e.element,t.rect||(t.rect=e.rect),t.edges||(t.edges=this.startEdges),t.startOffset=this.startOffset,t}startAll(t){for(const e of this.states)e.methods.start&&(t.state=e,e.methods.start(t))}setAll(t){const{phase:e,preEnd:s,skipModifiers:o,rect:r,edges:i}=t;t.coords=extend({},t.pageCoords),t.rect=extend({},r),t.edges=extend({},i);const n=o?this.states.slice(o):this.states,a=createResult(t.coords,t.rect);for(const o of n){var d;const{options:r}=o,i=extend({},t.coords);let n=null;null!=(d=o.methods)&&d.set&&this.shouldDo(r,s,e)&&(t.state=o,n=o.methods.set(t),rectUtils.addEdges(t.edges,t.rect,{x:t.coords.x-i.x,y:t.coords.y-i.y})),a.eventProps.push(n)}extend(this.edges,t.edges),a.delta.x=t.coords.x-t.pageCoords.x,a.delta.y=t.coords.y-t.pageCoords.y,a.rectDelta.left=t.rect.left-r.left,a.rectDelta.right=t.rect.right-r.right,a.rectDelta.top=t.rect.top-r.top,a.rectDelta.bottom=t.rect.bottom-r.bottom;const c=this.result.coords,l=this.result.rect;if(c&&l){const t=a.rect.left!==l.left||a.rect.right!==l.right||a.rect.top!==l.top||a.rect.bottom!==l.bottom;a.changed=t||c.x!==a.coords.x||c.y!==a.coords.y}return a}applyToInteraction(t){const{interaction:e}=this,{phase:s}=t,o=e.coords.cur,r=e.coords.start,{result:i,startDelta:n}=this,a=i.delta;"start"===s&&extend(this.startDelta,i.delta);for(const[t,e]of[[r,n],[o,a]])t.page.x+=e.x,t.page.y+=e.y,t.client.x+=e.x,t.client.y+=e.y;const{rectDelta:d}=this.result,c=t.rect||e.rect;c.left+=d.left,c.right+=d.right,c.top+=d.top,c.bottom+=d.bottom,c.width=c.right-c.left,c.height=c.bottom-c.top}setAndApply(t){const{interaction:e}=this,{phase:s,preEnd:o,skipModifiers:r}=t,i=this.setAll(this.fillArg({preEnd:o,phase:s,pageCoords:t.modifiedCoords||e.coords.cur.page}));if(this.result=i,!i.changed&&(!r||r<this.states.length)&&e.interacting())return!1;if(t.modifiedCoords){const{page:s}=e.coords.cur,o={x:t.modifiedCoords.x-s.x,y:t.modifiedCoords.y-s.y};i.coords.x+=o.x,i.coords.y+=o.y,i.delta.x+=o.x,i.delta.y+=o.y}this.applyToInteraction(t)}beforeEnd(t){const{interaction:e,event:s}=t,o=this.states;if(!o||!o.length)return;let r=!1;for(const e of o){t.state=e;const{options:s,methods:o}=e,i=o.beforeEnd&&o.beforeEnd(t);if(i)return this.endResult=i,!1;r=r||!r&&this.shouldDo(s,!0,t.phase,!0)}r&&e.move({event:s,preEnd:!0})}stop(t){const{interaction:e}=t;if(!this.states||!this.states.length)return;const s=extend({states:this.states,interactable:e.interactable,element:e.element,rect:null},t);this.fillArg(s);for(const t of this.states)s.state=t,t.methods.stop&&t.methods.stop(s);this.states=null,this.endResult=null}prepareStates(t){this.states=[];for(let e=0;e<t.length;e++){const{options:s,methods:o,name:r}=t[e];this.states.push({options:s,methods:o,index:e,name:r})}return this.states}restoreInteractionCoords(t){let{interaction:{coords:e,rect:s,modification:o}}=t;if(!o.result)return;const{startDelta:r}=o,{delta:i,rectDelta:n}=o.result,a=[[e.start,r],[e.cur,i]];for(const[t,e]of a)t.page.x-=e.x,t.page.y-=e.y,t.client.x-=e.x,t.client.y-=e.y;s.left-=n.left,s.right-=n.right,s.top-=n.top,s.bottom-=n.bottom}shouldDo(t,e,s,o){return!(!t||!1===t.enabled||o&&!t.endOnly||t.endOnly&&!e||"start"===s&&!t.setStart)}copyFrom(t){this.startOffset=t.startOffset,this.startDelta=t.startDelta,this.startEdges=t.startEdges,this.edges=t.edges,this.states=t.states.map((t=>clone(t))),this.result=createResult(extend({},t.result.coords),extend({},t.result.rect))}destroy(){for(const t in this)this[t]=null}}function createResult(t,e){return{rect:e,coords:t,delta:{x:0,y:0},rectDelta:{left:0,right:0,top:0,bottom:0},eventProps:[],changed:!0}}function getModifierList(t){const e=t.interactable.options[t.prepared.name],s=e.modifiers;return s&&s.length?s:["snap","snapSize","snapEdges","restrict","restrictEdges","restrictSize"].map((t=>{const s=e[t];return s&&s.enabled&&{options:s,methods:s._methods}})).filter((t=>!!t))}function getRectOffset(t,e){return t?{left:e.x-t.left,top:e.y-t.top,right:t.right-e.x,bottom:t.bottom-e.y}:{left:0,top:0,right:0,bottom:0}}export{Modification,getRectOffset}; | ||
| //# sourceMappingURL=Modification.prod.js.map |
+1
-143
@@ -1,143 +0,1 @@ | ||
| { | ||
| "version": 3, | ||
| "names": [ | ||
| "_cloneProd", | ||
| "_interopRequireDefault", | ||
| "require", | ||
| "_extendProd", | ||
| "rectUtils", | ||
| "e", | ||
| "r", | ||
| "__esModule", | ||
| "default", | ||
| "t", | ||
| "_getRequireWildcardCache", | ||
| "has", | ||
| "get", | ||
| "n", | ||
| "__proto__", | ||
| "a", | ||
| "Object", | ||
| "defineProperty", | ||
| "getOwnPropertyDescriptor", | ||
| "u", | ||
| "prototype", | ||
| "hasOwnProperty", | ||
| "call", | ||
| "i", | ||
| "set", | ||
| "_interopRequireWildcard", | ||
| "WeakMap", | ||
| "obj", | ||
| "createResult", | ||
| "coords", | ||
| "rect", | ||
| "delta", | ||
| "x", | ||
| "y", | ||
| "rectDelta", | ||
| "left", | ||
| "right", | ||
| "top", | ||
| "bottom", | ||
| "eventProps", | ||
| "changed", | ||
| "getRectOffset", | ||
| "exports", | ||
| "Modification", | ||
| "states", | ||
| "startOffset", | ||
| "startDelta", | ||
| "result", | ||
| "endResult", | ||
| "startEdges", | ||
| "edges", | ||
| "interaction", | ||
| "constructor", | ||
| "this", | ||
| "start", | ||
| "phase", | ||
| "pageCoords", | ||
| "modifierList", | ||
| "actionOptions", | ||
| "interactable", | ||
| "options", | ||
| "prepared", | ||
| "name", | ||
| "actionModifiers", | ||
| "modifiers", | ||
| "length", | ||
| "map", | ||
| "type", | ||
| "enabled", | ||
| "methods", | ||
| "_methods", | ||
| "filter", | ||
| "m", | ||
| "getModifierList", | ||
| "prepareStates", | ||
| "extend", | ||
| "arg", | ||
| "fillArg", | ||
| "preEnd", | ||
| "startAll", | ||
| "setAll", | ||
| "element", | ||
| "state", | ||
| "skipModifiers", | ||
| "unmodifiedRect", | ||
| "unmodifiedEdges", | ||
| "slice", | ||
| "newResult", | ||
| "_state$methods", | ||
| "lastModifierCoords", | ||
| "returnValue", | ||
| "shouldDo", | ||
| "addEdges", | ||
| "push", | ||
| "prevCoords", | ||
| "prevRect", | ||
| "rectChanged", | ||
| "applyToInteraction", | ||
| "curCoords", | ||
| "cur", | ||
| "startCoords", | ||
| "curDelta", | ||
| "coordsSet", | ||
| "page", | ||
| "client", | ||
| "width", | ||
| "height", | ||
| "setAndApply", | ||
| "modifiedCoords", | ||
| "interacting", | ||
| "adjustment", | ||
| "beforeEnd", | ||
| "event", | ||
| "doPreend", | ||
| "endPosition", | ||
| "move", | ||
| "stop", | ||
| "modifierArg", | ||
| "index", | ||
| "restoreInteractionCoords", | ||
| "modification", | ||
| "coordsAndDeltas", | ||
| "requireEndOnly", | ||
| "endOnly", | ||
| "setStart", | ||
| "copyFrom", | ||
| "other", | ||
| "s", | ||
| "clone", | ||
| "destroy", | ||
| "prop" | ||
| ], | ||
| "sources": [ | ||
| "Modification.ts" | ||
| ], | ||
| "sourcesContent": [ | ||
| "import type { EventPhase } from '@interactjs/core/InteractEvent'\nimport type { Interaction, DoAnyPhaseArg } from '@interactjs/core/Interaction'\nimport type { EdgeOptions, FullRect, Point, Rect } from '@interactjs/core/types'\nimport clone from '@interactjs/utils/clone'\nimport extend from '@interactjs/utils/extend'\nimport * as rectUtils from '@interactjs/utils/rect'\n\nimport type { Modifier, ModifierArg, ModifierState } from './types'\n\nexport interface ModificationResult {\n delta: Point\n rectDelta: Rect\n coords: Point\n rect: FullRect\n eventProps: any[]\n changed: boolean\n}\n\ninterface MethodArg {\n phase: EventPhase\n pageCoords: Point\n rect: FullRect\n coords: Point\n preEnd?: boolean\n skipModifiers?: number\n}\n\nexport class Modification {\n states: ModifierState[] = []\n startOffset: Rect = { left: 0, right: 0, top: 0, bottom: 0 }\n startDelta!: Point\n result!: ModificationResult\n endResult!: Point\n startEdges!: EdgeOptions\n edges: EdgeOptions\n readonly interaction: Readonly<Interaction>\n\n constructor(interaction: Interaction) {\n this.interaction = interaction\n this.result = createResult()\n this.edges = {\n left: false,\n right: false,\n top: false,\n bottom: false,\n }\n }\n\n start({ phase }: { phase: EventPhase }, pageCoords: Point) {\n const { interaction } = this\n const modifierList = getModifierList(interaction)\n this.prepareStates(modifierList)\n\n this.startEdges = extend({}, interaction.edges)\n this.edges = extend({}, this.startEdges)\n this.startOffset = getRectOffset(interaction.rect, pageCoords)\n this.startDelta = { x: 0, y: 0 }\n\n const arg = this.fillArg({\n phase,\n pageCoords,\n preEnd: false,\n })\n\n this.result = createResult()\n this.startAll(arg)\n\n const result = (this.result = this.setAll(arg))\n\n return result\n }\n\n fillArg(arg: Partial<ModifierArg>) {\n const { interaction } = this\n\n arg.interaction = interaction\n arg.interactable = interaction.interactable\n arg.element = interaction.element\n arg.rect ||= interaction.rect\n arg.edges ||= this.startEdges\n arg.startOffset = this.startOffset\n\n return arg as ModifierArg\n }\n\n startAll(arg: MethodArg & Partial<ModifierArg>) {\n for (const state of this.states) {\n if (state.methods.start) {\n arg.state = state\n state.methods.start(arg as ModifierArg)\n }\n }\n }\n\n setAll(arg: MethodArg & Partial<ModifierArg>): ModificationResult {\n const { phase, preEnd, skipModifiers, rect: unmodifiedRect, edges: unmodifiedEdges } = arg\n\n arg.coords = extend({}, arg.pageCoords)\n arg.rect = extend({}, unmodifiedRect)\n arg.edges = extend({}, unmodifiedEdges)\n\n const states = skipModifiers ? this.states.slice(skipModifiers) : this.states\n\n const newResult = createResult(arg.coords, arg.rect)\n\n for (const state of states) {\n const { options } = state\n const lastModifierCoords = extend({}, arg.coords)\n let returnValue = null\n\n if (state.methods?.set && this.shouldDo(options, preEnd, phase)) {\n arg.state = state\n returnValue = state.methods.set(arg as ModifierArg<never>)\n\n rectUtils.addEdges(arg.edges, arg.rect, {\n x: arg.coords.x - lastModifierCoords.x,\n y: arg.coords.y - lastModifierCoords.y,\n })\n }\n\n newResult.eventProps.push(returnValue)\n }\n\n extend(this.edges, arg.edges)\n\n newResult.delta.x = arg.coords.x - arg.pageCoords.x\n newResult.delta.y = arg.coords.y - arg.pageCoords.y\n\n newResult.rectDelta.left = arg.rect.left - unmodifiedRect.left\n newResult.rectDelta.right = arg.rect.right - unmodifiedRect.right\n newResult.rectDelta.top = arg.rect.top - unmodifiedRect.top\n newResult.rectDelta.bottom = arg.rect.bottom - unmodifiedRect.bottom\n\n const prevCoords = this.result.coords\n const prevRect = this.result.rect\n\n if (prevCoords && prevRect) {\n const rectChanged =\n newResult.rect.left !== prevRect.left ||\n newResult.rect.right !== prevRect.right ||\n newResult.rect.top !== prevRect.top ||\n newResult.rect.bottom !== prevRect.bottom\n\n newResult.changed =\n rectChanged || prevCoords.x !== newResult.coords.x || prevCoords.y !== newResult.coords.y\n }\n\n return newResult\n }\n\n applyToInteraction(arg: { phase: EventPhase; rect?: Rect }) {\n const { interaction } = this\n const { phase } = arg\n const curCoords = interaction.coords.cur\n const startCoords = interaction.coords.start\n const { result, startDelta } = this\n const curDelta = result.delta\n\n if (phase === 'start') {\n extend(this.startDelta, result.delta)\n }\n\n for (const [coordsSet, delta] of [\n [startCoords, startDelta],\n [curCoords, curDelta],\n ] as const) {\n coordsSet.page.x += delta.x\n coordsSet.page.y += delta.y\n coordsSet.client.x += delta.x\n coordsSet.client.y += delta.y\n }\n\n const { rectDelta } = this.result\n const rect = arg.rect || interaction.rect\n\n rect.left += rectDelta.left\n rect.right += rectDelta.right\n rect.top += rectDelta.top\n rect.bottom += rectDelta.bottom\n\n rect.width = rect.right - rect.left\n rect.height = rect.bottom - rect.top\n }\n\n setAndApply(\n arg: Partial<DoAnyPhaseArg> & {\n phase: EventPhase\n preEnd?: boolean\n skipModifiers?: number\n modifiedCoords?: Point\n },\n ): void | false {\n const { interaction } = this\n const { phase, preEnd, skipModifiers } = arg\n\n const result = this.setAll(\n this.fillArg({\n preEnd,\n phase,\n pageCoords: arg.modifiedCoords || interaction.coords.cur.page,\n }),\n )\n\n this.result = result\n\n // don't fire an action move if a modifier would keep the event in the same\n // cordinates as before\n if (\n !result.changed &&\n (!skipModifiers || skipModifiers < this.states.length) &&\n interaction.interacting()\n ) {\n return false\n }\n\n if (arg.modifiedCoords) {\n const { page } = interaction.coords.cur\n const adjustment = {\n x: arg.modifiedCoords.x - page.x,\n y: arg.modifiedCoords.y - page.y,\n }\n\n result.coords.x += adjustment.x\n result.coords.y += adjustment.y\n result.delta.x += adjustment.x\n result.delta.y += adjustment.y\n }\n\n this.applyToInteraction(arg)\n }\n\n beforeEnd(arg: Omit<DoAnyPhaseArg, 'iEvent'> & { state?: ModifierState }): void | false {\n const { interaction, event } = arg\n const states = this.states\n\n if (!states || !states.length) {\n return\n }\n\n let doPreend = false\n\n for (const state of states) {\n arg.state = state\n const { options, methods } = state\n\n const endPosition = methods.beforeEnd && methods.beforeEnd(arg as unknown as ModifierArg)\n\n if (endPosition) {\n this.endResult = endPosition\n return false\n }\n\n doPreend = doPreend || (!doPreend && this.shouldDo(options, true, arg.phase, true))\n }\n\n if (doPreend) {\n // trigger a final modified move before ending\n interaction.move({ event, preEnd: true })\n }\n }\n\n stop(arg: { interaction: Interaction }) {\n const { interaction } = arg\n\n if (!this.states || !this.states.length) {\n return\n }\n\n const modifierArg: Partial<ModifierArg> = extend(\n {\n states: this.states,\n interactable: interaction.interactable,\n element: interaction.element,\n rect: null,\n },\n arg,\n )\n\n this.fillArg(modifierArg)\n\n for (const state of this.states) {\n modifierArg.state = state\n\n if (state.methods.stop) {\n state.methods.stop(modifierArg as ModifierArg)\n }\n }\n\n this.states = null\n this.endResult = null\n }\n\n prepareStates(modifierList: Modifier[]) {\n this.states = []\n\n for (let index = 0; index < modifierList.length; index++) {\n const { options, methods, name } = modifierList[index]\n\n this.states.push({\n options,\n methods,\n index,\n name,\n })\n }\n\n return this.states\n }\n\n restoreInteractionCoords({ interaction: { coords, rect, modification } }: { interaction: Interaction }) {\n if (!modification.result) return\n\n const { startDelta } = modification\n const { delta: curDelta, rectDelta } = modification.result\n\n const coordsAndDeltas = [\n [coords.start, startDelta],\n [coords.cur, curDelta],\n ]\n\n for (const [coordsSet, delta] of coordsAndDeltas as any) {\n coordsSet.page.x -= delta.x\n coordsSet.page.y -= delta.y\n coordsSet.client.x -= delta.x\n coordsSet.client.y -= delta.y\n }\n\n rect.left -= rectDelta.left\n rect.right -= rectDelta.right\n rect.top -= rectDelta.top\n rect.bottom -= rectDelta.bottom\n }\n\n shouldDo(options, preEnd?: boolean, phase?: string, requireEndOnly?: boolean) {\n if (\n // ignore disabled modifiers\n !options ||\n options.enabled === false ||\n // check if we require endOnly option to fire move before end\n (requireEndOnly && !options.endOnly) ||\n // don't apply endOnly modifiers when not ending\n (options.endOnly && !preEnd) ||\n // check if modifier should run be applied on start\n (phase === 'start' && !options.setStart)\n ) {\n return false\n }\n\n return true\n }\n\n copyFrom(other: Modification) {\n this.startOffset = other.startOffset\n this.startDelta = other.startDelta\n this.startEdges = other.startEdges\n this.edges = other.edges\n this.states = other.states.map((s) => clone(s) as ModifierState)\n this.result = createResult(extend({}, other.result.coords), extend({}, other.result.rect))\n }\n\n destroy() {\n for (const prop in this) {\n this[prop] = null\n }\n }\n}\n\nfunction createResult(coords?: Point, rect?: FullRect): ModificationResult {\n return {\n rect,\n coords,\n delta: { x: 0, y: 0 },\n rectDelta: {\n left: 0,\n right: 0,\n top: 0,\n bottom: 0,\n },\n eventProps: [],\n changed: true,\n }\n}\n\nfunction getModifierList(interaction) {\n const actionOptions = interaction.interactable.options[interaction.prepared.name]\n const actionModifiers = actionOptions.modifiers\n\n if (actionModifiers && actionModifiers.length) {\n return actionModifiers\n }\n\n return ['snap', 'snapSize', 'snapEdges', 'restrict', 'restrictEdges', 'restrictSize']\n .map((type) => {\n const options = actionOptions[type]\n\n return (\n options &&\n options.enabled && {\n options,\n methods: options._methods,\n }\n )\n })\n .filter((m) => !!m)\n}\n\nexport function getRectOffset(rect, coords) {\n return rect\n ? {\n left: coords.x - rect.left,\n top: coords.y - rect.top,\n right: rect.right - coords.x,\n bottom: rect.bottom - coords.y,\n }\n : {\n left: 0,\n top: 0,\n right: 0,\n bottom: 0,\n }\n}\n" | ||
| ], | ||
| "mappings": "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" | ||
| } | ||
| {"version":3,"file":"Modification.prod.js","sources":["Modification.ts"],"sourcesContent":["import type { EventPhase } from '@interactjs/core/InteractEvent'\nimport type { Interaction, DoAnyPhaseArg } from '@interactjs/core/Interaction'\nimport type { EdgeOptions, FullRect, Point, Rect } from '@interactjs/core/types'\nimport clone from '@interactjs/utils/clone'\nimport extend from '@interactjs/utils/extend'\nimport * as rectUtils from '@interactjs/utils/rect'\n\nimport type { Modifier, ModifierArg, ModifierState } from './types'\n\nexport interface ModificationResult {\n delta: Point\n rectDelta: Rect\n coords: Point\n rect: FullRect\n eventProps: any[]\n changed: boolean\n}\n\ninterface MethodArg {\n phase: EventPhase\n pageCoords: Point\n rect: FullRect\n coords: Point\n preEnd?: boolean\n skipModifiers?: number\n}\n\nexport class Modification {\n states: ModifierState[] = []\n startOffset: Rect = { left: 0, right: 0, top: 0, bottom: 0 }\n startDelta!: Point\n result!: ModificationResult\n endResult!: Point\n startEdges!: EdgeOptions\n edges: EdgeOptions\n readonly interaction: Readonly<Interaction>\n\n constructor(interaction: Interaction) {\n this.interaction = interaction\n this.result = createResult()\n this.edges = {\n left: false,\n right: false,\n top: false,\n bottom: false,\n }\n }\n\n start({ phase }: { phase: EventPhase }, pageCoords: Point) {\n const { interaction } = this\n const modifierList = getModifierList(interaction)\n this.prepareStates(modifierList)\n\n this.startEdges = extend({}, interaction.edges)\n this.edges = extend({}, this.startEdges)\n this.startOffset = getRectOffset(interaction.rect, pageCoords)\n this.startDelta = { x: 0, y: 0 }\n\n const arg = this.fillArg({\n phase,\n pageCoords,\n preEnd: false,\n })\n\n this.result = createResult()\n this.startAll(arg)\n\n const result = (this.result = this.setAll(arg))\n\n return result\n }\n\n fillArg(arg: Partial<ModifierArg>) {\n const { interaction } = this\n\n arg.interaction = interaction\n arg.interactable = interaction.interactable\n arg.element = interaction.element\n arg.rect ||= interaction.rect\n arg.edges ||= this.startEdges\n arg.startOffset = this.startOffset\n\n return arg as ModifierArg\n }\n\n startAll(arg: MethodArg & Partial<ModifierArg>) {\n for (const state of this.states) {\n if (state.methods.start) {\n arg.state = state\n state.methods.start(arg as ModifierArg)\n }\n }\n }\n\n setAll(arg: MethodArg & Partial<ModifierArg>): ModificationResult {\n const { phase, preEnd, skipModifiers, rect: unmodifiedRect, edges: unmodifiedEdges } = arg\n\n arg.coords = extend({}, arg.pageCoords)\n arg.rect = extend({}, unmodifiedRect)\n arg.edges = extend({}, unmodifiedEdges)\n\n const states = skipModifiers ? this.states.slice(skipModifiers) : this.states\n\n const newResult = createResult(arg.coords, arg.rect)\n\n for (const state of states) {\n const { options } = state\n const lastModifierCoords = extend({}, arg.coords)\n let returnValue = null\n\n if (state.methods?.set && this.shouldDo(options, preEnd, phase)) {\n arg.state = state\n returnValue = state.methods.set(arg as ModifierArg<never>)\n\n rectUtils.addEdges(arg.edges, arg.rect, {\n x: arg.coords.x - lastModifierCoords.x,\n y: arg.coords.y - lastModifierCoords.y,\n })\n }\n\n newResult.eventProps.push(returnValue)\n }\n\n extend(this.edges, arg.edges)\n\n newResult.delta.x = arg.coords.x - arg.pageCoords.x\n newResult.delta.y = arg.coords.y - arg.pageCoords.y\n\n newResult.rectDelta.left = arg.rect.left - unmodifiedRect.left\n newResult.rectDelta.right = arg.rect.right - unmodifiedRect.right\n newResult.rectDelta.top = arg.rect.top - unmodifiedRect.top\n newResult.rectDelta.bottom = arg.rect.bottom - unmodifiedRect.bottom\n\n const prevCoords = this.result.coords\n const prevRect = this.result.rect\n\n if (prevCoords && prevRect) {\n const rectChanged =\n newResult.rect.left !== prevRect.left ||\n newResult.rect.right !== prevRect.right ||\n newResult.rect.top !== prevRect.top ||\n newResult.rect.bottom !== prevRect.bottom\n\n newResult.changed =\n rectChanged || prevCoords.x !== newResult.coords.x || prevCoords.y !== newResult.coords.y\n }\n\n return newResult\n }\n\n applyToInteraction(arg: { phase: EventPhase; rect?: Rect }) {\n const { interaction } = this\n const { phase } = arg\n const curCoords = interaction.coords.cur\n const startCoords = interaction.coords.start\n const { result, startDelta } = this\n const curDelta = result.delta\n\n if (phase === 'start') {\n extend(this.startDelta, result.delta)\n }\n\n for (const [coordsSet, delta] of [\n [startCoords, startDelta],\n [curCoords, curDelta],\n ] as const) {\n coordsSet.page.x += delta.x\n coordsSet.page.y += delta.y\n coordsSet.client.x += delta.x\n coordsSet.client.y += delta.y\n }\n\n const { rectDelta } = this.result\n const rect = arg.rect || interaction.rect\n\n rect.left += rectDelta.left\n rect.right += rectDelta.right\n rect.top += rectDelta.top\n rect.bottom += rectDelta.bottom\n\n rect.width = rect.right - rect.left\n rect.height = rect.bottom - rect.top\n }\n\n setAndApply(\n arg: Partial<DoAnyPhaseArg> & {\n phase: EventPhase\n preEnd?: boolean\n skipModifiers?: number\n modifiedCoords?: Point\n },\n ): void | false {\n const { interaction } = this\n const { phase, preEnd, skipModifiers } = arg\n\n const result = this.setAll(\n this.fillArg({\n preEnd,\n phase,\n pageCoords: arg.modifiedCoords || interaction.coords.cur.page,\n }),\n )\n\n this.result = result\n\n // don't fire an action move if a modifier would keep the event in the same\n // cordinates as before\n if (\n !result.changed &&\n (!skipModifiers || skipModifiers < this.states.length) &&\n interaction.interacting()\n ) {\n return false\n }\n\n if (arg.modifiedCoords) {\n const { page } = interaction.coords.cur\n const adjustment = {\n x: arg.modifiedCoords.x - page.x,\n y: arg.modifiedCoords.y - page.y,\n }\n\n result.coords.x += adjustment.x\n result.coords.y += adjustment.y\n result.delta.x += adjustment.x\n result.delta.y += adjustment.y\n }\n\n this.applyToInteraction(arg)\n }\n\n beforeEnd(arg: Omit<DoAnyPhaseArg, 'iEvent'> & { state?: ModifierState }): void | false {\n const { interaction, event } = arg\n const states = this.states\n\n if (!states || !states.length) {\n return\n }\n\n let doPreend = false\n\n for (const state of states) {\n arg.state = state\n const { options, methods } = state\n\n const endPosition = methods.beforeEnd && methods.beforeEnd(arg as unknown as ModifierArg)\n\n if (endPosition) {\n this.endResult = endPosition\n return false\n }\n\n doPreend = doPreend || (!doPreend && this.shouldDo(options, true, arg.phase, true))\n }\n\n if (doPreend) {\n // trigger a final modified move before ending\n interaction.move({ event, preEnd: true })\n }\n }\n\n stop(arg: { interaction: Interaction }) {\n const { interaction } = arg\n\n if (!this.states || !this.states.length) {\n return\n }\n\n const modifierArg: Partial<ModifierArg> = extend(\n {\n states: this.states,\n interactable: interaction.interactable,\n element: interaction.element,\n rect: null,\n },\n arg,\n )\n\n this.fillArg(modifierArg)\n\n for (const state of this.states) {\n modifierArg.state = state\n\n if (state.methods.stop) {\n state.methods.stop(modifierArg as ModifierArg)\n }\n }\n\n this.states = null\n this.endResult = null\n }\n\n prepareStates(modifierList: Modifier[]) {\n this.states = []\n\n for (let index = 0; index < modifierList.length; index++) {\n const { options, methods, name } = modifierList[index]\n\n this.states.push({\n options,\n methods,\n index,\n name,\n })\n }\n\n return this.states\n }\n\n restoreInteractionCoords({ interaction: { coords, rect, modification } }: { interaction: Interaction }) {\n if (!modification.result) return\n\n const { startDelta } = modification\n const { delta: curDelta, rectDelta } = modification.result\n\n const coordsAndDeltas = [\n [coords.start, startDelta],\n [coords.cur, curDelta],\n ]\n\n for (const [coordsSet, delta] of coordsAndDeltas as any) {\n coordsSet.page.x -= delta.x\n coordsSet.page.y -= delta.y\n coordsSet.client.x -= delta.x\n coordsSet.client.y -= delta.y\n }\n\n rect.left -= rectDelta.left\n rect.right -= rectDelta.right\n rect.top -= rectDelta.top\n rect.bottom -= rectDelta.bottom\n }\n\n shouldDo(options, preEnd?: boolean, phase?: string, requireEndOnly?: boolean) {\n if (\n // ignore disabled modifiers\n !options ||\n options.enabled === false ||\n // check if we require endOnly option to fire move before end\n (requireEndOnly && !options.endOnly) ||\n // don't apply endOnly modifiers when not ending\n (options.endOnly && !preEnd) ||\n // check if modifier should run be applied on start\n (phase === 'start' && !options.setStart)\n ) {\n return false\n }\n\n return true\n }\n\n copyFrom(other: Modification) {\n this.startOffset = other.startOffset\n this.startDelta = other.startDelta\n this.startEdges = other.startEdges\n this.edges = other.edges\n this.states = other.states.map((s) => clone(s) as ModifierState)\n this.result = createResult(extend({}, other.result.coords), extend({}, other.result.rect))\n }\n\n destroy() {\n for (const prop in this) {\n this[prop] = null\n }\n }\n}\n\nfunction createResult(coords?: Point, rect?: FullRect): ModificationResult {\n return {\n rect,\n coords,\n delta: { x: 0, y: 0 },\n rectDelta: {\n left: 0,\n right: 0,\n top: 0,\n bottom: 0,\n },\n eventProps: [],\n changed: true,\n }\n}\n\nfunction getModifierList(interaction) {\n const actionOptions = interaction.interactable.options[interaction.prepared.name]\n const actionModifiers = actionOptions.modifiers\n\n if (actionModifiers && actionModifiers.length) {\n return actionModifiers\n }\n\n return ['snap', 'snapSize', 'snapEdges', 'restrict', 'restrictEdges', 'restrictSize']\n .map((type) => {\n const options = actionOptions[type]\n\n return (\n options &&\n options.enabled && {\n options,\n methods: options._methods,\n }\n )\n })\n .filter((m) => !!m)\n}\n\nexport function getRectOffset(rect, coords) {\n return rect\n ? {\n left: coords.x - rect.left,\n top: coords.y - rect.top,\n right: rect.right - coords.x,\n bottom: rect.bottom - coords.y,\n }\n : {\n left: 0,\n top: 0,\n right: 0,\n bottom: 0,\n }\n}\n"],"names":["constructor","states","left","right","top","bottom","result","edges","interaction","this","createResult","start","_ref","pageCoords","phase","getModifierList","modifierList","prepareStates","extend","startEdges","getRectOffset","rect","startOffset","x","startDelta","arg","fillArg","setAll","interactable","element","startAll","state","methods","preEnd","skipModifiers","unmodifiedRect","unmodifiedEdges","coords","slice","newResult","_state$methods","options","returnValue","set","shouldDo","rectUtils","addEdges","lastModifierCoords","eventProps","push","delta","y","rectDelta","prevCoords","prevRect","changed","applyToInteraction","cur","curCoords","startCoords","coordsSet","curDelta","page","client","width","setAndApply","modifiedCoords","length","interacting","adjustment","beforeEnd","event","doPreend","endPosition","move","stop","modifierArg","index","name","restoreInteractionCoords","_ref2","modification","requireEndOnly","enabled","endOnly","setStart","copyFrom","other","map","s","clone","destroy","prop","prepared","actionOptions","modifiers","actionModifiers","type","_methods","filter","m","Modification"],"mappings":"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"} |
+9
-7
@@ -1,10 +0,12 @@ | ||
| "use strict"; | ||
| /** | ||
| * interact.js 1.10.26 | ||
| * | ||
| * Copyright (c) 2012-present Taye Adeyemi <dev@taye.me> | ||
| * Released under the MIT License. | ||
| * https://raw.github.com/taye/interact.js/main/LICENSE | ||
| */ | ||
| Object.defineProperty(exports, "__esModule", { | ||
| value: true | ||
| }); | ||
| exports.default = void 0; | ||
| const noop = () => {}; | ||
| noop._defaults = {}; | ||
| var _default = exports.default = noop; | ||
| //# sourceMappingURL=noop.js.map | ||
| export { noop as default }; | ||
| //# sourceMappingURL=noop.js.map |
+1
-17
@@ -1,17 +0,1 @@ | ||
| { | ||
| "version": 3, | ||
| "names": [ | ||
| "noop", | ||
| "_defaults", | ||
| "_default", | ||
| "exports", | ||
| "default" | ||
| ], | ||
| "sources": [ | ||
| "noop.ts" | ||
| ], | ||
| "sourcesContent": [ | ||
| "import type { ModifierFunction } from './types'\n\nconst noop = (() => {}) as unknown as ModifierFunction<any, any, 'noop'>\n\nnoop._defaults = {}\n\nexport default noop\n" | ||
| ], | ||
| "mappings": ";;;;;;AAEA,MAAMA,IAAI,GAAIA,CAAA,KAAM,CAAC,CAAmD;AAExEA,IAAI,CAACC,SAAS,GAAG,CAAC,CAAC;AAAA,IAAAC,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEJJ,IAAI" | ||
| } | ||
| {"version":3,"file":"noop.js","sources":["noop.ts"],"sourcesContent":["import type { ModifierFunction } from './types'\n\nconst noop = (() => {}) as unknown as ModifierFunction<any, any, 'noop'>\n\nnoop._defaults = {}\n\nexport default noop\n"],"names":["noop","_defaults"],"mappings":";;;;;;;;AAEA,MAAMA,IAAI,GAAIA,MAAM,GAAoD;AAExEA,IAAI,CAACC,SAAS,GAAG,EAAE;;;;"} |
+4
-2
@@ -1,2 +0,4 @@ | ||
| Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;const e=()=>{};e._defaults={},exports.default=e; | ||
| //# sourceMappingURL=noop.prod.js.map | ||
| /* interact.js 1.10.26 | https://raw.github.com/taye/interact.js/main/LICENSE */ | ||
| const noop=()=>{};noop._defaults={};export{noop as default}; | ||
| //# sourceMappingURL=noop.prod.js.map |
+1
-16
@@ -1,16 +0,1 @@ | ||
| { | ||
| "version": 3, | ||
| "names": [ | ||
| "noop", | ||
| "_defaults", | ||
| "exports", | ||
| "default" | ||
| ], | ||
| "sources": [ | ||
| "noop.ts" | ||
| ], | ||
| "sourcesContent": [ | ||
| "import type { ModifierFunction } from './types'\n\nconst noop = (() => {}) as unknown as ModifierFunction<any, any, 'noop'>\n\nnoop._defaults = {}\n\nexport default noop\n" | ||
| ], | ||
| "mappings": "8EAEA,MAAMA,EAAQA,OAEdA,EAAKC,UAAY,CAAC,EAACC,QAAAC,QAEJH" | ||
| } | ||
| {"version":3,"file":"noop.prod.js","sources":["noop.ts"],"sourcesContent":["import type { ModifierFunction } from './types'\n\nconst noop = (() => {}) as unknown as ModifierFunction<any, any, 'noop'>\n\nnoop._defaults = {}\n\nexport default noop\n"],"names":["noop","_defaults"],"mappings":";;AAEA,MAAMA,KAAQA,OAEdA,KAAKC,UAAY,CAAE"} |
+6
-6
| { | ||
| "name": "@interactjs/modifiers", | ||
| "version": "1.10.25", | ||
| "version": "1.10.26", | ||
| "main": "index", | ||
@@ -13,10 +13,10 @@ "module": "index", | ||
| "dependencies": { | ||
| "@interactjs/snappers": "1.10.25" | ||
| "@interactjs/snappers": "1.10.26" | ||
| }, | ||
| "peerDependencies": { | ||
| "@interactjs/core": "1.10.25", | ||
| "@interactjs/utils": "1.10.25" | ||
| "@interactjs/core": "1.10.26", | ||
| "@interactjs/utils": "1.10.26" | ||
| }, | ||
| "optionalDependencies": { | ||
| "@interactjs/interact": "1.10.25" | ||
| "@interactjs/interact": "1.10.26" | ||
| }, | ||
@@ -31,3 +31,3 @@ "publishConfig": { | ||
| "license": "MIT", | ||
| "gitHead": "ee3c52c4" | ||
| "gitHead": "6e7a136f" | ||
| } |
+33
-17
@@ -1,12 +0,28 @@ | ||
| "use strict"; | ||
| /** | ||
| * interact.js 1.10.26 | ||
| * | ||
| * Copyright (c) 2012-present Taye Adeyemi <dev@taye.me> | ||
| * Released under the MIT License. | ||
| * https://raw.github.com/taye/interact.js/main/LICENSE | ||
| */ | ||
| Object.defineProperty(exports, "__esModule", { | ||
| value: true | ||
| }); | ||
| exports.default = void 0; | ||
| var _plugin = _interopRequireDefault(require("../snappers/plugin.js")); | ||
| var _all = _interopRequireDefault(require("./all")); | ||
| var _base = _interopRequireDefault(require("./base")); | ||
| function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | ||
| /* eslint-disable import/no-duplicates -- for typescript module augmentations */ | ||
| import snappers from "../snappers/plugin.js"; | ||
| import all from './all.js'; | ||
| import modifiersBase from './base.js'; | ||
| import './aspectRatio.js'; | ||
| import "../utils/extend.js"; | ||
| import "../utils/rect.js"; | ||
| import './Modification.js'; | ||
| import "../utils/clone.js"; | ||
| import './restrict/edges.js'; | ||
| import './restrict/pointer.js'; | ||
| import "../utils/is.js"; | ||
| import './restrict/rect.js'; | ||
| import './restrict/size.js'; | ||
| import './snap/edges.js'; | ||
| import './snap/size.js'; | ||
| import './snap/pointer.js'; | ||
| import "../utils/getOriginXY.js"; | ||
| import "../utils/hypot.js"; | ||
| import './noop.js'; | ||
@@ -21,12 +37,12 @@ /* eslint-enable import/no-duplicates */ | ||
| } = scope; | ||
| scope.usePlugin(_base.default); | ||
| scope.usePlugin(_plugin.default); | ||
| interact.modifiers = _all.default; | ||
| scope.usePlugin(modifiersBase); | ||
| scope.usePlugin(snappers); | ||
| interact.modifiers = all; | ||
| // for backwrads compatibility | ||
| for (const type in _all.default) { | ||
| for (const type in all) { | ||
| const { | ||
| _defaults, | ||
| _methods | ||
| } = _all.default[type]; | ||
| } = all[type]; | ||
| _defaults._methods = _methods; | ||
@@ -37,3 +53,3 @@ scope.defaults.perAction[type] = _defaults; | ||
| }; | ||
| var _default = exports.default = modifiers; | ||
| //# sourceMappingURL=plugin.js.map | ||
| export { modifiers as default }; | ||
| //# sourceMappingURL=plugin.js.map |
+1
-37
@@ -1,37 +0,1 @@ | ||
| { | ||
| "version": 3, | ||
| "names": [ | ||
| "_plugin", | ||
| "_interopRequireDefault", | ||
| "require", | ||
| "_all", | ||
| "_base", | ||
| "obj", | ||
| "__esModule", | ||
| "default", | ||
| "modifiers", | ||
| "id", | ||
| "install", | ||
| "scope", | ||
| "interactStatic", | ||
| "interact", | ||
| "usePlugin", | ||
| "base", | ||
| "snappers", | ||
| "all", | ||
| "type", | ||
| "_defaults", | ||
| "_methods", | ||
| "defaults", | ||
| "perAction", | ||
| "_default", | ||
| "exports" | ||
| ], | ||
| "sources": [ | ||
| "plugin.ts" | ||
| ], | ||
| "sourcesContent": [ | ||
| "import type { Plugin } from '@interactjs/core/scope'\nimport snappers from '@interactjs/snappers/plugin'\n\n/* eslint-disable import/no-duplicates -- for typescript module augmentations */\nimport './all'\nimport './base'\n\nimport all from './all'\nimport base from './base'\n/* eslint-enable import/no-duplicates */\n\ndeclare module '@interactjs/core/InteractStatic' {\n export interface InteractStatic {\n modifiers: typeof all\n }\n}\n\nconst modifiers: Plugin = {\n id: 'modifiers',\n install(scope) {\n const { interactStatic: interact } = scope\n\n scope.usePlugin(base)\n scope.usePlugin(snappers)\n\n interact.modifiers = all\n\n // for backwrads compatibility\n for (const type in all) {\n const { _defaults, _methods } = all[type as keyof typeof all]\n\n ;(_defaults as any)._methods = _methods\n ;(scope.defaults.perAction as any)[type] = _defaults\n }\n },\n}\n\nexport default modifiers\n" | ||
| ], | ||
| "mappings": ";;;;;;AACA,IAAAA,OAAA,GAAAC,sBAAA,CAAAC,OAAA;AAGA,IAAAC,IAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,KAAA,GAAAH,sBAAA,CAAAC,OAAA;AAAe,SAAAD,uBAAAI,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAFf;;AAMA;;AAQA,MAAMG,SAAiB,GAAG;EACxBC,EAAE,EAAE,WAAW;EACfC,OAAOA,CAACC,KAAK,EAAE;IACb,MAAM;MAAEC,cAAc,EAAEC;IAAS,CAAC,GAAGF,KAAK;IAE1CA,KAAK,CAACG,SAAS,CAACC,aAAI,CAAC;IACrBJ,KAAK,CAACG,SAAS,CAACE,eAAQ,CAAC;IAEzBH,QAAQ,CAACL,SAAS,GAAGS,YAAG;;IAExB;IACA,KAAK,MAAMC,IAAI,IAAID,YAAG,EAAE;MACtB,MAAM;QAAEE,SAAS;QAAEC;MAAS,CAAC,GAAGH,YAAG,CAACC,IAAI,CAAqB;MAE3DC,SAAS,CAASC,QAAQ,GAAGA,QAAQ;MACrCT,KAAK,CAACU,QAAQ,CAACC,SAAS,CAASJ,IAAI,CAAC,GAAGC,SAAS;IACtD;EACF;AACF,CAAC;AAAA,IAAAI,QAAA,GAAAC,OAAA,CAAAjB,OAAA,GAEcC,SAAS" | ||
| } | ||
| {"version":3,"file":"plugin.js","sources":["plugin.ts"],"sourcesContent":["import type { Plugin } from '@interactjs/core/scope'\nimport snappers from '@interactjs/snappers/plugin'\n\n/* eslint-disable import/no-duplicates -- for typescript module augmentations */\nimport './all'\nimport './base'\n\nimport all from './all'\nimport base from './base'\n/* eslint-enable import/no-duplicates */\n\ndeclare module '@interactjs/core/InteractStatic' {\n export interface InteractStatic {\n modifiers: typeof all\n }\n}\n\nconst modifiers: Plugin = {\n id: 'modifiers',\n install(scope) {\n const { interactStatic: interact } = scope\n\n scope.usePlugin(base)\n scope.usePlugin(snappers)\n\n interact.modifiers = all\n\n // for backwrads compatibility\n for (const type in all) {\n const { _defaults, _methods } = all[type as keyof typeof all]\n\n ;(_defaults as any)._methods = _methods\n ;(scope.defaults.perAction as any)[type] = _defaults\n }\n },\n}\n\nexport default modifiers\n"],"names":["modifiers","id","install","scope","interactStatic","interact","usePlugin","base","snappers","all","type","_defaults","_methods","defaults","perAction"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AASA;;AAQA,MAAMA,SAAiB,GAAG;AACxBC,EAAAA,EAAE,EAAE,WAAW;EACfC,OAAOA,CAACC,KAAK,EAAE;IACb,MAAM;AAAEC,MAAAA,cAAc,EAAEC,QAAAA;AAAS,KAAC,GAAGF,KAAK,CAAA;AAE1CA,IAAAA,KAAK,CAACG,SAAS,CAACC,aAAI,CAAC,CAAA;AACrBJ,IAAAA,KAAK,CAACG,SAAS,CAACE,QAAQ,CAAC,CAAA;IAEzBH,QAAQ,CAACL,SAAS,GAAGS,GAAG,CAAA;;AAExB;AACA,IAAA,KAAK,MAAMC,IAAI,IAAID,GAAG,EAAE;MACtB,MAAM;QAAEE,SAAS;AAAEC,QAAAA,QAAAA;AAAS,OAAC,GAAGH,GAAG,CAACC,IAAI,CAAqB,CAAA;MAE3DC,SAAS,CAASC,QAAQ,GAAGA,QAAQ,CAAA;MACrCT,KAAK,CAACU,QAAQ,CAACC,SAAS,CAASJ,IAAI,CAAC,GAAGC,SAAS,CAAA;AACtD,KAAA;AACF,GAAA;AACF;;;;"} |
+4
-2
@@ -1,2 +0,4 @@ | ||
| Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var e=s(require("../snappers/plugin.prod.js")),t=s(require("./all")),u=s(require("./base"));function s(e){return e&&e.__esModule?e:{default:e}}const r={id:"modifiers",install(s){const{interactStatic:r}=s;s.usePlugin(u.default),s.usePlugin(e.default),r.modifiers=t.default;for(const e in t.default){const{_defaults:u,_methods:r}=t.default[e];u._methods=r,s.defaults.perAction[e]=u}}};exports.default=r; | ||
| //# sourceMappingURL=plugin.prod.js.map | ||
| /* interact.js 1.10.26 | https://raw.github.com/taye/interact.js/main/LICENSE */ | ||
| import snappers from"../snappers/plugin.prod.js";import all from"./all.prod.js";import modifiersBase from"./base.prod.js";import"./aspectRatio.prod.js";import"../utils/extend.prod.js";import"../utils/rect.prod.js";import"./Modification.prod.js";import"../utils/clone.prod.js";import"./restrict/edges.prod.js";import"./restrict/pointer.prod.js";import"../utils/is.prod.js";import"./restrict/rect.prod.js";import"./restrict/size.prod.js";import"./snap/edges.prod.js";import"./snap/size.prod.js";import"./snap/pointer.prod.js";import"../utils/getOriginXY.prod.js";import"../utils/hypot.prod.js";import"./noop.prod.js";const modifiers={id:"modifiers",install(r){const{interactStatic:o}=r;r.usePlugin(modifiersBase),r.usePlugin(snappers),o.modifiers=all;for(const o in all){const{_defaults:s,_methods:i}=all[o];s._methods=i,r.defaults.perAction[o]=s}}};export{modifiers as default}; | ||
| //# sourceMappingURL=plugin.prod.js.map |
+1
-36
@@ -1,36 +0,1 @@ | ||
| { | ||
| "version": 3, | ||
| "names": [ | ||
| "_pluginProd", | ||
| "_interopRequireDefault", | ||
| "require", | ||
| "_all", | ||
| "_base", | ||
| "obj", | ||
| "__esModule", | ||
| "default", | ||
| "modifiers", | ||
| "id", | ||
| "install", | ||
| "scope", | ||
| "interactStatic", | ||
| "interact", | ||
| "usePlugin", | ||
| "base", | ||
| "snappers", | ||
| "all", | ||
| "type", | ||
| "_defaults", | ||
| "_methods", | ||
| "defaults", | ||
| "perAction", | ||
| "exports" | ||
| ], | ||
| "sources": [ | ||
| "plugin.ts" | ||
| ], | ||
| "sourcesContent": [ | ||
| "import type { Plugin } from '@interactjs/core/scope'\nimport snappers from '@interactjs/snappers/plugin'\n\n/* eslint-disable import/no-duplicates -- for typescript module augmentations */\nimport './all'\nimport './base'\n\nimport all from './all'\nimport base from './base'\n/* eslint-enable import/no-duplicates */\n\ndeclare module '@interactjs/core/InteractStatic' {\n export interface InteractStatic {\n modifiers: typeof all\n }\n}\n\nconst modifiers: Plugin = {\n id: 'modifiers',\n install(scope) {\n const { interactStatic: interact } = scope\n\n scope.usePlugin(base)\n scope.usePlugin(snappers)\n\n interact.modifiers = all\n\n // for backwrads compatibility\n for (const type in all) {\n const { _defaults, _methods } = all[type as keyof typeof all]\n\n ;(_defaults as any)._methods = _methods\n ;(scope.defaults.perAction as any)[type] = _defaults\n }\n },\n}\n\nexport default modifiers\n" | ||
| ], | ||
| "mappings": "8EACA,IAAAA,EAAAC,EAAAC,QAAA,+BAGAC,EAAAF,EAAAC,QAAA,UACAE,EAAAH,EAAAC,QAAA,WAAe,SAAAD,EAAAI,GAAA,OAAAA,KAAAC,WAAAD,EAAA,CAAAE,QAAAF,EAAA,CAYf,MAAMG,EAAoB,CACxBC,GAAI,YACJC,QAAQC,GACN,MAAQC,eAAgBC,GAAaF,EAErCA,EAAMG,UAAUC,WAChBJ,EAAMG,UAAUE,WAEhBH,EAASL,UAAYS,UAGrB,IAAK,MAAMC,KAAQD,UAAK,CACtB,MAAME,UAAEA,EAASC,SAAEA,GAAaH,UAAIC,GAElCC,EAAkBC,SAAWA,EAC7BT,EAAMU,SAASC,UAAkBJ,GAAQC,CAC7C,CACF,GACDI,QAAAhB,QAEcC" | ||
| } | ||
| {"version":3,"file":"plugin.prod.js","sources":["plugin.ts"],"sourcesContent":["import type { Plugin } from '@interactjs/core/scope'\nimport snappers from '@interactjs/snappers/plugin'\n\n/* eslint-disable import/no-duplicates -- for typescript module augmentations */\nimport './all'\nimport './base'\n\nimport all from './all'\nimport base from './base'\n/* eslint-enable import/no-duplicates */\n\ndeclare module '@interactjs/core/InteractStatic' {\n export interface InteractStatic {\n modifiers: typeof all\n }\n}\n\nconst modifiers: Plugin = {\n id: 'modifiers',\n install(scope) {\n const { interactStatic: interact } = scope\n\n scope.usePlugin(base)\n scope.usePlugin(snappers)\n\n interact.modifiers = all\n\n // for backwrads compatibility\n for (const type in all) {\n const { _defaults, _methods } = all[type as keyof typeof all]\n\n ;(_defaults as any)._methods = _methods\n ;(scope.defaults.perAction as any)[type] = _defaults\n }\n },\n}\n\nexport default modifiers\n"],"names":["modifiers","id","install","scope","interactStatic","interact","usePlugin","base","snappers","all","type","_defaults","_methods","defaults","perAction"],"mappings":";;umBAiBA,MAAMA,UAAoB,CACxBC,GAAI,YACJC,OAAAA,CAAQC,GACN,MAAQC,eAAgBC,GAAaF,EAErCA,EAAMG,UAAUC,eAChBJ,EAAMG,UAAUE,UAEhBH,EAASL,UAAYS,IAGrB,IAAK,MAAMC,KAAQD,IAAK,CACtB,MAAME,UAAEA,EAASC,SAAEA,GAAaH,IAAIC,GAElCC,EAAkBC,SAAWA,EAC7BT,EAAMU,SAASC,UAAkBJ,GAAQC,CAC7C,CACF"} |
+36
-30
@@ -1,14 +0,17 @@ | ||
| "use strict"; | ||
| /** | ||
| * interact.js 1.10.26 | ||
| * | ||
| * Copyright (c) 2012-present Taye Adeyemi <dev@taye.me> | ||
| * Released under the MIT License. | ||
| * https://raw.github.com/taye/interact.js/main/LICENSE | ||
| */ | ||
| Object.defineProperty(exports, "__esModule", { | ||
| value: true | ||
| }); | ||
| exports.restrictEdges = exports.default = void 0; | ||
| var _extend = _interopRequireDefault(require("../../utils/extend.js")); | ||
| var rectUtils = _interopRequireWildcard(require("../../utils/rect.js")); | ||
| var _base = require("../base"); | ||
| var _pointer = require("./pointer"); | ||
| function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); } | ||
| function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; } | ||
| function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | ||
| import extend from "../../utils/extend.js"; | ||
| import * as rectUtils from "../../utils/rect.js"; | ||
| import { makeModifier } from '../base.js'; | ||
| import { getRestrictionRect } from './pointer.js'; | ||
| import '../Modification.js'; | ||
| import "../../utils/clone.js"; | ||
| import "../../utils/is.js"; | ||
| // This modifier adds the options.resize.restrictEdges setting which sets min and | ||
@@ -37,7 +40,8 @@ // max for the top, left, bottom and right edges of the target being resized. | ||
| }; | ||
| function start({ | ||
| interaction, | ||
| startOffset, | ||
| state | ||
| }) { | ||
| function start(_ref) { | ||
| let { | ||
| interaction, | ||
| startOffset, | ||
| state | ||
| } = _ref; | ||
| const { | ||
@@ -48,3 +52,3 @@ options | ||
| if (options) { | ||
| const offsetRect = (0, _pointer.getRestrictionRect)(options.offset, interaction, interaction.coords.start.page); | ||
| const offsetRect = getRestrictionRect(options.offset, interaction, interaction.coords.start.page); | ||
| offset = rectUtils.rectToXY(offsetRect); | ||
@@ -63,8 +67,9 @@ } | ||
| } | ||
| function set({ | ||
| coords, | ||
| edges, | ||
| interaction, | ||
| state | ||
| }) { | ||
| function set(_ref2) { | ||
| let { | ||
| coords, | ||
| edges, | ||
| interaction, | ||
| state | ||
| } = _ref2; | ||
| const { | ||
@@ -77,5 +82,5 @@ offset, | ||
| } | ||
| const page = (0, _extend.default)({}, coords); | ||
| const inner = (0, _pointer.getRestrictionRect)(options.inner, interaction, page) || {}; | ||
| const outer = (0, _pointer.getRestrictionRect)(options.outer, interaction, page) || {}; | ||
| const page = extend({}, coords); | ||
| const inner = getRestrictionRect(options.inner, interaction, page) || {}; | ||
| const outer = getRestrictionRect(options.outer, interaction, page) || {}; | ||
| fixRect(inner, noInner); | ||
@@ -109,3 +114,3 @@ fixRect(outer, noOuter); | ||
| }; | ||
| const restrictEdges = exports.restrictEdges = { | ||
| const restrictEdges = { | ||
| noInner, | ||
@@ -117,3 +122,4 @@ noOuter, | ||
| }; | ||
| var _default = exports.default = (0, _base.makeModifier)(restrictEdges, 'restrictEdges'); | ||
| //# sourceMappingURL=edges.js.map | ||
| var restrictEdges$1 = makeModifier(restrictEdges, 'restrictEdges'); | ||
| export { restrictEdges$1 as default, restrictEdges }; | ||
| //# sourceMappingURL=edges.js.map |
@@ -1,78 +0,1 @@ | ||
| { | ||
| "version": 3, | ||
| "names": [ | ||
| "_extend", | ||
| "_interopRequireDefault", | ||
| "require", | ||
| "rectUtils", | ||
| "_interopRequireWildcard", | ||
| "_base", | ||
| "_pointer", | ||
| "_getRequireWildcardCache", | ||
| "e", | ||
| "WeakMap", | ||
| "r", | ||
| "t", | ||
| "__esModule", | ||
| "default", | ||
| "has", | ||
| "get", | ||
| "n", | ||
| "__proto__", | ||
| "a", | ||
| "Object", | ||
| "defineProperty", | ||
| "getOwnPropertyDescriptor", | ||
| "u", | ||
| "prototype", | ||
| "hasOwnProperty", | ||
| "call", | ||
| "i", | ||
| "set", | ||
| "obj", | ||
| "noInner", | ||
| "top", | ||
| "Infinity", | ||
| "left", | ||
| "bottom", | ||
| "right", | ||
| "noOuter", | ||
| "start", | ||
| "interaction", | ||
| "startOffset", | ||
| "state", | ||
| "options", | ||
| "offset", | ||
| "offsetRect", | ||
| "getRestrictionRect", | ||
| "coords", | ||
| "page", | ||
| "rectToXY", | ||
| "x", | ||
| "y", | ||
| "edges", | ||
| "extend", | ||
| "inner", | ||
| "outer", | ||
| "fixRect", | ||
| "Math", | ||
| "min", | ||
| "max", | ||
| "rect", | ||
| "defaults", | ||
| "edge", | ||
| "endOnly", | ||
| "enabled", | ||
| "restrictEdges", | ||
| "exports", | ||
| "_default", | ||
| "makeModifier" | ||
| ], | ||
| "sources": [ | ||
| "edges.ts" | ||
| ], | ||
| "sourcesContent": [ | ||
| "// This modifier adds the options.resize.restrictEdges setting which sets min and\n// max for the top, left, bottom and right edges of the target being resized.\n//\n// interact(target).resize({\n// edges: { top: true, left: true },\n// restrictEdges: {\n// inner: { top: 200, left: 200, right: 400, bottom: 400 },\n// outer: { top: 0, left: 0, right: 600, bottom: 600 },\n// },\n// })\n\nimport type { Point, Rect } from '@interactjs/core/types'\nimport extend from '@interactjs/utils/extend'\nimport * as rectUtils from '@interactjs/utils/rect'\n\nimport { makeModifier } from '../base'\nimport type { ModifierArg, ModifierState } from '../types'\n\nimport type { RestrictOptions } from './pointer'\nimport { getRestrictionRect } from './pointer'\n\nexport interface RestrictEdgesOptions {\n inner: RestrictOptions['restriction']\n outer: RestrictOptions['restriction']\n offset?: RestrictOptions['offset']\n endOnly: boolean\n enabled?: boolean\n}\n\nexport type RestrictEdgesState = ModifierState<\n RestrictEdgesOptions,\n {\n inner: Rect\n outer: Rect\n offset: RestrictEdgesOptions['offset']\n }\n>\n\nconst noInner = { top: +Infinity, left: +Infinity, bottom: -Infinity, right: -Infinity }\nconst noOuter = { top: -Infinity, left: -Infinity, bottom: +Infinity, right: +Infinity }\n\nfunction start({ interaction, startOffset, state }: ModifierArg<RestrictEdgesState>) {\n const { options } = state\n let offset: Point\n\n if (options) {\n const offsetRect = getRestrictionRect(options.offset, interaction, interaction.coords.start.page)\n\n offset = rectUtils.rectToXY(offsetRect)\n }\n\n offset = offset || { x: 0, y: 0 }\n\n state.offset = {\n top: offset.y + startOffset.top,\n left: offset.x + startOffset.left,\n bottom: offset.y - startOffset.bottom,\n right: offset.x - startOffset.right,\n }\n}\n\nfunction set({ coords, edges, interaction, state }: ModifierArg<RestrictEdgesState>) {\n const { offset, options } = state\n\n if (!edges) {\n return\n }\n\n const page = extend({}, coords)\n const inner = getRestrictionRect(options.inner, interaction, page) || ({} as Rect)\n const outer = getRestrictionRect(options.outer, interaction, page) || ({} as Rect)\n\n fixRect(inner, noInner)\n fixRect(outer, noOuter)\n\n if (edges.top) {\n coords.y = Math.min(Math.max(outer.top + offset.top, page.y), inner.top + offset.top)\n } else if (edges.bottom) {\n coords.y = Math.max(Math.min(outer.bottom + offset.bottom, page.y), inner.bottom + offset.bottom)\n }\n if (edges.left) {\n coords.x = Math.min(Math.max(outer.left + offset.left, page.x), inner.left + offset.left)\n } else if (edges.right) {\n coords.x = Math.max(Math.min(outer.right + offset.right, page.x), inner.right + offset.right)\n }\n}\n\nfunction fixRect(rect: Rect, defaults: Rect) {\n for (const edge of ['top', 'left', 'bottom', 'right']) {\n if (!(edge in rect)) {\n rect[edge] = defaults[edge]\n }\n }\n\n return rect\n}\n\nconst defaults: RestrictEdgesOptions = {\n inner: null,\n outer: null,\n offset: null,\n endOnly: false,\n enabled: false,\n}\n\nconst restrictEdges = {\n noInner,\n noOuter,\n start,\n set,\n defaults,\n}\n\nexport default makeModifier(restrictEdges, 'restrictEdges')\nexport { restrictEdges }\n" | ||
| ], | ||
| "mappings": "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" | ||
| } | ||
| {"version":3,"file":"edges.js","sources":["edges.ts"],"sourcesContent":["// This modifier adds the options.resize.restrictEdges setting which sets min and\n// max for the top, left, bottom and right edges of the target being resized.\n//\n// interact(target).resize({\n// edges: { top: true, left: true },\n// restrictEdges: {\n// inner: { top: 200, left: 200, right: 400, bottom: 400 },\n// outer: { top: 0, left: 0, right: 600, bottom: 600 },\n// },\n// })\n\nimport type { Point, Rect } from '@interactjs/core/types'\nimport extend from '@interactjs/utils/extend'\nimport * as rectUtils from '@interactjs/utils/rect'\n\nimport { makeModifier } from '../base'\nimport type { ModifierArg, ModifierState } from '../types'\n\nimport type { RestrictOptions } from './pointer'\nimport { getRestrictionRect } from './pointer'\n\nexport interface RestrictEdgesOptions {\n inner: RestrictOptions['restriction']\n outer: RestrictOptions['restriction']\n offset?: RestrictOptions['offset']\n endOnly: boolean\n enabled?: boolean\n}\n\nexport type RestrictEdgesState = ModifierState<\n RestrictEdgesOptions,\n {\n inner: Rect\n outer: Rect\n offset: RestrictEdgesOptions['offset']\n }\n>\n\nconst noInner = { top: +Infinity, left: +Infinity, bottom: -Infinity, right: -Infinity }\nconst noOuter = { top: -Infinity, left: -Infinity, bottom: +Infinity, right: +Infinity }\n\nfunction start({ interaction, startOffset, state }: ModifierArg<RestrictEdgesState>) {\n const { options } = state\n let offset: Point\n\n if (options) {\n const offsetRect = getRestrictionRect(options.offset, interaction, interaction.coords.start.page)\n\n offset = rectUtils.rectToXY(offsetRect)\n }\n\n offset = offset || { x: 0, y: 0 }\n\n state.offset = {\n top: offset.y + startOffset.top,\n left: offset.x + startOffset.left,\n bottom: offset.y - startOffset.bottom,\n right: offset.x - startOffset.right,\n }\n}\n\nfunction set({ coords, edges, interaction, state }: ModifierArg<RestrictEdgesState>) {\n const { offset, options } = state\n\n if (!edges) {\n return\n }\n\n const page = extend({}, coords)\n const inner = getRestrictionRect(options.inner, interaction, page) || ({} as Rect)\n const outer = getRestrictionRect(options.outer, interaction, page) || ({} as Rect)\n\n fixRect(inner, noInner)\n fixRect(outer, noOuter)\n\n if (edges.top) {\n coords.y = Math.min(Math.max(outer.top + offset.top, page.y), inner.top + offset.top)\n } else if (edges.bottom) {\n coords.y = Math.max(Math.min(outer.bottom + offset.bottom, page.y), inner.bottom + offset.bottom)\n }\n if (edges.left) {\n coords.x = Math.min(Math.max(outer.left + offset.left, page.x), inner.left + offset.left)\n } else if (edges.right) {\n coords.x = Math.max(Math.min(outer.right + offset.right, page.x), inner.right + offset.right)\n }\n}\n\nfunction fixRect(rect: Rect, defaults: Rect) {\n for (const edge of ['top', 'left', 'bottom', 'right']) {\n if (!(edge in rect)) {\n rect[edge] = defaults[edge]\n }\n }\n\n return rect\n}\n\nconst defaults: RestrictEdgesOptions = {\n inner: null,\n outer: null,\n offset: null,\n endOnly: false,\n enabled: false,\n}\n\nconst restrictEdges = {\n noInner,\n noOuter,\n start,\n set,\n defaults,\n}\n\nexport default makeModifier(restrictEdges, 'restrictEdges')\nexport { restrictEdges }\n"],"names":["noInner","top","Infinity","left","bottom","right","noOuter","start","_ref","interaction","startOffset","state","options","offset","offsetRect","getRestrictionRect","coords","page","rectUtils","rectToXY","x","y","set","_ref2","edges","extend","inner","outer","fixRect","Math","min","max","rect","defaults","edge","endOnly","enabled","restrictEdges","makeModifier"],"mappings":"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"} |
@@ -1,2 +0,4 @@ | ||
| Object.defineProperty(exports,"__esModule",{value:!0}),exports.restrictEdges=exports.default=void 0;var t,e=(t=require("../../utils/extend.prod.js"))&&t.__esModule?t:{default:t},o=((t,e)=>{if(t&&t.__esModule)return t;if(null===t||"object"!=typeof t&&"function"!=typeof t)return{default:t};var o=i(e);if(o&&o.has(t))return o.get(t);var r={__proto__:null},n=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var s in t)if("default"!==s&&Object.prototype.hasOwnProperty.call(t,s)){var f=n?Object.getOwnPropertyDescriptor(t,s):null;f&&(f.get||f.set)?Object.defineProperty(r,s,f):r[s]=t[s]}return r.default=t,o&&o.set(t,r),r})(require("../../utils/rect.prod.js")),r=require("../base"),n=require("./pointer");function i(t){if("function"!=typeof WeakMap)return null;var e=new WeakMap,o=new WeakMap;return(i=t=>t?o:e)(t)}const s={top:1/0,left:1/0,bottom:-1/0,right:-1/0},f={top:-1/0,left:-1/0,bottom:1/0,right:1/0};function a(t,e){for(const o of["top","left","bottom","right"])o in t||(t[o]=e[o]);return t}const l=exports.restrictEdges={noInner:s,noOuter:f,start({interaction:t,startOffset:e,state:r}){const{options:i}=r;let s;if(i){const e=(0,n.getRestrictionRect)(i.offset,t,t.coords.start.page);s=o.rectToXY(e)}s=s||{x:0,y:0},r.offset={top:s.y+e.top,left:s.x+e.left,bottom:s.y-e.bottom,right:s.x-e.right}},set({coords:t,edges:o,interaction:r,state:i}){const{offset:l,options:u}=i;if(!o)return;const p=(0,e.default)({},t),c=(0,n.getRestrictionRect)(u.inner,r,p)||{},d=(0,n.getRestrictionRect)(u.outer,r,p)||{};a(c,s),a(d,f),o.top?t.y=Math.min(Math.max(d.top+l.top,p.y),c.top+l.top):o.bottom&&(t.y=Math.max(Math.min(d.bottom+l.bottom,p.y),c.bottom+l.bottom)),o.left?t.x=Math.min(Math.max(d.left+l.left,p.x),c.left+l.left):o.right&&(t.x=Math.max(Math.min(d.right+l.right,p.x),c.right+l.right))},defaults:{inner:null,outer:null,offset:null,endOnly:!1,enabled:!1}};exports.default=(0,r.makeModifier)(l,"restrictEdges"); | ||
| //# sourceMappingURL=edges.prod.js.map | ||
| /* interact.js 1.10.26 | https://raw.github.com/taye/interact.js/main/LICENSE */ | ||
| import extend from"../../utils/extend.prod.js";import*as rectUtils from"../../utils/rect.prod.js";import{makeModifier}from"../base.prod.js";import{getRestrictionRect}from"./pointer.prod.js";import"../Modification.prod.js";import"../../utils/clone.prod.js";import"../../utils/is.prod.js";const noInner={top:1/0,left:1/0,bottom:-1/0,right:-1/0},noOuter={top:-1/0,left:-1/0,bottom:1/0,right:1/0};function start(t){let{interaction:o,startOffset:e,state:r}=t;const{options:i}=r;let s;if(i){const t=getRestrictionRect(i.offset,o,o.coords.start.page);s=rectUtils.rectToXY(t)}s=s||{x:0,y:0},r.offset={top:s.y+e.top,left:s.x+e.left,bottom:s.y-e.bottom,right:s.x-e.right}}function set(t){let{coords:o,edges:e,interaction:r,state:i}=t;const{offset:s,options:n}=i;if(!e)return;const f=extend({},o),c=getRestrictionRect(n.inner,r,f)||{},a=getRestrictionRect(n.outer,r,f)||{};fixRect(c,noInner),fixRect(a,noOuter),e.top?o.y=Math.min(Math.max(a.top+s.top,f.y),c.top+s.top):e.bottom&&(o.y=Math.max(Math.min(a.bottom+s.bottom,f.y),c.bottom+s.bottom)),e.left?o.x=Math.min(Math.max(a.left+s.left,f.x),c.left+s.left):e.right&&(o.x=Math.max(Math.min(a.right+s.right,f.x),c.right+s.right))}function fixRect(t,o){for(const e of["top","left","bottom","right"])e in t||(t[e]=o[e]);return t}const defaults={inner:null,outer:null,offset:null,endOnly:!1,enabled:!1},restrictEdges={noInner:noInner,noOuter:noOuter,start:start,set:set,defaults:defaults};var restrictEdges$1=makeModifier(restrictEdges,"restrictEdges");export{restrictEdges$1 as default,restrictEdges}; | ||
| //# sourceMappingURL=edges.prod.js.map |
@@ -1,75 +0,1 @@ | ||
| { | ||
| "version": 3, | ||
| "names": [ | ||
| "obj", | ||
| "_extendProd", | ||
| "require", | ||
| "__esModule", | ||
| "default", | ||
| "rectUtils", | ||
| "e", | ||
| "r", | ||
| "t", | ||
| "_getRequireWildcardCache", | ||
| "has", | ||
| "get", | ||
| "n", | ||
| "__proto__", | ||
| "a", | ||
| "Object", | ||
| "defineProperty", | ||
| "getOwnPropertyDescriptor", | ||
| "u", | ||
| "prototype", | ||
| "hasOwnProperty", | ||
| "call", | ||
| "i", | ||
| "set", | ||
| "_interopRequireWildcard", | ||
| "_base", | ||
| "_pointer", | ||
| "WeakMap", | ||
| "noInner", | ||
| "top", | ||
| "left", | ||
| "bottom", | ||
| "right", | ||
| "noOuter", | ||
| "fixRect", | ||
| "rect", | ||
| "defaults", | ||
| "edge", | ||
| "restrictEdges", | ||
| "exports", | ||
| "start", | ||
| "interaction", | ||
| "startOffset", | ||
| "state", | ||
| "options", | ||
| "offset", | ||
| "offsetRect", | ||
| "getRestrictionRect", | ||
| "coords", | ||
| "page", | ||
| "rectToXY", | ||
| "x", | ||
| "y", | ||
| "edges", | ||
| "extend", | ||
| "inner", | ||
| "outer", | ||
| "Math", | ||
| "min", | ||
| "max", | ||
| "endOnly", | ||
| "enabled", | ||
| "makeModifier" | ||
| ], | ||
| "sources": [ | ||
| "edges.ts" | ||
| ], | ||
| "sourcesContent": [ | ||
| "// This modifier adds the options.resize.restrictEdges setting which sets min and\n// max for the top, left, bottom and right edges of the target being resized.\n//\n// interact(target).resize({\n// edges: { top: true, left: true },\n// restrictEdges: {\n// inner: { top: 200, left: 200, right: 400, bottom: 400 },\n// outer: { top: 0, left: 0, right: 600, bottom: 600 },\n// },\n// })\n\nimport type { Point, Rect } from '@interactjs/core/types'\nimport extend from '@interactjs/utils/extend'\nimport * as rectUtils from '@interactjs/utils/rect'\n\nimport { makeModifier } from '../base'\nimport type { ModifierArg, ModifierState } from '../types'\n\nimport type { RestrictOptions } from './pointer'\nimport { getRestrictionRect } from './pointer'\n\nexport interface RestrictEdgesOptions {\n inner: RestrictOptions['restriction']\n outer: RestrictOptions['restriction']\n offset?: RestrictOptions['offset']\n endOnly: boolean\n enabled?: boolean\n}\n\nexport type RestrictEdgesState = ModifierState<\n RestrictEdgesOptions,\n {\n inner: Rect\n outer: Rect\n offset: RestrictEdgesOptions['offset']\n }\n>\n\nconst noInner = { top: +Infinity, left: +Infinity, bottom: -Infinity, right: -Infinity }\nconst noOuter = { top: -Infinity, left: -Infinity, bottom: +Infinity, right: +Infinity }\n\nfunction start({ interaction, startOffset, state }: ModifierArg<RestrictEdgesState>) {\n const { options } = state\n let offset: Point\n\n if (options) {\n const offsetRect = getRestrictionRect(options.offset, interaction, interaction.coords.start.page)\n\n offset = rectUtils.rectToXY(offsetRect)\n }\n\n offset = offset || { x: 0, y: 0 }\n\n state.offset = {\n top: offset.y + startOffset.top,\n left: offset.x + startOffset.left,\n bottom: offset.y - startOffset.bottom,\n right: offset.x - startOffset.right,\n }\n}\n\nfunction set({ coords, edges, interaction, state }: ModifierArg<RestrictEdgesState>) {\n const { offset, options } = state\n\n if (!edges) {\n return\n }\n\n const page = extend({}, coords)\n const inner = getRestrictionRect(options.inner, interaction, page) || ({} as Rect)\n const outer = getRestrictionRect(options.outer, interaction, page) || ({} as Rect)\n\n fixRect(inner, noInner)\n fixRect(outer, noOuter)\n\n if (edges.top) {\n coords.y = Math.min(Math.max(outer.top + offset.top, page.y), inner.top + offset.top)\n } else if (edges.bottom) {\n coords.y = Math.max(Math.min(outer.bottom + offset.bottom, page.y), inner.bottom + offset.bottom)\n }\n if (edges.left) {\n coords.x = Math.min(Math.max(outer.left + offset.left, page.x), inner.left + offset.left)\n } else if (edges.right) {\n coords.x = Math.max(Math.min(outer.right + offset.right, page.x), inner.right + offset.right)\n }\n}\n\nfunction fixRect(rect: Rect, defaults: Rect) {\n for (const edge of ['top', 'left', 'bottom', 'right']) {\n if (!(edge in rect)) {\n rect[edge] = defaults[edge]\n }\n }\n\n return rect\n}\n\nconst defaults: RestrictEdgesOptions = {\n inner: null,\n outer: null,\n offset: null,\n endOnly: false,\n enabled: false,\n}\n\nconst restrictEdges = {\n noInner,\n noOuter,\n start,\n set,\n defaults,\n}\n\nexport default makeModifier(restrictEdges, 'restrictEdges')\nexport { restrictEdges }\n" | ||
| ], | ||
| "mappings": "oGAYA,IAO8CA,EAP9CC,GAO8CD,EAP9CE,QAAA,gCAO8CF,EAAAG,WAAAH,EAAA,CAAAI,QAAAJ,GAN9CK,EAM8C,EAAAC,EAAAC,KAAA,GAAAD,KAAAH,WAAA,OAAAG,EAAA,UAAAA,GAAA,iBAAAA,GAAA,mBAAAA,EAAA,OAAAF,QAAAE,GAAA,IAAAE,EAAAC,EAAAF,GAAA,GAAAC,KAAAE,IAAAJ,GAAA,OAAAE,EAAAG,IAAAL,GAAA,IAAAM,EAAA,CAAAC,UAAA,MAAAC,EAAAC,OAAAC,gBAAAD,OAAAE,yBAAA,QAAAC,KAAAZ,EAAA,eAAAY,GAAAH,OAAAI,UAAAC,eAAAC,KAAAf,EAAAY,GAAA,KAAAI,EAAAR,EAAAC,OAAAE,yBAAAX,EAAAY,GAAA,KAAAI,MAAAX,KAAAW,EAAAC,KAAAR,OAAAC,eAAAJ,EAAAM,EAAAI,GAAAV,EAAAM,GAAAZ,EAAAY,EAAA,QAAAN,EAAAR,QAAAE,EAAAE,KAAAe,IAAAjB,EAAAM,IAAA,EAN9CY,CAAAtB,QAAA,6BAEAuB,EAAAvB,QAAA,WAIAwB,EAAAxB,QAAA,aAA8C,SAAAO,EAAAH,GAAA,sBAAAqB,QAAA,gBAAApB,EAAA,IAAAoB,QAAAnB,EAAA,IAAAmB,QAAA,OAAAlB,EAAAH,KAAAE,EAAAD,GAAAD,EAAA,CAmB9C,MAAMsB,EAAU,CAAEC,IAAK,IAAWC,KAAM,IAAWC,QAAQ,IAAWC,OAAO,KACvEC,EAAU,CAAEJ,KAAK,IAAWC,MAAM,IAAWC,OAAQ,IAAWC,MAAO,KAgD7E,SAASE,EAAQC,EAAYC,GAC3B,IAAK,MAAMC,IAAQ,CAAC,MAAO,OAAQ,SAAU,SACrCA,KAAQF,IACZA,EAAKE,GAAQD,EAASC,IAI1B,OAAOF,CACT,CAEA,MAQMG,EAAaC,QAAAD,cAAG,CACpBV,UACAK,UACAO,OAnEaC,YAAEA,EAAWC,YAAEA,EAAWC,MAAEA,IACzC,MAAMC,QAAEA,GAAYD,EACpB,IAAIE,EAEJ,GAAID,EAAS,CACX,MAAME,GAAa,EAAAC,sBAAmBH,EAAQC,OAAQJ,EAAaA,EAAYO,OAAOR,MAAMS,MAE5FJ,EAASxC,EAAU6C,SAASJ,EAC9B,CAEAD,EAASA,GAAU,CAAEM,EAAG,EAAGC,EAAG,GAE9BT,EAAME,OAAS,CACbhB,IAAKgB,EAAOO,EAAIV,EAAYb,IAC5BC,KAAMe,EAAOM,EAAIT,EAAYZ,KAC7BC,OAAQc,EAAOO,EAAIV,EAAYX,OAC/BC,MAAOa,EAAOM,EAAIT,EAAYV,MAElC,EAkDET,KAhDWyB,OAAEA,EAAMK,MAAEA,EAAKZ,YAAEA,EAAWE,MAAEA,IACzC,MAAME,OAAEA,EAAMD,QAAEA,GAAYD,EAE5B,IAAKU,EACH,OAGF,MAAMJ,GAAO,EAAAK,WAAO,CAAC,EAAGN,GAClBO,GAAQ,EAAAR,sBAAmBH,EAAQW,MAAOd,EAAaQ,IAAU,CAAC,EAClEO,GAAQ,EAAAT,sBAAmBH,EAAQY,MAAOf,EAAaQ,IAAU,CAAC,EAExEf,EAAQqB,EAAO3B,GACfM,EAAQsB,EAAOvB,GAEXoB,EAAMxB,IACRmB,EAAOI,EAAIK,KAAKC,IAAID,KAAKE,IAAIH,EAAM3B,IAAMgB,EAAOhB,IAAKoB,EAAKG,GAAIG,EAAM1B,IAAMgB,EAAOhB,KACxEwB,EAAMtB,SACfiB,EAAOI,EAAIK,KAAKE,IAAIF,KAAKC,IAAIF,EAAMzB,OAASc,EAAOd,OAAQkB,EAAKG,GAAIG,EAAMxB,OAASc,EAAOd,SAExFsB,EAAMvB,KACRkB,EAAOG,EAAIM,KAAKC,IAAID,KAAKE,IAAIH,EAAM1B,KAAOe,EAAOf,KAAMmB,EAAKE,GAAII,EAAMzB,KAAOe,EAAOf,MAC3EuB,EAAMrB,QACfgB,EAAOG,EAAIM,KAAKE,IAAIF,KAAKC,IAAIF,EAAMxB,MAAQa,EAAOb,MAAOiB,EAAKE,GAAII,EAAMvB,MAAQa,EAAOb,OAE3F,EAyBEI,SAbqC,CACrCmB,MAAO,KACPC,MAAO,KACPX,OAAQ,KACRe,SAAS,EACTC,SAAS,IASVtB,QAAAnC,SAEc,EAAA0D,gBAAaxB,EAAe" | ||
| } | ||
| {"version":3,"file":"edges.prod.js","sources":["edges.ts"],"sourcesContent":["// This modifier adds the options.resize.restrictEdges setting which sets min and\n// max for the top, left, bottom and right edges of the target being resized.\n//\n// interact(target).resize({\n// edges: { top: true, left: true },\n// restrictEdges: {\n// inner: { top: 200, left: 200, right: 400, bottom: 400 },\n// outer: { top: 0, left: 0, right: 600, bottom: 600 },\n// },\n// })\n\nimport type { Point, Rect } from '@interactjs/core/types'\nimport extend from '@interactjs/utils/extend'\nimport * as rectUtils from '@interactjs/utils/rect'\n\nimport { makeModifier } from '../base'\nimport type { ModifierArg, ModifierState } from '../types'\n\nimport type { RestrictOptions } from './pointer'\nimport { getRestrictionRect } from './pointer'\n\nexport interface RestrictEdgesOptions {\n inner: RestrictOptions['restriction']\n outer: RestrictOptions['restriction']\n offset?: RestrictOptions['offset']\n endOnly: boolean\n enabled?: boolean\n}\n\nexport type RestrictEdgesState = ModifierState<\n RestrictEdgesOptions,\n {\n inner: Rect\n outer: Rect\n offset: RestrictEdgesOptions['offset']\n }\n>\n\nconst noInner = { top: +Infinity, left: +Infinity, bottom: -Infinity, right: -Infinity }\nconst noOuter = { top: -Infinity, left: -Infinity, bottom: +Infinity, right: +Infinity }\n\nfunction start({ interaction, startOffset, state }: ModifierArg<RestrictEdgesState>) {\n const { options } = state\n let offset: Point\n\n if (options) {\n const offsetRect = getRestrictionRect(options.offset, interaction, interaction.coords.start.page)\n\n offset = rectUtils.rectToXY(offsetRect)\n }\n\n offset = offset || { x: 0, y: 0 }\n\n state.offset = {\n top: offset.y + startOffset.top,\n left: offset.x + startOffset.left,\n bottom: offset.y - startOffset.bottom,\n right: offset.x - startOffset.right,\n }\n}\n\nfunction set({ coords, edges, interaction, state }: ModifierArg<RestrictEdgesState>) {\n const { offset, options } = state\n\n if (!edges) {\n return\n }\n\n const page = extend({}, coords)\n const inner = getRestrictionRect(options.inner, interaction, page) || ({} as Rect)\n const outer = getRestrictionRect(options.outer, interaction, page) || ({} as Rect)\n\n fixRect(inner, noInner)\n fixRect(outer, noOuter)\n\n if (edges.top) {\n coords.y = Math.min(Math.max(outer.top + offset.top, page.y), inner.top + offset.top)\n } else if (edges.bottom) {\n coords.y = Math.max(Math.min(outer.bottom + offset.bottom, page.y), inner.bottom + offset.bottom)\n }\n if (edges.left) {\n coords.x = Math.min(Math.max(outer.left + offset.left, page.x), inner.left + offset.left)\n } else if (edges.right) {\n coords.x = Math.max(Math.min(outer.right + offset.right, page.x), inner.right + offset.right)\n }\n}\n\nfunction fixRect(rect: Rect, defaults: Rect) {\n for (const edge of ['top', 'left', 'bottom', 'right']) {\n if (!(edge in rect)) {\n rect[edge] = defaults[edge]\n }\n }\n\n return rect\n}\n\nconst defaults: RestrictEdgesOptions = {\n inner: null,\n outer: null,\n offset: null,\n endOnly: false,\n enabled: false,\n}\n\nconst restrictEdges = {\n noInner,\n noOuter,\n start,\n set,\n defaults,\n}\n\nexport default makeModifier(restrictEdges, 'restrictEdges')\nexport { restrictEdges }\n"],"names":["noInner","top","Infinity","left","bottom","right","noOuter","start","_ref","interaction","startOffset","state","options","offset","offsetRect","getRestrictionRect","coords","page","rectUtils","rectToXY","x","y","set","_ref2","edges","extend","inner","outer","fixRect","Math","min","max","rect","defaults","edge","endOnly","enabled","restrictEdges","restrictEdges$1","makeModifier"],"mappings":";;+RAsCA,MAAMA,QAAU,CAAEC,IAAMC,IAAUC,KAAOD,IAAUE,QAASF,IAAUG,OAAQH,KACxEI,QAAU,CAAEL,KAAMC,IAAUC,MAAOD,IAAUE,OAASF,IAAUG,MAAQH,KAE9E,SAASK,MAAKC,GAAuE,IAAtEC,YAAEA,EAAWC,YAAEA,EAAWC,MAAEA,GAAwCH,EACjF,MAAMI,QAAEA,GAAYD,EACpB,IAAIE,EAEJ,GAAID,EAAS,CACX,MAAME,EAAaC,mBAAmBH,EAAQC,OAAQJ,EAAaA,EAAYO,OAAOT,MAAMU,MAE5FJ,EAASK,UAAUC,SAASL,EAC9B,CAEAD,EAASA,GAAU,CAAEO,EAAG,EAAGC,EAAG,GAE9BV,EAAME,OAAS,CACbZ,IAAKY,EAAOQ,EAAIX,EAAYT,IAC5BE,KAAMU,EAAOO,EAAIV,EAAYP,KAC7BC,OAAQS,EAAOQ,EAAIX,EAAYN,OAC/BC,MAAOQ,EAAOO,EAAIV,EAAYL,MAElC,CAEA,SAASiB,IAAGC,GAAyE,IAAxEP,OAAEA,EAAMQ,MAAEA,EAAKf,YAAEA,EAAWE,MAAEA,GAAwCY,EACjF,MAAMV,OAAEA,EAAMD,QAAEA,GAAYD,EAE5B,IAAKa,EACH,OAGF,MAAMP,EAAOQ,OAAO,CAAE,EAAET,GAClBU,EAAQX,mBAAmBH,EAAQc,MAAOjB,EAAaQ,IAAU,GACjEU,EAAQZ,mBAAmBH,EAAQe,MAAOlB,EAAaQ,IAAU,GAEvEW,QAAQF,EAAO1B,SACf4B,QAAQD,EAAOrB,SAEXkB,EAAMvB,IACRe,EAAOK,EAAIQ,KAAKC,IAAID,KAAKE,IAAIJ,EAAM1B,IAAMY,EAAOZ,IAAKgB,EAAKI,GAAIK,EAAMzB,IAAMY,EAAOZ,KACxEuB,EAAMpB,SACfY,EAAOK,EAAIQ,KAAKE,IAAIF,KAAKC,IAAIH,EAAMvB,OAASS,EAAOT,OAAQa,EAAKI,GAAIK,EAAMtB,OAASS,EAAOT,SAExFoB,EAAMrB,KACRa,EAAOI,EAAIS,KAAKC,IAAID,KAAKE,IAAIJ,EAAMxB,KAAOU,EAAOV,KAAMc,EAAKG,GAAIM,EAAMvB,KAAOU,EAAOV,MAC3EqB,EAAMnB,QACfW,EAAOI,EAAIS,KAAKE,IAAIF,KAAKC,IAAIH,EAAMtB,MAAQQ,EAAOR,MAAOY,EAAKG,GAAIM,EAAMrB,MAAQQ,EAAOR,OAE3F,CAEA,SAASuB,QAAQI,EAAYC,GAC3B,IAAK,MAAMC,IAAQ,CAAC,MAAO,OAAQ,SAAU,SACrCA,KAAQF,IACZA,EAAKE,GAAQD,EAASC,IAI1B,OAAOF,CACT,CAEA,MAAMC,SAAiC,CACrCP,MAAO,KACPC,MAAO,KACPd,OAAQ,KACRsB,SAAS,EACTC,SAAS,GAGLC,cAAgB,CACpBrC,gBACAM,gBACAC,YACAe,QACAW,mBAGF,IAAAK,gBAAeC,aAAaF,cAAe"} |
+33
-31
@@ -1,23 +0,23 @@ | ||
| "use strict"; | ||
| /** | ||
| * interact.js 1.10.26 | ||
| * | ||
| * Copyright (c) 2012-present Taye Adeyemi <dev@taye.me> | ||
| * Released under the MIT License. | ||
| * https://raw.github.com/taye/interact.js/main/LICENSE | ||
| */ | ||
| Object.defineProperty(exports, "__esModule", { | ||
| value: true | ||
| }); | ||
| exports.default = void 0; | ||
| exports.getRestrictionRect = getRestrictionRect; | ||
| exports.restrict = void 0; | ||
| var _extend = _interopRequireDefault(require("../../utils/extend.js")); | ||
| var _is = _interopRequireDefault(require("../../utils/is.js")); | ||
| var rectUtils = _interopRequireWildcard(require("../../utils/rect.js")); | ||
| var _base = require("../base"); | ||
| function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); } | ||
| function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; } | ||
| function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | ||
| function start({ | ||
| rect, | ||
| startOffset, | ||
| state, | ||
| interaction, | ||
| pageCoords | ||
| }) { | ||
| import extend from "../../utils/extend.js"; | ||
| import is from "../../utils/is.js"; | ||
| import * as rectUtils from "../../utils/rect.js"; | ||
| import { makeModifier } from '../base.js'; | ||
| import '../Modification.js'; | ||
| import "../../utils/clone.js"; | ||
| function start(_ref) { | ||
| let { | ||
| rect, | ||
| startOffset, | ||
| state, | ||
| interaction, | ||
| pageCoords | ||
| } = _ref; | ||
| const { | ||
@@ -29,3 +29,3 @@ options | ||
| } = options; | ||
| const offset = (0, _extend.default)({ | ||
| const offset = extend({ | ||
| left: 0, | ||
@@ -57,7 +57,8 @@ top: 0, | ||
| } | ||
| function set({ | ||
| coords, | ||
| interaction, | ||
| state | ||
| }) { | ||
| function set(_ref2) { | ||
| let { | ||
| coords, | ||
| interaction, | ||
| state | ||
| } = _ref2; | ||
| const { | ||
@@ -74,3 +75,3 @@ options, | ||
| function getRestrictionRect(value, interaction, coords) { | ||
| if (_is.default.func(value)) { | ||
| if (is.func(value)) { | ||
| return rectUtils.resolveRectLike(value, interaction.interactable, interaction.element, [coords.x, coords.y, interaction]); | ||
@@ -88,3 +89,3 @@ } else { | ||
| }; | ||
| const restrict = exports.restrict = { | ||
| const restrict = { | ||
| start, | ||
@@ -94,3 +95,4 @@ set, | ||
| }; | ||
| var _default = exports.default = (0, _base.makeModifier)(restrict, 'restrict'); | ||
| //# sourceMappingURL=pointer.js.map | ||
| var restrict$1 = makeModifier(restrict, 'restrict'); | ||
| export { restrict$1 as default, getRestrictionRect, restrict }; | ||
| //# sourceMappingURL=pointer.js.map |
@@ -1,81 +0,1 @@ | ||
| { | ||
| "version": 3, | ||
| "names": [ | ||
| "_extend", | ||
| "_interopRequireDefault", | ||
| "require", | ||
| "_is", | ||
| "rectUtils", | ||
| "_interopRequireWildcard", | ||
| "_base", | ||
| "_getRequireWildcardCache", | ||
| "e", | ||
| "WeakMap", | ||
| "r", | ||
| "t", | ||
| "__esModule", | ||
| "default", | ||
| "has", | ||
| "get", | ||
| "n", | ||
| "__proto__", | ||
| "a", | ||
| "Object", | ||
| "defineProperty", | ||
| "getOwnPropertyDescriptor", | ||
| "u", | ||
| "prototype", | ||
| "hasOwnProperty", | ||
| "call", | ||
| "i", | ||
| "set", | ||
| "obj", | ||
| "start", | ||
| "rect", | ||
| "startOffset", | ||
| "state", | ||
| "interaction", | ||
| "pageCoords", | ||
| "options", | ||
| "elementRect", | ||
| "offset", | ||
| "extend", | ||
| "left", | ||
| "top", | ||
| "right", | ||
| "bottom", | ||
| "restriction", | ||
| "getRestrictionRect", | ||
| "widthDiff", | ||
| "width", | ||
| "heightDiff", | ||
| "height", | ||
| "coords", | ||
| "xywhToTlbr", | ||
| "x", | ||
| "Math", | ||
| "max", | ||
| "min", | ||
| "y", | ||
| "value", | ||
| "is", | ||
| "func", | ||
| "resolveRectLike", | ||
| "interactable", | ||
| "element", | ||
| "defaults", | ||
| "endOnly", | ||
| "enabled", | ||
| "restrict", | ||
| "exports", | ||
| "_default", | ||
| "makeModifier" | ||
| ], | ||
| "sources": [ | ||
| "pointer.ts" | ||
| ], | ||
| "sourcesContent": [ | ||
| "import type Interaction from '@interactjs/core/Interaction'\nimport type { RectResolvable, Rect, Point } from '@interactjs/core/types'\nimport extend from '@interactjs/utils/extend'\nimport is from '@interactjs/utils/is'\nimport * as rectUtils from '@interactjs/utils/rect'\n\nimport { makeModifier } from '../base'\nimport type { ModifierArg, ModifierModule, ModifierState } from '../types'\n\nexport interface RestrictOptions {\n // where to drag over\n restriction: RectResolvable<[number, number, Interaction]>\n // what part of self is allowed to drag over\n elementRect: Rect\n offset: Rect\n // restrict just before the end drag\n endOnly: boolean\n enabled?: boolean\n}\n\nexport type RestrictState = ModifierState<\n RestrictOptions,\n {\n offset: Rect\n }\n>\n\nfunction start({ rect, startOffset, state, interaction, pageCoords }: ModifierArg<RestrictState>) {\n const { options } = state\n const { elementRect } = options\n const offset: Rect = extend(\n {\n left: 0,\n top: 0,\n right: 0,\n bottom: 0,\n },\n options.offset || {},\n )\n\n if (rect && elementRect) {\n const restriction = getRestrictionRect(options.restriction, interaction, pageCoords)\n\n if (restriction) {\n const widthDiff = restriction.right - restriction.left - rect.width\n const heightDiff = restriction.bottom - restriction.top - rect.height\n\n if (widthDiff < 0) {\n offset.left += widthDiff\n offset.right += widthDiff\n }\n if (heightDiff < 0) {\n offset.top += heightDiff\n offset.bottom += heightDiff\n }\n }\n\n offset.left += startOffset.left - rect.width * elementRect.left\n offset.top += startOffset.top - rect.height * elementRect.top\n\n offset.right += startOffset.right - rect.width * (1 - elementRect.right)\n offset.bottom += startOffset.bottom - rect.height * (1 - elementRect.bottom)\n }\n\n state.offset = offset\n}\n\nfunction set({ coords, interaction, state }: ModifierArg<RestrictState>) {\n const { options, offset } = state\n\n const restriction = getRestrictionRect(options.restriction, interaction, coords)\n\n if (!restriction) return\n\n const rect = rectUtils.xywhToTlbr(restriction)\n\n coords.x = Math.max(Math.min(rect.right - offset.right, coords.x), rect.left + offset.left)\n coords.y = Math.max(Math.min(rect.bottom - offset.bottom, coords.y), rect.top + offset.top)\n}\n\nexport function getRestrictionRect(\n value: RectResolvable<[number, number, Interaction]>,\n interaction: Interaction,\n coords?: Point,\n) {\n if (is.func(value)) {\n return rectUtils.resolveRectLike(value, interaction.interactable, interaction.element, [\n coords.x,\n coords.y,\n interaction,\n ])\n } else {\n return rectUtils.resolveRectLike(value, interaction.interactable, interaction.element)\n }\n}\n\nconst defaults: RestrictOptions = {\n restriction: null,\n elementRect: null,\n offset: null,\n endOnly: false,\n enabled: false,\n}\n\nconst restrict: ModifierModule<RestrictOptions, RestrictState> = {\n start,\n set,\n defaults,\n}\n\nexport default makeModifier(restrict, 'restrict')\nexport { restrict }\n" | ||
| ], | ||
| "mappings": "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" | ||
| } | ||
| {"version":3,"file":"pointer.js","sources":["pointer.ts"],"sourcesContent":["import type Interaction from '@interactjs/core/Interaction'\nimport type { RectResolvable, Rect, Point } from '@interactjs/core/types'\nimport extend from '@interactjs/utils/extend'\nimport is from '@interactjs/utils/is'\nimport * as rectUtils from '@interactjs/utils/rect'\n\nimport { makeModifier } from '../base'\nimport type { ModifierArg, ModifierModule, ModifierState } from '../types'\n\nexport interface RestrictOptions {\n // where to drag over\n restriction: RectResolvable<[number, number, Interaction]>\n // what part of self is allowed to drag over\n elementRect: Rect\n offset: Rect\n // restrict just before the end drag\n endOnly: boolean\n enabled?: boolean\n}\n\nexport type RestrictState = ModifierState<\n RestrictOptions,\n {\n offset: Rect\n }\n>\n\nfunction start({ rect, startOffset, state, interaction, pageCoords }: ModifierArg<RestrictState>) {\n const { options } = state\n const { elementRect } = options\n const offset: Rect = extend(\n {\n left: 0,\n top: 0,\n right: 0,\n bottom: 0,\n },\n options.offset || {},\n )\n\n if (rect && elementRect) {\n const restriction = getRestrictionRect(options.restriction, interaction, pageCoords)\n\n if (restriction) {\n const widthDiff = restriction.right - restriction.left - rect.width\n const heightDiff = restriction.bottom - restriction.top - rect.height\n\n if (widthDiff < 0) {\n offset.left += widthDiff\n offset.right += widthDiff\n }\n if (heightDiff < 0) {\n offset.top += heightDiff\n offset.bottom += heightDiff\n }\n }\n\n offset.left += startOffset.left - rect.width * elementRect.left\n offset.top += startOffset.top - rect.height * elementRect.top\n\n offset.right += startOffset.right - rect.width * (1 - elementRect.right)\n offset.bottom += startOffset.bottom - rect.height * (1 - elementRect.bottom)\n }\n\n state.offset = offset\n}\n\nfunction set({ coords, interaction, state }: ModifierArg<RestrictState>) {\n const { options, offset } = state\n\n const restriction = getRestrictionRect(options.restriction, interaction, coords)\n\n if (!restriction) return\n\n const rect = rectUtils.xywhToTlbr(restriction)\n\n coords.x = Math.max(Math.min(rect.right - offset.right, coords.x), rect.left + offset.left)\n coords.y = Math.max(Math.min(rect.bottom - offset.bottom, coords.y), rect.top + offset.top)\n}\n\nexport function getRestrictionRect(\n value: RectResolvable<[number, number, Interaction]>,\n interaction: Interaction,\n coords?: Point,\n) {\n if (is.func(value)) {\n return rectUtils.resolveRectLike(value, interaction.interactable, interaction.element, [\n coords.x,\n coords.y,\n interaction,\n ])\n } else {\n return rectUtils.resolveRectLike(value, interaction.interactable, interaction.element)\n }\n}\n\nconst defaults: RestrictOptions = {\n restriction: null,\n elementRect: null,\n offset: null,\n endOnly: false,\n enabled: false,\n}\n\nconst restrict: ModifierModule<RestrictOptions, RestrictState> = {\n start,\n set,\n defaults,\n}\n\nexport default makeModifier(restrict, 'restrict')\nexport { restrict }\n"],"names":["start","_ref","rect","startOffset","state","interaction","pageCoords","options","elementRect","offset","extend","left","top","right","bottom","restriction","getRestrictionRect","widthDiff","width","heightDiff","height","set","_ref2","coords","rectUtils","xywhToTlbr","x","Math","max","min","y","value","is","func","resolveRectLike","interactable","element","defaults","endOnly","enabled","restrict","makeModifier"],"mappings":"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"} |
@@ -1,2 +0,4 @@ | ||
| Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0,exports.getRestrictionRect=s,exports.restrict=void 0;var t=n(require("../../utils/extend.prod.js")),e=n(require("../../utils/is.prod.js")),r=((t,e)=>{if(t&&t.__esModule)return t;if(null===t||"object"!=typeof t&&"function"!=typeof t)return{default:t};var r=i(e);if(r&&r.has(t))return r.get(t);var o={__proto__:null},n=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var s in t)if("default"!==s&&Object.prototype.hasOwnProperty.call(t,s)){var l=n?Object.getOwnPropertyDescriptor(t,s):null;l&&(l.get||l.set)?Object.defineProperty(o,s,l):o[s]=t[s]}return o.default=t,r&&r.set(t,o),o})(require("../../utils/rect.prod.js")),o=require("../base");function i(t){if("function"!=typeof WeakMap)return null;var e=new WeakMap,r=new WeakMap;return(i=t=>t?r:e)(t)}function n(t){return t&&t.__esModule?t:{default:t}}function s(t,o,i){return e.default.func(t)?r.resolveRectLike(t,o.interactable,o.element,[i.x,i.y,o]):r.resolveRectLike(t,o.interactable,o.element)}const l=exports.restrict={start({rect:e,startOffset:r,state:o,interaction:i,pageCoords:n}){const{options:l}=o,{elementRect:f}=l,a=(0,t.default)({left:0,top:0,right:0,bottom:0},l.offset||{});if(e&&f){const t=s(l.restriction,i,n);if(t){const r=t.right-t.left-e.width,o=t.bottom-t.top-e.height;r<0&&(a.left+=r,a.right+=r),o<0&&(a.top+=o,a.bottom+=o)}a.left+=r.left-e.width*f.left,a.top+=r.top-e.height*f.top,a.right+=r.right-e.width*(1-f.right),a.bottom+=r.bottom-e.height*(1-f.bottom)}o.offset=a},set({coords:t,interaction:e,state:o}){const{options:i,offset:n}=o,l=s(i.restriction,e,t);if(!l)return;const f=r.xywhToTlbr(l);t.x=Math.max(Math.min(f.right-n.right,t.x),f.left+n.left),t.y=Math.max(Math.min(f.bottom-n.bottom,t.y),f.top+n.top)},defaults:{restriction:null,elementRect:null,offset:null,endOnly:!1,enabled:!1}};exports.default=(0,o.makeModifier)(l,"restrict"); | ||
| //# sourceMappingURL=pointer.prod.js.map | ||
| /* interact.js 1.10.26 | https://raw.github.com/taye/interact.js/main/LICENSE */ | ||
| import extend from"../../utils/extend.prod.js";import is from"../../utils/is.prod.js";import*as rectUtils from"../../utils/rect.prod.js";import{makeModifier}from"../base.prod.js";import"../Modification.prod.js";import"../../utils/clone.prod.js";function start(t){let{rect:e,startOffset:o,state:i,interaction:r,pageCoords:s}=t;const{options:n}=i,{elementRect:c}=n,l=extend({left:0,top:0,right:0,bottom:0},n.offset||{});if(e&&c){const t=getRestrictionRect(n.restriction,r,s);if(t){const o=t.right-t.left-e.width,i=t.bottom-t.top-e.height;o<0&&(l.left+=o,l.right+=o),i<0&&(l.top+=i,l.bottom+=i)}l.left+=o.left-e.width*c.left,l.top+=o.top-e.height*c.top,l.right+=o.right-e.width*(1-c.right),l.bottom+=o.bottom-e.height*(1-c.bottom)}i.offset=l}function set(t){let{coords:e,interaction:o,state:i}=t;const{options:r,offset:s}=i,n=getRestrictionRect(r.restriction,o,e);if(!n)return;const c=rectUtils.xywhToTlbr(n);e.x=Math.max(Math.min(c.right-s.right,e.x),c.left+s.left),e.y=Math.max(Math.min(c.bottom-s.bottom,e.y),c.top+s.top)}function getRestrictionRect(t,e,o){return is.func(t)?rectUtils.resolveRectLike(t,e.interactable,e.element,[o.x,o.y,e]):rectUtils.resolveRectLike(t,e.interactable,e.element)}const defaults={restriction:null,elementRect:null,offset:null,endOnly:!1,enabled:!1},restrict={start:start,set:set,defaults:defaults};var restrict$1=makeModifier(restrict,"restrict");export{restrict$1 as default,getRestrictionRect,restrict}; | ||
| //# sourceMappingURL=pointer.prod.js.map |
@@ -1,80 +0,1 @@ | ||
| { | ||
| "version": 3, | ||
| "names": [ | ||
| "_extendProd", | ||
| "_interopRequireDefault", | ||
| "require", | ||
| "_isProd", | ||
| "rectUtils", | ||
| "e", | ||
| "r", | ||
| "__esModule", | ||
| "default", | ||
| "t", | ||
| "_getRequireWildcardCache", | ||
| "has", | ||
| "get", | ||
| "n", | ||
| "__proto__", | ||
| "a", | ||
| "Object", | ||
| "defineProperty", | ||
| "getOwnPropertyDescriptor", | ||
| "u", | ||
| "prototype", | ||
| "hasOwnProperty", | ||
| "call", | ||
| "i", | ||
| "set", | ||
| "_interopRequireWildcard", | ||
| "_base", | ||
| "WeakMap", | ||
| "obj", | ||
| "getRestrictionRect", | ||
| "value", | ||
| "interaction", | ||
| "coords", | ||
| "is", | ||
| "func", | ||
| "resolveRectLike", | ||
| "interactable", | ||
| "element", | ||
| "x", | ||
| "y", | ||
| "restrict", | ||
| "exports", | ||
| "start", | ||
| "rect", | ||
| "startOffset", | ||
| "state", | ||
| "pageCoords", | ||
| "options", | ||
| "elementRect", | ||
| "offset", | ||
| "extend", | ||
| "left", | ||
| "top", | ||
| "right", | ||
| "bottom", | ||
| "restriction", | ||
| "widthDiff", | ||
| "width", | ||
| "heightDiff", | ||
| "height", | ||
| "xywhToTlbr", | ||
| "Math", | ||
| "max", | ||
| "min", | ||
| "defaults", | ||
| "endOnly", | ||
| "enabled", | ||
| "makeModifier" | ||
| ], | ||
| "sources": [ | ||
| "pointer.ts" | ||
| ], | ||
| "sourcesContent": [ | ||
| "import type Interaction from '@interactjs/core/Interaction'\nimport type { RectResolvable, Rect, Point } from '@interactjs/core/types'\nimport extend from '@interactjs/utils/extend'\nimport is from '@interactjs/utils/is'\nimport * as rectUtils from '@interactjs/utils/rect'\n\nimport { makeModifier } from '../base'\nimport type { ModifierArg, ModifierModule, ModifierState } from '../types'\n\nexport interface RestrictOptions {\n // where to drag over\n restriction: RectResolvable<[number, number, Interaction]>\n // what part of self is allowed to drag over\n elementRect: Rect\n offset: Rect\n // restrict just before the end drag\n endOnly: boolean\n enabled?: boolean\n}\n\nexport type RestrictState = ModifierState<\n RestrictOptions,\n {\n offset: Rect\n }\n>\n\nfunction start({ rect, startOffset, state, interaction, pageCoords }: ModifierArg<RestrictState>) {\n const { options } = state\n const { elementRect } = options\n const offset: Rect = extend(\n {\n left: 0,\n top: 0,\n right: 0,\n bottom: 0,\n },\n options.offset || {},\n )\n\n if (rect && elementRect) {\n const restriction = getRestrictionRect(options.restriction, interaction, pageCoords)\n\n if (restriction) {\n const widthDiff = restriction.right - restriction.left - rect.width\n const heightDiff = restriction.bottom - restriction.top - rect.height\n\n if (widthDiff < 0) {\n offset.left += widthDiff\n offset.right += widthDiff\n }\n if (heightDiff < 0) {\n offset.top += heightDiff\n offset.bottom += heightDiff\n }\n }\n\n offset.left += startOffset.left - rect.width * elementRect.left\n offset.top += startOffset.top - rect.height * elementRect.top\n\n offset.right += startOffset.right - rect.width * (1 - elementRect.right)\n offset.bottom += startOffset.bottom - rect.height * (1 - elementRect.bottom)\n }\n\n state.offset = offset\n}\n\nfunction set({ coords, interaction, state }: ModifierArg<RestrictState>) {\n const { options, offset } = state\n\n const restriction = getRestrictionRect(options.restriction, interaction, coords)\n\n if (!restriction) return\n\n const rect = rectUtils.xywhToTlbr(restriction)\n\n coords.x = Math.max(Math.min(rect.right - offset.right, coords.x), rect.left + offset.left)\n coords.y = Math.max(Math.min(rect.bottom - offset.bottom, coords.y), rect.top + offset.top)\n}\n\nexport function getRestrictionRect(\n value: RectResolvable<[number, number, Interaction]>,\n interaction: Interaction,\n coords?: Point,\n) {\n if (is.func(value)) {\n return rectUtils.resolveRectLike(value, interaction.interactable, interaction.element, [\n coords.x,\n coords.y,\n interaction,\n ])\n } else {\n return rectUtils.resolveRectLike(value, interaction.interactable, interaction.element)\n }\n}\n\nconst defaults: RestrictOptions = {\n restriction: null,\n elementRect: null,\n offset: null,\n endOnly: false,\n enabled: false,\n}\n\nconst restrict: ModifierModule<RestrictOptions, RestrictState> = {\n start,\n set,\n defaults,\n}\n\nexport default makeModifier(restrict, 'restrict')\nexport { restrict }\n" | ||
| ], | ||
| "mappings": "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" | ||
| } | ||
| {"version":3,"file":"pointer.prod.js","sources":["pointer.ts"],"sourcesContent":["import type Interaction from '@interactjs/core/Interaction'\nimport type { RectResolvable, Rect, Point } from '@interactjs/core/types'\nimport extend from '@interactjs/utils/extend'\nimport is from '@interactjs/utils/is'\nimport * as rectUtils from '@interactjs/utils/rect'\n\nimport { makeModifier } from '../base'\nimport type { ModifierArg, ModifierModule, ModifierState } from '../types'\n\nexport interface RestrictOptions {\n // where to drag over\n restriction: RectResolvable<[number, number, Interaction]>\n // what part of self is allowed to drag over\n elementRect: Rect\n offset: Rect\n // restrict just before the end drag\n endOnly: boolean\n enabled?: boolean\n}\n\nexport type RestrictState = ModifierState<\n RestrictOptions,\n {\n offset: Rect\n }\n>\n\nfunction start({ rect, startOffset, state, interaction, pageCoords }: ModifierArg<RestrictState>) {\n const { options } = state\n const { elementRect } = options\n const offset: Rect = extend(\n {\n left: 0,\n top: 0,\n right: 0,\n bottom: 0,\n },\n options.offset || {},\n )\n\n if (rect && elementRect) {\n const restriction = getRestrictionRect(options.restriction, interaction, pageCoords)\n\n if (restriction) {\n const widthDiff = restriction.right - restriction.left - rect.width\n const heightDiff = restriction.bottom - restriction.top - rect.height\n\n if (widthDiff < 0) {\n offset.left += widthDiff\n offset.right += widthDiff\n }\n if (heightDiff < 0) {\n offset.top += heightDiff\n offset.bottom += heightDiff\n }\n }\n\n offset.left += startOffset.left - rect.width * elementRect.left\n offset.top += startOffset.top - rect.height * elementRect.top\n\n offset.right += startOffset.right - rect.width * (1 - elementRect.right)\n offset.bottom += startOffset.bottom - rect.height * (1 - elementRect.bottom)\n }\n\n state.offset = offset\n}\n\nfunction set({ coords, interaction, state }: ModifierArg<RestrictState>) {\n const { options, offset } = state\n\n const restriction = getRestrictionRect(options.restriction, interaction, coords)\n\n if (!restriction) return\n\n const rect = rectUtils.xywhToTlbr(restriction)\n\n coords.x = Math.max(Math.min(rect.right - offset.right, coords.x), rect.left + offset.left)\n coords.y = Math.max(Math.min(rect.bottom - offset.bottom, coords.y), rect.top + offset.top)\n}\n\nexport function getRestrictionRect(\n value: RectResolvable<[number, number, Interaction]>,\n interaction: Interaction,\n coords?: Point,\n) {\n if (is.func(value)) {\n return rectUtils.resolveRectLike(value, interaction.interactable, interaction.element, [\n coords.x,\n coords.y,\n interaction,\n ])\n } else {\n return rectUtils.resolveRectLike(value, interaction.interactable, interaction.element)\n }\n}\n\nconst defaults: RestrictOptions = {\n restriction: null,\n elementRect: null,\n offset: null,\n endOnly: false,\n enabled: false,\n}\n\nconst restrict: ModifierModule<RestrictOptions, RestrictState> = {\n start,\n set,\n defaults,\n}\n\nexport default makeModifier(restrict, 'restrict')\nexport { restrict }\n"],"names":["start","rect","startOffset","state","interaction","pageCoords","options","elementRect","extend","offset","left","top","right","bottom","restriction","width","widthDiff","heightDiff","set","_ref2","coords","getRestrictionRect","rectUtils","xywhToTlbr","min","x","Math","max","y","value","is","resolveRectLike","interactable","element","defaults","endOnly","restrict","restrict$1","makeModifier"],"mappings":";;uQA2BSA,IAAAA,KAAMC,EAAAC,YAAED,EAAIE,MAAED,EAAWE,YAAED,EAAKE,WAAED,GAAaC,EAAwC,cACxFC,GAAEA,eACFC,GAAEA,IAAuBC,OAAA,CACzBC,KAAAA,EAEFC,MACAC,MAAM,EACNC,OAAQ,GACRC,EAAQJ,QAAA,CAAA,GACV,GACOR,KACR,CAEGA,MAAIa,EAAIP,mBAAaD,EAAAQ,YAAAV,EAAAC,GACvB,GAAMS,EAAW,CAEjB,QAAiBA,EAAAF,MAAAE,EAAAJ,KAAAT,EAAAc,MACTC,EAAYF,EAAiBD,OAAcC,EAAKH,IAAOV,SACvDgB,EAAU,IAEZD,EAAAA,MAAaA,EACfP,EAAOC,UAETO,EAAA,IACIA,EAAAA,KAAaA,EACfR,EAAOE,UAET,CACFF,EAAAC,MAAAR,EAAAQ,KAAAT,EAAAc,MAAAR,EAAAG,KAEAD,EAAOC,KAAIR,EAAeS,IAAQV,EAAAA,OAAUM,EAAcI,IAC1DF,EAAOE,SAAmBA,MAAUV,EAAOc,OAAc,EAAAR,EAAIK,OAE7DH,EAAOG,QAAoBV,SAASD,EAAKc,QAAU,IAAeH,OAClEH,CACFN,EAAAM,OAAAA,EAGF,SAAAS,IAAAC,GAESD,IAAAA,OAAIE,EAAAhB,YAAEgB,EAAMjB,MAAEC,GAAaD,EAAmC,cAC/DG,EAAAG,OAAEH,GAASG,IAAgBY,mBAAAf,EAAAQ,YAAAV,EAAAgB,GAEjC,IAAMN,EAAcO,OAEpB,MAAgBpB,EAAAqB,UAAEC,WAAAT,GAElBM,IAAaE,KAAAA,IAAAA,KAAoBE,IAAAvB,EAACa,MAAWL,EAACG,MAAAQ,EAAAK,GAAAxB,EAAAS,KAAAD,EAAAC,MAE9CU,EAAOK,EAAIC,KAAKC,IAAID,KAAKF,IAAIvB,EAAKW,OAAcH,EAAMI,OAAQO,EAAGQ,GAAM3B,MAAQQ,EAAOC,IACtFU,CACF,SAAAC,mBAAAQ,EAAAzB,EAAAgB,GAEO,OAAAU,GAAST,kBAKMU,gBAAAF,EAAAzB,EAAA4B,aAAA5B,EAAA6B,QAAA,CAAAb,EAAAK,EAAAL,EAAAQ,EAAAxB,IAMbkB,UAAAS,gBAAAF,EAAAzB,EAAA4B,aAAA5B,EAAA6B,QAEP,CACF,MAAAC,SAAA,CAEApB,YAAkC,KAChCA,YAAa,KACbP,OAAAA,KACAE,SAAY,EACZ0B,SAAS,GAEVC,SAAA,CAEDpC,YACEA,QACAkB,mBAEF,IAACmB,WAAAC,aAAAF,SAAA,mBAEDC,sBAAoChB,mBAAae"} |
+22
-16
@@ -1,12 +0,17 @@ | ||
| "use strict"; | ||
| /** | ||
| * interact.js 1.10.26 | ||
| * | ||
| * Copyright (c) 2012-present Taye Adeyemi <dev@taye.me> | ||
| * Released under the MIT License. | ||
| * https://raw.github.com/taye/interact.js/main/LICENSE | ||
| */ | ||
| Object.defineProperty(exports, "__esModule", { | ||
| value: true | ||
| }); | ||
| exports.restrictRect = exports.default = void 0; | ||
| var _extend = _interopRequireDefault(require("../../utils/extend.js")); | ||
| var _base = require("../base"); | ||
| var _pointer = require("./pointer"); | ||
| function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | ||
| const defaults = (0, _extend.default)({ | ||
| import extend from "../../utils/extend.js"; | ||
| import { makeModifier } from '../base.js'; | ||
| import { restrict } from './pointer.js'; | ||
| import '../Modification.js'; | ||
| import "../../utils/clone.js"; | ||
| import "../../utils/rect.js"; | ||
| import "../../utils/is.js"; | ||
| const defaults = extend({ | ||
| get elementRect() { | ||
@@ -21,9 +26,10 @@ return { | ||
| set elementRect(_) {} | ||
| }, _pointer.restrict.defaults); | ||
| const restrictRect = exports.restrictRect = { | ||
| start: _pointer.restrict.start, | ||
| set: _pointer.restrict.set, | ||
| }, restrict.defaults); | ||
| const restrictRect = { | ||
| start: restrict.start, | ||
| set: restrict.set, | ||
| defaults | ||
| }; | ||
| var _default = exports.default = (0, _base.makeModifier)(restrictRect, 'restrictRect'); | ||
| //# sourceMappingURL=rect.js.map | ||
| var restrictRect$1 = makeModifier(restrictRect, 'restrictRect'); | ||
| export { restrictRect$1 as default, restrictRect }; | ||
| //# sourceMappingURL=rect.js.map |
+1
-35
@@ -1,35 +0,1 @@ | ||
| { | ||
| "version": 3, | ||
| "names": [ | ||
| "_extend", | ||
| "_interopRequireDefault", | ||
| "require", | ||
| "_base", | ||
| "_pointer", | ||
| "obj", | ||
| "__esModule", | ||
| "default", | ||
| "defaults", | ||
| "extend", | ||
| "elementRect", | ||
| "top", | ||
| "left", | ||
| "bottom", | ||
| "right", | ||
| "_", | ||
| "restrict", | ||
| "restrictRect", | ||
| "exports", | ||
| "start", | ||
| "set", | ||
| "_default", | ||
| "makeModifier" | ||
| ], | ||
| "sources": [ | ||
| "rect.ts" | ||
| ], | ||
| "sourcesContent": [ | ||
| "import extend from '@interactjs/utils/extend'\n\nimport { makeModifier } from '../base'\n\nimport { restrict } from './pointer'\n\nconst defaults = extend(\n {\n get elementRect() {\n return { top: 0, left: 0, bottom: 1, right: 1 }\n },\n set elementRect(_) {},\n },\n restrict.defaults,\n)\n\nconst restrictRect = {\n start: restrict.start,\n set: restrict.set,\n defaults,\n}\n\nexport default makeModifier(restrictRect, 'restrictRect')\nexport { restrictRect }\n" | ||
| ], | ||
| "mappings": ";;;;;;AAAA,IAAAA,OAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAAC,KAAA,GAAAD,OAAA;AAEA,IAAAE,QAAA,GAAAF,OAAA;AAAoC,SAAAD,uBAAAI,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAEpC,MAAMG,QAAQ,GAAG,IAAAC,eAAM,EACrB;EACE,IAAIC,WAAWA,CAAA,EAAG;IAChB,OAAO;MAAEC,GAAG,EAAE,CAAC;MAAEC,IAAI,EAAE,CAAC;MAAEC,MAAM,EAAE,CAAC;MAAEC,KAAK,EAAE;IAAE,CAAC;EACjD,CAAC;EACD,IAAIJ,WAAWA,CAACK,CAAC,EAAE,CAAC;AACtB,CAAC,EACDC,iBAAQ,CAACR,QACX,CAAC;AAED,MAAMS,YAAY,GAAAC,OAAA,CAAAD,YAAA,GAAG;EACnBE,KAAK,EAAEH,iBAAQ,CAACG,KAAK;EACrBC,GAAG,EAAEJ,iBAAQ,CAACI,GAAG;EACjBZ;AACF,CAAC;AAAA,IAAAa,QAAA,GAAAH,OAAA,CAAAX,OAAA,GAEc,IAAAe,kBAAY,EAACL,YAAY,EAAE,cAAc,CAAC" | ||
| } | ||
| {"version":3,"file":"rect.js","sources":["rect.ts"],"sourcesContent":["import extend from '@interactjs/utils/extend'\n\nimport { makeModifier } from '../base'\n\nimport { restrict } from './pointer'\n\nconst defaults = extend(\n {\n get elementRect() {\n return { top: 0, left: 0, bottom: 1, right: 1 }\n },\n set elementRect(_) {},\n },\n restrict.defaults,\n)\n\nconst restrictRect = {\n start: restrict.start,\n set: restrict.set,\n defaults,\n}\n\nexport default makeModifier(restrictRect, 'restrictRect')\nexport { restrictRect }\n"],"names":["defaults","extend","elementRect","top","left","bottom","right","_","restrict","restrictRect","start","set","makeModifier"],"mappings":";;;;;;;;;;;;;;;;AAMA,MAAMA,QAAQ,GAAGC,MAAM,CACrB;EACE,IAAIC,WAAWA,GAAG;IAChB,OAAO;AAAEC,MAAAA,GAAG,EAAE,CAAC;AAAEC,MAAAA,IAAI,EAAE,CAAC;AAAEC,MAAAA,MAAM,EAAE,CAAC;AAAEC,MAAAA,KAAK,EAAE,CAAA;KAAG,CAAA;GAChD;AACD,EAAA,IAAIJ,WAAWA,CAACK,CAAC,EAAE,EAAC;AACtB,CAAC,EACDC,QAAQ,CAACR,QACX,CAAC,CAAA;AAED,MAAMS,YAAY,GAAG;EACnBC,KAAK,EAAEF,QAAQ,CAACE,KAAK;EACrBC,GAAG,EAAEH,QAAQ,CAACG,GAAG;AACjBX,EAAAA,QAAAA;AACF,EAAC;AAED,qBAAeY,YAAY,CAACH,YAAY,EAAE,cAAc,CAAC;;;;"} |
@@ -1,2 +0,4 @@ | ||
| Object.defineProperty(exports,"__esModule",{value:!0}),exports.restrictRect=exports.default=void 0;var e,t=(e=require("../../utils/extend.prod.js"))&&e.__esModule?e:{default:e},r=require("../base"),s=require("./pointer");const i=(0,t.default)({get elementRect(){return{top:0,left:0,bottom:1,right:1}},set elementRect(e){}},s.restrict.defaults),o=exports.restrictRect={start:s.restrict.start,set:s.restrict.set,defaults:i};exports.default=(0,r.makeModifier)(o,"restrictRect"); | ||
| //# sourceMappingURL=rect.prod.js.map | ||
| /* interact.js 1.10.26 | https://raw.github.com/taye/interact.js/main/LICENSE */ | ||
| import extend from"../../utils/extend.prod.js";import{makeModifier}from"../base.prod.js";import{restrict}from"./pointer.prod.js";import"../Modification.prod.js";import"../../utils/clone.prod.js";import"../../utils/rect.prod.js";import"../../utils/is.prod.js";const defaults=extend({get elementRect(){return{top:0,left:0,bottom:1,right:1}},set elementRect(t){}},restrict.defaults),restrictRect={start:restrict.start,set:restrict.set,defaults:defaults};var restrictRect$1=makeModifier(restrictRect,"restrictRect");export{restrictRect$1 as default,restrictRect}; | ||
| //# sourceMappingURL=rect.prod.js.map |
@@ -1,33 +0,1 @@ | ||
| { | ||
| "version": 3, | ||
| "names": [ | ||
| "obj", | ||
| "_extendProd", | ||
| "require", | ||
| "__esModule", | ||
| "default", | ||
| "_base", | ||
| "_pointer", | ||
| "defaults", | ||
| "extend", | ||
| "elementRect", | ||
| "top", | ||
| "left", | ||
| "bottom", | ||
| "right", | ||
| "_", | ||
| "restrict", | ||
| "restrictRect", | ||
| "exports", | ||
| "start", | ||
| "set", | ||
| "makeModifier" | ||
| ], | ||
| "sources": [ | ||
| "rect.ts" | ||
| ], | ||
| "sourcesContent": [ | ||
| "import extend from '@interactjs/utils/extend'\n\nimport { makeModifier } from '../base'\n\nimport { restrict } from './pointer'\n\nconst defaults = extend(\n {\n get elementRect() {\n return { top: 0, left: 0, bottom: 1, right: 1 }\n },\n set elementRect(_) {},\n },\n restrict.defaults,\n)\n\nconst restrictRect = {\n start: restrict.start,\n set: restrict.set,\n defaults,\n}\n\nexport default makeModifier(restrictRect, 'restrictRect')\nexport { restrictRect }\n" | ||
| ], | ||
| "mappings": "mGAAA,IAIoCA,EAJpCC,GAIoCD,EAJpCE,QAAA,gCAIoCF,EAAAG,WAAAH,EAAA,CAAAI,QAAAJ,GAFpCK,EAAAH,QAAA,WAEAI,EAAAJ,QAAA,aAEA,MAAMK,GAAW,EAAAC,WACf,CACE,eAAIC,GACF,MAAO,CAAEC,IAAK,EAAGC,KAAM,EAAGC,OAAQ,EAAGC,MAAO,EAC9C,EACA,eAAIJ,CAAYK,GAAI,GAEtBC,WAASR,UAGLS,EAAYC,QAAAD,aAAG,CACnBE,MAAOH,WAASG,MAChBC,IAAKJ,WAASI,IACdZ,YACDU,QAAAb,SAEc,EAAAgB,gBAAaJ,EAAc" | ||
| } | ||
| {"version":3,"file":"rect.prod.js","sources":["rect.ts"],"sourcesContent":["import extend from '@interactjs/utils/extend'\n\nimport { makeModifier } from '../base'\n\nimport { restrict } from './pointer'\n\nconst defaults = extend(\n {\n get elementRect() {\n return { top: 0, left: 0, bottom: 1, right: 1 }\n },\n set elementRect(_) {},\n },\n restrict.defaults,\n)\n\nconst restrictRect = {\n start: restrict.start,\n set: restrict.set,\n defaults,\n}\n\nexport default makeModifier(restrictRect, 'restrictRect')\nexport { restrictRect }\n"],"names":["defaults","top","left","bottom","elementRect","_","restrict","start","set","restrictRect$1","makeModifier","restrictRect"],"mappings":";;0RAMMA,eAAAA,GAEF,OACSC,IAAA,EAAEA,KAAM,EAAEC,OAAO,EAAEC,UAC3B,eAAAC,CAAAC,GAAA,GACGD,SAAAA,UAENE,aACD,CAEDC,eAAkBA,MAChBA,IAAKD,SAAUE,IACfA,mBAEF,IAACC,eAAAC,aAAAC,aAAA,uBAEDF,0BAAwCE"} |
+25
-22
@@ -1,15 +0,17 @@ | ||
| "use strict"; | ||
| /** | ||
| * interact.js 1.10.26 | ||
| * | ||
| * Copyright (c) 2012-present Taye Adeyemi <dev@taye.me> | ||
| * Released under the MIT License. | ||
| * https://raw.github.com/taye/interact.js/main/LICENSE | ||
| */ | ||
| Object.defineProperty(exports, "__esModule", { | ||
| value: true | ||
| }); | ||
| exports.restrictSize = exports.default = void 0; | ||
| var _extend = _interopRequireDefault(require("../../utils/extend.js")); | ||
| var rectUtils = _interopRequireWildcard(require("../../utils/rect.js")); | ||
| var _base = require("../base"); | ||
| var _edges = require("./edges"); | ||
| var _pointer = require("./pointer"); | ||
| function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); } | ||
| function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; } | ||
| function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | ||
| import extend from "../../utils/extend.js"; | ||
| import * as rectUtils from "../../utils/rect.js"; | ||
| import { makeModifier } from '../base.js'; | ||
| import { restrictEdges } from './edges.js'; | ||
| import { getRestrictionRect } from './pointer.js'; | ||
| import '../Modification.js'; | ||
| import "../../utils/clone.js"; | ||
| import "../../utils/is.js"; | ||
| const noMin = { | ||
@@ -24,3 +26,3 @@ width: -Infinity, | ||
| function start(arg) { | ||
| return _edges.restrictEdges.start(arg); | ||
| return restrictEdges.start(arg); | ||
| } | ||
@@ -40,8 +42,8 @@ function set(arg) { | ||
| } | ||
| const minSize = rectUtils.tlbrToXywh((0, _pointer.getRestrictionRect)(options.min, interaction, arg.coords)) || noMin; | ||
| const maxSize = rectUtils.tlbrToXywh((0, _pointer.getRestrictionRect)(options.max, interaction, arg.coords)) || noMax; | ||
| const minSize = rectUtils.tlbrToXywh(getRestrictionRect(options.min, interaction, arg.coords)) || noMin; | ||
| const maxSize = rectUtils.tlbrToXywh(getRestrictionRect(options.max, interaction, arg.coords)) || noMax; | ||
| state.options = { | ||
| endOnly: options.endOnly, | ||
| inner: (0, _extend.default)({}, _edges.restrictEdges.noInner), | ||
| outer: (0, _extend.default)({}, _edges.restrictEdges.noOuter) | ||
| inner: extend({}, restrictEdges.noInner), | ||
| outer: extend({}, restrictEdges.noOuter) | ||
| }; | ||
@@ -62,3 +64,3 @@ if (edges.top) { | ||
| } | ||
| _edges.restrictEdges.set(arg); | ||
| restrictEdges.set(arg); | ||
| state.options = options; | ||
@@ -72,3 +74,3 @@ } | ||
| }; | ||
| const restrictSize = exports.restrictSize = { | ||
| const restrictSize = { | ||
| start, | ||
@@ -78,3 +80,4 @@ set, | ||
| }; | ||
| var _default = exports.default = (0, _base.makeModifier)(restrictSize, 'restrictSize'); | ||
| //# sourceMappingURL=size.js.map | ||
| var restrictSize$1 = makeModifier(restrictSize, 'restrictSize'); | ||
| export { restrictSize$1 as default, restrictSize }; | ||
| //# sourceMappingURL=size.js.map |
+1
-78
@@ -1,78 +0,1 @@ | ||
| { | ||
| "version": 3, | ||
| "names": [ | ||
| "_extend", | ||
| "_interopRequireDefault", | ||
| "require", | ||
| "rectUtils", | ||
| "_interopRequireWildcard", | ||
| "_base", | ||
| "_edges", | ||
| "_pointer", | ||
| "_getRequireWildcardCache", | ||
| "e", | ||
| "WeakMap", | ||
| "r", | ||
| "t", | ||
| "__esModule", | ||
| "default", | ||
| "has", | ||
| "get", | ||
| "n", | ||
| "__proto__", | ||
| "a", | ||
| "Object", | ||
| "defineProperty", | ||
| "getOwnPropertyDescriptor", | ||
| "u", | ||
| "prototype", | ||
| "hasOwnProperty", | ||
| "call", | ||
| "i", | ||
| "set", | ||
| "obj", | ||
| "noMin", | ||
| "width", | ||
| "Infinity", | ||
| "height", | ||
| "noMax", | ||
| "start", | ||
| "arg", | ||
| "restrictEdges", | ||
| "interaction", | ||
| "state", | ||
| "rect", | ||
| "edges", | ||
| "options", | ||
| "minSize", | ||
| "tlbrToXywh", | ||
| "getRestrictionRect", | ||
| "min", | ||
| "coords", | ||
| "maxSize", | ||
| "max", | ||
| "endOnly", | ||
| "inner", | ||
| "extend", | ||
| "noInner", | ||
| "outer", | ||
| "noOuter", | ||
| "top", | ||
| "bottom", | ||
| "left", | ||
| "right", | ||
| "defaults", | ||
| "enabled", | ||
| "restrictSize", | ||
| "exports", | ||
| "_default", | ||
| "makeModifier" | ||
| ], | ||
| "sources": [ | ||
| "size.ts" | ||
| ], | ||
| "sourcesContent": [ | ||
| "import type { Point, Rect, Size } from '@interactjs/core/types'\nimport extend from '@interactjs/utils/extend'\nimport * as rectUtils from '@interactjs/utils/rect'\n\nimport { makeModifier } from '../base'\nimport type { ModifierArg, ModifierState } from '../types'\n\nimport type { RestrictEdgesState } from './edges'\nimport { restrictEdges } from './edges'\nimport type { RestrictOptions } from './pointer'\nimport { getRestrictionRect } from './pointer'\n\nconst noMin = { width: -Infinity, height: -Infinity }\nconst noMax = { width: +Infinity, height: +Infinity }\n\nexport interface RestrictSizeOptions {\n min?: Size | Point | RestrictOptions['restriction']\n max?: Size | Point | RestrictOptions['restriction']\n endOnly: boolean\n enabled?: boolean\n}\n\nfunction start(arg: ModifierArg<RestrictEdgesState>) {\n return restrictEdges.start(arg)\n}\n\nexport type RestrictSizeState = RestrictEdgesState &\n ModifierState<\n RestrictSizeOptions & { inner: Rect; outer: Rect },\n {\n min: Rect\n max: Rect\n }\n >\n\nfunction set(arg: ModifierArg<RestrictSizeState>) {\n const { interaction, state, rect, edges } = arg\n const { options } = state\n\n if (!edges) {\n return\n }\n\n const minSize =\n rectUtils.tlbrToXywh(getRestrictionRect(options.min as any, interaction, arg.coords)) || noMin\n const maxSize =\n rectUtils.tlbrToXywh(getRestrictionRect(options.max as any, interaction, arg.coords)) || noMax\n\n state.options = {\n endOnly: options.endOnly,\n inner: extend({}, restrictEdges.noInner),\n outer: extend({}, restrictEdges.noOuter),\n }\n\n if (edges.top) {\n state.options.inner.top = rect.bottom - minSize.height\n state.options.outer.top = rect.bottom - maxSize.height\n } else if (edges.bottom) {\n state.options.inner.bottom = rect.top + minSize.height\n state.options.outer.bottom = rect.top + maxSize.height\n }\n if (edges.left) {\n state.options.inner.left = rect.right - minSize.width\n state.options.outer.left = rect.right - maxSize.width\n } else if (edges.right) {\n state.options.inner.right = rect.left + minSize.width\n state.options.outer.right = rect.left + maxSize.width\n }\n\n restrictEdges.set(arg)\n\n state.options = options\n}\n\nconst defaults: RestrictSizeOptions = {\n min: null,\n max: null,\n endOnly: false,\n enabled: false,\n}\n\nconst restrictSize = {\n start,\n set,\n defaults,\n}\n\nexport default makeModifier(restrictSize, 'restrictSize')\nexport { restrictSize }\n" | ||
| ], | ||
| "mappings": "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" | ||
| } | ||
| {"version":3,"file":"size.js","sources":["size.ts"],"sourcesContent":["import type { Point, Rect, Size } from '@interactjs/core/types'\nimport extend from '@interactjs/utils/extend'\nimport * as rectUtils from '@interactjs/utils/rect'\n\nimport { makeModifier } from '../base'\nimport type { ModifierArg, ModifierState } from '../types'\n\nimport type { RestrictEdgesState } from './edges'\nimport { restrictEdges } from './edges'\nimport type { RestrictOptions } from './pointer'\nimport { getRestrictionRect } from './pointer'\n\nconst noMin = { width: -Infinity, height: -Infinity }\nconst noMax = { width: +Infinity, height: +Infinity }\n\nexport interface RestrictSizeOptions {\n min?: Size | Point | RestrictOptions['restriction']\n max?: Size | Point | RestrictOptions['restriction']\n endOnly: boolean\n enabled?: boolean\n}\n\nfunction start(arg: ModifierArg<RestrictEdgesState>) {\n return restrictEdges.start(arg)\n}\n\nexport type RestrictSizeState = RestrictEdgesState &\n ModifierState<\n RestrictSizeOptions & { inner: Rect; outer: Rect },\n {\n min: Rect\n max: Rect\n }\n >\n\nfunction set(arg: ModifierArg<RestrictSizeState>) {\n const { interaction, state, rect, edges } = arg\n const { options } = state\n\n if (!edges) {\n return\n }\n\n const minSize =\n rectUtils.tlbrToXywh(getRestrictionRect(options.min as any, interaction, arg.coords)) || noMin\n const maxSize =\n rectUtils.tlbrToXywh(getRestrictionRect(options.max as any, interaction, arg.coords)) || noMax\n\n state.options = {\n endOnly: options.endOnly,\n inner: extend({}, restrictEdges.noInner),\n outer: extend({}, restrictEdges.noOuter),\n }\n\n if (edges.top) {\n state.options.inner.top = rect.bottom - minSize.height\n state.options.outer.top = rect.bottom - maxSize.height\n } else if (edges.bottom) {\n state.options.inner.bottom = rect.top + minSize.height\n state.options.outer.bottom = rect.top + maxSize.height\n }\n if (edges.left) {\n state.options.inner.left = rect.right - minSize.width\n state.options.outer.left = rect.right - maxSize.width\n } else if (edges.right) {\n state.options.inner.right = rect.left + minSize.width\n state.options.outer.right = rect.left + maxSize.width\n }\n\n restrictEdges.set(arg)\n\n state.options = options\n}\n\nconst defaults: RestrictSizeOptions = {\n min: null,\n max: null,\n endOnly: false,\n enabled: false,\n}\n\nconst restrictSize = {\n start,\n set,\n defaults,\n}\n\nexport default makeModifier(restrictSize, 'restrictSize')\nexport { restrictSize }\n"],"names":["noMin","width","Infinity","height","noMax","start","arg","restrictEdges","set","interaction","state","rect","edges","options","minSize","rectUtils","tlbrToXywh","getRestrictionRect","min","coords","maxSize","max","endOnly","inner","extend","noInner","outer","noOuter","top","bottom","left","right","defaults","enabled","restrictSize","makeModifier"],"mappings":"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"} |
@@ -1,2 +0,4 @@ | ||
| Object.defineProperty(exports,"__esModule",{value:!0}),exports.restrictSize=exports.default=void 0;var t,e=(t=require("../../utils/extend.prod.js"))&&t.__esModule?t:{default:t},r=((t,e)=>{if(t&&t.__esModule)return t;if(null===t||"object"!=typeof t&&"function"!=typeof t)return{default:t};var r=s(e);if(r&&r.has(t))return r.get(t);var o={__proto__:null},i=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var n in t)if("default"!==n&&Object.prototype.hasOwnProperty.call(t,n)){var u=i?Object.getOwnPropertyDescriptor(t,n):null;u&&(u.get||u.set)?Object.defineProperty(o,n,u):o[n]=t[n]}return o.default=t,r&&r.set(t,o),o})(require("../../utils/rect.prod.js")),o=require("../base"),i=require("./edges"),n=require("./pointer");function s(t){if("function"!=typeof WeakMap)return null;var e=new WeakMap,r=new WeakMap;return(s=t=>t?r:e)(t)}const u={width:-1/0,height:-1/0},p={width:1/0,height:1/0},l=exports.restrictSize={start:t=>i.restrictEdges.start(t),set(t){const{interaction:o,state:s,rect:l,edges:d}=t,{options:a}=s;if(!d)return;const c=r.tlbrToXywh((0,n.getRestrictionRect)(a.min,o,t.coords))||u,f=r.tlbrToXywh((0,n.getRestrictionRect)(a.max,o,t.coords))||p;s.options={endOnly:a.endOnly,inner:(0,e.default)({},i.restrictEdges.noInner),outer:(0,e.default)({},i.restrictEdges.noOuter)},d.top?(s.options.inner.top=l.bottom-c.height,s.options.outer.top=l.bottom-f.height):d.bottom&&(s.options.inner.bottom=l.top+c.height,s.options.outer.bottom=l.top+f.height),d.left?(s.options.inner.left=l.right-c.width,s.options.outer.left=l.right-f.width):d.right&&(s.options.inner.right=l.left+c.width,s.options.outer.right=l.left+f.width),i.restrictEdges.set(t),s.options=a},defaults:{min:null,max:null,endOnly:!1,enabled:!1}};exports.default=(0,o.makeModifier)(l,"restrictSize"); | ||
| //# sourceMappingURL=size.prod.js.map | ||
| /* interact.js 1.10.26 | https://raw.github.com/taye/interact.js/main/LICENSE */ | ||
| import extend from"../../utils/extend.prod.js";import*as rectUtils from"../../utils/rect.prod.js";import{makeModifier}from"../base.prod.js";import{restrictEdges}from"./edges.prod.js";import{getRestrictionRect}from"./pointer.prod.js";import"../Modification.prod.js";import"../../utils/clone.prod.js";import"../../utils/is.prod.js";const noMin={width:-1/0,height:-1/0},noMax={width:1/0,height:1/0};function start(t){return restrictEdges.start(t)}function set(t){const{interaction:e,state:o,rect:i,edges:r}=t,{options:s}=o;if(!r)return;const n=rectUtils.tlbrToXywh(getRestrictionRect(s.min,e,t.coords))||noMin,d=rectUtils.tlbrToXywh(getRestrictionRect(s.max,e,t.coords))||noMax;o.options={endOnly:s.endOnly,inner:extend({},restrictEdges.noInner),outer:extend({},restrictEdges.noOuter)},r.top?(o.options.inner.top=i.bottom-n.height,o.options.outer.top=i.bottom-d.height):r.bottom&&(o.options.inner.bottom=i.top+n.height,o.options.outer.bottom=i.top+d.height),r.left?(o.options.inner.left=i.right-n.width,o.options.outer.left=i.right-d.width):r.right&&(o.options.inner.right=i.left+n.width,o.options.outer.right=i.left+d.width),restrictEdges.set(t),o.options=s}const defaults={min:null,max:null,endOnly:!1,enabled:!1},restrictSize={start:start,set:set,defaults:defaults};var restrictSize$1=makeModifier(restrictSize,"restrictSize");export{restrictSize$1 as default,restrictSize}; | ||
| //# sourceMappingURL=size.prod.js.map |
@@ -1,75 +0,1 @@ | ||
| { | ||
| "version": 3, | ||
| "names": [ | ||
| "obj", | ||
| "_extendProd", | ||
| "require", | ||
| "__esModule", | ||
| "default", | ||
| "rectUtils", | ||
| "e", | ||
| "r", | ||
| "t", | ||
| "_getRequireWildcardCache", | ||
| "has", | ||
| "get", | ||
| "n", | ||
| "__proto__", | ||
| "a", | ||
| "Object", | ||
| "defineProperty", | ||
| "getOwnPropertyDescriptor", | ||
| "u", | ||
| "prototype", | ||
| "hasOwnProperty", | ||
| "call", | ||
| "i", | ||
| "set", | ||
| "_interopRequireWildcard", | ||
| "_base", | ||
| "_edges", | ||
| "_pointer", | ||
| "WeakMap", | ||
| "noMin", | ||
| "width", | ||
| "height", | ||
| "noMax", | ||
| "restrictSize", | ||
| "exports", | ||
| "start", | ||
| "arg", | ||
| "restrictEdges", | ||
| "interaction", | ||
| "state", | ||
| "rect", | ||
| "edges", | ||
| "options", | ||
| "minSize", | ||
| "tlbrToXywh", | ||
| "getRestrictionRect", | ||
| "min", | ||
| "coords", | ||
| "maxSize", | ||
| "max", | ||
| "endOnly", | ||
| "inner", | ||
| "extend", | ||
| "noInner", | ||
| "outer", | ||
| "noOuter", | ||
| "top", | ||
| "bottom", | ||
| "left", | ||
| "right", | ||
| "defaults", | ||
| "enabled", | ||
| "makeModifier" | ||
| ], | ||
| "sources": [ | ||
| "size.ts" | ||
| ], | ||
| "sourcesContent": [ | ||
| "import type { Point, Rect, Size } from '@interactjs/core/types'\nimport extend from '@interactjs/utils/extend'\nimport * as rectUtils from '@interactjs/utils/rect'\n\nimport { makeModifier } from '../base'\nimport type { ModifierArg, ModifierState } from '../types'\n\nimport type { RestrictEdgesState } from './edges'\nimport { restrictEdges } from './edges'\nimport type { RestrictOptions } from './pointer'\nimport { getRestrictionRect } from './pointer'\n\nconst noMin = { width: -Infinity, height: -Infinity }\nconst noMax = { width: +Infinity, height: +Infinity }\n\nexport interface RestrictSizeOptions {\n min?: Size | Point | RestrictOptions['restriction']\n max?: Size | Point | RestrictOptions['restriction']\n endOnly: boolean\n enabled?: boolean\n}\n\nfunction start(arg: ModifierArg<RestrictEdgesState>) {\n return restrictEdges.start(arg)\n}\n\nexport type RestrictSizeState = RestrictEdgesState &\n ModifierState<\n RestrictSizeOptions & { inner: Rect; outer: Rect },\n {\n min: Rect\n max: Rect\n }\n >\n\nfunction set(arg: ModifierArg<RestrictSizeState>) {\n const { interaction, state, rect, edges } = arg\n const { options } = state\n\n if (!edges) {\n return\n }\n\n const minSize =\n rectUtils.tlbrToXywh(getRestrictionRect(options.min as any, interaction, arg.coords)) || noMin\n const maxSize =\n rectUtils.tlbrToXywh(getRestrictionRect(options.max as any, interaction, arg.coords)) || noMax\n\n state.options = {\n endOnly: options.endOnly,\n inner: extend({}, restrictEdges.noInner),\n outer: extend({}, restrictEdges.noOuter),\n }\n\n if (edges.top) {\n state.options.inner.top = rect.bottom - minSize.height\n state.options.outer.top = rect.bottom - maxSize.height\n } else if (edges.bottom) {\n state.options.inner.bottom = rect.top + minSize.height\n state.options.outer.bottom = rect.top + maxSize.height\n }\n if (edges.left) {\n state.options.inner.left = rect.right - minSize.width\n state.options.outer.left = rect.right - maxSize.width\n } else if (edges.right) {\n state.options.inner.right = rect.left + minSize.width\n state.options.outer.right = rect.left + maxSize.width\n }\n\n restrictEdges.set(arg)\n\n state.options = options\n}\n\nconst defaults: RestrictSizeOptions = {\n min: null,\n max: null,\n endOnly: false,\n enabled: false,\n}\n\nconst restrictSize = {\n start,\n set,\n defaults,\n}\n\nexport default makeModifier(restrictSize, 'restrictSize')\nexport { restrictSize }\n" | ||
| ], | ||
| "mappings": "mGACA,IAS8CA,EAT9CC,GAS8CD,EAT9CE,QAAA,gCAS8CF,EAAAG,WAAAH,EAAA,CAAAI,QAAAJ,GAR9CK,EAQ8C,EAAAC,EAAAC,KAAA,GAAAD,KAAAH,WAAA,OAAAG,EAAA,UAAAA,GAAA,iBAAAA,GAAA,mBAAAA,EAAA,OAAAF,QAAAE,GAAA,IAAAE,EAAAC,EAAAF,GAAA,GAAAC,KAAAE,IAAAJ,GAAA,OAAAE,EAAAG,IAAAL,GAAA,IAAAM,EAAA,CAAAC,UAAA,MAAAC,EAAAC,OAAAC,gBAAAD,OAAAE,yBAAA,QAAAC,KAAAZ,EAAA,eAAAY,GAAAH,OAAAI,UAAAC,eAAAC,KAAAf,EAAAY,GAAA,KAAAI,EAAAR,EAAAC,OAAAE,yBAAAX,EAAAY,GAAA,KAAAI,MAAAX,KAAAW,EAAAC,KAAAR,OAAAC,eAAAJ,EAAAM,EAAAI,GAAAV,EAAAM,GAAAZ,EAAAY,EAAA,QAAAN,EAAAR,QAAAE,EAAAE,KAAAe,IAAAjB,EAAAM,IAAA,EAR9CY,CAAAtB,QAAA,6BAEAuB,EAAAvB,QAAA,WAIAwB,EAAAxB,QAAA,WAEAyB,EAAAzB,QAAA,aAA8C,SAAAO,EAAAH,GAAA,sBAAAsB,QAAA,gBAAArB,EAAA,IAAAqB,QAAApB,EAAA,IAAAoB,QAAA,OAAAnB,EAAAH,KAAAE,EAAAD,GAAAD,EAAA,CAE9C,MAAMuB,EAAQ,CAAEC,OAAO,IAAWC,QAAQ,KACpCC,EAAQ,CAAEF,MAAO,IAAWC,OAAQ,KAoEpCE,EAAYC,QAAAD,aAAG,CACnBE,MA5DaC,GACNC,gBAAcF,MAAMC,GA4D3Bb,IAhDWa,GACX,MAAME,YAAEA,EAAWC,MAAEA,EAAKC,KAAEA,EAAIC,MAAEA,GAAUL,GACtCM,QAAEA,GAAYH,EAEpB,IAAKE,EACH,OAGF,MAAME,EACJtC,EAAUuC,YAAW,EAAAC,sBAAmBH,EAAQI,IAAYR,EAAaF,EAAIW,UAAYlB,EACrFmB,EACJ3C,EAAUuC,YAAW,EAAAC,sBAAmBH,EAAQO,IAAYX,EAAaF,EAAIW,UAAYf,EAE3FO,EAAMG,QAAU,CACdQ,QAASR,EAAQQ,QACjBC,OAAO,EAAAC,WAAO,CAAC,EAAGf,gBAAcgB,SAChCC,OAAO,EAAAF,WAAO,CAAC,EAAGf,gBAAckB,UAG9Bd,EAAMe,KACRjB,EAAMG,QAAQS,MAAMK,IAAMhB,EAAKiB,OAASd,EAAQZ,OAChDQ,EAAMG,QAAQY,MAAME,IAAMhB,EAAKiB,OAAST,EAAQjB,QACvCU,EAAMgB,SACflB,EAAMG,QAAQS,MAAMM,OAASjB,EAAKgB,IAAMb,EAAQZ,OAChDQ,EAAMG,QAAQY,MAAMG,OAASjB,EAAKgB,IAAMR,EAAQjB,QAE9CU,EAAMiB,MACRnB,EAAMG,QAAQS,MAAMO,KAAOlB,EAAKmB,MAAQhB,EAAQb,MAChDS,EAAMG,QAAQY,MAAMI,KAAOlB,EAAKmB,MAAQX,EAAQlB,OACvCW,EAAMkB,QACfpB,EAAMG,QAAQS,MAAMQ,MAAQnB,EAAKkB,KAAOf,EAAQb,MAChDS,EAAMG,QAAQY,MAAMK,MAAQnB,EAAKkB,KAAOV,EAAQlB,OAGlDO,gBAAcd,IAAIa,GAElBG,EAAMG,QAAUA,CAClB,EAYEkB,SAVoC,CACpCd,IAAK,KACLG,IAAK,KACLC,SAAS,EACTW,SAAS,IAOV3B,QAAA9B,SAEc,EAAA0D,gBAAa7B,EAAc" | ||
| } | ||
| {"version":3,"file":"size.prod.js","sources":["size.ts"],"sourcesContent":["import type { Point, Rect, Size } from '@interactjs/core/types'\nimport extend from '@interactjs/utils/extend'\nimport * as rectUtils from '@interactjs/utils/rect'\n\nimport { makeModifier } from '../base'\nimport type { ModifierArg, ModifierState } from '../types'\n\nimport type { RestrictEdgesState } from './edges'\nimport { restrictEdges } from './edges'\nimport type { RestrictOptions } from './pointer'\nimport { getRestrictionRect } from './pointer'\n\nconst noMin = { width: -Infinity, height: -Infinity }\nconst noMax = { width: +Infinity, height: +Infinity }\n\nexport interface RestrictSizeOptions {\n min?: Size | Point | RestrictOptions['restriction']\n max?: Size | Point | RestrictOptions['restriction']\n endOnly: boolean\n enabled?: boolean\n}\n\nfunction start(arg: ModifierArg<RestrictEdgesState>) {\n return restrictEdges.start(arg)\n}\n\nexport type RestrictSizeState = RestrictEdgesState &\n ModifierState<\n RestrictSizeOptions & { inner: Rect; outer: Rect },\n {\n min: Rect\n max: Rect\n }\n >\n\nfunction set(arg: ModifierArg<RestrictSizeState>) {\n const { interaction, state, rect, edges } = arg\n const { options } = state\n\n if (!edges) {\n return\n }\n\n const minSize =\n rectUtils.tlbrToXywh(getRestrictionRect(options.min as any, interaction, arg.coords)) || noMin\n const maxSize =\n rectUtils.tlbrToXywh(getRestrictionRect(options.max as any, interaction, arg.coords)) || noMax\n\n state.options = {\n endOnly: options.endOnly,\n inner: extend({}, restrictEdges.noInner),\n outer: extend({}, restrictEdges.noOuter),\n }\n\n if (edges.top) {\n state.options.inner.top = rect.bottom - minSize.height\n state.options.outer.top = rect.bottom - maxSize.height\n } else if (edges.bottom) {\n state.options.inner.bottom = rect.top + minSize.height\n state.options.outer.bottom = rect.top + maxSize.height\n }\n if (edges.left) {\n state.options.inner.left = rect.right - minSize.width\n state.options.outer.left = rect.right - maxSize.width\n } else if (edges.right) {\n state.options.inner.right = rect.left + minSize.width\n state.options.outer.right = rect.left + maxSize.width\n }\n\n restrictEdges.set(arg)\n\n state.options = options\n}\n\nconst defaults: RestrictSizeOptions = {\n min: null,\n max: null,\n endOnly: false,\n enabled: false,\n}\n\nconst restrictSize = {\n start,\n set,\n defaults,\n}\n\nexport default makeModifier(restrictSize, 'restrictSize')\nexport { restrictSize }\n"],"names":["width","Infinity","noMax","start","arg","set","interaction","state","rect","edges","options","minSize","rectUtils","tlbrToXywh","getRestrictionRect","min","coords","noMin","maxSize","endOnly","extend","restrictEdges","noInner","inner","top","bottom","height","left","right","defaults","max","restrictSize","restrictSize$1","makeModifier"],"mappings":";;uVAYAA,WAAgBA,QAAgBC,KAAqBC,MAAA,CACrDF,UAAgBA,OAAgBC,KAAoB,SAACE,MAAAC,GAS5CD,OAAAA,cAA4CA,MAAAC,EACnD,CACF,SAAAC,IAAAD,GAWSC,MAAAA,YACDC,EAAAC,MAAED,EAAWE,KAAED,EAAKE,MAAED,GAAMC,WAC5BC,GAAEA,EAAS,MAEjB,OAEA,MAAAC,EAAAC,UAAAC,WAAAC,mBAAAJ,EAAAK,IAAAT,EAAAF,EAAAY,UAAAC,MAEMN,EACJC,UAAUC,WAAWC,mBAAmBJ,EAAQK,IAAYT,EAAaF,EAAIY,UAAYC,MAC3FV,EAAMW,QACJN,CAEFL,QAAMG,EAAUS,QACdA,MAAOC,OAAS,CAAA,EAAQC,cAAAC,SACxBC,MAAOH,OAAO,GAAIC,cAAcC,UAEjCb,EAAAe,KAEGf,EAAAA,QAAWc,MAAAC,IAAAhB,EAAAiB,OAAAd,EAAAe,OACbnB,EAAMG,QAAQa,MAAMC,IAAMhB,EAAKiB,OAASd,EAAQe,QACnCjB,WACRF,EAAAG,QAASa,aAASf,EAAAgB,IAAAb,EAAAe,OACvBnB,EAAMG,QAAQa,MAAME,OAASjB,EAAKgB,IAAMb,EAAQe,QAElDjB,EAAAkB,MACIlB,EAAAA,QAAYc,MAAAI,KAAAnB,EAAAoB,MAAAjB,EAAAX,MACdO,EAAMG,QAAQa,MAAMI,KAAOnB,EAAKoB,MAAQjB,EAAQX,OACnCS,UACRF,EAAAG,QAASa,MAAMK,MAAEpB,EAAAmB,KAAAhB,EAAAX,MACtBO,EAAMG,QAAQa,MAAMK,MAAQpB,EAAKmB,KAAOhB,EAAQX,OAElDqB,cAAAhB,IAAAD,GAEAiB,UAAchB,EAGhB,MAAAwB,SAAA,CAEAd,SACEA,IAAK,KACLe,SAAS,EACTX,SAAS,GAEVY,aAAA,CAED5B,YACEA,QACAE,mBAEF,IAAC2B,eAAAC,aAAAF,aAAA,uBAEDC,0BAAwCD"} |
@@ -1,14 +0,10 @@ | ||
| "use strict"; | ||
| /** | ||
| * interact.js 1.10.26 | ||
| * | ||
| * Copyright (c) 2012-present Taye Adeyemi <dev@taye.me> | ||
| * Released under the MIT License. | ||
| * https://raw.github.com/taye/interact.js/main/LICENSE | ||
| */ | ||
| Object.defineProperty(exports, "__esModule", { | ||
| value: true | ||
| }); | ||
| Object.defineProperty(exports, "default", { | ||
| enumerable: true, | ||
| get: function () { | ||
| return _noop.default; | ||
| } | ||
| }); | ||
| var _noop = _interopRequireDefault(require("../noop")); | ||
| function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | ||
| //# sourceMappingURL=rubberband.js.map | ||
| export { default } from '../noop.js'; | ||
| //# sourceMappingURL=rubberband.js.map |
@@ -1,18 +0,1 @@ | ||
| { | ||
| "version": 3, | ||
| "names": [ | ||
| "_noop", | ||
| "_interopRequireDefault", | ||
| "require", | ||
| "obj", | ||
| "__esModule", | ||
| "default" | ||
| ], | ||
| "sources": [ | ||
| "rubberband.ts" | ||
| ], | ||
| "sourcesContent": [ | ||
| "export { default } from '../noop'\n" | ||
| ], | ||
| "mappings": ";;;;;;;;;;;AAAA,IAAAA,KAAA,GAAAC,sBAAA,CAAAC,OAAA;AAAiC,SAAAD,uBAAAE,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA" | ||
| } | ||
| {"version":3,"file":"rubberband.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;"} |
@@ -1,2 +0,4 @@ | ||
| Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"default",{enumerable:!0,get:()=>r.default});var e,r=(e=require("../noop"))&&e.__esModule?e:{default:e}; | ||
| //# sourceMappingURL=rubberband.prod.js.map | ||
| /* interact.js 1.10.26 | https://raw.github.com/taye/interact.js/main/LICENSE */ | ||
| export{default}from"../noop.prod.js"; | ||
| //# sourceMappingURL=rubberband.prod.js.map |
@@ -1,17 +0,1 @@ | ||
| { | ||
| "version": 3, | ||
| "names": [ | ||
| "obj", | ||
| "_noop", | ||
| "require", | ||
| "__esModule", | ||
| "default" | ||
| ], | ||
| "sources": [ | ||
| "rubberband.ts" | ||
| ], | ||
| "sourcesContent": [ | ||
| "export { default } from '../noop'\n" | ||
| ], | ||
| "mappings": "kIAAA,IAAiCA,EAAjCC,GAAiCD,EAAjCE,QAAA,aAAiCF,EAAAG,WAAAH,EAAA,CAAAI,QAAAJ" | ||
| } | ||
| {"version":3,"file":"rubberband.prod.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;"} |
+25
-16
@@ -1,12 +0,20 @@ | ||
| "use strict"; | ||
| /** | ||
| * interact.js 1.10.26 | ||
| * | ||
| * Copyright (c) 2012-present Taye Adeyemi <dev@taye.me> | ||
| * Released under the MIT License. | ||
| * https://raw.github.com/taye/interact.js/main/LICENSE | ||
| */ | ||
| Object.defineProperty(exports, "__esModule", { | ||
| value: true | ||
| }); | ||
| exports.snapEdges = exports.default = void 0; | ||
| var _clone = _interopRequireDefault(require("../../utils/clone.js")); | ||
| var _extend = _interopRequireDefault(require("../../utils/extend.js")); | ||
| var _base = require("../base"); | ||
| var _size = require("./size"); | ||
| function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | ||
| import clone from "../../utils/clone.js"; | ||
| import extend from "../../utils/extend.js"; | ||
| import { makeModifier } from '../base.js'; | ||
| import { snapSize } from './size.js'; | ||
| import '../Modification.js'; | ||
| import "../../utils/rect.js"; | ||
| import "../../utils/is.js"; | ||
| import './pointer.js'; | ||
| import "../../utils/getOriginXY.js"; | ||
| import "../../utils/hypot.js"; | ||
| /** | ||
@@ -49,8 +57,8 @@ * @module modifiers/snapEdges | ||
| arg.state.targetFields = arg.state.targetFields || [[edges.left ? 'left' : 'right', edges.top ? 'top' : 'bottom']]; | ||
| return _size.snapSize.start(arg); | ||
| return snapSize.start(arg); | ||
| } | ||
| const snapEdges = exports.snapEdges = { | ||
| const snapEdges = { | ||
| start, | ||
| set: _size.snapSize.set, | ||
| defaults: (0, _extend.default)((0, _clone.default)(_size.snapSize.defaults), { | ||
| set: snapSize.set, | ||
| defaults: extend(clone(snapSize.defaults), { | ||
| targets: undefined, | ||
@@ -64,3 +72,4 @@ range: undefined, | ||
| }; | ||
| var _default = exports.default = (0, _base.makeModifier)(snapEdges, 'snapEdges'); | ||
| //# sourceMappingURL=edges.js.map | ||
| var snapEdges$1 = makeModifier(snapEdges, 'snapEdges'); | ||
| export { snapEdges$1 as default, snapEdges }; | ||
| //# sourceMappingURL=edges.js.map |
+1
-43
@@ -1,43 +0,1 @@ | ||
| { | ||
| "version": 3, | ||
| "names": [ | ||
| "_clone", | ||
| "_interopRequireDefault", | ||
| "require", | ||
| "_extend", | ||
| "_base", | ||
| "_size", | ||
| "obj", | ||
| "__esModule", | ||
| "default", | ||
| "start", | ||
| "arg", | ||
| "edges", | ||
| "state", | ||
| "targetFields", | ||
| "left", | ||
| "top", | ||
| "snapSize", | ||
| "snapEdges", | ||
| "exports", | ||
| "set", | ||
| "defaults", | ||
| "extend", | ||
| "clone", | ||
| "targets", | ||
| "undefined", | ||
| "range", | ||
| "offset", | ||
| "x", | ||
| "y", | ||
| "_default", | ||
| "makeModifier" | ||
| ], | ||
| "sources": [ | ||
| "edges.ts" | ||
| ], | ||
| "sourcesContent": [ | ||
| "/**\n * @module modifiers/snapEdges\n *\n * @description\n * This modifier allows snapping of the edges of targets during resize\n * interactions.\n *\n * ```js\n * interact(target).resizable({\n * snapEdges: {\n * targets: [interact.snappers.grid({ x: 100, y: 50 })],\n * },\n * })\n *\n * interact(target).resizable({\n * snapEdges: {\n * targets: [\n * interact.snappers.grid({\n * top: 50,\n * left: 50,\n * bottom: 100,\n * right: 100,\n * }),\n * ],\n * },\n * })\n * ```\n */\n\nimport clone from '@interactjs/utils/clone'\nimport extend from '@interactjs/utils/extend'\n\nimport { makeModifier } from '../base'\nimport type { ModifierArg, ModifierModule } from '../types'\n\nimport type { SnapOptions, SnapState } from './pointer'\nimport { snapSize } from './size'\n\nexport type SnapEdgesOptions = Pick<SnapOptions, 'targets' | 'range' | 'offset' | 'endOnly' | 'enabled'>\n\nfunction start(arg: ModifierArg<SnapState>) {\n const { edges } = arg\n\n if (!edges) {\n return null\n }\n\n arg.state.targetFields = arg.state.targetFields || [\n [edges.left ? 'left' : 'right', edges.top ? 'top' : 'bottom'],\n ]\n\n return snapSize.start(arg)\n}\n\nconst snapEdges: ModifierModule<SnapEdgesOptions, SnapState, ReturnType<typeof snapSize.set>> = {\n start,\n set: snapSize.set,\n defaults: extend(clone(snapSize.defaults), {\n targets: undefined,\n range: undefined,\n offset: { x: 0, y: 0 },\n } as const),\n}\n\nexport default makeModifier(snapEdges, 'snapEdges')\nexport { snapEdges }\n" | ||
| ], | ||
| "mappings": ";;;;;;AA6BA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,OAAA,GAAAF,sBAAA,CAAAC,OAAA;AAEA,IAAAE,KAAA,GAAAF,OAAA;AAIA,IAAAG,KAAA,GAAAH,OAAA;AAAiC,SAAAD,uBAAAK,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AApCjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAaA,SAASG,KAAKA,CAACC,GAA2B,EAAE;EAC1C,MAAM;IAAEC;EAAM,CAAC,GAAGD,GAAG;EAErB,IAAI,CAACC,KAAK,EAAE;IACV,OAAO,IAAI;EACb;EAEAD,GAAG,CAACE,KAAK,CAACC,YAAY,GAAGH,GAAG,CAACE,KAAK,CAACC,YAAY,IAAI,CACjD,CAACF,KAAK,CAACG,IAAI,GAAG,MAAM,GAAG,OAAO,EAAEH,KAAK,CAACI,GAAG,GAAG,KAAK,GAAG,QAAQ,CAAC,CAC9D;EAED,OAAOC,cAAQ,CAACP,KAAK,CAACC,GAAG,CAAC;AAC5B;AAEA,MAAMO,SAAuF,GAAAC,OAAA,CAAAD,SAAA,GAAG;EAC9FR,KAAK;EACLU,GAAG,EAAEH,cAAQ,CAACG,GAAG;EACjBC,QAAQ,EAAE,IAAAC,eAAM,EAAC,IAAAC,cAAK,EAACN,cAAQ,CAACI,QAAQ,CAAC,EAAE;IACzCG,OAAO,EAAEC,SAAS;IAClBC,KAAK,EAAED,SAAS;IAChBE,MAAM,EAAE;MAAEC,CAAC,EAAE,CAAC;MAAEC,CAAC,EAAE;IAAE;EACvB,CAAU;AACZ,CAAC;AAAA,IAAAC,QAAA,GAAAX,OAAA,CAAAV,OAAA,GAEc,IAAAsB,kBAAY,EAACb,SAAS,EAAE,WAAW,CAAC" | ||
| } | ||
| {"version":3,"file":"edges.js","sources":["edges.ts"],"sourcesContent":["/**\n * @module modifiers/snapEdges\n *\n * @description\n * This modifier allows snapping of the edges of targets during resize\n * interactions.\n *\n * ```js\n * interact(target).resizable({\n * snapEdges: {\n * targets: [interact.snappers.grid({ x: 100, y: 50 })],\n * },\n * })\n *\n * interact(target).resizable({\n * snapEdges: {\n * targets: [\n * interact.snappers.grid({\n * top: 50,\n * left: 50,\n * bottom: 100,\n * right: 100,\n * }),\n * ],\n * },\n * })\n * ```\n */\n\nimport clone from '@interactjs/utils/clone'\nimport extend from '@interactjs/utils/extend'\n\nimport { makeModifier } from '../base'\nimport type { ModifierArg, ModifierModule } from '../types'\n\nimport type { SnapOptions, SnapState } from './pointer'\nimport { snapSize } from './size'\n\nexport type SnapEdgesOptions = Pick<SnapOptions, 'targets' | 'range' | 'offset' | 'endOnly' | 'enabled'>\n\nfunction start(arg: ModifierArg<SnapState>) {\n const { edges } = arg\n\n if (!edges) {\n return null\n }\n\n arg.state.targetFields = arg.state.targetFields || [\n [edges.left ? 'left' : 'right', edges.top ? 'top' : 'bottom'],\n ]\n\n return snapSize.start(arg)\n}\n\nconst snapEdges: ModifierModule<SnapEdgesOptions, SnapState, ReturnType<typeof snapSize.set>> = {\n start,\n set: snapSize.set,\n defaults: extend(clone(snapSize.defaults), {\n targets: undefined,\n range: undefined,\n offset: { x: 0, y: 0 },\n } as const),\n}\n\nexport default makeModifier(snapEdges, 'snapEdges')\nexport { snapEdges }\n"],"names":["start","arg","edges","state","targetFields","left","top","snapSize","snapEdges","set","defaults","extend","clone","targets","undefined","range","offset","x","y","makeModifier"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAaA,SAASA,KAAKA,CAACC,GAA2B,EAAE;EAC1C,MAAM;AAAEC,IAAAA,KAAAA;AAAM,GAAC,GAAGD,GAAG,CAAA;EAErB,IAAI,CAACC,KAAK,EAAE;AACV,IAAA,OAAO,IAAI,CAAA;AACb,GAAA;AAEAD,EAAAA,GAAG,CAACE,KAAK,CAACC,YAAY,GAAGH,GAAG,CAACE,KAAK,CAACC,YAAY,IAAI,CACjD,CAACF,KAAK,CAACG,IAAI,GAAG,MAAM,GAAG,OAAO,EAAEH,KAAK,CAACI,GAAG,GAAG,KAAK,GAAG,QAAQ,CAAC,CAC9D,CAAA;AAED,EAAA,OAAOC,QAAQ,CAACP,KAAK,CAACC,GAAG,CAAC,CAAA;AAC5B,CAAA;AAEA,MAAMO,SAAuF,GAAG;EAC9FR,KAAK;EACLS,GAAG,EAAEF,QAAQ,CAACE,GAAG;EACjBC,QAAQ,EAAEC,MAAM,CAACC,KAAK,CAACL,QAAQ,CAACG,QAAQ,CAAC,EAAE;AACzCG,IAAAA,OAAO,EAAEC,SAAS;AAClBC,IAAAA,KAAK,EAAED,SAAS;AAChBE,IAAAA,MAAM,EAAE;AAAEC,MAAAA,CAAC,EAAE,CAAC;AAAEC,MAAAA,CAAC,EAAE,CAAA;AAAE,KAAA;GACb,CAAA;AACZ,EAAC;AAED,kBAAeC,YAAY,CAACX,SAAS,EAAE,WAAW,CAAC;;;;"} |
@@ -1,2 +0,4 @@ | ||
| Object.defineProperty(exports,"__esModule",{value:!0}),exports.snapEdges=exports.default=void 0;var e=a(require("../../utils/clone.prod.js")),t=a(require("../../utils/extend.prod.js")),s=require("../base"),r=require("./size");function a(e){return e&&e.__esModule?e:{default:e}}const d=exports.snapEdges={start(e){const{edges:t}=e;return t?(e.state.targetFields=e.state.targetFields||[[t.left?"left":"right",t.top?"top":"bottom"]],r.snapSize.start(e)):null},set:r.snapSize.set,defaults:(0,t.default)((0,e.default)(r.snapSize.defaults),{targets:void 0,range:void 0,offset:{x:0,y:0}})};exports.default=(0,s.makeModifier)(d,"snapEdges"); | ||
| //# sourceMappingURL=edges.prod.js.map | ||
| /* interact.js 1.10.26 | https://raw.github.com/taye/interact.js/main/LICENSE */ | ||
| import clone from"../../utils/clone.prod.js";import extend from"../../utils/extend.prod.js";import{makeModifier}from"../base.prod.js";import{snapSize}from"./size.prod.js";import"../Modification.prod.js";import"../../utils/rect.prod.js";import"../../utils/is.prod.js";import"./pointer.prod.js";import"../../utils/getOriginXY.prod.js";import"../../utils/hypot.prod.js";function start(t){const{edges:s}=t;return s?(t.state.targetFields=t.state.targetFields||[[s.left?"left":"right",s.top?"top":"bottom"]],snapSize.start(t)):null}const snapEdges={start:start,set:snapSize.set,defaults:extend(clone(snapSize.defaults),{targets:void 0,range:void 0,offset:{x:0,y:0}})};var snapEdges$1=makeModifier(snapEdges,"snapEdges");export{snapEdges$1 as default,snapEdges}; | ||
| //# sourceMappingURL=edges.prod.js.map |
@@ -1,42 +0,1 @@ | ||
| { | ||
| "version": 3, | ||
| "names": [ | ||
| "_cloneProd", | ||
| "_interopRequireDefault", | ||
| "require", | ||
| "_extendProd", | ||
| "_base", | ||
| "_size", | ||
| "obj", | ||
| "__esModule", | ||
| "default", | ||
| "snapEdges", | ||
| "exports", | ||
| "start", | ||
| "arg", | ||
| "edges", | ||
| "state", | ||
| "targetFields", | ||
| "left", | ||
| "top", | ||
| "snapSize", | ||
| "set", | ||
| "defaults", | ||
| "extend", | ||
| "clone", | ||
| "targets", | ||
| "undefined", | ||
| "range", | ||
| "offset", | ||
| "x", | ||
| "y", | ||
| "makeModifier" | ||
| ], | ||
| "sources": [ | ||
| "edges.ts" | ||
| ], | ||
| "sourcesContent": [ | ||
| "/**\n * @module modifiers/snapEdges\n *\n * @description\n * This modifier allows snapping of the edges of targets during resize\n * interactions.\n *\n * ```js\n * interact(target).resizable({\n * snapEdges: {\n * targets: [interact.snappers.grid({ x: 100, y: 50 })],\n * },\n * })\n *\n * interact(target).resizable({\n * snapEdges: {\n * targets: [\n * interact.snappers.grid({\n * top: 50,\n * left: 50,\n * bottom: 100,\n * right: 100,\n * }),\n * ],\n * },\n * })\n * ```\n */\n\nimport clone from '@interactjs/utils/clone'\nimport extend from '@interactjs/utils/extend'\n\nimport { makeModifier } from '../base'\nimport type { ModifierArg, ModifierModule } from '../types'\n\nimport type { SnapOptions, SnapState } from './pointer'\nimport { snapSize } from './size'\n\nexport type SnapEdgesOptions = Pick<SnapOptions, 'targets' | 'range' | 'offset' | 'endOnly' | 'enabled'>\n\nfunction start(arg: ModifierArg<SnapState>) {\n const { edges } = arg\n\n if (!edges) {\n return null\n }\n\n arg.state.targetFields = arg.state.targetFields || [\n [edges.left ? 'left' : 'right', edges.top ? 'top' : 'bottom'],\n ]\n\n return snapSize.start(arg)\n}\n\nconst snapEdges: ModifierModule<SnapEdgesOptions, SnapState, ReturnType<typeof snapSize.set>> = {\n start,\n set: snapSize.set,\n defaults: extend(clone(snapSize.defaults), {\n targets: undefined,\n range: undefined,\n offset: { x: 0, y: 0 },\n } as const),\n}\n\nexport default makeModifier(snapEdges, 'snapEdges')\nexport { snapEdges }\n" | ||
| ], | ||
| "mappings": "gGA6BA,IAAAA,EAAAC,EAAAC,QAAA,8BACAC,EAAAF,EAAAC,QAAA,+BAEAE,EAAAF,QAAA,WAIAG,EAAAH,QAAA,UAAiC,SAAAD,EAAAK,GAAA,OAAAA,KAAAC,WAAAD,EAAA,CAAAE,QAAAF,EAAA,CAkBjC,MAAMG,EAAuFC,QAAAD,UAAG,CAC9FE,MAfaC,GACb,MAAMC,MAAEA,GAAUD,EAElB,OAAKC,GAILD,EAAIE,MAAMC,aAAeH,EAAIE,MAAMC,cAAgB,CACjD,CAACF,EAAMG,KAAO,OAAS,QAASH,EAAMI,IAAM,MAAQ,WAG/CC,WAASP,MAAMC,IAPb,IAQX,EAIEO,IAAKD,WAASC,IACdC,UAAU,EAAAC,YAAO,EAAAC,WAAMJ,WAASE,UAAW,CACzCG,aAASC,EACTC,WAAOD,EACPE,OAAQ,CAAEC,EAAG,EAAGC,EAAG,MAEtBlB,QAAAF,SAEc,EAAAqB,gBAAapB,EAAW" | ||
| } | ||
| {"version":3,"file":"edges.prod.js","sources":["edges.ts"],"sourcesContent":["/**\n * @module modifiers/snapEdges\n *\n * @description\n * This modifier allows snapping of the edges of targets during resize\n * interactions.\n *\n * ```js\n * interact(target).resizable({\n * snapEdges: {\n * targets: [interact.snappers.grid({ x: 100, y: 50 })],\n * },\n * })\n *\n * interact(target).resizable({\n * snapEdges: {\n * targets: [\n * interact.snappers.grid({\n * top: 50,\n * left: 50,\n * bottom: 100,\n * right: 100,\n * }),\n * ],\n * },\n * })\n * ```\n */\n\nimport clone from '@interactjs/utils/clone'\nimport extend from '@interactjs/utils/extend'\n\nimport { makeModifier } from '../base'\nimport type { ModifierArg, ModifierModule } from '../types'\n\nimport type { SnapOptions, SnapState } from './pointer'\nimport { snapSize } from './size'\n\nexport type SnapEdgesOptions = Pick<SnapOptions, 'targets' | 'range' | 'offset' | 'endOnly' | 'enabled'>\n\nfunction start(arg: ModifierArg<SnapState>) {\n const { edges } = arg\n\n if (!edges) {\n return null\n }\n\n arg.state.targetFields = arg.state.targetFields || [\n [edges.left ? 'left' : 'right', edges.top ? 'top' : 'bottom'],\n ]\n\n return snapSize.start(arg)\n}\n\nconst snapEdges: ModifierModule<SnapEdgesOptions, SnapState, ReturnType<typeof snapSize.set>> = {\n start,\n set: snapSize.set,\n defaults: extend(clone(snapSize.defaults), {\n targets: undefined,\n range: undefined,\n offset: { x: 0, y: 0 },\n } as const),\n}\n\nexport default makeModifier(snapEdges, 'snapEdges')\nexport { snapEdges }\n"],"names":["start","arg","edges","state","targetFields","left","top","snapSize","snapEdges","set","defaults","extend","clone","targets","undefined","range","offset","x","y","snapEdges$1","makeModifier"],"mappings":";;+WAwCA,SAASA,MAAMC,GACb,MAAMC,MAAEA,GAAUD,EAElB,OAAKC,GAILD,EAAIE,MAAMC,aAAeH,EAAIE,MAAMC,cAAgB,CACjD,CAACF,EAAMG,KAAO,OAAS,QAASH,EAAMI,IAAM,MAAQ,WAG/CC,SAASP,MAAMC,IAPb,IAQX,CAEA,MAAMO,UAA0F,CAC9FR,YACAS,IAAKF,SAASE,IACdC,SAAUC,OAAOC,MAAML,SAASG,UAAW,CACzCG,aAASC,EACTC,WAAOD,EACPE,OAAQ,CAAEC,EAAG,EAAGC,EAAG,MAIvB,IAAAC,YAAeC,aAAaZ,UAAW"} |
+30
-26
@@ -1,14 +0,17 @@ | ||
| "use strict"; | ||
| /** | ||
| * interact.js 1.10.26 | ||
| * | ||
| * Copyright (c) 2012-present Taye Adeyemi <dev@taye.me> | ||
| * Released under the MIT License. | ||
| * https://raw.github.com/taye/interact.js/main/LICENSE | ||
| */ | ||
| Object.defineProperty(exports, "__esModule", { | ||
| value: true | ||
| }); | ||
| exports.snap = exports.default = void 0; | ||
| var _extend = _interopRequireDefault(require("../../utils/extend.js")); | ||
| var _getOriginXY = _interopRequireDefault(require("../../utils/getOriginXY.js")); | ||
| var _hypot = _interopRequireDefault(require("../../utils/hypot.js")); | ||
| var _is = _interopRequireDefault(require("../../utils/is.js")); | ||
| var _rect = require("../../utils/rect.js"); | ||
| var _base = require("../base"); | ||
| function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | ||
| import extend from "../../utils/extend.js"; | ||
| import getOriginXY from "../../utils/getOriginXY.js"; | ||
| import hypot from "../../utils/hypot.js"; | ||
| import is from "../../utils/is.js"; | ||
| import { resolveRectLike, rectToXY } from "../../utils/rect.js"; | ||
| import { makeModifier } from '../base.js'; | ||
| import '../Modification.js'; | ||
| import "../../utils/clone.js"; | ||
| function start(arg) { | ||
@@ -37,4 +40,4 @@ const { | ||
| } else { | ||
| const offsetRect = (0, _rect.resolveRectLike)(options.offset, interactable, element, [interaction]); | ||
| snapOffset = (0, _rect.rectToXY)(offsetRect) || { | ||
| const offsetRect = resolveRectLike(options.offset, interactable, element, [interaction]); | ||
| snapOffset = rectToXY(offsetRect) || { | ||
| x: 0, | ||
@@ -71,4 +74,4 @@ y: 0 | ||
| } = state; | ||
| const origin = (0, _getOriginXY.default)(interaction.interactable, interaction.element, interaction.prepared.name); | ||
| const page = (0, _extend.default)({}, coords); | ||
| const origin = getOriginXY(interaction.interactable, interaction.element, interaction.prepared.name); | ||
| const page = extend({}, coords); | ||
| const targets = []; | ||
@@ -85,3 +88,3 @@ if (!options.offsetWithOrigin) { | ||
| let target; | ||
| if (_is.default.func(snapTarget)) { | ||
| if (is.func(snapTarget)) { | ||
| target = snapTarget(relativeX, relativeY, interaction._proxy, offset, index); | ||
@@ -95,5 +98,5 @@ } else { | ||
| targets.push({ | ||
| x: (_is.default.number(target.x) ? target.x : relativeX) + offset.x, | ||
| y: (_is.default.number(target.y) ? target.y : relativeY) + offset.y, | ||
| range: _is.default.number(target.range) ? target.range : options.range, | ||
| x: (is.number(target.x) ? target.x : relativeX) + offset.x, | ||
| y: (is.number(target.y) ? target.y : relativeY) + offset.y, | ||
| range: is.number(target.range) ? target.range : options.range, | ||
| source: snapTarget, | ||
@@ -119,3 +122,3 @@ index, | ||
| const dy = target.y - page.y; | ||
| const distance = (0, _hypot.default)(dx, dy); | ||
| const distance = hypot(dx, dy); | ||
| let inRange = distance <= range; | ||
@@ -158,4 +161,4 @@ | ||
| } = arg.interaction; | ||
| const optionsOrigin = (0, _rect.rectToXY)((0, _rect.resolveRectLike)(arg.state.options.origin, null, null, [element])); | ||
| const origin = optionsOrigin || (0, _getOriginXY.default)(arg.interactable, element, arg.interaction.prepared.name); | ||
| const optionsOrigin = rectToXY(resolveRectLike(arg.state.options.origin, null, null, [element])); | ||
| const origin = optionsOrigin || getOriginXY(arg.interactable, element, arg.interaction.prepared.name); | ||
| return origin; | ||
@@ -173,3 +176,3 @@ } | ||
| }; | ||
| const snap = exports.snap = { | ||
| const snap = { | ||
| start, | ||
@@ -179,3 +182,4 @@ set, | ||
| }; | ||
| var _default = exports.default = (0, _base.makeModifier)(snap, 'snap'); | ||
| //# sourceMappingURL=pointer.js.map | ||
| var snap$1 = makeModifier(snap, 'snap'); | ||
| export { snap$1 as default, snap }; | ||
| //# sourceMappingURL=pointer.js.map |
+1
-88
@@ -1,88 +0,1 @@ | ||
| { | ||
| "version": 3, | ||
| "names": [ | ||
| "_extend", | ||
| "_interopRequireDefault", | ||
| "require", | ||
| "_getOriginXY", | ||
| "_hypot", | ||
| "_is", | ||
| "_rect", | ||
| "_base", | ||
| "obj", | ||
| "__esModule", | ||
| "default", | ||
| "start", | ||
| "arg", | ||
| "interaction", | ||
| "interactable", | ||
| "element", | ||
| "rect", | ||
| "state", | ||
| "startOffset", | ||
| "options", | ||
| "origin", | ||
| "offsetWithOrigin", | ||
| "getOrigin", | ||
| "x", | ||
| "y", | ||
| "snapOffset", | ||
| "offset", | ||
| "coords", | ||
| "page", | ||
| "offsetRect", | ||
| "resolveRectLike", | ||
| "rectToXY", | ||
| "relativePoints", | ||
| "offsets", | ||
| "length", | ||
| "map", | ||
| "relativePoint", | ||
| "index", | ||
| "left", | ||
| "width", | ||
| "top", | ||
| "height", | ||
| "set", | ||
| "getOriginXY", | ||
| "prepared", | ||
| "name", | ||
| "extend", | ||
| "targets", | ||
| "relativeX", | ||
| "relativeY", | ||
| "len", | ||
| "snapTarget", | ||
| "target", | ||
| "is", | ||
| "func", | ||
| "_proxy", | ||
| "push", | ||
| "number", | ||
| "range", | ||
| "source", | ||
| "closest", | ||
| "inRange", | ||
| "distance", | ||
| "delta", | ||
| "dx", | ||
| "dy", | ||
| "hypot", | ||
| "Infinity", | ||
| "optionsOrigin", | ||
| "defaults", | ||
| "endOnly", | ||
| "enabled", | ||
| "snap", | ||
| "exports", | ||
| "_default", | ||
| "makeModifier" | ||
| ], | ||
| "sources": [ | ||
| "pointer.ts" | ||
| ], | ||
| "sourcesContent": [ | ||
| "import type { Interaction, InteractionProxy } from '@interactjs/core/Interaction'\nimport type { ActionName, Point, RectResolvable, Element } from '@interactjs/core/types'\nimport extend from '@interactjs/utils/extend'\nimport getOriginXY from '@interactjs/utils/getOriginXY'\nimport hypot from '@interactjs/utils/hypot'\nimport is from '@interactjs/utils/is'\nimport { resolveRectLike, rectToXY } from '@interactjs/utils/rect'\n\nimport { makeModifier } from '../base'\nimport type { ModifierArg, ModifierState } from '../types'\n\nexport interface Offset {\n x: number\n y: number\n index: number\n relativePoint?: Point | null\n}\n\nexport interface SnapPosition {\n x?: number\n y?: number\n range?: number\n offset?: Offset\n [index: string]: any\n}\n\nexport type SnapFunction = (\n x: number,\n y: number,\n interaction: InteractionProxy<ActionName>,\n offset: Offset,\n index: number,\n) => SnapPosition\nexport type SnapTarget = SnapPosition | SnapFunction\nexport interface SnapOptions {\n targets?: SnapTarget[]\n // target range\n range?: number\n // self points for snapping. [0,0] = top left, [1,1] = bottom right\n relativePoints?: Point[]\n // startCoords = offset snapping from drag start page position\n offset?: Point | RectResolvable<[Interaction]> | 'startCoords'\n offsetWithOrigin?: boolean\n origin?: RectResolvable<[Element]> | Point\n endOnly?: boolean\n enabled?: boolean\n}\n\nexport type SnapState = ModifierState<\n SnapOptions,\n {\n offsets?: Offset[]\n closest?: any\n targetFields?: string[][]\n }\n>\n\nfunction start(arg: ModifierArg<SnapState>) {\n const { interaction, interactable, element, rect, state, startOffset } = arg\n const { options } = state\n const origin = options.offsetWithOrigin ? getOrigin(arg) : { x: 0, y: 0 }\n\n let snapOffset: Point\n\n if (options.offset === 'startCoords') {\n snapOffset = {\n x: interaction.coords.start.page.x,\n y: interaction.coords.start.page.y,\n }\n } else {\n const offsetRect = resolveRectLike(options.offset as any, interactable, element, [interaction])\n\n snapOffset = rectToXY(offsetRect) || { x: 0, y: 0 }\n snapOffset.x += origin.x\n snapOffset.y += origin.y\n }\n\n const { relativePoints } = options\n\n state.offsets =\n rect && relativePoints && relativePoints.length\n ? relativePoints.map((relativePoint, index) => ({\n index,\n relativePoint,\n x: startOffset.left - rect.width * relativePoint.x + snapOffset.x,\n y: startOffset.top - rect.height * relativePoint.y + snapOffset.y,\n }))\n : [\n {\n index: 0,\n relativePoint: null,\n x: snapOffset.x,\n y: snapOffset.y,\n },\n ]\n}\n\nfunction set(arg: ModifierArg<SnapState>) {\n const { interaction, coords, state } = arg\n const { options, offsets } = state\n\n const origin = getOriginXY(interaction.interactable!, interaction.element!, interaction.prepared.name)\n const page = extend({}, coords)\n const targets: SnapPosition[] = []\n\n if (!options.offsetWithOrigin) {\n page.x -= origin.x\n page.y -= origin.y\n }\n\n for (const offset of offsets!) {\n const relativeX = page.x - offset.x\n const relativeY = page.y - offset.y\n\n for (let index = 0, len = options.targets!.length; index < len; index++) {\n const snapTarget = options.targets![index]\n let target: SnapPosition\n\n if (is.func(snapTarget)) {\n target = snapTarget(relativeX, relativeY, interaction._proxy, offset, index)\n } else {\n target = snapTarget\n }\n\n if (!target) {\n continue\n }\n\n targets.push({\n x: (is.number(target.x) ? target.x : relativeX) + offset.x,\n y: (is.number(target.y) ? target.y : relativeY) + offset.y,\n\n range: is.number(target.range) ? target.range : options.range,\n source: snapTarget,\n index,\n offset,\n })\n }\n }\n\n const closest = {\n target: null,\n inRange: false,\n distance: 0,\n range: 0,\n delta: { x: 0, y: 0 },\n }\n\n for (const target of targets) {\n const range = target.range\n const dx = target.x - page.x\n const dy = target.y - page.y\n const distance = hypot(dx, dy)\n let inRange = distance <= range\n\n // Infinite targets count as being out of range\n // compared to non infinite ones that are in range\n if (range === Infinity && closest.inRange && closest.range !== Infinity) {\n inRange = false\n }\n\n if (\n !closest.target ||\n (inRange\n ? // is the closest target in range?\n closest.inRange && range !== Infinity\n ? // the pointer is relatively deeper in this target\n distance / range < closest.distance / closest.range\n : // this target has Infinite range and the closest doesn't\n (range === Infinity && closest.range !== Infinity) ||\n // OR this target is closer that the previous closest\n distance < closest.distance\n : // The other is not in range and the pointer is closer to this target\n !closest.inRange && distance < closest.distance)\n ) {\n closest.target = target\n closest.distance = distance\n closest.range = range\n closest.inRange = inRange\n closest.delta.x = dx\n closest.delta.y = dy\n }\n }\n\n if (closest.inRange) {\n coords.x = closest.target.x\n coords.y = closest.target.y\n }\n\n state.closest = closest\n return closest\n}\n\nfunction getOrigin(arg: Partial<ModifierArg<SnapState>>) {\n const { element } = arg.interaction\n const optionsOrigin = rectToXY(resolveRectLike(arg.state.options.origin as any, null, null, [element]))\n const origin = optionsOrigin || getOriginXY(arg.interactable, element, arg.interaction.prepared.name)\n\n return origin\n}\n\nconst defaults: SnapOptions = {\n range: Infinity,\n targets: null,\n offset: null,\n offsetWithOrigin: true,\n origin: null,\n relativePoints: null,\n endOnly: false,\n enabled: false,\n}\nconst snap = {\n start,\n set,\n defaults,\n}\n\nexport default makeModifier(snap, 'snap')\nexport { snap }\n" | ||
| ], | ||
| "mappings": "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" | ||
| } | ||
| {"version":3,"file":"pointer.js","sources":["pointer.ts"],"sourcesContent":["import type { Interaction, InteractionProxy } from '@interactjs/core/Interaction'\nimport type { ActionName, Point, RectResolvable, Element } from '@interactjs/core/types'\nimport extend from '@interactjs/utils/extend'\nimport getOriginXY from '@interactjs/utils/getOriginXY'\nimport hypot from '@interactjs/utils/hypot'\nimport is from '@interactjs/utils/is'\nimport { resolveRectLike, rectToXY } from '@interactjs/utils/rect'\n\nimport { makeModifier } from '../base'\nimport type { ModifierArg, ModifierState } from '../types'\n\nexport interface Offset {\n x: number\n y: number\n index: number\n relativePoint?: Point | null\n}\n\nexport interface SnapPosition {\n x?: number\n y?: number\n range?: number\n offset?: Offset\n [index: string]: any\n}\n\nexport type SnapFunction = (\n x: number,\n y: number,\n interaction: InteractionProxy<ActionName>,\n offset: Offset,\n index: number,\n) => SnapPosition\nexport type SnapTarget = SnapPosition | SnapFunction\nexport interface SnapOptions {\n targets?: SnapTarget[]\n // target range\n range?: number\n // self points for snapping. [0,0] = top left, [1,1] = bottom right\n relativePoints?: Point[]\n // startCoords = offset snapping from drag start page position\n offset?: Point | RectResolvable<[Interaction]> | 'startCoords'\n offsetWithOrigin?: boolean\n origin?: RectResolvable<[Element]> | Point\n endOnly?: boolean\n enabled?: boolean\n}\n\nexport type SnapState = ModifierState<\n SnapOptions,\n {\n offsets?: Offset[]\n closest?: any\n targetFields?: string[][]\n }\n>\n\nfunction start(arg: ModifierArg<SnapState>) {\n const { interaction, interactable, element, rect, state, startOffset } = arg\n const { options } = state\n const origin = options.offsetWithOrigin ? getOrigin(arg) : { x: 0, y: 0 }\n\n let snapOffset: Point\n\n if (options.offset === 'startCoords') {\n snapOffset = {\n x: interaction.coords.start.page.x,\n y: interaction.coords.start.page.y,\n }\n } else {\n const offsetRect = resolveRectLike(options.offset as any, interactable, element, [interaction])\n\n snapOffset = rectToXY(offsetRect) || { x: 0, y: 0 }\n snapOffset.x += origin.x\n snapOffset.y += origin.y\n }\n\n const { relativePoints } = options\n\n state.offsets =\n rect && relativePoints && relativePoints.length\n ? relativePoints.map((relativePoint, index) => ({\n index,\n relativePoint,\n x: startOffset.left - rect.width * relativePoint.x + snapOffset.x,\n y: startOffset.top - rect.height * relativePoint.y + snapOffset.y,\n }))\n : [\n {\n index: 0,\n relativePoint: null,\n x: snapOffset.x,\n y: snapOffset.y,\n },\n ]\n}\n\nfunction set(arg: ModifierArg<SnapState>) {\n const { interaction, coords, state } = arg\n const { options, offsets } = state\n\n const origin = getOriginXY(interaction.interactable!, interaction.element!, interaction.prepared.name)\n const page = extend({}, coords)\n const targets: SnapPosition[] = []\n\n if (!options.offsetWithOrigin) {\n page.x -= origin.x\n page.y -= origin.y\n }\n\n for (const offset of offsets!) {\n const relativeX = page.x - offset.x\n const relativeY = page.y - offset.y\n\n for (let index = 0, len = options.targets!.length; index < len; index++) {\n const snapTarget = options.targets![index]\n let target: SnapPosition\n\n if (is.func(snapTarget)) {\n target = snapTarget(relativeX, relativeY, interaction._proxy, offset, index)\n } else {\n target = snapTarget\n }\n\n if (!target) {\n continue\n }\n\n targets.push({\n x: (is.number(target.x) ? target.x : relativeX) + offset.x,\n y: (is.number(target.y) ? target.y : relativeY) + offset.y,\n\n range: is.number(target.range) ? target.range : options.range,\n source: snapTarget,\n index,\n offset,\n })\n }\n }\n\n const closest = {\n target: null,\n inRange: false,\n distance: 0,\n range: 0,\n delta: { x: 0, y: 0 },\n }\n\n for (const target of targets) {\n const range = target.range\n const dx = target.x - page.x\n const dy = target.y - page.y\n const distance = hypot(dx, dy)\n let inRange = distance <= range\n\n // Infinite targets count as being out of range\n // compared to non infinite ones that are in range\n if (range === Infinity && closest.inRange && closest.range !== Infinity) {\n inRange = false\n }\n\n if (\n !closest.target ||\n (inRange\n ? // is the closest target in range?\n closest.inRange && range !== Infinity\n ? // the pointer is relatively deeper in this target\n distance / range < closest.distance / closest.range\n : // this target has Infinite range and the closest doesn't\n (range === Infinity && closest.range !== Infinity) ||\n // OR this target is closer that the previous closest\n distance < closest.distance\n : // The other is not in range and the pointer is closer to this target\n !closest.inRange && distance < closest.distance)\n ) {\n closest.target = target\n closest.distance = distance\n closest.range = range\n closest.inRange = inRange\n closest.delta.x = dx\n closest.delta.y = dy\n }\n }\n\n if (closest.inRange) {\n coords.x = closest.target.x\n coords.y = closest.target.y\n }\n\n state.closest = closest\n return closest\n}\n\nfunction getOrigin(arg: Partial<ModifierArg<SnapState>>) {\n const { element } = arg.interaction\n const optionsOrigin = rectToXY(resolveRectLike(arg.state.options.origin as any, null, null, [element]))\n const origin = optionsOrigin || getOriginXY(arg.interactable, element, arg.interaction.prepared.name)\n\n return origin\n}\n\nconst defaults: SnapOptions = {\n range: Infinity,\n targets: null,\n offset: null,\n offsetWithOrigin: true,\n origin: null,\n relativePoints: null,\n endOnly: false,\n enabled: false,\n}\nconst snap = {\n start,\n set,\n defaults,\n}\n\nexport default makeModifier(snap, 'snap')\nexport { snap }\n"],"names":["start","arg","interaction","interactable","element","rect","state","startOffset","options","origin","offsetWithOrigin","getOrigin","x","y","snapOffset","offset","coords","page","offsetRect","resolveRectLike","rectToXY","relativePoints","offsets","length","map","relativePoint","index","left","width","top","height","set","getOriginXY","prepared","name","extend","targets","relativeX","relativeY","len","snapTarget","target","is","func","_proxy","push","number","range","source","closest","inRange","distance","delta","dx","dy","hypot","Infinity","optionsOrigin","defaults","endOnly","enabled","snap","makeModifier"],"mappings":"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"} |
@@ -1,2 +0,4 @@ | ||
| Object.defineProperty(exports,"__esModule",{value:!0}),exports.snap=exports.default=void 0;var e=o(require("../../utils/extend.prod.js")),t=o(require("../../utils/getOriginXY.prod.js")),n=o(require("../../utils/hypot.prod.js")),r=o(require("../../utils/is.prod.js")),a=require("../../utils/rect.prod.js"),s=require("../base");function o(e){return e&&e.__esModule?e:{default:e}}const i=exports.snap={start(e){const{interaction:n,interactable:r,element:s,rect:o,state:i,startOffset:l}=e,{options:u}=i,d=u.offsetWithOrigin?(e=>{const{element:n}=e.interaction;return(0,a.rectToXY)((0,a.resolveRectLike)(e.state.options.origin,null,null,[n]))||(0,t.default)(e.interactable,n,e.interaction.prepared.name)})(e):{x:0,y:0};let f;if("startCoords"===u.offset)f={x:n.coords.start.page.x,y:n.coords.start.page.y};else{const e=(0,a.resolveRectLike)(u.offset,r,s,[n]);f=(0,a.rectToXY)(e)||{x:0,y:0},f.x+=d.x,f.y+=d.y}const{relativePoints:c}=u;i.offsets=o&&c&&c.length?c.map(((e,t)=>({index:t,relativePoint:e,x:l.left-o.width*e.x+f.x,y:l.top-o.height*e.y+f.y}))):[{index:0,relativePoint:null,x:f.x,y:f.y}]},set(a){const{interaction:s,coords:o,state:i}=a,{options:l,offsets:u}=i,d=(0,t.default)(s.interactable,s.element,s.prepared.name),f=(0,e.default)({},o),c=[];l.offsetWithOrigin||(f.x-=d.x,f.y-=d.y);for(const e of u){const t=f.x-e.x,n=f.y-e.y;for(let a=0,o=l.targets.length;a<o;a++){const o=l.targets[a];let i;i=r.default.func(o)?o(t,n,s._proxy,e,a):o,i&&c.push({x:(r.default.number(i.x)?i.x:t)+e.x,y:(r.default.number(i.y)?i.y:n)+e.y,range:r.default.number(i.range)?i.range:l.range,source:o,index:a,offset:e})}}const g={target:null,inRange:!1,distance:0,range:0,delta:{x:0,y:0}};for(const e of c){const t=e.range,r=e.x-f.x,a=e.y-f.y,s=(0,n.default)(r,a);let o=s<=t;t===1/0&&g.inRange&&g.range!==1/0&&(o=!1),g.target&&!(o?g.inRange&&t!==1/0?s/t<g.distance/g.range:t===1/0&&g.range!==1/0||s<g.distance:!g.inRange&&s<g.distance)||(g.target=e,g.distance=s,g.range=t,g.inRange=o,g.delta.x=r,g.delta.y=a)}return g.inRange&&(o.x=g.target.x,o.y=g.target.y),i.closest=g,g},defaults:{range:1/0,targets:null,offset:null,offsetWithOrigin:!0,origin:null,relativePoints:null,endOnly:!1,enabled:!1}};exports.default=(0,s.makeModifier)(i,"snap"); | ||
| //# sourceMappingURL=pointer.prod.js.map | ||
| /* interact.js 1.10.26 | 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 |
@@ -1,86 +0,1 @@ | ||
| { | ||
| "version": 3, | ||
| "names": [ | ||
| "_extendProd", | ||
| "_interopRequireDefault", | ||
| "require", | ||
| "_getOriginXYProd", | ||
| "_hypotProd", | ||
| "_isProd", | ||
| "_rectProd", | ||
| "_base", | ||
| "obj", | ||
| "__esModule", | ||
| "default", | ||
| "snap", | ||
| "exports", | ||
| "start", | ||
| "arg", | ||
| "interaction", | ||
| "interactable", | ||
| "element", | ||
| "rect", | ||
| "state", | ||
| "startOffset", | ||
| "options", | ||
| "origin", | ||
| "offsetWithOrigin", | ||
| "rectToXY", | ||
| "resolveRectLike", | ||
| "getOriginXY", | ||
| "prepared", | ||
| "name", | ||
| "getOrigin", | ||
| "x", | ||
| "y", | ||
| "snapOffset", | ||
| "offset", | ||
| "coords", | ||
| "page", | ||
| "offsetRect", | ||
| "relativePoints", | ||
| "offsets", | ||
| "length", | ||
| "map", | ||
| "relativePoint", | ||
| "index", | ||
| "left", | ||
| "width", | ||
| "top", | ||
| "height", | ||
| "set", | ||
| "extend", | ||
| "targets", | ||
| "relativeX", | ||
| "relativeY", | ||
| "len", | ||
| "snapTarget", | ||
| "target", | ||
| "is", | ||
| "func", | ||
| "_proxy", | ||
| "push", | ||
| "number", | ||
| "range", | ||
| "source", | ||
| "closest", | ||
| "inRange", | ||
| "distance", | ||
| "delta", | ||
| "dx", | ||
| "dy", | ||
| "hypot", | ||
| "Infinity", | ||
| "defaults", | ||
| "endOnly", | ||
| "enabled", | ||
| "makeModifier" | ||
| ], | ||
| "sources": [ | ||
| "pointer.ts" | ||
| ], | ||
| "sourcesContent": [ | ||
| "import type { Interaction, InteractionProxy } from '@interactjs/core/Interaction'\nimport type { ActionName, Point, RectResolvable, Element } from '@interactjs/core/types'\nimport extend from '@interactjs/utils/extend'\nimport getOriginXY from '@interactjs/utils/getOriginXY'\nimport hypot from '@interactjs/utils/hypot'\nimport is from '@interactjs/utils/is'\nimport { resolveRectLike, rectToXY } from '@interactjs/utils/rect'\n\nimport { makeModifier } from '../base'\nimport type { ModifierArg, ModifierState } from '../types'\n\nexport interface Offset {\n x: number\n y: number\n index: number\n relativePoint?: Point | null\n}\n\nexport interface SnapPosition {\n x?: number\n y?: number\n range?: number\n offset?: Offset\n [index: string]: any\n}\n\nexport type SnapFunction = (\n x: number,\n y: number,\n interaction: InteractionProxy<ActionName>,\n offset: Offset,\n index: number,\n) => SnapPosition\nexport type SnapTarget = SnapPosition | SnapFunction\nexport interface SnapOptions {\n targets?: SnapTarget[]\n // target range\n range?: number\n // self points for snapping. [0,0] = top left, [1,1] = bottom right\n relativePoints?: Point[]\n // startCoords = offset snapping from drag start page position\n offset?: Point | RectResolvable<[Interaction]> | 'startCoords'\n offsetWithOrigin?: boolean\n origin?: RectResolvable<[Element]> | Point\n endOnly?: boolean\n enabled?: boolean\n}\n\nexport type SnapState = ModifierState<\n SnapOptions,\n {\n offsets?: Offset[]\n closest?: any\n targetFields?: string[][]\n }\n>\n\nfunction start(arg: ModifierArg<SnapState>) {\n const { interaction, interactable, element, rect, state, startOffset } = arg\n const { options } = state\n const origin = options.offsetWithOrigin ? getOrigin(arg) : { x: 0, y: 0 }\n\n let snapOffset: Point\n\n if (options.offset === 'startCoords') {\n snapOffset = {\n x: interaction.coords.start.page.x,\n y: interaction.coords.start.page.y,\n }\n } else {\n const offsetRect = resolveRectLike(options.offset as any, interactable, element, [interaction])\n\n snapOffset = rectToXY(offsetRect) || { x: 0, y: 0 }\n snapOffset.x += origin.x\n snapOffset.y += origin.y\n }\n\n const { relativePoints } = options\n\n state.offsets =\n rect && relativePoints && relativePoints.length\n ? relativePoints.map((relativePoint, index) => ({\n index,\n relativePoint,\n x: startOffset.left - rect.width * relativePoint.x + snapOffset.x,\n y: startOffset.top - rect.height * relativePoint.y + snapOffset.y,\n }))\n : [\n {\n index: 0,\n relativePoint: null,\n x: snapOffset.x,\n y: snapOffset.y,\n },\n ]\n}\n\nfunction set(arg: ModifierArg<SnapState>) {\n const { interaction, coords, state } = arg\n const { options, offsets } = state\n\n const origin = getOriginXY(interaction.interactable!, interaction.element!, interaction.prepared.name)\n const page = extend({}, coords)\n const targets: SnapPosition[] = []\n\n if (!options.offsetWithOrigin) {\n page.x -= origin.x\n page.y -= origin.y\n }\n\n for (const offset of offsets!) {\n const relativeX = page.x - offset.x\n const relativeY = page.y - offset.y\n\n for (let index = 0, len = options.targets!.length; index < len; index++) {\n const snapTarget = options.targets![index]\n let target: SnapPosition\n\n if (is.func(snapTarget)) {\n target = snapTarget(relativeX, relativeY, interaction._proxy, offset, index)\n } else {\n target = snapTarget\n }\n\n if (!target) {\n continue\n }\n\n targets.push({\n x: (is.number(target.x) ? target.x : relativeX) + offset.x,\n y: (is.number(target.y) ? target.y : relativeY) + offset.y,\n\n range: is.number(target.range) ? target.range : options.range,\n source: snapTarget,\n index,\n offset,\n })\n }\n }\n\n const closest = {\n target: null,\n inRange: false,\n distance: 0,\n range: 0,\n delta: { x: 0, y: 0 },\n }\n\n for (const target of targets) {\n const range = target.range\n const dx = target.x - page.x\n const dy = target.y - page.y\n const distance = hypot(dx, dy)\n let inRange = distance <= range\n\n // Infinite targets count as being out of range\n // compared to non infinite ones that are in range\n if (range === Infinity && closest.inRange && closest.range !== Infinity) {\n inRange = false\n }\n\n if (\n !closest.target ||\n (inRange\n ? // is the closest target in range?\n closest.inRange && range !== Infinity\n ? // the pointer is relatively deeper in this target\n distance / range < closest.distance / closest.range\n : // this target has Infinite range and the closest doesn't\n (range === Infinity && closest.range !== Infinity) ||\n // OR this target is closer that the previous closest\n distance < closest.distance\n : // The other is not in range and the pointer is closer to this target\n !closest.inRange && distance < closest.distance)\n ) {\n closest.target = target\n closest.distance = distance\n closest.range = range\n closest.inRange = inRange\n closest.delta.x = dx\n closest.delta.y = dy\n }\n }\n\n if (closest.inRange) {\n coords.x = closest.target.x\n coords.y = closest.target.y\n }\n\n state.closest = closest\n return closest\n}\n\nfunction getOrigin(arg: Partial<ModifierArg<SnapState>>) {\n const { element } = arg.interaction\n const optionsOrigin = rectToXY(resolveRectLike(arg.state.options.origin as any, null, null, [element]))\n const origin = optionsOrigin || getOriginXY(arg.interactable, element, arg.interaction.prepared.name)\n\n return origin\n}\n\nconst defaults: SnapOptions = {\n range: Infinity,\n targets: null,\n offset: null,\n offsetWithOrigin: true,\n origin: null,\n relativePoints: null,\n endOnly: false,\n enabled: false,\n}\nconst snap = {\n start,\n set,\n defaults,\n}\n\nexport default makeModifier(snap, 'snap')\nexport { snap }\n" | ||
| ], | ||
| "mappings": "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" | ||
| } | ||
| {"version":3,"file":"pointer.prod.js","sources":["pointer.ts"],"sourcesContent":["import type { Interaction, InteractionProxy } from '@interactjs/core/Interaction'\nimport type { ActionName, Point, RectResolvable, Element } from '@interactjs/core/types'\nimport extend from '@interactjs/utils/extend'\nimport getOriginXY from '@interactjs/utils/getOriginXY'\nimport hypot from '@interactjs/utils/hypot'\nimport is from '@interactjs/utils/is'\nimport { resolveRectLike, rectToXY } from '@interactjs/utils/rect'\n\nimport { makeModifier } from '../base'\nimport type { ModifierArg, ModifierState } from '../types'\n\nexport interface Offset {\n x: number\n y: number\n index: number\n relativePoint?: Point | null\n}\n\nexport interface SnapPosition {\n x?: number\n y?: number\n range?: number\n offset?: Offset\n [index: string]: any\n}\n\nexport type SnapFunction = (\n x: number,\n y: number,\n interaction: InteractionProxy<ActionName>,\n offset: Offset,\n index: number,\n) => SnapPosition\nexport type SnapTarget = SnapPosition | SnapFunction\nexport interface SnapOptions {\n targets?: SnapTarget[]\n // target range\n range?: number\n // self points for snapping. [0,0] = top left, [1,1] = bottom right\n relativePoints?: Point[]\n // startCoords = offset snapping from drag start page position\n offset?: Point | RectResolvable<[Interaction]> | 'startCoords'\n offsetWithOrigin?: boolean\n origin?: RectResolvable<[Element]> | Point\n endOnly?: boolean\n enabled?: boolean\n}\n\nexport type SnapState = ModifierState<\n SnapOptions,\n {\n offsets?: Offset[]\n closest?: any\n targetFields?: string[][]\n }\n>\n\nfunction start(arg: ModifierArg<SnapState>) {\n const { interaction, interactable, element, rect, state, startOffset } = arg\n const { options } = state\n const origin = options.offsetWithOrigin ? getOrigin(arg) : { x: 0, y: 0 }\n\n let snapOffset: Point\n\n if (options.offset === 'startCoords') {\n snapOffset = {\n x: interaction.coords.start.page.x,\n y: interaction.coords.start.page.y,\n }\n } else {\n const offsetRect = resolveRectLike(options.offset as any, interactable, element, [interaction])\n\n snapOffset = rectToXY(offsetRect) || { x: 0, y: 0 }\n snapOffset.x += origin.x\n snapOffset.y += origin.y\n }\n\n const { relativePoints } = options\n\n state.offsets =\n rect && relativePoints && relativePoints.length\n ? relativePoints.map((relativePoint, index) => ({\n index,\n relativePoint,\n x: startOffset.left - rect.width * relativePoint.x + snapOffset.x,\n y: startOffset.top - rect.height * relativePoint.y + snapOffset.y,\n }))\n : [\n {\n index: 0,\n relativePoint: null,\n x: snapOffset.x,\n y: snapOffset.y,\n },\n ]\n}\n\nfunction set(arg: ModifierArg<SnapState>) {\n const { interaction, coords, state } = arg\n const { options, offsets } = state\n\n const origin = getOriginXY(interaction.interactable!, interaction.element!, interaction.prepared.name)\n const page = extend({}, coords)\n const targets: SnapPosition[] = []\n\n if (!options.offsetWithOrigin) {\n page.x -= origin.x\n page.y -= origin.y\n }\n\n for (const offset of offsets!) {\n const relativeX = page.x - offset.x\n const relativeY = page.y - offset.y\n\n for (let index = 0, len = options.targets!.length; index < len; index++) {\n const snapTarget = options.targets![index]\n let target: SnapPosition\n\n if (is.func(snapTarget)) {\n target = snapTarget(relativeX, relativeY, interaction._proxy, offset, index)\n } else {\n target = snapTarget\n }\n\n if (!target) {\n continue\n }\n\n targets.push({\n x: (is.number(target.x) ? target.x : relativeX) + offset.x,\n y: (is.number(target.y) ? target.y : relativeY) + offset.y,\n\n range: is.number(target.range) ? target.range : options.range,\n source: snapTarget,\n index,\n offset,\n })\n }\n }\n\n const closest = {\n target: null,\n inRange: false,\n distance: 0,\n range: 0,\n delta: { x: 0, y: 0 },\n }\n\n for (const target of targets) {\n const range = target.range\n const dx = target.x - page.x\n const dy = target.y - page.y\n const distance = hypot(dx, dy)\n let inRange = distance <= range\n\n // Infinite targets count as being out of range\n // compared to non infinite ones that are in range\n if (range === Infinity && closest.inRange && closest.range !== Infinity) {\n inRange = false\n }\n\n if (\n !closest.target ||\n (inRange\n ? // is the closest target in range?\n closest.inRange && range !== Infinity\n ? // the pointer is relatively deeper in this target\n distance / range < closest.distance / closest.range\n : // this target has Infinite range and the closest doesn't\n (range === Infinity && closest.range !== Infinity) ||\n // OR this target is closer that the previous closest\n distance < closest.distance\n : // The other is not in range and the pointer is closer to this target\n !closest.inRange && distance < closest.distance)\n ) {\n closest.target = target\n closest.distance = distance\n closest.range = range\n closest.inRange = inRange\n closest.delta.x = dx\n closest.delta.y = dy\n }\n }\n\n if (closest.inRange) {\n coords.x = closest.target.x\n coords.y = closest.target.y\n }\n\n state.closest = closest\n return closest\n}\n\nfunction getOrigin(arg: Partial<ModifierArg<SnapState>>) {\n const { element } = arg.interaction\n const optionsOrigin = rectToXY(resolveRectLike(arg.state.options.origin as any, null, null, [element]))\n const origin = optionsOrigin || getOriginXY(arg.interactable, element, arg.interaction.prepared.name)\n\n return origin\n}\n\nconst defaults: SnapOptions = {\n range: Infinity,\n targets: null,\n offset: null,\n offsetWithOrigin: true,\n origin: null,\n relativePoints: null,\n endOnly: false,\n enabled: false,\n}\nconst snap = {\n start,\n set,\n defaults,\n}\n\nexport default makeModifier(snap, 'snap')\nexport { snap }\n"],"names":["start","interaction","interactable","element","rect","state","startOffset","options","offsetWithOrigin","getOrigin","arg","x","snapOffset","coords","page","offsetRect","resolveRectLike","offset","rectToXY","origin","relativePoints","length","map","relativePoint","index","left","width","height","set","offsets","getOriginXY","prepared","name","extend","targets","relativeX","len","y","target","snapTarget","relativeY","_proxy","push","is","number","range","source","closest","inRange","distance","dx","dy","hypot","Infinity","delta","defaults","endOnly","snap","snap$1","makeModifier"],"mappings":"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"} |
+25
-17
@@ -1,12 +0,19 @@ | ||
| "use strict"; | ||
| /** | ||
| * interact.js 1.10.26 | ||
| * | ||
| * Copyright (c) 2012-present Taye Adeyemi <dev@taye.me> | ||
| * Released under the MIT License. | ||
| * https://raw.github.com/taye/interact.js/main/LICENSE | ||
| */ | ||
| Object.defineProperty(exports, "__esModule", { | ||
| value: true | ||
| }); | ||
| exports.snapSize = exports.default = void 0; | ||
| var _extend = _interopRequireDefault(require("../../utils/extend.js")); | ||
| var _is = _interopRequireDefault(require("../../utils/is.js")); | ||
| var _base = require("../base"); | ||
| var _pointer = require("./pointer"); | ||
| function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | ||
| import extend from "../../utils/extend.js"; | ||
| import is from "../../utils/is.js"; | ||
| import { makeModifier } from '../base.js'; | ||
| import { snap } from './pointer.js'; | ||
| import '../Modification.js'; | ||
| import "../../utils/clone.js"; | ||
| import "../../utils/rect.js"; | ||
| import "../../utils/getOriginXY.js"; | ||
| import "../../utils/hypot.js"; | ||
| // This modifier allows snapping of the size of targets during resize | ||
@@ -42,3 +49,3 @@ // interactions. | ||
| state.targetFields = state.targetFields || [['width', 'height'], ['x', 'y']]; | ||
| _pointer.snap.start(arg); | ||
| snap.start(arg); | ||
| state.offsets = arg.state.offsets; | ||
@@ -61,7 +68,7 @@ arg.state = state; | ||
| }; | ||
| state.options = (0, _extend.default)({}, options); | ||
| state.options = extend({}, options); | ||
| state.options.targets = []; | ||
| for (const snapTarget of options.targets || []) { | ||
| let target; | ||
| if (_is.default.func(snapTarget)) { | ||
| if (is.func(snapTarget)) { | ||
| target = snapTarget(relative.x, relative.y, interaction); | ||
@@ -83,3 +90,3 @@ } else { | ||
| } | ||
| const returnValue = _pointer.snap.set(arg); | ||
| const returnValue = snap.set(arg); | ||
| state.options = options; | ||
@@ -95,3 +102,3 @@ return returnValue; | ||
| }; | ||
| const snapSize = exports.snapSize = { | ||
| const snapSize = { | ||
| start, | ||
@@ -101,3 +108,4 @@ set, | ||
| }; | ||
| var _default = exports.default = (0, _base.makeModifier)(snapSize, 'snapSize'); | ||
| //# sourceMappingURL=size.js.map | ||
| var snapSize$1 = makeModifier(snapSize, 'snapSize'); | ||
| export { snapSize$1 as default, snapSize }; | ||
| //# sourceMappingURL=size.js.map |
+1
-59
@@ -1,59 +0,1 @@ | ||
| { | ||
| "version": 3, | ||
| "names": [ | ||
| "_extend", | ||
| "_interopRequireDefault", | ||
| "require", | ||
| "_is", | ||
| "_base", | ||
| "_pointer", | ||
| "obj", | ||
| "__esModule", | ||
| "default", | ||
| "start", | ||
| "arg", | ||
| "state", | ||
| "edges", | ||
| "options", | ||
| "targets", | ||
| "relativePoints", | ||
| "x", | ||
| "left", | ||
| "y", | ||
| "top", | ||
| "offset", | ||
| "origin", | ||
| "range", | ||
| "targetFields", | ||
| "snap", | ||
| "offsets", | ||
| "set", | ||
| "interaction", | ||
| "coords", | ||
| "relative", | ||
| "extend", | ||
| "snapTarget", | ||
| "target", | ||
| "is", | ||
| "func", | ||
| "xField", | ||
| "yField", | ||
| "push", | ||
| "returnValue", | ||
| "defaults", | ||
| "Infinity", | ||
| "endOnly", | ||
| "enabled", | ||
| "snapSize", | ||
| "exports", | ||
| "_default", | ||
| "makeModifier" | ||
| ], | ||
| "sources": [ | ||
| "size.ts" | ||
| ], | ||
| "sourcesContent": [ | ||
| "// This modifier allows snapping of the size of targets during resize\n// interactions.\n\nimport extend from '@interactjs/utils/extend'\nimport is from '@interactjs/utils/is'\n\nimport { makeModifier } from '../base'\nimport type { ModifierArg } from '../types'\n\nimport type { SnapOptions, SnapState } from './pointer'\nimport { snap } from './pointer'\n\nexport type SnapSizeOptions = Pick<SnapOptions, 'targets' | 'offset' | 'endOnly' | 'range' | 'enabled'>\n\nfunction start(arg: ModifierArg<SnapState>) {\n const { state, edges } = arg\n const { options } = state\n\n if (!edges) {\n return null\n }\n\n arg.state = {\n options: {\n targets: null,\n relativePoints: [\n {\n x: edges.left ? 0 : 1,\n y: edges.top ? 0 : 1,\n },\n ],\n offset: options.offset || 'self',\n origin: { x: 0, y: 0 },\n range: options.range,\n },\n }\n\n state.targetFields = state.targetFields || [\n ['width', 'height'],\n ['x', 'y'],\n ]\n\n snap.start(arg)\n state.offsets = arg.state.offsets\n\n arg.state = state\n}\n\nfunction set(arg) {\n const { interaction, state, coords } = arg\n const { options, offsets } = state\n const relative = {\n x: coords.x - offsets[0].x,\n y: coords.y - offsets[0].y,\n }\n\n state.options = extend({}, options)\n state.options.targets = []\n\n for (const snapTarget of options.targets || []) {\n let target\n\n if (is.func(snapTarget)) {\n target = snapTarget(relative.x, relative.y, interaction)\n } else {\n target = snapTarget\n }\n\n if (!target) {\n continue\n }\n\n for (const [xField, yField] of state.targetFields) {\n if (xField in target || yField in target) {\n target.x = target[xField]\n target.y = target[yField]\n\n break\n }\n }\n\n state.options.targets.push(target)\n }\n\n const returnValue = snap.set(arg)\n\n state.options = options\n\n return returnValue\n}\n\nconst defaults: SnapSizeOptions = {\n range: Infinity,\n targets: null,\n offset: null,\n endOnly: false,\n enabled: false,\n}\n\nconst snapSize = {\n start,\n set,\n defaults,\n}\n\nexport default makeModifier(snapSize, 'snapSize')\nexport { snapSize }\n" | ||
| ], | ||
| "mappings": "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" | ||
| } | ||
| {"version":3,"file":"size.js","sources":["size.ts"],"sourcesContent":["// This modifier allows snapping of the size of targets during resize\n// interactions.\n\nimport extend from '@interactjs/utils/extend'\nimport is from '@interactjs/utils/is'\n\nimport { makeModifier } from '../base'\nimport type { ModifierArg } from '../types'\n\nimport type { SnapOptions, SnapState } from './pointer'\nimport { snap } from './pointer'\n\nexport type SnapSizeOptions = Pick<SnapOptions, 'targets' | 'offset' | 'endOnly' | 'range' | 'enabled'>\n\nfunction start(arg: ModifierArg<SnapState>) {\n const { state, edges } = arg\n const { options } = state\n\n if (!edges) {\n return null\n }\n\n arg.state = {\n options: {\n targets: null,\n relativePoints: [\n {\n x: edges.left ? 0 : 1,\n y: edges.top ? 0 : 1,\n },\n ],\n offset: options.offset || 'self',\n origin: { x: 0, y: 0 },\n range: options.range,\n },\n }\n\n state.targetFields = state.targetFields || [\n ['width', 'height'],\n ['x', 'y'],\n ]\n\n snap.start(arg)\n state.offsets = arg.state.offsets\n\n arg.state = state\n}\n\nfunction set(arg) {\n const { interaction, state, coords } = arg\n const { options, offsets } = state\n const relative = {\n x: coords.x - offsets[0].x,\n y: coords.y - offsets[0].y,\n }\n\n state.options = extend({}, options)\n state.options.targets = []\n\n for (const snapTarget of options.targets || []) {\n let target\n\n if (is.func(snapTarget)) {\n target = snapTarget(relative.x, relative.y, interaction)\n } else {\n target = snapTarget\n }\n\n if (!target) {\n continue\n }\n\n for (const [xField, yField] of state.targetFields) {\n if (xField in target || yField in target) {\n target.x = target[xField]\n target.y = target[yField]\n\n break\n }\n }\n\n state.options.targets.push(target)\n }\n\n const returnValue = snap.set(arg)\n\n state.options = options\n\n return returnValue\n}\n\nconst defaults: SnapSizeOptions = {\n range: Infinity,\n targets: null,\n offset: null,\n endOnly: false,\n enabled: false,\n}\n\nconst snapSize = {\n start,\n set,\n defaults,\n}\n\nexport default makeModifier(snapSize, 'snapSize')\nexport { snapSize }\n"],"names":["start","arg","state","edges","options","targets","relativePoints","x","left","y","top","offset","origin","range","targetFields","snap","offsets","set","interaction","coords","relative","extend","snapTarget","target","is","func","xField","yField","push","returnValue","defaults","Infinity","endOnly","enabled","snapSize","makeModifier"],"mappings":"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"} |
@@ -1,2 +0,4 @@ | ||
| Object.defineProperty(exports,"__esModule",{value:!0}),exports.snapSize=exports.default=void 0;var t=r(require("../../utils/extend.prod.js")),e=r(require("../../utils/is.prod.js")),s=require("../base"),o=require("./pointer");function r(t){return t&&t.__esModule?t:{default:t}}const n=exports.snapSize={start(t){const{state:e,edges:s}=t,{options:r}=e;if(!s)return null;t.state={options:{targets:null,relativePoints:[{x:s.left?0:1,y:s.top?0:1}],offset:r.offset||"self",origin:{x:0,y:0},range:r.range}},e.targetFields=e.targetFields||[["width","height"],["x","y"]],o.snap.start(t),e.offsets=t.state.offsets,t.state=e},set(s){const{interaction:r,state:n,coords:i}=s,{options:a,offsets:f}=n,l={x:i.x-f[0].x,y:i.y-f[0].y};n.options=(0,t.default)({},a),n.options.targets=[];for(const t of a.targets||[]){let s;if(s=e.default.func(t)?t(l.x,l.y,r):t,s){for(const[t,e]of n.targetFields)if(t in s||e in s){s.x=s[t],s.y=s[e];break}n.options.targets.push(s)}}const u=o.snap.set(s);return n.options=a,u},defaults:{range:1/0,targets:null,offset:null,endOnly:!1,enabled:!1}};exports.default=(0,s.makeModifier)(n,"snapSize"); | ||
| //# sourceMappingURL=size.prod.js.map | ||
| /* interact.js 1.10.26 | https://raw.github.com/taye/interact.js/main/LICENSE */ | ||
| import extend from"../../utils/extend.prod.js";import is from"../../utils/is.prod.js";import{makeModifier}from"../base.prod.js";import{snap}from"./pointer.prod.js";import"../Modification.prod.js";import"../../utils/clone.prod.js";import"../../utils/rect.prod.js";import"../../utils/getOriginXY.prod.js";import"../../utils/hypot.prod.js";function start(t){const{state:s,edges:e}=t,{options:o}=s;if(!e)return null;t.state={options:{targets:null,relativePoints:[{x:e.left?0:1,y:e.top?0:1}],offset:o.offset||"self",origin:{x:0,y:0},range:o.range}},s.targetFields=s.targetFields||[["width","height"],["x","y"]],snap.start(t),s.offsets=t.state.offsets,t.state=s}function set(t){const{interaction:s,state:e,coords:o}=t,{options:i,offsets:r}=e,n={x:o.x-r[0].x,y:o.y-r[0].y};e.options=extend({},i),e.options.targets=[];for(const t of i.targets||[]){let o;if(o=is.func(t)?t(n.x,n.y,s):t,o){for(const[t,s]of e.targetFields)if(t in o||s in o){o.x=o[t],o.y=o[s];break}e.options.targets.push(o)}}const a=snap.set(t);return e.options=i,a}const defaults={range:1/0,targets:null,offset:null,endOnly:!1,enabled:!1},snapSize={start:start,set:set,defaults:defaults};var snapSize$1=makeModifier(snapSize,"snapSize");export{snapSize$1 as default,snapSize}; | ||
| //# sourceMappingURL=size.prod.js.map |
@@ -1,58 +0,1 @@ | ||
| { | ||
| "version": 3, | ||
| "names": [ | ||
| "_extendProd", | ||
| "_interopRequireDefault", | ||
| "require", | ||
| "_isProd", | ||
| "_base", | ||
| "_pointer", | ||
| "obj", | ||
| "__esModule", | ||
| "default", | ||
| "snapSize", | ||
| "exports", | ||
| "start", | ||
| "arg", | ||
| "state", | ||
| "edges", | ||
| "options", | ||
| "targets", | ||
| "relativePoints", | ||
| "x", | ||
| "left", | ||
| "y", | ||
| "top", | ||
| "offset", | ||
| "origin", | ||
| "range", | ||
| "targetFields", | ||
| "snap", | ||
| "offsets", | ||
| "set", | ||
| "interaction", | ||
| "coords", | ||
| "relative", | ||
| "extend", | ||
| "snapTarget", | ||
| "target", | ||
| "is", | ||
| "func", | ||
| "xField", | ||
| "yField", | ||
| "push", | ||
| "returnValue", | ||
| "defaults", | ||
| "Infinity", | ||
| "endOnly", | ||
| "enabled", | ||
| "makeModifier" | ||
| ], | ||
| "sources": [ | ||
| "size.ts" | ||
| ], | ||
| "sourcesContent": [ | ||
| "// This modifier allows snapping of the size of targets during resize\n// interactions.\n\nimport extend from '@interactjs/utils/extend'\nimport is from '@interactjs/utils/is'\n\nimport { makeModifier } from '../base'\nimport type { ModifierArg } from '../types'\n\nimport type { SnapOptions, SnapState } from './pointer'\nimport { snap } from './pointer'\n\nexport type SnapSizeOptions = Pick<SnapOptions, 'targets' | 'offset' | 'endOnly' | 'range' | 'enabled'>\n\nfunction start(arg: ModifierArg<SnapState>) {\n const { state, edges } = arg\n const { options } = state\n\n if (!edges) {\n return null\n }\n\n arg.state = {\n options: {\n targets: null,\n relativePoints: [\n {\n x: edges.left ? 0 : 1,\n y: edges.top ? 0 : 1,\n },\n ],\n offset: options.offset || 'self',\n origin: { x: 0, y: 0 },\n range: options.range,\n },\n }\n\n state.targetFields = state.targetFields || [\n ['width', 'height'],\n ['x', 'y'],\n ]\n\n snap.start(arg)\n state.offsets = arg.state.offsets\n\n arg.state = state\n}\n\nfunction set(arg) {\n const { interaction, state, coords } = arg\n const { options, offsets } = state\n const relative = {\n x: coords.x - offsets[0].x,\n y: coords.y - offsets[0].y,\n }\n\n state.options = extend({}, options)\n state.options.targets = []\n\n for (const snapTarget of options.targets || []) {\n let target\n\n if (is.func(snapTarget)) {\n target = snapTarget(relative.x, relative.y, interaction)\n } else {\n target = snapTarget\n }\n\n if (!target) {\n continue\n }\n\n for (const [xField, yField] of state.targetFields) {\n if (xField in target || yField in target) {\n target.x = target[xField]\n target.y = target[yField]\n\n break\n }\n }\n\n state.options.targets.push(target)\n }\n\n const returnValue = snap.set(arg)\n\n state.options = options\n\n return returnValue\n}\n\nconst defaults: SnapSizeOptions = {\n range: Infinity,\n targets: null,\n offset: null,\n endOnly: false,\n enabled: false,\n}\n\nconst snapSize = {\n start,\n set,\n defaults,\n}\n\nexport default makeModifier(snapSize, 'snapSize')\nexport { snapSize }\n" | ||
| ], | ||
| "mappings": "+FAGA,IAAAA,EAAAC,EAAAC,QAAA,+BACAC,EAAAF,EAAAC,QAAA,2BAEAE,EAAAF,QAAA,WAIAG,EAAAH,QAAA,aAAgC,SAAAD,EAAAK,GAAA,OAAAA,KAAAC,WAAAD,EAAA,CAAAE,QAAAF,EAAA,CAiFhC,MAQMG,EAAQC,QAAAD,SAAG,CACfE,MAtFaC,GACb,MAAMC,MAAEA,EAAKC,MAAEA,GAAUF,GACnBG,QAAEA,GAAYF,EAEpB,IAAKC,EACH,OAAO,KAGTF,EAAIC,MAAQ,CACVE,QAAS,CACPC,QAAS,KACTC,eAAgB,CACd,CACEC,EAAGJ,EAAMK,KAAO,EAAI,EACpBC,EAAGN,EAAMO,IAAM,EAAI,IAGvBC,OAAQP,EAAQO,QAAU,OAC1BC,OAAQ,CAAEL,EAAG,EAAGE,EAAG,GACnBI,MAAOT,EAAQS,QAInBX,EAAMY,aAAeZ,EAAMY,cAAgB,CACzC,CAAC,QAAS,UACV,CAAC,IAAK,MAGRC,OAAKf,MAAMC,GACXC,EAAMc,QAAUf,EAAIC,MAAMc,QAE1Bf,EAAIC,MAAQA,CACd,EAuDEe,IArDWhB,GACX,MAAMiB,YAAEA,EAAWhB,MAAEA,EAAKiB,OAAEA,GAAWlB,GACjCG,QAAEA,EAAOY,QAAEA,GAAYd,EACvBkB,EAAW,CACfb,EAAGY,EAAOZ,EAAIS,EAAQ,GAAGT,EACzBE,EAAGU,EAAOV,EAAIO,EAAQ,GAAGP,GAG3BP,EAAME,SAAU,EAAAiB,WAAO,CAAC,EAAGjB,GAC3BF,EAAME,QAAQC,QAAU,GAExB,IAAK,MAAMiB,KAAclB,EAAQC,SAAW,GAAI,CAC9C,IAAIkB,EAQJ,GALEA,EADEC,UAAGC,KAAKH,GACDA,EAAWF,EAASb,EAAGa,EAASX,EAAGS,GAEnCI,EAGNC,EAAL,CAIA,IAAK,MAAOG,EAAQC,KAAWzB,EAAMY,aACnC,GAAIY,KAAUH,GAAUI,KAAUJ,EAAQ,CACxCA,EAAOhB,EAAIgB,EAAOG,GAClBH,EAAOd,EAAIc,EAAOI,GAElB,KACF,CAGFzB,EAAME,QAAQC,QAAQuB,KAAKL,EAX3B,CAYF,CAEA,MAAMM,EAAcd,OAAKE,IAAIhB,GAI7B,OAFAC,EAAME,QAAUA,EAETyB,CACT,EAaEC,SAXgC,CAChCjB,MAAOkB,IACP1B,QAAS,KACTM,OAAQ,KACRqB,SAAS,EACTC,SAAS,IAOVlC,QAAAF,SAEc,EAAAqC,gBAAapC,EAAU" | ||
| } | ||
| {"version":3,"file":"size.prod.js","sources":["size.ts"],"sourcesContent":["// This modifier allows snapping of the size of targets during resize\n// interactions.\n\nimport extend from '@interactjs/utils/extend'\nimport is from '@interactjs/utils/is'\n\nimport { makeModifier } from '../base'\nimport type { ModifierArg } from '../types'\n\nimport type { SnapOptions, SnapState } from './pointer'\nimport { snap } from './pointer'\n\nexport type SnapSizeOptions = Pick<SnapOptions, 'targets' | 'offset' | 'endOnly' | 'range' | 'enabled'>\n\nfunction start(arg: ModifierArg<SnapState>) {\n const { state, edges } = arg\n const { options } = state\n\n if (!edges) {\n return null\n }\n\n arg.state = {\n options: {\n targets: null,\n relativePoints: [\n {\n x: edges.left ? 0 : 1,\n y: edges.top ? 0 : 1,\n },\n ],\n offset: options.offset || 'self',\n origin: { x: 0, y: 0 },\n range: options.range,\n },\n }\n\n state.targetFields = state.targetFields || [\n ['width', 'height'],\n ['x', 'y'],\n ]\n\n snap.start(arg)\n state.offsets = arg.state.offsets\n\n arg.state = state\n}\n\nfunction set(arg) {\n const { interaction, state, coords } = arg\n const { options, offsets } = state\n const relative = {\n x: coords.x - offsets[0].x,\n y: coords.y - offsets[0].y,\n }\n\n state.options = extend({}, options)\n state.options.targets = []\n\n for (const snapTarget of options.targets || []) {\n let target\n\n if (is.func(snapTarget)) {\n target = snapTarget(relative.x, relative.y, interaction)\n } else {\n target = snapTarget\n }\n\n if (!target) {\n continue\n }\n\n for (const [xField, yField] of state.targetFields) {\n if (xField in target || yField in target) {\n target.x = target[xField]\n target.y = target[yField]\n\n break\n }\n }\n\n state.options.targets.push(target)\n }\n\n const returnValue = snap.set(arg)\n\n state.options = options\n\n return returnValue\n}\n\nconst defaults: SnapSizeOptions = {\n range: Infinity,\n targets: null,\n offset: null,\n endOnly: false,\n enabled: false,\n}\n\nconst snapSize = {\n start,\n set,\n defaults,\n}\n\nexport default makeModifier(snapSize, 'snapSize')\nexport { snapSize }\n"],"names":["start","arg","state","edges","options","targets","relativePoints","x","left","y","top","offset","origin","range","targetFields","snap","offsets","set","interaction","coords","relative","extend","snapTarget","target","is","func","xField","yField","push","returnValue","defaults","Infinity","endOnly","enabled","snapSize","snapSize$1","makeModifier"],"mappings":";;iVAcA,SAASA,MAAMC,GACb,MAAMC,MAAEA,EAAKC,MAAEA,GAAUF,GACnBG,QAAEA,GAAYF,EAEpB,IAAKC,EACH,OAAO,KAGTF,EAAIC,MAAQ,CACVE,QAAS,CACPC,QAAS,KACTC,eAAgB,CACd,CACEC,EAAGJ,EAAMK,KAAO,EAAI,EACpBC,EAAGN,EAAMO,IAAM,EAAI,IAGvBC,OAAQP,EAAQO,QAAU,OAC1BC,OAAQ,CAAEL,EAAG,EAAGE,EAAG,GACnBI,MAAOT,EAAQS,QAInBX,EAAMY,aAAeZ,EAAMY,cAAgB,CACzC,CAAC,QAAS,UACV,CAAC,IAAK,MAGRC,KAAKf,MAAMC,GACXC,EAAMc,QAAUf,EAAIC,MAAMc,QAE1Bf,EAAIC,MAAQA,CACd,CAEA,SAASe,IAAIhB,GACX,MAAMiB,YAAEA,EAAWhB,MAAEA,EAAKiB,OAAEA,GAAWlB,GACjCG,QAAEA,EAAOY,QAAEA,GAAYd,EACvBkB,EAAW,CACfb,EAAGY,EAAOZ,EAAIS,EAAQ,GAAGT,EACzBE,EAAGU,EAAOV,EAAIO,EAAQ,GAAGP,GAG3BP,EAAME,QAAUiB,OAAO,CAAE,EAAEjB,GAC3BF,EAAME,QAAQC,QAAU,GAExB,IAAK,MAAMiB,KAAclB,EAAQC,SAAW,GAAI,CAC9C,IAAIkB,EAQJ,GALEA,EADEC,GAAGC,KAAKH,GACDA,EAAWF,EAASb,EAAGa,EAASX,EAAGS,GAEnCI,EAGNC,EAAL,CAIA,IAAK,MAAOG,EAAQC,KAAWzB,EAAMY,aACnC,GAAIY,KAAUH,GAAUI,KAAUJ,EAAQ,CACxCA,EAAOhB,EAAIgB,EAAOG,GAClBH,EAAOd,EAAIc,EAAOI,GAElB,KACF,CAGFzB,EAAME,QAAQC,QAAQuB,KAAKL,EAX3B,CAYF,CAEA,MAAMM,EAAcd,KAAKE,IAAIhB,GAI7B,OAFAC,EAAME,QAAUA,EAETyB,CACT,CAEA,MAAMC,SAA4B,CAChCjB,MAAOkB,IACP1B,QAAS,KACTM,OAAQ,KACRqB,SAAS,EACTC,SAAS,GAGLC,SAAW,CACflC,YACAiB,QACAa,mBAGF,IAAAK,WAAeC,aAAaF,SAAU"} |
+9
-13
@@ -1,14 +0,10 @@ | ||
| "use strict"; | ||
| /** | ||
| * interact.js 1.10.26 | ||
| * | ||
| * Copyright (c) 2012-present Taye Adeyemi <dev@taye.me> | ||
| * Released under the MIT License. | ||
| * https://raw.github.com/taye/interact.js/main/LICENSE | ||
| */ | ||
| Object.defineProperty(exports, "__esModule", { | ||
| value: true | ||
| }); | ||
| Object.defineProperty(exports, "default", { | ||
| enumerable: true, | ||
| get: function () { | ||
| return _noop.default; | ||
| } | ||
| }); | ||
| var _noop = _interopRequireDefault(require("../noop")); | ||
| function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | ||
| //# sourceMappingURL=spring.js.map | ||
| export { default } from '../noop.js'; | ||
| //# sourceMappingURL=spring.js.map |
+1
-18
@@ -1,18 +0,1 @@ | ||
| { | ||
| "version": 3, | ||
| "names": [ | ||
| "_noop", | ||
| "_interopRequireDefault", | ||
| "require", | ||
| "obj", | ||
| "__esModule", | ||
| "default" | ||
| ], | ||
| "sources": [ | ||
| "spring.ts" | ||
| ], | ||
| "sourcesContent": [ | ||
| "export { default } from '../noop'\n" | ||
| ], | ||
| "mappings": ";;;;;;;;;;;AAAA,IAAAA,KAAA,GAAAC,sBAAA,CAAAC,OAAA;AAAiC,SAAAD,uBAAAE,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA" | ||
| } | ||
| {"version":3,"file":"spring.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;"} |
@@ -1,2 +0,4 @@ | ||
| Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"default",{enumerable:!0,get:()=>r.default});var e,r=(e=require("../noop"))&&e.__esModule?e:{default:e}; | ||
| //# sourceMappingURL=spring.prod.js.map | ||
| /* interact.js 1.10.26 | https://raw.github.com/taye/interact.js/main/LICENSE */ | ||
| export{default}from"../noop.prod.js"; | ||
| //# sourceMappingURL=spring.prod.js.map |
@@ -1,17 +0,1 @@ | ||
| { | ||
| "version": 3, | ||
| "names": [ | ||
| "obj", | ||
| "_noop", | ||
| "require", | ||
| "__esModule", | ||
| "default" | ||
| ], | ||
| "sources": [ | ||
| "spring.ts" | ||
| ], | ||
| "sourcesContent": [ | ||
| "export { default } from '../noop'\n" | ||
| ], | ||
| "mappings": "kIAAA,IAAiCA,EAAjCC,GAAiCD,EAAjCE,QAAA,aAAiCF,EAAAG,WAAAH,EAAA,CAAAI,QAAAJ" | ||
| } | ||
| {"version":3,"file":"spring.prod.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;"} |
@@ -1,14 +0,10 @@ | ||
| "use strict"; | ||
| /** | ||
| * interact.js 1.10.26 | ||
| * | ||
| * Copyright (c) 2012-present Taye Adeyemi <dev@taye.me> | ||
| * Released under the MIT License. | ||
| * https://raw.github.com/taye/interact.js/main/LICENSE | ||
| */ | ||
| Object.defineProperty(exports, "__esModule", { | ||
| value: true | ||
| }); | ||
| Object.defineProperty(exports, "default", { | ||
| enumerable: true, | ||
| get: function () { | ||
| return _noop.default; | ||
| } | ||
| }); | ||
| var _noop = _interopRequireDefault(require("../noop")); | ||
| function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | ||
| //# sourceMappingURL=transform.js.map | ||
| export { default } from '../noop.js'; | ||
| //# sourceMappingURL=transform.js.map |
@@ -1,18 +0,1 @@ | ||
| { | ||
| "version": 3, | ||
| "names": [ | ||
| "_noop", | ||
| "_interopRequireDefault", | ||
| "require", | ||
| "obj", | ||
| "__esModule", | ||
| "default" | ||
| ], | ||
| "sources": [ | ||
| "transform.ts" | ||
| ], | ||
| "sourcesContent": [ | ||
| "export { default } from '../noop'\n" | ||
| ], | ||
| "mappings": ";;;;;;;;;;;AAAA,IAAAA,KAAA,GAAAC,sBAAA,CAAAC,OAAA;AAAiC,SAAAD,uBAAAE,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA" | ||
| } | ||
| {"version":3,"file":"transform.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;"} |
@@ -1,2 +0,4 @@ | ||
| Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"default",{enumerable:!0,get:()=>r.default});var e,r=(e=require("../noop"))&&e.__esModule?e:{default:e}; | ||
| //# sourceMappingURL=transform.prod.js.map | ||
| /* interact.js 1.10.26 | https://raw.github.com/taye/interact.js/main/LICENSE */ | ||
| export{default}from"../noop.prod.js"; | ||
| //# sourceMappingURL=transform.prod.js.map |
@@ -1,17 +0,1 @@ | ||
| { | ||
| "version": 3, | ||
| "names": [ | ||
| "obj", | ||
| "_noop", | ||
| "require", | ||
| "__esModule", | ||
| "default" | ||
| ], | ||
| "sources": [ | ||
| "transform.ts" | ||
| ], | ||
| "sourcesContent": [ | ||
| "export { default } from '../noop'\n" | ||
| ], | ||
| "mappings": "kIAAA,IAAiCA,EAAjCC,GAAiCD,EAAjCE,QAAA,aAAiCF,EAAAG,WAAAH,EAAA,CAAAI,QAAAJ" | ||
| } | ||
| {"version":3,"file":"transform.prod.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;"} |
+8
-6
@@ -1,6 +0,8 @@ | ||
| "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { | ||
| value: true | ||
| }); | ||
| //# sourceMappingURL=types.js.map | ||
| /** | ||
| * interact.js 1.10.26 | ||
| * | ||
| * Copyright (c) 2012-present Taye Adeyemi <dev@taye.me> | ||
| * Released under the MIT License. | ||
| * https://raw.github.com/taye/interact.js/main/LICENSE | ||
| */ | ||
| //# sourceMappingURL=types.js.map |
+1
-11
@@ -1,11 +0,1 @@ | ||
| { | ||
| "version": 3, | ||
| "names": [], | ||
| "sources": [ | ||
| "types.ts" | ||
| ], | ||
| "sourcesContent": [ | ||
| "import type { Interactable } from '@interactjs/core/Interactable'\nimport type { EventPhase } from '@interactjs/core/InteractEvent'\nimport type Interaction from '@interactjs/core/Interaction'\nimport type { EdgeOptions, FullRect, Point, Rect } from '@interactjs/core/types'\n\nexport interface Modifier<\n Defaults = any,\n State extends ModifierState = any,\n Name extends string = any,\n Result = any,\n> {\n options: Defaults\n methods: {\n start?: (arg: ModifierArg<State>) => void\n set?: (arg: ModifierArg<State>) => Result\n beforeEnd?: (arg: ModifierArg<State>) => Point | void\n stop?: (arg: ModifierArg<State>) => void\n }\n name?: Name\n enable: () => Modifier<Defaults, State, Name, Result>\n disable: () => Modifier<Defaults, State, Name, Result>\n}\n\nexport type ModifierState<Defaults = unknown, StateProps = unknown, Name extends string = any> = {\n options: Defaults\n methods?: Modifier<Defaults>['methods']\n index?: number\n name?: Name\n} & StateProps\n\nexport interface ModifierArg<State extends ModifierState = ModifierState> {\n interaction: Interaction\n interactable: Interactable\n phase: EventPhase\n rect: FullRect\n edges: EdgeOptions\n state: State\n element: Element\n pageCoords: Point\n prevCoords: Point\n prevRect?: FullRect\n coords: Point\n startOffset: Rect\n preEnd?: boolean\n}\n\nexport interface ModifierModule<\n Defaults extends { enabled?: boolean },\n State extends ModifierState,\n Result = unknown,\n> {\n defaults?: Defaults\n start?(arg: ModifierArg<State>): void\n set?(arg: ModifierArg<State>): Result\n beforeEnd?(arg: ModifierArg<State>): Point | void\n stop?(arg: ModifierArg<State>): void\n}\n\nexport interface ModifierFunction<\n Defaults extends { enabled?: boolean },\n State extends ModifierState,\n Name extends string,\n> {\n (_options?: Partial<Defaults>): Modifier<Defaults, State, Name>\n _defaults: Defaults\n _methods: ModifierModule<Defaults, State>\n}\n" | ||
| ], | ||
| "mappings": "" | ||
| } | ||
| {"version":3,"file":"types.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;"} |
+3
-2
@@ -1,2 +0,3 @@ | ||
| Object.defineProperty(exports,"__esModule",{value:!0}); | ||
| //# sourceMappingURL=types.prod.js.map | ||
| /* interact.js 1.10.26 | https://raw.github.com/taye/interact.js/main/LICENSE */ | ||
| //# sourceMappingURL=types.prod.js.map |
@@ -1,6 +0,1 @@ | ||
| { | ||
| "version": 3, | ||
| "names": [], | ||
| "sources": [], | ||
| "mappings": "" | ||
| } | ||
| {"version":3,"file":"types.prod.js","sources":[],"sourcesContent":[],"names":[],"mappings":""} |
Long strings
Supply chain riskContains long string literals, which may be a sign of obfuscated or packed code.
Found 1 instance in 1 package
Minified code
QualityThis package contains minified code. This may be harmless in some cases where minified code is included in packaged libraries, however packages on npm should not minify code.
Found 2 instances in 1 package
Long strings
Supply chain riskContains long string literals, which may be a sign of obfuscated or packed code.
Found 1 instance in 1 package
Minified code
QualityThis package contains minified code. This may be harmless in some cases where minified code is included in packaged libraries, however packages on npm should not minify code.
Found 2 instances in 1 package
118
15.69%2423
7.98%11
-15.38%251668
-7.36%+ Added
+ Added
+ Added
+ Added
- Removed
- Removed
- Removed
- Removed
Updated