neo.mjs 5.10.8 → 5.10.9

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.
@@ -20,9 +20,9 @@ class ServiceWorker extends ServiceBase {
20
20
  */
21
21
  singleton: true,
22
22
  /**
23
- * @member {String} version='5.10.8'
23
+ * @member {String} version='5.10.9'
24
24
  */
25
- version: '5.10.8'
25
+ version: '5.10.9'
26
26
  }
27
27
 
28
28
  /**
@@ -20,9 +20,9 @@ class ServiceWorker extends ServiceBase {
20
20
  */
21
21
  singleton: true,
22
22
  /**
23
- * @member {String} version='5.10.8'
23
+ * @member {String} version='5.10.9'
24
24
  */
25
- version: '5.10.8'
25
+ version: '5.10.9'
26
26
  }
27
27
 
28
28
  /**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "neo.mjs",
3
- "version": "5.10.8",
3
+ "version": "5.10.9",
4
4
  "description": "The webworkers driven UI framework",
5
5
  "type": "module",
6
6
  "repository": {
@@ -47,7 +47,7 @@
47
47
  "autoprefixer": "^10.4.14",
48
48
  "chalk": "^5.2.0",
49
49
  "clean-webpack-plugin": "^4.0.0",
50
- "commander": "^10.0.1",
50
+ "commander": "^11.0.0",
51
51
  "cssnano": "^6.0.1",
52
52
  "envinfo": "^7.8.1",
53
53
  "fs-extra": "^11.1.1",
@@ -56,8 +56,8 @@
56
56
  "neo-jsdoc": "^1.0.1",
57
57
  "neo-jsdoc-x": "^1.0.5",
58
58
  "postcss": "^8.4.24",
59
- "sass": "^1.63.3",
60
- "webpack": "^5.86.0",
59
+ "sass": "^1.63.4",
60
+ "webpack": "^5.87.0",
61
61
  "webpack-cli": "^5.1.4",
62
62
  "webpack-dev-server": "4.15.1",
63
63
  "webpack-hook-plugin": "^1.0.7",
@@ -236,12 +236,12 @@ const DefaultConfig = {
236
236
  useVdomWorker: true,
237
237
  /**
238
238
  * buildScripts/injectPackageVersion.mjs will update this value
239
- * @default '5.10.8'
239
+ * @default '5.10.9'
240
240
  * @memberOf! module:Neo
241
241
  * @name config.version
242
242
  * @type String
243
243
  */
244
- version: '5.10.8'
244
+ version: '5.10.9'
245
245
  };
246
246
 
247
247
  Object.assign(DefaultConfig, {
@@ -411,12 +411,15 @@ class DomEvents extends Base {
411
411
  * @param {Object} event
412
412
  */
413
413
  onChange(event) {
414
- let target = event.target,
414
+ let me = this,
415
+ target = event.target,
416
+ tagName = target.tagName,
417
+ value = target.value,
415
418
 
416
419
  data = {
417
- ...this.getEventData(event),
420
+ ...me.getEventData(event),
418
421
  valid: target.checkValidity(),
419
- value: (target.tagName === 'INPUT') ? StringUtil.escapeHtml(target.value) : target.value
422
+ value: tagName === 'INPUT' ? StringUtil.escapeHtml(value) : tagName === 'TEXTAREA' ? me.stripHtml(value) : value
420
423
  };
421
424
 
422
425
  // input and change events can pass a FileList for input type file
@@ -424,7 +427,7 @@ class DomEvents extends Base {
424
427
  data.files = target.files;
425
428
  }
426
429
 
427
- this.sendMessageToApp(data);
430
+ me.sendMessageToApp(data);
428
431
  }
429
432
 
430
433
  /**
@@ -512,7 +515,8 @@ class DomEvents extends Base {
512
515
  */
513
516
  onKeyDown(event) {
514
517
  let target = event.target,
515
- isInput = target.nodeName === 'INPUT';
518
+ tagName = target.tagName,
519
+ isInput = tagName === 'INPUT' || tagName === 'TEXTAREA';
516
520
 
517
521
  if (isInput && disabledInputKeys[target.id]?.includes(event.key)) {
518
522
  event.preventDefault();
@@ -721,6 +725,17 @@ class DomEvents extends Base {
721
725
  })
722
726
  }
723
727
 
728
+ /**
729
+ * hello <foo>world thorsten! 3 < 4 and 5 > 3
730
+ * @param {String} value
731
+ * @returns {String}
732
+ */
733
+ stripHtml(value) {
734
+ let doc = new DOMParser().parseFromString(value, 'text/html');
735
+
736
+ return doc.body.textContent || '';
737
+ }
738
+
724
739
  /**
725
740
  * @param {Object} event
726
741
  * @param {Object} targetArray