@bigmistqke/minni 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +22 -0
- package/dist/chunk-72AXEIDX.cjs +1 -0
- package/dist/chunk-ZCVFACLD.js +1 -0
- package/dist/index.cjs +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1 -0
- package/dist/sum.cjs +1 -0
- package/dist/sum.d.ts +3 -0
- package/dist/sum.js +1 -0
- package/lib/index.cjs +40 -0
- package/lib/index.d.ts +9 -0
- package/lib/index.js +40 -0
- package/package.json +39 -0
package/README.md
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
## 🐭 minni, a minimal drag utility
|
|
2
|
+
|
|
3
|
+
```ts
|
|
4
|
+
import {minni} from "@bigmistqke/minni"
|
|
5
|
+
|
|
6
|
+
const mouseDownHandler = async (e: MouseEvent) => {
|
|
7
|
+
console.log('start dragging')
|
|
8
|
+
const delta = await minni(e, (delta) => {
|
|
9
|
+
...
|
|
10
|
+
})
|
|
11
|
+
console.log('finished dragging:', delta)
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
const touchStartHandler = async (e: TouchEvent) => {
|
|
15
|
+
console.log('start dragging')
|
|
16
|
+
const delta = await minni(e, (delta) => {
|
|
17
|
+
...
|
|
18
|
+
})
|
|
19
|
+
console.log('finished dragging:', delta)
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
```
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var n=(e,m)=>e+m;exports.a = n;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var n=(e,m)=>e+m;export{n as a};
|
package/dist/index.cjs
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunk72AXEIDXcjs = require('./chunk-72AXEIDX.cjs');exports.sum = _chunk72AXEIDXcjs.a;
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { sum } from './sum.js';
|
package/dist/index.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as m}from"./chunk-ZCVFACLD.js";export{m as sum};
|
package/dist/sum.cjs
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunk72AXEIDXcjs = require('./chunk-72AXEIDX.cjs');exports.sum = _chunk72AXEIDXcjs.a;
|
package/dist/sum.d.ts
ADDED
package/dist/sum.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a}from"./chunk-ZCVFACLD.js";export{a as sum};
|
package/lib/index.cjs
ADDED
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }const minni = (event, callback) => new Promise((resolve) => {
|
|
2
|
+
if ("touches" in event) {
|
|
3
|
+
const start = {
|
|
4
|
+
x: event.touches[0].clientX,
|
|
5
|
+
y: event.touches[0].clientY
|
|
6
|
+
};
|
|
7
|
+
const getDelta = (event2) => ({
|
|
8
|
+
x: event2.touches[0].clientX - start.x,
|
|
9
|
+
y: start.y - event2.touches[0].clientY
|
|
10
|
+
});
|
|
11
|
+
const move = (event2) => _optionalChain([callback, 'optionalCall', _ => _(getDelta(event2), event2)]);
|
|
12
|
+
const end = (event2) => {
|
|
13
|
+
window.removeEventListener("touchmove", move);
|
|
14
|
+
window.removeEventListener("touchend", end);
|
|
15
|
+
resolve(getDelta(event2));
|
|
16
|
+
};
|
|
17
|
+
window.addEventListener("touchmove", move);
|
|
18
|
+
window.addEventListener("touchend", end);
|
|
19
|
+
} else {
|
|
20
|
+
const start = {
|
|
21
|
+
x: event.clientX,
|
|
22
|
+
y: event.clientY
|
|
23
|
+
};
|
|
24
|
+
const getDelta = (event2) => ({
|
|
25
|
+
x: event2.clientX - start.x,
|
|
26
|
+
y: start.y - event2.clientY
|
|
27
|
+
});
|
|
28
|
+
const move = (event2) => _optionalChain([callback, 'optionalCall', _2 => _2(getDelta(event2), event2)]);
|
|
29
|
+
const end = (event2) => {
|
|
30
|
+
window.removeEventListener("mousemove", move);
|
|
31
|
+
window.removeEventListener("mouseup", end);
|
|
32
|
+
resolve(getDelta(event2));
|
|
33
|
+
};
|
|
34
|
+
window.addEventListener("mousemove", move);
|
|
35
|
+
window.addEventListener("mouseup", end);
|
|
36
|
+
}
|
|
37
|
+
});
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
exports.minni = minni;
|
package/lib/index.d.ts
ADDED
package/lib/index.js
ADDED
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
const minni = (event, callback) => new Promise((resolve) => {
|
|
2
|
+
if ("touches" in event) {
|
|
3
|
+
const start = {
|
|
4
|
+
x: event.touches[0].clientX,
|
|
5
|
+
y: event.touches[0].clientY
|
|
6
|
+
};
|
|
7
|
+
const getDelta = (event2) => ({
|
|
8
|
+
x: event2.touches[0].clientX - start.x,
|
|
9
|
+
y: start.y - event2.touches[0].clientY
|
|
10
|
+
});
|
|
11
|
+
const move = (event2) => callback?.(getDelta(event2), event2);
|
|
12
|
+
const end = (event2) => {
|
|
13
|
+
window.removeEventListener("touchmove", move);
|
|
14
|
+
window.removeEventListener("touchend", end);
|
|
15
|
+
resolve(getDelta(event2));
|
|
16
|
+
};
|
|
17
|
+
window.addEventListener("touchmove", move);
|
|
18
|
+
window.addEventListener("touchend", end);
|
|
19
|
+
} else {
|
|
20
|
+
const start = {
|
|
21
|
+
x: event.clientX,
|
|
22
|
+
y: event.clientY
|
|
23
|
+
};
|
|
24
|
+
const getDelta = (event2) => ({
|
|
25
|
+
x: event2.clientX - start.x,
|
|
26
|
+
y: start.y - event2.clientY
|
|
27
|
+
});
|
|
28
|
+
const move = (event2) => callback?.(getDelta(event2), event2);
|
|
29
|
+
const end = (event2) => {
|
|
30
|
+
window.removeEventListener("mousemove", move);
|
|
31
|
+
window.removeEventListener("mouseup", end);
|
|
32
|
+
resolve(getDelta(event2));
|
|
33
|
+
};
|
|
34
|
+
window.addEventListener("mousemove", move);
|
|
35
|
+
window.addEventListener("mouseup", end);
|
|
36
|
+
}
|
|
37
|
+
});
|
|
38
|
+
export {
|
|
39
|
+
minni
|
|
40
|
+
};
|
package/package.json
ADDED
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@bigmistqke/minni",
|
|
3
|
+
"version": "0.0.1",
|
|
4
|
+
"description": "minimal drag utility",
|
|
5
|
+
"author": "bigmistqke",
|
|
6
|
+
"license": "MIT",
|
|
7
|
+
"url": "https://github.com/bigmistqke/minni",
|
|
8
|
+
"scripts": {
|
|
9
|
+
"ts-types": "tsc",
|
|
10
|
+
"build:dev": "rimraf lib && tsup --watch",
|
|
11
|
+
"build:prod": "rimraf dist && env NODE_ENV=production tsup",
|
|
12
|
+
"build:watch": "tsup --watch",
|
|
13
|
+
"lint:fix": "eslint ./src --ext .ts,.tsx --quiet --fix --ignore-path ./.gitignore",
|
|
14
|
+
"lint:format": "prettier --loglevel warn --write \"./**/*.{ts,tsx,css,md,json}\" ",
|
|
15
|
+
"lint": "yarn lint:format && yarn lint:fix "
|
|
16
|
+
},
|
|
17
|
+
"devDependencies": {
|
|
18
|
+
"@typescript-eslint/eslint-plugin": "^5.27.0",
|
|
19
|
+
"@typescript-eslint/parser": "^5.27.0",
|
|
20
|
+
"prettier": "^2.6.2",
|
|
21
|
+
"rimraf": "^3.0.2",
|
|
22
|
+
"tsup": "^6.0.1"
|
|
23
|
+
},
|
|
24
|
+
"main": "dist/index.cjs",
|
|
25
|
+
"module": "dist/index.js",
|
|
26
|
+
"types": "dist/index.d.ts",
|
|
27
|
+
"type": "module",
|
|
28
|
+
"dependencies": {
|
|
29
|
+
"typescript": "^4.7.2"
|
|
30
|
+
},
|
|
31
|
+
"files": [
|
|
32
|
+
"lib",
|
|
33
|
+
"dist"
|
|
34
|
+
],
|
|
35
|
+
"directories": {
|
|
36
|
+
"lib": "lib"
|
|
37
|
+
},
|
|
38
|
+
"keywords": []
|
|
39
|
+
}
|