frosty 0.0.41 → 0.0.43
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/_native.d.ts +1 -1
- package/dist/_native.js +1 -1
- package/dist/_native.mjs +1 -1
- package/dist/dom.d.ts +2 -2
- package/dist/dom.js +2 -2
- package/dist/dom.mjs +2 -2
- package/dist/internals/{common-BG8cT1kV.d.ts → common-CDZcUGUM.d.ts} +4 -3
- package/dist/internals/common-CDZcUGUM.d.ts.map +1 -0
- package/dist/internals/{common-iw--21Y0.mjs → common-Cmc9qJmA.mjs} +21 -10
- package/dist/internals/{common-iw--21Y0.mjs.map → common-Cmc9qJmA.mjs.map} +1 -1
- package/dist/internals/{common-DB-05wD7.js → common-P5AZ4-Yt.js} +21 -10
- package/dist/internals/{common-DB-05wD7.js.map → common-P5AZ4-Yt.js.map} +1 -1
- package/dist/internals/{renderer-a9zN1_RB.js → renderer-CD_mSOiL.js} +3 -3
- package/dist/internals/renderer-CD_mSOiL.js.map +1 -0
- package/dist/internals/{renderer-DPoACdip.d.ts → renderer-DDRMah6t.d.ts} +2 -2
- package/dist/internals/renderer-DDRMah6t.d.ts.map +1 -0
- package/dist/internals/{renderer-ClDlweEF.mjs → renderer-DMJ6PnD6.mjs} +3 -3
- package/dist/internals/renderer-DMJ6PnD6.mjs.map +1 -0
- package/dist/server-dom.d.ts +2 -2
- package/dist/server-dom.js +2 -2
- package/dist/server-dom.mjs +2 -2
- package/dist/web.d.ts +2 -2
- package/dist/web.js +2 -2
- package/dist/web.mjs +3 -3
- package/package.json +1 -1
- package/dist/internals/common-BG8cT1kV.d.ts.map +0 -1
- package/dist/internals/renderer-ClDlweEF.mjs.map +0 -1
- package/dist/internals/renderer-DPoACdip.d.ts.map +0 -1
- package/dist/internals/renderer-a9zN1_RB.js.map +0 -1
|
@@ -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-
|
|
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 = [];
|
|
@@ -3921,9 +3922,10 @@ class _DOMRenderer extends renderer._Renderer {
|
|
|
3921
3922
|
/** @internal */
|
|
3922
3923
|
_afterUpdate() {
|
|
3923
3924
|
this._tracked_style.select(this._tracked_style_names);
|
|
3925
|
+
const head = this.document.head ?? this.document.createElementNS(HTML_NS, 'head');
|
|
3924
3926
|
if (this._tracked_style.isEmpty) {
|
|
3925
3927
|
if (this._server) {
|
|
3926
|
-
this.__replaceChildren(
|
|
3928
|
+
this.__replaceChildren(head, this._tracked_head_children);
|
|
3927
3929
|
}
|
|
3928
3930
|
}
|
|
3929
3931
|
else {
|
|
@@ -3931,12 +3933,15 @@ class _DOMRenderer extends renderer._Renderer {
|
|
|
3931
3933
|
styleElem.setAttribute('data-frosty-style', '');
|
|
3932
3934
|
styleElem.textContent = this._tracked_style.css;
|
|
3933
3935
|
if (this._server) {
|
|
3934
|
-
this.__replaceChildren(
|
|
3936
|
+
this.__replaceChildren(head, [...this._tracked_head_children, styleElem]);
|
|
3935
3937
|
}
|
|
3936
|
-
else if (styleElem.parentNode !==
|
|
3937
|
-
|
|
3938
|
+
else if (styleElem.parentNode !== head) {
|
|
3939
|
+
head.appendChild(styleElem);
|
|
3938
3940
|
}
|
|
3939
3941
|
}
|
|
3942
|
+
if (!this.document.head) {
|
|
3943
|
+
this.document.documentElement.insertBefore(head, this.document.body);
|
|
3944
|
+
}
|
|
3940
3945
|
}
|
|
3941
3946
|
/** @internal */
|
|
3942
3947
|
_createElement(node, stack) {
|
|
@@ -3964,6 +3969,7 @@ class _DOMRenderer extends renderer._Renderer {
|
|
|
3964
3969
|
const elem = ns ? this.document.createElementNS(ns, type) : this.document.createElement(type);
|
|
3965
3970
|
this._namespace_map.set(node, ns);
|
|
3966
3971
|
this._updateElement(node, elem, stack);
|
|
3972
|
+
this._tracked_elements.add(elem);
|
|
3967
3973
|
return elem;
|
|
3968
3974
|
}
|
|
3969
3975
|
__createBuiltClassName(className, style) {
|
|
@@ -4071,7 +4077,7 @@ class _DOMRenderer extends renderer._Renderer {
|
|
|
4071
4077
|
}
|
|
4072
4078
|
}
|
|
4073
4079
|
/** @internal */
|
|
4074
|
-
_replaceChildren(node, element, children) {
|
|
4080
|
+
_replaceChildren(node, element, children, force) {
|
|
4075
4081
|
if (element instanceof DOMNativeNode) {
|
|
4076
4082
|
element.replaceChildren(children);
|
|
4077
4083
|
}
|
|
@@ -4081,7 +4087,7 @@ class _DOMRenderer extends renderer._Renderer {
|
|
|
4081
4087
|
this._tracked_head_children.push(...children);
|
|
4082
4088
|
}
|
|
4083
4089
|
else if (_.isEmpty(innerHTML)) {
|
|
4084
|
-
this.__replaceChildren(element, children);
|
|
4090
|
+
this.__replaceChildren(element, children, force);
|
|
4085
4091
|
}
|
|
4086
4092
|
}
|
|
4087
4093
|
}
|
|
@@ -4100,7 +4106,7 @@ class _DOMRenderer extends renderer._Renderer {
|
|
|
4100
4106
|
}
|
|
4101
4107
|
}
|
|
4102
4108
|
}
|
|
4103
|
-
__replaceChildren(element, children) {
|
|
4109
|
+
__replaceChildren(element, children, force) {
|
|
4104
4110
|
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
4111
|
let i = 0;
|
|
4106
4112
|
for (const { remove, insert, equivalent } of diff) {
|
|
@@ -4109,7 +4115,12 @@ class _DOMRenderer extends renderer._Renderer {
|
|
|
4109
4115
|
}
|
|
4110
4116
|
else if (remove) {
|
|
4111
4117
|
for (const child of remove) {
|
|
4112
|
-
|
|
4118
|
+
if (force || _.isString(child) || this._tracked_elements.has(child)) {
|
|
4119
|
+
element.removeChild(element.childNodes[i]);
|
|
4120
|
+
}
|
|
4121
|
+
else {
|
|
4122
|
+
i++;
|
|
4123
|
+
}
|
|
4113
4124
|
}
|
|
4114
4125
|
}
|
|
4115
4126
|
if (insert) {
|
|
@@ -4135,4 +4146,4 @@ class _DOMRenderer extends renderer._Renderer {
|
|
|
4135
4146
|
|
|
4136
4147
|
exports.DOMNativeNode = DOMNativeNode;
|
|
4137
4148
|
exports._DOMRenderer = _DOMRenderer;
|
|
4138
|
-
//# sourceMappingURL=common-
|
|
4149
|
+
//# sourceMappingURL=common-P5AZ4-Yt.js.map
|