frosty 0.0.47 → 0.0.49

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 CHANGED
@@ -1,6 +1,6 @@
1
1
  import { N as NativeElementType, c as PropsType, b as ComponentNode } from './internals/common-CUIKizze.js';
2
2
  export { V as VNode, _ as _Renderer } from './internals/renderer-JiEjgWg8.js';
3
- export { u as uniqueId } from './internals/utils-DWp2-G3N.js';
3
+ export { u as uniqueId } from './internals/utils-B3ihX1zg.js';
4
4
  import '@o2ter/utils-js';
5
5
  import 'lodash';
6
6
  import 'csstype';
package/dist/dom.js CHANGED
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var common = require('./internals/common-BGe6DoFG.js');
3
+ var common = require('./internals/common-wMxJm6pW.js');
4
4
  require('lodash');
5
5
  require('myers.js');
6
6
  require('./internals/component-BiP3XIPe.js');
package/dist/dom.mjs CHANGED
@@ -1,4 +1,4 @@
1
- import { _ as _DOMRenderer } from './internals/common-CqRgYrAF.mjs';
1
+ import { _ as _DOMRenderer } from './internals/common-BDn2ckJk.mjs';
2
2
  import 'lodash';
3
3
  import 'myers.js';
4
4
  import './internals/component-BzurKp_J.mjs';
package/dist/index.d.ts CHANGED
@@ -3,7 +3,7 @@ export { h as CSSProperties, e as ClassName, j as ComponentProps, k as Component
3
3
  import _ from 'lodash';
4
4
  import { Awaitable } from '@o2ter/utils-js';
5
5
  export { F as Fragment } from './internals/fragment-50WCFjrW.js';
6
- export { m as mergeRefs } from './internals/utils-DWp2-G3N.js';
6
+ export { m as mergeRefs } from './internals/utils-B3ihX1zg.js';
7
7
  import 'csstype';
8
8
 
9
9
  /**
@@ -3924,7 +3924,8 @@ class _DOMRenderer extends _Renderer {
3924
3924
  else {
3925
3925
  const styleElem = this.document.querySelector('style[data-frosty-style]') ?? this.document.createElementNS(HTML_NS, 'style');
3926
3926
  styleElem.setAttribute('data-frosty-style', '');
3927
- styleElem.textContent = this._tracked_style.css;
3927
+ if (styleElem.textContent !== this._tracked_style.css)
3928
+ styleElem.textContent = this._tracked_style.css;
3928
3929
  if (this._server) {
3929
3930
  this.__replaceChildren(head, [...this._tracked_head_children, styleElem]);
3930
3931
  }
@@ -4022,18 +4023,22 @@ class _DOMRenderer extends _Renderer {
4022
4023
  mergeRefs(ref)(element);
4023
4024
  const builtClassName = this.__createBuiltClassName(element, className, style);
4024
4025
  if (_.isEmpty(builtClassName)) {
4025
- element.removeAttribute('class');
4026
+ if (!_.isNil(element.getAttribute('class')))
4027
+ element.removeAttribute('class');
4026
4028
  }
4027
- else {
4029
+ else if (element.className !== builtClassName) {
4028
4030
  element.className = builtClassName;
4029
4031
  }
4030
- if (!_.isEmpty(innerHTML))
4032
+ if (!_.isEmpty(innerHTML) && element.innerHTML !== innerHTML)
4031
4033
  element.innerHTML = innerHTML;
4032
4034
  if (inlineStyle) {
4033
4035
  const { css } = processCss(inlineStyle);
4034
- element.setAttribute('style', css.split('\n').join(''));
4036
+ const oldValue = element.getAttribute('style');
4037
+ const newValue = css.split('\n').join('');
4038
+ if (oldValue !== newValue)
4039
+ element.setAttribute('style', newValue);
4035
4040
  }
4036
- else {
4041
+ else if (!_.isNil(element.getAttribute('style'))) {
4037
4042
  element.removeAttribute('style');
4038
4043
  }
4039
4044
  const tracked = this._tracked_elements.get(element);
@@ -4053,17 +4058,19 @@ class _DOMRenderer extends _Renderer {
4053
4058
  this.__updateEventListener(element, key, value, { capture: true });
4054
4059
  }
4055
4060
  else if (isWriteable(element, key)) {
4056
- element[key] = value;
4061
+ if (element[key] !== value)
4062
+ element[key] = value;
4057
4063
  }
4058
4064
  else if (key.startsWith('data-')) {
4065
+ const oldValue = element.getAttribute(key);
4059
4066
  if (value === false || _.isNil(value)) {
4060
- element.removeAttribute(key);
4061
- }
4062
- else if (value === true) {
4063
- element.setAttribute(key, '');
4067
+ if (!_.isNil(oldValue))
4068
+ element.removeAttribute(key);
4064
4069
  }
4065
- else if (_.isNumber(value) || _.isString(value)) {
4066
- element.setAttribute(key, `${value}`);
4070
+ else {
4071
+ const newValue = value === true ? '' : `${value}`;
4072
+ if (oldValue !== newValue)
4073
+ element.setAttribute(key, newValue);
4067
4074
  }
4068
4075
  }
4069
4076
  else {
@@ -4073,14 +4080,15 @@ class _DOMRenderer extends _Renderer {
4073
4080
  ?? svgProps[type]?.[key]
4074
4081
  ?? {};
4075
4082
  if (_type && attr && _propValue[_type]) {
4083
+ const oldValue = element.getAttribute(key);
4076
4084
  if (value === false || _.isNil(value)) {
4077
- element.removeAttribute(attr);
4085
+ if (!_.isNil(oldValue))
4086
+ element.removeAttribute(key);
4078
4087
  }
4079
- else if (value === true) {
4080
- element.setAttribute(attr, '');
4081
- }
4082
- else if (_.isNumber(value) || _.isString(value)) {
4083
- element.setAttribute(attr, `${value}`);
4088
+ else {
4089
+ const newValue = value === true ? '' : `${value}`;
4090
+ if (oldValue !== newValue)
4091
+ element.setAttribute(key, newValue);
4084
4092
  }
4085
4093
  }
4086
4094
  }
@@ -4156,4 +4164,4 @@ class _DOMRenderer extends _Renderer {
4156
4164
  }
4157
4165
 
4158
4166
  export { DOMNativeNode as D, _DOMRenderer as _ };
4159
- //# sourceMappingURL=common-CqRgYrAF.mjs.map
4167
+ //# sourceMappingURL=common-BDn2ckJk.mjs.map