neo.mjs 6.36.0 → 6.38.0
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/apps/ServiceWorker.mjs +2 -2
- package/examples/ServiceWorker.mjs +2 -2
- package/examples/videoMove/MainContainer.mjs +3 -4
- package/examples/videoMove/neo-config.json +2 -1
- package/package.json +1 -1
- package/resources/data/deck/learnneo/pages/benefits/Multi-Threading.md +6 -2
- package/resources/scss/src/apps/portal/learn/ContentView.scss +20 -15
- package/resources/scss/src/examples/videoMove/MainContainer.scss +31 -0
- package/resources/scss/theme-neo-light/design-tokens/Core.scss +1 -0
- package/src/DefaultConfig.mjs +2 -2
package/apps/ServiceWorker.mjs
CHANGED
@@ -9,11 +9,12 @@ import Viewport from '../../src/container/Viewport.mjs';
|
|
9
9
|
class MainContainer extends Viewport {
|
10
10
|
static config = {
|
11
11
|
className: 'Neo.examples.videoMove.MainContainer',
|
12
|
+
cls : ['examples-videomove-maincontainer'],
|
12
13
|
layout : {ntype: 'vbox', align: 'stretch'},
|
13
|
-
style : {padding: '50px'},
|
14
14
|
|
15
15
|
items: [{
|
16
16
|
ntype : 'container',
|
17
|
+
cls : ['video-wrapper'],
|
17
18
|
layout: {ntype: 'hbox', align: 'stretch'},
|
18
19
|
|
19
20
|
itemDefaults: {
|
@@ -23,7 +24,6 @@ class MainContainer extends Viewport {
|
|
23
24
|
|
24
25
|
items: [{
|
25
26
|
reference: 'container-1',
|
26
|
-
style : {backgroundColor: 'rgb(139,166,255)', padding: '50px'},
|
27
27
|
|
28
28
|
items: [{
|
29
29
|
module : Video,
|
@@ -31,8 +31,7 @@ class MainContainer extends Viewport {
|
|
31
31
|
url : 'https://video-ssl.itunes.apple.com/itunes-assets/Video125/v4/a0/57/54/a0575426-dd8e-2d25-bdf3-139702870b50/mzvf_786190431362224858.640x464.h264lc.U.p.m4v'
|
32
32
|
}]
|
33
33
|
}, {
|
34
|
-
reference: 'container-2'
|
35
|
-
style : {backgroundColor: 'rgb(139,166,255)', marginLeft: '50px', padding: '50px'}
|
34
|
+
reference: 'container-2'
|
36
35
|
}]
|
37
36
|
}, {
|
38
37
|
ntype : 'container',
|
package/package.json
CHANGED
@@ -23,7 +23,9 @@ On its own, a Browser will just use ***one*** core per tab / window.
|
|
23
23
|
|
24
24
|
Meaning: your Angular or React apps look like this:
|
25
25
|
|
26
|
-
|
26
|
+
<p style="overflow-x: auto;">
|
27
|
+
<img alt="Current State of Apps" src="https://raw.githubusercontent.com/neomjs/pages/main/resources_pub/images/apps-today.png">
|
28
|
+
</p>
|
27
29
|
|
28
30
|
The more JavaScript tasks are running inside your app, the slower it will get.
|
29
31
|
The worst scenario is a complete UI freeze where your one core is at 100%
|
@@ -79,7 +81,9 @@ In case you are not familiar with what an "actor" means, definitely read it firs
|
|
79
81
|
To resolve this performance bottleneck, we want to get main threads as idle as possible, so that they can fully focus on
|
80
82
|
rendering / dynamically manipulating the DOM:
|
81
83
|
|
82
|
-
|
84
|
+
<p style="overflow-x: auto;">
|
85
|
+
<img alt="App Worker Concept" src="https://raw.githubusercontent.com/neomjs/pages/main/resources_pub/images/app-worker.png">
|
86
|
+
</p>
|
83
87
|
|
84
88
|
The worst case that could happen now is that your app worker will slow down and this core runs at 100%. However,
|
85
89
|
this will not affect your UI (rendering thread → main).
|
@@ -9,28 +9,22 @@
|
|
9
9
|
width : -webkit-fill-available;
|
10
10
|
|
11
11
|
@media (max-width: 600px) {
|
12
|
-
|
12
|
+
overflow-x: hidden;
|
13
|
+
padding : 1rem 1rem 0;
|
13
14
|
}
|
14
15
|
|
15
|
-
|
16
|
-
|
17
|
-
border-radius: 4px;
|
18
|
-
overflow-x : scroll;
|
19
|
-
padding : 12px;
|
16
|
+
a {
|
17
|
+
color: #3E63DD;;
|
20
18
|
}
|
21
19
|
|
22
20
|
blockquote {
|
23
|
-
background-color: var(--
|
24
|
-
border-left : 4px solid var(--sem-color-
|
21
|
+
background-color: var(--gray-100);
|
22
|
+
border-left : 4px solid var(--sem-color-surface-primary-background);
|
25
23
|
font-style : italic;
|
26
24
|
margin-left : 0;
|
27
25
|
padding : 5px 5px 5px 15px;
|
28
26
|
}
|
29
27
|
|
30
|
-
p {
|
31
|
-
margin: 0.5em 0 0.7em 0;
|
32
|
-
}
|
33
|
-
|
34
28
|
details {
|
35
29
|
margin: 1em 0 1em 0;
|
36
30
|
}
|
@@ -80,11 +74,22 @@
|
|
80
74
|
padding : 2px 16px;
|
81
75
|
font-size : 1em;
|
82
76
|
margin-bottom: 1em;
|
77
|
+
|
78
|
+
&:hover {
|
79
|
+
/* On mouse-over, add a deeper shadow */
|
80
|
+
box-shadow: 0 8px 16px 0 rgba(0, 0, 0, 0.2);
|
81
|
+
}
|
83
82
|
}
|
84
83
|
|
85
|
-
|
86
|
-
|
87
|
-
|
84
|
+
p {
|
85
|
+
margin: 0.5em 0 0.7em 0;
|
86
|
+
}
|
87
|
+
|
88
|
+
pre[data-javascript] {
|
89
|
+
border : thin solid lightgray;
|
90
|
+
border-radius: 4px;
|
91
|
+
overflow-x : scroll;
|
92
|
+
padding : 12px;
|
88
93
|
}
|
89
94
|
}
|
90
95
|
|
@@ -0,0 +1,31 @@
|
|
1
|
+
.examples-videomove-maincontainer.neo-viewport {
|
2
|
+
padding: 50px;
|
3
|
+
|
4
|
+
.video-wrapper {
|
5
|
+
.neo-container {
|
6
|
+
background-color: rgb(139,166,255);
|
7
|
+
padding : 50px;
|
8
|
+
|
9
|
+
&:last-child {
|
10
|
+
margin-left: 50px;
|
11
|
+
}
|
12
|
+
}
|
13
|
+
}
|
14
|
+
|
15
|
+
@media (max-width: 840px) {
|
16
|
+
padding: 1em;
|
17
|
+
|
18
|
+
.video-wrapper {
|
19
|
+
flex-direction: column;
|
20
|
+
|
21
|
+
.neo-container {
|
22
|
+
padding: 1em;
|
23
|
+
|
24
|
+
&:last-child {
|
25
|
+
margin-left: 0;
|
26
|
+
margin-top : 1em;
|
27
|
+
}
|
28
|
+
}
|
29
|
+
}
|
30
|
+
}
|
31
|
+
}
|
package/src/DefaultConfig.mjs
CHANGED
@@ -260,12 +260,12 @@ const DefaultConfig = {
|
|
260
260
|
useVdomWorker: true,
|
261
261
|
/**
|
262
262
|
* buildScripts/injectPackageVersion.mjs will update this value
|
263
|
-
* @default '6.
|
263
|
+
* @default '6.38.0'
|
264
264
|
* @memberOf! module:Neo
|
265
265
|
* @name config.version
|
266
266
|
* @type String
|
267
267
|
*/
|
268
|
-
version: '6.
|
268
|
+
version: '6.38.0'
|
269
269
|
};
|
270
270
|
|
271
271
|
Object.assign(DefaultConfig, {
|