frosty 0.0.41 → 0.0.42

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.
@@ -1,5 +1,5 @@
1
1
  import { N as NativeElementType, b as ComponentNode } from './common-CUIKizze.js';
2
- import { _ as _Renderer } from './renderer-DPoACdip.js';
2
+ import { _ as _Renderer } from './renderer-DDRMah6t.js';
3
3
  import { DOMWindow } from 'jsdom';
4
4
 
5
5
  declare abstract class DOMNativeNode extends NativeElementType {
@@ -15,6 +15,7 @@ declare abstract class DOMNativeNode extends NativeElementType {
15
15
  declare abstract class _DOMRenderer extends _Renderer<Element | DOMNativeNode> {
16
16
  private _window;
17
17
  private _namespace_map;
18
+ private _tracked_elements;
18
19
  private _tracked_props;
19
20
  private _tracked_listener;
20
21
  private _tracked_head_children;
@@ -25,9 +26,9 @@ declare abstract class _DOMRenderer extends _Renderer<Element | DOMNativeNode> {
25
26
  get window(): Window | DOMWindow;
26
27
  private __createBuiltClassName;
27
28
  private __updateEventListener;
28
- __replaceChildren(element: Element, children: (string | Element | DOMNativeNode)[]): void;
29
+ __replaceChildren(element: Element, children: (string | Element | DOMNativeNode)[], force?: boolean): void;
29
30
  renderToString(component: ComponentNode): string;
30
31
  }
31
32
 
32
33
  export { DOMNativeNode as D, _DOMRenderer as _ };
33
- //# sourceMappingURL=common-BG8cT1kV.d.ts.map
34
+ //# sourceMappingURL=common-CDZcUGUM.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"common-CDZcUGUM.d.ts","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -3,7 +3,7 @@
3
3
  var _ = require('lodash');
4
4
  var myers_js = require('myers.js');
5
5
  var component = require('./component-BiP3XIPe.js');
6
- var renderer = require('./renderer-a9zN1_RB.js');
6
+ var renderer = require('./renderer-CD_mSOiL.js');
7
7
  var postcss = require('postcss');
8
8
  var postcssJs = require('postcss-js');
9
9
  var nested = require('postcss-nested');
@@ -3896,6 +3896,7 @@ class DOMNativeNode extends component.NativeElementType {
3896
3896
  class _DOMRenderer extends renderer._Renderer {
3897
3897
  _window;
3898
3898
  _namespace_map = new WeakMap();
3899
+ _tracked_elements = new WeakSet();
3899
3900
  _tracked_props = new WeakMap();
3900
3901
  _tracked_listener = new WeakMap();
3901
3902
  _tracked_head_children = [];
@@ -3964,6 +3965,7 @@ class _DOMRenderer extends renderer._Renderer {
3964
3965
  const elem = ns ? this.document.createElementNS(ns, type) : this.document.createElement(type);
3965
3966
  this._namespace_map.set(node, ns);
3966
3967
  this._updateElement(node, elem, stack);
3968
+ this._tracked_elements.add(elem);
3967
3969
  return elem;
3968
3970
  }
3969
3971
  __createBuiltClassName(className, style) {
@@ -4071,7 +4073,7 @@ class _DOMRenderer extends renderer._Renderer {
4071
4073
  }
4072
4074
  }
4073
4075
  /** @internal */
4074
- _replaceChildren(node, element, children) {
4076
+ _replaceChildren(node, element, children, force) {
4075
4077
  if (element instanceof DOMNativeNode) {
4076
4078
  element.replaceChildren(children);
4077
4079
  }
@@ -4081,7 +4083,7 @@ class _DOMRenderer extends renderer._Renderer {
4081
4083
  this._tracked_head_children.push(...children);
4082
4084
  }
4083
4085
  else if (_.isEmpty(innerHTML)) {
4084
- this.__replaceChildren(element, children);
4086
+ this.__replaceChildren(element, children, force);
4085
4087
  }
4086
4088
  }
4087
4089
  }
@@ -4100,7 +4102,7 @@ class _DOMRenderer extends renderer._Renderer {
4100
4102
  }
4101
4103
  }
4102
4104
  }
4103
- __replaceChildren(element, children) {
4105
+ __replaceChildren(element, children, force) {
4104
4106
  const diff = myers_js.myersSync(_.map(element.childNodes, x => x.nodeType === this.document.TEXT_NODE ? x.textContent ?? '' : x), _.map(children, x => x instanceof DOMNativeNode ? x.target : x), { compare: (a, b) => a === b });
4105
4107
  let i = 0;
4106
4108
  for (const { remove, insert, equivalent } of diff) {
@@ -4109,7 +4111,12 @@ class _DOMRenderer extends renderer._Renderer {
4109
4111
  }
4110
4112
  else if (remove) {
4111
4113
  for (const child of remove) {
4112
- element.removeChild(element.childNodes[i]);
4114
+ if (force || _.isString(child) || this._tracked_elements.has(child)) {
4115
+ element.removeChild(element.childNodes[i]);
4116
+ }
4117
+ else {
4118
+ i++;
4119
+ }
4113
4120
  }
4114
4121
  }
4115
4122
  if (insert) {
@@ -4135,4 +4142,4 @@ class _DOMRenderer extends renderer._Renderer {
4135
4142
 
4136
4143
  exports.DOMNativeNode = DOMNativeNode;
4137
4144
  exports._DOMRenderer = _DOMRenderer;
4138
- //# sourceMappingURL=common-DB-05wD7.js.map
4145
+ //# sourceMappingURL=common-Da9gnaMF.js.map