frosty 0.0.91 → 0.0.93

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.
@@ -4018,9 +4018,13 @@ class _DOMRenderer extends _Renderer {
4018
4018
  ssrData.setAttribute('type', 'text/plain');
4019
4019
  ssrData.innerHTML = compress(JSON.stringify(Object.fromEntries(this._tracked_server_resource)));
4020
4020
  }
4021
- this.__replaceChildren(head, _.compact([...this._tracked_head_children, styleElem, ssrData]));
4021
+ this.__replaceChildren(head, _.compact([
4022
+ ...this._tracked_head_children,
4023
+ styleElem.textContent && styleElem,
4024
+ ssrData,
4025
+ ]));
4022
4026
  }
4023
- else if (styleElem.parentNode !== head) {
4027
+ else if (styleElem.parentNode !== head && styleElem.textContent) {
4024
4028
  head.appendChild(styleElem);
4025
4029
  }
4026
4030
  if (!this.document.head) {
@@ -4073,12 +4077,13 @@ class _DOMRenderer extends _Renderer {
4073
4077
  tracked.className = built;
4074
4078
  return [..._className, ...built].join(' ');
4075
4079
  }
4076
- __updateEventListener(element, key, listener, options) {
4080
+ __updateEventListener(element, key, listener) {
4077
4081
  const event = key.endsWith('Capture') ? key.slice(2, -7).toLowerCase() : key.slice(2).toLowerCase();
4078
4082
  const tracked_listener = this._tracked_elements.get(element)?.listener;
4079
4083
  if (!tracked_listener)
4080
4084
  return;
4081
4085
  if (tracked_listener[key] !== listener) {
4086
+ const options = { capture: key.endsWith('Capture') };
4082
4087
  if (_.isFunction(tracked_listener[key]))
4083
4088
  element.removeEventListener(event, tracked_listener[key], options);
4084
4089
  if (_.isFunction(listener))
@@ -4142,14 +4147,10 @@ class _DOMRenderer extends _Renderer {
4142
4147
  tracked.props = _.keys(_props);
4143
4148
  for (const [key, value] of _.entries(props)) {
4144
4149
  if (_.includes(globalEvents, key)) {
4145
- this.__updateEventListener(element, key, value, { capture: false });
4150
+ this.__updateEventListener(element, key, value);
4146
4151
  }
4147
4152
  else if (key.endsWith('Capture') && _.includes(globalEvents, key.slice(0, -7))) {
4148
- this.__updateEventListener(element, key, value, { capture: true });
4149
- }
4150
- else if (isWriteable(element, key)) {
4151
- if (element[key] !== value)
4152
- element[key] = value;
4153
+ this.__updateEventListener(element, key, value);
4153
4154
  }
4154
4155
  else if (key.startsWith('data-')) {
4155
4156
  const oldValue = element.getAttribute(key);
@@ -4169,7 +4170,12 @@ class _DOMRenderer extends _Renderer {
4169
4170
  ?? svgProps['*'][key]
4170
4171
  ?? svgProps[type]?.[key]
4171
4172
  ?? {};
4172
- if (_type && attr && _propValue[_type]) {
4173
+ const writeable = isWriteable(element, key);
4174
+ if (writeable && !_.isNil(value)) {
4175
+ if (element[key] !== value)
4176
+ element[key] = value;
4177
+ }
4178
+ else if (_type && attr && _propValue[_type]) {
4173
4179
  const oldValue = element.getAttribute(key);
4174
4180
  if (value === false || _.isNil(value)) {
4175
4181
  if (!_.isNil(oldValue))
@@ -4181,6 +4187,10 @@ class _DOMRenderer extends _Renderer {
4181
4187
  element.setAttribute(key, newValue);
4182
4188
  }
4183
4189
  }
4190
+ else if (writeable) {
4191
+ if (element[key] !== value)
4192
+ element[key] = value;
4193
+ }
4184
4194
  }
4185
4195
  }
4186
4196
  }
@@ -4255,4 +4265,4 @@ class _DOMRenderer extends _Renderer {
4255
4265
  }
4256
4266
 
4257
4267
  export { DOMNativeNode as D, _DOMRenderer as _ };
4258
- //# sourceMappingURL=common-BzcYTN4f.mjs.map
4268
+ //# sourceMappingURL=common-D932m3CD.mjs.map