@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.
@@ -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';
@@ -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,3 @@
1
+ import lockScroll from './lockScroll.js';
2
+ import unlockScroll from './unlockScroll.js';
3
+ export { lockScroll as __lockScroll, unlockScroll as __unlockScroll, lockScroll, unlockScroll, };
@@ -0,0 +1,4 @@
1
+ import lockScroll from './lockScroll.js';
2
+ import unlockScroll from './unlockScroll.js';
3
+ export { lockScroll as __lockScroll, unlockScroll as __unlockScroll, lockScroll, unlockScroll, };
4
+ //# sourceMappingURL=_exports.js.map
@@ -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.21",
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": "^1.3.1",
200
+ "@vitest/browser": "^4.0.18",
201
201
  "typescript": "^5.4.2",
202
- "vitest": "^1.3.1"
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": "^4.3.5",
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
  }