@repobit/dex-store-elements 1.2.8 → 1.3.0

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/CHANGELOG.md CHANGED
@@ -3,6 +3,20 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## [1.3.0](https://github.com/bitdefender/dex-core/compare/@repobit/dex-store-elements@1.2.8...@repobit/dex-store-elements@1.3.0) (2025-11-26)
7
+
8
+
9
+ ### Features
10
+
11
+ * **DEX-21811:** add shadow dom support ([bbf9006](https://github.com/bitdefender/dex-core/commit/bbf90060fe92b88893defbce117e7ab87f1d1947))
12
+
13
+
14
+ ### Bug Fixes
15
+
16
+ * **DEX-21811:** change naming ([7e16467](https://github.com/bitdefender/dex-core/commit/7e164677d94974756330d756b6f00a522618a7b7))
17
+
18
+
19
+
6
20
  ## [1.2.8](https://github.com/bitdefender/dex-core/compare/@repobit/dex-store-elements@1.2.7...@repobit/dex-store-elements@1.2.8) (2025-11-18)
7
21
 
8
22
 
@@ -1,2 +1,2 @@
1
- declare const registerActionNodes: (document: HTMLElement) => void;
1
+ declare const registerActionNodes: (root: HTMLElement | ShadowRoot) => void;
2
2
  export { registerActionNodes };
@@ -1,41 +1,80 @@
1
- import { DATA_ACTION_NODE, handleActionNode, cleanupActionNode } from "./utilty.js";
2
- const registerActionNodes = (document) => {
3
- // On page load, “announce” the ones already in the DOM:
4
- document
5
- .querySelectorAll(DATA_ACTION_NODE)
6
- .forEach(handleActionNode);
7
- // Watch for future adds/removals:
8
- const mo = new MutationObserver(muts => {
9
- for (const m of muts) {
10
- for (const node of Array.from(m.addedNodes)) {
11
- if (!(node instanceof HTMLElement))
12
- continue;
13
- // check the node itself
14
- if (node.matches(DATA_ACTION_NODE)) {
15
- handleActionNode(node);
1
+ import { cleanupActionNode, DATA_ACTION_NODE, handleActionNode } from "./utilty.js";
2
+ const registerActionNodes = (root) => {
3
+ const observed = new WeakSet();
4
+ const cleanupShadowTree = (shadowRoot) => {
5
+ shadowRoot
6
+ .querySelectorAll(DATA_ACTION_NODE)
7
+ .forEach(n => cleanupActionNode(n));
8
+ shadowRoot
9
+ .querySelectorAll('[shadow]')
10
+ .forEach(host => host.shadowRoot && cleanupShadowTree(host.shadowRoot));
11
+ };
12
+ const handleAdded = (node) => {
13
+ if (node.matches(DATA_ACTION_NODE)) {
14
+ handleActionNode(node);
15
+ }
16
+ node
17
+ .querySelectorAll(DATA_ACTION_NODE)
18
+ .forEach(handleActionNode);
19
+ if (node.hasAttribute('shadow') && node.shadowRoot) {
20
+ watch(node.shadowRoot);
21
+ }
22
+ node
23
+ .querySelectorAll('[shadow]')
24
+ .forEach(host => host.shadowRoot && watch(host.shadowRoot));
25
+ };
26
+ const handleRemoved = (node) => {
27
+ if (node.matches(DATA_ACTION_NODE)) {
28
+ cleanupActionNode(node);
29
+ }
30
+ node
31
+ .querySelectorAll(DATA_ACTION_NODE)
32
+ .forEach(n => cleanupActionNode(n));
33
+ if (node.hasAttribute('shadow') && node.shadowRoot) {
34
+ cleanupShadowTree(node.shadowRoot);
35
+ }
36
+ node
37
+ .querySelectorAll('[shadow]')
38
+ .forEach(host => host.shadowRoot && cleanupShadowTree(host.shadowRoot));
39
+ };
40
+ const watch = (node) => {
41
+ if (observed.has(node))
42
+ return;
43
+ observed.add(node);
44
+ if (node instanceof HTMLElement && node.matches(DATA_ACTION_NODE)) {
45
+ handleActionNode(node);
46
+ }
47
+ node
48
+ .querySelectorAll(DATA_ACTION_NODE)
49
+ .forEach(handleActionNode);
50
+ if (node instanceof HTMLElement && node.hasAttribute('shadow') && node.shadowRoot) {
51
+ watch(node.shadowRoot);
52
+ }
53
+ if ('querySelectorAll' in node) {
54
+ node
55
+ .querySelectorAll('[shadow]')
56
+ .forEach(host => host.shadowRoot && watch(host.shadowRoot));
57
+ }
58
+ const mo = new MutationObserver(muts => {
59
+ for (const m of muts) {
60
+ for (const added of Array.from(m.addedNodes)) {
61
+ if (!(added instanceof HTMLElement))
62
+ continue;
63
+ handleAdded(added);
16
64
  }
17
- node
18
- .querySelectorAll(DATA_ACTION_NODE)
19
- .forEach(handleActionNode);
20
- }
21
- for (const node of Array.from(m.removedNodes)) {
22
- if (!(node instanceof HTMLElement))
23
- continue;
24
- // check the node itself
25
- if (node.matches(DATA_ACTION_NODE)) {
26
- cleanupActionNode(node);
65
+ for (const removed of Array.from(m.removedNodes)) {
66
+ if (!(removed instanceof HTMLElement))
67
+ continue;
68
+ handleRemoved(removed);
27
69
  }
28
- node
29
- .querySelectorAll(DATA_ACTION_NODE)
30
- .forEach(n => cleanupActionNode(n));
31
70
  }
32
- }
33
- });
34
- // make sure to observe subtree so deep inserts fire here:
35
- mo.observe(document, {
36
- childList: true,
37
- subtree: true
38
- });
71
+ });
72
+ mo.observe(node, {
73
+ childList: true,
74
+ subtree: true
75
+ });
76
+ };
77
+ watch(root);
39
78
  };
40
79
  export { registerActionNodes };
41
80
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/actions/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,gBAAgB,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAE7F,MAAM,mBAAmB,GAAG,CAAC,QAAqB,EAAE,EAAE;IACtD,wDAAwD;IACtD,QAAQ;SACL,gBAAgB,CAAa,gBAAgB,CAAC;SAC9C,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAE7B,kCAAkC;IAClC,MAAM,EAAE,GAAG,IAAI,gBAAgB,CAAC,IAAI,CAAC,EAAE;QACrC,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;YACrB,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC5C,IAAI,CAAC,CAAC,IAAI,YAAY,WAAW,CAAC;oBAAE,SAAS;gBAE7C,wBAAwB;gBACxB,IAAI,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE,CAAC;oBACnC,gBAAgB,CAAC,IAAkB,CAAC,CAAC;gBACvC,CAAC;gBAED,IAAI;qBACD,gBAAgB,CAAa,gBAAgB,CAAC;qBAC9C,OAAO,CAAC,gBAAgB,CAAC,CAAC;YAC/B,CAAC;YACD,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC;gBAC9C,IAAI,CAAC,CAAC,IAAI,YAAY,WAAW,CAAC;oBAAE,SAAS;gBAE7C,wBAAwB;gBACxB,IAAI,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE,CAAC;oBACnC,iBAAiB,CAAC,IAAkB,CAAC,CAAC;gBACxC,CAAC;gBAED,IAAI;qBACD,gBAAgB,CAAa,gBAAgB,CAAC;qBAC9C,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,iBAAiB,CAAC,CAAe,CAAC,CAAC,CAAC;YACtD,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,0DAA0D;IAC1D,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE;QACnB,SAAS,EAAE,IAAI;QACf,OAAO,EAAI,IAAI;KAChB,CAAC,CAAC;AACL,CAAC,CAAA;AAED,OAAO,EAAE,mBAAmB,EAAE,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/actions/index.ts"],"names":[],"mappings":"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"}
@@ -80,6 +80,7 @@ export declare class StateNode extends LitElement {
80
80
  private _etaRenderTriggeredByMutation;
81
81
  private _etaRenderCurrentFromMutation;
82
82
  private _slotMo?;
83
+ private _shadowSlotMos?;
83
84
  private _etaIdleWaiters;
84
85
  private _noEtaAttrs?;
85
86
  private _etaDirtyRoots?;
@@ -104,6 +105,9 @@ export declare class StateNode extends LitElement {
104
105
  private _onCollectChildRemoved;
105
106
  private _announceAsContextualChild;
106
107
  private _announceContextualChildRemoved;
108
+ private _cleanupShadowRoot;
109
+ private _handleEtaMutations;
110
+ private _observeShadowRoot;
107
111
  protected _eventChange(e: EventType): void;
108
112
  protected _forwardEvent(e?: eventContexType): void;
109
113
  private _collectOptionEvent;
@@ -355,6 +355,10 @@ export class StateNode extends LitElement {
355
355
  _findEligibleRoot(n) {
356
356
  let cur = n;
357
357
  while (cur && cur !== this) {
358
+ if (cur instanceof ShadowRoot) {
359
+ cur = cur.host;
360
+ continue;
361
+ }
358
362
  if (!(cur instanceof HTMLElement)) {
359
363
  cur = cur.parentNode;
360
364
  continue;
@@ -449,9 +453,19 @@ export class StateNode extends LitElement {
449
453
  }
450
454
  }
451
455
  async _renderEtaTemplates(context) {
452
- // Traverse descendants; for any element that does NOT contain a nested state node,
453
- // treat its innerHTML as a single Eta template and render/morph the entire subtree.
456
+ // Traverse descendants (including opted-in shadow roots); for any element that
457
+ // does NOT contain a nested state node, treat its innerHTML as a single Eta
458
+ // template and render/morph the entire subtree.
454
459
  let _processed = 0;
460
+ const waitForCustomUpdate = async (el) => {
461
+ const maybe = el.updateComplete;
462
+ if (maybe && typeof maybe.then === 'function') {
463
+ try {
464
+ await maybe;
465
+ }
466
+ catch { /* ignore */ }
467
+ }
468
+ };
455
469
  const visit = async (root) => {
456
470
  // If a follow-up Eta run is already requested (DOM still changing)
457
471
  // and this pass was triggered by mutation, bail out to avoid unstable writes.
@@ -462,6 +476,18 @@ export class StateNode extends LitElement {
462
476
  return;
463
477
  if (!(child instanceof HTMLElement))
464
478
  continue;
479
+ if (this._etaRenderCurrentFromMutation && this._etaRenderNeedsRun)
480
+ return;
481
+ await waitForCustomUpdate(child);
482
+ const shadowRoot = child.hasAttribute('shadow') ? child.shadowRoot : null;
483
+ const traverseShadow = async () => {
484
+ if (shadowRoot) {
485
+ await visit(shadowRoot);
486
+ }
487
+ };
488
+ if (shadowRoot) {
489
+ this._observeShadowRoot(shadowRoot, child);
490
+ }
465
491
  // Read current HTML source once
466
492
  const currentSrc = child.innerHTML ?? '';
467
493
  // Always allow attribute-level Eta on any node in this subtree
@@ -469,15 +495,18 @@ export class StateNode extends LitElement {
469
495
  if (this._isStateNodeElement(child) && child !== this) {
470
496
  continue; // nested provider; let it handle its subtree
471
497
  }
472
- if (this._hasNestedStateNode(child)) {
498
+ const hasNestedStateNode = this._hasNestedStateNode(child);
499
+ if (hasNestedStateNode) {
473
500
  // drill down until we reach leaves without nested state nodes
474
501
  await visit(child);
502
+ await traverseShadow();
475
503
  continue;
476
504
  }
477
505
  // Cheap render-node detection using current HTML source
478
506
  // If subtree contains render nodes, recurse into it but don't morph at this level
479
507
  if (this._hasRenderNodes(child)) {
480
508
  await visit(child);
509
+ await traverseShadow();
481
510
  continue;
482
511
  }
483
512
  // Skip elements managed by the render pipeline
@@ -491,7 +520,8 @@ export class StateNode extends LitElement {
491
520
  // special provider/render container, and it never had a template cached,
492
521
  // skip further work.
493
522
  const noAttrs = this._noEtaAttrs?.has(child) ?? false;
494
- if (!currentSrc.includes('{{') && noAttrs && !hadTemplate && !this._hasNestedStateNode(child)) {
523
+ if (!currentSrc.includes('{{') && noAttrs && !hadTemplate && !hasNestedStateNode) {
524
+ await traverseShadow();
495
525
  continue;
496
526
  }
497
527
  if (!entry) {
@@ -511,26 +541,34 @@ export class StateNode extends LitElement {
511
541
  // During mutation-triggered passes, avoid writing to DOM to prevent
512
542
  // racing with SPA changes. We refreshed caches above so subsequent
513
543
  // non-mutation renders have the latest source.
544
+ await traverseShadow();
514
545
  continue;
515
546
  }
516
547
  if (this._etaRenderCurrentFromMutation && this._etaRenderNeedsRun)
517
548
  return;
518
549
  await this._morphElementFromHTML(child, out);
550
+ await traverseShadow();
519
551
  // Periodically yield to avoid long tasks
520
552
  if ((++_processed % 50) === 0) {
521
553
  await Promise.resolve();
522
554
  }
523
555
  }
524
556
  };
557
+ const visitWithShadow = async (root) => {
558
+ await visit(root);
559
+ if (root.hasAttribute('shadow') && root.shadowRoot) {
560
+ await visit(root.shadowRoot);
561
+ }
562
+ };
525
563
  // If this is a mutation-triggered pass and we have specific dirty roots, only refresh those
526
564
  if (this._etaRenderCurrentFromMutation && this._etaDirtyRoots && this._etaDirtyRoots.size) {
527
565
  for (const r of this._etaDirtyRoots) {
528
- await visit(r);
566
+ await visitWithShadow(r);
529
567
  }
530
568
  this._etaDirtyRoots.clear();
531
569
  }
532
570
  else {
533
- await visit(this);
571
+ await visitWithShadow(this);
534
572
  }
535
573
  }
536
574
  connectedCallback() {
@@ -544,43 +582,17 @@ export class StateNode extends LitElement {
544
582
  [ActionEvent, UpdateByDeltaEvent].forEach(e => this.addEventListener(e.eventName, this._eventChange));
545
583
  // Observe slot/light DOM changes to trigger Eta re-rendering in SPA scenarios
546
584
  if (!this._slotMo && this.shouldRunEtaStateRender()) {
547
- this._slotMo = new MutationObserver((muts) => {
548
- for (const m of muts) {
549
- // Consider only targets that aren't within nested-provider or render-managed subtrees
550
- const targets = [];
551
- if (m.type === 'characterData' || m.type === 'attributes') {
552
- targets.push(m.target);
553
- // If attributes changed on an element previously marked as having no Eta attrs,
554
- // clear the cache so it can be rescanned on the next pass.
555
- if (m.type === 'attributes' && this._noEtaAttrs && m.target instanceof HTMLElement) {
556
- this._noEtaAttrs.delete(m.target);
557
- }
558
- }
559
- else {
560
- targets.push(...Array.from(m.addedNodes));
561
- }
562
- const eligibles = [];
563
- for (const t of targets) {
564
- const root = this._findEligibleRoot(t);
565
- if (root)
566
- eligibles.push(root);
567
- }
568
- if (!eligibles.length)
569
- continue;
570
- // Track dirty roots for this cycle
571
- if (!this._etaDirtyRoots)
572
- this._etaDirtyRoots = new Set();
573
- eligibles.forEach(r => this._etaDirtyRoots.add(r));
574
- this._scheduleEtaRenderFromMutation();
575
- break; // one schedule is enough per batch
576
- }
577
- });
585
+ this._slotMo = new MutationObserver((muts) => this._handleEtaMutations(muts));
578
586
  this._slotMo.observe(this, {
579
587
  childList: true,
580
588
  subtree: true,
581
589
  characterData: true,
582
590
  attributes: true
583
591
  });
592
+ this.querySelectorAll('[shadow]').forEach(host => {
593
+ if (host.shadowRoot)
594
+ this._observeShadowRoot(host.shadowRoot, host);
595
+ });
584
596
  }
585
597
  // Announce this node as a contextual child of its nearest parent StateNode
586
598
  // so parents can await our updateComplete as part of theirs.
@@ -610,6 +622,20 @@ export class StateNode extends LitElement {
610
622
  }
611
623
  this._slotMo?.disconnect();
612
624
  this._slotMo = undefined;
625
+ if (this._shadowSlotMos) {
626
+ for (const [sr, mo] of this._shadowSlotMos.entries()) {
627
+ try {
628
+ mo.disconnect();
629
+ }
630
+ catch { /* ignore */ }
631
+ try {
632
+ this._cleanupShadowRoot(sr);
633
+ }
634
+ catch { /* ignore */ }
635
+ }
636
+ this._shadowSlotMos.clear();
637
+ this._shadowSlotMos = undefined;
638
+ }
613
639
  super.disconnectedCallback();
614
640
  }
615
641
  _announceAsContextualChild() {
@@ -618,6 +644,96 @@ export class StateNode extends LitElement {
618
644
  _announceContextualChildRemoved() {
619
645
  this.dispatchEvent(new CollectChildRemovedEvent({ child: this }));
620
646
  }
647
+ _cleanupShadowRoot(sr) {
648
+ if (this._shadowSlotMos && this._shadowSlotMos.has(sr)) {
649
+ const mo = this._shadowSlotMos.get(sr);
650
+ try {
651
+ mo?.disconnect();
652
+ }
653
+ catch { /* ignore */ }
654
+ this._shadowSlotMos.delete(sr);
655
+ }
656
+ sr.querySelectorAll('[shadow]').forEach(host => {
657
+ if (host.shadowRoot)
658
+ this._cleanupShadowRoot(host.shadowRoot);
659
+ });
660
+ }
661
+ _handleEtaMutations(muts) {
662
+ for (const m of muts) {
663
+ // Consider only targets that aren't within nested-provider or render-managed subtrees
664
+ const targets = [];
665
+ if (m.type === 'characterData' || m.type === 'attributes') {
666
+ targets.push(m.target);
667
+ // If attributes changed on an element previously marked as having no Eta attrs,
668
+ // clear the cache so it can be rescanned on the next pass.
669
+ if (m.type === 'attributes' && this._noEtaAttrs && m.target instanceof HTMLElement) {
670
+ this._noEtaAttrs.delete(m.target);
671
+ }
672
+ }
673
+ else {
674
+ targets.push(...Array.from(m.addedNodes));
675
+ for (const removed of Array.from(m.removedNodes)) {
676
+ if (!(removed instanceof HTMLElement))
677
+ continue;
678
+ if (removed.hasAttribute('shadow') && removed.shadowRoot) {
679
+ this._cleanupShadowRoot(removed.shadowRoot);
680
+ }
681
+ removed
682
+ .querySelectorAll('[shadow]')
683
+ .forEach(host => host.shadowRoot && this._cleanupShadowRoot(host.shadowRoot));
684
+ }
685
+ }
686
+ const eligibles = [];
687
+ for (const t of targets) {
688
+ if (t instanceof HTMLElement && t.hasAttribute('shadow') && t.shadowRoot) {
689
+ this._observeShadowRoot(t.shadowRoot, t);
690
+ }
691
+ if (t instanceof HTMLElement) {
692
+ t.querySelectorAll('[shadow]').forEach(host => {
693
+ if (host.shadowRoot)
694
+ this._observeShadowRoot(host.shadowRoot, host);
695
+ });
696
+ }
697
+ const root = this._findEligibleRoot(t);
698
+ if (root)
699
+ eligibles.push(root);
700
+ }
701
+ if (!eligibles.length)
702
+ continue;
703
+ // Track dirty roots for this cycle
704
+ if (!this._etaDirtyRoots)
705
+ this._etaDirtyRoots = new Set();
706
+ eligibles.forEach(r => this._etaDirtyRoots.add(r));
707
+ this._scheduleEtaRenderFromMutation();
708
+ break; // one schedule is enough per batch
709
+ }
710
+ }
711
+ _observeShadowRoot(sr, host) {
712
+ if (!this.shouldRunEtaStateRender())
713
+ return;
714
+ const rootHost = host ?? (sr.host instanceof HTMLElement ? sr.host : null);
715
+ if (rootHost) {
716
+ const eligible = this._findEligibleRoot(rootHost);
717
+ if (!eligible)
718
+ return;
719
+ }
720
+ if (!this._shadowSlotMos)
721
+ this._shadowSlotMos = new Map();
722
+ if (this._shadowSlotMos.has(sr))
723
+ return;
724
+ const mo = new MutationObserver((muts) => this._handleEtaMutations(muts));
725
+ mo.observe(sr, {
726
+ childList: true,
727
+ subtree: true,
728
+ characterData: true,
729
+ attributes: true
730
+ });
731
+ this._shadowSlotMos.set(sr, mo);
732
+ sr.querySelectorAll('[shadow]').forEach(host => {
733
+ if (host.shadowRoot)
734
+ this._observeShadowRoot(host.shadowRoot, host);
735
+ });
736
+ }
621
737
  _eventChange(e) {
622
738
  e.stopPropagation();
623
739
  // ignore if source matches ignore list
@@ -1 +1 @@
1
- {"version":3,"file":"node.state.js","sourceRoot":"","sources":["../../../src/nodes/node.state.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"node.state.js","sourceRoot":"","sources":["../../../src/nodes/node.state.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- declare const registerRenderNodes: (document: HTMLElement) => void;
1
+ declare const registerRenderNodes: (root: HTMLElement | ShadowRoot) => void;
2
2
  export { registerRenderNodes };
@@ -1,41 +1,82 @@
1
1
  import { cleanupRenderNode, DATA_HIDE_NODE, DATA_RENDER_NODE, handleRenderNode } from "./utility.js";
2
2
  const selectors = [DATA_HIDE_NODE, DATA_RENDER_NODE];
3
- const registerRenderNodes = (document) => {
4
- // On page load, “announce” the ones already in the DOM:
5
- document
6
- .querySelectorAll(selectors.join(','))
7
- .forEach(handleRenderNode);
8
- // Watch for future adds/removals:
9
- const mo = new MutationObserver(muts => {
10
- for (const m of muts) {
11
- for (const node of Array.from(m.addedNodes)) {
12
- if (!(node instanceof HTMLElement))
13
- continue;
14
- // check the node itself
15
- if (selectors.some(s => node.matches(s))) {
16
- handleRenderNode(node);
3
+ const registerRenderNodes = (root) => {
4
+ const observed = new WeakSet();
5
+ const selectorStr = selectors.join(',');
6
+ const cleanupShadowTree = (shadowRoot) => {
7
+ shadowRoot
8
+ .querySelectorAll(selectorStr)
9
+ .forEach(n => cleanupRenderNode(n));
10
+ shadowRoot
11
+ .querySelectorAll('[shadow]')
12
+ .forEach(host => host.shadowRoot && cleanupShadowTree(host.shadowRoot));
13
+ };
14
+ const handleAdded = (node) => {
15
+ if (selectors.some(s => node.matches(s))) {
16
+ handleRenderNode(node);
17
+ }
18
+ node
19
+ .querySelectorAll(selectorStr)
20
+ .forEach(handleRenderNode);
21
+ if (node.hasAttribute('shadow') && node.shadowRoot) {
22
+ watch(node.shadowRoot);
23
+ }
24
+ node
25
+ .querySelectorAll('[shadow]')
26
+ .forEach(host => host.shadowRoot && watch(host.shadowRoot));
27
+ };
28
+ const handleRemoved = (node) => {
29
+ if (selectors.some(s => node.matches(s))) {
30
+ cleanupRenderNode(node);
31
+ }
32
+ node
33
+ .querySelectorAll(selectorStr)
34
+ .forEach(n => cleanupRenderNode(n));
35
+ if (node.hasAttribute('shadow') && node.shadowRoot) {
36
+ cleanupShadowTree(node.shadowRoot);
37
+ }
38
+ node
39
+ .querySelectorAll('[shadow]')
40
+ .forEach(host => host.shadowRoot && cleanupShadowTree(host.shadowRoot));
41
+ };
42
+ const watch = (node) => {
43
+ if (observed.has(node))
44
+ return;
45
+ observed.add(node);
46
+ if (node instanceof HTMLElement && selectors.some(s => node.matches(s))) {
47
+ handleRenderNode(node);
48
+ }
49
+ node
50
+ .querySelectorAll(selectorStr)
51
+ .forEach(handleRenderNode);
52
+ if (node instanceof HTMLElement && node.hasAttribute('shadow') && node.shadowRoot) {
53
+ watch(node.shadowRoot);
54
+ }
55
+ if ('querySelectorAll' in node) {
56
+ node
57
+ .querySelectorAll('[shadow]')
58
+ .forEach(host => host.shadowRoot && watch(host.shadowRoot));
59
+ }
60
+ const mo = new MutationObserver(muts => {
61
+ for (const m of muts) {
62
+ for (const added of Array.from(m.addedNodes)) {
63
+ if (!(added instanceof HTMLElement))
64
+ continue;
65
+ handleAdded(added);
17
66
  }
18
- node
19
- .querySelectorAll(selectors.join(','))
20
- .forEach(handleRenderNode);
21
- }
22
- for (const node of Array.from(m.removedNodes)) {
23
- if (!(node instanceof HTMLElement))
24
- continue;
25
- if (selectors.some(s => node.matches(s))) {
26
- cleanupRenderNode(node);
67
+ for (const removed of Array.from(m.removedNodes)) {
68
+ if (!(removed instanceof HTMLElement))
69
+ continue;
70
+ handleRemoved(removed);
27
71
  }
28
- node
29
- .querySelectorAll(selectors.join(','))
30
- .forEach(n => cleanupRenderNode(n));
31
72
  }
32
- }
33
- });
34
- // make sure to observe subtree so deep inserts fire here:
35
- mo.observe(document, {
36
- childList: true,
37
- subtree: true
38
- });
73
+ });
74
+ mo.observe(node, {
75
+ childList: true,
76
+ subtree: true
77
+ });
78
+ };
79
+ watch(root);
39
80
  };
40
81
  export { registerRenderNodes };
41
82
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/renders/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,gBAAgB,EAAE,gBAAgB,EAAc,MAAM,WAAW,CAAC;AAE9G,MAAM,SAAS,GAAG,CAAC,cAAc,EAAE,gBAAgB,CAAC,CAAC;AAErD,MAAM,mBAAmB,GAAG,CAAC,QAAqB,EAAE,EAAE;IACtD,wDAAwD;IACtD,QAAQ;SACL,gBAAgB,CAAa,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SACjD,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAE7B,kCAAkC;IAClC,MAAM,EAAE,GAAG,IAAI,gBAAgB,CAAC,IAAI,CAAC,EAAE;QACrC,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;YACrB,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC5C,IAAI,CAAC,CAAC,IAAI,YAAY,WAAW,CAAC;oBAAE,SAAS;gBAE7C,wBAAwB;gBACxB,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC,CAAA,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;oBACxC,gBAAgB,CAAC,IAAkB,CAAC,CAAC;gBACvC,CAAC;gBAED,IAAI;qBACD,gBAAgB,CAAa,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;qBACjD,OAAO,CAAC,gBAAgB,CAAC,CAAC;YAC/B,CAAC;YACD,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC;gBAC9C,IAAI,CAAC,CAAC,IAAI,YAAY,WAAW,CAAC;oBAAE,SAAS;gBAE7C,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC,CAAA,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;oBACxC,iBAAiB,CAAC,IAAkB,CAAC,CAAC;gBACxC,CAAC;gBACD,IAAI;qBACD,gBAAgB,CAAa,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;qBACjD,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,iBAAiB,CAAC,CAAe,CAAC,CAAC,CAAC;YACtD,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,0DAA0D;IAC1D,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE;QACnB,SAAS,EAAE,IAAI;QACf,OAAO,EAAI,IAAI;KAChB,CAAC,CAAC;AACL,CAAC,CAAA;AAED,OAAO,EAAE,mBAAmB,EAAE,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/renders/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@repobit/dex-store-elements",
3
- "version": "1.2.8",
3
+ "version": "1.3.0",
4
4
  "description": "HTML elements layer for pricings",
5
5
  "author": "Buga Adrian Alexandru <abuga@bitdefender.com>",
6
6
  "homepage": "https://github.com/bitdefender/dex-core#readme",
@@ -62,5 +62,5 @@
62
62
  ]
63
63
  }
64
64
  },
65
- "gitHead": "bb2a0edfc0dabeb3ea6b572cb2c25d623a24fc2b"
65
+ "gitHead": "bfa7e68f3ce30abd7ca0d4292168e1923de46a0f"
66
66
  }