@tanstack/cta-ui 0.10.0-alpha.24 → 0.10.0-alpha.26

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.
Files changed (60) hide show
  1. package/dist/assets/index-D0-fpgzI.js +223 -0
  2. package/dist/assets/index-D0-fpgzI.js.map +1 -0
  3. package/dist/assets/index-D5brMzJg.css +1 -0
  4. package/dist/favicon.ico +0 -0
  5. package/dist/index.html +13 -0
  6. package/dist/logo192.png +0 -0
  7. package/dist/logo512.png +0 -0
  8. package/dist/manifest.json +25 -0
  9. package/dist/robots.txt +3 -0
  10. package/dist/tailwind.svg +1 -0
  11. package/dist/tanstack.png +0 -0
  12. package/dist/typescript.svg +1 -0
  13. package/index.html +12 -0
  14. package/{src → lib}/engine-handling/add-to-app-wrapper.ts +37 -41
  15. package/{src → lib}/engine-handling/create-app-wrapper.ts +35 -37
  16. package/{src → lib}/engine-handling/generate-initial-payload.ts +2 -2
  17. package/lib/engine-handling/server-environment.ts +37 -0
  18. package/lib/index.ts +140 -34
  19. package/lib/types.d.ts +13 -0
  20. package/lib-dist/engine-handling/add-to-app-wrapper.d.ts +12 -0
  21. package/lib-dist/engine-handling/add-to-app-wrapper.js +73 -0
  22. package/lib-dist/engine-handling/create-app-wrapper.d.ts +13 -0
  23. package/lib-dist/engine-handling/create-app-wrapper.js +68 -0
  24. package/lib-dist/engine-handling/file-helpers.d.ts +2 -0
  25. package/lib-dist/engine-handling/file-helpers.js +20 -0
  26. package/lib-dist/engine-handling/framework-registration.d.ts +1 -0
  27. package/lib-dist/engine-handling/framework-registration.js +10 -0
  28. package/lib-dist/engine-handling/generate-initial-payload.d.ts +40 -0
  29. package/lib-dist/engine-handling/generate-initial-payload.js +93 -0
  30. package/lib-dist/engine-handling/server-environment.d.ts +17 -0
  31. package/lib-dist/engine-handling/server-environment.js +18 -0
  32. package/lib-dist/index.d.ts +3 -7
  33. package/lib-dist/index.js +119 -18
  34. package/package.json +10 -12
  35. package/src/index.tsx +44 -0
  36. package/src/lib/api.ts +10 -8
  37. package/src/main.tsx +12 -0
  38. package/vite.config.ts +16 -0
  39. package/app.config.js +0 -22
  40. package/src/api.ts +0 -6
  41. package/src/client.tsx +0 -8
  42. package/src/engine-handling/server-environment.ts +0 -30
  43. package/src/integrations/tanstack-query/layout.tsx +0 -5
  44. package/src/integrations/tanstack-query/root-provider.tsx +0 -15
  45. package/src/logo.svg +0 -44
  46. package/src/routeTree.gen.ts +0 -88
  47. package/src/router.tsx +0 -32
  48. package/src/routes/__root.tsx +0 -86
  49. package/src/routes/api/add-to-app.ts +0 -21
  50. package/src/routes/api/create-app.ts +0 -21
  51. package/src/routes/api/dry-run-add-to-app.ts +0 -16
  52. package/src/routes/api/dry-run-create-app.ts +0 -16
  53. package/src/routes/api/initial-payload.ts +0 -10
  54. package/src/routes/api/load-remote-add-on.ts +0 -42
  55. package/src/routes/api/load-starter.ts +0 -47
  56. package/src/routes/api/shutdown.ts +0 -11
  57. package/src/routes/index.tsx +0 -17
  58. package/src/ssr.tsx +0 -12
  59. /package/{src → lib}/engine-handling/file-helpers.ts +0 -0
  60. /package/{src → lib}/engine-handling/framework-registration.ts +0 -0
package/lib-dist/index.js CHANGED
@@ -1,23 +1,124 @@
1
1
  import { dirname, resolve } from 'node:path';
2
2
  import { fileURLToPath } from 'node:url';
