@blackbyte/sugar 1.0.0-beta.21 → 1.0.0-beta.22
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 +1 -1
|
@@ -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"}
|