neo.mjs 6.17.0 → 6.17.2
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/HeaderToolbar.mjs +44 -27
- package/apps/portal/view/Viewport.mjs +12 -1
- package/apps/portal/view/home/MainContainer.mjs +28 -60
- package/apps/portal/view/home/parts/AfterMath.mjs +58 -0
- package/apps/portal/view/home/parts/CoolStuff.mjs +82 -0
- package/apps/portal/view/home/parts/Features.mjs +52 -0
- package/apps/portal/view/home/parts/HelloWorld.mjs +82 -0
- package/apps/portal/view/home/parts/MainNeo.mjs +55 -0
- package/apps/portal/view/home/preview/PageCodeContainer.mjs +55 -0
- package/apps/portal/view/learn/LivePreview.mjs +16 -14
- package/apps/website/data/docs.json +2 -2
- package/apps/website/view/blog/List.mjs +28 -30
- package/apps/website/view/examples/List.mjs +15 -17
- package/buildScripts/webpack/webpack.server.config.mjs +4 -1
- package/docs/app/view/classdetails/MembersList.mjs +4 -0
- package/examples/ServiceWorker.mjs +2 -2
- package/package.json +4 -4
- package/resources/images/Neo_Logo_Blue.svg +6 -0
- package/resources/images/Neo_Logo_Text.svg +5 -0
- package/resources/images/Neo_Logo_White.svg +6 -0
- package/resources/scss/src/apps/portal/HeaderToolbar.scss +189 -17
- package/resources/scss/src/apps/portal/home/MainContainer.scss +46 -20
- package/resources/scss/src/apps/portal/home/parts/Features.scss +3 -0
- package/resources/scss/src/apps/portal/home/preview/PageCodeContainer.scss +115 -0
- package/resources/scss/src/component/Base.scss +2 -0
- package/src/DefaultConfig.mjs +2 -2
- package/src/component/Base.mjs +139 -71
- package/src/component/wrapper/MonacoEditor.mjs +1 -6
- package/src/container/Base.mjs +5 -5
- package/src/container/Viewport.mjs +30 -1
- package/src/manager/DomEvent.mjs +11 -6
- package/src/plugin/Responsive.mjs +175 -0
- package/src/util/Logger.mjs +3 -3
- package/resources/images/Neo_Vector.svg +0 -3
- package/resources/images/logos/Github-logo-black.svg +0 -1
- package/resources/images/logos/Slack-logo-black.svg +0 -17
@@ -1,6 +1,6 @@
|
|
1
1
|
[
|
2
2
|
{
|
3
|
-
"browsers" : ["Chrome (including more examples)"],
|
3
|
+
"browsers" : ["Chrome", "Edge", "Firefox", "Safari</br>(including more examples)"],
|
4
4
|
"environments": ["Desktop"],
|
5
5
|
"id" : 1,
|
6
6
|
"image" : "devmode/docs.png",
|
@@ -26,4 +26,4 @@
|
|
26
26
|
"sourceUrl" : "https://github.com/neomjs/neo/tree/dev/docs",
|
27
27
|
"url" : "https://neomjs.github.io/pages/node_modules/neo.mjs/dist/production/docs/index.html"
|
28
28
|
}
|
29
|
-
]
|
29
|
+
]
|
@@ -52,7 +52,7 @@ class List extends BaseList {
|
|
52
52
|
value.on({
|
53
53
|
load : 'onBlogPostStoreLoad',
|
54
54
|
scope: this.getController()
|
55
|
-
})
|
55
|
+
})
|
56
56
|
}
|
57
57
|
|
58
58
|
/**
|
@@ -65,30 +65,28 @@ class List extends BaseList {
|
|
65
65
|
basePath = '../../../../resources/website';
|
66
66
|
|
67
67
|
if (Neo.config.environment !== 'development') {
|
68
|
-
basePath = '../../' + basePath
|
68
|
+
basePath = '../../' + basePath
|
69
69
|
}
|
70
70
|
} else {
|
71
|
-
basePath = 'https://raw.githubusercontent.com/neomjs/pages/main/resources/website'
|
71
|
+
basePath = 'https://raw.githubusercontent.com/neomjs/pages/main/resources/website'
|
72
72
|
}
|
73
73
|
|
74
74
|
const vdomCn = [
|
75
|
-
{cls: ['content'], cn: [
|
76
|
-
{cls: ['neo-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
{cls: ['neo-
|
81
|
-
{
|
82
|
-
|
83
|
-
|
84
|
-
{cls: ['neo-
|
85
|
-
|
86
|
-
{cls: ['neo-inner-
|
87
|
-
{cls: ['neo-
|
88
|
-
|
89
|
-
|
90
|
-
{cls: ['neo-inner-details'], html: record.date}
|
91
|
-
]}
|
75
|
+
{cls: ['content', 'neo-relative'], cn: [
|
76
|
+
{cls: ['neo-full-size', 'preview-image'], style: {
|
77
|
+
backgroundImage: `url('${basePath}/blog/${record.image}'), linear-gradient(#777, #333)`}
|
78
|
+
},
|
79
|
+
{cls: ['neo-absolute', 'neo-item-bottom-position'], cn: [
|
80
|
+
{tag: 'a', cls: ['neo-title'], href: record.url, target: '_blank', cn: [
|
81
|
+
{flag: 'name', html: record.name.replace(List.nameRegEx, "$1")}
|
82
|
+
]},
|
83
|
+
{cls: ['neo-top-20'], cn: [
|
84
|
+
{tag: 'img', cls: ['neo-user-image'], src: `${basePath}/blogAuthor/${record.authorImage}`},
|
85
|
+
{cls: ['neo-inner-content'], cn: [
|
86
|
+
{cls: ['neo-inner-details'], flag: 'author', cn: [
|
87
|
+
{tag: 'span', cls: ['neo-bold'], html: record.author}
|
88
|
+
]},
|
89
|
+
{cls: ['neo-inner-details'], html: record.date}
|
92
90
|
]}
|
93
91
|
]}
|
94
92
|
]}
|
@@ -99,19 +97,19 @@ class List extends BaseList {
|
|
99
97
|
VDomUtil.getByFlag(vdomCn[0], 'author').cn.push(
|
100
98
|
{vtype: 'text', html : ' in '},
|
101
99
|
{tag: 'span', cls: ['neo-bold'], html: record.publisher}
|
102
|
-
)
|
100
|
+
)
|
103
101
|
}
|
104
102
|
|
105
103
|
if (record.selectedInto.length > 0) {
|
106
|
-
vdomCn[0].cn
|
104
|
+
vdomCn[0].cn.splice(1, 0,
|
107
105
|
{cls: ['neo-absolute', 'neo-item-top-position'], cn: [
|
108
106
|
{html: `Officially selected by ${record.provider} into`},
|
109
107
|
{cls: ['neo-bold'], html: record.selectedInto.join('</br>')}
|
110
108
|
]}
|
111
|
-
)
|
109
|
+
)
|
112
110
|
}
|
113
111
|
|
114
|
-
return vdomCn
|
112
|
+
return vdomCn
|
115
113
|
}
|
116
114
|
|
117
115
|
/**
|
@@ -135,7 +133,7 @@ class List extends BaseList {
|
|
135
133
|
|
136
134
|
if (emptyValue) {
|
137
135
|
itemName.html = name;
|
138
|
-
delete item.style.display
|
136
|
+
delete item.style.display
|
139
137
|
} else {
|
140
138
|
itemName.html = name.replace(valueRegEx, match => {
|
141
139
|
hasMatch = true;
|
@@ -143,28 +141,28 @@ class List extends BaseList {
|
|
143
141
|
});
|
144
142
|
|
145
143
|
if (hasMatch) {
|
146
|
-
delete item.style.display
|
144
|
+
delete item.style.display
|
147
145
|
} else {
|
148
|
-
item.style.display = 'none'
|
146
|
+
item.style.display = 'none'
|
149
147
|
}
|
150
148
|
}
|
151
149
|
});
|
152
150
|
|
153
|
-
me.update()
|
151
|
+
me.update()
|
154
152
|
}
|
155
153
|
|
156
154
|
/**
|
157
155
|
* @returns {Object}
|
158
156
|
*/
|
159
157
|
getVdomRoot() {
|
160
|
-
return this.vdom.cn[0]
|
158
|
+
return this.vdom.cn[0]
|
161
159
|
}
|
162
160
|
|
163
161
|
/**
|
164
162
|
* @returns {Object}
|
165
163
|
*/
|
166
164
|
getVnodeRoot() {
|
167
|
-
return this.vnode.childNodes[0]
|
165
|
+
return this.vnode.childNodes[0]
|
168
166
|
}
|
169
167
|
}
|
170
168
|
|
@@ -77,47 +77,45 @@ class List extends BaseList {
|
|
77
77
|
basePath = '../../../../resources/website/examples';
|
78
78
|
|
79
79
|
if (Neo.config.environment !== 'development') {
|
80
|
-
basePath = '../../' + basePath
|
80
|
+
basePath = '../../' + basePath
|
81
81
|
}
|
82
82
|
} else {
|
83
|
-
basePath = 'https://raw.githubusercontent.com/neomjs/pages/main/resources/website/examples'
|
83
|
+
basePath = 'https://raw.githubusercontent.com/neomjs/pages/main/resources/website/examples'
|
84
84
|
}
|
85
85
|
|
86
86
|
return [
|
87
|
-
{cls: ['content'], cn: [
|
87
|
+
{cls: ['content', 'neo-relative'], cn: [
|
88
88
|
{cls: ['neo-full-size', 'preview-image'], style: {
|
89
89
|
backgroundImage: `url('${basePath}/${record.image}'), linear-gradient(#777, #333)`}
|
90
90
|
},
|
91
|
-
{cls: ['neo-
|
92
|
-
{cls: ['neo-
|
93
|
-
{
|
94
|
-
|
95
|
-
|
96
|
-
{cls: ['neo-
|
97
|
-
|
98
|
-
{cls: ['neo-inner-
|
99
|
-
|
100
|
-
{cls: ['neo-inner-details'], html: record.environments.join(', ')}
|
101
|
-
]}
|
91
|
+
{cls: ['neo-absolute', 'neo-item-bottom-position'], cn: [
|
92
|
+
{tag: 'a', cls: ['neo-title'], href: record.url, target: '_blank', cn: [
|
93
|
+
{html: record.name.replace(List.nameRegEx, "$1")}
|
94
|
+
]},
|
95
|
+
{cls: ['neo-top-20'], cn: [
|
96
|
+
{tag: 'a', cls: ['fab fa-github', 'neo-github-image'], href: record.sourceUrl, target: '_blank'},
|
97
|
+
{cls: ['neo-inner-content'], cn: [
|
98
|
+
{cls: ['neo-inner-details'], html: record.browsers.join(', ')},
|
99
|
+
{cls: ['neo-inner-details'], html: record.environments.join(', ')}
|
102
100
|
]}
|
103
101
|
]}
|
104
102
|
]}
|
105
103
|
]}
|
106
|
-
]
|
104
|
+
]
|
107
105
|
}
|
108
106
|
|
109
107
|
/**
|
110
108
|
* @returns {Object}
|
111
109
|
*/
|
112
110
|
getVdomRoot() {
|
113
|
-
return this.vdom.cn[0]
|
111
|
+
return this.vdom.cn[0]
|
114
112
|
}
|
115
113
|
|
116
114
|
/**
|
117
115
|
* @returns {Object}
|
118
116
|
*/
|
119
117
|
getVnodeRoot() {
|
120
|
-
return this.vnode.childNodes[0]
|
118
|
+
return this.vnode.childNodes[0]
|
121
119
|
}
|
122
120
|
}
|
123
121
|
|
@@ -246,6 +246,10 @@ class MembersList extends Base {
|
|
246
246
|
|
247
247
|
// methods
|
248
248
|
if (item.params && item.kind !== 'event') {
|
249
|
+
if (item.$kind === 'property') {console.log(item);
|
250
|
+
headerText = 'get ' + headerText
|
251
|
+
}
|
252
|
+
|
249
253
|
headerText += ('(' + item.params.reduce((result, param) => {
|
250
254
|
if (param.name.indexOf('.') < 0) {
|
251
255
|
if (param.optional) {
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "neo.mjs",
|
3
|
-
"version": "6.17.
|
3
|
+
"version": "6.17.2",
|
4
4
|
"description": "The webworkers driven UI framework",
|
5
5
|
"type": "module",
|
6
6
|
"repository": {
|
@@ -41,14 +41,14 @@
|
|
41
41
|
"bugs": {
|
42
42
|
"url": "https://github.com/neomjs/neo/issues"
|
43
43
|
},
|
44
|
-
"homepage": "https://neomjs.
|
44
|
+
"homepage": "https://neomjs.com/",
|
45
45
|
"devDependencies": {
|
46
46
|
"@fortawesome/fontawesome-free": "^6.5.2",
|
47
47
|
"autoprefixer": "^10.4.19",
|
48
48
|
"chalk": "^5.3.0",
|
49
49
|
"clean-webpack-plugin": "^4.0.0",
|
50
50
|
"commander": "^12.1.0",
|
51
|
-
"cssnano": "^7.0.
|
51
|
+
"cssnano": "^7.0.3",
|
52
52
|
"envinfo": "^7.13.0",
|
53
53
|
"fs-extra": "^11.2.0",
|
54
54
|
"highlightjs-line-numbers.js": "^2.8.0",
|
@@ -61,7 +61,7 @@
|
|
61
61
|
"sass": "^1.77.6",
|
62
62
|
"siesta-lite": "5.5.2",
|
63
63
|
"url": "^0.11.3",
|
64
|
-
"webpack": "^5.92.
|
64
|
+
"webpack": "^5.92.1",
|
65
65
|
"webpack-cli": "^5.1.4",
|
66
66
|
"webpack-dev-server": "^5.0.4",
|
67
67
|
"webpack-hook-plugin": "^1.0.7",
|
@@ -0,0 +1,6 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
2
|
+
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
3
|
+
<svg width="100%" height="100%" viewBox="0 0 157 157" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;">
|
4
|
+
<path d="M8.841,127.508L33.676,144.928L33.675,105.744L33.675,94.343L43.023,100.871L112.335,149.272L135.026,135.569L8.841,46.576L8.841,127.508Z" style="fill:white;fill-rule:nonzero;stroke:rgb(139,166,255);stroke-width:11.89px;"/>
|
5
|
+
<path d="M144.867,30.661L120.032,13.241L120.033,52.425L120.034,63.826L110.686,57.298L41.374,8.897L18.682,22.6L144.867,111.593L144.867,30.661Z" style="fill:white;fill-rule:nonzero;stroke:rgb(139,166,255);stroke-width:11.89px;"/>
|
6
|
+
</svg>
|
@@ -0,0 +1,5 @@
|
|
1
|
+
<svg width="696" height="157" viewBox="0 0 696 157" fill="none" xmlns="http://www.w3.org/2000/svg">
|
2
|
+
<path d="M210.202 131.678V34.1934H230.813L271.199 104.661V34.1934H288.329V131.678H267.718L227.331 61.3498V131.678H210.202ZM335.196 133.767C314.585 133.767 301.077 119.283 301.077 97.2797C301.077 75.5546 314.725 61.6283 334.361 61.6283C354.972 61.6283 367.505 74.9976 367.505 96.3048C367.505 98.3938 367.505 100.622 367.227 103.407H317.371C318.206 113.713 324.752 119.84 335.336 119.84C342.438 119.84 347.173 116.777 349.401 111.902H366.391C362.213 125.132 351.769 133.767 335.196 133.767ZM317.371 90.595H350.794V90.1773C350.794 81.2644 344.945 74.9976 334.361 74.9976C324.334 74.9976 317.928 81.2644 317.371 90.595ZM409.655 133.767C388.766 133.767 374.283 119.283 374.283 97.6975C374.283 76.1117 388.766 61.6283 409.655 61.6283C430.684 61.6283 445.168 76.1117 445.168 97.6975C445.168 119.283 430.684 133.767 409.655 133.767ZM391.412 97.6975C391.412 110.231 398.654 118.726 409.655 118.726C420.657 118.726 428.038 110.231 428.038 97.6975C428.038 85.1638 420.657 76.6687 409.655 76.6687C398.654 76.6687 391.412 85.1638 391.412 97.6975ZM456.426 131.678V110.51H476.062V131.678H456.426ZM491.419 131.678V63.7172H506.042V71.2374C509.941 64.5528 515.93 61.6283 523.868 61.6283C532.781 61.6283 539.326 65.8062 542.668 72.9086C547.403 65.2491 554.227 61.6283 562.444 61.6283C578.18 61.6283 587.233 71.516 587.233 88.6454V131.678H570.521V89.7595C570.521 81.2644 566.761 76.6687 559.38 76.6687C552.277 76.6687 547.542 82.1 547.542 90.1773V131.678H530.97V89.7595C530.97 81.2644 527.21 76.6687 519.829 76.6687C512.866 76.6687 507.992 82.2392 507.992 90.1773V131.678H491.419ZM588.801 156.745V141.844H598.271C601.753 141.844 602.867 140.312 602.867 135.856V63.7172H619.439V137.945C619.439 151.035 611.919 156.745 600.082 156.745H588.801ZM602.171 51.8798V34.8897H619.996V51.8798H602.171ZM660.026 133.767C641.504 133.767 630.363 126.246 629.666 111.902H646.796C647.353 117.612 652.227 120.397 660.583 120.397C668.103 120.397 672.699 117.194 672.699 112.181C672.699 107.864 669.357 105.635 663.368 105.078L652.506 103.964C639.833 102.572 631.895 95.0515 631.895 83.4926C631.895 69.9841 642.757 61.6283 660.026 61.6283C677.155 61.6283 688.018 68.87 688.853 83.0748H672.281C672.003 77.6436 667.268 75.1368 659.747 75.1368C652.645 75.1368 648.189 77.9221 648.189 82.657C648.189 86.6957 651.392 88.9239 658.215 89.7595L669.217 91.0128C682.03 92.5447 689.41 100.065 689.41 111.345C689.41 124.993 678.13 133.767 660.026 133.767Z" fill="black"/>
|
3
|
+
<path d="M8.8412 127.508L33.6763 144.928L33.6753 105.744L33.675 94.3431L43.0227 100.871L112.335 149.272L135.026 135.569L8.8412 46.5755L8.8412 127.508Z" stroke="#8BA6FF" stroke-width="11.8883"/>
|
4
|
+
<path d="M144.867 30.6613L120.032 13.2409L120.033 52.4246L120.034 63.8259L110.686 57.2982L41.3738 8.89651L18.6823 22.6004L144.867 111.593L144.867 30.6613Z" stroke="#8BA6FF" stroke-width="11.8883"/>
|
5
|
+
</svg>
|
@@ -0,0 +1,6 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
2
|
+
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
3
|
+
<svg width="100%" height="100%" viewBox="0 0 157 157" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;">
|
4
|
+
<path d="M8.841,127.508L33.676,144.928L33.675,105.744L33.675,94.343L43.023,100.871L112.335,149.272L135.026,135.569L8.841,46.576L8.841,127.508Z" style="fill:white;fill-opacity:0;fill-rule:nonzero;stroke:white;stroke-width:11.89px;"/>
|
5
|
+
<path d="M144.867,30.661L120.032,13.241L120.033,52.425L120.034,63.826L110.686,57.298L41.374,8.897L18.682,22.6L144.867,111.593L144.867,30.661Z" style="fill:white;fill-opacity:0;fill-rule:nonzero;stroke:white;stroke-width:11.89px;"/>
|
6
|
+
</svg>
|
@@ -1,25 +1,197 @@
|
|
1
1
|
.learnneo-header-toolbar {
|
2
|
-
|
3
|
-
border-bottom: 1px solid #f2f2f2;
|
2
|
+
border-bottom: 1px solid #f2f2f2;
|
4
3
|
|
5
|
-
|
6
|
-
|
7
|
-
|
4
|
+
.logo {
|
5
|
+
margin-left: 1em;
|
6
|
+
}
|
7
|
+
|
8
|
+
.neo-button {
|
9
|
+
margin-left: 10px;
|
8
10
|
|
9
|
-
|
10
|
-
|
11
|
+
&.no-text {
|
12
|
+
margin-left: 0;
|
13
|
+
width: 1.2em;
|
11
14
|
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
+
&.github-button {
|
16
|
+
margin-left: 5em;
|
17
|
+
}
|
15
18
|
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
+
.neo-button-glyph {
|
20
|
+
font-size: 24px;
|
21
|
+
}
|
22
|
+
}
|
19
23
|
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
+
.neo-button-glyph {
|
25
|
+
&.neo-logo-blue {
|
26
|
+
background-image: url("../../../../../../../resources/images/Neo_Logo_Blue.svg");
|
27
|
+
height: 24px;
|
28
|
+
width: 24px;
|
29
|
+
}
|
24
30
|
}
|
31
|
+
}
|
32
|
+
|
33
|
+
.separate-bar {
|
34
|
+
position: absolute;
|
35
|
+
right: 20px;
|
36
|
+
top: 60px;
|
37
|
+
width: 40px;
|
38
|
+
|
39
|
+
z-index: 9;
|
40
|
+
transform: rotate(0);
|
41
|
+
animation: fade-in-animation 200ms linear;
|
42
|
+
}
|
43
|
+
|
44
|
+
// find parallel class hide-sidebar
|
45
|
+
&:has(+div .hide-sidebar) .separate-bar {
|
46
|
+
animation: fade-animation 200ms linear forwards;
|
47
|
+
}
|
48
|
+
}
|
49
|
+
|
50
|
+
.vector {
|
51
|
+
animation: fade-and-scale-animation auto linear;
|
52
|
+
animation-timeline: --page-scroll;
|
53
|
+
}
|
54
|
+
|
55
|
+
//@scroll-timeline --page-scroll {
|
56
|
+
// source: auto;
|
57
|
+
// orientation: vertical;
|
58
|
+
// scroll-offsets: 0%, 100%;
|
59
|
+
//}
|
60
|
+
|
61
|
+
|
62
|
+
/* Style and position the progress bar */
|
63
|
+
#progress {
|
64
|
+
position: fixed;
|
65
|
+
z-index: 1000;
|
66
|
+
top: 0;
|
67
|
+
height: 2px;
|
68
|
+
width: 100%;
|
69
|
+
background: var(--button-background-color);
|
70
|
+
background: var(--sem-color-surface-primary-background);
|
71
|
+
|
72
|
+
scale: 0 1;
|
73
|
+
transform-origin: left;
|
74
|
+
|
75
|
+
/* Attach the animation using an anonymous Scroll Progress Timeline */
|
76
|
+
animation: grow-progress linear;
|
77
|
+
animation-timeline: --page-scroll;
|
78
|
+
}
|
79
|
+
|
80
|
+
@keyframes grow-progress {
|
81
|
+
to { scale: 1 1; }
|
82
|
+
}
|
83
|
+
|
84
|
+
.hello-world {
|
85
|
+
animation-timeline: view(block 100% -500%);
|
86
|
+
|
87
|
+
animation-name: appear-animation;
|
88
|
+
animation-fill-mode: both;
|
89
|
+
animation-duration: 1ms; /* Firefox requires this to apply the animation */
|
90
|
+
animation-timing-function: linear;
|
91
|
+
}
|
92
|
+
|
93
|
+
@keyframes appear-animation {
|
94
|
+
0% {
|
95
|
+
transform: translateX(-400%);
|
96
|
+
opacity: 0;
|
97
|
+
}
|
98
|
+
90% {
|
99
|
+
opacity: .3;
|
100
|
+
}
|
101
|
+
100% {
|
102
|
+
transform: translateX(0);
|
103
|
+
opacity: 1;
|
104
|
+
}
|
105
|
+
}
|
106
|
+
|
107
|
+
.cool-stuff {
|
108
|
+
animation-timeline: view(block 100% -500%);
|
109
|
+
|
110
|
+
animation-name: appear-cool-stuff;
|
111
|
+
animation-fill-mode: both;
|
112
|
+
animation-duration: 1ms; /* Firefox requires this to apply the animation */
|
113
|
+
animation-timing-function: linear;
|
114
|
+
}
|
115
|
+
|
116
|
+
@keyframes appear-cool-stuff {
|
117
|
+
0% {
|
118
|
+
transform: translateX(400%);
|
119
|
+
opacity: 0;
|
120
|
+
}
|
121
|
+
90% {
|
122
|
+
opacity: .3;
|
123
|
+
}
|
124
|
+
100% {
|
125
|
+
transform: translateX(0);
|
126
|
+
opacity: 1;
|
127
|
+
}
|
128
|
+
}
|
129
|
+
|
130
|
+
|
131
|
+
//.page {
|
132
|
+
// scroll-timeline: --page block;
|
133
|
+
//}
|
134
|
+
|
135
|
+
.portal-home-maincontainer {
|
136
|
+
scroll-timeline: --page-scroll block;
|
137
|
+
}
|
138
|
+
|
139
|
+
@keyframes rotateAnimation {
|
140
|
+
from { transform: rotate(0deg); }
|
141
|
+
to { transform: rotate(360deg); }
|
142
|
+
}
|
143
|
+
|
144
|
+
@keyframes fade-and-scale-animation {
|
145
|
+
0% {
|
146
|
+
opacity: 1;
|
147
|
+
transform: scale(1);
|
148
|
+
}
|
149
|
+
12%, 100% {
|
150
|
+
opacity: 0;
|
151
|
+
transform: scale(1.5);
|
152
|
+
}
|
153
|
+
}
|
154
|
+
|
155
|
+
@keyframes fade-in-animation {
|
156
|
+
from { opacity: 0; right: -10px}
|
157
|
+
to { opacity: 1; right: 20px;}
|
158
|
+
}
|
159
|
+
@keyframes fade-animation {
|
160
|
+
from { opacity: 1; right: 20px;}
|
161
|
+
to { opacity: 0; right: -10px}
|
162
|
+
}
|
163
|
+
|
164
|
+
.button-group {
|
165
|
+
overflow: visible;
|
166
|
+
}
|
167
|
+
|
168
|
+
.get-started-button {
|
169
|
+
opacity: 0;
|
170
|
+
animation: show-get-started-button 400ms 1300ms linear forwards;
|
171
|
+
}
|
172
|
+
|
173
|
+
.neo-github {
|
174
|
+
opacity: 0;
|
175
|
+
animation: show-github-button 600ms 1150ms linear forwards;
|
176
|
+
}
|
177
|
+
|
178
|
+
@keyframes show-get-started-button {
|
179
|
+
from {
|
180
|
+
opacity: 0;
|
181
|
+
transform: translate(70px, 30px);
|
182
|
+
}
|
183
|
+
to {
|
184
|
+
opacity: 1;
|
185
|
+
transform: translate(0, 0);
|
186
|
+
}
|
187
|
+
}
|
188
|
+
@keyframes show-github-button {
|
189
|
+
from {
|
190
|
+
opacity: 0;
|
191
|
+
transform: translate(-70px, 50px);
|
192
|
+
}
|
193
|
+
to {
|
194
|
+
opacity: 1;
|
195
|
+
transform: translate(0, 0);
|
196
|
+
}
|
25
197
|
}
|
@@ -1,24 +1,50 @@
|
|
1
|
-
.
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
}
|
1
|
+
.portal-home-maincontainer {
|
2
|
+
overflow-x : hidden!important;
|
3
|
+
scroll-behavior : smooth;
|
4
|
+
scroll-snap-type: y mandatory;
|
6
5
|
|
7
|
-
.
|
8
|
-
|
9
|
-
|
6
|
+
.page {
|
7
|
+
min-height : 100%;
|
8
|
+
scroll-snap-align: center;
|
10
9
|
|
11
|
-
.neo-h1 {
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
10
|
+
.neo-h1 {
|
11
|
+
font-size: min(max(5.5vw, 30px), 64px);
|
12
|
+
}
|
13
|
+
|
14
|
+
.neo-h2 {
|
15
|
+
font-size: min(max(3.5vw, 24px), 44px);
|
16
|
+
}
|
17
|
+
|
18
|
+
.neo-content {
|
19
|
+
font-size: min(max(2.3vw, 16px), 30px);
|
20
|
+
}
|
21
|
+
|
22
|
+
.page-live-preview {
|
23
|
+
margin: 0;
|
24
|
+
}
|
25
|
+
}
|
26
|
+
|
27
|
+
.button-group {
|
28
|
+
display : flex !important;
|
29
|
+
flex-direction: row-reverse !important;
|
30
|
+
gap : 8px !important;
|
31
|
+
}
|
32
|
+
|
33
|
+
.neo-h1 {
|
34
|
+
font-size : 32px;
|
35
|
+
font-weight : 600;
|
36
|
+
text-align : center;
|
37
|
+
margin-bottom: 1.25em;
|
38
|
+
}
|
16
39
|
|
17
|
-
.vector {
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
40
|
+
.vector {
|
41
|
+
background-image : url("../../../../../../../resources/images/Neo_Logo_Text.svg");
|
42
|
+
background-position: center center;
|
43
|
+
background-repeat : no-repeat;
|
44
|
+
background-size : contain;
|
45
|
+
height : 10vW;
|
46
|
+
margin : 0 0 3rem 0;
|
47
|
+
max-height : 130px;
|
48
|
+
width : 100%;
|
49
|
+
}
|
24
50
|
}
|