3
- export function launchUI({ mode, addOns, options, forcedMode, forcedAddOns, }) {
4
- const projectPath = process.cwd();
5
- delete process.env.NODE_ENV;
6
- process.env.CTA_ADD_ONS = addOns?.join(',') || '';
7
- process.env.CTA_PROJECT_PATH = projectPath;
8
- process.env.CTA_OPTIONS = options ? JSON.stringify(options) : '';
9
- process.env.CTA_MODE = mode;
10
- if (forcedMode) {
11
- process.env.CTA_FORCED_ROUTER_MODE = forcedMode;
3
+ import express from 'express';
4
+ import cors from 'cors';
5
+ import { AddOnCompiledSchema, StarterCompiledSchema, } from '@tanstack/cta-engine';
6
+ import { addToAppWrapper } from './engine-handling/add-to-app-wrapper.js';
7
+ import { createAppWrapper } from './engine-handling/create-app-wrapper.js';
8
+ import { generateInitialPayload } from './engine-handling/generate-initial-payload.js';
9
+ import { setServerEnvironment } from './engine-handling/server-environment.js';
10
+ export function launchUI(options) {
11
+ const { port: requestedPort, ...rest } = options;
12
+ setServerEnvironment(rest);
13
+ const app = express();
14
+ app.use(cors());
15
+ app.use(express.json());
16
+ app.use(express.urlencoded({ extended: true }));
17
+ const launchUI = !process.env.CTA_DISABLE_UI;
18
+ if (launchUI) {
19
+ const packagePath = resolve(dirname(fileURLToPath(import.meta.url)), '..');
20
+ app.use(express.static(resolve(packagePath, 'dist')));
12
21
  }
13
- if (forcedAddOns) {
14
- process.env.CTA_FORCED_ADD_ONS = forcedAddOns.join(',');
15
- }
16
- const developerPath = resolve(dirname(fileURLToPath(import.meta.url)), '..');
17
- const configPath = resolve(developerPath, './app.config.js');
18
- process.chdir(developerPath);
19
- import(configPath).then(async (config) => {
20
- const out = await config.default;
21
- await out.dev();
22
+ app.post('/api/add-to-app', async (req, res) => {
23
+ await addToAppWrapper(req.body.addOns, {
24
+ response: res,
25
+ });
26
+ });
27
+ app.post('/api/create-app', async (req, res) => {
28
+ await createAppWrapper(req.body.options, {
29
+ response: res,
30
+ });
31
+ });
32
+ app.post('/api/dry-run-add-to-app', async (req, res) => {
33
+ res.send(await addToAppWrapper(req.body.addOns, {
34
+ dryRun: true,
35
+ }));
36
+ });
37
+ app.post('/api/dry-run-create-app', async (req, res) => {
38
+ res.send(await createAppWrapper(req.body.options, {
39
+ dryRun: true,
40
+ }));
41
+ });
42
+ app.get('/api/initial-payload', async (_req, res) => {
43
+ res.send(await generateInitialPayload());
44
+ });
45
+ app.get('/api/load-remote-add-on', async (req, res) => {
46
+ const { url } = req.query;
47
+ if (!url) {
48
+ res.status(400).send('URL is required');
49
+ return;
50
+ }
51
+ try {
52
+ const response = await fetch(url);
53
+ const data = await response.json();
54
+ const parsed = AddOnCompiledSchema.safeParse(data);
55
+ if (!parsed.success) {
56
+ res.status(400).json({ error: 'Invalid add-on data' });
57
+ }
58
+ else {
59
+ res.json({
60
+ id: url,
61
+ name: parsed.data.name,
62
+ description: parsed.data.description,
63
+ version: parsed.data.version,
64
+ author: parsed.data.author,
65
+ license: parsed.data.license,
66
+ link: parsed.data.link,
67
+ smallLogo: parsed.data.smallLogo,
68
+ logo: parsed.data.logo,
69
+ type: parsed.data.type,
70
+ modes: parsed.data.modes,
71
+ });
72
+ }
73
+ }
74
+ catch {
75
+ res.status(500).send('Failed to load add-on');
76
+ }
77
+ });
78
+ app.get('/api/load-starter', async (req, res) => {
79
+ const { url } = req.query;
80
+ if (!url) {
81
+ res.status(400).send('URL is required');
82
+ return;
83
+ }
84
+ try {
85
+ const response = await fetch(url);
86
+ const data = await response.json();
87
+ const parsed = StarterCompiledSchema.safeParse(data);
88
+ if (!parsed.success) {
89
+ res.status(400).json({ error: 'Invalid starter data' });
90
+ }
91
+ else {
92
+ res.json({
93
+ url,
94
+ id: parsed.data.id,
95
+ name: parsed.data.name,
96
+ description: parsed.data.description,
97
+ version: parsed.data.version,
98
+ author: parsed.data.author,
99
+ license: parsed.data.license,
100
+ dependsOn: parsed.data.dependsOn,
101
+ mode: parsed.data.mode,
102
+ typescript: parsed.data.typescript,
103
+ tailwind: parsed.data.tailwind,
104
+ banner: parsed.data.banner
105
+ ? url.replace('starter.json', parsed.data.banner)
106
+ : undefined,
107
+ });
108
+ }
109
+ }
110
+ catch {
111
+ res.status(500).send('Failed to load starter');
112
+ }
113
+ });
114
+ app.post('/api/shutdown', (_req, res) => {
115
+ setTimeout(() => {
116
+ process.exit(0);
117
+ }, 50);
118
+ res.send({ shutdown: true });
119
+ });
120
+ const port = requestedPort || process.env.PORT || 8080;
121
+ app.listen(port, () => {
122
+ console.log(`Create TanStack ${launchUI ? 'App' : 'API'} is running on http://localhost:${port}`);
22
123
  });
23
124
  }
package/package.json CHANGED
@@ -24,17 +24,14 @@
24
24
  "@tailwindcss/vite": "^4.0.6",
25
25
  "@tanstack/react-query": "^5.66.5",
26
26
  "@tanstack/react-query-devtools": "^5.66.5",
27
- "@tanstack/react-router": "^1.114.3",
28
- "@tanstack/react-router-devtools": "^1.114.3",
29
- "@tanstack/react-router-with-query": "^1.114.3",
30
- "@tanstack/react-start": "^1.114.3",
31
- "@tanstack/router-plugin": "^1.114.3",
32
27
  "@uiw/codemirror-theme-github": "^4.23.10",
33
28
  "@uiw/react-codemirror": "^4.23.10",
34
29
  "class-variance-authority": "^0.7.1",
35
30
  "clsx": "^2.1.1",
31
+ "cors": "^2.8.5",
36
32
  "embla-carousel-react": "^8.6.0",
37
33
  "execa": "^9.5.2",
34
+ "express": "^4.21.2",
38
35
  "jotai-tanstack-query": "^0.9.0",
39
36
  "lucide-react": "^0.476.0",
40
37
  "next-themes": "^0.4.6",
@@ -45,27 +42,28 @@
45
42
  "tailwind-merge": "^3.0.2",
46
43
  "tailwindcss": "^4.0.6",
47
44
  "tailwindcss-animate": "^1.0.7",
48
- "vinxi": "^0.5.3",
49
45
  "vite-tsconfig-paths": "^5.1.4",
50
46
  "zustand": "^5.0.3",
51
- "@tanstack/cta-engine": "0.10.0-alpha.21",
52
- "@tanstack/cta-framework-react-cra": "0.10.0-alpha.21",
53
- "@tanstack/cta-framework-solid": "0.10.0-alpha.21"
47
+ "@tanstack/cta-engine": "0.10.0-alpha.26",
48
+ "@tanstack/cta-framework-solid": "0.10.0-alpha.26",
49
+ "@tanstack/cta-framework-react-cra": "0.10.0-alpha.26"
54
50
  },
55
51
  "devDependencies": {
56
52
  "@testing-library/dom": "^10.4.0",
57
53
  "@testing-library/react": "^16.2.0",
54
+ "@types/cors": "^2.8.17",
55
+ "@types/express": "^5.0.1",
58
56
  "@types/node": "^22.14.1",
59
57
  "@types/react": "^19.0.8",
60
58
  "@types/react-dom": "^19.0.3",
61
- "@vitejs/plugin-react": "^4.3.4",
59
+ "@vitejs/plugin-react": "^4.4.1",
62
60
  "@vitest/coverage-v8": "3.1.1",
63
61
  "jsdom": "^26.0.0",
64
62
  "typescript": "^5.7.2",
65
- "vite": "^6.1.0",
63
+ "vite": "^6.3.3",
66
64
  "vitest": "^3.0.5",
67
65
  "web-vitals": "^4.2.4"
68
66
  },
69
- "version": "0.10.0-alpha.24",
67
+ "version": "0.10.0-alpha.26",
70
68
  "scripts": {}
71
69
  }
package/src/index.tsx ADDED
@@ -0,0 +1,44 @@
1
+ import { QueryClient, QueryClientProvider } from '@tanstack/react-query'
2
+ import FileNavigator from '@/components/file-navigator'
3
+ import StartupDialog from '@/components/startup-dialog'
4
+
5
+ import {
6
+ SidebarProvider,
7
+ SidebarTrigger,
8
+ useSidebar,
9
+ } from '@/components/ui/sidebar'
10
+ import { Toaster } from '@/components/toaster'
11
+
12
+ import { AppSidebar } from '@/components/cta-sidebar'
13
+
14
+ const queryClient = new QueryClient()
15
+
16
+ function Content() {
17
+ const { open } = useSidebar()
18
+
19
+ return (
20
+ <main
21
+ className={
22
+ open ? 'w-full max-w-[calc(100%-370px)]' : 'w-full max-w-[100%]'
23
+ }
24
+ >
25
+ <SidebarTrigger className="m-2" />
26
+ <div className="pl-3">
27
+ <FileNavigator />
28
+ <StartupDialog />
29
+ </div>
30
+ </main>
31
+ )
32
+ }
33
+
34
+ export default function RootComponent() {
35
+ return (
36
+ <QueryClientProvider client={queryClient}>
37
+ <SidebarProvider>
38
+ <AppSidebar />
39
+ <Content />
40
+ <Toaster />
41
+ </SidebarProvider>
42
+ </QueryClientProvider>
43
+ )
44
+ }
package/src/lib/api.ts CHANGED
@@ -2,12 +2,14 @@ import type { SerializedOptions } from '@tanstack/cta-engine'
2
2
 
3
3
  import type { AddOnInfo, DryRunOutput, InitialData, StarterInfo } from '@/types'
4
4
 
5
+ const baseUrl = import.meta.env.VITE_API_BASE_URL || ''
6
+
5
7
  export async function createAppStreaming(
6
8
  options: SerializedOptions,
7
9
  chosenAddOns: Array<string>,
8
10
  projectStarter?: StarterInfo,
9
11
  ) {
10
- return await fetch('/api/create-app', {
12
+ return await fetch(`${baseUrl}/api/create-app`, {
11
13
  method: 'POST',
12
14
  body: JSON.stringify({
13
15
  options: {
@@ -23,7 +25,7 @@ export async function createAppStreaming(
23
25
  }
24
26
 
25
27
  export async function addToAppStreaming(chosenAddOns: Array<string>) {
26
- return await fetch('/api/add-to-app', {
28
+ return await fetch(`${baseUrl}/api/add-to-app`, {
27
29
  method: 'POST',
28
30
  body: JSON.stringify({
29
31
  addOns: chosenAddOns,
@@ -35,23 +37,23 @@ export async function addToAppStreaming(chosenAddOns: Array<string>) {
35
37
  }
36
38
 
37
39
  export function shutdown() {
38
- return fetch('/api/shutdown', {
40
+ return fetch(`${baseUrl}/api/shutdown`, {
39
41
  method: 'POST',
40
42
  })
41
43
  }
42
44
 
43
45
  export async function loadRemoteAddOn(url: string) {
44
- const response = await fetch(`/api/load-remote-add-on?url=${url}`)
46
+ const response = await fetch(`${baseUrl}/api/load-remote-add-on?url=${url}`)
45
47
  return (await response.json()) as AddOnInfo | { error: string }
46
48
  }
47
49
 
48
50
  export async function loadRemoteStarter(url: string) {
49
- const response = await fetch(`/api/load-starter?url=${url}`)
51
+ const response = await fetch(`${baseUrl}/api/load-starter?url=${url}`)
50
52
  return (await response.json()) as StarterInfo | { error: string }
51
53
  }
52
54
 
53
55
  export async function loadInitialData() {
54
- const payloadReq = await fetch('/api/initial-payload')
56
+ const payloadReq = await fetch(`${baseUrl}/api/initial-payload`)
55
57
  return (await payloadReq.json()) as InitialData
56
58
  }
57
59
 
@@ -60,7 +62,7 @@ export async function dryRunCreateApp(
60
62
  chosenAddOns: Array<string>,
61
63
  projectStarter?: StarterInfo,
62
64
  ) {
63
- const outputReq = await fetch('/api/dry-run-create-app', {
65
+ const outputReq = await fetch(`${baseUrl}/api/dry-run-create-app`, {
64
66
  method: 'POST',
65
67
  headers: {
66
68
  'Content-Type': 'application/json',
@@ -77,7 +79,7 @@ export async function dryRunCreateApp(
77
79
  }
78
80
 
79
81
  export async function dryRunAddToApp(addOns: Array<string>) {
80
- const outputReq = await fetch('/api/dry-run-add-to-app', {
82
+ const outputReq = await fetch(`${baseUrl}/api/dry-run-add-to-app`, {
81
83
  method: 'POST',
82
84
  headers: {
83
85
  'Content-Type': 'application/json',
package/src/main.tsx ADDED
@@ -0,0 +1,12 @@
1
+ import React from 'react'
2
+ import ReactDOM from 'react-dom/client'
3
+
4
+ import './styles.css'
5
+
6
+ import RootComponent from './index'
7
+
8
+ const rootElement = document.getElementById('root')
9
+ if (rootElement) {
10
+ const root = ReactDOM.createRoot(rootElement)
11
+ root.render(<RootComponent />)
12
+ }
package/vite.config.ts ADDED
@@ -0,0 +1,16 @@
1
+ import { defineConfig } from 'vite'
2
+ import react from '@vitejs/plugin-react'
3
+ import tsconfigPaths from 'vite-tsconfig-paths'
4
+ import tailwind from '@tailwindcss/vite'
5
+
6
+ export default defineConfig({
7
+ plugins: [react(), tsconfigPaths(), tailwind()],
8
+ server: {
9
+ open: true,
10
+ port: 3000,
11
+ },
12
+ build: {
13
+ outDir: 'dist',
14
+ sourcemap: true,
15
+ },
16
+ })
package/app.config.js DELETED
@@ -1,22 +0,0 @@
1
- import { defineConfig } from '@tanstack/react-start/config'
2
- import viteTsConfigPaths from 'vite-tsconfig-paths'
3
- import tailwindcss from '@tailwindcss/vite'
4
-
5
- export default defineConfig({
6
- tsr: {
7
- appDirectory: 'src',
8
- },
9
- vite: {
10
- forceOptimizeDeps: true,
11
- plugins: [
12
- // this is the plugin that enables path aliases
13
- viteTsConfigPaths({
14
- projects: ['./tsconfig.json'],
15
- }),
16
- tailwindcss(),
17
- ],
18
- optimizeDeps: {
19
- exclude: [],
20
- },
21
- },
22
- })
package/src/api.ts DELETED
@@ -1,6 +0,0 @@
1
- import {
2
- createStartAPIHandler,
3
- defaultAPIFileRouteHandler,
4
- } from '@tanstack/react-start/api'
5
-
6
- export default createStartAPIHandler(defaultAPIFileRouteHandler)
package/src/client.tsx DELETED
@@ -1,8 +0,0 @@
1
- import { hydrateRoot } from 'react-dom/client'
2
- import { StartClient } from '@tanstack/react-start'
3
-
4
- import { createRouter } from './router'
5
-
6
- const router = createRouter()
7
-
8
- hydrateRoot(document, <StartClient router={router} />)
@@ -1,30 +0,0 @@
1
- import type { Mode, SerializedOptions } from '@tanstack/cta-engine'
2
-
3
- export function getProjectPath(): string {
4
- return process.env.CTA_PROJECT_PATH!
5
- }
6
-
7
- export function getApplicationMode(): 'add' | 'setup' {
8
- return process.env.CTA_MODE as 'add' | 'setup'
9
- }
10
-
11
- export function getProjectOptions(): SerializedOptions {
12
- return JSON.parse(process.env.CTA_OPTIONS!)
13
- }
14
-
15
- export function getForcedRouterMode(): Mode | undefined {
16
- if (!process.env.CTA_FORCED_ROUTER_MODE) {
17
- return undefined
18
- }
19
- return process.env.CTA_FORCED_ROUTER_MODE as Mode
20
- }
21
-
22
- export function getForcedAddOns(): Array<string> | undefined {
23
- return (process.env.CTA_FORCED_ADD_ONS?.split(',') || []).filter(
24
- (addOn: string) => addOn !== '',
25
- )
26
- }
27
-
28
- export function getRegistry(): string | undefined {
29
- return process.env.CTA_REGISTRY
30
- }
@@ -1,5 +0,0 @@
1
- import { ReactQueryDevtools } from '@tanstack/react-query-devtools'
2
-
3
- export default function LayoutAddition() {
4
- return <ReactQueryDevtools buttonPosition="bottom-right" />
5
- }
@@ -1,15 +0,0 @@
1
- import { QueryClient, QueryClientProvider } from '@tanstack/react-query'
2
-
3
- const queryClient = new QueryClient()
4
-
5
- export function getContext() {
6
- return {
7
- queryClient,
8
- }
9
- }
10
-
11
- export function Provider({ children }: { children: React.ReactNode }) {
12
- return (
13
- <QueryClientProvider client={queryClient}>{children}</QueryClientProvider>
14
- )
15
- }
package/src/logo.svg DELETED
@@ -1,44 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <svg id="Layer_1"
3
- xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 841.9 595.3">
4
- <!-- Generator: Adobe Illustrator 29.3.0, SVG Export Plug-In . SVG Version: 2.1.0 Build 146) -->
5
- <defs>
6
- <style>
7
- .st0 {
8
- fill: #9ae7fc;
9
- }
10
-
11
- .st1 {
12
- fill: #61dafb;
13
- }
14
- </style>
15
- </defs>
16
- <g>
17
- <path class="st1" d="M666.3,296.5c0-32.5-40.7-63.3-103.1-82.4,14.4-63.6,8-114.2-20.2-130.4-6.5-3.8-14.1-5.6-22.4-5.6v22.3c4.6,0,8.3.9,11.4,2.6,13.6,7.8,19.5,37.5,14.9,75.7-1.1,9.4-2.9,19.3-5.1,29.4-19.6-4.8-41-8.5-63.5-10.9-13.5-18.5-27.5-35.3-41.6-50,32.6-30.3,63.2-46.9,84-46.9v-22.3c-27.5,0-63.5,19.6-99.9,53.6-36.4-33.8-72.4-53.2-99.9-53.2v22.3c20.7,0,51.4,16.5,84,46.6-14,14.7-28,31.4-41.3,49.9-22.6,2.4-44,6.1-63.6,11-2.3-10-4-19.7-5.2-29-4.7-38.2,1.1-67.9,14.6-75.8,3-1.8,6.9-2.6,11.5-2.6v-22.3c-8.4,0-16,1.8-22.6,5.6-28.1,16.2-34.4,66.7-19.9,130.1-62.2,19.2-102.7,49.9-102.7,82.3s40.7,63.3,103.1,82.4c-14.4,63.6-8,114.2,20.2,130.4,6.5,3.8,14.1,5.6,22.5,5.6,27.5,0,63.5-19.6,99.9-53.6,36.4,33.8,72.4,53.2,99.9,53.2,8.4,0,16-1.8,22.6-5.6,28.1-16.2,34.4-66.7,19.9-130.1,62-19.1,102.5-49.9,102.5-82.3zm-130.2-66.7c-3.7,12.9-8.3,26.2-13.5,39.5-4.1-8-8.4-16-13.1-24-4.6-8-9.5-15.8-14.4-23.4,14.2,2.1,27.9,4.7,41,7.9zm-45.8,106.5c-7.8,13.5-15.8,26.3-24.1,38.2-14.9,1.3-30,2-45.2,2s-30.2-.7-45-1.9c-8.3-11.9-16.4-24.6-24.2-38-7.6-13.1-14.5-26.4-20.8-39.8,6.2-13.4,13.2-26.8,20.7-39.9,7.8-13.5,15.8-26.3,24.1-38.2,14.9-1.3,30-2,45.2-2s30.2.7,45,1.9c8.3,11.9,16.4,24.6,24.2,38,7.6,13.1,14.5,26.4,20.8,39.8-6.3,13.4-13.2,26.8-20.7,39.9zm32.3-13c5.4,13.4,10,26.8,13.8,39.8-13.1,3.2-26.9,5.9-41.2,8,4.9-7.7,9.8-15.6,14.4-23.7,4.6-8,8.9-16.1,13-24.1zm-101.4,106.7c-9.3-9.6-18.6-20.3-27.8-32,9,.4,18.2.7,27.5.7s18.7-.2,27.8-.7c-9,11.7-18.3,22.4-27.5,32zm-74.4-58.9c-14.2-2.1-27.9-4.7-41-7.9,3.7-12.9,8.3-26.2,13.5-39.5,4.1,8,8.4,16,13.1,24s9.5,15.8,14.4,23.4zm73.9-208.1c9.3,9.6,18.6,20.3,27.8,32-9-.4-18.2-.7-27.5-.7s-18.7.2-27.8.7c9-11.7,18.3-22.4,27.5-32zm-74,58.9c-4.9,7.7-9.8,15.6-14.4,23.7-4.6,8-8.9,16-13,24-5.4-13.4-10-26.8-13.8-39.8,13.1-3.1,26.9-5.8,41.2-7.9zm-90.5,125.2c-35.4-15.1-58.3-34.9-58.3-50.6s22.9-35.6,58.3-50.6c8.6-3.7,18-7,27.7-10.1,5.7,19.6,13.2,40,22.5,60.9-9.2,20.8-16.6,41.1-22.2,60.6-9.9-3.1-19.3-6.5-28-10.2zm53.8,142.9c-13.6-7.8-19.5-37.5-14.9-75.7,1.1-9.4,2.9-19.3,5.1-29.4,19.6,4.8,41,8.5,63.5,10.9,13.5,18.5,27.5,35.3,41.6,50-32.6,30.3-63.2,46.9-84,46.9-4.5-.1-8.3-1-11.3-2.7zm237.2-76.2c4.7,38.2-1.1,67.9-14.6,75.8-3,1.8-6.9,2.6-11.5,2.6-20.7,0-51.4-16.5-84-46.6,14-14.7,28-31.4,41.3-49.9,22.6-2.4,44-6.1,63.6-11,2.3,10.1,4.1,19.8,5.2,29.1zm38.5-66.7c-8.6,3.7-18,7-27.7,10.1-5.7-19.6-13.2-40-22.5-60.9,9.2-20.8,16.6-41.1,22.2-60.6,9.9,3.1,19.3,6.5,28.1,10.2,35.4,15.1,58.3,34.9,58.3,50.6,0,15.7-23,35.6-58.4,50.6zm-264.9-268.7z"/>
18
- <circle class="st1" cx="420.9" cy="296.5" r="45.7"/>
19
- <path class="st1" d="M520.5,78.1"/>
20
- </g>
21
- <circle class="st0" cx="420.8" cy="296.6" r="43"/>
22
- <path class="st1" d="M466.1,296.6c0,25-20.2,45.2-45.2,45.2s-45.2-20.2-45.2-45.2,20.2-45.2,45.2-45.2,45.2,20.2,45.2,45.2ZM386,295.6v-6.3c0-1.1,1.2-5.1,1.8-6.2,1-1.9,2.9-3.5,4.6-4.7l-3.4-3.4c4-3.6,9.4-3.7,13.7-.7,1.9-4.7,6.6-7.1,11.6-6.7l-.8,4.2c5.9.2,13.1,4.1,13.1,10.8s0,.5-.7.7c-1.7.3-3.4-.4-5-.6s-1.2-.4-1.2.3,2.5,4.1,3,5.5,1,3.5.8,5.3c-5.6-.8-10.5-3.2-14.8-6.7.3,2.6,4.1,21.7,5.3,21.9s.8-.6,1-1.1,1.3-6.3,1.3-6.7c0-1-1.7-1.8-2.2-2.8-1.2-2.7,1.3-4.7,3.7-3.3s5.2,6.2,7.5,7.3,13,1.4,14.8,3.3-2.9,4.6-1.5,7.6c6.7-2.6,13.5-3.3,20.6-2.5,3.1-9.7,3.1-20.3-.9-29.8-7.3,0-14.7-3.6-17.2-10.8-2.5-7.2-.7-8.6-1.3-9.3-.8-1-6.3.6-7.4-1.5s.3-1.1-.2-1.4-1.9-.6-2.6-.8c-26-6.4-51.3,15.7-49.7,42.1,0,1.6,1.6,10.3,2.4,11.1s4.8,0,6.3,0,3.7.3,5,.5c2.9.4,7.2,2.4,9.4,2.5s2.4-.8,2.7-2.4c.4-2.6.5-7.4.5-10.1s-1-7.8-1.3-11.6c-.9-.2-.7,0-.9.5-.7,1.3-1.1,3.2-1.9,4.8s-5.2,8.7-5.7,9-.7-.5-.8-.8c-1.6-3.5-2-7.9-1.9-11.8-.9-1-5.4,4.9-6.7,5.3l-.8-.4v-.3h-.2ZM455.6,276.4c1.1-1.2-6-8.9-7.2-10-3-2.7-5.4-4.5-3.5,1.4s5.7,7.8,10.6,8.5h.1ZM410.9,270.1c-.4-.5-6.1,2.9-5.5,4.6,1.9-1.3,5.9-1.7,5.5-4.6ZM400.4,276.4c-.3-2.4-6.3-2.7-7.2-1s1.6,1.4,1.9,1.4c1.8.3,3.5-.6,5.2-.4h.1ZM411.3,276.8c3.8,1.3,6.6,3.6,10.9,3.7s0-3-1.2-3.9c-2.2-1.7-5.1-2.4-7.8-2.4s-1.6-.3-1.4.4c2.8.6,7.3.7,8.4,3.8-2.3-.3-3.9-1.6-6.2-2s-2.5-.5-2.6.3h0ZM420.6,290.3c-.8-5.1-5.7-10.8-10.9-11.6s-1.3-.4-.8.5,4.7,3.2,5.7,4,4.5,4.2,2.1,3.8-8.4-7.8-9.4-6.7c.2.9,1.1,1.9,1.7,2.7,3,3.8,6.9,6.8,11.8,7.4h-.2ZM395.3,279.8c-5,1.1-6.9,6.3-6.7,11,.7.8,5-3.8,5.4-4.5s2.7-4.6,1.1-4-2.9,4.4-4.2,4.6.2-2.1.4-2.5c1.1-1.6,2.9-3.1,4-4.6h0ZM400.4,281.5c-.4-.5-2,1.3-2.3,1.7-2.9,3.9-2.6,10.2-1.5,14.8.8.2.8-.3,1.2-.7,3-3.8,5.5-10.5,4.5-15.4-2.1,3.1-3.1,7.3-3.6,11h-1.3c0-4,1.9-7.7,3-11.4h0ZM426.9,305.9c0-1.7-1.7-1.4-2.5-1.9s-1.3-1.9-3-1.4c1.3,2.1,3,3.2,5.5,3.4h0ZM417.2,308.5c7.6.7,5.5-1.9,1.4-5.5-1.3-.3-1.5,4.5-1.4,5.5ZM437,309.7c-3.5-.3-7.8-2-11.2-2.1s-1.3,0-1.9.7c4,1.3,8.4,1.7,12.1,4l1-2.5h0ZM420.5,312.8c-7.3,0-15.1,3.7-20.4,8.8s-4.8,5.3-4.8,6.2c0,1.8,8.6,6.2,10.5,6.8,12.1,4.8,27.5,3.5,38.2-4.2s3.1-2.7,0-6.2c-5.7-6.6-14.7-11.4-23.4-11.3h-.1ZM398.7,316.9c-1.4-1.4-5-1.9-7-2.1s-5.3-.3-6.9.6l13.9,1.4h0ZM456.9,314.8h-7.4c-.9,0-4.9,1.1-6,1.6s-.8.6,0,.5c2.4,0,5.1-1,7.6-1.3s3.5.2,5.1,0,1.3-.3.6-.8h0Z"/>
23
- <path class="st0" d="M386,295.6l.8.4c1.3-.3,5.8-6.2,6.7-5.3,0,3.9.3,8.3,1.9,11.8s0,1.2.8.8,5.1-7.8,5.7-9,1.3-3.5,1.9-4.8,0-.7.9-.5c.3,3.8,1.2,7.8,1.3,11.6s0,7.5-.5,10.1-1.1,2.4-2.7,2.4-6.5-2.1-9.4-2.5-3.7-.5-5-.5-5.4,1.1-6.3,0-2.2-9.5-2.4-11.1c-1.5-26.4,23.7-48.5,49.7-42.1s2.2.4,2.6.8,0,1,.2,1.4c1.1,2,6.5.5,7.4,1.5s.4,6.9,1.3,9.3c2.5,7.2,10,10.9,17.2,10.8,4,9.4,4,20.1.9,29.8-7.2-.7-13.9,0-20.6,2.5-1.3-3.1,4.1-5.1,1.5-7.6s-11.8-1.9-14.8-3.3-5.4-6.1-7.5-7.3-4.9.6-3.7,3.3,2.1,1.8,2.2,2.8-1,6.2-1.3,6.7-.3,1.3-1,1.1c-1.1-.3-5-19.3-5.3-21.9,4.3,3.5,9.2,5.9,14.8,6.7.2-1.9-.3-3.5-.8-5.3s-3-5.1-3-5.5c0-.8.9-.3,1.2-.3,1.6,0,3.3.8,5,.6s.7.3.7-.7c0-6.6-7.2-10.6-13.1-10.8l.8-4.2c-5.1-.3-9.6,2-11.6,6.7-4.3-3-9.8-3-13.7.7l3.4,3.4c-1.8,1.3-3.5,2.8-4.6,4.7s-1.8,5.1-1.8,6.2v6.6h.2ZM431.6,265c7.8,2.1,8.7-3.5.2-1.3l-.2,1.3ZM432.4,270.9c.3.6,6.4-.4,5.8-2.3s-4.6.6-5.7.6l-.2,1.7h.1ZM434.5,276c.8,1.2,5.7-1.8,5.5-2.7-.4-1.9-6.6,1.2-5.5,2.7ZM442.9,276.4c-.9-.9-5,2.8-4.6,4,.6,2.4,5.7-3,4.6-4ZM445.1,279.9c-.3.2-3.1,4.6-1.5,5s3.5-3.4,3.5-4-1.3-1.3-2-.9h0ZM448.9,287.4c2.1.8,3.8-5.1,2.3-5.5-1.9-.6-2.6,5.1-2.3,5.5ZM457.3,288.6c.5-1.7,1.1-4.7-1-5.5-1,.3-.6,3.9-.6,4.8l.3.5,1.3.2h0Z"/>
24
- <path class="st0" d="M455.6,276.4c-5-.8-9.1-3.6-10.6-8.5s.5-4,3.5-1.4,8.3,8.7,7.2,10h-.1Z"/>
25
- <path class="st0" d="M420.6,290.3c-4.9-.6-8.9-3.6-11.8-7.4s-1.5-1.8-1.7-2.7c1-1,8.5,6.6,9.4,6.7,2.4.4-1.8-3.5-2.1-3.8-1-.8-5.4-3.5-5.7-4-.4-.8.5-.5.8-.5,5.2.8,10.1,6.6,10.9,11.6h.2Z"/>
26
- <path class="st0" d="M400.4,281.5c-1.1,3.7-3,7.3-3,11.4h1.3c.5-3.7,1.5-7.8,3.6-11,1,4.8-1.5,11.6-4.5,15.4s-.4.8-1.2.7c-1.1-4.5-1.3-10.8,1.5-14.8s1.9-2.2,2.3-1.7h0Z"/>
27
- <path class="st0" d="M411.3,276.8c0-.8,2.1-.4,2.6-.3,2.4.4,4,1.7,6.2,2-1.2-3.1-5.7-3.2-8.4-3.8,0-.8.9-.4,1.4-.4,2.8,0,5.6.7,7.8,2.4,2.2,1.7,4,4,1.2,3.9-4.3,0-7.1-2.4-10.9-3.7h0Z"/>
28
- <path class="st0" d="M395.3,279.8c-1.1,1.6-3,3-4,4.6s-1.9,2.8-.4,2.5,2.8-4,4.2-4.6-.9,3.6-1.1,4c-.4.7-4.7,5.2-5.4,4.5-.2-4.6,1.8-9.9,6.7-11h0Z"/>
29
- <path class="st0" d="M437,309.7l-1,2.5c-3.6-2.3-8-2.8-12.1-4,.5-.7,1.1-.7,1.9-.7,3.4,0,7.8,1.8,11.2,2.1h0Z"/>
30
- <path class="st0" d="M417.2,308.5c0-1,0-5.8,1.4-5.5,4,3.5,6.1,6.2-1.4,5.5Z"/>
31
- <path class="st0" d="M400.4,276.4c-1.8-.3-3.5.7-5.2.4s-2.3-.8-1.9-1.4c.8-1.6,6.9-1.4,7.2,1h-.1Z"/>
32
- <path class="st0" d="M410.9,270.1c.4,3-3.6,3.3-5.5,4.6-.6-1.8,5-5.1,5.5-4.6Z"/>
33
- <path class="st0" d="M426.9,305.9c-2.5-.2-4.1-1.3-5.5-3.4,1.7-.4,2,.8,3,1.4s2.6.3,2.5,1.9h0Z"/>
34
- <path class="st1" d="M432.4,270.9l.2-1.7c1.1,0,5.1-2.2,5.7-.6s-5.5,2.9-5.8,2.3h-.1Z"/>
35
- <path class="st1" d="M431.6,265l.2-1.3c8.4-2.1,7.7,3.4-.2,1.3Z"/>
36
- <path class="st1" d="M434.5,276c-1.1-1.5,5.1-4.6,5.5-2.7s-4.6,4-5.5,2.7Z"/>
37
- <path class="st1" d="M442.9,276.4c1.1,1.1-4,6.4-4.6,4s3.7-4.9,4.6-4Z"/>
38
- <path class="st1" d="M445.1,279.9c.7-.4,2.1,0,2,.9s-2.4,4.4-3.5,4,1.3-4.8,1.5-5h0Z"/>
39
- <path class="st1" d="M448.9,287.4c-.3-.3.4-6.1,2.3-5.5,1.4.4-.2,6.2-2.3,5.5Z"/>
40
- <path class="st1" d="M457.3,288.6l-1.3-.2-.3-.5c0-.9-.4-4.6.6-4.8,2.1.8,1.5,3.8,1,5.5h0Z"/>
41
- <path class="st0" d="M420.5,312.8c8.9,0,17.9,4.7,23.4,11.3,5.6,6.6,3.8,3.5,0,6.2-10.7,7.7-26.1,9-38.2,4.2-1.9-.8-10.5-5.1-10.5-6.8s4-5.3,4.8-6.2c5.3-5,13.1-8.6,20.4-8.8h.1Z"/>
42
- <path class="st0" d="M398.7,316.9l-13.9-1.4c1.7-1,5-.8,6.9-.6s5.6.7,7,2.1h0Z"/>
43
- <path class="st0" d="M456.9,314.8c.7.5,0,.8-.6.8-1.6.2-3.5-.2-5.1,0-2.4.3-5.2,1.2-7.6,1.3s-1.1,0,0-.5,5.1-1.6,6-1.6h7.4,0Z"/>
44
- </svg>
@@ -1,88 +0,0 @@
1
- /* eslint-disable */
2
-
3
- // @ts-nocheck
4
-
5
- // noinspection JSUnusedGlobalSymbols
6
-
7
- // This file was automatically generated by TanStack Router.
8
- // You should NOT make any changes in this file as it will be overwritten.
9
- // Additionally, you should also exclude this file from your linter and/or formatter to prevent it from being checked or modified.
10
-
11
- // Import Routes
12
-
13
- import { Route as rootRoute } from './routes/__root'
14
- import { Route as IndexImport } from './routes/index'
15
-
16
- // Create/Update Routes
17
-
18
- const IndexRoute = IndexImport.update({
19
- id: '/',
20
- path: '/',
21
- getParentRoute: () => rootRoute,
22
- } as any)
23
-
24
- // Populate the FileRoutesByPath interface
25
-
26
- declare module '@tanstack/react-router' {
27
- interface FileRoutesByPath {
28
- '/': {
29
- id: '/'
30
- path: '/'
31
- fullPath: '/'
32
- preLoaderRoute: typeof IndexImport
33
- parentRoute: typeof rootRoute
34
- }
35
- }
36
- }
37
-
38
- // Create and export the route tree
39
-
40
- export interface FileRoutesByFullPath {
41
- '/': typeof IndexRoute
42
- }
43
-
44
- export interface FileRoutesByTo {
45
- '/': typeof IndexRoute
46
- }
47
-
48
- export interface FileRoutesById {
49
- __root__: typeof rootRoute
50
- '/': typeof IndexRoute
51
- }
52
-
53
- export interface FileRouteTypes {
54
- fileRoutesByFullPath: FileRoutesByFullPath
55
- fullPaths: '/'
56
- fileRoutesByTo: FileRoutesByTo
57
- to: '/'
58
- id: '__root__' | '/'
59
- fileRoutesById: FileRoutesById
60
- }
61
-
62
- export interface RootRouteChildren {
63
- IndexRoute: typeof IndexRoute
64
- }
65
-
66
- const rootRouteChildren: RootRouteChildren = {
67
- IndexRoute: IndexRoute,
68
- }
69
-
70
- export const routeTree = rootRoute
71
- ._addFileChildren(rootRouteChildren)
72
- ._addFileTypes<FileRouteTypes>()
73
-
74
- /* ROUTE_MANIFEST_START
75
- {
76
- "routes": {
77
- "__root__": {
78
- "filePath": "__root.tsx",
79
- "children": [
80
- "/"
81
- ]
82
- },
83
- "/": {
84
- "filePath": "index.tsx"
85
- }
86
- }
87
- }
88
- ROUTE_MANIFEST_END */
package/src/router.tsx DELETED
@@ -1,32 +0,0 @@
1
- import { createRouter as createTanstackRouter } from '@tanstack/react-router'
2
- import { routerWithQueryClient } from '@tanstack/react-router-with-query'
3
- import * as TanstackQuery from './integrations/tanstack-query/root-provider'
4
-
5
- // Import the generated route tree
6
- import { routeTree } from './routeTree.gen'
7
-
8
- import './styles.css'
9
-
10
- // Create a new router instance
11
- export const createRouter = () => {
12
- const router = routerWithQueryClient(
13
- createTanstackRouter({
14
- routeTree,
15
- context: {
16
- ...TanstackQuery.getContext(),
17
- },
18
- scrollRestoration: true,
19
- defaultPreloadStaleTime: 0,
20
- }),
21
- TanstackQuery.getContext().queryClient,
22
- )
23
-
24
- return router
25
- }
26
-
27
- // Register the router instance for type safety
28
- declare module '@tanstack/react-router' {
29
- interface Register {
30
- router: ReturnType<typeof createRouter>
31
- }
32
- }