create-flexireact 3.0.5 → 3.0.7
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/dist/templates/app-router.d.ts.map +1 -1
- package/dist/templates/app-router.js +75 -387
- package/dist/templates/app-router.js.map +1 -1
- package/dist/templates/default.d.ts.map +1 -1
- package/dist/templates/default.js +52 -26
- package/dist/templates/default.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app-router.d.ts","sourceRoot":"","sources":["../../src/templates/app-router.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,aAAa,
|
|
1
|
+
{"version":3,"file":"app-router.d.ts","sourceRoot":"","sources":["../../src/templates/app-router.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,aAAa,CA0UpE"}
|
|
@@ -131,363 +131,87 @@ const backedBy = [
|
|
|
131
131
|
{ name: 'FramLink', logo: 'F' },
|
|
132
132
|
];
|
|
133
133
|
|
|
134
|
+
const stats = [
|
|
135
|
+
{ label: 'Components', value: '50+' },
|
|
136
|
+
{ label: 'Bundle Size', value: '~90kb' },
|
|
137
|
+
{ label: 'Build Time', value: '<1s' },
|
|
138
|
+
{ label: 'Lighthouse', value: '100' },
|
|
139
|
+
];
|
|
140
|
+
|
|
134
141
|
export default function HomePage() {
|
|
135
142
|
return (
|
|
136
|
-
<div className="min-h-screen
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
<
|
|
140
|
-
<
|
|
141
|
-
<
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
</a>
|
|
147
|
-
|
|
148
|
-
<div className="hidden md:flex items-center gap-8">
|
|
149
|
-
<a href="https://github.com/flexireact/flexireact#readme" className="text-sm text-gray-400 hover:text-white transition-colors">Docs</a>
|
|
150
|
-
<a href="https://github.com/flexireact/flexireact" className="text-sm text-gray-400 hover:text-white transition-colors">GitHub</a>
|
|
151
|
-
<a href="https://github.com/flexireact/flexireact/tree/main/examples" className="text-sm text-gray-400 hover:text-white transition-colors">Examples</a>
|
|
152
|
-
<a href="https://discord.gg/rFSZxFtpAA" className="text-sm text-gray-400 hover:text-white transition-colors">Discord</a>
|
|
153
|
-
</div>
|
|
143
|
+
<div className="flex items-center justify-center min-h-screen px-4">
|
|
144
|
+
<div className="max-w-4xl mx-auto text-center space-y-8">
|
|
145
|
+
{/* Badge */}
|
|
146
|
+
<div className="inline-flex items-center gap-2 px-3 py-1 rounded-full bg-white/5 border border-white/10 text-sm">
|
|
147
|
+
<span className="relative flex h-2 w-2">
|
|
148
|
+
<span className="animate-ping absolute inline-flex h-full w-full rounded-full bg-[#00FF9C] opacity-75"></span>
|
|
149
|
+
<span className="relative inline-flex rounded-full h-2 w-2 bg-[#00FF9C]"></span>
|
|
150
|
+
</span>
|
|
151
|
+
<span className="text-gray-400">Introducing FlexiReact v3.0</span>
|
|
152
|
+
</div>
|
|
154
153
|
|
|
154
|
+
{/* Heading */}
|
|
155
|
+
<h1 className="text-5xl md:text-7xl font-bold tracking-tight">
|
|
156
|
+
The React Framework
|
|
157
|
+
<br />
|
|
158
|
+
<span className="bg-gradient-to-r from-[#00FF9C] via-[#00D68F] to-[#00FF9C] bg-clip-text text-transparent">
|
|
159
|
+
for the Web
|
|
160
|
+
</span>
|
|
161
|
+
</h1>
|
|
162
|
+
|
|
163
|
+
{/* Description */}
|
|
164
|
+
<p className="text-xl text-gray-400 max-w-2xl mx-auto leading-relaxed">
|
|
165
|
+
FlexiReact enables you to create full-stack web applications with TypeScript, Tailwind CSS, and modern tooling.
|
|
166
|
+
</p>
|
|
167
|
+
|
|
168
|
+
{/* CTA Buttons */}
|
|
169
|
+
<div className="flex flex-col sm:flex-row gap-4 justify-center pt-4">
|
|
155
170
|
<a
|
|
156
|
-
href="https://github.com/flexireact/flexireact"
|
|
157
|
-
|
|
158
|
-
className="group flex items-center gap-2 px-4 py-2 bg-white/5 hover:bg-white/10 border border-white/10 hover:border-[#00FF9C]/50 rounded-lg transition-all"
|
|
171
|
+
href="https://github.com/flexireact/flexireact"
|
|
172
|
+
className="inline-flex items-center justify-center px-8 py-3 bg-white text-black font-medium rounded-lg hover:bg-gray-100 transition-colors"
|
|
159
173
|
>
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
174
|
+
Get Started →
|
|
175
|
+
</a>
|
|
176
|
+
<a
|
|
177
|
+
href="https://github.com/flexireact/flexireact#readme"
|
|
178
|
+
className="inline-flex items-center justify-center px-8 py-3 bg-white/10 text-white font-medium rounded-lg border border-white/10 hover:bg-white/20 transition-colors"
|
|
179
|
+
>
|
|
180
|
+
Learn More
|
|
164
181
|
</a>
|
|
165
|
-
</nav>
|
|
166
|
-
</header>
|
|
167
|
-
|
|
168
|
-
<main className="pt-16">
|
|
169
|
-
{/* Hero Section */}
|
|
170
|
-
<section className="relative py-24 lg:py-32 px-4 overflow-hidden animate-fade-in-up">
|
|
171
|
-
{/* Gradient background */}
|
|
172
|
-
<div className="absolute inset-0 bg-[radial-gradient(ellipse_at_top,_var(--tw-gradient-stops))] from-[#00FF9C]/10 via-transparent to-transparent" />
|
|
173
|
-
<div className="absolute top-0 left-1/2 -translate-x-1/2 w-[600px] h-[600px] bg-[#00FF9C]/5 rounded-full blur-[120px]" />
|
|
174
|
-
|
|
175
|
-
<div className="relative max-w-5xl mx-auto text-center">
|
|
176
|
-
{/* Logo */}
|
|
177
|
-
<div className="inline-flex items-center justify-center w-20 h-20 mb-8 rounded-2xl bg-gradient-to-br from-[#00FF9C] to-[#00D68F] shadow-lg shadow-[#00FF9C]/20">
|
|
178
|
-
<span className="text-3xl font-black text-black">F</span>
|
|
179
|
-
</div>
|
|
180
|
-
|
|
181
|
-
{/* Badge */}
|
|
182
|
-
<div className="inline-flex items-center gap-2 px-4 py-2 mb-8 rounded-full bg-white/5 border border-white/10 backdrop-blur-sm">
|
|
183
|
-
<span className="w-2 h-2 rounded-full bg-[#00FF9C] animate-pulse" />
|
|
184
|
-
<span className="text-sm text-gray-300">v3.0 — The Future of React</span>
|
|
185
|
-
</div>
|
|
186
|
-
|
|
187
|
-
<h1 className="text-5xl sm:text-6xl lg:text-7xl font-bold mb-6 tracking-tight">
|
|
188
|
-
Build faster with
|
|
189
|
-
<span className="block mt-2 bg-gradient-to-r from-[#00FF9C] via-[#00D68F] to-[#00FF9C] bg-clip-text text-transparent">
|
|
190
|
-
FlexiReact
|
|
191
|
-
</span>
|
|
192
|
-
</h1>
|
|
193
|
-
|
|
194
|
-
<p className="text-lg sm:text-xl text-gray-400 mb-10 max-w-2xl mx-auto leading-relaxed">
|
|
195
|
-
The modern React framework with TypeScript, Tailwind, SSR, Islands,
|
|
196
|
-
Edge Runtime, and 50+ UI components. <span className="text-white font-medium">Better than Next.js.</span>
|
|
197
|
-
</p>
|
|
198
|
-
|
|
199
|
-
{/* CTA Buttons */}
|
|
200
|
-
<div className="flex flex-col sm:flex-row gap-4 justify-center">
|
|
201
|
-
<a href="https://github.com/flexireact/flexireact"
|
|
202
|
-
className="group inline-flex items-center justify-center gap-2 px-8 py-4 bg-[#00FF9C] text-black font-semibold rounded-xl hover:bg-[#00D68F] transition-all hover:scale-105 hover:shadow-lg hover:shadow-[#00FF9C]/25">
|
|
203
|
-
Get Started
|
|
204
|
-
<svg className="w-5 h-5 transition-transform group-hover:translate-x-1" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
|
205
|
-
<path strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M17 8l4 4m0 0l-4 4m4-4H3" />
|
|
206
|
-
</svg>
|
|
207
|
-
</a>
|
|
208
|
-
<a href="https://github.com/flexireact/flexireact#readme"
|
|
209
|
-
className="inline-flex items-center justify-center gap-2 px-8 py-4 bg-white/5 text-white font-semibold rounded-xl border border-white/10 hover:bg-white/10 hover:border-[#00FF9C]/50 transition-all">
|
|
210
|
-
Documentation
|
|
211
|
-
</a>
|
|
212
|
-
</div>
|
|
213
|
-
|
|
214
|
-
{/* Terminal */}
|
|
215
|
-
<div className="mt-16 max-w-lg mx-auto">
|
|
216
|
-
<div className="rounded-xl bg-[#111] border border-gray-800 overflow-hidden shadow-2xl">
|
|
217
|
-
<div className="flex items-center gap-2 px-4 py-3 bg-[#0d0d0d] border-b border-gray-800">
|
|
218
|
-
<div className="flex gap-1.5">
|
|
219
|
-
<div className="w-3 h-3 rounded-full bg-red-500/80" />
|
|
220
|
-
<div className="w-3 h-3 rounded-full bg-yellow-500/80" />
|
|
221
|
-
<div className="w-3 h-3 rounded-full bg-green-500/80" />
|
|
222
|
-
</div>
|
|
223
|
-
<span className="text-xs text-gray-500 ml-2">Terminal</span>
|
|
224
|
-
</div>
|
|
225
|
-
<div className="p-4 font-mono text-sm">
|
|
226
|
-
<div className="flex items-center gap-2">
|
|
227
|
-
<span className="text-[#00FF9C]">$</span>
|
|
228
|
-
<span className="text-gray-300">npx create-flexireact my-app</span>
|
|
229
|
-
</div>
|
|
230
|
-
</div>
|
|
231
|
-
</div>
|
|
232
|
-
</div>
|
|
233
|
-
</div>
|
|
234
|
-
</section>
|
|
235
|
-
|
|
236
|
-
{/* Stats */}
|
|
237
|
-
<section className="py-16 px-4 border-y border-gray-800/50">
|
|
238
|
-
<div className="max-w-5xl mx-auto">
|
|
239
|
-
<div className="grid grid-cols-2 lg:grid-cols-4 gap-4">
|
|
240
|
-
{stats.map((stat, i) => (
|
|
241
|
-
<div key={i} className="text-center p-6 rounded-2xl bg-gradient-to-b from-white/5 to-transparent border border-white/5">
|
|
242
|
-
<div className="text-3xl sm:text-4xl font-bold text-[#00FF9C] mb-1">{stat.value}</div>
|
|
243
|
-
<div className="text-sm text-gray-500">{stat.label}</div>
|
|
244
|
-
</div>
|
|
245
|
-
))}
|
|
246
|
-
</div>
|
|
247
182
|
</div>
|
|
248
|
-
</section>
|
|
249
183
|
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
<div className="grid sm:grid-cols-2 lg:grid-cols-3 gap-4">
|
|
259
|
-
{coreFeatures.map((f, i) => (
|
|
260
|
-
<div key={i} className="group p-6 rounded-2xl bg-gradient-to-b from-white/5 to-transparent border border-white/5 hover:border-[#00FF9C]/30 transition-all hover:scale-[1.02] hover:shadow-lg hover:shadow-[#00FF9C]/10">
|
|
261
|
-
<div className="w-12 h-12 rounded-xl bg-[#00FF9C]/10 flex items-center justify-center text-2xl mb-4 group-hover:scale-110 transition-transform">
|
|
262
|
-
{f.icon}
|
|
263
|
-
</div>
|
|
264
|
-
<h3 className="font-semibold text-lg mb-2">{f.title}</h3>
|
|
265
|
-
<p className="text-gray-400 text-sm leading-relaxed">{f.desc}</p>
|
|
184
|
+
{/* Terminal Preview */}
|
|
185
|
+
<div className="mt-12 max-w-2xl mx-auto">
|
|
186
|
+
<div className="rounded-lg border border-white/10 bg-black/50 backdrop-blur-sm overflow-hidden">
|
|
187
|
+
<div className="flex items-center gap-2 px-4 py-3 border-b border-white/10 bg-white/5">
|
|
188
|
+
<div className="flex gap-1.5">
|
|
189
|
+
<div className="w-3 h-3 rounded-full bg-red-500/60" />
|
|
190
|
+
<div className="w-3 h-3 rounded-full bg-yellow-500/60" />
|
|
191
|
+
<div className="w-3 h-3 rounded-full bg-green-500/60" />
|
|
266
192
|
</div>
|
|
267
|
-
))}
|
|
268
|
-
</div>
|
|
269
|
-
</div>
|
|
270
|
-
</section>
|
|
271
|
-
|
|
272
|
-
{/* How it Works Timeline */}
|
|
273
|
-
<section className="py-24 px-4 bg-white/[0.02] animate-fade-in-up animate-delay-200">
|
|
274
|
-
<div className="max-w-6xl mx-auto">
|
|
275
|
-
<div className="text-center mb-16">
|
|
276
|
-
<h2 className="text-3xl sm:text-4xl font-bold mb-4">How it Works</h2>
|
|
277
|
-
<p className="text-gray-400">From idea to production in 5 simple steps</p>
|
|
278
|
-
</div>
|
|
279
|
-
|
|
280
|
-
<div className="relative">
|
|
281
|
-
<div className="hidden lg:block absolute top-1/2 left-0 right-0 h-0.5 bg-gradient-to-r from-transparent via-[#00FF9C]/20 to-transparent" />
|
|
282
|
-
|
|
283
|
-
<div className="grid grid-cols-1 md:grid-cols-3 lg:grid-cols-5 gap-8">
|
|
284
|
-
{timeline.map((item, i) => (
|
|
285
|
-
<div key={i} className="relative text-center">
|
|
286
|
-
<div className="inline-flex items-center justify-center w-16 h-16 rounded-full bg-gradient-to-br from-[#00FF9C] to-[#00D68F] text-black font-bold text-xl mb-4 shadow-lg shadow-[#00FF9C]/20">
|
|
287
|
-
{item.step}
|
|
288
|
-
</div>
|
|
289
|
-
<h3 className="font-semibold mb-2">{item.title}</h3>
|
|
290
|
-
<p className="text-sm text-gray-400">{item.desc}</p>
|
|
291
|
-
</div>
|
|
292
|
-
))}
|
|
293
|
-
</div>
|
|
294
|
-
</div>
|
|
295
|
-
</div>
|
|
296
|
-
</section>
|
|
297
|
-
|
|
298
|
-
{/* Code Example */}
|
|
299
|
-
<section className="py-24 px-4 animate-fade-in-up animate-delay-300">
|
|
300
|
-
<div className="max-w-4xl mx-auto">
|
|
301
|
-
<div className="text-center mb-12">
|
|
302
|
-
<h2 className="text-3xl sm:text-4xl font-bold mb-4">Simple & Powerful</h2>
|
|
303
|
-
<p className="text-gray-400">Write clean code that just works</p>
|
|
304
|
-
</div>
|
|
305
|
-
|
|
306
|
-
<div className="rounded-2xl bg-[#111] border border-gray-800 overflow-hidden">
|
|
307
|
-
<div className="flex items-center gap-4 px-6 py-3 bg-[#0d0d0d] border-b border-gray-800">
|
|
308
|
-
<button className="px-3 py-1.5 text-sm bg-[#00FF9C]/20 text-[#00FF9C] rounded-lg">Pages</button>
|
|
309
|
-
<button className="px-3 py-1.5 text-sm text-gray-400 hover:text-white transition">API Route</button>
|
|
310
|
-
<button className="px-3 py-1.5 text-sm text-gray-400 hover:text-white transition">Component</button>
|
|
311
193
|
</div>
|
|
312
|
-
<
|
|
313
|
-
|
|
314
|
-
return (
|
|
315
|
-
<div className="container mx-auto p-8">
|
|
316
|
-
<h1 className="text-4xl font-bold">
|
|
317
|
-
Hello from FlexiReact ⚡
|
|
318
|
-
</h1>
|
|
319
|
-
</div>
|
|
320
|
-
);
|
|
321
|
-
}\`}</code></pre>
|
|
322
|
-
</div>
|
|
323
|
-
</div>
|
|
324
|
-
</section>
|
|
325
|
-
|
|
326
|
-
{/* Benchmarks */}
|
|
327
|
-
<section className="py-24 px-4 bg-white/[0.02] animate-fade-in-up animate-delay-400">
|
|
328
|
-
<div className="max-w-4xl mx-auto">
|
|
329
|
-
<div className="text-center mb-12">
|
|
330
|
-
<h2 className="text-3xl sm:text-4xl font-bold mb-4">Blazing Fast Performance</h2>
|
|
331
|
-
<p className="text-gray-400">Cold start comparison (lower is better)</p>
|
|
332
|
-
</div>
|
|
333
|
-
|
|
334
|
-
<div className="space-y-6">
|
|
335
|
-
{benchmarks.map((bench, i) => (
|
|
336
|
-
<div key={i} className="flex items-center gap-4">
|
|
337
|
-
<div className="w-32 text-sm font-medium">{bench.name}</div>
|
|
338
|
-
<div className="flex-1 h-12 bg-white/5 rounded-lg overflow-hidden">
|
|
339
|
-
<div
|
|
340
|
-
className="h-full flex items-center px-4 text-sm font-bold transition-all duration-1000"
|
|
341
|
-
style={{
|
|
342
|
-
width: \`\${(bench.time / 10) * 100}%\`,
|
|
343
|
-
backgroundColor: bench.name === 'FlexiReact' ? '#00FF9C' : 'rgba(255,255,255,0.1)',
|
|
344
|
-
color: bench.name === 'FlexiReact' ? '#000' : '#fff'
|
|
345
|
-
}}
|
|
346
|
-
>
|
|
347
|
-
{bench.time}ms
|
|
348
|
-
</div>
|
|
349
|
-
</div>
|
|
350
|
-
</div>
|
|
351
|
-
))}
|
|
352
|
-
</div>
|
|
353
|
-
</div>
|
|
354
|
-
</section>
|
|
355
|
-
|
|
356
|
-
{/* Why FlexiReact */}
|
|
357
|
-
<section className="py-24 px-4">
|
|
358
|
-
<div className="max-w-6xl mx-auto">
|
|
359
|
-
<div className="text-center mb-16">
|
|
360
|
-
<h2 className="text-3xl sm:text-4xl font-bold mb-4">Why FlexiReact?</h2>
|
|
361
|
-
<p className="text-gray-400">Built for developers who value speed and simplicity</p>
|
|
362
|
-
</div>
|
|
363
|
-
|
|
364
|
-
<div className="grid md:grid-cols-2 lg:grid-cols-4 gap-6">
|
|
365
|
-
{whyFlexiReact.map((item, i) => (
|
|
366
|
-
<div key={i} className="p-6 rounded-2xl bg-gradient-to-b from-white/5 to-transparent border border-white/5">
|
|
367
|
-
<div className="text-3xl mb-4">{item.icon}</div>
|
|
368
|
-
<h3 className="font-semibold mb-2">{item.title}</h3>
|
|
369
|
-
<p className="text-sm text-gray-400">{item.desc}</p>
|
|
370
|
-
</div>
|
|
371
|
-
))}
|
|
372
|
-
</div>
|
|
373
|
-
</div>
|
|
374
|
-
</section>
|
|
375
|
-
|
|
376
|
-
{/* Ecosystem */}
|
|
377
|
-
<section className="py-24 px-4 bg-white/[0.02]">
|
|
378
|
-
<div className="max-w-6xl mx-auto">
|
|
379
|
-
<div className="text-center mb-16">
|
|
380
|
-
<h2 className="text-3xl sm:text-4xl font-bold mb-4">Complete Ecosystem</h2>
|
|
381
|
-
<p className="text-gray-400">Everything you need, batteries included</p>
|
|
382
|
-
</div>
|
|
383
|
-
|
|
384
|
-
<div className="grid md:grid-cols-2 lg:grid-cols-4 gap-6">
|
|
385
|
-
{ecosystem.map((item, i) => (
|
|
386
|
-
<a key={i} href={item.link} target="_blank" className="group p-6 rounded-2xl bg-gradient-to-b from-white/5 to-transparent border border-white/5 hover:border-[#00FF9C]/30 transition-all hover:scale-105">
|
|
387
|
-
<div className="text-4xl mb-4">{item.icon}</div>
|
|
388
|
-
<h3 className="font-semibold mb-1 group-hover:text-[#00FF9C] transition">{item.name}</h3>
|
|
389
|
-
<p className="text-sm text-gray-400">{item.desc}</p>
|
|
390
|
-
</a>
|
|
391
|
-
))}
|
|
392
|
-
</div>
|
|
393
|
-
</div>
|
|
394
|
-
</section>
|
|
395
|
-
|
|
396
|
-
{/* Backed By */}
|
|
397
|
-
<section className="py-24 px-4">
|
|
398
|
-
<div className="max-w-6xl mx-auto">
|
|
399
|
-
<div className="text-center mb-12">
|
|
400
|
-
<h2 className="text-2xl font-bold mb-8 text-gray-500">Trusted By</h2>
|
|
401
|
-
</div>
|
|
402
|
-
|
|
403
|
-
<div className="flex flex-wrap items-center justify-center gap-12">
|
|
404
|
-
{backedBy.map((company, i) => (
|
|
405
|
-
<div key={i} className="group flex items-center gap-3 opacity-40 hover:opacity-100 transition-opacity">
|
|
406
|
-
<div className="w-12 h-12 rounded-lg bg-white/5 flex items-center justify-center font-bold text-xl group-hover:bg-[#00FF9C]/20 group-hover:text-[#00FF9C] transition">
|
|
407
|
-
{company.logo}
|
|
408
|
-
</div>
|
|
409
|
-
<span className="font-semibold">{company.name}</span>
|
|
410
|
-
</div>
|
|
411
|
-
))}
|
|
412
|
-
</div>
|
|
413
|
-
</div>
|
|
414
|
-
</section>
|
|
415
|
-
|
|
416
|
-
{/* Final CTA */}
|
|
417
|
-
<section className="py-24 px-4">
|
|
418
|
-
<div className="max-w-3xl mx-auto">
|
|
419
|
-
<div className="relative p-8 sm:p-12 rounded-3xl bg-gradient-to-b from-[#111] to-[#0a0a0a] border border-gray-800 overflow-hidden">
|
|
420
|
-
<div className="absolute top-0 right-0 w-64 h-64 bg-[#00FF9C]/10 rounded-full blur-[100px]" />
|
|
421
|
-
<div className="relative text-center">
|
|
422
|
-
<h2 className="text-3xl sm:text-4xl font-bold mb-4">Ready to build?</h2>
|
|
423
|
-
<p className="text-gray-400 mb-8">Create your first FlexiReact app in seconds</p>
|
|
424
|
-
|
|
425
|
-
<div className="inline-block p-4 rounded-xl bg-black/50 border border-gray-800 font-mono text-sm mb-8">
|
|
426
|
-
<span className="text-[#00FF9C]">$</span>
|
|
427
|
-
<span className="text-gray-300 ml-2">npx create-flexireact my-app</span>
|
|
428
|
-
</div>
|
|
429
|
-
|
|
430
|
-
<div className="flex flex-col sm:flex-row gap-4 justify-center">
|
|
431
|
-
<a href="https://github.com/flexireact/flexireact"
|
|
432
|
-
className="inline-flex items-center justify-center gap-2 px-8 py-4 bg-[#00FF9C] text-black font-semibold rounded-xl hover:bg-[#00D68F] transition-all">
|
|
433
|
-
Start Building →
|
|
434
|
-
</a>
|
|
435
|
-
</div>
|
|
194
|
+
<div className="p-6 font-mono text-sm">
|
|
195
|
+
<div className="text-gray-400">$ npx create-flexireact@latest</div>
|
|
436
196
|
</div>
|
|
437
197
|
</div>
|
|
438
198
|
</div>
|
|
439
|
-
</section>
|
|
440
199
|
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
</ul>
|
|
200
|
+
{/* Features Grid */}
|
|
201
|
+
<div className="grid grid-cols-2 md:grid-cols-4 gap-4 pt-16 max-w-3xl mx-auto">
|
|
202
|
+
{[
|
|
203
|
+
{ icon: '⚡', label: 'Fast Refresh' },
|
|
204
|
+
{ icon: '📦', label: 'File Routing' },
|
|
205
|
+
{ icon: '🎨', label: 'Tailwind CSS' },
|
|
206
|
+
{ icon: '🔒', label: 'TypeScript' },
|
|
207
|
+
].map((feature) => (
|
|
208
|
+
<div key={feature.label} className="flex flex-col items-center gap-2 p-4 rounded-lg border border-white/10 bg-white/5 hover:bg-white/10 transition-colors">
|
|
209
|
+
<span className="text-2xl">{feature.icon}</span>
|
|
210
|
+
<span className="text-sm font-medium">{feature.label}</span>
|
|
453
211
|
</div>
|
|
454
|
-
|
|
455
|
-
<h3 className="font-semibold mb-4">Community</h3>
|
|
456
|
-
<ul className="space-y-2">
|
|
457
|
-
<li><a href="https://github.com/flexireact/flexireact" className="text-sm text-gray-400 hover:text-white transition">GitHub</a></li>
|
|
458
|
-
<li><a href="https://discord.gg/rFSZxFtpAA" className="text-sm text-gray-400 hover:text-white transition">Discord</a></li>
|
|
459
|
-
<li><a href="https://github.com/flexireact/flexireact/discussions" className="text-sm text-gray-400 hover:text-white transition">Discussions</a></li>
|
|
460
|
-
</ul>
|
|
461
|
-
</div>
|
|
462
|
-
<div>
|
|
463
|
-
<h3 className="font-semibold mb-4">Ecosystem</h3>
|
|
464
|
-
<ul className="space-y-2">
|
|
465
|
-
<li><a href="https://www.npmjs.com/package/@flexireact/flexi-ui" className="text-sm text-gray-400 hover:text-white transition">FlexiUI</a></li>
|
|
466
|
-
<li><a href="https://www.npmjs.com/package/flexiguard" className="text-sm text-gray-400 hover:text-white transition">FlexiGuard</a></li>
|
|
467
|
-
<li><a href="https://www.npmjs.com/package/create-flexireact" className="text-sm text-gray-400 hover:text-white transition">CLI</a></li>
|
|
468
|
-
</ul>
|
|
469
|
-
</div>
|
|
470
|
-
<div>
|
|
471
|
-
<h3 className="font-semibold mb-4">Legal</h3>
|
|
472
|
-
<ul className="space-y-2">
|
|
473
|
-
<li><a href="https://github.com/flexireact/flexireact/blob/main/LICENSE" className="text-sm text-gray-400 hover:text-white transition">License</a></li>
|
|
474
|
-
<li><a href="https://github.com/flexireact/flexireact/blob/main/CONTRIBUTING.md" className="text-sm text-gray-400 hover:text-white transition">Contributing</a></li>
|
|
475
|
-
</ul>
|
|
476
|
-
</div>
|
|
477
|
-
</div>
|
|
478
|
-
|
|
479
|
-
<div className="pt-8 border-t border-gray-800/50 flex flex-col md:flex-row items-center justify-between gap-4">
|
|
480
|
-
<div className="flex items-center gap-2">
|
|
481
|
-
<div className="w-8 h-8 rounded-lg bg-[#00FF9C] flex items-center justify-center">
|
|
482
|
-
<span className="text-black font-bold">F</span>
|
|
483
|
-
</div>
|
|
484
|
-
<span className="text-sm text-gray-400">Built with ❤️ by Asuno</span>
|
|
485
|
-
</div>
|
|
486
|
-
<p className="text-sm text-gray-500">© {new Date().getFullYear()} FlexiReact. MIT License.</p>
|
|
487
|
-
</div>
|
|
212
|
+
))}
|
|
488
213
|
</div>
|
|
489
|
-
</
|
|
490
|
-
</main>
|
|
214
|
+
</div>
|
|
491
215
|
</div>
|
|
492
216
|
);
|
|
493
217
|
}
|
|
@@ -496,10 +220,10 @@ export default function Home() {
|
|
|
496
220
|
|
|
497
221
|
export default function Loading() {
|
|
498
222
|
return (
|
|
499
|
-
<div className="min-h-screen flex items-center justify-center
|
|
223
|
+
<div className="min-h-screen flex items-center justify-center">
|
|
500
224
|
<div className="flex flex-col items-center gap-4">
|
|
501
|
-
<div className="w-12 h-12 border-4 border-
|
|
502
|
-
<span className="text-
|
|
225
|
+
<div className="w-12 h-12 border-4 border-primary/20 border-t-primary rounded-full animate-spin" />
|
|
226
|
+
<span className="text-muted text-sm">Loading...</span>
|
|
503
227
|
</div>
|
|
504
228
|
</div>
|
|
505
229
|
);
|
|
@@ -511,7 +235,7 @@ import React from 'react';
|
|
|
511
235
|
|
|
512
236
|
export default function Error({ error, reset }: { error: Error; reset: () => void }) {
|
|
513
237
|
return (
|
|
514
|
-
<div className="min-h-screen flex flex-col items-center justify-center p-8
|
|
238
|
+
<div className="min-h-screen flex flex-col items-center justify-center p-8">
|
|
515
239
|
<div className="max-w-md w-full p-6 rounded-2xl bg-red-500/10 border border-red-500/20 mb-8">
|
|
516
240
|
<div className="flex items-center gap-3 mb-4">
|
|
517
241
|
<div className="w-10 h-10 rounded-full bg-red-500/20 flex items-center justify-center">
|
|
@@ -519,11 +243,11 @@ export default function Error({ error, reset }: { error: Error; reset: () => voi
|
|
|
519
243
|
</div>
|
|
520
244
|
<h2 className="font-bold text-lg text-red-400">Something went wrong</h2>
|
|
521
245
|
</div>
|
|
522
|
-
<p className="text-
|
|
246
|
+
<p className="text-muted text-sm">{error.message}</p>
|
|
523
247
|
</div>
|
|
524
248
|
<button
|
|
525
249
|
onClick={reset}
|
|
526
|
-
className="px-6 py-3 bg-
|
|
250
|
+
className="px-6 py-3 bg-white text-black font-semibold rounded-lg hover:bg-gray-100 transition-all"
|
|
527
251
|
>
|
|
528
252
|
Try again
|
|
529
253
|
</button>
|
|
@@ -535,15 +259,15 @@ export default function Error({ error, reset }: { error: Error; reset: () => voi
|
|
|
535
259
|
|
|
536
260
|
export default function NotFound() {
|
|
537
261
|
return (
|
|
538
|
-
<div className="min-h-screen flex flex-col items-center justify-center p-8
|
|
262
|
+
<div className="min-h-screen flex flex-col items-center justify-center p-8">
|
|
539
263
|
<div className="text-center">
|
|
540
|
-
<h1 className="text-[150px] font-bold leading-none bg-gradient-to-b from-
|
|
264
|
+
<h1 className="text-[150px] font-bold leading-none bg-gradient-to-b from-primary to-primary/20 bg-clip-text text-transparent">
|
|
541
265
|
404
|
|
542
266
|
</h1>
|
|
543
|
-
<p className="text-
|
|
267
|
+
<p className="text-muted text-xl mb-8 -mt-4">Page not found</p>
|
|
544
268
|
<a
|
|
545
269
|
href="/"
|
|
546
|
-
className="inline-flex items-center gap-2 px-6 py-3 bg-
|
|
270
|
+
className="inline-flex items-center gap-2 px-6 py-3 bg-white text-black font-semibold rounded-lg hover:bg-gray-100 transition-all"
|
|
547
271
|
>
|
|
548
272
|
← Back Home
|
|
549
273
|
</a>
|
|
@@ -564,42 +288,6 @@ export default function NotFound() {
|
|
|
564
288
|
body {
|
|
565
289
|
font-family: var(--font-sans);
|
|
566
290
|
}
|
|
567
|
-
|
|
568
|
-
/* Fade-in and slide-up animations */
|
|
569
|
-
@keyframes fadeInUp {
|
|
570
|
-
from {
|
|
571
|
-
opacity: 0;
|
|
572
|
-
transform: translateY(30px);
|
|
573
|
-
}
|
|
574
|
-
to {
|
|
575
|
-
opacity: 1;
|
|
576
|
-
transform: translateY(0);
|
|
577
|
-
}
|
|
578
|
-
}
|
|
579
|
-
|
|
580
|
-
.animate-fade-in-up {
|
|
581
|
-
animation: fadeInUp 0.6s ease-out forwards;
|
|
582
|
-
}
|
|
583
|
-
|
|
584
|
-
.animate-delay-100 {
|
|
585
|
-
animation-delay: 0.1s;
|
|
586
|
-
opacity: 0;
|
|
587
|
-
}
|
|
588
|
-
|
|
589
|
-
.animate-delay-200 {
|
|
590
|
-
animation-delay: 0.2s;
|
|
591
|
-
opacity: 0;
|
|
592
|
-
}
|
|
593
|
-
|
|
594
|
-
.animate-delay-300 {
|
|
595
|
-
animation-delay: 0.3s;
|
|
596
|
-
opacity: 0;
|
|
597
|
-
}
|
|
598
|
-
|
|
599
|
-
.animate-delay-400 {
|
|
600
|
-
animation-delay: 0.4s;
|
|
601
|
-
opacity: 0;
|
|
602
|
-
}
|
|
603
291
|
`,
|
|
604
292
|
// Lib
|
|
605
293
|
'lib/utils.ts': `import { clsx, type ClassValue } from 'clsx';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app-router.js","sourceRoot":"","sources":["../../src/templates/app-router.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,MAAM,UAAU,iBAAiB,CAAC,WAAmB;IACnD,OAAO;QACL,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC;YAC7B,IAAI,EAAE,WAAW;YACjB,OAAO,EAAE,OAAO;YAChB,OAAO,EAAE,IAAI;YACb,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE;gBACP,GAAG,EAAE,+BAA+B;gBACpC,KAAK,EAAE,iCAAiC;gBACxC,KAAK,EAAE,kBAAkB;gBACzB,GAAG,EAAE,kEAAkE;aACxE;YACD,YAAY,EAAE;gBACZ,KAAK,EAAE,SAAS;gBAChB,WAAW,EAAE,SAAS;gBACtB,kBAAkB,EAAE,QAAQ;gBAC5B,sBAAsB,EAAE,QAAQ;gBAChC,IAAI,EAAE,QAAQ;gBACd,gBAAgB,EAAE,QAAQ;aAC3B;YACD,eAAe,EAAE;gBACf,cAAc,EAAE,SAAS;gBACzB,kBAAkB,EAAE,SAAS;gBAC7B,UAAU,EAAE,QAAQ;gBACpB,WAAW,EAAE,QAAQ;gBACrB,kBAAkB,EAAE,QAAQ;gBAC5B,sBAAsB,EAAE,QAAQ;aACjC;SACF,EAAE,IAAI,EAAE,CAAC,CAAC;QAEX,eAAe,EAAE,IAAI,CAAC,SAAS,CAAC;YAC9B,eAAe,EAAE;gBACf,MAAM,EAAE,QAAQ;gBAChB,GAAG,EAAE,CAAC,KAAK,EAAE,cAAc,EAAE,QAAQ,CAAC;gBACtC,MAAM,EAAE,QAAQ;gBAChB,gBAAgB,EAAE,SAAS;gBAC3B,GAAG,EAAE,WAAW;gBAChB,MAAM,EAAE,IAAI;gBACZ,YAAY,EAAE,IAAI;gBAClB,eAAe,EAAE,IAAI;gBACrB,iBAAiB,EAAE,IAAI;gBACvB,eAAe,EAAE,IAAI;gBACrB,MAAM,EAAE,IAAI;gBACZ,OAAO,EAAE,GAAG;gBACZ,KAAK,EAAE;oBACL,KAAK,EAAE,CAAC,KAAK,CAAC;iBACf;aACF;YACD,OAAO,EAAE,CAAC,SAAS,EAAE,UAAU,CAAC;YAChC,OAAO,EAAE,CAAC,cAAc,EAAE,QAAQ,EAAE,QAAQ,CAAC;SAC9C,EAAE,IAAI,EAAE,CAAC,CAAC;QAEX,mBAAmB,EAAE;;;;;CAKxB;QAEG,sBAAsB,EAAE;;;;CAI3B;QAEG,gBAAgB;QAChB,gBAAgB,EAAE;;;;;;;;;;;;;;;;;;CAkBrB;QAEG,cAAc,EAAE
|
|
1
|
+
{"version":3,"file":"app-router.js","sourceRoot":"","sources":["../../src/templates/app-router.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,MAAM,UAAU,iBAAiB,CAAC,WAAmB;IACnD,OAAO;QACL,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC;YAC7B,IAAI,EAAE,WAAW;YACjB,OAAO,EAAE,OAAO;YAChB,OAAO,EAAE,IAAI;YACb,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE;gBACP,GAAG,EAAE,+BAA+B;gBACpC,KAAK,EAAE,iCAAiC;gBACxC,KAAK,EAAE,kBAAkB;gBACzB,GAAG,EAAE,kEAAkE;aACxE;YACD,YAAY,EAAE;gBACZ,KAAK,EAAE,SAAS;gBAChB,WAAW,EAAE,SAAS;gBACtB,kBAAkB,EAAE,QAAQ;gBAC5B,sBAAsB,EAAE,QAAQ;gBAChC,IAAI,EAAE,QAAQ;gBACd,gBAAgB,EAAE,QAAQ;aAC3B;YACD,eAAe,EAAE;gBACf,cAAc,EAAE,SAAS;gBACzB,kBAAkB,EAAE,SAAS;gBAC7B,UAAU,EAAE,QAAQ;gBACpB,WAAW,EAAE,QAAQ;gBACrB,kBAAkB,EAAE,QAAQ;gBAC5B,sBAAsB,EAAE,QAAQ;aACjC;SACF,EAAE,IAAI,EAAE,CAAC,CAAC;QAEX,eAAe,EAAE,IAAI,CAAC,SAAS,CAAC;YAC9B,eAAe,EAAE;gBACf,MAAM,EAAE,QAAQ;gBAChB,GAAG,EAAE,CAAC,KAAK,EAAE,cAAc,EAAE,QAAQ,CAAC;gBACtC,MAAM,EAAE,QAAQ;gBAChB,gBAAgB,EAAE,SAAS;gBAC3B,GAAG,EAAE,WAAW;gBAChB,MAAM,EAAE,IAAI;gBACZ,YAAY,EAAE,IAAI;gBAClB,eAAe,EAAE,IAAI;gBACrB,iBAAiB,EAAE,IAAI;gBACvB,eAAe,EAAE,IAAI;gBACrB,MAAM,EAAE,IAAI;gBACZ,OAAO,EAAE,GAAG;gBACZ,KAAK,EAAE;oBACL,KAAK,EAAE,CAAC,KAAK,CAAC;iBACf;aACF;YACD,OAAO,EAAE,CAAC,SAAS,EAAE,UAAU,CAAC;YAChC,OAAO,EAAE,CAAC,cAAc,EAAE,QAAQ,EAAE,QAAQ,CAAC;SAC9C,EAAE,IAAI,EAAE,CAAC,CAAC;QAEX,mBAAmB,EAAE;;;;;CAKxB;QAEG,sBAAsB,EAAE;;;;CAI3B;QAEG,gBAAgB;QAChB,gBAAgB,EAAE;;;;;;;;;;;;;;;;;;CAkBrB;QAEG,cAAc,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoInB;QAEG,iBAAiB,EAAE;;;;;;;;;;;;CAYtB;QAEG,eAAe,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;CAyBpB;QAEG,mBAAmB,EAAE;;;;;;;;;;;;;;;;;;;;CAoBxB;QAEG,iBAAiB,EAAE;;;;;;;;;;;;CAYtB;QAEG,MAAM;QACN,cAAc,EAAE;;;;;;CAMnB;QAEG,SAAS;QACT,oBAAoB,EAAE;;;;;;;;;OASnB;QAEH,iBAAiB,EAAE,EAAE;QAErB,YAAY,EAAE;;;;;;;CAOjB;KACE,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"default.d.ts","sourceRoot":"","sources":["../../src/templates/default.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD,wBAAgB,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,aAAa,
|
|
1
|
+
{"version":3,"file":"default.d.ts","sourceRoot":"","sources":["../../src/templates/default.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD,wBAAgB,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,aAAa,CAioBlE"}
|
|
@@ -370,42 +370,68 @@ export const metadata = {
|
|
|
370
370
|
|
|
371
371
|
export default function HomePage() {
|
|
372
372
|
return (
|
|
373
|
-
<div className="
|
|
374
|
-
<div className="text-center
|
|
375
|
-
{/*
|
|
376
|
-
<div className="
|
|
377
|
-
<span className="
|
|
373
|
+
<div className="flex flex-col items-center justify-center min-h-[calc(100vh-8rem)] px-4">
|
|
374
|
+
<div className="max-w-4xl mx-auto text-center space-y-8">
|
|
375
|
+
{/* Badge */}
|
|
376
|
+
<div className="inline-flex items-center gap-2 px-3 py-1 rounded-full bg-white/5 border border-white/10 text-sm">
|
|
377
|
+
<span className="relative flex h-2 w-2">
|
|
378
|
+
<span className="animate-ping absolute inline-flex h-full w-full rounded-full bg-primary opacity-75"></span>
|
|
379
|
+
<span className="relative inline-flex rounded-full h-2 w-2 bg-primary"></span>
|
|
380
|
+
</span>
|
|
381
|
+
<span className="text-muted">Introducing FlexiReact v3.0</span>
|
|
378
382
|
</div>
|
|
379
|
-
|
|
383
|
+
|
|
380
384
|
{/* Heading */}
|
|
381
|
-
<h1 className="text-5xl md:text-
|
|
382
|
-
|
|
383
|
-
<
|
|
385
|
+
<h1 className="text-5xl md:text-7xl font-bold tracking-tight">
|
|
386
|
+
The React Framework
|
|
387
|
+
<br />
|
|
388
|
+
<span className="bg-gradient-to-r from-primary via-primary/80 to-primary bg-clip-text text-transparent">
|
|
389
|
+
for the Web
|
|
390
|
+
</span>
|
|
384
391
|
</h1>
|
|
385
|
-
|
|
392
|
+
|
|
386
393
|
{/* Description */}
|
|
387
|
-
<p className="text-xl text-muted
|
|
388
|
-
|
|
389
|
-
Build blazing fast web applications with ease.
|
|
394
|
+
<p className="text-xl text-muted max-w-2xl mx-auto leading-relaxed">
|
|
395
|
+
FlexiReact enables you to create full-stack web applications with TypeScript, Tailwind CSS, and modern tooling.
|
|
390
396
|
</p>
|
|
391
|
-
|
|
397
|
+
|
|
392
398
|
{/* CTA Buttons */}
|
|
393
|
-
<div className="flex gap-4 justify-center
|
|
394
|
-
<Button size="lg"
|
|
395
|
-
|
|
399
|
+
<div className="flex flex-col sm:flex-row gap-4 justify-center pt-4">
|
|
400
|
+
<Button size="lg" className="text-base">
|
|
401
|
+
Get Started →
|
|
402
|
+
</Button>
|
|
403
|
+
<Button variant="outline" size="lg" className="text-base">
|
|
404
|
+
Learn More
|
|
405
|
+
</Button>
|
|
396
406
|
</div>
|
|
397
|
-
|
|
398
|
-
{/*
|
|
399
|
-
<div className="
|
|
407
|
+
|
|
408
|
+
{/* Terminal Preview */}
|
|
409
|
+
<div className="mt-12 max-w-2xl mx-auto">
|
|
410
|
+
<div className="rounded-lg border border-border bg-background/50 backdrop-blur-sm overflow-hidden">
|
|
411
|
+
<div className="flex items-center gap-2 px-4 py-3 border-b border-border bg-white/5">
|
|
412
|
+
<div className="flex gap-1.5">
|
|
413
|
+
<div className="w-3 h-3 rounded-full bg-red-500/60" />
|
|
414
|
+
<div className="w-3 h-3 rounded-full bg-yellow-500/60" />
|
|
415
|
+
<div className="w-3 h-3 rounded-full bg-green-500/60" />
|
|
416
|
+
</div>
|
|
417
|
+
</div>
|
|
418
|
+
<div className="p-6 font-mono text-sm">
|
|
419
|
+
<div className="text-muted">$ npx create-flexireact@latest</div>
|
|
420
|
+
</div>
|
|
421
|
+
</div>
|
|
422
|
+
</div>
|
|
423
|
+
|
|
424
|
+
{/* Features Grid */}
|
|
425
|
+
<div className="grid grid-cols-2 md:grid-cols-4 gap-4 pt-16 max-w-3xl mx-auto">
|
|
400
426
|
{[
|
|
401
|
-
{ icon: '⚡', label: '
|
|
402
|
-
{ icon: '🏝️', label: 'Islands' },
|
|
427
|
+
{ icon: '⚡', label: 'Fast Refresh' },
|
|
403
428
|
{ icon: '📦', label: 'File Routing' },
|
|
404
|
-
{ icon: '🎨', label: 'Tailwind
|
|
429
|
+
{ icon: '🎨', label: 'Tailwind CSS' },
|
|
430
|
+
{ icon: '🔒', label: 'TypeScript' },
|
|
405
431
|
].map((feature) => (
|
|
406
|
-
<div key={feature.label} className="p-4 rounded-
|
|
407
|
-
<
|
|
408
|
-
<
|
|
432
|
+
<div key={feature.label} className="flex flex-col items-center gap-2 p-4 rounded-lg border border-border bg-white/5 hover:bg-white/10 transition-colors">
|
|
433
|
+
<span className="text-2xl">{feature.icon}</span>
|
|
434
|
+
<span className="text-sm font-medium">{feature.label}</span>
|
|
409
435
|
</div>
|
|
410
436
|
))}
|
|
411
437
|
</div>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"default.js","sourceRoot":"","sources":["../../src/templates/default.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,MAAM,UAAU,eAAe,CAAC,WAAmB;IACjD,OAAO;QACL,2EAA2E;QAC3E,eAAe;QACf,2EAA2E;QAE3E,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC;YAC7B,IAAI,EAAE,WAAW;YACjB,OAAO,EAAE,OAAO;YAChB,OAAO,EAAE,IAAI;YACb,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE;gBACP,GAAG,EAAE,+BAA+B;gBACpC,KAAK,EAAE,iCAAiC;gBACxC,KAAK,EAAE,kBAAkB;gBACzB,GAAG,EAAE,yEAAyE;aAC/E;YACD,YAAY,EAAE;gBACZ,KAAK,EAAE,SAAS;gBAChB,WAAW,EAAE,SAAS;gBACtB,kBAAkB,EAAE,QAAQ;gBAC5B,IAAI,EAAE,QAAQ;gBACd,gBAAgB,EAAE,QAAQ;aAC3B;YACD,eAAe,EAAE;gBACf,cAAc,EAAE,SAAS;gBACzB,kBAAkB,EAAE,SAAS;gBAC7B,UAAU,EAAE,QAAQ;gBACpB,WAAW,EAAE,QAAQ;gBACrB,kBAAkB,EAAE,QAAQ;gBAC5B,sBAAsB,EAAE,QAAQ;aACjC;SACF,EAAE,IAAI,EAAE,CAAC,CAAC;QAEX,eAAe,EAAE,IAAI,CAAC,SAAS,CAAC;YAC9B,eAAe,EAAE;gBACf,MAAM,EAAE,QAAQ;gBAChB,GAAG,EAAE,CAAC,KAAK,EAAE,cAAc,EAAE,QAAQ,CAAC;gBACtC,MAAM,EAAE,QAAQ;gBAChB,gBAAgB,EAAE,SAAS;gBAC3B,GAAG,EAAE,WAAW;gBAChB,MAAM,EAAE,IAAI;gBACZ,YAAY,EAAE,IAAI;gBAClB,eAAe,EAAE,IAAI;gBACrB,iBAAiB,EAAE,IAAI;gBACvB,eAAe,EAAE,IAAI;gBACrB,MAAM,EAAE,IAAI;gBACZ,OAAO,EAAE,GAAG;gBACZ,KAAK,EAAE;oBACL,KAAK,EAAE,CAAC,KAAK,CAAC;oBACd,gBAAgB,EAAE,CAAC,oBAAoB,CAAC;oBACxC,SAAS,EAAE,CAAC,SAAS,CAAC;iBACvB;aACF;YACD,OAAO,EAAE,CAAC,SAAS,EAAE,UAAU,CAAC;YAChC,OAAO,EAAE,CAAC,cAAc,EAAE,QAAQ,EAAE,QAAQ,CAAC;SAC9C,EAAE,IAAI,EAAE,CAAC,CAAC;QAEX,mBAAmB,EAAE;;;;;CAKxB;QAEG,sBAAsB,EAAE;;;;;;;;;;;;;;CAc3B;QAEG,2EAA2E;QAC3E,6CAA6C;QAC7C,2EAA2E;QAE3E,gBAAgB,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2BrB;QAEG,kBAAkB;QAClB,8BAA8B,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsCnC;QAEG,4BAA4B,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqCjC;QAEG,4BAA4B,EAAE;;CAEjC;QAEG,sBAAsB;QACtB,kCAAkC,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6BvC;QAEG,kCAAkC,EAAE;;;;;;;;;;;;;;;;CAgBvC;QAEG,gCAAgC,EAAE;;CAErC;QAEG,yBAAyB,EAAE;;CAE9B;QAEG,YAAY;QACZ,iCAAiC,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwCtC;QAEG,SAAS;QACT,wBAAwB,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgE7B;QAEG,2EAA2E;QAC3E,2CAA2C;QAC3C,2EAA2E;QAE3E,0BAA0B,EAAE
|
|
1
|
+
{"version":3,"file":"default.js","sourceRoot":"","sources":["../../src/templates/default.ts"],"names":[],"mappings":"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"}
|