neo.mjs 8.23.0 → 8.25.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/index.html +1 -1
- package/apps/portal/view/home/FeatureSection.mjs +4 -4
- package/apps/portal/view/home/FooterContainer.mjs +1 -1
- package/apps/portal/view/home/MainContainer.mjs +7 -7
- package/apps/portal/view/home/parts/MainNeo.mjs +35 -4
- package/examples/ServiceWorker.mjs +2 -2
- package/examples/component/magicmovetext/MainContainer.mjs +2 -0
- package/package.json +2 -2
- package/resources/scss/src/apps/portal/home/parts/MainNeo.scss +30 -0
- package/resources/scss/src/button/Base.scss +3 -3
- package/resources/scss/src/component/MagicMoveText.scss +9 -15
- package/resources/scss/src/grid/VerticalScrollbar.scss +21 -0
- package/src/DefaultConfig.mjs +2 -2
- package/src/component/MagicMoveText.mjs +228 -40
- package/src/draggable/grid/header/toolbar/SortZone.mjs +1 -1
- package/src/grid/Container.mjs +98 -73
- package/src/grid/ScrollManager.mjs +179 -0
- package/src/grid/{Scrollbar.mjs → VerticalScrollbar.mjs} +11 -9
- package/src/grid/View.mjs +45 -130
- package/src/grid/header/Toolbar.mjs +1 -2
- package/src/selection/grid/CellModel.mjs +9 -9
- package/resources/scss/src/grid/Scrollbar.scss +0 -21
package/apps/ServiceWorker.mjs
CHANGED
package/apps/portal/index.html
CHANGED
@@ -22,10 +22,10 @@ class FeatureSection extends Container {
|
|
22
22
|
*/
|
23
23
|
className: 'Portal.view.home.FeatureSection',
|
24
24
|
/**
|
25
|
-
* @member {String[]} baseCls=['portal-home-feature-section','neo-container']
|
25
|
+
* @member {String[]} baseCls=['portal-home-feature-section','portal-home-content-view','neo-container']
|
26
26
|
* @protected
|
27
27
|
*/
|
28
|
-
baseCls: ['portal-home-feature-section', 'neo-container'],
|
28
|
+
baseCls: ['portal-home-feature-section', 'portal-home-content-view', 'neo-container'],
|
29
29
|
/**
|
30
30
|
* If you want to use the LivePreview, use the config livePreviewCode.
|
31
31
|
* For custom content, use this config instead.
|
@@ -91,7 +91,7 @@ class FeatureSection extends Container {
|
|
91
91
|
}]
|
92
92
|
}, {
|
93
93
|
module : Container,
|
94
|
-
cls : 'portal-content-wrapper',
|
94
|
+
cls : ['portal-content-wrapper'],
|
95
95
|
layout : 'fit',
|
96
96
|
reference: 'portal-content-wrapper'
|
97
97
|
}]
|
@@ -125,7 +125,7 @@ class FeatureSection extends Container {
|
|
125
125
|
cls : ['page-live-preview'],
|
126
126
|
reference: 'live-preview',
|
127
127
|
value : this.livePreviewCode
|
128
|
-
}]
|
128
|
+
}];
|
129
129
|
|
130
130
|
this.getItem('portal-content-wrapper').items = value
|
131
131
|
}
|
@@ -6,8 +6,6 @@ import Helix from './parts/Helix.mjs';
|
|
6
6
|
import How from './parts/How.mjs';
|
7
7
|
import MainNeo from './parts/MainNeo.mjs';
|
8
8
|
|
9
|
-
// import References from './parts/References.mjs';
|
10
|
-
|
11
9
|
/**
|
12
10
|
* @class Portal.view.home.MainContainer
|
13
11
|
* @extends Neo.container.Base
|
@@ -28,9 +26,12 @@ class MainContainer extends Container {
|
|
28
26
|
*/
|
29
27
|
domListeners: [{
|
30
28
|
intersect(data) {
|
31
|
-
let id = data.path[
|
29
|
+
let id = data.path[0].id;
|
32
30
|
this.activePartsId = id;
|
33
|
-
|
31
|
+
|
32
|
+
this.items.forEach(item => {
|
33
|
+
item[item.id === id ? 'activate' : 'deactivate']?.()
|
34
|
+
})
|
34
35
|
},
|
35
36
|
scroll(event) {
|
36
37
|
if (event.target.cls.includes('portal-home-maincontainer')) {
|
@@ -54,7 +55,6 @@ class MainContainer extends Container {
|
|
54
55
|
Helix,
|
55
56
|
Colors,
|
56
57
|
How,
|
57
|
-
// References,
|
58
58
|
AfterMath
|
59
59
|
],
|
60
60
|
/**
|
@@ -85,9 +85,9 @@ class MainContainer extends Container {
|
|
85
85
|
Neo.main.addon.IntersectionObserver.register({
|
86
86
|
callback : 'isVisible',
|
87
87
|
id,
|
88
|
-
observe : ['.portal-content-
|
88
|
+
observe : ['.portal-home-content-view'],
|
89
89
|
root : `#${id}`,
|
90
|
-
threshold:
|
90
|
+
threshold: .6,
|
91
91
|
windowId
|
92
92
|
})
|
93
93
|
})
|
@@ -1,5 +1,6 @@
|
|
1
1
|
import BaseContainer from './BaseContainer.mjs';
|
2
2
|
import Button from '../../../../../src/button/Base.mjs';
|
3
|
+
import MagicMoveText from '../../../../../src/component/MagicMoveText.mjs';
|
3
4
|
|
4
5
|
/**
|
5
6
|
* @class Portal.view.home.parts.MainNeo
|
@@ -33,10 +34,26 @@ class MainNeo extends BaseContainer {
|
|
33
34
|
tag : 'h1'
|
34
35
|
}]
|
35
36
|
}, {
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
37
|
+
module : MagicMoveText,
|
38
|
+
autoCycle: false,
|
39
|
+
cls : ['neo-h2'],
|
40
|
+
colorMove: '#3E63DD',
|
41
|
+
flex : 'none',
|
42
|
+
reference: 'magic-move',
|
43
|
+
|
44
|
+
cycleTexts: [
|
45
|
+
'Modern Enterprise JavaScript Framework',
|
46
|
+
'An Application Worker being the Orchestrator',
|
47
|
+
'Scalability',
|
48
|
+
'Extensibility',
|
49
|
+
'Performance',
|
50
|
+
'Declarative & Reactive Component Trees',
|
51
|
+
'Separated from Business Logic',
|
52
|
+
'View Controllers',
|
53
|
+
'State Providers',
|
54
|
+
'Clean Architectures',
|
55
|
+
'Multi Window Apps'
|
56
|
+
]
|
40
57
|
}, {
|
41
58
|
cls : ['neo-h3'],
|
42
59
|
flex: 'none',
|
@@ -66,6 +83,20 @@ class MainNeo extends BaseContainer {
|
|
66
83
|
}]
|
67
84
|
}]
|
68
85
|
}
|
86
|
+
|
87
|
+
/**
|
88
|
+
*
|
89
|
+
*/
|
90
|
+
activate() {
|
91
|
+
this.getItem('magic-move').autoCycle = true
|
92
|
+
}
|
93
|
+
|
94
|
+
/**
|
95
|
+
*
|
96
|
+
*/
|
97
|
+
deactivate() {
|
98
|
+
this.getItem('magic-move').autoCycle = false
|
99
|
+
}
|
69
100
|
}
|
70
101
|
|
71
102
|
export default Neo.setupClass(MainNeo);
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "neo.mjs",
|
3
|
-
"version": "8.
|
3
|
+
"version": "8.25.0",
|
4
4
|
"description": "The webworkers driven UI framework",
|
5
5
|
"type": "module",
|
6
6
|
"repository": {
|
@@ -62,7 +62,7 @@
|
|
62
62
|
"neo-jsdoc": "1.0.1",
|
63
63
|
"neo-jsdoc-x": "1.0.5",
|
64
64
|
"postcss": "^8.5.3",
|
65
|
-
"sass": "^1.85.
|
65
|
+
"sass": "^1.85.1",
|
66
66
|
"siesta-lite": "5.5.2",
|
67
67
|
"url": "^0.11.4",
|
68
68
|
"webpack": "^5.98.0",
|
@@ -27,6 +27,24 @@
|
|
27
27
|
min-width : 240px;
|
28
28
|
}
|
29
29
|
|
30
|
+
.neo-magic-move-text {
|
31
|
+
background-color: transparent;
|
32
|
+
color : #000;
|
33
|
+
font-size : 2.5rem;
|
34
|
+
height : 2em;
|
35
|
+
letter-spacing : -0.02em;
|
36
|
+
line-height : 1.2em;
|
37
|
+
width : 90%;
|
38
|
+
|
39
|
+
.neo-content {
|
40
|
+
font-size: 2.5rem;
|
41
|
+
}
|
42
|
+
|
43
|
+
.neo-measure-element-wrapper {
|
44
|
+
letter-spacing: -0.02em;
|
45
|
+
}
|
46
|
+
}
|
47
|
+
|
30
48
|
.neo-github {
|
31
49
|
background-color: #fff;
|
32
50
|
}
|
@@ -79,6 +97,10 @@
|
|
79
97
|
margin: 1rem 2rem;
|
80
98
|
}
|
81
99
|
|
100
|
+
.neo-magic-move-text {
|
101
|
+
height: 3.5em;
|
102
|
+
}
|
103
|
+
|
82
104
|
.vector {
|
83
105
|
height: 17vw;
|
84
106
|
}
|
@@ -106,6 +128,14 @@
|
|
106
128
|
font-size: 1.15rem;
|
107
129
|
}
|
108
130
|
|
131
|
+
.neo-magic-move-text {
|
132
|
+
height: 3.5em;
|
133
|
+
|
134
|
+
.neo-content {
|
135
|
+
font-size: 2rem;
|
136
|
+
}
|
137
|
+
}
|
138
|
+
|
109
139
|
.vector {
|
110
140
|
height: 70px;
|
111
141
|
width : 70px;
|
@@ -106,9 +106,9 @@
|
|
106
106
|
}
|
107
107
|
|
108
108
|
&:active {
|
109
|
-
background-color: var(--button-background-color-active)
|
110
|
-
background-image: none
|
111
|
-
border : var(--button-border-active)
|
109
|
+
background-color: var(--button-background-color-active);
|
110
|
+
background-image: none;
|
111
|
+
border : var(--button-border-active);
|
112
112
|
|
113
113
|
.neo-button-glyph {
|
114
114
|
color: var(--button-glyph-color-active);
|
@@ -1,42 +1,36 @@
|
|
1
1
|
.neo-magic-move-text {
|
2
|
-
--neo-height : 100px;
|
3
2
|
--neo-transition-time: 500ms;
|
4
|
-
--neo-width : 450px;
|
5
3
|
|
6
|
-
align-items : center;
|
7
4
|
background-color: #000;
|
8
5
|
color : #fff;
|
9
|
-
display : flex;
|
10
6
|
font-size : 30px;
|
11
7
|
font-weight : bold;
|
12
|
-
height : var(--neo-height);
|
13
|
-
justify-content : center;
|
14
|
-
width : var(--neo-width);
|
15
8
|
|
16
9
|
.neo-content {
|
17
|
-
|
18
|
-
|
19
|
-
|
10
|
+
align-items : center;
|
11
|
+
display : flex;
|
12
|
+
height : 100%;
|
13
|
+
justify-content: center;
|
14
|
+
position : relative;
|
15
|
+
width : 100%;
|
20
16
|
|
21
|
-
|
17
|
+
.neo-char {
|
22
18
|
position : absolute;
|
23
19
|
transition:
|
24
20
|
color 0.2s ease-out,
|
25
21
|
left var(--neo-transition-time) ease-out,
|
26
|
-
opacity var(--neo-transition-time) ease-out
|
22
|
+
opacity var(--neo-transition-time) ease-out,
|
23
|
+
top var(--neo-transition-time) ease-out;
|
27
24
|
}
|
28
25
|
}
|
29
26
|
|
30
27
|
.neo-measure-element-wrapper {
|
31
28
|
align-items : center;
|
32
|
-
background-color: #000;
|
33
29
|
display : flex;
|
34
|
-
height : var(--neo-height);
|
35
30
|
justify-content: center;
|
36
31
|
left : -5000px;
|
37
32
|
position : absolute;
|
38
33
|
top : -5000px;
|
39
|
-
width : var(--neo-width);
|
40
34
|
}
|
41
35
|
|
42
36
|
.neo-measure-element {
|
@@ -0,0 +1,21 @@
|
|
1
|
+
.neo-grid-vertical-scrollbar {
|
2
|
+
bottom : 1px;
|
3
|
+
opacity : 0;
|
4
|
+
overflow-y: scroll;
|
5
|
+
position : absolute;
|
6
|
+
right : 0;
|
7
|
+
top : 31px; // header-toolbar height
|
8
|
+
transition: opacity 1s ease-out;
|
9
|
+
width : 16px;
|
10
|
+
z-index : 2;
|
11
|
+
|
12
|
+
&:hover {
|
13
|
+
opacity: 1;
|
14
|
+
}
|
15
|
+
}
|
16
|
+
|
17
|
+
.neo-grid-wrapper:has(.neo-grid-view.neo-is-scrolling) {
|
18
|
+
.neo-grid-vertical-scrollbar {
|
19
|
+
opacity: 1;
|
20
|
+
}
|
21
|
+
}
|
package/src/DefaultConfig.mjs
CHANGED
@@ -263,12 +263,12 @@ const DefaultConfig = {
|
|
263
263
|
useVdomWorker: true,
|
264
264
|
/**
|
265
265
|
* buildScripts/injectPackageVersion.mjs will update this value
|
266
|
-
* @default '8.
|
266
|
+
* @default '8.25.0'
|
267
267
|
* @memberOf! module:Neo
|
268
268
|
* @name config.version
|
269
269
|
* @type String
|
270
270
|
*/
|
271
|
-
version: '8.
|
271
|
+
version: '8.25.0'
|
272
272
|
};
|
273
273
|
|
274
274
|
Object.assign(DefaultConfig, {
|