@blackbyte/sugar 1.0.0-beta.21 → 1.0.0-beta.23
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/dist/js/dom/_exports.d.ts +1 -0
- package/dist/js/dom/_exports.js +1 -0
- package/dist/js/dom/_exports.js.map +1 -1
- package/dist/js/dom/canvas/drawVideoToCanvas.d.ts +1 -1
- package/dist/js/dom/canvas/drawVideoToCanvas.js +1 -1
- package/dist/js/dom/scroll/_exports.d.ts +3 -0
- package/dist/js/dom/scroll/_exports.js +4 -0
- package/dist/js/dom/scroll/_exports.js.map +1 -0
- package/dist/js/dom/scroll/lockScroll.d.ts +25 -0
- package/dist/js/dom/scroll/lockScroll.js +55 -0
- package/dist/js/dom/scroll/lockScroll.js.map +1 -0
- package/dist/js/dom/scroll/unlockScroll.d.ts +23 -0
- package/dist/js/dom/scroll/unlockScroll.js +44 -0
- package/dist/js/dom/scroll/unlockScroll.js.map +1 -0
- package/package.json +6 -5
|
@@ -11,6 +11,7 @@ export * from './on/_exports.js';
|
|
|
11
11
|
export * from './position/_exports.js';
|
|
12
12
|
export * from './query/_exports.js';
|
|
13
13
|
export * from './script/_exports.js';
|
|
14
|
+
export * from './scroll/_exports.js';
|
|
14
15
|
export * from './selection/_exports.js';
|
|
15
16
|
export * from './style/_exports.js';
|
|
16
17
|
export * from './when/_exports.js';
|
package/dist/js/dom/_exports.js
CHANGED
|
@@ -11,6 +11,7 @@ export * from './on/_exports.js';
|
|
|
11
11
|
export * from './position/_exports.js';
|
|
12
12
|
export * from './query/_exports.js';
|
|
13
13
|
export * from './script/_exports.js';
|
|
14
|
+
export * from './scroll/_exports.js';
|
|
14
15
|
export * from './selection/_exports.js';
|
|
15
16
|
export * from './style/_exports.js';
|
|
16
17
|
export * from './when/_exports.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_exports.js","sourceRoot":"","sources":["../../../src/js/dom/_exports.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,wBAAwB,CAAC;AACvC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AACvC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC;AACxC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC"}
|
|
1
|
+
{"version":3,"file":"_exports.js","sourceRoot":"","sources":["../../../src/js/dom/_exports.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,wBAAwB,CAAC;AACvC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AACvC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC;AACxC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC"}
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
* import { drawVideoToCanvas } from '@blackbyte/sugar/js/dom';
|
|
19
19
|
* const $canvas = drawVideoToCanvas($video);
|
|
20
20
|
*
|
|
21
|
-
* @since 1.0.0
|
|
21
|
+
* @since 1.0.0-beta.21
|
|
22
22
|
* @author Olivier Bossel<olivier.bossel@gmail.com>
|
|
23
23
|
*/
|
|
24
24
|
export default function drawVideoToCanvas($video: HTMLVideoElement, $canvas?: HTMLCanvasElement): HTMLCanvasElement;
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
* import { drawVideoToCanvas } from '@blackbyte/sugar/js/dom';
|
|
19
19
|
* const $canvas = drawVideoToCanvas($video);
|
|
20
20
|
*
|
|
21
|
-
* @since 1.0.0
|
|
21
|
+
* @since 1.0.0-beta.21
|
|
22
22
|
* @author Olivier Bossel<olivier.bossel@gmail.com>
|
|
23
23
|
*/
|
|
24
24
|
export default function drawVideoToCanvas($video, $canvas) {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_exports.js","sourceRoot":"","sources":["../../../../src/js/dom/scroll/_exports.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,iBAAiB,CAAC;AACzC,OAAO,YAAY,MAAM,mBAAmB,CAAC;AAE7C,OAAO,EACL,UAAU,IAAI,YAAY,EAC1B,YAAY,IAAI,cAAc,EAC9B,UAAU,EACV,YAAY,GACb,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @name lockScroll
|
|
3
|
+
* @namespace js.dom.scroll
|
|
4
|
+
* @type Function
|
|
5
|
+
* @platform js
|
|
6
|
+
* @status stable
|
|
7
|
+
*
|
|
8
|
+
* Lock the scroll of the page
|
|
9
|
+
*
|
|
10
|
+
* @param {HTMLElement|Window} [$target=window] The target on which to lock the scroll (default to window)
|
|
11
|
+
*
|
|
12
|
+
* @snippet lockScroll()
|
|
13
|
+
*
|
|
14
|
+
* @todo tests
|
|
15
|
+
*
|
|
16
|
+
* @example js
|
|
17
|
+
* import { lockScroll } from '@blackbyte/sugar/dom'
|
|
18
|
+
* lockScroll();
|
|
19
|
+
*
|
|
20
|
+
* @since 1.0.0
|
|
21
|
+
* @author Olivier Bossel <olivier.bossel@gmail.com> (https://blackbyte.space)
|
|
22
|
+
*/
|
|
23
|
+
export declare function lockScrollPreventDefault(e: Event): void;
|
|
24
|
+
export declare function lockScrollPreventDefaultForScrollKeys(e: KeyboardEvent): boolean | void;
|
|
25
|
+
export default function lockScroll($target?: HTMLElement | Window): void;
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @name lockScroll
|
|
3
|
+
* @namespace js.dom.scroll
|
|
4
|
+
* @type Function
|
|
5
|
+
* @platform js
|
|
6
|
+
* @status stable
|
|
7
|
+
*
|
|
8
|
+
* Lock the scroll of the page
|
|
9
|
+
*
|
|
10
|
+
* @param {HTMLElement|Window} [$target=window] The target on which to lock the scroll (default to window)
|
|
11
|
+
*
|
|
12
|
+
* @snippet lockScroll()
|
|
13
|
+
*
|
|
14
|
+
* @todo tests
|
|
15
|
+
*
|
|
16
|
+
* @example js
|
|
17
|
+
* import { lockScroll } from '@blackbyte/sugar/dom'
|
|
18
|
+
* lockScroll();
|
|
19
|
+
*
|
|
20
|
+
* @since 1.0.0
|
|
21
|
+
* @author Olivier Bossel <olivier.bossel@gmail.com> (https://blackbyte.space)
|
|
22
|
+
*/
|
|
23
|
+
export function lockScrollPreventDefault(e) {
|
|
24
|
+
e.preventDefault();
|
|
25
|
+
}
|
|
26
|
+
export function lockScrollPreventDefaultForScrollKeys(e) {
|
|
27
|
+
// left: 37, up: 38, right: 39, down: 40
|
|
28
|
+
var keys = { 37: 1, 38: 1, 39: 1, 40: 1 };
|
|
29
|
+
if (keys[e.keyCode]) {
|
|
30
|
+
lockScrollPreventDefault(e);
|
|
31
|
+
return false;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
export default function lockScroll($target = window) {
|
|
35
|
+
// modern Chrome requires { passive: false } when adding event
|
|
36
|
+
let supportsPassive = false;
|
|
37
|
+
try {
|
|
38
|
+
// @ts-ignore
|
|
39
|
+
window.addEventListener('test', null, Object.defineProperty({}, 'passive', {
|
|
40
|
+
get: function () {
|
|
41
|
+
supportsPassive = true;
|
|
42
|
+
},
|
|
43
|
+
}));
|
|
44
|
+
}
|
|
45
|
+
catch (e) { }
|
|
46
|
+
var wheelOpt = supportsPassive ? { passive: false } : false;
|
|
47
|
+
var wheelEvent = 'onwheel' in document.createElement('div') ? 'wheel' : 'mousewheel';
|
|
48
|
+
$target.addEventListener('DOMMouseScroll', lockScrollPreventDefault, false); // older FF
|
|
49
|
+
$target.addEventListener(wheelEvent, lockScrollPreventDefault, wheelOpt); // modern desktop
|
|
50
|
+
$target.addEventListener('touchmove', lockScrollPreventDefault, wheelOpt); // mobile
|
|
51
|
+
if ($target instanceof Window) {
|
|
52
|
+
$target.addEventListener('keydown', lockScrollPreventDefaultForScrollKeys, false);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
//# sourceMappingURL=lockScroll.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lockScroll.js","sourceRoot":"","sources":["../../../../src/js/dom/scroll/lockScroll.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,MAAM,UAAU,wBAAwB,CAAC,CAAQ;IAC/C,CAAC,CAAC,cAAc,EAAE,CAAC;AACrB,CAAC;AACD,MAAM,UAAU,qCAAqC,CACnD,CAAgB;IAEhB,wCAAwC;IACxC,IAAI,IAAI,GAAG,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC;IAC1C,IAAI,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;QACpB,wBAAwB,CAAC,CAAC,CAAC,CAAC;QAC5B,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,MAAM,CAAC,OAAO,UAAU,UAAU,CAChC,UAAgC,MAAM;IAEtC,8DAA8D;IAC9D,IAAI,eAAe,GAAG,KAAK,CAAC;IAC5B,IAAI,CAAC;QACH,aAAa;QACb,MAAM,CAAC,gBAAgB,CACrB,MAAM,EACN,IAAI,EACJ,MAAM,CAAC,cAAc,CAAC,EAAE,EAAE,SAAS,EAAE;YACnC,GAAG,EAAE;gBACH,eAAe,GAAG,IAAI,CAAC;YACzB,CAAC;SACF,CAAC,CACH,CAAC;IACJ,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC,CAAA,CAAC;IAEd,IAAI,QAAQ,GAAG,eAAe,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;IAC5D,IAAI,UAAU,GACZ,SAAS,IAAI,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC;IAEtE,OAAO,CAAC,gBAAgB,CAAC,gBAAgB,EAAE,wBAAwB,EAAE,KAAK,CAAC,CAAC,CAAC,WAAW;IACxF,OAAO,CAAC,gBAAgB,CAAC,UAAU,EAAE,wBAAwB,EAAE,QAAQ,CAAC,CAAC,CAAC,iBAAiB;IAC3F,OAAO,CAAC,gBAAgB,CAAC,WAAW,EAAE,wBAAwB,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS;IACpF,IAAI,OAAO,YAAY,MAAM,EAAE,CAAC;QAC9B,OAAO,CAAC,gBAAgB,CACtB,SAAS,EACT,qCAAqC,EACrC,KAAK,CACN,CAAC;IACJ,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @name unlockScroll
|
|
3
|
+
* @namespace js.dom.scroll
|
|
4
|
+
* @type Function
|
|
5
|
+
* @platform js
|
|
6
|
+
* @status stable
|
|
7
|
+
*
|
|
8
|
+
* Unlock the scroll of the page
|
|
9
|
+
*
|
|
10
|
+
* @param {HTMLElement|Window} [$target=window] The target on which to lock the scroll (default to window)
|
|
11
|
+
*
|
|
12
|
+
* @snippet unlockScroll()
|
|
13
|
+
*
|
|
14
|
+
* @todo tests
|
|
15
|
+
*
|
|
16
|
+
* @example js
|
|
17
|
+
* import { unlockScroll } from '@blackbyte/sugar/dom'
|
|
18
|
+
* unlockScroll();
|
|
19
|
+
*
|
|
20
|
+
* @since 1.0.0
|
|
21
|
+
* @author Olivier Bossel <olivier.bossel@gmail.com> (https://blackbyte.space)
|
|
22
|
+
*/
|
|
23
|
+
export default function unlockScroll($target?: HTMLElement | Window): void;
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { lockScrollPreventDefault, lockScrollPreventDefaultForScrollKeys, } from './lockScroll.js';
|
|
2
|
+
/**
|
|
3
|
+
* @name unlockScroll
|
|
4
|
+
* @namespace js.dom.scroll
|
|
5
|
+
* @type Function
|
|
6
|
+
* @platform js
|
|
7
|
+
* @status stable
|
|
8
|
+
*
|
|
9
|
+
* Unlock the scroll of the page
|
|
10
|
+
*
|
|
11
|
+
* @param {HTMLElement|Window} [$target=window] The target on which to lock the scroll (default to window)
|
|
12
|
+
*
|
|
13
|
+
* @snippet unlockScroll()
|
|
14
|
+
*
|
|
15
|
+
* @todo tests
|
|
16
|
+
*
|
|
17
|
+
* @example js
|
|
18
|
+
* import { unlockScroll } from '@blackbyte/sugar/dom'
|
|
19
|
+
* unlockScroll();
|
|
20
|
+
*
|
|
21
|
+
* @since 1.0.0
|
|
22
|
+
* @author Olivier Bossel <olivier.bossel@gmail.com> (https://blackbyte.space)
|
|
23
|
+
*/
|
|
24
|
+
export default function unlockScroll($target = window) {
|
|
25
|
+
// modern Chrome requires { passive: false } when adding event
|
|
26
|
+
let supportsPassive = false;
|
|
27
|
+
try {
|
|
28
|
+
// @ts-ignore
|
|
29
|
+
window.addEventListener('test', null, Object.defineProperty({}, 'passive', {
|
|
30
|
+
get: function () {
|
|
31
|
+
supportsPassive = true;
|
|
32
|
+
},
|
|
33
|
+
}));
|
|
34
|
+
}
|
|
35
|
+
catch (e) { }
|
|
36
|
+
var wheelEvent = 'onwheel' in document.createElement('div') ? 'wheel' : 'mousewheel';
|
|
37
|
+
$target.removeEventListener('DOMMouseScroll', lockScrollPreventDefault, false); // older FF
|
|
38
|
+
$target.removeEventListener(wheelEvent, lockScrollPreventDefault); // modern desktop
|
|
39
|
+
$target.removeEventListener('touchmove', lockScrollPreventDefault); // mobile
|
|
40
|
+
if ($target instanceof Window) {
|
|
41
|
+
$target.removeEventListener('keydown', lockScrollPreventDefaultForScrollKeys, false);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=unlockScroll.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"unlockScroll.js","sourceRoot":"","sources":["../../../../src/js/dom/scroll/unlockScroll.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,wBAAwB,EACxB,qCAAqC,GACtC,MAAM,iBAAiB,CAAC;AAEzB;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,CAAC,OAAO,UAAU,YAAY,CAClC,UAAgC,MAAM;IAEtC,8DAA8D;IAC9D,IAAI,eAAe,GAAG,KAAK,CAAC;IAC5B,IAAI,CAAC;QACH,aAAa;QACb,MAAM,CAAC,gBAAgB,CACrB,MAAM,EACN,IAAI,EACJ,MAAM,CAAC,cAAc,CAAC,EAAE,EAAE,SAAS,EAAE;YACnC,GAAG,EAAE;gBACH,eAAe,GAAG,IAAI,CAAC;YACzB,CAAC;SACF,CAAC,CACH,CAAC;IACJ,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC,CAAA,CAAC;IAEd,IAAI,UAAU,GACZ,SAAS,IAAI,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC;IAEtE,OAAO,CAAC,mBAAmB,CACzB,gBAAgB,EAChB,wBAAwB,EACxB,KAAK,CACN,CAAC,CAAC,WAAW;IACd,OAAO,CAAC,mBAAmB,CAAC,UAAU,EAAE,wBAAwB,CAAC,CAAC,CAAC,iBAAiB;IACpF,OAAO,CAAC,mBAAmB,CAAC,WAAW,EAAE,wBAAwB,CAAC,CAAC,CAAC,SAAS;IAC7E,IAAI,OAAO,YAAY,MAAM,EAAE,CAAC;QAC9B,OAAO,CAAC,mBAAmB,CACzB,SAAS,EACT,qCAAqC,EACrC,KAAK,CACN,CAAC;IACJ,CAAC;AACH,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@blackbyte/sugar",
|
|
3
3
|
"description": "The toolkit that you missed... like a sugar in your coffee!",
|
|
4
|
-
"version": "1.0.0-beta.
|
|
4
|
+
"version": "1.0.0-beta.23",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"javascript",
|
|
7
7
|
"typescript",
|
|
@@ -197,9 +197,9 @@
|
|
|
197
197
|
"@types/is-glob": "^4",
|
|
198
198
|
"@types/is-valid-path": "^0",
|
|
199
199
|
"@types/node": "^20.11.30",
|
|
200
|
-
"@vitest/browser": "^
|
|
200
|
+
"@vitest/browser": "^4.0.18",
|
|
201
201
|
"typescript": "^5.4.2",
|
|
202
|
-
"vitest": "^
|
|
202
|
+
"vitest": "^4.0.18"
|
|
203
203
|
},
|
|
204
204
|
"dependencies": {
|
|
205
205
|
"@faker-js/faker": "^8.4.1",
|
|
@@ -217,7 +217,7 @@
|
|
|
217
217
|
"currency-symbol-map": "^5.1.0",
|
|
218
218
|
"escape-html": "^1.0.3",
|
|
219
219
|
"fast-folder-size": "^2.2.0",
|
|
220
|
-
"fast-xml-parser": "^
|
|
220
|
+
"fast-xml-parser": "^5.3.6",
|
|
221
221
|
"fecha": "^4.2.3",
|
|
222
222
|
"filesize": "^10.1.0",
|
|
223
223
|
"find-package-json": "^1.2.0",
|
|
@@ -253,7 +253,8 @@
|
|
|
253
253
|
"striptags": "^3.2.0",
|
|
254
254
|
"temp-dir": "^3.0.0",
|
|
255
255
|
"unescape": "^1.0.1",
|
|
256
|
-
"uuid": "^9.0.1"
|
|
256
|
+
"uuid": "^9.0.1",
|
|
257
|
+
"vite": "7.3.1"
|
|
257
258
|
},
|
|
258
259
|
"gitHead": "3a760e37ec10e3f90acac5df9e74cdb09750ff5f"
|
|
259
260
|
}
|