create-flexireact 2.1.0 → 3.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -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,CA8WpE"}
|
|
@@ -17,7 +17,7 @@ export function appRouterTemplate(projectName) {
|
|
|
17
17
|
dependencies: {
|
|
18
18
|
react: '^18.2.0',
|
|
19
19
|
'react-dom': '^18.2.0',
|
|
20
|
-
'@flexireact/core': '^
|
|
20
|
+
'@flexireact/core': '^3.0.0',
|
|
21
21
|
'@flexireact/flexi-ui': '^2.0.1',
|
|
22
22
|
clsx: '^2.1.0',
|
|
23
23
|
'tailwind-merge': '^2.2.0',
|
|
@@ -84,72 +84,124 @@ export default function RootLayout({ children }: { children: React.ReactNode })
|
|
|
84
84
|
}
|
|
85
85
|
`,
|
|
86
86
|
'app/page.tsx': `import React from 'react';
|
|
87
|
-
import { Button, Card, Badge, Stat, StatGroup } from '@flexireact/flexi-ui';
|
|
88
87
|
|
|
89
88
|
const features = [
|
|
90
|
-
{ icon: '⚡', title: 'Lightning Fast', desc: 'Powered by esbuild for instant builds' },
|
|
91
|
-
{ icon: '🎨', title: 'FlexiUI', desc: '50+ beautiful components
|
|
89
|
+
{ icon: '⚡', title: 'Lightning Fast', desc: 'Powered by esbuild for instant builds and HMR' },
|
|
90
|
+
{ icon: '🎨', title: 'FlexiUI', desc: '50+ beautiful, accessible components' },
|
|
92
91
|
{ icon: '📘', title: 'TypeScript', desc: 'Full type safety out of the box' },
|
|
93
92
|
{ icon: '🏝️', title: 'Islands', desc: 'Partial hydration for max performance' },
|
|
94
93
|
{ icon: '🌐', title: 'Edge Ready', desc: 'Deploy anywhere: Node, Bun, Deno, CF' },
|
|
95
94
|
{ icon: '🚀', title: 'SSR + PPR', desc: 'Streaming SSR & Partial Prerendering' },
|
|
96
95
|
];
|
|
97
96
|
|
|
97
|
+
const stats = [
|
|
98
|
+
{ label: 'Components', value: '50+' },
|
|
99
|
+
{ label: 'Bundle Size', value: '~90kb' },
|
|
100
|
+
{ label: 'Build Time', value: '<1s' },
|
|
101
|
+
{ label: 'Lighthouse', value: '100' },
|
|
102
|
+
];
|
|
103
|
+
|
|
98
104
|
export default function HomePage() {
|
|
99
105
|
return (
|
|
100
|
-
<main className="min-h-screen">
|
|
106
|
+
<main className="min-h-screen bg-[#0a0a0a]">
|
|
101
107
|
{/* Hero */}
|
|
102
|
-
<section className="relative py-32 px-4 overflow-hidden">
|
|
103
|
-
|
|
108
|
+
<section className="relative py-24 lg:py-32 px-4 overflow-hidden">
|
|
109
|
+
{/* Gradient background */}
|
|
110
|
+
<div className="absolute inset-0 bg-[radial-gradient(ellipse_at_top,_var(--tw-gradient-stops))] from-[#00FF9C]/10 via-transparent to-transparent" />
|
|
111
|
+
<div className="absolute top-0 left-1/2 -translate-x-1/2 w-[600px] h-[600px] bg-[#00FF9C]/5 rounded-full blur-[120px]" />
|
|
112
|
+
|
|
104
113
|
<div className="relative max-w-5xl mx-auto text-center">
|
|
105
|
-
|
|
114
|
+
{/* Logo */}
|
|
115
|
+
<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">
|
|
116
|
+
<span className="text-3xl font-black text-black">F</span>
|
|
117
|
+
</div>
|
|
118
|
+
|
|
119
|
+
{/* Badge */}
|
|
120
|
+
<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">
|
|
121
|
+
<span className="w-2 h-2 rounded-full bg-[#00FF9C] animate-pulse" />
|
|
122
|
+
<span className="text-sm text-gray-300">v3.0 — The Future of React</span>
|
|
123
|
+
</div>
|
|
106
124
|
|
|
107
|
-
<h1 className="text-6xl font-bold mb-6">
|
|
108
|
-
Build faster with
|
|
109
|
-
<span className="
|
|
125
|
+
<h1 className="text-5xl sm:text-6xl lg:text-7xl font-bold mb-6 tracking-tight">
|
|
126
|
+
Build faster with
|
|
127
|
+
<span className="block mt-2 bg-gradient-to-r from-[#00FF9C] via-[#00D68F] to-[#00FF9C] bg-clip-text text-transparent">
|
|
128
|
+
FlexiReact
|
|
129
|
+
</span>
|
|
110
130
|
</h1>
|
|
111
131
|
|
|
112
|
-
<p className="text-xl text-gray-400 mb-10 max-w-2xl mx-auto">
|
|
132
|
+
<p className="text-lg sm:text-xl text-gray-400 mb-10 max-w-2xl mx-auto leading-relaxed">
|
|
113
133
|
The modern React framework with TypeScript, Tailwind, SSR, Islands,
|
|
114
|
-
Edge Runtime, and 50+ UI components. Better than Next.js
|
|
134
|
+
Edge Runtime, and 50+ UI components. <span className="text-white font-medium">Better than Next.js.</span>
|
|
115
135
|
</p>
|
|
116
136
|
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
137
|
+
{/* CTA Buttons */}
|
|
138
|
+
<div className="flex flex-col sm:flex-row gap-4 justify-center">
|
|
139
|
+
<a href="https://github.com/flexireact/flexireact"
|
|
140
|
+
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">
|
|
141
|
+
Get Started
|
|
142
|
+
<svg className="w-5 h-5 transition-transform group-hover:translate-x-1" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
|
143
|
+
<path strokeLinecap="round" strokeLinejoin="round" strokeWidth={2} d="M17 8l4 4m0 0l-4 4m4-4H3" />
|
|
144
|
+
</svg>
|
|
145
|
+
</a>
|
|
146
|
+
<a href="https://github.com/flexireact/flexireact#readme"
|
|
147
|
+
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">
|
|
122
148
|
Documentation
|
|
123
|
-
</
|
|
149
|
+
</a>
|
|
150
|
+
</div>
|
|
151
|
+
|
|
152
|
+
{/* Terminal */}
|
|
153
|
+
<div className="mt-16 max-w-lg mx-auto">
|
|
154
|
+
<div className="rounded-xl bg-[#111] border border-gray-800 overflow-hidden shadow-2xl">
|
|
155
|
+
<div className="flex items-center gap-2 px-4 py-3 bg-[#0d0d0d] border-b border-gray-800">
|
|
156
|
+
<div className="flex gap-1.5">
|
|
157
|
+
<div className="w-3 h-3 rounded-full bg-red-500/80" />
|
|
158
|
+
<div className="w-3 h-3 rounded-full bg-yellow-500/80" />
|
|
159
|
+
<div className="w-3 h-3 rounded-full bg-green-500/80" />
|
|
160
|
+
</div>
|
|
161
|
+
<span className="text-xs text-gray-500 ml-2">Terminal</span>
|
|
162
|
+
</div>
|
|
163
|
+
<div className="p-4 font-mono text-sm">
|
|
164
|
+
<div className="flex items-center gap-2">
|
|
165
|
+
<span className="text-[#00FF9C]">$</span>
|
|
166
|
+
<span className="text-gray-300">npx create-flexireact my-app</span>
|
|
167
|
+
</div>
|
|
168
|
+
</div>
|
|
169
|
+
</div>
|
|
124
170
|
</div>
|
|
125
171
|
</div>
|
|
126
172
|
</section>
|
|
127
173
|
|
|
128
174
|
{/* Stats */}
|
|
129
|
-
<section className="py-16 px-4 border-y border-gray-800">
|
|
175
|
+
<section className="py-16 px-4 border-y border-gray-800/50">
|
|
130
176
|
<div className="max-w-5xl mx-auto">
|
|
131
|
-
<
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
177
|
+
<div className="grid grid-cols-2 lg:grid-cols-4 gap-4">
|
|
178
|
+
{stats.map((stat, i) => (
|
|
179
|
+
<div key={i} className="text-center p-6 rounded-2xl bg-gradient-to-b from-white/5 to-transparent border border-white/5">
|
|
180
|
+
<div className="text-3xl sm:text-4xl font-bold text-[#00FF9C] mb-1">{stat.value}</div>
|
|
181
|
+
<div className="text-sm text-gray-500">{stat.label}</div>
|
|
182
|
+
</div>
|
|
183
|
+
))}
|
|
184
|
+
</div>
|
|
137
185
|
</div>
|
|
138
186
|
</section>
|
|
139
187
|
|
|
140
188
|
{/* Features */}
|
|
141
189
|
<section className="py-24 px-4">
|
|
142
190
|
<div className="max-w-5xl mx-auto">
|
|
143
|
-
<
|
|
144
|
-
Everything you need
|
|
145
|
-
|
|
146
|
-
|
|
191
|
+
<div className="text-center mb-16">
|
|
192
|
+
<h2 className="text-3xl sm:text-4xl font-bold mb-4">Everything you need</h2>
|
|
193
|
+
<p className="text-gray-400">A complete toolkit for building modern React apps</p>
|
|
194
|
+
</div>
|
|
195
|
+
|
|
196
|
+
<div className="grid sm:grid-cols-2 lg:grid-cols-3 gap-4">
|
|
147
197
|
{features.map((f, i) => (
|
|
148
|
-
<
|
|
149
|
-
<div className="text-
|
|
198
|
+
<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:-translate-y-1">
|
|
199
|
+
<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">
|
|
200
|
+
{f.icon}
|
|
201
|
+
</div>
|
|
150
202
|
<h3 className="font-semibold text-lg mb-2">{f.title}</h3>
|
|
151
|
-
<p className="text-gray-400 text-sm">{f.desc}</p>
|
|
152
|
-
</
|
|
203
|
+
<p className="text-gray-400 text-sm leading-relaxed">{f.desc}</p>
|
|
204
|
+
</div>
|
|
153
205
|
))}
|
|
154
206
|
</div>
|
|
155
207
|
</div>
|
|
@@ -157,33 +209,58 @@ export default function HomePage() {
|
|
|
157
209
|
|
|
158
210
|
{/* CTA */}
|
|
159
211
|
<section className="py-24 px-4">
|
|
160
|
-
<div className="max-w-
|
|
161
|
-
<
|
|
162
|
-
<
|
|
163
|
-
<
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
212
|
+
<div className="max-w-3xl mx-auto">
|
|
213
|
+
<div className="relative p-8 sm:p-12 rounded-3xl bg-gradient-to-b from-[#111] to-[#0a0a0a] border border-gray-800 overflow-hidden">
|
|
214
|
+
<div className="absolute top-0 right-0 w-64 h-64 bg-[#00FF9C]/10 rounded-full blur-[100px]" />
|
|
215
|
+
<div className="relative text-center">
|
|
216
|
+
<h2 className="text-3xl sm:text-4xl font-bold mb-4">Ready to build?</h2>
|
|
217
|
+
<p className="text-gray-400 mb-8">Create your first FlexiReact app in seconds</p>
|
|
218
|
+
|
|
219
|
+
<div className="inline-block p-4 rounded-xl bg-black/50 border border-gray-800 font-mono text-sm mb-8">
|
|
220
|
+
<span className="text-[#00FF9C]">$</span>
|
|
221
|
+
<span className="text-gray-300 ml-2">npx create-flexireact my-app</span>
|
|
222
|
+
</div>
|
|
223
|
+
|
|
224
|
+
<div className="flex flex-col sm:flex-row gap-4 justify-center">
|
|
225
|
+
<a href="https://github.com/flexireact/flexireact"
|
|
226
|
+
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">
|
|
227
|
+
Start Building →
|
|
228
|
+
</a>
|
|
229
|
+
</div>
|
|
230
|
+
</div>
|
|
231
|
+
</div>
|
|
169
232
|
</div>
|
|
170
233
|
</section>
|
|
171
234
|
|
|
172
235
|
{/* Footer */}
|
|
173
|
-
<footer className="py-
|
|
174
|
-
|
|
236
|
+
<footer className="py-12 px-4 border-t border-gray-800/50">
|
|
237
|
+
<div className="max-w-5xl mx-auto flex flex-col sm:flex-row items-center justify-between gap-4">
|
|
238
|
+
<div className="flex items-center gap-2">
|
|
239
|
+
<div className="w-8 h-8 rounded-lg bg-[#00FF9C] flex items-center justify-center">
|
|
240
|
+
<span className="text-sm font-bold text-black">F</span>
|
|
241
|
+
</div>
|
|
242
|
+
<span className="font-semibold">FlexiReact</span>
|
|
243
|
+
</div>
|
|
244
|
+
<p className="text-sm text-gray-500">Built with ❤️ by FlexiReact Team</p>
|
|
245
|
+
<div className="flex items-center gap-6">
|
|
246
|
+
<a href="https://github.com/flexireact" className="text-gray-400 hover:text-white transition-colors">GitHub</a>
|
|
247
|
+
<a href="https://npmjs.com/package/@flexireact/core" className="text-gray-400 hover:text-white transition-colors">npm</a>
|
|
248
|
+
</div>
|
|
249
|
+
</div>
|
|
175
250
|
</footer>
|
|
176
251
|
</main>
|
|
177
252
|
);
|
|
178
253
|
}
|
|
179
254
|
`,
|
|
180
255
|
'app/loading.tsx': `import React from 'react';
|
|
181
|
-
import { Spinner } from '@flexireact/flexi-ui';
|
|
182
256
|
|
|
183
257
|
export default function Loading() {
|
|
184
258
|
return (
|
|
185
|
-
<div className="min-h-screen flex items-center justify-center">
|
|
186
|
-
<
|
|
259
|
+
<div className="min-h-screen flex items-center justify-center bg-[#0a0a0a]">
|
|
260
|
+
<div className="flex flex-col items-center gap-4">
|
|
261
|
+
<div className="w-12 h-12 border-4 border-[#00FF9C]/20 border-t-[#00FF9C] rounded-full animate-spin" />
|
|
262
|
+
<span className="text-gray-400 text-sm">Loading...</span>
|
|
263
|
+
</div>
|
|
187
264
|
</div>
|
|
188
265
|
);
|
|
189
266
|
}
|
|
@@ -191,31 +268,46 @@ export default function Loading() {
|
|
|
191
268
|
'app/error.tsx': `'use client';
|
|
192
269
|
|
|
193
270
|
import React from 'react';
|
|
194
|
-
import { Button, Alert } from '@flexireact/flexi-ui';
|
|
195
271
|
|
|
196
272
|
export default function Error({ error, reset }: { error: Error; reset: () => void }) {
|
|
197
273
|
return (
|
|
198
|
-
<div className="min-h-screen flex flex-col items-center justify-center p-8">
|
|
199
|
-
<
|
|
200
|
-
<
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
274
|
+
<div className="min-h-screen flex flex-col items-center justify-center p-8 bg-[#0a0a0a]">
|
|
275
|
+
<div className="max-w-md w-full p-6 rounded-2xl bg-red-500/10 border border-red-500/20 mb-8">
|
|
276
|
+
<div className="flex items-center gap-3 mb-4">
|
|
277
|
+
<div className="w-10 h-10 rounded-full bg-red-500/20 flex items-center justify-center">
|
|
278
|
+
<span className="text-red-500 text-xl">!</span>
|
|
279
|
+
</div>
|
|
280
|
+
<h2 className="font-bold text-lg text-red-400">Something went wrong</h2>
|
|
281
|
+
</div>
|
|
282
|
+
<p className="text-gray-400 text-sm">{error.message}</p>
|
|
283
|
+
</div>
|
|
284
|
+
<button
|
|
285
|
+
onClick={reset}
|
|
286
|
+
className="px-6 py-3 bg-[#00FF9C] text-black font-semibold rounded-xl hover:bg-[#00D68F] transition-all"
|
|
287
|
+
>
|
|
288
|
+
Try again
|
|
289
|
+
</button>
|
|
204
290
|
</div>
|
|
205
291
|
);
|
|
206
292
|
}
|
|
207
293
|
`,
|
|
208
294
|
'app/not-found.tsx': `import React from 'react';
|
|
209
|
-
import { Button } from '@flexireact/flexi-ui';
|
|
210
295
|
|
|
211
296
|
export default function NotFound() {
|
|
212
297
|
return (
|
|
213
|
-
<div className="min-h-screen flex flex-col items-center justify-center p-8">
|
|
214
|
-
<
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
298
|
+
<div className="min-h-screen flex flex-col items-center justify-center p-8 bg-[#0a0a0a]">
|
|
299
|
+
<div className="text-center">
|
|
300
|
+
<h1 className="text-[150px] font-bold leading-none bg-gradient-to-b from-[#00FF9C] to-[#00FF9C]/20 bg-clip-text text-transparent">
|
|
301
|
+
404
|
|
302
|
+
</h1>
|
|
303
|
+
<p className="text-gray-400 text-xl mb-8 -mt-4">Page not found</p>
|
|
304
|
+
<a
|
|
305
|
+
href="/"
|
|
306
|
+
className="inline-flex items-center gap-2 px-6 py-3 bg-[#00FF9C] text-black font-semibold rounded-xl hover:bg-[#00D68F] transition-all"
|
|
307
|
+
>
|
|
308
|
+
← Back Home
|
|
309
|
+
</a>
|
|
310
|
+
</div>
|
|
219
311
|
</div>
|
|
220
312
|
);
|
|
221
313
|
}
|
|
@@ -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,2EAA2E;aACjF;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,2EAA2E;aACjF;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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwKnB;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"}
|