neo.mjs 4.3.5 → 4.3.7

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/README.md CHANGED
@@ -3,11 +3,12 @@
3
3
  </p>
4
4
 
5
5
  <p align="center">
6
- <a href="https://npmcharts.com/compare/neo.mjs?minimal=true"><img src="https://img.shields.io/npm/dm/neo.mjs.svg" alt="Downloads"></a>
7
- <a href="https://www.npmjs.com/package/neo.mjs"><img src="https://img.shields.io/npm/v/neo.mjs.svg" alt="Version"></a>
8
- <a href="https://www.npmjs.com/package/neo.mjs"><img src="https://img.shields.io/npm/l/neo.mjs.svg" alt="License"></a>
9
- <a href="https://discord.gg/6p8paPq"><img src="https://img.shields.io/discord/656620537514164249?label=discord%20chat" alt="Chat"></a>
10
- <a href="./CONTRIBUTING.md"><img src="https://img.shields.io/badge/PRs-welcome-green.svg" alt="PRs Welcome"></a>
6
+ <a href="https://npmcharts.com/compare/neo.mjs?minimal=true"><img src="https://img.shields.io/npm/dm/neo.mjs.svg?label=Downloads" alt="Downloads"></a>
7
+ <a href="https://www.npmjs.com/package/neo.mjs"><img src="https://img.shields.io/npm/v/neo.mjs.svg?logo=npm" alt="Version"></a>
8
+ <a href="https://www.npmjs.com/package/neo.mjs"><img src="https://img.shields.io/npm/l/neo.mjs.svg?label=License" alt="License"></a>
9
+ <a href="https://join.slack.com/t/neomjs/shared_invite/zt-6c50ueeu-3E1~M4T9xkNnb~M_prEEOA"><img src="https://img.shields.io/badge/Slack-neo.mjs-brightgreen.svg?logo=slack" alt="Join the Slack channel"></a>
10
+ <a href="https://discord.gg/6p8paPq"><img src="https://img.shields.io/discord/656620537514164249?label=Discord&logo=discord&logoColor=white" alt="Discord Chat"></a>
11
+ <a href="./CONTRIBUTING.md"><img src="https://img.shields.io/badge/PRs-welcome-green.svg?logo=GitHub&logoColor=white" alt="PRs Welcome"></a>
11
12
  </p>
12
13
 
13
14
  # Welcome to neo.mjs!
@@ -38,9 +39,9 @@ No need to take care of a workers setup, and the cross channel communication on
38
39
  14. <a href="#jobs">Jobs</a>
39
40
 
40
41
  </br></br>
41
- <h2 id="slack-channel">1. Slack Channel for questions & feedback</h2>
42
- Join our community:
43
- <a href="https://join.slack.com/t/neomjs/shared_invite/zt-6c50ueeu-3E1~M4T9xkNnb~M_prEEOA">Slack Channel Invite Link</a>
42
+ <h2 id="slack-channel">1. Slack Channel for questions, ideas & feedback</h2>
43
+ Join our community:</br>
44
+ <a href="https://join.slack.com/t/neomjs/shared_invite/zt-6c50ueeu-3E1~M4T9xkNnb~M_prEEOA"><img src="https://img.shields.io/badge/Slack-neo.mjs-brightgreen.svg?logo=slack&style=for-the-badge" alt="Join the Slack channel"></a>
44
45
 
45
46
  </br></br>
46
47
  <h2 id="architectures">2. Scalable frontend architectures</h2>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "neo.mjs",
3
- "version": "4.3.5",
3
+ "version": "4.3.7",
4
4
  "description": "The webworkers driven UI framework",
5
5
  "type": "module",
