@blackbyte/sugar 1.0.0-beta.34 → 1.0.0-beta.35
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/query/_exports.d.ts +1 -2
- package/dist/js/dom/query/_exports.js +1 -2
- package/dist/js/dom/query/_exports.js.map +1 -1
- package/dist/js/dom/query/querySelectorLive/querySelectorLive.d.ts +2 -2
- package/dist/js/dom/query/querySelectorLive/querySelectorLive.js +1 -1
- package/dist/js/dom/query/querySelectorLive/querySelectorLive.js.map +1 -1
- package/dist/js/dom/query/queryStegaElementsLive/queryStegaElementsLive.d.ts +8 -6
- package/dist/js/dom/query/queryStegaElementsLive/queryStegaElementsLive.js +61 -14
- package/dist/js/dom/query/queryStegaElementsLive/queryStegaElementsLive.js.map +1 -1
- package/dist/js/dom/when/when/when.d.ts +3 -2
- package/dist/js/dom/when/when/when.js.map +1 -1
- package/dist/shared/crypto/stega/stega.d.ts +6 -7
- package/dist/shared/crypto/stega/stega.js +17 -44
- package/dist/shared/crypto/stega/stega.js.map +1 -1
- package/package.json +4 -2
|
@@ -11,6 +11,5 @@ import querySelectorAll from './querySelectorAll/querySelectorAll.js';
|
|
|
11
11
|
import querySelectorAllUp from './querySelectorAllUp/querySelectorAllUp.js';
|
|
12
12
|
import querySelectorLive from './querySelectorLive/querySelectorLive.js';
|
|
13
13
|
import querySelectorUp from './querySelectorUp/querySelectorUp.js';
|
|
14
|
-
import queryStegaElements from './queryStegaElements/queryStegaElements.js';
|
|
15
14
|
import queryStegaElementsLive from './queryStegaElementsLive/queryStegaElementsLive.js';
|
|
16
|
-
export { closestElement as __closestElement, closestNotVisibleElement as __closestNotVisibleElement, closestScrollableElement as __closestScrollableElement, elementsInViewport as __elementsInViewport, matches as __matches, nearestElement as __nearestElement, nextElement as __nextElement, previousElement as __previousElement, querySelector as __querySelector, querySelectorAll as __querySelectorAll, querySelectorAllUp as __querySelectorAllUp, querySelectorLive as __querySelectorLive, querySelectorUp as __querySelectorUp,
|
|
15
|
+
export { closestElement as __closestElement, closestNotVisibleElement as __closestNotVisibleElement, closestScrollableElement as __closestScrollableElement, elementsInViewport as __elementsInViewport, matches as __matches, nearestElement as __nearestElement, nextElement as __nextElement, previousElement as __previousElement, querySelector as __querySelector, querySelectorAll as __querySelectorAll, querySelectorAllUp as __querySelectorAllUp, querySelectorLive as __querySelectorLive, querySelectorUp as __querySelectorUp, queryStegaElementsLive as __queryStegaElementsLive, closestElement, closestNotVisibleElement, closestScrollableElement, elementsInViewport, matches, nearestElement, nextElement, previousElement, querySelector, querySelectorAll, querySelectorAllUp, querySelectorLive, querySelectorUp, queryStegaElementsLive, };
|
|
@@ -11,7 +11,6 @@ import querySelectorAll from './querySelectorAll/querySelectorAll.js';
|
|
|
11
11
|
import querySelectorAllUp from './querySelectorAllUp/querySelectorAllUp.js';
|
|
12
12
|
import querySelectorLive from './querySelectorLive/querySelectorLive.js';
|
|
13
13
|
import querySelectorUp from './querySelectorUp/querySelectorUp.js';
|
|
14
|
-
import queryStegaElements from './queryStegaElements/queryStegaElements.js';
|
|
15
14
|
import queryStegaElementsLive from './queryStegaElementsLive/queryStegaElementsLive.js';
|
|
16
|
-
export { closestElement as __closestElement, closestNotVisibleElement as __closestNotVisibleElement, closestScrollableElement as __closestScrollableElement, elementsInViewport as __elementsInViewport, matches as __matches, nearestElement as __nearestElement, nextElement as __nextElement, previousElement as __previousElement, querySelector as __querySelector, querySelectorAll as __querySelectorAll, querySelectorAllUp as __querySelectorAllUp, querySelectorLive as __querySelectorLive, querySelectorUp as __querySelectorUp,
|
|
15
|
+
export { closestElement as __closestElement, closestNotVisibleElement as __closestNotVisibleElement, closestScrollableElement as __closestScrollableElement, elementsInViewport as __elementsInViewport, matches as __matches, nearestElement as __nearestElement, nextElement as __nextElement, previousElement as __previousElement, querySelector as __querySelector, querySelectorAll as __querySelectorAll, querySelectorAllUp as __querySelectorAllUp, querySelectorLive as __querySelectorLive, querySelectorUp as __querySelectorUp, queryStegaElementsLive as __queryStegaElementsLive, closestElement, closestNotVisibleElement, closestScrollableElement, elementsInViewport, matches, nearestElement, nextElement, previousElement, querySelector, querySelectorAll, querySelectorAllUp, querySelectorLive, querySelectorUp, queryStegaElementsLive, };
|
|
17
16
|
//# sourceMappingURL=_exports.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_exports.js","sourceRoot":"","sources":["../../../../src/js/dom/query/_exports.ts"],"names":[],"mappings":"AAAA,OAAO,cAAc,MAAM,oCAAoC,CAAC;AAChE,OAAO,wBAAwB,MAAM,wDAAwD,CAAC;AAC9F,OAAO,wBAAwB,MAAM,wDAAwD,CAAC;AAC9F,OAAO,kBAAkB,MAAM,4CAA4C,CAAC;AAC5E,OAAO,OAAO,MAAM,sBAAsB,CAAC;AAC3C,OAAO,cAAc,MAAM,oCAAoC,CAAC;AAChE,OAAO,WAAW,MAAM,8BAA8B,CAAC;AACvD,OAAO,eAAe,MAAM,sCAAsC,CAAC;AACnE,OAAO,aAAa,MAAM,kCAAkC,CAAC;AAC7D,OAAO,gBAAgB,MAAM,wCAAwC,CAAC;AACtE,OAAO,kBAAkB,MAAM,4CAA4C,CAAC;AAC5E,OAAO,iBAAiB,MAAM,0CAA0C,CAAC;AACzE,OAAO,eAAe,MAAM,sCAAsC,CAAC;AACnE,OAAO,
|
|
1
|
+
{"version":3,"file":"_exports.js","sourceRoot":"","sources":["../../../../src/js/dom/query/_exports.ts"],"names":[],"mappings":"AAAA,OAAO,cAAc,MAAM,oCAAoC,CAAC;AAChE,OAAO,wBAAwB,MAAM,wDAAwD,CAAC;AAC9F,OAAO,wBAAwB,MAAM,wDAAwD,CAAC;AAC9F,OAAO,kBAAkB,MAAM,4CAA4C,CAAC;AAC5E,OAAO,OAAO,MAAM,sBAAsB,CAAC;AAC3C,OAAO,cAAc,MAAM,oCAAoC,CAAC;AAChE,OAAO,WAAW,MAAM,8BAA8B,CAAC;AACvD,OAAO,eAAe,MAAM,sCAAsC,CAAC;AACnE,OAAO,aAAa,MAAM,kCAAkC,CAAC;AAC7D,OAAO,gBAAgB,MAAM,wCAAwC,CAAC;AACtE,OAAO,kBAAkB,MAAM,4CAA4C,CAAC;AAC5E,OAAO,iBAAiB,MAAM,0CAA0C,CAAC;AACzE,OAAO,eAAe,MAAM,sCAAsC,CAAC;AACnE,OAAO,sBAAsB,MAAM,oDAAoD,CAAC;AAExF,OAAO,EACL,cAAc,IAAI,gBAAgB,EAClC,wBAAwB,IAAI,0BAA0B,EACtD,wBAAwB,IAAI,0BAA0B,EACtD,kBAAkB,IAAI,oBAAoB,EAC1C,OAAO,IAAI,SAAS,EACpB,cAAc,IAAI,gBAAgB,EAClC,WAAW,IAAI,aAAa,EAC5B,eAAe,IAAI,iBAAiB,EACpC,aAAa,IAAI,eAAe,EAChC,gBAAgB,IAAI,kBAAkB,EACtC,kBAAkB,IAAI,oBAAoB,EAC1C,iBAAiB,IAAI,mBAAmB,EACxC,eAAe,IAAI,iBAAiB,EACpC,sBAAsB,IAAI,wBAAwB,EAClD,cAAc,EACd,wBAAwB,EACxB,wBAAwB,EACxB,kBAAkB,EAClB,OAAO,EACP,cAAc,EACd,WAAW,EACX,eAAe,EACf,aAAa,EACb,gBAAgB,EAChB,kBAAkB,EAClB,iBAAiB,EACjB,eAAe,EACf,sBAAsB,GACvB,CAAC"}
|
|
@@ -25,7 +25,7 @@ import type { TWhenTrigger } from '@blackbyte/sugar/dom';
|
|
|
25
25
|
* @setting {Boolean} [once=true] If true, each observed nodes will be handled only once even if they are removed and reinjected in the dom
|
|
26
26
|
* @setting {Function} [afterFirst=null] A function that will be called once the first scan is done
|
|
27
27
|
* @setting {Boolean} [firstOnly=false] If true, the query will stop after the first matching node is found
|
|
28
|
-
* @setting {TWhenTrigger
|
|
28
|
+
* @setting {TWhenTrigger} [when=null] An optional when trigger or array of triggers to wait for before calling the callback with the detected node
|
|
29
29
|
* @setting {Function} [disconnectedCallback=null] An optional callback function that will be called when a previously detected node is removed from the dom
|
|
30
30
|
* @setting {String[]} [attributes=[]] An optional array of attributes to monitor for changes (in addition to class and id)
|
|
31
31
|
*
|
|
@@ -52,7 +52,7 @@ export type TQuerySelectorLiveSettings = {
|
|
|
52
52
|
once: boolean;
|
|
53
53
|
afterFirst?: Function;
|
|
54
54
|
firstOnly: boolean;
|
|
55
|
-
when?: TWhenTrigger
|
|
55
|
+
when?: TWhenTrigger;
|
|
56
56
|
disconnectedCallback?: ($elm: HTMLElement) => void;
|
|
57
57
|
attributes: string[];
|
|
58
58
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"querySelectorLive.js","sourceRoot":"","sources":["../../../../../src/js/dom/query/querySelectorLive/querySelectorLive.ts"],"names":[],"mappings":";;;;;;;;;AACA,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAsE5C,MAAM,CAAC,OAAO,UAAU,iBAAiB,CACvC,QAAgB,EAChB,EAA8B,EAC9B,QAA8C;;IAE9C,6EAA6E;IAC7E,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,kDAAkD;IAClD,MAAM,IAAI,GAAG,IAAI,OAAO,EAAe,CAAC;IACxC,4CAA4C;IAC5C,MAAM,OAAO,GAAG,IAAI,OAAO,EAAe,CAAC;IAE3C,6EAA6E;IAC7E,MAAM,aAAa,mBACjB,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,IAAI,EACV,UAAU,EAAE,SAAS,EACrB,SAAS,EAAE,KAAK,EAChB,UAAU,EAAE,EAAE,EACd,IAAI,EAAE,SAAS,EACf,oBAAoB,EAAE,SAAS,IAC5B,CAAC,QAAQ,aAAR,QAAQ,cAAR,QAAQ,GAAI,EAAE,CAAC,CACpB,CAAC;IAEF,6EAA6E;IAC7E,MAAM,GAAG,GAA0B,EAAE,MAAM,EAAE,CAAC;IAE9C,SAAS,MAAM;QACb,QAAQ,GAAG,IAAI,CAAC;QAChB,QAAQ,CAAC,UAAU,EAAE,CAAC;IACxB,CAAC;IAED,6EAA6E;IAC7E,2EAA2E;IAC3E,6EAA6E;IAC7E,uCAAuC;IACvC,MAAM,OAAO,GAAG,IAAI,GAAG,CAAS,CAAC,OAAO,EAAE,IAAI,EAAE,GAAG,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC;IAC9E,KAAK,MAAM,KAAK,IAAI,QAAQ,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,CAAC;QAC3D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IAC/B,CAAC;IACD,MAAM,eAAe,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAE5C,4EAA4E;IAC5E,SAAS,eAAe,CAAC,IAAiB;QACxC,IAAI,CAAC,aAAa,CAAC,oBAAoB,IAAI,CAAC,IAAI,CAAC,UAAU;YAAE,OAAO;QACpE,MAAM,cAAc,GAAG,IAAI,gBAAgB,CAAC,GAAG,EAAE;YAC/C,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC7B,cAAc,CAAC,UAAU,EAAE,CAAC;gBAC5B,aAAa,CAAC,oBAAqB,CAAC,IAAI,CAAC,CAAC;YAC5C,CAAC;QACH,CAAC,CAAC,CAAC;QACH,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC/D,CAAC;IAED,4EAA4E;IAC5E,SAAe,aAAa,CAAC,IAAiB;;YAC5C,IAAI,QAAQ;gBAAE,OAAO;YAErB,qDAAqD;YACrD,IAAI,aAAa,CAAC,IAAI,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;gBAAE,OAAO;YAEjD,8DAA8D;YAC9D,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;gBAAE,OAAO;YAE9B,IAAI,aAAa,CAAC,IAAI,EAAE,CAAC;gBACvB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBAClB,IAAI,CAAC;oBACH,MAAM,IAAI,CAAC,IAAI,EAAE,
|
|
1
|
+
{"version":3,"file":"querySelectorLive.js","sourceRoot":"","sources":["../../../../../src/js/dom/query/querySelectorLive/querySelectorLive.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,7 +6,7 @@ import type { TWhenTrigger } from '@blackbyte/sugar/dom';
|
|
|
6
6
|
* @platform js
|
|
7
7
|
* @status stable
|
|
8
8
|
*
|
|
9
|
-
* Monitor the specified
|
|
9
|
+
* Monitor the specified rootNode element and all its descendants for stega encoded
|
|
10
10
|
* metadata, either in attributes or text content. When detected, calls the
|
|
11
11
|
* provided callback with the result. Uses a MutationObserver to react to DOM
|
|
12
12
|
* changes in real time.
|
|
@@ -15,7 +15,7 @@ import type { TWhenTrigger } from '@blackbyte/sugar/dom';
|
|
|
15
15
|
* @feature Reacts to DOM mutations in real time via MutationObserver
|
|
16
16
|
* @feature Supports the "once" flag to call the callback only once per element
|
|
17
17
|
* @feature Supports a "when" trigger to defer the callback until a condition is met
|
|
18
|
-
* @feature Supports a disconnectedCallback when a detected element is
|
|
18
|
+
* @feature Supports a disconnectedCallback when a detected element is cleand
|
|
19
19
|
* @feature Supports attribute filtering via the "attributes" setting
|
|
20
20
|
*
|
|
21
21
|
* @param {TQueryStegaElementsLiveCallback} cb The callback called with each detected stega element
|
|
@@ -25,10 +25,11 @@ import type { TWhenTrigger } from '@blackbyte/sugar/dom';
|
|
|
25
25
|
* @setting {HTMLElement | Document} [rootNode=document] The root node to observe
|
|
26
26
|
* @setting {Boolean} [once=true] Only call the callback once per element
|
|
27
27
|
* @setting {TWhenTrigger} [when=undefined] Call the callback only when the trigger is fulfilled
|
|
28
|
-
* @setting {Function} [disconnectedCallback=undefined] Called when a detected element is
|
|
28
|
+
* @setting {Function} [disconnectedCallback=undefined] Called when a detected element is cleand from the DOM
|
|
29
29
|
* @setting {Boolean | String[]} [attributes=true] If true, check all attributes. If false, skip attributes. If string[], check only listed attributes.
|
|
30
|
+
* @setting {Boolean} [clean=true] If true, strip the stega payload from the DOM after detection
|
|
30
31
|
*
|
|
31
|
-
* @
|
|
32
|
+
* @snippetp queryStegaElementsLive($1)
|
|
32
33
|
* queryStegaElementsLive(element => {
|
|
33
34
|
* $1
|
|
34
35
|
* });
|
|
@@ -48,12 +49,13 @@ export type TQueryStegaElementsLiveElement = {
|
|
|
48
49
|
$elm: HTMLElement;
|
|
49
50
|
attr?: string;
|
|
50
51
|
stega: string;
|
|
51
|
-
|
|
52
|
+
data: any;
|
|
52
53
|
};
|
|
53
54
|
export type TQueryStegaElementsLiveSettings = {
|
|
54
55
|
rootNode: HTMLElement | Document;
|
|
55
56
|
once: boolean;
|
|
56
|
-
|
|
57
|
+
clean: boolean;
|
|
58
|
+
when?: TWhenTrigger;
|
|
57
59
|
disconnectedCallback?: (element: TQueryStegaElementsLiveElement) => void;
|
|
58
60
|
attributes: boolean | string[];
|
|
59
61
|
};
|
|
@@ -9,9 +9,9 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
9
9
|
};
|
|
10
10
|
import { stega } from '@blackbyte/sugar/crypto';
|
|
11
11
|
import { when } from '@blackbyte/sugar/dom';
|
|
12
|
-
|
|
12
|
+
import { VERCEL_STEGA_REGEX, vercelStegaClean } from '@vercel/stega';
|
|
13
13
|
function extractStega(value) {
|
|
14
|
-
const matches = value.match(
|
|
14
|
+
const matches = value.match(VERCEL_STEGA_REGEX);
|
|
15
15
|
return matches ? matches.join('') : null;
|
|
16
16
|
}
|
|
17
17
|
export default function queryStegaElementsLive(cb, settings) {
|
|
@@ -30,35 +30,56 @@ export default function queryStegaElementsLive(cb, settings) {
|
|
|
30
30
|
return attr ? `${elmId($elm)}|${attr}` : elmId($elm);
|
|
31
31
|
}
|
|
32
32
|
// ─── Settings ─────────────────────────────────────────────────────────────
|
|
33
|
-
const finalSettings = Object.assign({ rootNode: document, once: true, attributes: true, when: undefined, disconnectedCallback: undefined }, (settings !== null && settings !== void 0 ? settings : {}));
|
|
33
|
+
const finalSettings = Object.assign({ rootNode: document, once: true, clean: true, attributes: true, when: undefined, disconnectedCallback: undefined }, (settings !== null && settings !== void 0 ? settings : {}));
|
|
34
34
|
// ─── API ──────────────────────────────────────────────────────────────────
|
|
35
35
|
const api = { cancel };
|
|
36
36
|
function cancel() {
|
|
37
37
|
canceled = true;
|
|
38
38
|
observer.disconnect();
|
|
39
|
+
disconnectObserver.disconnect();
|
|
39
40
|
}
|
|
40
41
|
// ─── disconnectedCallback watcher ─────────────────────────────────────────
|
|
42
|
+
// Maps each tracked element to its stega result so we can fire the callback
|
|
43
|
+
// when any ancestor (not just the direct parent) is removed from the DOM.
|
|
44
|
+
const trackedElements = new Map();
|
|
45
|
+
const disconnectObserver = new MutationObserver((mutations) => {
|
|
46
|
+
if (!finalSettings.disconnectedCallback || trackedElements.size === 0)
|
|
47
|
+
return;
|
|
48
|
+
for (const mutation of mutations) {
|
|
49
|
+
if (mutation.type !== 'childList')
|
|
50
|
+
continue;
|
|
51
|
+
mutation.removedNodes.forEach((removed) => {
|
|
52
|
+
// Check if the removed node itself, or any of its descendants, is tracked
|
|
53
|
+
trackedElements.forEach((result, $elm) => {
|
|
54
|
+
if (removed === $elm ||
|
|
55
|
+
(removed instanceof Element && removed.contains($elm))) {
|
|
56
|
+
trackedElements.delete($elm);
|
|
57
|
+
finalSettings.disconnectedCallback(result);
|
|
58
|
+
}
|
|
59
|
+
});
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
});
|
|
63
|
+
disconnectObserver.observe(finalSettings.rootNode, {
|
|
64
|
+
childList: true,
|
|
65
|
+
subtree: true,
|
|
66
|
+
});
|
|
41
67
|
function watchDisconnect($elm, result) {
|
|
42
|
-
if (!finalSettings.disconnectedCallback
|
|
68
|
+
if (!finalSettings.disconnectedCallback)
|
|
43
69
|
return;
|
|
44
|
-
|
|
45
|
-
if (!document.contains($elm)) {
|
|
46
|
-
parentObserver.disconnect();
|
|
47
|
-
finalSettings.disconnectedCallback(result);
|
|
48
|
-
}
|
|
49
|
-
});
|
|
50
|
-
parentObserver.observe($elm.parentNode, { childList: true });
|
|
70
|
+
trackedElements.set($elm, result);
|
|
51
71
|
}
|
|
52
72
|
// ─── Core: handle one stega result ────────────────────────────────────────
|
|
53
73
|
function handleResult(result) {
|
|
54
74
|
return __awaiter(this, void 0, void 0, function* () {
|
|
75
|
+
var _a;
|
|
55
76
|
if (canceled)
|
|
56
77
|
return;
|
|
57
78
|
const key = seenKey(result.$elm, result.attr);
|
|
58
79
|
if (finalSettings.once && seen.has(key))
|
|
59
80
|
return;
|
|
60
81
|
if (finalSettings.when) {
|
|
61
|
-
yield when(result.$elm,
|
|
82
|
+
yield when(result.$elm, finalSettings.when);
|
|
62
83
|
if (canceled)
|
|
63
84
|
return;
|
|
64
85
|
if (finalSettings.once && seen.has(key))
|
|
@@ -67,6 +88,26 @@ export default function queryStegaElementsLive(cb, settings) {
|
|
|
67
88
|
if (finalSettings.once)
|
|
68
89
|
seen.add(key);
|
|
69
90
|
cb(result, api);
|
|
91
|
+
if (finalSettings.clean) {
|
|
92
|
+
// Pause the observer so stripping zero-width chars doesn't trigger a re-scan
|
|
93
|
+
observer.disconnect();
|
|
94
|
+
if (result.attr) {
|
|
95
|
+
result.$elm.setAttribute(result.attr, vercelStegaClean((_a = result.$elm.getAttribute(result.attr)) !== null && _a !== void 0 ? _a : ''));
|
|
96
|
+
}
|
|
97
|
+
else {
|
|
98
|
+
for (const node of Array.from(result.$elm.childNodes)) {
|
|
99
|
+
if (node.nodeType === Node.TEXT_NODE && node.textContent) {
|
|
100
|
+
node.textContent = vercelStegaClean(node.textContent);
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
observer.observe(finalSettings.rootNode, {
|
|
105
|
+
childList: true,
|
|
106
|
+
subtree: true,
|
|
107
|
+
attributes: true,
|
|
108
|
+
characterData: true,
|
|
109
|
+
});
|
|
110
|
+
}
|
|
70
111
|
watchDisconnect(result.$elm, result);
|
|
71
112
|
});
|
|
72
113
|
}
|
|
@@ -79,10 +120,13 @@ export default function queryStegaElementsLive(cb, settings) {
|
|
|
79
120
|
if (node.nodeType === Node.TEXT_NODE && node.textContent) {
|
|
80
121
|
const raw = extractStega(node.textContent);
|
|
81
122
|
if (raw) {
|
|
123
|
+
const decoded = stega.decrypt(node.textContent);
|
|
124
|
+
if (decoded == null)
|
|
125
|
+
continue;
|
|
82
126
|
handleResult({
|
|
83
127
|
$elm,
|
|
84
128
|
stega: raw,
|
|
85
|
-
|
|
129
|
+
data: decoded,
|
|
86
130
|
});
|
|
87
131
|
}
|
|
88
132
|
}
|
|
@@ -96,11 +140,14 @@ export default function queryStegaElementsLive(cb, settings) {
|
|
|
96
140
|
}
|
|
97
141
|
const raw = extractStega(attr.value);
|
|
98
142
|
if (raw) {
|
|
143
|
+
const decoded = stega.decrypt(attr.value);
|
|
144
|
+
if (decoded == null)
|
|
145
|
+
continue;
|
|
99
146
|
handleResult({
|
|
100
147
|
$elm,
|
|
101
148
|
attr: attr.name,
|
|
102
149
|
stega: raw,
|
|
103
|
-
|
|
150
|
+
data: decoded,
|
|
104
151
|
});
|
|
105
152
|
}
|
|
106
153
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"queryStegaElementsLive.js","sourceRoot":"","sources":["../../../../../src/js/dom/query/queryStegaElementsLive/queryStegaElementsLive.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAEhD,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"queryStegaElementsLive.js","sourceRoot":"","sources":["../../../../../src/js/dom/query/queryStegaElementsLive/queryStegaElementsLive.ts"],"names":[],"mappings":"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"}
|
|
@@ -55,6 +55,7 @@ export type TwhenSettings = {
|
|
|
55
55
|
whenInteract?: TWhenInteractSettings;
|
|
56
56
|
whenVisible?: TWhenVisibleSettings;
|
|
57
57
|
};
|
|
58
|
-
export type
|
|
58
|
+
export type TWhenTriggerUnit = 'direct' | 'directly' | 'inViewport' | 'nearViewport' | 'enterViewport' | 'outOfViewport' | 'interact' | 'visible' | 'domReady' | 'stylesheetsReady' | 'animationEnd';
|
|
59
|
+
export type TWhenTrigger = TWhenTriggerUnit | TWhenTriggerUnit[];
|
|
59
60
|
export declare const WhenTriggers: string[];
|
|
60
|
-
export default function when($elm: HTMLElement, trigger: TWhenTrigger
|
|
61
|
+
export default function when($elm: HTMLElement, trigger: TWhenTrigger, settings?: TwhenSettings): Promise<any>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"when.js","sourceRoot":"","sources":["../../../../../src/js/dom/when/when/when.ts"],"names":[],"mappings":"AAAA,cAAc;;;;;;;;;;AASd,OAAO,gBAAgB,MAAM,yCAAyC,CAAC;AACvE,OAAO,YAAY,MAAM,iCAAiC,CAAC;AAC3D,OAAO,kBAAkB,MAAM,6CAA6C,CAAC;AAC7E,OAAO,YAAY,MAAM,iCAAiC,CAAC;AAC3D,OAAO,cAAc,MAAM,qCAAqC,CAAC;AACjE,OAAO,gBAAgB,MAAM,yCAAyC,CAAC;AACvE,OAAO,iBAAiB,MAAM,2CAA2C,CAAC;AAC1E,OAAO,oBAAoB,MAAM,iDAAiD,CAAC;AACnF,OAAO,WAAW,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"when.js","sourceRoot":"","sources":["../../../../../src/js/dom/when/when/when.ts"],"names":[],"mappings":"AAAA,cAAc;;;;;;;;;;AASd,OAAO,gBAAgB,MAAM,yCAAyC,CAAC;AACvE,OAAO,YAAY,MAAM,iCAAiC,CAAC;AAC3D,OAAO,kBAAkB,MAAM,6CAA6C,CAAC;AAC7E,OAAO,YAAY,MAAM,iCAAiC,CAAC;AAC3D,OAAO,cAAc,MAAM,qCAAqC,CAAC;AACjE,OAAO,gBAAgB,MAAM,yCAAyC,CAAC;AACvE,OAAO,iBAAiB,MAAM,2CAA2C,CAAC;AAC1E,OAAO,oBAAoB,MAAM,iDAAiD,CAAC;AACnF,OAAO,WAAW,MAAM,+BAA+B,CAAC;AAqExD,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,QAAQ;IACR,UAAU;IACV,YAAY;IACZ,cAAc;IACd,eAAe;IACf,eAAe;IACf,UAAU;IACV,SAAS;IACT,kBAAkB;IAClB,UAAU;IACV,cAAc;CACf,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,IAAI,CAC1B,IAAiB,EACjB,OAAqB,EACrB,QAAwB;IAExB,MAAM,aAAa,mBACjB,cAAc,EAAE,EAAE,EAClB,gBAAgB,EAAE,EAAE,EACpB,iBAAiB,EAAE,EAAE,EACrB,YAAY,EAAE,EAAE,EAChB,WAAW,EAAE,EAAE,EACf,oBAAoB,EAAE,EAAE,IACrB,CAAC,QAAQ,aAAR,QAAQ,cAAR,QAAQ,GAAI,EAAE,CAAC,CACpB,CAAC;IAEF,OAAO,IAAI,OAAO,CAAC,CAAO,OAAO,EAAE,MAAM,EAAE,EAAE;QAC3C,0CAA0C;QAC1C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;YACzB,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QAEpD,MAAM,QAAQ,GAAY,EAAE,CAAC;QAE7B,kBAAkB;QAClB,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;;YACpB,UAAU;YACV,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;YACrD,IAAI,cAAc,IAAI,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC;gBACxC,MAAM,OAAO,GAAG,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC5C,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;oBACtC,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;gBAC/B,CAAC,CAAC,CAAC;gBACH,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACvB,OAAO;YACT,CAAC;YAED,QAAQ,CAAC,EAAE,CAAC;gBACV,KAAK,YAAY;oBACf,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,aAAa,CAAC,cAAc,CAAC,CAAC,CAAC;oBAClE,MAAM;gBACR,KAAK,cAAc;oBACjB,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,aAAa,CAAC,gBAAgB,CAAC,CAAC,CAAC;oBACtE,MAAM;gBACR,KAAK,eAAe;oBAClB,QAAQ,CAAC,IAAI,CACX,kBAAkB,CAAC,IAAI,EAAE,aAAa,CAAC,kBAAkB,CAAC,CAC3D,CAAC;oBACF,MAAM;gBACR,KAAK,eAAe;oBAClB,QAAQ,CAAC,IAAI,CACX,iBAAiB,CAAC,IAAI,EAAE,aAAa,CAAC,iBAAiB,CAAC,CACzD,CAAC;oBACF,MAAM;gBACR,KAAK,UAAU;oBACb,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,aAAa,CAAC,YAAY,CAAC,CAAC,CAAC;oBAC9D,MAAM;gBACR,KAAK,SAAS;oBACZ,QAAQ,CAAC,IAAI,CACX,WAAW,CAAC,IAAI,kCACX,CAAC,MAAA,aAAa,CAAC,WAAW,mCAAI,EAAE,CAAC,KACpC,IAAI,EAAE,IAAI,IACV,CACH,CAAC;oBACF,MAAM;gBACR,KAAK,UAAU;oBACb,QAAQ,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;oBAC9B,MAAM;gBACR,KAAK,kBAAkB;oBACrB,QAAQ,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC,CAAC;oBACtC,MAAM;gBACR,KAAK,cAAc;oBACjB,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC;oBACtC,MAAM;YACV,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,uCAAuC;QACvC,IACE,CAAC,OAAO,CAAC,MAAM;YACf,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAC1B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,EAC5B,CAAC;YACD,OAAO,CAAC,IAAI,CAAC,CAAC;YACd,OAAO;QACT,CAAC;QAED,yCAAyC;QACzC,MAAM,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAE7B,OAAO,CAAC,IAAI,CAAC,CAAC;IAChB,CAAC,CAAA,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -6,8 +6,7 @@
|
|
|
6
6
|
* @status stable
|
|
7
7
|
*
|
|
8
8
|
* Expose two functions named "encrypt" and "decrypt" to process content using the stega algorithm.
|
|
9
|
-
*
|
|
10
|
-
* as a zero-width Unicode character (\u200B for 0, \u200C for 1) interleaved into a cover string.
|
|
9
|
+
* Delegates to the @vercel/stega package under the hood.
|
|
11
10
|
*
|
|
12
11
|
* @snippet stega.encrypt($1)
|
|
13
12
|
*
|
|
@@ -24,9 +23,9 @@ declare const _default: {
|
|
|
24
23
|
* @name encrypt
|
|
25
24
|
* @type Function
|
|
26
25
|
*
|
|
27
|
-
* Encodes a payload into a
|
|
28
|
-
*
|
|
29
|
-
*
|
|
26
|
+
* Encodes a payload into a string using the stega algorithm via @vercel/stega.
|
|
27
|
+
* Uses an empty string as the cover so the result is pure zero-width characters,
|
|
28
|
+
* preserving the original return type of this function.
|
|
30
29
|
*
|
|
31
30
|
* @param {any} payload The data to encode (will be JSON-serialized)
|
|
32
31
|
* @return {String} The stega-encoded string of zero-width characters
|
|
@@ -39,8 +38,8 @@ declare const _default: {
|
|
|
39
38
|
* @name decrypt
|
|
40
39
|
* @type Function
|
|
41
40
|
*
|
|
42
|
-
* Extracts and decodes the stega payload hidden inside a string.
|
|
43
|
-
* Returns the decoded value
|
|
41
|
+
* Extracts and decodes the stega payload hidden inside a string via @vercel/stega.
|
|
42
|
+
* Returns the decoded value, or null if no payload is found or decoding fails.
|
|
44
43
|
*
|
|
45
44
|
* @param {String} message The string containing a hidden stega payload
|
|
46
45
|
* @return {any} The decoded payload, or null if none found
|
|
@@ -6,8 +6,7 @@
|
|
|
6
6
|
* @status stable
|
|
7
7
|
*
|
|
8
8
|
* Expose two functions named "encrypt" and "decrypt" to process content using the stega algorithm.
|
|
9
|
-
*
|
|
10
|
-
* as a zero-width Unicode character (\u200B for 0, \u200C for 1) interleaved into a cover string.
|
|
9
|
+
* Delegates to the @vercel/stega package under the hood.
|
|
11
10
|
*
|
|
12
11
|
* @snippet stega.encrypt($1)
|
|
13
12
|
*
|
|
@@ -19,46 +18,18 @@
|
|
|
19
18
|
* @since 1.0.0
|
|
20
19
|
* @author Olivier Bossel <olivier.bossel@gmail.com> (https://blackbyte.space)
|
|
21
20
|
*/
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
const
|
|
26
|
-
function payloadToBits(payload) {
|
|
27
|
-
const json = typeof payload === 'string' ? payload : JSON.stringify(payload);
|
|
28
|
-
const bytes = new TextEncoder().encode(json);
|
|
29
|
-
let bits = '';
|
|
30
|
-
for (const byte of bytes) {
|
|
31
|
-
bits += byte.toString(2).padStart(8, '0');
|
|
32
|
-
}
|
|
33
|
-
return bits;
|
|
34
|
-
}
|
|
35
|
-
function bitsToZeroWidth(bits) {
|
|
36
|
-
return bits.split('').map((b) => (b === '0' ? ZW_ZERO : ZW_ONE)).join('');
|
|
37
|
-
}
|
|
38
|
-
function zeroWidthToBits(zw) {
|
|
39
|
-
return zw.split('').map((c) => (c === ZW_ZERO ? '0' : '1')).join('');
|
|
40
|
-
}
|
|
41
|
-
function bitsToPayload(bits) {
|
|
42
|
-
const bytes = bits.match(/.{8}/g);
|
|
43
|
-
if (!bytes)
|
|
44
|
-
return null;
|
|
45
|
-
const uint8 = new Uint8Array(bytes.map((b) => parseInt(b, 2)));
|
|
46
|
-
const text = new TextDecoder().decode(uint8);
|
|
47
|
-
try {
|
|
48
|
-
return JSON.parse(text);
|
|
49
|
-
}
|
|
50
|
-
catch (_a) {
|
|
51
|
-
return text;
|
|
52
|
-
}
|
|
53
|
-
}
|
|
21
|
+
import { vercelStegaEncode as _vercelStegaEncode, vercelStegaDecode, } from '@vercel/stega';
|
|
22
|
+
// The published types declare a 2-argument signature but the actual runtime
|
|
23
|
+
// implementation only takes the payload. Cast to the real signature.
|
|
24
|
+
const vercelStegaEncode = _vercelStegaEncode;
|
|
54
25
|
export default {
|
|
55
26
|
/**
|
|
56
27
|
* @name encrypt
|
|
57
28
|
* @type Function
|
|
58
29
|
*
|
|
59
|
-
* Encodes a payload into a
|
|
60
|
-
*
|
|
61
|
-
*
|
|
30
|
+
* Encodes a payload into a string using the stega algorithm via @vercel/stega.
|
|
31
|
+
* Uses an empty string as the cover so the result is pure zero-width characters,
|
|
32
|
+
* preserving the original return type of this function.
|
|
62
33
|
*
|
|
63
34
|
* @param {any} payload The data to encode (will be JSON-serialized)
|
|
64
35
|
* @return {String} The stega-encoded string of zero-width characters
|
|
@@ -67,14 +38,14 @@ export default {
|
|
|
67
38
|
* @author Olivier Bossel <olivier.bossel@gmail.com> (https://blackbyte.space)
|
|
68
39
|
*/
|
|
69
40
|
encrypt: function (payload) {
|
|
70
|
-
return
|
|
41
|
+
return vercelStegaEncode(payload);
|
|
71
42
|
},
|
|
72
43
|
/**
|
|
73
44
|
* @name decrypt
|
|
74
45
|
* @type Function
|
|
75
46
|
*
|
|
76
|
-
* Extracts and decodes the stega payload hidden inside a string.
|
|
77
|
-
* Returns the decoded value
|
|
47
|
+
* Extracts and decodes the stega payload hidden inside a string via @vercel/stega.
|
|
48
|
+
* Returns the decoded value, or null if no payload is found or decoding fails.
|
|
78
49
|
*
|
|
79
50
|
* @param {String} message The string containing a hidden stega payload
|
|
80
51
|
* @return {any} The decoded payload, or null if none found
|
|
@@ -83,11 +54,13 @@ export default {
|
|
|
83
54
|
* @author Olivier Bossel <olivier.bossel@gmail.com> (https://blackbyte.space)
|
|
84
55
|
*/
|
|
85
56
|
decrypt: function (message) {
|
|
86
|
-
|
|
87
|
-
|
|
57
|
+
var _a;
|
|
58
|
+
try {
|
|
59
|
+
return (_a = vercelStegaDecode(message)) !== null && _a !== void 0 ? _a : null;
|
|
60
|
+
}
|
|
61
|
+
catch (_b) {
|
|
88
62
|
return null;
|
|
89
|
-
|
|
90
|
-
return bitsToPayload(bits);
|
|
63
|
+
}
|
|
91
64
|
},
|
|
92
65
|
};
|
|
93
66
|
//# sourceMappingURL=stega.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stega.js","sourceRoot":"","sources":["../../../../src/shared/crypto/stega/stega.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"stega.js","sourceRoot":"","sources":["../../../../src/shared/crypto/stega/stega.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,EACL,iBAAiB,IAAI,kBAAkB,EACvC,iBAAiB,GAClB,MAAM,eAAe,CAAC;AAEvB,4EAA4E;AAC5E,qEAAqE;AACrE,MAAM,iBAAiB,GAAG,kBAEf,CAAC;AAEZ,eAAe;IACb;;;;;;;;;;;;;OAaG;IACH,OAAO,EAAE,UAAU,OAAY;QAC7B,OAAO,iBAAiB,CAAC,OAAO,CAAC,CAAC;IACpC,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,OAAO,EAAE,UAAU,OAAe;;QAChC,IAAI,CAAC;YACH,OAAO,MAAA,iBAAiB,CAAC,OAAO,CAAC,mCAAI,IAAI,CAAC;QAC5C,CAAC;QAAC,WAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;CACF,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.35",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"javascript",
|
|
7
7
|
"typescript",
|
|
@@ -214,6 +214,7 @@
|
|
|
214
214
|
},
|
|
215
215
|
"dependencies": {
|
|
216
216
|
"@faker-js/faker": "^8.4.1",
|
|
217
|
+
"@vercel/stega": "^1.0.0",
|
|
217
218
|
"aggregation": "^1.2.7",
|
|
218
219
|
"chalk": "^5.3.0",
|
|
219
220
|
"change-case": "^5.4.3",
|
|
@@ -224,7 +225,8 @@
|
|
|
224
225
|
"currency-symbol-map": "^5.1.0",
|
|
225
226
|
"escape-html": "^1.0.3",
|
|
226
227
|
"fast-folder-size": "^2.2.0",
|
|
227
|
-
"fast-xml-
|
|
228
|
+
"fast-xml-builder": "^1.1.0",
|
|
229
|
+
"fast-xml-parser": "^5.5.1",
|
|
228
230
|
"fecha": "^4.2.3",
|
|
229
231
|
"figlet": "^1.11.0",
|
|
230
232
|
"filesize": "^10.1.0",
|