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.
@@ -20,9 +20,9 @@ class ServiceWorker extends ServiceBase {
20
20
  */
21
21
  singleton: true,
22
22
  /**
23
- * @member {String} version='8.23.0'
23
+ * @member {String} version='8.25.0'
24
24
  */
25
- version: '8.23.0'
25
+ version: '8.25.0'
26
26
  }
27
27
 
28
28
  /**
@@ -16,7 +16,7 @@
16
16
  "@type": "Organization",
17
17
  "name": "Neo.mjs"
18
18
  },
19
- "datePublished": "2025-02-21",
19
+ "datePublished": "2025-02-26",
20
20
  "publisher": {
21
21
  "@type": "Organization",
22
22
  "name": "Neo.mjs"
@@ -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
  }
@@ -107,7 +107,7 @@ class FooterContainer extends Container {
107
107
  }, {
108
108
  module: Component,
109
109
  cls : ['neo-version'],
110
- html : 'v8.23.0'
110
+ html : 'v8.25.0'
111
111
  }]
112
112
  }],
113
113
  /**
@@ -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[1].id;
29
+ let id = data.path[0].id;
32
30
  this.activePartsId = id;
33
- Neo.getComponent(id)?.activate?.()
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-wrapper'],
88
+ observe : ['.portal-home-content-view'],
89
89
  root : `#${id}`,
90
- threshold: 1.0,
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
- cls : ['neo-h2'],
37
- flex: 'none',
38
- html: 'Modern Enterprise-Ready JavaScript Framework',
39
- tag : 'h2'
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);
@@ -20,9 +20,9 @@ class ServiceWorker extends ServiceBase {
20
20
  */
21
21
  singleton: true,
22
22
  /**
23
- * @member {String} version='8.23.0'
23
+ * @member {String} version='8.25.0'
24
24
  */
25
- version: '8.23.0'
25
+ version: '8.25.0'
26
26
  }
27
27
 
28
28
  /**
@@ -74,6 +74,8 @@ class MainContainer extends ConfigurationViewport {
74
74
  createExampleComponent() {
75
75
  return {
76
76
  module: MagicMoveText,
77
+ height: 100,
78
+ width : 450,
77
79
 
78
80
  cycleTexts: [
79
81
  'Magic Move',
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "neo.mjs",
3
- "version": "8.23.0",
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.0",
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) !important;
110
- background-image: none !important;
111
- border : var(--button-border-active) !important;
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
- height : 100%;
18
- position: relative;
19
- width : 100%;
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
+ }
@@ -263,12 +263,12 @@ const DefaultConfig = {
263
263
  useVdomWorker: true,
264
264
  /**
265
265
  * buildScripts/injectPackageVersion.mjs will update this value
266
- * @default '8.23.0'
266
+ * @default '8.25.0'
267
267
  * @memberOf! module:Neo
268
268
  * @name config.version
269
269
  * @type String
270
270
  */
271
- version: '8.23.0'
271
+ version: '8.25.0'
272
272
  };
273
273
 
274
274
  Object.assign(DefaultConfig, {