6
6
  "repository": {
@@ -46,7 +46,7 @@
46
46
  "autoprefixer": "^10.4.12",
47
47
  "chalk": "^5.0.1",
48
48
  "clean-webpack-plugin": "^4.0.0",
49
- "commander": "^9.4.0",
49
+ "commander": "^9.4.1",
50
50
  "cssnano": "^5.1.13",
51
51
  "envinfo": "^7.8.1",
52
52
  "fs-extra": "^10.1.0",
@@ -54,7 +54,7 @@
54
54
  "inquirer": "^9.1.2",
55
55
  "neo-jsdoc": "^1.0.1",
56
56
  "neo-jsdoc-x": "^1.0.4",
57
- "postcss": "^8.4.16",
57
+ "postcss": "^8.4.17",
58
58
  "sass": "^1.55.0",
59
59
  "webpack": "^5.74.0",
60
60
  "webpack-cli": "^4.10.0",
@@ -67,7 +67,7 @@
67
67
  pointer-events : none;
68
68
  position : absolute;
69
69
  user-select : none;
70
- z-index : 2;
70
+ z-index : 3;
71
71
 
72
72
  &.neo-bottom-left {
73
73
  bottom: v(button-badge-margin-top);
@@ -152,7 +152,7 @@
152
152
  min-height : 30px;
153
153
 
154
154
  .neo-center-region {
155
- align-items : center;
155
+ align-items : stretch;
156
156
  display : flex;
157
157
  flex : 1 1 auto;
158
158
  justify-content: center;
@@ -163,14 +163,14 @@
163
163
  display : flex;
164
164
  flex : 1;
165
165
  font-weight : bold;
166
- height : 1em;
167
166
  justify-content: end;
168
167
  }
169
168
 
170
169
  .neo-year-text {
170
+ align-items: center;
171
171
  color : v(dateselector-header-year-text-color);
172
+ display : flex;
172
173
  flex : 1;
173
- height : 1em;
174
174
  margin-left: .25em;
175
175
  }
176
176
  }
@@ -398,8 +398,7 @@ class Base extends Component {
398
398
  */
399
399
  beforeSetIconCls(value, oldValue) {
400
400
  if (value && !Array.isArray(value)) {
401
- value = value.split(' ');
402
- value = value.filter(Boolean);
401
+ value = value.split(' ').filter(Boolean);
403
402
  }
404
403
 
405
404
  return value;
@@ -80,7 +80,7 @@ class DragZone extends BaseDragZone {
80
80
 
81
81
  setTimeout(() => {
82
82
  me.dragEnd();
83
- }, 300);
83
+ }, 100);
84
84
  }, 30);
85
85
  }
86
86
  }
@@ -81,7 +81,9 @@ class SortZone extends DragZone {
81
81
  /**
82
82
  * @param {Object} data
83
83
  */
84
- onDragEnd(data) {
84
+ async onDragEnd(data) {
85
+ await Neo.timeout(10);
86
+
85
87
  let me = this,
86
88
  owner = me.owner,
87
89
  itemStyles = me.itemStyles,
@@ -125,6 +127,8 @@ class SortZone extends DragZone {
125
127
  startIndex : -1
126
128
  });
127
129
 
130
+ await Neo.timeout(30);
131
+
128
132
  me.dragEnd(data); // we do not want to trigger the super class call here
129
133
  }
130
134
  }
@@ -235,7 +239,7 @@ class SortZone extends DragZone {
235
239
  itemStyle = button.style || {};
236
240
  itemStyle.visibility = 'hidden';
237
241
  button.style = itemStyle;
238
- }, 30);
242
+ }, 5);
239
243
  });
240
244
  }
241
245
  }
@@ -305,7 +305,7 @@ class Text extends Base {
305
305
 
306
306
  NeoArray.remove(cls, 'label-' + oldValue);
307
307
  NeoArray.add(cls, 'label-' + value);
308
- me[oldValue === 'inline' || value === 'inline' ? '_cls' : 'cls'] = cls; // silent update if needed
308
+ me.cls = cls; // todo: silent update if needed
309
309
 
310
310
  if (oldValue === 'inline') {
311
311
  vdom = me.vdom;
@@ -558,17 +558,19 @@ class Text extends Base {
558
558
  */
559
559
  afterSetValue(value, oldValue) {
560
560
  let me = this,
561
+ cls = me.cls,
561
562
  vdom = me.vdom;
562
563
 
563
564
  me.getInputEl().value = value;
564
565
 
565
566
  if (!!value !== !!oldValue) { // change from empty to non-empty
566
- NeoArray[value && value.toString().length > 0 ? 'add' : 'remove'](me._cls, 'neo-has-content');
567
+ NeoArray[value && value.toString().length > 0 ? 'add' : 'remove'](cls, 'neo-has-content');
567
568
  }
568
569
 
569
- NeoArray[me.originalConfig.value !== value ? 'add' : 'remove'](me._cls, 'neo-is-dirty');
570
+ NeoArray[me.originalConfig.value !== value ? 'add' : 'remove'](cls, 'neo-is-dirty');
570
571
  me.validate(); // silent
571
572
 
573
+ me.cls = cls;
572
574
  me.vdom = vdom;
573
575
 
574
576
  super.afterSetValue(value, oldValue); // fires the change event
@@ -13,13 +13,15 @@ class Mouse extends Base {
13
13
  */
14
14
  className: 'Neo.main.draggable.sensor.Mouse',
15
15
  /**
16
- * @member {Number} delay=0
16
+ * Delay in ms before a drag OP starts.
17
+ * Useful to avoid drag OPs on double-clicks.
18
+ * @member {Number} delay=100
17
19
  */
18
- delay: 0,
20
+ delay: 100,
19
21
  /**
20
- * @member {Number} minDistance=1
22
+ * @member {Number} minDistance=5
21
23
  */
22
- minDistance: 1,
24
+ minDistance: 5,
23
25
  /**
24
26
  * @member {Number} mouseDownTime=0
25
27
  */