reset-framework-cli 1.2.0 → 1.2.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/LICENSE +20 -20
- package/README.md +19 -19
- package/package.json +8 -6
- package/src/commands/build.js +91 -73
- package/src/commands/dev.js +143 -122
- package/src/commands/doctor.js +61 -54
- package/src/commands/init.js +946 -866
- package/src/commands/package.js +68 -68
- package/src/index.js +195 -195
- package/src/lib/backend.js +123 -0
- package/src/lib/context.js +66 -66
- package/src/lib/framework.js +57 -57
- package/src/lib/logger.js +11 -11
- package/src/lib/output.js +251 -236
- package/src/lib/process.js +303 -303
- package/src/lib/project.js +531 -494
- package/src/lib/toolchain.js +62 -62
- package/src/lib/ui.js +244 -244
- package/templates/basic/README.md +15 -15
- package/templates/basic/frontend/README.md +73 -73
- package/templates/basic/frontend/eslint.config.js +23 -23
- package/templates/basic/frontend/index.html +13 -13
- package/templates/basic/frontend/package.json +31 -31
- package/templates/basic/frontend/public/icons.svg +24 -24
- package/templates/basic/frontend/src/App.css +216 -216
- package/templates/basic/frontend/src/App.tsx +77 -77
- package/templates/basic/frontend/src/assets/vite.svg +1 -1
- package/templates/basic/frontend/src/index.css +111 -111
- package/templates/basic/frontend/src/lib/reset.ts +1 -1
- package/templates/basic/frontend/src/main.tsx +10 -10
- package/templates/basic/frontend/tsconfig.app.json +28 -28
- package/templates/basic/frontend/tsconfig.json +7 -7
- package/templates/basic/frontend/tsconfig.node.json +26 -26
- package/templates/basic/frontend/vite.config.ts +16 -16
- package/templates/basic/reset.config.json +58 -58
|
@@ -1,216 +1,216 @@
|
|
|
1
|
-
.reset-premium-container {
|
|
2
|
-
min-height: 100svh;
|
|
3
|
-
display: flex;
|
|
4
|
-
flex-direction: column;
|
|
5
|
-
align-items: center;
|
|
6
|
-
justify-content: center;
|
|
7
|
-
padding: 2rem;
|
|
8
|
-
position: relative;
|
|
9
|
-
overflow: hidden;
|
|
10
|
-
background-color: var(--bg);
|
|
11
|
-
opacity: 0;
|
|
12
|
-
transition: opacity 0.8s filter 0.8s cubic-bezier(0.16, 1, 0.3, 1);
|
|
13
|
-
filter: blur(10px);
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
.reset-premium-container.loaded {
|
|
17
|
-
opacity: 1;
|
|
18
|
-
filter: blur(0);
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
.ambient-glow {
|
|
22
|
-
position: absolute;
|
|
23
|
-
top: -20vh;
|
|
24
|
-
left: 50%;
|
|
25
|
-
transform: translateX(-50%);
|
|
26
|
-
width: 60vw;
|
|
27
|
-
height: 60vw;
|
|
28
|
-
background: radial-gradient(circle, var(--accent-bg) 0%, transparent 60%);
|
|
29
|
-
opacity: 0.6;
|
|
30
|
-
z-index: 0;
|
|
31
|
-
pointer-events: none;
|
|
32
|
-
filter: blur(40px);
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
.content {
|
|
36
|
-
position: relative;
|
|
37
|
-
z-index: 1;
|
|
38
|
-
max-width: 800px;
|
|
39
|
-
text-align: center;
|
|
40
|
-
display: flex;
|
|
41
|
-
flex-direction: column;
|
|
42
|
-
align-items: center;
|
|
43
|
-
animation: float-up 1s cubic-bezier(0.16, 1, 0.3, 1) forwards;
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
.status-pill {
|
|
47
|
-
display: inline-flex;
|
|
48
|
-
align-items: center;
|
|
49
|
-
gap: 8px;
|
|
50
|
-
padding: 6px 16px;
|
|
51
|
-
border-radius: 9999px;
|
|
52
|
-
background: rgba(255, 255, 255, 0.03);
|
|
53
|
-
backdrop-filter: blur(10px);
|
|
54
|
-
border: 1px solid var(--border);
|
|
55
|
-
color: var(--text-h);
|
|
56
|
-
font-size: 0.85rem;
|
|
57
|
-
font-weight: 500;
|
|
58
|
-
letter-spacing: 0.3px;
|
|
59
|
-
margin-bottom: 2.5rem;
|
|
60
|
-
box-shadow: 0 4px 24px rgba(0, 0, 0, 0.04);
|
|
61
|
-
transition: transform 0.3s ease, box-shadow 0.3s ease;
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
.status-pill:hover {
|
|
65
|
-
transform: translateY(-1px);
|
|
66
|
-
box-shadow: 0 6px 32px rgba(0, 0, 0, 0.08);
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
.status-dot {
|
|
70
|
-
width: 8px;
|
|
71
|
-
height: 8px;
|
|
72
|
-
border-radius: 50%;
|
|
73
|
-
background-color: var(--accent);
|
|
74
|
-
box-shadow: 0 0 12px var(--accent);
|
|
75
|
-
animation: pulse 2s infinite ease-in-out;
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
.hero-title {
|
|
79
|
-
font-size: 5rem;
|
|
80
|
-
line-height: 1.1;
|
|
81
|
-
margin: 0 0 1.5rem 0;
|
|
82
|
-
letter-spacing: -0.05em;
|
|
83
|
-
font-weight: 700;
|
|
84
|
-
color: var(--text-h);
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
.hero-title span {
|
|
88
|
-
display: inline-block;
|
|
89
|
-
background: linear-gradient(135deg, var(--text-h) 0%, var(--text) 100%);
|
|
90
|
-
-webkit-background-clip: text;
|
|
91
|
-
-webkit-text-fill-color: transparent;
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
.hero-title .text-dim {
|
|
95
|
-
background: linear-gradient(135deg, var(--text) 0%, rgba(100,100,100,0.5) 100%);
|
|
96
|
-
-webkit-background-clip: text;
|
|
97
|
-
-webkit-text-fill-color: transparent;
|
|
98
|
-
opacity: 0.8;
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
.hero-subtitle {
|
|
102
|
-
font-size: 1.15rem;
|
|
103
|
-
color: var(--text);
|
|
104
|
-
margin: 0 auto 3.5rem auto;
|
|
105
|
-
line-height: 1.6;
|
|
106
|
-
max-width: 500px;
|
|
107
|
-
font-weight: 400;
|
|
108
|
-
letter-spacing: -0.01em;
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
.button-group {
|
|
112
|
-
display: flex;
|
|
113
|
-
gap: 1.25rem;
|
|
114
|
-
margin-bottom: 3.5rem;
|
|
115
|
-
}
|
|
116
|
-
|
|
117
|
-
.btn-primary, .btn-secondary {
|
|
118
|
-
padding: 0.8rem 1.8rem;
|
|
119
|
-
border-radius: 12px;
|
|
120
|
-
font-size: 0.95rem;
|
|
121
|
-
font-weight: 500;
|
|
122
|
-
cursor: pointer;
|
|
123
|
-
transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
|
|
124
|
-
font-family: inherit;
|
|
125
|
-
text-decoration: none;
|
|
126
|
-
display: inline-flex;
|
|
127
|
-
align-items: center;
|
|
128
|
-
justify-content: center;
|
|
129
|
-
}
|
|
130
|
-
|
|
131
|
-
.btn-primary {
|
|
132
|
-
background: var(--text-h);
|
|
133
|
-
color: var(--bg);
|
|
134
|
-
border: 1px solid transparent;
|
|
135
|
-
box-shadow: 0 8px 24px rgba(0, 0, 0, 0.1);
|
|
136
|
-
}
|
|
137
|
-
|
|
138
|
-
.btn-primary:hover {
|
|
139
|
-
transform: translateY(-2px);
|
|
140
|
-
box-shadow: 0 12px 32px rgba(0, 0, 0, 0.15);
|
|
141
|
-
background: var(--text);
|
|
142
|
-
}
|
|
143
|
-
|
|
144
|
-
.btn-primary:active {
|
|
145
|
-
transform: translateY(0);
|
|
146
|
-
}
|
|
147
|
-
|
|
148
|
-
.btn-secondary {
|
|
149
|
-
background: rgba(255, 255, 255, 0.02);
|
|
150
|
-
color: var(--text-h);
|
|
151
|
-
border: 1px solid var(--border);
|
|
152
|
-
backdrop-filter: blur(10px);
|
|
153
|
-
}
|
|
154
|
-
|
|
155
|
-
.btn-secondary:hover {
|
|
156
|
-
background: var(--code-bg);
|
|
157
|
-
border-color: var(--text);
|
|
158
|
-
transform: translateY(-2px);
|
|
159
|
-
}
|
|
160
|
-
|
|
161
|
-
.btn-secondary:active {
|
|
162
|
-
transform: translateY(0);
|
|
163
|
-
}
|
|
164
|
-
|
|
165
|
-
.code-snippet-box {
|
|
166
|
-
padding: 1rem 1.75rem;
|
|
167
|
-
border-radius: 12px;
|
|
168
|
-
background: rgba(0, 0, 0, 0.02);
|
|
169
|
-
border: 1px solid var(--border);
|
|
170
|
-
backdrop-filter: blur(20px);
|
|
171
|
-
transition: all 0.3s ease;
|
|
172
|
-
}
|
|
173
|
-
|
|
174
|
-
@media (prefers-color-scheme: dark) {
|
|
175
|
-
.code-snippet-box {
|
|
176
|
-
background: rgba(255, 255, 255, 0.02);
|
|
177
|
-
}
|
|
178
|
-
}
|
|
179
|
-
|
|
180
|
-
.code-snippet-box:hover {
|
|
181
|
-
border-color: var(--text);
|
|
182
|
-
box-shadow: 0 8px 32px rgba(0, 0, 0, 0.05);
|
|
183
|
-
}
|
|
184
|
-
|
|
185
|
-
.code-snippet-box code {
|
|
186
|
-
background: transparent;
|
|
187
|
-
padding: 0;
|
|
188
|
-
font-family: var(--mono);
|
|
189
|
-
font-size: 0.9rem;
|
|
190
|
-
color: var(--text-h);
|
|
191
|
-
letter-spacing: 0px;
|
|
192
|
-
}
|
|
193
|
-
|
|
194
|
-
.code-prompt {
|
|
195
|
-
color: var(--accent);
|
|
196
|
-
margin-right: 0.5rem;
|
|
197
|
-
user-select: none;
|
|
198
|
-
}
|
|
199
|
-
|
|
200
|
-
@keyframes float-up {
|
|
201
|
-
from { opacity: 0; transform: translateY(20px); }
|
|
202
|
-
to { opacity: 1; transform: translateY(0); }
|
|
203
|
-
}
|
|
204
|
-
|
|
205
|
-
@keyframes pulse {
|
|
206
|
-
0% { opacity: 0.6; transform: scale(0.95); }
|
|
207
|
-
50% { opacity: 1; transform: scale(1.05); }
|
|
208
|
-
100% { opacity: 0.6; transform: scale(0.95); }
|
|
209
|
-
}
|
|
210
|
-
|
|
211
|
-
@media (max-width: 768px) {
|
|
212
|
-
.hero-title { font-size: 3.5rem; }
|
|
213
|
-
.button-group { flex-direction: column; width: 100%; max-width: 280px; }
|
|
214
|
-
.btn-primary, .btn-secondary { width: 100%; }
|
|
215
|
-
}
|
|
216
|
-
|
|
1
|
+
.reset-premium-container {
|
|
2
|
+
min-height: 100svh;
|
|
3
|
+
display: flex;
|
|
4
|
+
flex-direction: column;
|
|
5
|
+
align-items: center;
|
|
6
|
+
justify-content: center;
|
|
7
|
+
padding: 2rem;
|
|
8
|
+
position: relative;
|
|
9
|
+
overflow: hidden;
|
|
10
|
+
background-color: var(--bg);
|
|
11
|
+
opacity: 0;
|
|
12
|
+
transition: opacity 0.8s filter 0.8s cubic-bezier(0.16, 1, 0.3, 1);
|
|
13
|
+
filter: blur(10px);
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
.reset-premium-container.loaded {
|
|
17
|
+
opacity: 1;
|
|
18
|
+
filter: blur(0);
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
.ambient-glow {
|
|
22
|
+
position: absolute;
|
|
23
|
+
top: -20vh;
|
|
24
|
+
left: 50%;
|
|
25
|
+
transform: translateX(-50%);
|
|
26
|
+
width: 60vw;
|
|
27
|
+
height: 60vw;
|
|
28
|
+
background: radial-gradient(circle, var(--accent-bg) 0%, transparent 60%);
|
|
29
|
+
opacity: 0.6;
|
|
30
|
+
z-index: 0;
|
|
31
|
+
pointer-events: none;
|
|
32
|
+
filter: blur(40px);
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
.content {
|
|
36
|
+
position: relative;
|
|
37
|
+
z-index: 1;
|
|
38
|
+
max-width: 800px;
|
|
39
|
+
text-align: center;
|
|
40
|
+
display: flex;
|
|
41
|
+
flex-direction: column;
|
|
42
|
+
align-items: center;
|
|
43
|
+
animation: float-up 1s cubic-bezier(0.16, 1, 0.3, 1) forwards;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
.status-pill {
|
|
47
|
+
display: inline-flex;
|
|
48
|
+
align-items: center;
|
|
49
|
+
gap: 8px;
|
|
50
|
+
padding: 6px 16px;
|
|
51
|
+
border-radius: 9999px;
|
|
52
|
+
background: rgba(255, 255, 255, 0.03);
|
|
53
|
+
backdrop-filter: blur(10px);
|
|
54
|
+
border: 1px solid var(--border);
|
|
55
|
+
color: var(--text-h);
|
|
56
|
+
font-size: 0.85rem;
|
|
57
|
+
font-weight: 500;
|
|
58
|
+
letter-spacing: 0.3px;
|
|
59
|
+
margin-bottom: 2.5rem;
|
|
60
|
+
box-shadow: 0 4px 24px rgba(0, 0, 0, 0.04);
|
|
61
|
+
transition: transform 0.3s ease, box-shadow 0.3s ease;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
.status-pill:hover {
|
|
65
|
+
transform: translateY(-1px);
|
|
66
|
+
box-shadow: 0 6px 32px rgba(0, 0, 0, 0.08);
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
.status-dot {
|
|
70
|
+
width: 8px;
|
|
71
|
+
height: 8px;
|
|
72
|
+
border-radius: 50%;
|
|
73
|
+
background-color: var(--accent);
|
|
74
|
+
box-shadow: 0 0 12px var(--accent);
|
|
75
|
+
animation: pulse 2s infinite ease-in-out;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
.hero-title {
|
|
79
|
+
font-size: 5rem;
|
|
80
|
+
line-height: 1.1;
|
|
81
|
+
margin: 0 0 1.5rem 0;
|
|
82
|
+
letter-spacing: -0.05em;
|
|
83
|
+
font-weight: 700;
|
|
84
|
+
color: var(--text-h);
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
.hero-title span {
|
|
88
|
+
display: inline-block;
|
|
89
|
+
background: linear-gradient(135deg, var(--text-h) 0%, var(--text) 100%);
|
|
90
|
+
-webkit-background-clip: text;
|
|
91
|
+
-webkit-text-fill-color: transparent;
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
.hero-title .text-dim {
|
|
95
|
+
background: linear-gradient(135deg, var(--text) 0%, rgba(100,100,100,0.5) 100%);
|
|
96
|
+
-webkit-background-clip: text;
|
|
97
|
+
-webkit-text-fill-color: transparent;
|
|
98
|
+
opacity: 0.8;
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
.hero-subtitle {
|
|
102
|
+
font-size: 1.15rem;
|
|
103
|
+
color: var(--text);
|
|
104
|
+
margin: 0 auto 3.5rem auto;
|
|
105
|
+
line-height: 1.6;
|
|
106
|
+
max-width: 500px;
|
|
107
|
+
font-weight: 400;
|
|
108
|
+
letter-spacing: -0.01em;
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
.button-group {
|
|
112
|
+
display: flex;
|
|
113
|
+
gap: 1.25rem;
|
|
114
|
+
margin-bottom: 3.5rem;
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
.btn-primary, .btn-secondary {
|
|
118
|
+
padding: 0.8rem 1.8rem;
|
|
119
|
+
border-radius: 12px;
|
|
120
|
+
font-size: 0.95rem;
|
|
121
|
+
font-weight: 500;
|
|
122
|
+
cursor: pointer;
|
|
123
|
+
transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
|
|
124
|
+
font-family: inherit;
|
|
125
|
+
text-decoration: none;
|
|
126
|
+
display: inline-flex;
|
|
127
|
+
align-items: center;
|
|
128
|
+
justify-content: center;
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
.btn-primary {
|
|
132
|
+
background: var(--text-h);
|
|
133
|
+
color: var(--bg);
|
|
134
|
+
border: 1px solid transparent;
|
|
135
|
+
box-shadow: 0 8px 24px rgba(0, 0, 0, 0.1);
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
.btn-primary:hover {
|
|
139
|
+
transform: translateY(-2px);
|
|
140
|
+
box-shadow: 0 12px 32px rgba(0, 0, 0, 0.15);
|
|
141
|
+
background: var(--text);
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
.btn-primary:active {
|
|
145
|
+
transform: translateY(0);
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
.btn-secondary {
|
|
149
|
+
background: rgba(255, 255, 255, 0.02);
|
|
150
|
+
color: var(--text-h);
|
|
151
|
+
border: 1px solid var(--border);
|
|
152
|
+
backdrop-filter: blur(10px);
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
.btn-secondary:hover {
|
|
156
|
+
background: var(--code-bg);
|
|
157
|
+
border-color: var(--text);
|
|
158
|
+
transform: translateY(-2px);
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
.btn-secondary:active {
|
|
162
|
+
transform: translateY(0);
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
.code-snippet-box {
|
|
166
|
+
padding: 1rem 1.75rem;
|
|
167
|
+
border-radius: 12px;
|
|
168
|
+
background: rgba(0, 0, 0, 0.02);
|
|
169
|
+
border: 1px solid var(--border);
|
|
170
|
+
backdrop-filter: blur(20px);
|
|
171
|
+
transition: all 0.3s ease;
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
@media (prefers-color-scheme: dark) {
|
|
175
|
+
.code-snippet-box {
|
|
176
|
+
background: rgba(255, 255, 255, 0.02);
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
.code-snippet-box:hover {
|
|
181
|
+
border-color: var(--text);
|
|
182
|
+
box-shadow: 0 8px 32px rgba(0, 0, 0, 0.05);
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
.code-snippet-box code {
|
|
186
|
+
background: transparent;
|
|
187
|
+
padding: 0;
|
|
188
|
+
font-family: var(--mono);
|
|
189
|
+
font-size: 0.9rem;
|
|
190
|
+
color: var(--text-h);
|
|
191
|
+
letter-spacing: 0px;
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
.code-prompt {
|
|
195
|
+
color: var(--accent);
|
|
196
|
+
margin-right: 0.5rem;
|
|
197
|
+
user-select: none;
|
|
198
|
+
}
|
|
199
|
+
|
|
200
|
+
@keyframes float-up {
|
|
201
|
+
from { opacity: 0; transform: translateY(20px); }
|
|
202
|
+
to { opacity: 1; transform: translateY(0); }
|
|
203
|
+
}
|
|
204
|
+
|
|
205
|
+
@keyframes pulse {
|
|
206
|
+
0% { opacity: 0.6; transform: scale(0.95); }
|
|
207
|
+
50% { opacity: 1; transform: scale(1.05); }
|
|
208
|
+
100% { opacity: 0.6; transform: scale(0.95); }
|
|
209
|
+
}
|
|
210
|
+
|
|
211
|
+
@media (max-width: 768px) {
|
|
212
|
+
.hero-title { font-size: 3.5rem; }
|
|
213
|
+
.button-group { flex-direction: column; width: 100%; max-width: 280px; }
|
|
214
|
+
.btn-primary, .btn-secondary { width: 100%; }
|
|
215
|
+
}
|
|
216
|
+
|
|
@@ -1,77 +1,77 @@
|
|
|
1
|
-
import { useEffect, useState } from 'react'
|
|
2
|
-
import './App.css'
|
|
3
|
-
import { reset } from './lib/reset'
|
|
4
|
-
|
|
5
|
-
function App() {
|
|
6
|
-
const [count, setCount] = useState(0)
|
|
7
|
-
const [appInfo, setAppInfo] = useState({ name: 'Reset App', version: '0.0.0' })
|
|
8
|
-
const [runtimeInfo, setRuntimeInfo] = useState({ platform: 'unknown', bridge: '1' })
|
|
9
|
-
const [isLoaded, setIsLoaded] = useState(false)
|
|
10
|
-
|
|
11
|
-
useEffect(() => {
|
|
12
|
-
let cancelled = false
|
|
13
|
-
|
|
14
|
-
async function loadRuntimeInfo() {
|
|
15
|
-
try {
|
|
16
|
-
const [app, runtime] = await Promise.all([
|
|
17
|
-
reset.app.getInfo(),
|
|
18
|
-
reset.runtime.getInfo(),
|
|
19
|
-
])
|
|
20
|
-
|
|
21
|
-
if (cancelled) return
|
|
22
|
-
|
|
23
|
-
setAppInfo({ name: app.name, version: app.version })
|
|
24
|
-
setRuntimeInfo({ platform: runtime.platform, bridge: runtime.bridgeVersion })
|
|
25
|
-
setIsLoaded(true)
|
|
26
|
-
} catch (error) {
|
|
27
|
-
console.error('Failed to load runtime info', error)
|
|
28
|
-
setIsLoaded(true)
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
loadRuntimeInfo()
|
|
33
|
-
|
|
34
|
-
return () => {
|
|
35
|
-
cancelled = true
|
|
36
|
-
}
|
|
37
|
-
}, [])
|
|
38
|
-
|
|
39
|
-
return (
|
|
40
|
-
<div className={`reset-premium-container ${isLoaded ? 'loaded' : ''}`}>
|
|
41
|
-
<div className="ambient-glow" />
|
|
42
|
-
|
|
43
|
-
<main className="content">
|
|
44
|
-
<div className="status-pill">
|
|
45
|
-
<div className="status-dot" />
|
|
46
|
-
<span>{appInfo.name} v{appInfo.version} — {runtimeInfo.platform}</span>
|
|
47
|
-
</div>
|
|
48
|
-
|
|
49
|
-
<h1 className="hero-title">
|
|
50
|
-
<span>Native performance.</span><br />
|
|
51
|
-
<span className="text-dim">Web experience.</span>
|
|
52
|
-
</h1>
|
|
53
|
-
|
|
54
|
-
<p className="hero-subtitle">
|
|
55
|
-
A radically lightweight desktop runtime. <br/>
|
|
56
|
-
Drop the heavy Chromium baggage and build with the tools you already know.
|
|
57
|
-
</p>
|
|
58
|
-
|
|
59
|
-
<div className="button-group">
|
|
60
|
-
<button className="btn-primary" onClick={() => setCount(c => c + 1)}>
|
|
61
|
-
Clicked {count} times
|
|
62
|
-
</button>
|
|
63
|
-
<a href="https://github.com/reset-framework" target="_blank" rel="noreferrer" className="btn-secondary">
|
|
64
|
-
View Documentation
|
|
65
|
-
</a>
|
|
66
|
-
</div>
|
|
67
|
-
|
|
68
|
-
<div className="code-snippet-box">
|
|
69
|
-
<code><span className="code-prompt">$</span> reset-framework-cli dev</code>
|
|
70
|
-
</div>
|
|
71
|
-
</main>
|
|
72
|
-
</div>
|
|
73
|
-
)
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
export default App
|
|
77
|
-
|
|
1
|
+
import { useEffect, useState } from 'react'
|
|
2
|
+
import './App.css'
|
|
3
|
+
import { reset } from './lib/reset'
|
|
4
|
+
|
|
5
|
+
function App() {
|
|
6
|
+
const [count, setCount] = useState(0)
|
|
7
|
+
const [appInfo, setAppInfo] = useState({ name: 'Reset App', version: '0.0.0' })
|
|
8
|
+
const [runtimeInfo, setRuntimeInfo] = useState({ platform: 'unknown', bridge: '1' })
|
|
9
|
+
const [isLoaded, setIsLoaded] = useState(false)
|
|
10
|
+
|
|
11
|
+
useEffect(() => {
|
|
12
|
+
let cancelled = false
|
|
13
|
+
|
|
14
|
+
async function loadRuntimeInfo() {
|
|
15
|
+
try {
|
|
16
|
+
const [app, runtime] = await Promise.all([
|
|
17
|
+
reset.app.getInfo(),
|
|
18
|
+
reset.runtime.getInfo(),
|
|
19
|
+
])
|
|
20
|
+
|
|
21
|
+
if (cancelled) return
|
|
22
|
+
|
|
23
|
+
setAppInfo({ name: app.name, version: app.version })
|
|
24
|
+
setRuntimeInfo({ platform: runtime.platform, bridge: runtime.bridgeVersion })
|
|
25
|
+
setIsLoaded(true)
|
|
26
|
+
} catch (error) {
|
|
27
|
+
console.error('Failed to load runtime info', error)
|
|
28
|
+
setIsLoaded(true)
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
loadRuntimeInfo()
|
|
33
|
+
|
|
34
|
+
return () => {
|
|
35
|
+
cancelled = true
|
|
36
|
+
}
|
|
37
|
+
}, [])
|
|
38
|
+
|
|
39
|
+
return (
|
|
40
|
+
<div className={`reset-premium-container ${isLoaded ? 'loaded' : ''}`}>
|
|
41
|
+
<div className="ambient-glow" />
|
|
42
|
+
|
|
43
|
+
<main className="content">
|
|
44
|
+
<div className="status-pill">
|
|
45
|
+
<div className="status-dot" />
|
|
46
|
+
<span>{appInfo.name} v{appInfo.version} — {runtimeInfo.platform}</span>
|
|
47
|
+
</div>
|
|
48
|
+
|
|
49
|
+
<h1 className="hero-title">
|
|
50
|
+
<span>Native performance.</span><br />
|
|
51
|
+
<span className="text-dim">Web experience.</span>
|
|
52
|
+
</h1>
|
|
53
|
+
|
|
54
|
+
<p className="hero-subtitle">
|
|
55
|
+
A radically lightweight desktop runtime. <br/>
|
|
56
|
+
Drop the heavy Chromium baggage and build with the tools you already know.
|
|
57
|
+
</p>
|
|
58
|
+
|
|
59
|
+
<div className="button-group">
|
|
60
|
+
<button className="btn-primary" onClick={() => setCount(c => c + 1)}>
|
|
61
|
+
Clicked {count} times
|
|
62
|
+
</button>
|
|
63
|
+
<a href="https://github.com/reset-framework" target="_blank" rel="noreferrer" className="btn-secondary">
|
|
64
|
+
View Documentation
|
|
65
|
+
</a>
|
|
66
|
+
</div>
|
|
67
|
+
|
|
68
|
+
<div className="code-snippet-box">
|
|
69
|
+
<code><span className="code-prompt">$</span> reset-framework-cli dev</code>
|
|
70
|
+
</div>
|
|
71
|
+
</main>
|
|
72
|
+
</div>
|
|
73
|
+
)
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
export default App
|
|
77
|
+
|
|
@@ -1 +1 @@
|
|
|
1
|
-
<svg xmlns="http://www.w3.org/2000/svg" width="77" height="47" fill="none" aria-labelledby="vite-logo-title" viewBox="0 0 77 47"><title id="vite-logo-title">Vite</title><style>.parenthesis{fill:#000}@media (prefers-color-scheme:dark){.parenthesis{fill:#fff}}</style><path fill="#9135ff" d="M40.151 45.71c-.663.844-2.02.374-2.02-.699V34.708a2.26 2.26 0 0 0-2.262-2.262H24.493c-.92 0-1.457-1.04-.92-1.788l7.479-10.471c1.07-1.498 0-3.578-1.842-3.578H15.443c-.92 0-1.456-1.04-.92-1.788l9.696-13.576c.213-.297.556-.474.92-.474h28.894c.92 0 1.456 1.04.92 1.788l-7.48 10.472c-1.07 1.497 0 3.578 1.842 3.578h11.376c.944 0 1.474 1.087.89 1.83L40.153 45.712z"/><mask id="a" width="48" height="47" x="14" y="0" maskUnits="userSpaceOnUse" style="mask-type:alpha"><path fill="#000" d="M40.047 45.71c-.663.843-2.02.374-2.02-.699V34.708a2.26 2.26 0 0 0-2.262-2.262H24.389c-.92 0-1.457-1.04-.92-1.788l7.479-10.472c1.07-1.497 0-3.578-1.842-3.578H15.34c-.92 0-1.456-1.04-.92-1.788l9.696-13.575c.213-.297.556-.474.92-.474H53.93c.92 0 1.456 1.04.92 1.788L47.37 13.03c-1.07 1.498 0 3.578 1.842 3.578h11.376c.944 0 1.474 1.088.89 1.831L40.049 45.712z"/></mask><g mask="url(#a)"><g filter="url(#b)"><ellipse cx="5.508" cy="14.704" fill="#eee6ff" rx="5.508" ry="14.704" transform="rotate(269.814 20.96 11.29)scale(-1 1)"/></g><g filter="url(#c)"><ellipse cx="10.399" cy="29.851" fill="#eee6ff" rx="10.399" ry="29.851" transform="rotate(89.814 -16.902 -8.275)scale(1 -1)"/></g><g filter="url(#d)"><ellipse cx="5.508" cy="30.487" fill="#8900ff" rx="5.508" ry="30.487" transform="rotate(89.814 -19.197 -7.127)scale(1 -1)"/></g><g filter="url(#e)"><ellipse cx="5.508" cy="30.599" fill="#8900ff" rx="5.508" ry="30.599" transform="rotate(89.814 -25.928 4.177)scale(1 -1)"/></g><g filter="url(#f)"><ellipse cx="5.508" cy="30.599" fill="#8900ff" rx="5.508" ry="30.599" transform="rotate(89.814 -25.738 5.52)scale(1 -1)"/></g><g filter="url(#g)"><ellipse cx="14.072" cy="22.078" fill="#eee6ff" rx="14.072" ry="22.078" transform="rotate(93.35 31.245 55.578)scale(-1 1)"/></g><g filter="url(#h)"><ellipse cx="3.47" cy="21.501" fill="#8900ff" rx="3.47" ry="21.501" transform="rotate(89.009 35.419 55.202)scale(-1 1)"/></g><g filter="url(#i)"><ellipse cx="3.47" cy="21.501" fill="#8900ff" rx="3.47" ry="21.501" transform="rotate(89.009 35.419 55.202)scale(-1 1)"/></g><g filter="url(#j)"><ellipse cx="14.592" cy="9.743" fill="#8900ff" rx="4.407" ry="29.108" transform="rotate(39.51 14.592 9.743)"/></g><g filter="url(#k)"><ellipse cx="61.728" cy="-5.321" fill="#8900ff" rx="4.407" ry="29.108" transform="rotate(37.892 61.728 -5.32)"/></g><g filter="url(#l)"><ellipse cx="55.618" cy="7.104" fill="#00c2ff" rx="5.971" ry="9.665" transform="rotate(37.892 55.618 7.104)"/></g><g filter="url(#m)"><ellipse cx="12.326" cy="39.103" fill="#8900ff" rx="4.407" ry="29.108" transform="rotate(37.892 12.326 39.103)"/></g><g filter="url(#n)"><ellipse cx="12.326" cy="39.103" fill="#8900ff" rx="4.407" ry="29.108" transform="rotate(37.892 12.326 39.103)"/></g><g filter="url(#o)"><ellipse cx="49.857" cy="30.678" fill="#8900ff" rx="4.407" ry="29.108" transform="rotate(37.892 49.857 30.678)"/></g><g filter="url(#p)"><ellipse cx="52.623" cy="33.171" fill="#00c2ff" rx="5.971" ry="15.297" transform="rotate(37.892 52.623 33.17)"/></g></g><path d="M6.919 0c-9.198 13.166-9.252 33.575 0 46.789h6.215c-9.25-13.214-9.196-33.623 0-46.789zm62.424 0h-6.215c9.198 13.166 9.252 33.575 0 46.789h6.215c9.25-13.214 9.196-33.623 0-46.789" class="parenthesis"/><defs><filter id="b" width="60.045" height="41.654" x="-5.564" y="16.92" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur result="effect1_foregroundBlur_2002_17286" stdDeviation="7.659"/></filter><filter id="c" width="90.34" height="51.437" x="-40.407" y="-6.762" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur result="effect1_foregroundBlur_2002_17286" stdDeviation="7.659"/></filter><filter id="d" width="79.355" height="29.4" x="-35.435" y="2.801" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur result="effect1_foregroundBlur_2002_17286" stdDeviation="4.596"/></filter><filter id="e" width="79.579" height="29.4" x="-30.84" y="20.8" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur result="effect1_foregroundBlur_2002_17286" stdDeviation="4.596"/></filter><filter id="f" width="79.579" height="29.4" x="-29.307" y="21.949" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur result="effect1_foregroundBlur_2002_17286" stdDeviation="4.596"/></filter><filter id="g" width="74.749" height="58.852" x="29.961" y="-17.13" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur result="effect1_foregroundBlur_2002_17286" stdDeviation="7.659"/></filter><filter id="h" width="61.377" height="25.362" x="37.754" y="3.055" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur result="effect1_foregroundBlur_2002_17286" stdDeviation="4.596"/></filter><filter id="i" width="61.377" height="25.362" x="37.754" y="3.055" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur result="effect1_foregroundBlur_2002_17286" stdDeviation="4.596"/></filter><filter id="j" width="56.045" height="63.649" x="-13.43" y="-22.082" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur result="effect1_foregroundBlur_2002_17286" stdDeviation="4.596"/></filter><filter id="k" width="54.814" height="64.646" x="34.321" y="-37.644" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur result="effect1_foregroundBlur_2002_17286" stdDeviation="4.596"/></filter><filter id="l" width="33.541" height="35.313" x="38.847" y="-10.552" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur result="effect1_foregroundBlur_2002_17286" stdDeviation="4.596"/></filter><filter id="m" width="54.814" height="64.646" x="-15.081" y="6.78" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur result="effect1_foregroundBlur_2002_17286" stdDeviation="4.596"/></filter><filter id="n" width="54.814" height="64.646" x="-15.081" y="6.78" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur result="effect1_foregroundBlur_2002_17286" stdDeviation="4.596"/></filter><filter id="o" width="54.814" height="64.646" x="22.45" y="-1.645" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur result="effect1_foregroundBlur_2002_17286" stdDeviation="4.596"/></filter><filter id="p" width="39.409" height="43.623" x="32.919" y="11.36" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur result="effect1_foregroundBlur_2002_17286" stdDeviation="4.596"/></filter></defs></svg>
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="77" height="47" fill="none" aria-labelledby="vite-logo-title" viewBox="0 0 77 47"><title id="vite-logo-title">Vite</title><style>.parenthesis{fill:#000}@media (prefers-color-scheme:dark){.parenthesis{fill:#fff}}</style><path fill="#9135ff" d="M40.151 45.71c-.663.844-2.02.374-2.02-.699V34.708a2.26 2.26 0 0 0-2.262-2.262H24.493c-.92 0-1.457-1.04-.92-1.788l7.479-10.471c1.07-1.498 0-3.578-1.842-3.578H15.443c-.92 0-1.456-1.04-.92-1.788l9.696-13.576c.213-.297.556-.474.92-.474h28.894c.92 0 1.456 1.04.92 1.788l-7.48 10.472c-1.07 1.497 0 3.578 1.842 3.578h11.376c.944 0 1.474 1.087.89 1.83L40.153 45.712z"/><mask id="a" width="48" height="47" x="14" y="0" maskUnits="userSpaceOnUse" style="mask-type:alpha"><path fill="#000" d="M40.047 45.71c-.663.843-2.02.374-2.02-.699V34.708a2.26 2.26 0 0 0-2.262-2.262H24.389c-.92 0-1.457-1.04-.92-1.788l7.479-10.472c1.07-1.497 0-3.578-1.842-3.578H15.34c-.92 0-1.456-1.04-.92-1.788l9.696-13.575c.213-.297.556-.474.92-.474H53.93c.92 0 1.456 1.04.92 1.788L47.37 13.03c-1.07 1.498 0 3.578 1.842 3.578h11.376c.944 0 1.474 1.088.89 1.831L40.049 45.712z"/></mask><g mask="url(#a)"><g filter="url(#b)"><ellipse cx="5.508" cy="14.704" fill="#eee6ff" rx="5.508" ry="14.704" transform="rotate(269.814 20.96 11.29)scale(-1 1)"/></g><g filter="url(#c)"><ellipse cx="10.399" cy="29.851" fill="#eee6ff" rx="10.399" ry="29.851" transform="rotate(89.814 -16.902 -8.275)scale(1 -1)"/></g><g filter="url(#d)"><ellipse cx="5.508" cy="30.487" fill="#8900ff" rx="5.508" ry="30.487" transform="rotate(89.814 -19.197 -7.127)scale(1 -1)"/></g><g filter="url(#e)"><ellipse cx="5.508" cy="30.599" fill="#8900ff" rx="5.508" ry="30.599" transform="rotate(89.814 -25.928 4.177)scale(1 -1)"/></g><g filter="url(#f)"><ellipse cx="5.508" cy="30.599" fill="#8900ff" rx="5.508" ry="30.599" transform="rotate(89.814 -25.738 5.52)scale(1 -1)"/></g><g filter="url(#g)"><ellipse cx="14.072" cy="22.078" fill="#eee6ff" rx="14.072" ry="22.078" transform="rotate(93.35 31.245 55.578)scale(-1 1)"/></g><g filter="url(#h)"><ellipse cx="3.47" cy="21.501" fill="#8900ff" rx="3.47" ry="21.501" transform="rotate(89.009 35.419 55.202)scale(-1 1)"/></g><g filter="url(#i)"><ellipse cx="3.47" cy="21.501" fill="#8900ff" rx="3.47" ry="21.501" transform="rotate(89.009 35.419 55.202)scale(-1 1)"/></g><g filter="url(#j)"><ellipse cx="14.592" cy="9.743" fill="#8900ff" rx="4.407" ry="29.108" transform="rotate(39.51 14.592 9.743)"/></g><g filter="url(#k)"><ellipse cx="61.728" cy="-5.321" fill="#8900ff" rx="4.407" ry="29.108" transform="rotate(37.892 61.728 -5.32)"/></g><g filter="url(#l)"><ellipse cx="55.618" cy="7.104" fill="#00c2ff" rx="5.971" ry="9.665" transform="rotate(37.892 55.618 7.104)"/></g><g filter="url(#m)"><ellipse cx="12.326" cy="39.103" fill="#8900ff" rx="4.407" ry="29.108" transform="rotate(37.892 12.326 39.103)"/></g><g filter="url(#n)"><ellipse cx="12.326" cy="39.103" fill="#8900ff" rx="4.407" ry="29.108" transform="rotate(37.892 12.326 39.103)"/></g><g filter="url(#o)"><ellipse cx="49.857" cy="30.678" fill="#8900ff" rx="4.407" ry="29.108" transform="rotate(37.892 49.857 30.678)"/></g><g filter="url(#p)"><ellipse cx="52.623" cy="33.171" fill="#00c2ff" rx="5.971" ry="15.297" transform="rotate(37.892 52.623 33.17)"/></g></g><path d="M6.919 0c-9.198 13.166-9.252 33.575 0 46.789h6.215c-9.25-13.214-9.196-33.623 0-46.789zm62.424 0h-6.215c9.198 13.166 9.252 33.575 0 46.789h6.215c9.25-13.214 9.196-33.623 0-46.789" class="parenthesis"/><defs><filter id="b" width="60.045" height="41.654" x="-5.564" y="16.92" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur result="effect1_foregroundBlur_2002_17286" stdDeviation="7.659"/></filter><filter id="c" width="90.34" height="51.437" x="-40.407" y="-6.762" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur result="effect1_foregroundBlur_2002_17286" stdDeviation="7.659"/></filter><filter id="d" width="79.355" height="29.4" x="-35.435" y="2.801" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur result="effect1_foregroundBlur_2002_17286" stdDeviation="4.596"/></filter><filter id="e" width="79.579" height="29.4" x="-30.84" y="20.8" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur result="effect1_foregroundBlur_2002_17286" stdDeviation="4.596"/></filter><filter id="f" width="79.579" height="29.4" x="-29.307" y="21.949" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur result="effect1_foregroundBlur_2002_17286" stdDeviation="4.596"/></filter><filter id="g" width="74.749" height="58.852" x="29.961" y="-17.13" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur result="effect1_foregroundBlur_2002_17286" stdDeviation="7.659"/></filter><filter id="h" width="61.377" height="25.362" x="37.754" y="3.055" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur result="effect1_foregroundBlur_2002_17286" stdDeviation="4.596"/></filter><filter id="i" width="61.377" height="25.362" x="37.754" y="3.055" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur result="effect1_foregroundBlur_2002_17286" stdDeviation="4.596"/></filter><filter id="j" width="56.045" height="63.649" x="-13.43" y="-22.082" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur result="effect1_foregroundBlur_2002_17286" stdDeviation="4.596"/></filter><filter id="k" width="54.814" height="64.646" x="34.321" y="-37.644" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur result="effect1_foregroundBlur_2002_17286" stdDeviation="4.596"/></filter><filter id="l" width="33.541" height="35.313" x="38.847" y="-10.552" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur result="effect1_foregroundBlur_2002_17286" stdDeviation="4.596"/></filter><filter id="m" width="54.814" height="64.646" x="-15.081" y="6.78" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur result="effect1_foregroundBlur_2002_17286" stdDeviation="4.596"/></filter><filter id="n" width="54.814" height="64.646" x="-15.081" y="6.78" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur result="effect1_foregroundBlur_2002_17286" stdDeviation="4.596"/></filter><filter id="o" width="54.814" height="64.646" x="22.45" y="-1.645" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur result="effect1_foregroundBlur_2002_17286" stdDeviation="4.596"/></filter><filter id="p" width="39.409" height="43.623" x="32.919" y="11.36" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur result="effect1_foregroundBlur_2002_17286" stdDeviation="4.596"/></filter></defs></svg>
|