@blackbyte/sugar 1.0.0-beta.33 → 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.
@@ -11,4 +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
- 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, closestElement, closestNotVisibleElement, closestScrollableElement, elementsInViewport, matches, nearestElement, nextElement, previousElement, querySelector, querySelectorAll, querySelectorAllUp, querySelectorLive, querySelectorUp, };
14
+ import queryStegaElementsLive from './queryStegaElementsLive/queryStegaElementsLive.js';
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,5 +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
- 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, closestElement, closestNotVisibleElement, closestScrollableElement, elementsInViewport, matches, nearestElement, nextElement, previousElement, querySelector, querySelectorAll, querySelectorAllUp, querySelectorLive, querySelectorUp, };
14
+ import queryStegaElementsLive from './queryStegaElementsLive/queryStegaElementsLive.js';
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, };
15
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;AAEnE,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,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,GAChB,CAAC"}
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|string} [when=null] An optional when trigger or array of triggers to wait for before calling the callback with the detected node
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<string>;
55
+ when?: TWhenTrigger;
56
56
  disconnectedCallback?: ($elm: HTMLElement) => void;
57
57
  attributes: string[];
58
58
  };
@@ -59,7 +59,7 @@ export default function querySelectorLive(selector, cb, settings) {
59
59
  if (finalSettings.when) {
60
60
  pending.add($elm);
61
61
  try {
62
- yield when($elm, [finalSettings.when]);
62
+ yield when($elm, finalSettings.when);
63
63
  }
64
64
  finally {
65
65
  pending.delete($elm);
@@ -1 +1 @@
1
- {"version":3,"file":"querySelectorLive.js","sourceRoot":"","sources":["../../../../../src/js/dom/query/querySelectorLive/querySelectorLive.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"querySelectorLive.js","sourceRoot":"","sources":["../../../../../src/js/dom/query/querySelectorLive/querySelectorLive.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,35 @@
1
+ /**
2
+ * @name queryStegaElements
3
+ * @namespace js.dom.query
4
+ * @type Function
5
+ * @platform js
6
+ * @status stable
7
+ *
8
+ * This function queries all elements (HTMLElement) that contain stega encoded metadata
9
+ * either in their attributes or in their text content.
10
+ * Stega encodes metadata as zero-width Unicode characters interleaved in strings.
11
+ *
12
+ * @param {HTMLElement | Document} [$root = document] The root element to query stega elements in
13
+ * @return {TQueryStegaElementsResult[]} Array of results containing stega encoded data
14
+ *
15
+ * @setting {Boolean|String[]} [attributes=true] If true, check all attributes on the elements. If false, do not check attributes at all. If an array of string, check the corresponding attributes
16
+ *
17
+ * @snippet queryStegaElements($1)
18
+ *
19
+ * @example js
20
+ * import { queryStegaElements } from '@blackbyte/sugar/dom';
21
+ * const stegaElements = queryStegaElements();
22
+ *
23
+ * @since 1.0.0
24
+ * @author Olivier Bossel <olivier.bossel@gmail.com> (https://blackbyte.space)
25
+ */
26
+ export type TQueryStegaElementsSettings = {
27
+ attributes?: boolean | string[];
28
+ };
29
+ export type TQueryStegaElementsResult = {
30
+ $elm: HTMLElement;
31
+ attr?: string;
32
+ stega: string;
33
+ decode(): any;
34
+ };
35
+ export default function queryStegaElements($root?: HTMLElement | Document, settings?: Partial<TQueryStegaElementsSettings>): TQueryStegaElementsResult[];
@@ -0,0 +1,47 @@
1
+ import { stega } from '@blackbyte/sugar/crypto';
2
+ const STEGA_REGEX = /[\u200B\u200C]+/g;
3
+ function extractStega(value) {
4
+ const matches = value.match(STEGA_REGEX);
5
+ return matches ? matches.join('') : null;
6
+ }
7
+ export default function queryStegaElements($root = document, settings) {
8
+ const finalSettings = Object.assign({ attributes: true }, settings);
9
+ const results = [];
10
+ const allElements = Array.from($root.querySelectorAll('*'));
11
+ for (const $elm of allElements) {
12
+ // Check text nodes for stega-encoded content
13
+ for (const node of Array.from($elm.childNodes)) {
14
+ if (node.nodeType === Node.TEXT_NODE && node.textContent) {
15
+ const raw = extractStega(node.textContent);
16
+ if (raw) {
17
+ results.push({
18
+ $elm,
19
+ stega: raw,
20
+ decode: () => stega.decrypt(raw),
21
+ });
22
+ }
23
+ }
24
+ }
25
+ // Check attributes for stega-encoded content
26
+ if (finalSettings.attributes !== false) {
27
+ for (const attr of Array.from($elm.attributes)) {
28
+ // If attrs is an array, only check the listed attribute names
29
+ if (Array.isArray(finalSettings.attributes) &&
30
+ !finalSettings.attributes.includes(attr.name)) {
31
+ continue;
32
+ }
33
+ const raw = extractStega(attr.value);
34
+ if (raw) {
35
+ results.push({
36
+ $elm,
37
+ attr: attr.name,
38
+ stega: raw,
39
+ decode: () => stega.decrypt(raw),
40
+ });
41
+ }
42
+ }
43
+ }
44
+ }
45
+ return results;
46
+ }
47
+ //# sourceMappingURL=queryStegaElements.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"queryStegaElements.js","sourceRoot":"","sources":["../../../../../src/js/dom/query/queryStegaElements/queryStegaElements.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAuChD,MAAM,WAAW,GAAG,kBAAkB,CAAC;AAEvC,SAAS,YAAY,CAAC,KAAa;IACjC,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IACzC,OAAO,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAC3C,CAAC;AAED,MAAM,CAAC,OAAO,UAAU,kBAAkB,CACxC,QAAgC,QAAQ,EACxC,QAA+C;IAE/C,MAAM,aAAa,mBACjB,UAAU,EAAE,IAAI,IACb,QAAQ,CACZ,CAAC;IAEF,MAAM,OAAO,GAAgC,EAAE,CAAC;IAChD,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAkB,CAAC;IAE7E,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;QAC/B,6CAA6C;QAC7C,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;YAC/C,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;gBACzD,MAAM,GAAG,GAAG,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBAC3C,IAAI,GAAG,EAAE,CAAC;oBACR,OAAO,CAAC,IAAI,CAAC;wBACX,IAAI;wBACJ,KAAK,EAAE,GAAG;wBACV,MAAM,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;qBACjC,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;QAED,6CAA6C;QAC7C,IAAI,aAAa,CAAC,UAAU,KAAK,KAAK,EAAE,CAAC;YACvC,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC/C,8DAA8D;gBAC9D,IACE,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,UAAU,CAAC;oBACvC,CAAC,aAAa,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAC7C,CAAC;oBACD,SAAS;gBACX,CAAC;gBACD,MAAM,GAAG,GAAG,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACrC,IAAI,GAAG,EAAE,CAAC;oBACR,OAAO,CAAC,IAAI,CAAC;wBACX,IAAI;wBACJ,IAAI,EAAE,IAAI,CAAC,IAAI;wBACf,KAAK,EAAE,GAAG;wBACV,MAAM,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;qBACjC,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC"}
@@ -0,0 +1,67 @@
1
+ import type { TWhenTrigger } from '@blackbyte/sugar/dom';
2
+ /**
3
+ * @name queryStegaElementsLive
4
+ * @namespace js.dom.query
5
+ * @type Function
6
+ * @platform js
7
+ * @status stable
8
+ *
9
+ * Monitor the specified rootNode element and all its descendants for stega encoded
10
+ * metadata, either in attributes or text content. When detected, calls the
11
+ * provided callback with the result. Uses a MutationObserver to react to DOM
12
+ * changes in real time.
13
+ *
14
+ * @feature Detects stega data in text nodes and attributes
15
+ * @feature Reacts to DOM mutations in real time via MutationObserver
16
+ * @feature Supports the "once" flag to call the callback only once per element
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 cleand
19
+ * @feature Supports attribute filtering via the "attributes" setting
20
+ *
21
+ * @param {TQueryStegaElementsLiveCallback} cb The callback called with each detected stega element
22
+ * @param {Partial<TQueryStegaElementsLiveSettings>} [settings={}] Optional settings
23
+ * @return {TQueryStegaElementsLiveApi} API object with a cancel() method
24
+ *
25
+ * @setting {HTMLElement | Document} [rootNode=document] The root node to observe
26
+ * @setting {Boolean} [once=true] Only call the callback once per element
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 cleand from the DOM
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
31
+ *
32
+ * @snippetp queryStegaElementsLive($1)
33
+ * queryStegaElementsLive(element => {
34
+ * $1
35
+ * });
36
+ *
37
+ * @example js
38
+ * import { queryStegaElementsLive } from '@blackbyte/sugar/dom';
39
+ * const query = queryStegaElementsLive(element => {
40
+ * console.log(element.$elm, element.decode());
41
+ * });
42
+ * // stop observing when needed
43
+ * query.cancel();
44
+ *
45
+ * @since 1.0.0
46
+ * @author Olivier Bossel <olivier.bossel@gmail.com> (https://blackbyte.space)
47
+ */
48
+ export type TQueryStegaElementsLiveElement = {
49
+ $elm: HTMLElement;
50
+ attr?: string;
51
+ stega: string;
52
+ data: any;
53
+ };
54
+ export type TQueryStegaElementsLiveSettings = {
55
+ rootNode: HTMLElement | Document;
56
+ once: boolean;
57
+ clean: boolean;
58
+ when?: TWhenTrigger;
59
+ disconnectedCallback?: (element: TQueryStegaElementsLiveElement) => void;
60
+ attributes: boolean | string[];
61
+ };
62
+ export type TQueryStegaElementsLiveApi = {
63
+ cancel: Function;
64
+ };
65
+ type TQueryStegaElementsLiveCallback = (element: TQueryStegaElementsLiveElement, api: TQueryStegaElementsLiveApi) => void;
66
+ export default function queryStegaElementsLive(cb: TQueryStegaElementsLiveCallback, settings?: Partial<TQueryStegaElementsLiveSettings>): TQueryStegaElementsLiveApi;
67
+ export {};
@@ -0,0 +1,198 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ import { stega } from '@blackbyte/sugar/crypto';
11
+ import { when } from '@blackbyte/sugar/dom';
12
+ import { VERCEL_STEGA_REGEX, vercelStegaClean } from '@vercel/stega';
13
+ function extractStega(value) {
14
+ const matches = value.match(VERCEL_STEGA_REGEX);
15
+ return matches ? matches.join('') : null;
16
+ }
17
+ export default function queryStegaElementsLive(cb, settings) {
18
+ // ─── State ────────────────────────────────────────────────────────────────
19
+ let canceled = false;
20
+ // Unique key per (element, attr?) pair to track already-dispatched results
21
+ const seen = new Set();
22
+ let seenCounter = 0;
23
+ const elmIds = new WeakMap();
24
+ function elmId($elm) {
25
+ if (!elmIds.has($elm))
26
+ elmIds.set($elm, String(seenCounter++));
27
+ return elmIds.get($elm);
28
+ }
29
+ function seenKey($elm, attr) {
30
+ return attr ? `${elmId($elm)}|${attr}` : elmId($elm);
31
+ }
32
+ // ─── 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
+ // ─── API ──────────────────────────────────────────────────────────────────
35
+ const api = { cancel };
36
+ function cancel() {
37
+ canceled = true;
38
+ observer.disconnect();
39
+ disconnectObserver.disconnect();
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
+ });
67
+ function watchDisconnect($elm, result) {
68
+ if (!finalSettings.disconnectedCallback)
69
+ return;
70
+ trackedElements.set($elm, result);
71
+ }
72
+ // ─── Core: handle one stega result ────────────────────────────────────────
73
+ function handleResult(result) {
74
+ return __awaiter(this, void 0, void 0, function* () {
75
+ var _a;
76
+ if (canceled)
77
+ return;
78
+ const key = seenKey(result.$elm, result.attr);
79
+ if (finalSettings.once && seen.has(key))
80
+ return;
81
+ if (finalSettings.when) {
82
+ yield when(result.$elm, finalSettings.when);
83
+ if (canceled)
84
+ return;
85
+ if (finalSettings.once && seen.has(key))
86
+ return;
87
+ }
88
+ if (finalSettings.once)
89
+ seen.add(key);
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
+ }
111
+ watchDisconnect(result.$elm, result);
112
+ });
113
+ }
114
+ // ─── Scan one element for stega data ──────────────────────────────────────
115
+ function scanElement($elm) {
116
+ if (canceled)
117
+ return;
118
+ // Check text nodes
119
+ for (const node of Array.from($elm.childNodes)) {
120
+ if (node.nodeType === Node.TEXT_NODE && node.textContent) {
121
+ const raw = extractStega(node.textContent);
122
+ if (raw) {
123
+ const decoded = stega.decrypt(node.textContent);
124
+ if (decoded == null)
125
+ continue;
126
+ handleResult({
127
+ $elm,
128
+ stega: raw,
129
+ data: decoded,
130
+ });
131
+ }
132
+ }
133
+ }
134
+ // Check attributes
135
+ if (finalSettings.attributes !== false) {
136
+ for (const attr of Array.from($elm.attributes)) {
137
+ if (Array.isArray(finalSettings.attributes) &&
138
+ !finalSettings.attributes.includes(attr.name)) {
139
+ continue;
140
+ }
141
+ const raw = extractStega(attr.value);
142
+ if (raw) {
143
+ const decoded = stega.decrypt(attr.value);
144
+ if (decoded == null)
145
+ continue;
146
+ handleResult({
147
+ $elm,
148
+ attr: attr.name,
149
+ stega: raw,
150
+ data: decoded,
151
+ });
152
+ }
153
+ }
154
+ }
155
+ }
156
+ // ─── Walk a subtree ────────────────────────────────────────────────────────
157
+ function scan(root) {
158
+ if (canceled)
159
+ return;
160
+ if (root instanceof HTMLElement)
161
+ scanElement(root);
162
+ if ('querySelectorAll' in root) {
163
+ root
164
+ .querySelectorAll('*')
165
+ .forEach(($elm) => scanElement($elm));
166
+ }
167
+ }
168
+ // ─── MutationObserver ─────────────────────────────────────────────────────
169
+ const observer = new MutationObserver((mutations) => {
170
+ if (canceled)
171
+ return;
172
+ for (const mutation of mutations) {
173
+ if (mutation.type === 'childList') {
174
+ mutation.addedNodes.forEach((node) => scan(node));
175
+ }
176
+ else if (mutation.type === 'attributes' ||
177
+ mutation.type === 'characterData') {
178
+ const target = mutation.target;
179
+ if (target instanceof HTMLElement) {
180
+ scanElement(target);
181
+ }
182
+ else if (target.nodeType === Node.TEXT_NODE && target.parentElement) {
183
+ scanElement(target.parentElement);
184
+ }
185
+ }
186
+ }
187
+ });
188
+ observer.observe(finalSettings.rootNode, {
189
+ childList: true,
190
+ subtree: true,
191
+ attributes: true,
192
+ characterData: true,
193
+ });
194
+ // ─── Initial scan ─────────────────────────────────────────────────────────
195
+ scan(finalSettings.rootNode);
196
+ return api;
197
+ }
198
+ //# sourceMappingURL=queryStegaElementsLive.js.map
@@ -0,0 +1 @@
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 TWhenTrigger<string> = ('direct' | 'directly' | 'inViewport' | 'nearViewport' | 'enterViewport' | 'outOfViewport' | 'interact' | 'visible' | 'domReady' | 'stylesheetsReady' | 'animationEnd')[];
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[], settings?: TwhenSettings): Promise<any>;
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":"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"}
1
+ {"version":3,"file":"when.js","sourceRoot":"","sources":["../../../../../src/js/dom/when/when/when.ts"],"names":[],"mappings":"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"}
@@ -4,4 +4,5 @@ import md5 from './md5/md5.js';
4
4
  import object from './object/object.js';
5
5
  import sha256 from './sha256/sha256.js';
6
6
  import sha512 from './sha512/sha512.js';
7
- export { aes as __aes, base64 as __base64, md5 as __md5, object as __object, sha256 as __sha256, sha512 as __sha512, aes, base64, md5, object, sha256, sha512, };
7
+ import stega from './stega/stega.js';
8
+ export { aes as __aes, base64 as __base64, md5 as __md5, object as __object, sha256 as __sha256, sha512 as __sha512, stega as __stega, aes, base64, md5, object, sha256, sha512, stega, };
@@ -4,5 +4,6 @@ import md5 from './md5/md5.js';
4
4
  import object from './object/object.js';
5
5
  import sha256 from './sha256/sha256.js';
6
6
  import sha512 from './sha512/sha512.js';
7
- export { aes as __aes, base64 as __base64, md5 as __md5, object as __object, sha256 as __sha256, sha512 as __sha512, aes, base64, md5, object, sha256, sha512, };
7
+ import stega from './stega/stega.js';
8
+ export { aes as __aes, base64 as __base64, md5 as __md5, object as __object, sha256 as __sha256, sha512 as __sha512, stega as __stega, aes, base64, md5, object, sha256, sha512, stega, };
8
9
  //# sourceMappingURL=_exports.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_exports.js","sourceRoot":"","sources":["../../../src/shared/crypto/_exports.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,cAAc,CAAC;AAC/B,OAAO,MAAM,MAAM,oBAAoB,CAAC;AACxC,OAAO,GAAG,MAAM,cAAc,CAAC;AAC/B,OAAO,MAAM,MAAM,oBAAoB,CAAC;AACxC,OAAO,MAAM,MAAM,oBAAoB,CAAC;AACxC,OAAO,MAAM,MAAM,oBAAoB,CAAC;AAExC,OAAO,EACL,GAAG,IAAI,KAAK,EACZ,MAAM,IAAI,QAAQ,EAClB,GAAG,IAAI,KAAK,EACZ,MAAM,IAAI,QAAQ,EAClB,MAAM,IAAI,QAAQ,EAClB,MAAM,IAAI,QAAQ,EAClB,GAAG,EACH,MAAM,EACN,GAAG,EACH,MAAM,EACN,MAAM,EACN,MAAM,GACP,CAAC"}
1
+ {"version":3,"file":"_exports.js","sourceRoot":"","sources":["../../../src/shared/crypto/_exports.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,cAAc,CAAC;AAC/B,OAAO,MAAM,MAAM,oBAAoB,CAAC;AACxC,OAAO,GAAG,MAAM,cAAc,CAAC;AAC/B,OAAO,MAAM,MAAM,oBAAoB,CAAC;AACxC,OAAO,MAAM,MAAM,oBAAoB,CAAC;AACxC,OAAO,MAAM,MAAM,oBAAoB,CAAC;AACxC,OAAO,KAAK,MAAM,kBAAkB,CAAC;AAErC,OAAO,EACL,GAAG,IAAI,KAAK,EACZ,MAAM,IAAI,QAAQ,EAClB,GAAG,IAAI,KAAK,EACZ,MAAM,IAAI,QAAQ,EAClB,MAAM,IAAI,QAAQ,EAClB,MAAM,IAAI,QAAQ,EAClB,KAAK,IAAI,OAAO,EAChB,GAAG,EACH,MAAM,EACN,GAAG,EACH,MAAM,EACN,MAAM,EACN,MAAM,EACN,KAAK,GACN,CAAC"}
@@ -0,0 +1,52 @@
1
+ /**
2
+ * @name stega
3
+ * @namespace shared.crypto
4
+ * @type Object
5
+ * @platform js
6
+ * @status stable
7
+ *
8
+ * Expose two functions named "encrypt" and "decrypt" to process content using the stega algorithm.
9
+ * Delegates to the @vercel/stega package under the hood.
10
+ *
11
+ * @snippet stega.encrypt($1)
12
+ *
13
+ * @example js
14
+ * import { stega } from '@blackbyte/sugar/crypto';
15
+ * const encoded = stega.encrypt({ source: 'cms', field: 'title' });
16
+ * const data = stega.decrypt(encoded);
17
+ *
18
+ * @since 1.0.0
19
+ * @author Olivier Bossel <olivier.bossel@gmail.com> (https://blackbyte.space)
20
+ */
21
+ declare const _default: {
22
+ /**
23
+ * @name encrypt
24
+ * @type Function
25
+ *
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.
29
+ *
30
+ * @param {any} payload The data to encode (will be JSON-serialized)
31
+ * @return {String} The stega-encoded string of zero-width characters
32
+ *
33
+ * @since 1.0.0
34
+ * @author Olivier Bossel <olivier.bossel@gmail.com> (https://blackbyte.space)
35
+ */
36
+ encrypt: (payload: any) => string;
37
+ /**
38
+ * @name decrypt
39
+ * @type Function
40
+ *
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.
43
+ *
44
+ * @param {String} message The string containing a hidden stega payload
45
+ * @return {any} The decoded payload, or null if none found
46
+ *
47
+ * @since 1.0.0
48
+ * @author Olivier Bossel <olivier.bossel@gmail.com> (https://blackbyte.space)
49
+ */
50
+ decrypt: (message: string) => any;
51
+ };
52
+ export default _default;
@@ -0,0 +1,66 @@
1
+ /**
2
+ * @name stega
3
+ * @namespace shared.crypto
4
+ * @type Object
5
+ * @platform js
6
+ * @status stable
7
+ *
8
+ * Expose two functions named "encrypt" and "decrypt" to process content using the stega algorithm.
9
+ * Delegates to the @vercel/stega package under the hood.
10
+ *
11
+ * @snippet stega.encrypt($1)
12
+ *
13
+ * @example js
14
+ * import { stega } from '@blackbyte/sugar/crypto';
15
+ * const encoded = stega.encrypt({ source: 'cms', field: 'title' });
16
+ * const data = stega.decrypt(encoded);
17
+ *
18
+ * @since 1.0.0
19
+ * @author Olivier Bossel <olivier.bossel@gmail.com> (https://blackbyte.space)
20
+ */
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;
25
+ export default {
26
+ /**
27
+ * @name encrypt
28
+ * @type Function
29
+ *
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.
33
+ *
34
+ * @param {any} payload The data to encode (will be JSON-serialized)
35
+ * @return {String} The stega-encoded string of zero-width characters
36
+ *
37
+ * @since 1.0.0
38
+ * @author Olivier Bossel <olivier.bossel@gmail.com> (https://blackbyte.space)
39
+ */
40
+ encrypt: function (payload) {
41
+ return vercelStegaEncode(payload);
42
+ },
43
+ /**
44
+ * @name decrypt
45
+ * @type Function
46
+ *
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.
49
+ *
50
+ * @param {String} message The string containing a hidden stega payload
51
+ * @return {any} The decoded payload, or null if none found
52
+ *
53
+ * @since 1.0.0
54
+ * @author Olivier Bossel <olivier.bossel@gmail.com> (https://blackbyte.space)
55
+ */
56
+ decrypt: function (message) {
57
+ var _a;
58
+ try {
59
+ return (_a = vercelStegaDecode(message)) !== null && _a !== void 0 ? _a : null;
60
+ }
61
+ catch (_b) {
62
+ return null;
63
+ }
64
+ },
65
+ };
66
+ //# sourceMappingURL=stega.js.map
@@ -0,0 +1 @@
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.33",
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,8 +225,10 @@
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-parser": "^5.3.9",
228
+ "fast-xml-builder": "^1.1.0",
229
+ "fast-xml-parser": "^5.5.1",
228
230
  "fecha": "^4.2.3",
231
+ "figlet": "^1.11.0",
229
232
  "filesize": "^10.1.0",
230
233
  "find-package-json": "^1.2.0",
231
234
  "flattenjs": "^2.1.3",