@fruit-ui/core 1.2.7 → 1.2.8

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.
Files changed (2) hide show
  1. package/package.json +2 -2
  2. package/src/index.js +11 -3
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@fruit-ui/core",
3
- "version": "1.2.7",
3
+ "version": "1.2.8",
4
4
  "description": "A vanilla JS toolkit for reactive UI",
5
5
  "main": "src/index.js",
6
6
  "homepage": "https://asantagata.github.io/fruit-ui/",
7
7
  "scripts": {
8
8
  "test": "echo \"Error: no test specified\" && exit 1",
9
- "build": "terser .\\src\\index.js -o .\\dist\\index.js && copy ..\\README.md ."
9
+ "build": "terser .\\src\\index.js -o .\\dist\\index.js --mangle --toplevel && copy ..\\README.md ."
10
10
  },
11
11
  "keywords": [
12
12
  "fruit",
package/src/index.js CHANGED
@@ -155,9 +155,13 @@ function createElementFromTemplate(template, onMounts, producer = null) {
155
155
  initializeThis.call(this, element, producer);
156
156
  }
157
157
  return element;
158
+ } else if (template.HTML) {
159
+ const div = document.createElement('div');
160
+ div.innerHTML = template.HTML;
161
+ return div.firstChild;
158
162
  }
159
- const {tag, class: c, style, on, componentId, children, cloneFrom, dataset, key, binding, innerHTML, ...rest} = template;
160
- const element = document.createElement(template.tag || 'div');
163
+ const {tag, class: c, style, on, componentId, children, cloneFrom, dataset, key, binding, innerHTML, xmlns, ...rest} = template;
164
+ const element = template.xmlns ? document.createElementNS(template.xmlns, template.tag) : document.createElement(template.tag || 'div');
161
165
  if (template.class) {
162
166
  switch (typeof template.class) {
163
167
  case 'string':
@@ -400,6 +404,10 @@ function rerenderElementFromTemplate(element, template, onMounts) {
400
404
  }
401
405
  if (template.cloneFrom && !element.isEqualNode(template.cloneFrom)) {
402
406
  return element.replaceWith(template.cloneFrom.cloneNode(true));
407
+ } else if (template.HTML) {
408
+ const div = document.createElement('div');
409
+ div.innerHTML = template.HTML;
410
+ return element.replaceWith(div.firstChild);
403
411
  }
404
412
  if ((template.tag?.toUpperCase() || 'DIV') !== element.tagName) {
405
413
  // tag cannot be changed
@@ -430,7 +438,7 @@ function rerenderElementFromTemplate(element, template, onMounts) {
430
438
  element.dataset[key] = template.dataset[key];
431
439
  }
432
440
  }
433
- const {tag, cloneFrom, class: _, style, on, key, dataset, componentId, children, innerHTML, binding, ...rest} = template;
441
+ const {tag, class: c, style, on, componentId, children, cloneFrom, dataset, key, binding, innerHTML, xmlns, ...rest} = template;
434
442
  for (const attribute in rest) {
435
443
  element.setAttribute(attribute, template[attribute]);
436
444
  }