neo.mjs 6.45.0 → 6.47.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/apps/portal/view/home/FooterContainer.mjs +7 -0
- package/apps/portal/view/home/parts/Colors.mjs +5 -1
- package/apps/portal/view/home/parts/Features.mjs +2 -2
- package/buildScripts/injectPackageVersion.mjs +22 -0
- package/examples/ServiceWorker.mjs +2 -2
- package/package.json +1 -1
- package/resources/scss/src/apps/portal/home/ContentBox.scss +26 -22
- package/resources/scss/src/apps/portal/home/FeatureSection.scss +12 -12
- package/resources/scss/src/apps/portal/home/FooterContainer.scss +14 -10
- package/resources/scss/src/apps/portal/home/parts/Colors.scss +9 -0
- package/src/DefaultConfig.mjs +2 -2
- package/src/main/DomEvents.mjs +1 -1
- package/src/main/addon/MonacoEditor.mjs +1 -1
- package/src/selection/GalleryModel.mjs +5 -0
- package/src/selection/HelixModel.mjs +5 -0
- package/src/selection/table/RowModel.mjs +1 -1
- package/src/worker/Manager.mjs +1 -1
package/apps/ServiceWorker.mjs
CHANGED
@@ -105,6 +105,13 @@ class FooterContainer extends Container {
|
|
105
105
|
iconCls: 'fa-brands fa-x-twitter',
|
106
106
|
text : 'X',
|
107
107
|
url : 'https://x.com/neomjs1'
|
108
|
+
}, {
|
109
|
+
module: Component,
|
110
|
+
cls : ['portal-home-footer-spacer']
|
111
|
+
}, {
|
112
|
+
module: Component,
|
113
|
+
cls : ['neo-version'],
|
114
|
+
html : 'v6.47.0'
|
108
115
|
}]
|
109
116
|
}],
|
110
117
|
/**
|
@@ -49,7 +49,11 @@ class Colors extends FeatureSection {
|
|
49
49
|
/**
|
50
50
|
* @member {String} subHeadline='Socket Data'
|
51
51
|
*/
|
52
|
-
subHeadline: 'Socket Data'
|
52
|
+
subHeadline: 'Socket Data',
|
53
|
+
/**
|
54
|
+
* @member {String} textContainerPosition='end'
|
55
|
+
*/
|
56
|
+
textContainerPosition: 'end'
|
53
57
|
}
|
54
58
|
}
|
55
59
|
|
@@ -31,7 +31,7 @@ class Features extends BaseContainer {
|
|
31
31
|
*/
|
32
32
|
items: [{
|
33
33
|
header: 'Multi-threading',
|
34
|
-
route : '#/learn/
|
34
|
+
route : '#/learn/benefits.Multi-Threading',
|
35
35
|
|
36
36
|
content: [
|
37
37
|
'Following the OMT (Off the Main-Thread) paradigm',
|
@@ -42,7 +42,7 @@ class Features extends BaseContainer {
|
|
42
42
|
]
|
43
43
|
}, {
|
44
44
|
header: 'Multi-Window Apps',
|
45
|
-
route : '#/learn/WhyNeo-
|
45
|
+
route : '#/learn/WhyNeo-Multi-Window',
|
46
46
|
|
47
47
|
content: [
|
48
48
|
'No need for a Native Shell (e.g. Electron)',
|
@@ -60,6 +60,28 @@ serviceWorkerFolders.forEach(folder => {
|
|
60
60
|
fs.writeFileSync(serviceWorkerPath, serviceContentArray.join(os.EOL));
|
61
61
|
});
|
62
62
|
|
63
|
+
// Update the version inside the Portal App Footer
|
64
|
+
if (insideNeo) {
|
65
|
+
const footerPath = path.join(__dirname, 'apps/portal/view/home/FooterContainer.mjs');
|
66
|
+
|
67
|
+
if (fs.existsSync(footerPath)) {
|
68
|
+
const footerContentArray = fs.readFileSync(footerPath).toString().split(os.EOL);
|
69
|
+
|
70
|
+
i = 0;
|
71
|
+
len = footerContentArray.length;
|
72
|
+
|
73
|
+
for (; i < len; i++) {
|
74
|
+
if (footerContentArray[i].includes('neo-version')) {
|
75
|
+
// we want to update the comment inside ServiceWorker.mjs as well
|
76
|
+
footerContentArray[i + 1] = footerContentArray[i + 1].replace(/'\w.+'/, `'v${packageJson.version}'`);
|
77
|
+
break;
|
78
|
+
}
|
79
|
+
}
|
80
|
+
|
81
|
+
fs.writeFileSync(footerPath, footerContentArray.join(os.EOL));
|
82
|
+
}
|
83
|
+
}
|
84
|
+
|
63
85
|
const processTime = (Math.round((new Date - startDate) * 100) / 100000).toFixed(2);
|
64
86
|
console.log(`\nTotal time for ${programName}: ${processTime}s`);
|
65
87
|
|
package/package.json
CHANGED
@@ -8,28 +8,6 @@
|
|
8
8
|
position : relative;
|
9
9
|
text-decoration: none;
|
10
10
|
|
11
|
-
&:hover {
|
12
|
-
background-color: var(--sem-color-surface-primary-background);
|
13
|
-
|
14
|
-
&:after {
|
15
|
-
background-color: var(--purple-200);
|
16
|
-
border-radius : 2px;
|
17
|
-
bottom : 10px;
|
18
|
-
content : attr(href) ' \2192';
|
19
|
-
font-size : 0.7em;
|
20
|
-
left : -1px;
|
21
|
-
opacity : 0.7;
|
22
|
-
padding : 3px 20px;
|
23
|
-
position : absolute;
|
24
|
-
right : -1px;
|
25
|
-
text-align : center;
|
26
|
-
}
|
27
|
-
|
28
|
-
.portal-content-box-headline {
|
29
|
-
border-bottom-color: #b7c0da;
|
30
|
-
}
|
31
|
-
}
|
32
|
-
|
33
11
|
.portal-content-box-content {
|
34
12
|
margin-top : 0.75em;
|
35
13
|
padding-left: 1.3em;
|
@@ -46,6 +24,32 @@
|
|
46
24
|
}
|
47
25
|
}
|
48
26
|
|
27
|
+
.neo-mouse {
|
28
|
+
.portal-content-box {
|
29
|
+
&:hover {
|
30
|
+
background-color: var(--sem-color-surface-primary-background);
|
31
|
+
|
32
|
+
&:after {
|
33
|
+
background-color: var(--purple-200);
|
34
|
+
border-radius : 2px;
|
35
|
+
bottom : 10px;
|
36
|
+
content : attr(href) ' \2192';
|
37
|
+
font-size : 0.7em;
|
38
|
+
left : -1px;
|
39
|
+
opacity : 0.7;
|
40
|
+
padding : 3px 20px;
|
41
|
+
position : absolute;
|
42
|
+
right : -1px;
|
43
|
+
text-align : center;
|
44
|
+
}
|
45
|
+
|
46
|
+
.portal-content-box-headline {
|
47
|
+
border-bottom-color: #b7c0da;
|
48
|
+
}
|
49
|
+
}
|
50
|
+
}
|
51
|
+
}
|
52
|
+
|
49
53
|
.neo-no-mouse {
|
50
54
|
.portal-content-box {
|
51
55
|
&:after {
|
@@ -10,27 +10,28 @@
|
|
10
10
|
flex-direction: column;
|
11
11
|
}
|
12
12
|
|
13
|
-
|
14
|
-
|
13
|
+
@media (min-width: 841px) {
|
14
|
+
&.portal-position-end {
|
15
|
+
flex-direction: row-reverse;
|
16
|
+
}
|
15
17
|
}
|
16
18
|
|
17
19
|
.neo-content {
|
18
20
|
font-size: min(max(2.3vw, 16px), 30px);
|
19
21
|
}
|
20
22
|
|
21
|
-
.neo-h1 {
|
22
|
-
|
23
|
+
h1.neo-h1 {
|
24
|
+
color : var(--purple-400);
|
25
|
+
font-size : min(max(4.5vw, 30px), 44px);
|
23
26
|
line-height: 1em;
|
24
27
|
margin : 0;
|
25
|
-
text-align : center;
|
26
28
|
}
|
27
29
|
|
28
|
-
.neo-h2 {
|
29
|
-
font-size : min(max(3.5vw, 24px),
|
30
|
+
h2.neo-h2 {
|
31
|
+
font-size : min(max(3.5vw, 24px), 35px);
|
30
32
|
font-weight: 600;
|
31
33
|
line-height: 1em;
|
32
34
|
margin : 0;
|
33
|
-
text-align : center;
|
34
35
|
}
|
35
36
|
|
36
37
|
.page-live-preview {
|
@@ -39,7 +40,7 @@
|
|
39
40
|
}
|
40
41
|
|
41
42
|
.portal-content-text {
|
42
|
-
align-items :
|
43
|
+
align-items : start;
|
43
44
|
display : flex;
|
44
45
|
flex : 1;
|
45
46
|
flex-direction : column;
|
@@ -55,9 +56,8 @@
|
|
55
56
|
}
|
56
57
|
|
57
58
|
.portal-content-wrapper {
|
58
|
-
|
59
|
-
|
60
|
-
padding : 20px;
|
59
|
+
flex : 2;
|
60
|
+
padding: 20px;
|
61
61
|
|
62
62
|
@media (max-width: 600px) {
|
63
63
|
max-height: 35em;
|
@@ -25,6 +25,18 @@
|
|
25
25
|
color: white;
|
26
26
|
}
|
27
27
|
|
28
|
+
.neo-version {
|
29
|
+
align-items: center;
|
30
|
+
display : flex;
|
31
|
+
padding : var(--button-padding);
|
32
|
+
}
|
33
|
+
|
34
|
+
.neo-version,
|
35
|
+
.portal-home-footer-spacer {
|
36
|
+
height: var(--button-height);
|
37
|
+
margin: var(--button-margin);
|
38
|
+
}
|
39
|
+
|
28
40
|
.portal-home-footer-section {
|
29
41
|
background-color: transparent;
|
30
42
|
color : white;
|
@@ -39,7 +51,8 @@
|
|
39
51
|
font-size: 1.2rem;
|
40
52
|
}
|
41
53
|
|
42
|
-
.neo-button
|
54
|
+
.neo-button,
|
55
|
+
.neo-version {
|
43
56
|
padding: 0 3px;
|
44
57
|
}
|
45
58
|
}
|
@@ -47,14 +60,5 @@
|
|
47
60
|
@media (max-width: 500px) {
|
48
61
|
max-height: 15em;
|
49
62
|
min-height: 15em;
|
50
|
-
padding : 1em;
|
51
|
-
|
52
|
-
h2.neo-h2 {
|
53
|
-
font-size: 1.2rem;
|
54
|
-
}
|
55
|
-
|
56
|
-
.neo-button {
|
57
|
-
padding: 0 3px;
|
58
|
-
}
|
59
63
|
}
|
60
64
|
}
|
package/src/DefaultConfig.mjs
CHANGED
@@ -262,12 +262,12 @@ const DefaultConfig = {
|
|
262
262
|
useVdomWorker: true,
|
263
263
|
/**
|
264
264
|
* buildScripts/injectPackageVersion.mjs will update this value
|
265
|
-
* @default '6.
|
265
|
+
* @default '6.47.0'
|
266
266
|
* @memberOf! module:Neo
|
267
267
|
* @name config.version
|
268
268
|
* @type String
|
269
269
|
*/
|
270
|
-
version: '6.
|
270
|
+
version: '6.47.0'
|
271
271
|
};
|
272
272
|
|
273
273
|
Object.assign(DefaultConfig, {
|
package/src/main/DomEvents.mjs
CHANGED
@@ -67,7 +67,7 @@ class MonacoEditor extends Base {
|
|
67
67
|
editor = me.map[id] = monaco.editor.create(node, data);
|
68
68
|
|
69
69
|
editor.getModel().onDidChangeContent(me.onContentChange.bind(me, id))
|
70
|
-
} else {
|
70
|
+
} else if (Neo.config.environment === 'development') {
|
71
71
|
console.warn(`addon.MonacoEditor: node ${id} not found`)
|
72
72
|
}
|
73
73
|
}
|
@@ -18,6 +18,11 @@ class GalleryModel extends Model {
|
|
18
18
|
* @protected
|
19
19
|
*/
|
20
20
|
ntype: 'selection-gallerymodel',
|
21
|
+
/**
|
22
|
+
* @member {String} cls='neo-selection-gallerymodel'
|
23
|
+
* @protected
|
24
|
+
*/
|
25
|
+
cls: 'neo-selection-gallerymodel',
|
21
26
|
/**
|
22
27
|
* True to stay in the same column when navigating with the up and down keys,
|
23
28
|
* otherwise you will navigate to the next / prev column when moving out
|
@@ -18,6 +18,11 @@ class HelixModel extends Model {
|
|
18
18
|
* @protected
|
19
19
|
*/
|
20
20
|
ntype: 'selection-helixmodel',
|
21
|
+
/**
|
22
|
+
* @member {String} cls='neo-selection-helixmodel'
|
23
|
+
* @protected
|
24
|
+
*/
|
25
|
+
cls: 'neo-selection-helixmodel',
|
21
26
|
/**
|
22
27
|
* True to stay in the same column when navigating with the up and down keys,
|
23
28
|
* otherwise you will navigate to the next / prev column when moving out
|
package/src/worker/Manager.mjs
CHANGED
@@ -232,7 +232,7 @@ class Manager extends Base {
|
|
232
232
|
NeoConfig.hasTouchEvents = ('ontouchstart' in window) || (navigator.maxTouchPoints > 0);
|
233
233
|
|
234
234
|
// Useful for styling
|
235
|
-
|
235
|
+
document.body.classList.add(NeoConfig.hasMouseEvents ? 'neo-mouse' : 'neo-no-mouse');
|
236
236
|
|
237
237
|
if (window.Worker) {
|
238
238
|
me.webWorkersEnabled = true
|