\\n\\n\"}]}]}]}]},\"body\":{\"type\":\"root\",\"children\":[{\"type\":\"element\",\"tag\":\"h1\",\"props\":{\"id\":\"usage\"},\"children\":[{\"type\":\"text\",\"value\":\"Usage\"}]},{\"type\":\"element\",\"tag\":\"h2\",\"props\":{\"id\":\"recommended-file-structure\"},\"children\":[{\"type\":\"text\",\"value\":\"Recommended file structure\"}]},{\"type\":\"element\",\"tag\":\"p\",\"props\":{},\"children\":[{\"type\":\"text\",\"value\":\"Recommended but not enforced file structure. This is what you get when starting from \"},{\"type\":\"element\",\"tag\":\"a\",\"props\":{\"href\":\"../main/example-apps\"},\"children\":[{\"type\":\"text\",\"value\":\"the examples\"}]},{\"type\":\"text\",\"value\":\".\"}]},{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"code\":\".\\n├── server\\n│ ├── api\\n│ │ └── trpc\\n│ │ └── [trpc].ts # <-- tRPC HTTP handler\\n│ │ └── [..]\\n│ ├── trpc\\n│ │ ├── routers\\n│ │ │ ├── index.ts # <-- main app router\\n│ │ │ ├── todo.ts # <-- sub routers\\n│ │ │ └── [..]\\n│ │ ├── context.ts # <-- create app context\\n│ │ └── trpc.ts # <-- procedure helpers\\n├── plugins\\n│ ├── client.ts # <-- tRPC Client as a plugin\\n└── [..]\\n\",\"language\":\"graphql\"},\"children\":[{\"type\":\"element\",\"tag\":\"pre\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"__ignoreMap\":\"\"},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\"},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{},\"children\":[{\"type\":\"text\",\"value\":\".\\n├── server\\n│ ├── api\\n│ │ └── trpc\\n│ │ └── [trpc].ts # <-- tRPC HTTP handler\\n│ │ └── [..]\\n│ ├── trpc\\n│ │ ├── routers\\n│ │ │ ├── index.ts # <-- main app router\\n│ │ │ ├── todo.ts # <-- sub routers\\n│ │ │ └── [..]\\n│ │ ├── context.ts # <-- create app context\\n│ │ └── trpc.ts # <-- procedure helpers\\n├── plugins\\n│ ├── client.ts # <-- tRPC Client as a plugin\\n└── [..]\"}]}]}]}]}]},{\"type\":\"element\",\"tag\":\"h2\",\"props\":{\"id\":\"1-create-a-trpc-router\"},\"children\":[{\"type\":\"text\",\"value\":\"1. Create a tRPC router\"}]},{\"type\":\"element\",\"tag\":\"p\",\"props\":{},\"children\":[{\"type\":\"text\",\"value\":\"Initialize your tRPC backend using the \"},{\"type\":\"element\",\"tag\":\"code-inline\",\"props\":{},\"children\":[{\"type\":\"text\",\"value\":\"initTRPC\"}]},{\"type\":\"text\",\"value\":\" function and create your first router.\"}]},{\"type\":\"element\",\"tag\":\"code-group\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"code\":\"import { initTRPC } from '@trpc/server'\\n\\n// Avoid exporting the entire t-object since it's not very\\n// descriptive and can be confusing to newcomers used to t\\n// meaning translation in i18n libraries.\\nconst t = initTRPC.create()\\n\\n// Base router and procedure helpers\\nexport const router = t.router\\nexport const publicProcedure = t.procedure\\n\",\"filename\":\"server/trpc/trpc.ts\",\"language\":\"ts\"},\"children\":[{\"type\":\"element\",\"tag\":\"pre\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"__ignoreMap\":\"\"},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\"},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-d69d00\"},\"children\":[{\"type\":\"text\",\"value\":\"import\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-8358df\"},\"children\":[{\"type\":\"text\",\"value\":\" { \"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-ca0e09\"},\"children\":[{\"type\":\"text\",\"value\":\"initTRPC\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-8358df\"},\"children\":[{\"type\":\"text\",\"value\":\" } \"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-d69d00\"},\"children\":[{\"type\":\"text\",\"value\":\"from\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-8358df\"},\"children\":[{\"type\":\"text\",\"value\":\" \"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-a930e7\"},\"children\":[{\"type\":\"text\",\"value\":\"'@trpc/server'\"}]}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\"},\"children\":[]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\"},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-5fb678\"},\"children\":[{\"type\":\"text\",\"value\":\"// Avoid exporting the entire t-object since it's not very\"}]}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\"},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-5fb678\"},\"children\":[{\"type\":\"text\",\"value\":\"// descriptive and can be confusing to newcomers used to t\"}]}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\"},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-5fb678\"},\"children\":[{\"type\":\"text\",\"value\":\"// meaning translation in i18n libraries.\"}]}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\"},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-d69d00\"},\"children\":[{\"type\":\"text\",\"value\":\"const\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-8358df\"},\"children\":[{\"type\":\"text\",\"value\":\" \"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-d213e2\"},\"children\":[{\"type\":\"text\",\"value\":\"t\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-8358df\"},\"children\":[{\"type\":\"text\",\"value\":\" \"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-c3a574\"},\"children\":[{\"type\":\"text\",\"value\":\"=\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-8358df\"},\"children\":[{\"type\":\"text\",\"value\":\" \"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-d213e2\"},\"children\":[{\"type\":\"text\",\"value\":\"initTRPC\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-8358df\"},\"children\":[{\"type\":\"text\",\"value\":\".\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-e18fd1\"},\"children\":[{\"type\":\"text\",\"value\":\"create\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-8358df\"},\"children\":[{\"type\":\"text\",\"value\":\"()\"}]}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\"},\"children\":[]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\"},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-5fb678\"},\"children\":[{\"type\":\"text\",\"value\":\"// Base router and procedure helpers\"}]}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\"},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-d69d00\"},\"children\":[{\"type\":\"text\",\"value\":\"export\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-8358df\"},\"children\":[{\"type\":\"text\",\"value\":\" \"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-d69d00\"},\"children\":[{\"type\":\"text\",\"value\":\"const\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-8358df\"},\"children\":[{\"type\":\"text\",\"value\":\" \"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-d213e2\"},\"children\":[{\"type\":\"text\",\"value\":\"router\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-8358df\"},\"children\":[{\"type\":\"text\",\"value\":\" \"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-c3a574\"},\"children\":[{\"type\":\"text\",\"value\":\"=\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-8358df\"},\"children\":[{\"type\":\"text\",\"value\":\" \"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-d213e2\"},\"children\":[{\"type\":\"text\",\"value\":\"t\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-8358df\"},\"children\":[{\"type\":\"text\",\"value\":\".\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-ca0e09\"},\"children\":[{\"type\":\"text\",\"value\":\"router\"}]}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\"},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-d69d00\"},\"children\":[{\"type\":\"text\",\"value\":\"export\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-8358df\"},\"children\":[{\"type\":\"text\",\"value\":\" \"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-d69d00\"},\"children\":[{\"type\":\"text\",\"value\":\"const\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-8358df\"},\"children\":[{\"type\":\"text\",\"value\":\" \"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-d213e2\"},\"children\":[{\"type\":\"text\",\"value\":\"publicProcedure\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-8358df\"},\"children\":[{\"type\":\"text\",\"value\":\" \"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-c3a574\"},\"children\":[{\"type\":\"text\",\"value\":\"=\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-8358df\"},\"children\":[{\"type\":\"text\",\"value\":\" \"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-d213e2\"},\"children\":[{\"type\":\"text\",\"value\":\"t\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-8358df\"},\"children\":[{\"type\":\"text\",\"value\":\".\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-ca0e09\"},\"children\":[{\"type\":\"text\",\"value\":\"procedure\"}]}]}]}]}]},{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"code\":\"import { z } from 'zod'\\nimport { publicProcedure, router } from '../trpc'\\n\\nexport const appRouter = router({\\n hello: publicProcedure\\n .input(\\n z.object({\\n text: z.string().nullish(),\\n }),\\n )\\n .query(({ input }) => {\\n return {\\n greeting: `hello ${input?.text ?? 'world'}`,\\n }\\n }),\\n})\\n\\n// export type definition of API\\nexport type AppRouter = typeof appRouter\\n\",\"filename\":\"server/trpc/routers/index.ts\",\"language\":\"ts\"},\"children\":[{\"type\":\"element\",\"tag\":\"pre\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"__ignoreMap\":\"\"},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\"},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-d69d00\"},\"children\":[{\"type\":\"text\",\"value\":\"import\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-8358df\"},\"children\":[{\"type\":\"text\",\"value\":\" { \"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-ca0e09\"},\"children\":[{\"type\":\"text\",\"value\":\"z\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-8358df\"},\"children\":[{\"type\":\"text\",\"value\":\" } \"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-d69d00\"},\"children\":[{\"type\":\"text\",\"value\":\"from\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-8358df\"},\"children\":[{\"type\":\"text\",\"value\":\" \"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-a930e7\"},\"children\":[{\"type\":\"text\",\"value\":\"'zod'\"}]}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\"},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-d69d00\"},\"children\":[{\"type\":\"text\",\"value\":\"import\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-8358df\"},\"children\":[{\"type\":\"text\",\"value\":\" { \"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-ca0e09\"},\"children\":[{\"type\":\"text\",\"value\":\"publicProcedure\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-8358df\"},\"children\":[{\"type\":\"text\",\"value\":\", \"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-ca0e09\"},\"children\":[{\"type\":\"text\",\"value\":\"router\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-8358df\"},\"children\":[{\"type\":\"text\",\"value\":\" } \"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-d69d00\"},\"children\":[{\"type\":\"text\",\"value\":\"from\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-8358df\"},\"children\":[{\"type\":\"text\",\"value\":\" \"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-a930e7\"},\"children\":[{\"type\":\"text\",\"value\":\"'../trpc'\"}]}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\"},\"children\":[]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\"},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-d69d00\"},\"children\":[{\"type\":\"text\",\"value\":\"export\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-8358df\"},\"children\":[{\"type\":\"text\",\"value\":\" \"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-d69d00\"},\"children\":[{\"type\":\"text\",\"value\":\"const\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-8358df\"},\"children\":[{\"type\":\"text\",\"value\":\" \"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-d213e2\"},\"children\":[{\"type\":\"text\",\"value\":\"appRouter\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-8358df\"},\"children\":[{\"type\":\"text\",\"value\":\" \"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-c3a574\"},\"children\":[{\"type\":\"text\",\"value\":\"=\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-8358df\"},\"children\":[{\"type\":\"text\",\"value\":\" \"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-e18fd1\"},\"children\":[{\"type\":\"text\",\"value\":\"router\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-8358df\"},\"children\":[{\"type\":\"text\",\"value\":\"({\"}]}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\"},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-8358df\"},\"children\":[{\"type\":\"text\",\"value\":\" \"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-ca0e09\"},\"children\":[{\"type\":\"text\",\"value\":\"hello\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-8358df\"},\"children\":[{\"type\":\"text\",\"value\":\": \"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-ca0e09\"},\"children\":[{\"type\":\"text\",\"value\":\"publicProcedure\"}]}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\"},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-8358df\"},\"children\":[{\"type\":\"text\",\"value\":\" .\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-e18fd1\"},\"children\":[{\"type\":\"text\",\"value\":\"input\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-8358df\"},\"children\":[{\"type\":\"text\",\"value\":\"(\"}]}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\"},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-8358df\"},\"children\":[{\"type\":\"text\",\"value\":\" \"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-d213e2\"},\"children\":[{\"type\":\"text\",\"value\":\"z\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-8358df\"},\"children\":[{\"type\":\"text\",\"value\":\".\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-e18fd1\"},\"children\":[{\"type\":\"text\",\"value\":\"object\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-8358df\"},\"children\":[{\"type\":\"text\",\"value\":\"({\"}]}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\"},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-8358df\"},\"children\":[{\"type\":\"text\",\"value\":\" \"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-ca0e09\"},\"children\":[{\"type\":\"text\",\"value\":\"text\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-8358df\"},\"children\":[{\"type\":\"text\",\"value\":\": \"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-d213e2\"},\"children\":[{\"type\":\"text\",\"value\":\"z\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-8358df\"},\"children\":[{\"type\":\"text\",\"value\":\".\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-e18fd1\"},\"children\":[{\"type\":\"text\",\"value\":\"string\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-8358df\"},\"children\":[{\"type\":\"text\",\"value\":\"().\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-e18fd1\"},\"children\":[{\"type\":\"text\",\"value\":\"nullish\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-8358df\"},\"children\":[{\"type\":\"text\",\"value\":\"(),\"}]}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\"},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-8358df\"},\"children\":[{\"type\":\"text\",\"value\":\" }),\"}]}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\"},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-8358df\"},\"children\":[{\"type\":\"text\",\"value\":\" )\"}]}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\"},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-8358df\"},\"children\":[{\"type\":\"text\",\"value\":\" .\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-e18fd1\"},\"children\":[{\"type\":\"text\",\"value\":\"query\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-8358df\"},\"children\":[{\"type\":\"text\",\"value\":\"(({ \"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-ca0e09\"},\"children\":[{\"type\":\"text\",\"value\":\"input\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-8358df\"},\"children\":[{\"type\":\"text\",\"value\":\" }) \"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-d69d00\"},\"children\":[{\"type\":\"text\",\"value\":\"=>\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-8358df\"},\"children\":[{\"type\":\"text\",\"value\":\" {\"}]}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\"},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-8358df\"},\"children\":[{\"type\":\"text\",\"value\":\" \"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-d69d00\"},\"children\":[{\"type\":\"text\",\"value\":\"return\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-8358df\"},\"children\":[{\"type\":\"text\",\"value\":\" {\"}]}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\"},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-8358df\"},\"children\":[{\"type\":\"text\",\"value\":\" \"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-ca0e09\"},\"children\":[{\"type\":\"text\",\"value\":\"greeting\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-8358df\"},\"children\":[{\"type\":\"text\",\"value\":\": \"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-a930e7\"},\"children\":[{\"type\":\"text\",\"value\":\"`hello \"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-d69d00\"},\"children\":[{\"type\":\"text\",\"value\":\"${\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-d213e2\"},\"children\":[{\"type\":\"text\",\"value\":\"input\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-8358df\"},\"children\":[{\"type\":\"text\",\"value\":\"?.\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-ca0e09\"},\"children\":[{\"type\":\"text\",\"value\":\"text\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-8358df\"},\"children\":[{\"type\":\"text\",\"value\":\" \"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-c3a574\"},\"children\":[{\"type\":\"text\",\"value\":\"??\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-8358df\"},\"children\":[{\"type\":\"text\",\"value\":\" \"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-a930e7\"},\"children\":[{\"type\":\"text\",\"value\":\"'world'\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-d69d00\"},\"children\":[{\"type\":\"text\",\"value\":\"}\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-a930e7\"},\"children\":[{\"type\":\"text\",\"value\":\"`\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-8358df\"},\"children\":[{\"type\":\"text\",\"value\":\",\"}]}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\"},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-8358df\"},\"children\":[{\"type\":\"text\",\"value\":\" }\"}]}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\"},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-8358df\"},\"children\":[{\"type\":\"text\",\"value\":\" }),\"}]}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\"},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-8358df\"},\"children\":[{\"type\":\"text\",\"value\":\"})\"}]}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\"},\"children\":[]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\"},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-5fb678\"},\"children\":[{\"type\":\"text\",\"value\":\"// export type definition of API\"}]}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\"},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-d69d00\"},\"children\":[{\"type\":\"text\",\"value\":\"export\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-8358df\"},\"children\":[{\"type\":\"text\",\"value\":\" \"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-d69d00\"},\"children\":[{\"type\":\"text\",\"value\":\"type\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-8358df\"},\"children\":[{\"type\":\"text\",\"value\":\" \"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-d213e2\"},\"children\":[{\"type\":\"text\",\"value\":\"AppRouter\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-8358df\"},\"children\":[{\"type\":\"text\",\"value\":\" \"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-c3a574\"},\"children\":[{\"type\":\"text\",\"value\":\"=\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-8358df\"},\"children\":[{\"type\":\"text\",\"value\":\" \"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-d69d00\"},\"children\":[{\"type\":\"text\",\"value\":\"typeof\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-8358df\"},\"children\":[{\"type\":\"text\",\"value\":\" \"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-ca0e09\"},\"children\":[{\"type\":\"text\",\"value\":\"appRouter\"}]}]}]}]}]},{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"code\":\"import { createNuxtApiHandler } from 'trpc-nuxt'\\nimport { appRouter } from '@/server/trpc/routers'\\n\\n// export API handler\\nexport default createNuxtApiHandler({\\n router: appRouter,\\n createContext: () => ({}),\\n})\\n\",\"filename\":\"server/api/trpc/[trpc].ts\",\"language\":\"ts\"},\"children\":[{\"type\":\"element\",\"tag\":\"pre\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"__ignoreMap\":\"\"},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\"},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-d69d00\"},\"children\":[{\"type\":\"text\",\"value\":\"import\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-8358df\"},\"children\":[{\"type\":\"text\",\"value\":\" { \"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-ca0e09\"},\"children\":[{\"type\":\"text\",\"value\":\"createNuxtApiHandler\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-8358df\"},\"children\":[{\"type\":\"text\",\"value\":\" } \"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-d69d00\"},\"children\":[{\"type\":\"text\",\"value\":\"from\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-8358df\"},\"children\":[{\"type\":\"text\",\"value\":\" \"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-a930e7\"},\"children\":[{\"type\":\"text\",\"value\":\"'trpc-nuxt'\"}]}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\"},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-d69d00\"},\"children\":[{\"type\":\"text\",\"value\":\"import\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-8358df\"},\"children\":[{\"type\":\"text\",\"value\":\" { \"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-ca0e09\"},\"children\":[{\"type\":\"text\",\"value\":\"appRouter\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-8358df\"},\"children\":[{\"type\":\"text\",\"value\":\" } \"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-d69d00\"},\"children\":[{\"type\":\"text\",\"value\":\"from\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-8358df\"},\"children\":[{\"type\":\"text\",\"value\":\" \"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-a930e7\"},\"children\":[{\"type\":\"text\",\"value\":\"'@/server/trpc/routers'\"}]}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\"},\"children\":[]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\"},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-5fb678\"},\"children\":[{\"type\":\"text\",\"value\":\"// export API handler\"}]}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\"},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-d69d00\"},\"children\":[{\"type\":\"text\",\"value\":\"export\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-8358df\"},\"children\":[{\"type\":\"text\",\"value\":\" \"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-d69d00\"},\"children\":[{\"type\":\"text\",\"value\":\"default\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-8358df\"},\"children\":[{\"type\":\"text\",\"value\":\" \"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-e18fd1\"},\"children\":[{\"type\":\"text\",\"value\":\"createNuxtApiHandler\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-8358df\"},\"children\":[{\"type\":\"text\",\"value\":\"({\"}]}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\"},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-8358df\"},\"children\":[{\"type\":\"text\",\"value\":\" \"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-ca0e09\"},\"children\":[{\"type\":\"text\",\"value\":\"router\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-8358df\"},\"children\":[{\"type\":\"text\",\"value\":\": \"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-ca0e09\"},\"children\":[{\"type\":\"text\",\"value\":\"appRouter\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-8358df\"},\"children\":[{\"type\":\"text\",\"value\":\",\"}]}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\"},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-8358df\"},\"children\":[{\"type\":\"text\",\"value\":\" \"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-e18fd1\"},\"children\":[{\"type\":\"text\",\"value\":\"createContext\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-8358df\"},\"children\":[{\"type\":\"text\",\"value\":\": () \"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-d69d00\"},\"children\":[{\"type\":\"text\",\"value\":\"=>\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-8358df\"},\"children\":[{\"type\":\"text\",\"value\":\" ({}),\"}]}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\"},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-8358df\"},\"children\":[{\"type\":\"text\",\"value\":\"})\"}]}]}]}]}]}]},{\"type\":\"element\",\"tag\":\"alert\",\"props\":{\"type\":\"info\"},\"children\":[{\"type\":\"element\",\"tag\":\"p\",\"props\":{},\"children\":[{\"type\":\"text\",\"value\":\"If you need to split your router into several subrouters, you can implement them in the \"},{\"type\":\"element\",\"tag\":\"code-inline\",\"props\":{},\"children\":[{\"type\":\"text\",\"value\":\"server/trpc/routers\"}]},{\"type\":\"text\",\"value\":\" directory and import and \"},{\"type\":\"element\",\"tag\":\"a\",\"props\":{\"href\":\"https://trpc.io/docs/v10/merging-routers\",\"rel\":[\"nofollow\"]},\"children\":[{\"type\":\"text\",\"value\":\"merge them\"}]},{\"type\":\"text\",\"value\":\" to a single root \"},{\"type\":\"element\",\"tag\":\"code-inline\",\"props\":{},\"children\":[{\"type\":\"text\",\"value\":\"appRouter\"}]},{\"type\":\"text\",\"value\":\".\"}]}]},{\"type\":\"element\",\"tag\":\"h2\",\"props\":{\"id\":\"2-create-trpc-client-plugin\"},\"children\":[{\"type\":\"text\",\"value\":\"2. Create tRPC client plugin\"}]},{\"type\":\"element\",\"tag\":\"p\",\"props\":{},\"children\":[{\"type\":\"text\",\"value\":\"Create a set of strongly-typed composables using your API's type signature.\"}]},{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"code\":\"import { httpBatchLink } from '@trpc/client'\\nimport { createTRPCNuxtProxyClient } from 'trpc-nuxt/client'\\nimport type { AppRouter } from '@/server/trpc/routers'\\n\\nexport default defineNuxtPlugin(() => {\\n const client = createTRPCNuxtProxyClient({\\n links: [\\n httpBatchLink({\\n /**\\n * If you want to use SSR, you need to use the server's full URL\\n * @link https://trpc.io/docs/ssr\\n **/\\n url: 'http://localhost:3000/api/trpc',\\n }),\\n ],\\n })\\n\\n return {\\n provide: {\\n client,\\n },\\n }\\n})\\n\",\"filename\":\"plugins/client.ts\",\"language\":\"ts\"},\"children\":[{\"type\":\"element\",\"tag\":\"pre\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"__ignoreMap\":\"\"},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\"},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-d69d00\"},\"children\":[{\"type\":\"text\",\"value\":\"import\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-8358df\"},\"children\":[{\"type\":\"text\",\"value\":\" { \"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-ca0e09\"},\"children\":[{\"type\":\"text\",\"value\":\"httpBatchLink\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-8358df\"},\"children\":[{\"type\":\"text\",\"value\":\" } \"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-d69d00\"},\"children\":[{\"type\":\"text\",\"value\":\"from\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-8358df\"},\"children\":[{\"type\":\"text\",\"value\":\" \"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-a930e7\"},\"children\":[{\"type\":\"text\",\"value\":\"'@trpc/client'\"}]}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\"},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-d69d00\"},\"children\":[{\"type\":\"text\",\"value\":\"import\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-8358df\"},\"children\":[{\"type\":\"text\",\"value\":\" { \"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-ca0e09\"},\"children\":[{\"type\":\"text\",\"value\":\"createTRPCNuxtProxyClient\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-8358df\"},\"children\":[{\"type\":\"text\",\"value\":\" } \"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-d69d00\"},\"children\":[{\"type\":\"text\",\"value\":\"from\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-8358df\"},\"children\":[{\"type\":\"text\",\"value\":\" \"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-a930e7\"},\"children\":[{\"type\":\"text\",\"value\":\"'trpc-nuxt/client'\"}]}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\"},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-d69d00\"},\"children\":[{\"type\":\"text\",\"value\":\"import\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-8358df\"},\"children\":[{\"type\":\"text\",\"value\":\" \"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-d69d00\"},\"children\":[{\"type\":\"text\",\"value\":\"type\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-8358df\"},\"children\":[{\"type\":\"text\",\"value\":\" { \"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-ca0e09\"},\"children\":[{\"type\":\"text\",\"value\":\"AppRouter\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-8358df\"},\"children\":[{\"type\":\"text\",\"value\":\" } \"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-d69d00\"},\"children\":[{\"type\":\"text\",\"value\":\"from\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-8358df\"},\"children\":[{\"type\":\"text\",\"value\":\" \"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-a930e7\"},\"children\":[{\"type\":\"text\",\"value\":\"'@/server/trpc/routers'\"}]}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\"},\"children\":[]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\"},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-d69d00\"},\"children\":[{\"type\":\"text\",\"value\":\"export\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-8358df\"},\"children\":[{\"type\":\"text\",\"value\":\" \"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-d69d00\"},\"children\":[{\"type\":\"text\",\"value\":\"default\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-8358df\"},\"children\":[{\"type\":\"text\",\"value\":\" \"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-e18fd1\"},\"children\":[{\"type\":\"text\",\"value\":\"defineNuxtPlugin\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-8358df\"},\"children\":[{\"type\":\"text\",\"value\":\"(() \"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-d69d00\"},\"children\":[{\"type\":\"text\",\"value\":\"=>\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-8358df\"},\"children\":[{\"type\":\"text\",\"value\":\" {\"}]}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\"},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-8358df\"},\"children\":[{\"type\":\"text\",\"value\":\" \"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-d69d00\"},\"children\":[{\"type\":\"text\",\"value\":\"const\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-8358df\"},\"children\":[{\"type\":\"text\",\"value\":\" \"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-d213e2\"},\"children\":[{\"type\":\"text\",\"value\":\"client\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-8358df\"},\"children\":[{\"type\":\"text\",\"value\":\" \"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-c3a574\"},\"children\":[{\"type\":\"text\",\"value\":\"=\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-8358df\"},\"children\":[{\"type\":\"text\",\"value\":\" \"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-e18fd1\"},\"children\":[{\"type\":\"text\",\"value\":\"createTRPCNuxtProxyClient\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-8358df\"},\"children\":[{\"type\":\"text\",\"value\":\"<\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-d213e2\"},\"children\":[{\"type\":\"text\",\"value\":\"AppRouter\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-8358df\"},\"children\":[{\"type\":\"text\",\"value\":\">({\"}]}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\"},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-8358df\"},\"children\":[{\"type\":\"text\",\"value\":\" \"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-ca0e09\"},\"children\":[{\"type\":\"text\",\"value\":\"links\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-8358df\"},\"children\":[{\"type\":\"text\",\"value\":\": [\"}]}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\"},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-8358df\"},\"children\":[{\"type\":\"text\",\"value\":\" \"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-e18fd1\"},\"children\":[{\"type\":\"text\",\"value\":\"httpBatchLink\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-8358df\"},\"children\":[{\"type\":\"text\",\"value\":\"({\"}]}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\"},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-8358df\"},\"children\":[{\"type\":\"text\",\"value\":\" \"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-5fb678\"},\"children\":[{\"type\":\"text\",\"value\":\"/**\"}]}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\"},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-5fb678\"},\"children\":[{\"type\":\"text\",\"value\":\" * If you want to use SSR, you need to use the server's full URL\"}]}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\"},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-5fb678\"},\"children\":[{\"type\":\"text\",\"value\":\" * \"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-d69d00\"},\"children\":[{\"type\":\"text\",\"value\":\"@link\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-5fb678\"},\"children\":[{\"type\":\"text\",\"value\":\" https://trpc.io/docs/ssr\"}]}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\"},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-5fb678\"},\"children\":[{\"type\":\"text\",\"value\":\" **/\"}]}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\"},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-8358df\"},\"children\":[{\"type\":\"text\",\"value\":\" \"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-ca0e09\"},\"children\":[{\"type\":\"text\",\"value\":\"url\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-8358df\"},\"children\":[{\"type\":\"text\",\"value\":\": \"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-a930e7\"},\"children\":[{\"type\":\"text\",\"value\":\"'http://localhost:3000/api/trpc'\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-8358df\"},\"children\":[{\"type\":\"text\",\"value\":\",\"}]}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\"},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-8358df\"},\"children\":[{\"type\":\"text\",\"value\":\" }),\"}]}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\"},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-8358df\"},\"children\":[{\"type\":\"text\",\"value\":\" ],\"}]}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\"},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-8358df\"},\"children\":[{\"type\":\"text\",\"value\":\" })\"}]}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\"},\"children\":[]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\"},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-8358df\"},\"children\":[{\"type\":\"text\",\"value\":\" \"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-d69d00\"},\"children\":[{\"type\":\"text\",\"value\":\"return\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-8358df\"},\"children\":[{\"type\":\"text\",\"value\":\" {\"}]}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\"},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-8358df\"},\"children\":[{\"type\":\"text\",\"value\":\" \"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-ca0e09\"},\"children\":[{\"type\":\"text\",\"value\":\"provide\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-8358df\"},\"children\":[{\"type\":\"text\",\"value\":\": {\"}]}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\"},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-8358df\"},\"children\":[{\"type\":\"text\",\"value\":\" \"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-ca0e09\"},\"children\":[{\"type\":\"text\",\"value\":\"client\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-8358df\"},\"children\":[{\"type\":\"text\",\"value\":\",\"}]}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\"},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-8358df\"},\"children\":[{\"type\":\"text\",\"value\":\" },\"}]}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\"},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-8358df\"},\"children\":[{\"type\":\"text\",\"value\":\" }\"}]}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\"},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-8358df\"},\"children\":[{\"type\":\"text\",\"value\":\"})\"}]}]}]}]}]},{\"type\":\"element\",\"tag\":\"h2\",\"props\":{\"id\":\"3-make-api-requests\"},\"children\":[{\"type\":\"text\",\"value\":\"3. Make API requests\"}]},{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"code\":\"\\n\\n\\n
\\n Loading...\\n
\\n
\\n Error: {{ error.data.code }}\\n
\\n
\\n
{{ hello.data?.greeting }}
\\n
\\n\\n\",\"filename\":\"pages/index.vue\",\"language\":\"vue\"},\"children\":[{\"type\":\"element\",\"tag\":\"pre\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"code\",\"props\":{\"__ignoreMap\":\"\"},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\"},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-8358df\"},\"children\":[{\"type\":\"text\",\"value\":\"<\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-ca0e09\"},\"children\":[{\"type\":\"text\",\"value\":\"script\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-8358df\"},\"children\":[{\"type\":\"text\",\"value\":\" \"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-f79d7d\"},\"children\":[{\"type\":\"text\",\"value\":\"setup\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-8358df\"},\"children\":[{\"type\":\"text\",\"value\":\" \"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-f79d7d\"},\"children\":[{\"type\":\"text\",\"value\":\"lang\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-8358df\"},\"children\":[{\"type\":\"text\",\"value\":\"=\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-a930e7\"},\"children\":[{\"type\":\"text\",\"value\":\"\\\"ts\\\"\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-8358df\"},\"children\":[{\"type\":\"text\",\"value\":\">\"}]}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\"},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-d69d00\"},\"children\":[{\"type\":\"text\",\"value\":\"const\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-8358df\"},\"children\":[{\"type\":\"text\",\"value\":\" { \"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-d213e2\"},\"children\":[{\"type\":\"text\",\"value\":\"$client\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-8358df\"},\"children\":[{\"type\":\"text\",\"value\":\" } \"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-c3a574\"},\"children\":[{\"type\":\"text\",\"value\":\"=\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-8358df\"},\"children\":[{\"type\":\"text\",\"value\":\" \"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-e18fd1\"},\"children\":[{\"type\":\"text\",\"value\":\"useNuxtApp\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-8358df\"},\"children\":[{\"type\":\"text\",\"value\":\"()\"}]}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\"},\"children\":[]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\"},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-5fb678\"},\"children\":[{\"type\":\"text\",\"value\":\"// query and mutate uses useAsyncData under the hood\"}]}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\"},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-d69d00\"},\"children\":[{\"type\":\"text\",\"value\":\"const\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-8358df\"},\"children\":[{\"type\":\"text\",\"value\":\" { \"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-d213e2\"},\"children\":[{\"type\":\"text\",\"value\":\"data\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-8358df\"},\"children\":[{\"type\":\"text\",\"value\":\", \"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-d213e2\"},\"children\":[{\"type\":\"text\",\"value\":\"pending\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-8358df\"},\"children\":[{\"type\":\"text\",\"value\":\", \"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-d213e2\"},\"children\":[{\"type\":\"text\",\"value\":\"error\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-8358df\"},\"children\":[{\"type\":\"text\",\"value\":\" } \"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-c3a574\"},\"children\":[{\"type\":\"text\",\"value\":\"=\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-8358df\"},\"children\":[{\"type\":\"text\",\"value\":\" \"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-d69d00\"},\"children\":[{\"type\":\"text\",\"value\":\"await\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-8358df\"},\"children\":[{\"type\":\"text\",\"value\":\" \"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-d213e2\"},\"children\":[{\"type\":\"text\",\"value\":\"$client\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-8358df\"},\"children\":[{\"type\":\"text\",\"value\":\".\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-d213e2\"},\"children\":[{\"type\":\"text\",\"value\":\"hello\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-8358df\"},\"children\":[{\"type\":\"text\",\"value\":\".\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-e18fd1\"},\"children\":[{\"type\":\"text\",\"value\":\"query\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-8358df\"},\"children\":[{\"type\":\"text\",\"value\":\"({ \"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-ca0e09\"},\"children\":[{\"type\":\"text\",\"value\":\"text\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-8358df\"},\"children\":[{\"type\":\"text\",\"value\":\": \"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-a930e7\"},\"children\":[{\"type\":\"text\",\"value\":\"'client'\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-8358df\"},\"children\":[{\"type\":\"text\",\"value\":\" })\"}]}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\"},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-8358df\"},\"children\":[{\"type\":\"text\",\"value\":\"\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-ca0e09\"},\"children\":[{\"type\":\"text\",\"value\":\"script\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-8358df\"},\"children\":[{\"type\":\"text\",\"value\":\">\"}]}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\"},\"children\":[]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\"},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-8358df\"},\"children\":[{\"type\":\"text\",\"value\":\"<\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-ca0e09\"},\"children\":[{\"type\":\"text\",\"value\":\"template\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-8358df\"},\"children\":[{\"type\":\"text\",\"value\":\">\"}]}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\"},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-8358df\"},\"children\":[{\"type\":\"text\",\"value\":\" <\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-f79d7d\"},\"children\":[{\"type\":\"text\",\"value\":\"div\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-8358df\"},\"children\":[{\"type\":\"text\",\"value\":\" \"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-f79d7d\"},\"children\":[{\"type\":\"text\",\"value\":\"v-if\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-8358df\"},\"children\":[{\"type\":\"text\",\"value\":\"=\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-8358df\"},\"children\":[{\"type\":\"text\",\"value\":\"\\\"\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-ca0e09\"},\"children\":[{\"type\":\"text\",\"value\":\"pending\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-8358df\"},\"children\":[{\"type\":\"text\",\"value\":\"\\\"\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-8358df\"},\"children\":[{\"type\":\"text\",\"value\":\">\"}]}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\"},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-8358df\"},\"children\":[{\"type\":\"text\",\"value\":\" \"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-f79d7d\"},\"children\":[{\"type\":\"text\",\"value\":\"Loading\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-8358df\"},\"children\":[{\"type\":\"text\",\"value\":\"...\"}]}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\"},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-8358df\"},\"children\":[{\"type\":\"text\",\"value\":\" \"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-f79d7d\"},\"children\":[{\"type\":\"text\",\"value\":\"div\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-8358df\"},\"children\":[{\"type\":\"text\",\"value\":\">\"}]}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\"},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-8358df\"},\"children\":[{\"type\":\"text\",\"value\":\" <\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-f79d7d\"},\"children\":[{\"type\":\"text\",\"value\":\"div\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-8358df\"},\"children\":[{\"type\":\"text\",\"value\":\" \"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-f79d7d\"},\"children\":[{\"type\":\"text\",\"value\":\"v-else-if\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-8358df\"},\"children\":[{\"type\":\"text\",\"value\":\"=\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-8358df\"},\"children\":[{\"type\":\"text\",\"value\":\"\\\"\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-d213e2\"},\"children\":[{\"type\":\"text\",\"value\":\"error\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-8358df\"},\"children\":[{\"type\":\"text\",\"value\":\"?.\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-d213e2\"},\"children\":[{\"type\":\"text\",\"value\":\"data\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-8358df\"},\"children\":[{\"type\":\"text\",\"value\":\"?.\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-ca0e09\"},\"children\":[{\"type\":\"text\",\"value\":\"code\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-8358df\"},\"children\":[{\"type\":\"text\",\"value\":\"\\\"\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-8358df\"},\"children\":[{\"type\":\"text\",\"value\":\">\"}]}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\"},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-8358df\"},\"children\":[{\"type\":\"text\",\"value\":\" \"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-f79d7d\"},\"children\":[{\"type\":\"text\",\"value\":\"Error:\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-8358df\"},\"children\":[{\"type\":\"text\",\"value\":\" {{ \"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-f79d7d\"},\"children\":[{\"type\":\"text\",\"value\":\"error\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-8358df\"},\"children\":[{\"type\":\"text\",\"value\":\".\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-f79d7d\"},\"children\":[{\"type\":\"text\",\"value\":\"data\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-8358df\"},\"children\":[{\"type\":\"text\",\"value\":\".\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-f79d7d\"},\"children\":[{\"type\":\"text\",\"value\":\"code\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-8358df\"},\"children\":[{\"type\":\"text\",\"value\":\" }}\"}]}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\"},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-8358df\"},\"children\":[{\"type\":\"text\",\"value\":\" \"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-f79d7d\"},\"children\":[{\"type\":\"text\",\"value\":\"div\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-8358df\"},\"children\":[{\"type\":\"text\",\"value\":\">\"}]}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\"},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-8358df\"},\"children\":[{\"type\":\"text\",\"value\":\" <\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-f79d7d\"},\"children\":[{\"type\":\"text\",\"value\":\"div\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-8358df\"},\"children\":[{\"type\":\"text\",\"value\":\" \"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-f79d7d\"},\"children\":[{\"type\":\"text\",\"value\":\"v-else\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-8358df\"},\"children\":[{\"type\":\"text\",\"value\":\">\"}]}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\"},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-8358df\"},\"children\":[{\"type\":\"text\",\"value\":\" <\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-f79d7d\"},\"children\":[{\"type\":\"text\",\"value\":\"p\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-8358df\"},\"children\":[{\"type\":\"text\",\"value\":\">{{ \"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-f79d7d\"},\"children\":[{\"type\":\"text\",\"value\":\"hello\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-8358df\"},\"children\":[{\"type\":\"text\",\"value\":\".\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-f79d7d\"},\"children\":[{\"type\":\"text\",\"value\":\"data\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-8358df\"},\"children\":[{\"type\":\"text\",\"value\":\"?.\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-f79d7d\"},\"children\":[{\"type\":\"text\",\"value\":\"greeting\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-8358df\"},\"children\":[{\"type\":\"text\",\"value\":\" }}\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-f79d7d\"},\"children\":[{\"type\":\"text\",\"value\":\"p\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-8358df\"},\"children\":[{\"type\":\"text\",\"value\":\">\"}]}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\"},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-8358df\"},\"children\":[{\"type\":\"text\",\"value\":\" \"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-f79d7d\"},\"children\":[{\"type\":\"text\",\"value\":\"div\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-8358df\"},\"children\":[{\"type\":\"text\",\"value\":\">\"}]}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"line\"},\"children\":[{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-8358df\"},\"children\":[{\"type\":\"text\",\"value\":\"\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-ca0e09\"},\"children\":[{\"type\":\"text\",\"value\":\"template\"}]},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"ct-8358df\"},\"children\":[{\"type\":\"text\",\"value\":\">\"}]}]}]}]}]},{\"type\":\"element\",\"tag\":\"style\",\"children\":[{\"type\":\"text\",\"value\":\".ct-f79d7d{color:#D19A66}.ct-e18fd1{color:#61AFEF}.ct-c3a574{color:#56B6C2}.ct-d213e2{color:#E5C07B}.ct-5fb678{color:#7F848E}.ct-a930e7{color:#98C379}.ct-ca0e09{color:#E06C75}.ct-8358df{color:#ABB2BF}.ct-d69d00{color:#C678DD}\"}]}],\"toc\":{\"title\":\"\",\"searchDepth\":2,\"depth\":2,\"links\":[{\"id\":\"recommended-file-structure\",\"depth\":2,\"text\":\"Recommended file structure\"},{\"id\":\"1-create-a-trpc-router\",\"depth\":2,\"text\":\"1. Create a tRPC router\"},{\"id\":\"2-create-trpc-client-plugin\",\"depth\":2,\"text\":\"2. Create tRPC client plugin\"},{\"id\":\"3-make-api-requests\",\"depth\":2,\"text\":\"3. Make API requests\"}]}},\"_type\":\"markdown\",\"_id\":\"content:1.get-started:2.usage.md\",\"_source\":\"content\",\"_file\":\"1.get-started/2.usage.md\",\"_extension\":\"md\"},\"hash\":\"3g4GLegvBy\"}";
+
+export { _2_usage as default };
+//# sourceMappingURL=2.usage.mjs.map
diff --git a/docs/.vercel/output/functions/__nitro.func/chunks/raw/2.usage.mjs.map b/docs/.vercel/output/functions/__nitro.func/chunks/raw/2.usage.mjs.map
new file mode 100644
index 0000000..73f275d
--- /dev/null
+++ b/docs/.vercel/output/functions/__nitro.func/chunks/raw/2.usage.mjs.map
@@ -0,0 +1 @@
+{"version":3,"file":"2.usage.mjs","sources":[],"sourcesContent":null,"names":[],"mappings":";;;;;"}
\ No newline at end of file
diff --git a/docs/.vercel/output/functions/__nitro.func/chunks/raw/content-index.mjs b/docs/.vercel/output/functions/__nitro.func/chunks/raw/content-index.mjs
new file mode 100644
index 0000000..5e5c507
--- /dev/null
+++ b/docs/.vercel/output/functions/__nitro.func/chunks/raw/content-index.mjs
@@ -0,0 +1,5 @@
+// ROLLUP_NO_REPLACE
+ const contentIndex = "{\"/get-started/installation\":\"content:1.get-started:1.installation.md\",\"/get-started/usage\":\"content:1.get-started:2.usage.md\",\"/examples/basic\":\"content:2.examples:1.basic.md\",\"/examples/multiple-routers\":\"content:2.examples:2.multiple-routers.md\",\"/\":\"content:index.md\"}";
+
+export { contentIndex as default };
+//# sourceMappingURL=content-index.mjs.map
diff --git a/docs/.vercel/output/functions/__nitro.func/chunks/raw/content-index.mjs.map b/docs/.vercel/output/functions/__nitro.func/chunks/raw/content-index.mjs.map
new file mode 100644
index 0000000..1817eff
--- /dev/null
+++ b/docs/.vercel/output/functions/__nitro.func/chunks/raw/content-index.mjs.map
@@ -0,0 +1 @@
+{"version":3,"file":"content-index.mjs","sources":[],"sourcesContent":null,"names":[],"mappings":";;;;;"}
\ No newline at end of file
diff --git a/docs/.vercel/output/functions/__nitro.func/chunks/raw/content-navigation.mjs b/docs/.vercel/output/functions/__nitro.func/chunks/raw/content-navigation.mjs
new file mode 100644
index 0000000..b35a2a8
--- /dev/null
+++ b/docs/.vercel/output/functions/__nitro.func/chunks/raw/content-navigation.mjs
@@ -0,0 +1,5 @@
+// ROLLUP_NO_REPLACE
+ const contentNavigation = "[{\"title\":\"Get Started\",\"_path\":\"/get-started\",\"children\":[{\"title\":\"Installation\",\"_path\":\"/get-started/installation\"},{\"title\":\"Usage\",\"_path\":\"/get-started/usage\"}]},{\"title\":\"Examples\",\"_path\":\"/examples\",\"children\":[{\"title\":\"Basic\",\"_path\":\"/examples/basic\"},{\"title\":\"Multiple Routers\",\"_path\":\"/examples/multiple-routers\"}]}]";
+
+export { contentNavigation as default };
+//# sourceMappingURL=content-navigation.mjs.map
diff --git a/docs/.vercel/output/functions/__nitro.func/chunks/raw/content-navigation.mjs.map b/docs/.vercel/output/functions/__nitro.func/chunks/raw/content-navigation.mjs.map
new file mode 100644
index 0000000..b606b37
--- /dev/null
+++ b/docs/.vercel/output/functions/__nitro.func/chunks/raw/content-navigation.mjs.map
@@ -0,0 +1 @@
+{"version":3,"file":"content-navigation.mjs","sources":[],"sourcesContent":null,"names":[],"mappings":";;;;;"}
\ No newline at end of file
diff --git a/docs/.vercel/output/functions/__nitro.func/chunks/raw/index.mjs b/docs/.vercel/output/functions/__nitro.func/chunks/raw/index.mjs
new file mode 100644
index 0000000..24cc2c2
--- /dev/null
+++ b/docs/.vercel/output/functions/__nitro.func/chunks/raw/index.mjs
@@ -0,0 +1,5 @@
+// ROLLUP_NO_REPLACE
+ const index = "{\"parsed\":{\"_path\":\"/\",\"_dir\":\"\",\"_draft\":false,\"_partial\":false,\"_locale\":\"en\",\"_empty\":false,\"title\":\"tRPC Nuxt\",\"description\":\"A supa simple wrapper arousnd supabase-js to enable usage and integration within Nuxt.\",\"excerpt\":{\"type\":\"root\",\"children\":[{\"type\":\"element\",\"tag\":\"block-hero\",\"props\":{\":cta\":\"[\\\"Get Started\\\",\\\"/get-started/installation\\\"]\",\":secondary\":\"[\\\"Star on GitHub ->\\\",\\\"https://github.com/wobsoriano/trpc-nuxt\\\"]\",\"snippet\":\"npm install trpc-nuxt@next\"},\"children\":[{\"type\":\"element\",\"tag\":\"template\",\"props\":{\"v-slot:title\":\"\"},\"children\":[{\"type\":\"element\",\"tag\":\"p\",\"props\":{},\"children\":[{\"type\":\"text\",\"value\":\"tRPC \"},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"text-primary-500\"},\"children\":[{\"type\":\"text\",\"value\":\"Nuxt\"}]}]}]},{\"type\":\"element\",\"tag\":\"template\",\"props\":{\"v-slot:description\":\"\"},\"children\":[{\"type\":\"element\",\"tag\":\"p\",\"props\":{},\"children\":[{\"type\":\"text\",\"value\":\"End-to-end typesafe APIs in Nuxt applications.\"}]}]},{\"type\":\"element\",\"tag\":\"template\",\"props\":{\"v-slot:extra\":\"\"},\"children\":[{\"type\":\"element\",\"tag\":\"list\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"ul\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"li\",\"props\":{},\"children\":[{\"type\":\"text\",\"value\":\"Automatic typesafety\"}]},{\"type\":\"element\",\"tag\":\"li\",\"props\":{},\"children\":[{\"type\":\"text\",\"value\":\"Snappy DX\"}]},{\"type\":\"element\",\"tag\":\"li\",\"props\":{},\"children\":[{\"type\":\"text\",\"value\":\"Autocompletion\"}]}]}]}]}]}]},\"navigation\":false,\"layout\":\"page\",\"body\":{\"type\":\"root\",\"children\":[{\"type\":\"element\",\"tag\":\"block-hero\",\"props\":{\":cta\":\"[\\\"Get Started\\\",\\\"/get-started/installation\\\"]\",\":secondary\":\"[\\\"Star on GitHub ->\\\",\\\"https://github.com/wobsoriano/trpc-nuxt\\\"]\",\"snippet\":\"npm install trpc-nuxt@next\"},\"children\":[{\"type\":\"element\",\"tag\":\"template\",\"props\":{\"v-slot:title\":\"\"},\"children\":[{\"type\":\"element\",\"tag\":\"p\",\"props\":{},\"children\":[{\"type\":\"text\",\"value\":\"tRPC \"},{\"type\":\"element\",\"tag\":\"span\",\"props\":{\"class\":\"text-primary-500\"},\"children\":[{\"type\":\"text\",\"value\":\"Nuxt\"}]}]}]},{\"type\":\"element\",\"tag\":\"template\",\"props\":{\"v-slot:description\":\"\"},\"children\":[{\"type\":\"element\",\"tag\":\"p\",\"props\":{},\"children\":[{\"type\":\"text\",\"value\":\"End-to-end typesafe APIs in Nuxt applications.\"}]}]},{\"type\":\"element\",\"tag\":\"template\",\"props\":{\"v-slot:extra\":\"\"},\"children\":[{\"type\":\"element\",\"tag\":\"list\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"ul\",\"props\":{},\"children\":[{\"type\":\"element\",\"tag\":\"li\",\"props\":{},\"children\":[{\"type\":\"text\",\"value\":\"Automatic typesafety\"}]},{\"type\":\"element\",\"tag\":\"li\",\"props\":{},\"children\":[{\"type\":\"text\",\"value\":\"Snappy DX\"}]},{\"type\":\"element\",\"tag\":\"li\",\"props\":{},\"children\":[{\"type\":\"text\",\"value\":\"Autocompletion\"}]}]}]}]}]}],\"toc\":{\"title\":\"\",\"searchDepth\":2,\"depth\":2,\"links\":[]}},\"_type\":\"markdown\",\"_id\":\"content:index.md\",\"_source\":\"content\",\"_file\":\"index.md\",\"_extension\":\"md\"},\"hash\":\"jPqNW2knOU\"}";
+
+export { index as default };
+//# sourceMappingURL=index.mjs.map
diff --git a/docs/.vercel/output/functions/__nitro.func/chunks/raw/index.mjs.map b/docs/.vercel/output/functions/__nitro.func/chunks/raw/index.mjs.map
new file mode 100644
index 0000000..ed2478e
--- /dev/null
+++ b/docs/.vercel/output/functions/__nitro.func/chunks/raw/index.mjs.map
@@ -0,0 +1 @@
+{"version":3,"file":"index.mjs","sources":[],"sourcesContent":null,"names":[],"mappings":";;;;;"}
\ No newline at end of file
diff --git a/docs/.vercel/output/functions/__nitro.func/index.mjs b/docs/.vercel/output/functions/__nitro.func/index.mjs
new file mode 100644
index 0000000..95e3058
--- /dev/null
+++ b/docs/.vercel/output/functions/__nitro.func/index.mjs
@@ -0,0 +1,46 @@
+globalThis._importMeta_={url:import.meta.url,env:process.env};import 'node-fetch-native/polyfill';
+import 'h3';
+export { v as default } from './chunks/nitro/vercel.mjs';
+import 'ohmyfetch';
+import 'destr';
+import 'unenv/runtime/fetch/index';
+import 'hookable';
+import 'scule';
+import 'ohash';
+import 'ufo';
+import 'unstorage';
+import 'unstorage/drivers/overlay';
+import 'unstorage/drivers/memory';
+import 'defu';
+import 'radix3';
+import 'pathe';
+import 'unified';
+import 'mdast-util-to-string';
+import 'micromark/lib/preprocess.js';
+import 'micromark/lib/postprocess.js';
+import 'unist-util-stringify-position';
+import 'micromark-util-character';
+import 'micromark-util-chunked';
+import 'micromark-util-resolve-all';
+import 'remark-emoji';
+import 'rehype-slug';
+import 'remark-squeeze-paragraphs';
+import 'rehype-external-links';
+import 'remark-gfm';
+import 'rehype-sort-attribute-values';
+import 'rehype-sort-attributes';
+import 'rehype-raw';
+import 'remark-mdc';
+import 'remark-parse';
+import 'remark-rehype';
+import 'mdast-util-to-hast';
+import 'detab';
+import 'unist-builder';
+import 'mdurl';
+import 'slugify';
+import 'unist-util-position';
+import 'html-tags';
+import 'unist-util-visit';
+import 'shiki-es';
+import 'unenv/runtime/npm/consola';
+//# sourceMappingURL=index.mjs.map
diff --git a/docs/.vercel/output/functions/__nitro.func/index.mjs.map b/docs/.vercel/output/functions/__nitro.func/index.mjs.map
new file mode 100644
index 0000000..7d97540
--- /dev/null
+++ b/docs/.vercel/output/functions/__nitro.func/index.mjs.map
@@ -0,0 +1 @@
+{"version":3,"file":"index.mjs","sources":[],"sourcesContent":null,"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
\ No newline at end of file
diff --git a/docs/.vercel/output/functions/__nitro.func/package.json b/docs/.vercel/output/functions/__nitro.func/package.json
new file mode 100644
index 0000000..2d570d9
--- /dev/null
+++ b/docs/.vercel/output/functions/__nitro.func/package.json
@@ -0,0 +1,158 @@
+{
+ "name": "nitro-output",
+ "version": "0.0.0",
+ "private": true,
+ "bundledDependencies": [
+ "source-map-support",
+ "hookable",
+ "h3",
+ "destr",
+ "node-fetch-native",
+ "mdast-util-to-hast",
+ "scule",
+ "unist-util-position",
+ "unenv",
+ "defu",
+ "ohash",
+ "radix3",
+ "ufo",
+ "vue",
+ "vue-bundle-renderer",
+ "pathe",
+ "shiki-es",
+ "mdurl",
+ "unstorage",
+ "cookie-es",
+ "pinceau",
+ "vue-router",
+ "remark-mdc",
+ "@iconify/vue",
+ "html-tags",
+ "json5",
+ "property-information",
+ "unist-util-visit",
+ "unified",
+ "slugify",
+ "remark-emoji",
+ "remark-gfm",
+ "rehype-sort-attribute-values",
+ "micromark",
+ "rehype-external-links",
+ "remark-squeeze-paragraphs",
+ "rehype-sort-attributes",
+ "mdast-util-to-string",
+ "micromark-util-character",
+ "rehype-slug",
+ "remark-rehype",
+ "unctx",
+ "rehype-raw",
+ "remark-parse",
+ "micromark-util-chunked",
+ "unist-util-stringify-position",
+ "unist-builder",
+ "detab",
+ "micromark-util-resolve-all",
+ "ohmyfetch",
+ "unist-util-visit-parents",
+ "extend",
+ "node-emoji",
+ "emoticon",
+ "space-separated-tokens",
+ "mdast-util-gfm",
+ "micromark-extension-gfm",
+ "hast-util-is-element",
+ "hast-util-heading-rank",
+ "mdast-squeeze-paragraphs",
+ "hast-util-to-string",
+ "github-slugger",
+ "hast-util-has-property",
+ "hast-util-raw",
+ "@vue/server-renderer",
+ "is-absolute-url",
+ "buffer-from",
+ "source-map",
+ "@vue/devtools-api",
+ "stringify-entities",
+ "flat",
+ "parse-entities",
+ "unist-util-generated",
+ "mdast-util-definitions",
+ "bail",
+ "is-buffer",
+ "vfile",
+ "trough",
+ "nanoid",
+ "micromark-factory-space",
+ "micromark-core-commonmark",
+ "micromark-factory-whitespace",
+ "js-yaml",
+ "is-plain-obj",
+ "mdast-util-from-markdown",
+ "mdast-util-to-markdown",
+ "micromark-util-subtokenize",
+ "micromark-util-sanitize-uri",
+ "@vue/compiler-dom",
+ "@vue/runtime-dom",
+ "@vue/shared",
+ "tinycolor2",
+ "trim-lines",
+ "unist-util-is",
+ "micromark-extension-gfm-tagfilter",
+ "unist-util-remove",
+ "micromark-util-combine-extensions",
+ "micromark-extension-gfm-task-list-item",
+ "micromark-extension-gfm-autolink-literal",
+ "micromark-extension-gfm-footnote",
+ "micromark-extension-gfm-strikethrough",
+ "micromark-extension-gfm-table",
+ "micromark-util-encode",
+ "mdast-util-gfm-strikethrough",
+ "mdast-util-gfm-footnote",
+ "mdast-util-gfm-task-list-item",
+ "mdast-util-gfm-table",
+ "mdast-util-gfm-autolink-literal",
+ "hast-util-from-parse5",
+ "html-void-elements",
+ "zwitch",
+ "web-namespaces",
+ "hast-util-to-parse5",
+ "@vue/compiler-ssr",
+ "lodash",
+ "parse5",
+ "character-reference-invalid",
+ "character-entities-legacy",
+ "is-decimal",
+ "is-alphanumerical",
+ "is-hexadecimal",
+ "vfile-message",
+ "decode-named-character-reference",
+ "longest-streak",
+ "micromark-util-classify-character",
+ "micromark-factory-label",
+ "micromark-util-normalize-identifier",
+ "micromark-factory-title",
+ "micromark-factory-destination",
+ "micromark-util-html-tag-name",
+ "micromark-util-decode-string",
+ "micromark-util-decode-numeric-character-reference",
+ "@vue/runtime-core",
+ "@vue/compiler-core",
+ "character-entities-html4",
+ "ccount",
+ "mdast-util-find-and-replace",
+ "character-entities",
+ "is-alphabetical",
+ "markdown-table",
+ "vfile-location",
+ "hast-to-hyperscript",
+ "hastscript",
+ "@vue/reactivity",
+ "style-to-object",
+ "comma-separated-tokens",
+ "escape-string-regexp",
+ "@babel/parser",
+ "estree-walker",
+ "hast-util-parse-selector",
+ "inline-style-parser"
+ ]
+}
\ No newline at end of file
diff --git a/docs/.vercel/output/nitro.json b/docs/.vercel/output/nitro.json
new file mode 100644
index 0000000..c9ef3a0
--- /dev/null
+++ b/docs/.vercel/output/nitro.json
@@ -0,0 +1,8 @@
+{
+ "date": "2022-10-31T07:42:43.608Z",
+ "preset": "vercel",
+ "commands": {
+ "preview": "",
+ "deploy": ""
+ }
+}
\ No newline at end of file
diff --git a/docs/.vercel/output/static/_nuxt/Alert.85aa248c.js b/docs/.vercel/output/static/_nuxt/Alert.85aa248c.js
new file mode 100644
index 0000000..a67df60
--- /dev/null
+++ b/docs/.vercel/output/static/_nuxt/Alert.85aa248c.js
@@ -0,0 +1 @@
+import"./entry.5c8819da.js";import{a as r}from"./entry.5c8819da.js";export{r as default};
diff --git a/docs/.vercel/output/static/_nuxt/AppContainer.0e60ca18.js b/docs/.vercel/output/static/_nuxt/AppContainer.0e60ca18.js
new file mode 100644
index 0000000..d45c9d2
--- /dev/null
+++ b/docs/.vercel/output/static/_nuxt/AppContainer.0e60ca18.js
@@ -0,0 +1 @@
+import"./entry.5c8819da.js";import{an as r}from"./entry.5c8819da.js";export{r as default};
diff --git a/docs/.vercel/output/static/_nuxt/AppFooter.98065e5e.js b/docs/.vercel/output/static/_nuxt/AppFooter.98065e5e.js
new file mode 100644
index 0000000..afc76cb
--- /dev/null
+++ b/docs/.vercel/output/static/_nuxt/AppFooter.98065e5e.js
@@ -0,0 +1 @@
+import"./entry.5c8819da.js";import{as as o}from"./entry.5c8819da.js";export{o as default};
diff --git a/docs/.vercel/output/static/_nuxt/AppLayout.a480fab5.js b/docs/.vercel/output/static/_nuxt/AppLayout.a480fab5.js
new file mode 100644
index 0000000..9725870
--- /dev/null
+++ b/docs/.vercel/output/static/_nuxt/AppLayout.a480fab5.js
@@ -0,0 +1 @@
+import"./entry.5c8819da.js";import{at as o}from"./entry.5c8819da.js";export{o as default};
diff --git a/docs/.vercel/output/static/_nuxt/AppSearch.fe9de0c1.js b/docs/.vercel/output/static/_nuxt/AppSearch.fe9de0c1.js
new file mode 100644
index 0000000..8c0bfd4
--- /dev/null
+++ b/docs/.vercel/output/static/_nuxt/AppSearch.fe9de0c1.js
@@ -0,0 +1 @@
+import"./entry.5c8819da.js";import{au as r}from"./entry.5c8819da.js";export{r as default};
diff --git a/docs/.vercel/output/static/_nuxt/ArticleHero.650011df.js b/docs/.vercel/output/static/_nuxt/ArticleHero.650011df.js
new file mode 100644
index 0000000..a95cd31
--- /dev/null
+++ b/docs/.vercel/output/static/_nuxt/ArticleHero.650011df.js
@@ -0,0 +1 @@
+import{b as g,e as y,u as t,o as a,f as r,h as s,t as n,i as f,j as l,F as h,r as k}from"./entry.5c8819da.js";const v={key:0,class:"py-8 lg:py-16"},w={class:"flex flex-col items-center justify-center max-w-4xl px-4 mx-auto text-center gap-y-8 sm:px-6 lg:px-8"},b={key:0,class:"font-semibold text-gray-400"},j={key:1,class:"text-5xl font-bold text-gray-900 dark:text-white"},B={key:2,class:"max-w-5xl font-medium text-gray-700 dark:text-gray-200"},D={key:3,class:"flex flex-wrap items-center justify-center gap-4"},C=["href"],L={class:"w-12 h-12 rounded-full"},N=["src","alt"],V={class:"flex flex-col items-start justify-center"},F={class:"text-gray-900 dark:text-white"},S={class:"text-sm text-gray-400"},H=g({__name:"ArticleHero",setup(A){const{page:e}=y(),p=(c,i)=>new Date(i).toLocaleDateString(c,{year:"numeric",month:"long",day:"numeric"});return(c,i)=>{var d,u,_,x,m;return t(e)?(a(),r("div",v,[s("div",w,[(d=t(e))!=null&&d.date?(a(),r("div",b,[s("time",null,n(p("en",t(e).date)),1),f(" - "+n(t(e).category),1)])):l("",!0),(u=t(e))!=null&&u.title?(a(),r("h1",j,n(t(e).title),1)):l("",!0),(_=t(e))!=null&&_.description?(a(),r("p",B,n(t(e).description),1)):l("",!0),(m=(x=t(e))==null?void 0:x.authors)!=null&&m.length?(a(),r("ul",D,[(a(!0),r(h,null,k(t(e).authors,o=>(a(),r("li",{key:o.name,class:"group"},[s("a",{href:o.link,alt:"twitter account",class:"flex p-2 transition-colors duration-300 rounded-md gap-x-2 group-hover:bg-gray-100 dark:group-hover:bg-gray-700"},[s("div",L,[s("img",{src:o.avatarUrl,alt:o.name,class:"border-2 border-gray-500 rounded-full"},null,8,N)]),s("div",V,[s("span",F,n(o.name),1),s("span",S,n(`@${o.link.split("/").pop()}`),1)])],8,C)]))),128))])):l("",!0)])])):l("",!0)}}});export{H as default};
diff --git a/docs/.vercel/output/static/_nuxt/Badge.c00ca7ec.js b/docs/.vercel/output/static/_nuxt/Badge.c00ca7ec.js
new file mode 100644
index 0000000..e4a168f
--- /dev/null
+++ b/docs/.vercel/output/static/_nuxt/Badge.c00ca7ec.js
@@ -0,0 +1 @@
+import"./Badge.vue_vue_type_script_setup_true_lang.871fa249.js";import{_ as t}from"./Badge.vue_vue_type_script_setup_true_lang.871fa249.js";import"./entry.5c8819da.js";export{t as default};
diff --git a/docs/.vercel/output/static/_nuxt/Badge.vue_vue_type_script_setup_true_lang.871fa249.js b/docs/.vercel/output/static/_nuxt/Badge.vue_vue_type_script_setup_true_lang.871fa249.js
new file mode 100644
index 0000000..8ed14bd
--- /dev/null
+++ b/docs/.vercel/output/static/_nuxt/Badge.vue_vue_type_script_setup_true_lang.871fa249.js
@@ -0,0 +1 @@
+import{b as t,o as s,f as r,k as o,l,m as i}from"./entry.5c8819da.js";const u=t({__name:"Badge",props:{type:{type:String,default:"info",validator(e){return["info","success","warning","danger","primary","gray"].includes(e)}}},setup(e){return(n,c)=>{const a=i;return s(),r("span",{class:l([[e.type],"inline-flex items-center px-3 py-1 text-base leading-5 tracking-tight rounded-full badge"])},[o(a,{use:n.$slots.default,unwrap:"p"},null,8,["use"])],2)}}});export{u as _};
diff --git a/docs/.vercel/output/static/_nuxt/BlockHero.a98d7054.js b/docs/.vercel/output/static/_nuxt/BlockHero.a98d7054.js
new file mode 100644
index 0000000..ca75d67
--- /dev/null
+++ b/docs/.vercel/output/static/_nuxt/BlockHero.a98d7054.js
@@ -0,0 +1 @@
+import{b as m,o as t,f as o,h as r,k as l,j as a,F as p,c,w as y,i as f,t as i,p as g,m as h}from"./entry.5c8819da.js";import x from"./ButtonLink.2f82fed5.js";import{_ as k}from"./Terminal.vue_vue_type_script_setup_true_lang.d64be369.js";import"./index.cb3c216d.js";const _={class:"py-20 sm:py-24 lg:py-32"},$={class:"grid gap-8 lg:grid-cols-3"},w={class:"lg:col-span-2"},v={key:0,class:"mb-2 text-center lg:text-left"},B={key:1,class:"text-4xl font-extrabold tracking-tight text-center u-text-gray-900 sm:text-5xl lg:text-left lg:text-6xl"},b={key:2,class:"max-w-3xl mt-4 text-lg text-center u-text-gray-500 lg:text-left"},q={key:3,class:"mt-6"},C={class:"flex flex-col items-center justify-center gap-4 mt-6 sm:mt-10 sm:flex-row sm:gap-6 lg:justify-start"},N=["href"],T=m({__name:"BlockHero",props:{cta:{type:Array,required:!1},secondary:{type:Array,required:!1},snippet:{type:String,required:!1},video:{type:Array,required:!1}},setup(s){return(e,S)=>{const n=h,u=x,d=k;return t(),o("section",_,[r("div",$,[r("div",w,[e.$slots.top?(t(),o("p",v,[l(n,{use:e.$slots.top,unwrap:"p"},null,8,["use"])])):a("",!0),e.$slots.title?(t(),o("h1",B,[l(n,{use:e.$slots.title,unwrap:"p"},null,8,["use"])])):a("",!0),e.$slots.description?(t(),o("p",b,[l(n,{use:e.$slots.description,unwrap:"p"},null,8,["use"])])):a("",!0),e.$slots.extra?(t(),o("div",q,[l(n,{use:e.$slots.extra,unwrap:"p"},null,8,["use"])])):a("",!0),r("div",C,[e.$slots.actions?(t(),c(n,{key:1,use:e.$slots.actions,unwrap:"p"},null,8,["use"])):(t(),o(p,{key:0},[s.cta?(t(),c(u,{key:0,class:"!mb-0",bold:"",size:"large",href:s.cta[1]},{default:y(()=>[f(i(s.cta[0]),1)]),_:1},8,["href"])):a("",!0),s.secondary?(t(),o("a",{key:1,href:s.secondary[1],class:"py-px font-medium u-text-gray-500 hover:u-text-gray-700"},i(s.secondary[0]),9,N)):a("",!0)],64))])]),g(e.$slots,"right",{},()=>[s.snippet?(t(),c(d,{key:0,content:s.snippet},null,8,["content"])):a("",!0)])])])}}});export{T as default};
diff --git a/docs/.vercel/output/static/_nuxt/ButtonLink.2f82fed5.js b/docs/.vercel/output/static/_nuxt/ButtonLink.2f82fed5.js
new file mode 100644
index 0000000..2de5136
--- /dev/null
+++ b/docs/.vercel/output/static/_nuxt/ButtonLink.2f82fed5.js
@@ -0,0 +1 @@
+import{b as c,o as t,c as n,w as u,j as f,k as i,l as m,q as d,m as r,s as _,v as p}from"./entry.5c8819da.js";const k=c({__name:"ButtonLink",props:{href:{type:String,default:""},size:{type:String,default:"medium"},bold:{type:Boolean,default:!1},icon:{type:String,default:""},transparent:{type:Boolean,default:!1},blank:{type:Boolean,required:!1,default:!1}},setup(e){return(a,b)=>{const o=d,s=r,l=_;return t(),n(l,{class:m(["button-link",[e.size,e.bold?"font-semibold":"font-medium"]]),to:e.href,target:e.blank?"_blank":void 0},{default:u(()=>[e.icon?(t(),n(o,{key:0,name:e.icon,class:"w-4 h-4 mr-2"},null,8,["name"])):f("",!0),i(s,{use:a.$slots.default,unwrap:"p ul li"},null,8,["use"])]),_:1},8,["class","to","target"])}}}),x=p(k,[["__scopeId","data-v-df52924a"]]);export{x as default};
diff --git a/docs/.vercel/output/static/_nuxt/Callout.0ddc66f7.js b/docs/.vercel/output/static/_nuxt/Callout.0ddc66f7.js
new file mode 100644
index 0000000..e88a72b
--- /dev/null
+++ b/docs/.vercel/output/static/_nuxt/Callout.0ddc66f7.js
@@ -0,0 +1 @@
+import"./Callout.vue_vue_type_script_setup_true_lang.9a785567.js";import{_ as t}from"./Callout.vue_vue_type_script_setup_true_lang.9a785567.js";import"./entry.5c8819da.js";export{t as default};
diff --git a/docs/.vercel/output/static/_nuxt/Callout.vue_vue_type_script_setup_true_lang.9a785567.js b/docs/.vercel/output/static/_nuxt/Callout.vue_vue_type_script_setup_true_lang.9a785567.js
new file mode 100644
index 0000000..19c7ef0
--- /dev/null
+++ b/docs/.vercel/output/static/_nuxt/Callout.vue_vue_type_script_setup_true_lang.9a785567.js
@@ -0,0 +1 @@
+import{b as m,x as o,o as d,f as p,h as l,k as a,l as r,H as f,I as _,m as v,q as h}from"./entry.5c8819da.js";const g={class:"-mt-4"},w=m({__name:"Callout",props:{type:{type:String,default:"info",validator(s){return["info","success","warning","danger","primary"].includes(s)}},modelValue:{required:!1,default:o(!1)}},emits:["update:modelValue"],setup(s,{emit:c}){const e=o(s.modelValue),u=()=>{e.value=!e.value,c("update:modelValue",e.value)};return(t,y)=>{const n=v,i=h;return d(),p("div",{class:r(["relative px-4 mt-4 mb-4 text-sm leading-relaxed callout rounded-xl",[s.type]])},[l("span",{class:"flex items-center justify-between",onClick:u},[a(n,{use:t.$slots.summary},null,8,["use"]),a(i,{name:"heroicons-outline:chevron-right",class:r(["w-5 h-5 transition-transform transform",{"rotate-90":e.value}])},null,8,["class"])]),f(l("div",g,[a(n,{use:t.$slots.content},null,8,["use"])],512),[[_,e.value]])],2)}}});export{w as _};
diff --git a/docs/.vercel/output/static/_nuxt/Card.e4d02baa.css b/docs/.vercel/output/static/_nuxt/Card.e4d02baa.css
new file mode 100644
index 0000000..b6ec3d6
--- /dev/null
+++ b/docs/.vercel/output/static/_nuxt/Card.e4d02baa.css
@@ -0,0 +1 @@
+.card[data-v-3b73e436]{--tw-border-opacity:1;--tw-bg-opacity:1;background-color:rgb(250 250 250/var(--tw-bg-opacity));border-color:rgb(228 228 231/var(--tw-border-opacity));border-width:1px}.dark .card[data-v-3b73e436]{--tw-border-opacity:1;--tw-bg-opacity:.25;--tw-text-opacity:1;background-color:rgb(39 39 42/var(--tw-bg-opacity));border-color:rgb(24 24 27/var(--tw-border-opacity));color:rgb(250 250 250/var(--tw-text-opacity))}.card.blurry[data-v-3b73e436]{--tw-bg-opacity:.2!important;--tw-backdrop-blur:blur(16px)!important;--tw-backdrop-saturate:saturate(1.5);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.card[data-v-3b73e436] code{--tw-border-opacity:1;--tw-bg-opacity:1;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;background-color:rgb(244 244 245/var(--tw-bg-opacity));border-color:rgb(228 228 231/var(--tw-border-opacity));box-shadow:0 0 #0000,0 0 #0000,var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);color:currentColor}.dark .card[data-v-3b73e436] code{--tw-border-opacity:1;--tw-bg-opacity:.5;background-color:rgb(24 24 27/var(--tw-bg-opacity));border-color:rgb(39 39 42/var(--tw-border-opacity))}.card[data-v-3b73e436] a{border-style:none;color:currentColor;font-weight:600;text-decoration-line:underline}.card[data-v-3b73e436] a:hover{--tw-text-opacity:1;color:rgb(12 12 13/var(--tw-text-opacity))}.dark .card[data-v-3b73e436] a:hover{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.card[data-v-3b73e436] a:hover code{--tw-border-opacity:1;border-color:rgb(161 161 170/var(--tw-border-opacity))}.dark .card[data-v-3b73e436] a:hover code{--tw-border-opacity:1;border-color:rgb(63 63 70/var(--tw-border-opacity))}.card[data-v-3b73e436] strong{color:currentColor!important;font-weight:700!important}.card[data-v-3b73e436] li:before{background-color:currentColor!important;color:currentColor!important}.card[data-v-3b73e436] .prose-code{margin-bottom:1rem;margin-top:1rem}.card[data-v-3b73e436] .prose-code code{background-color:transparent!important}
diff --git a/docs/.vercel/output/static/_nuxt/Card.f7daf8cb.js b/docs/.vercel/output/static/_nuxt/Card.f7daf8cb.js
new file mode 100644
index 0000000..7b32d0b
--- /dev/null
+++ b/docs/.vercel/output/static/_nuxt/Card.f7daf8cb.js
@@ -0,0 +1 @@
+import{b as i,o,f as d,h as e,c as u,j as m,p,k as n,w as l,i as r,l as f,q as _,m as h,v as C}from"./entry.5c8819da.js";/* empty css */const b={class:"flex"},k={class:"mb-2 text-lg font-semibold tracking-tight"},x={class:"inline text-sm font-medium tracking-tight"},g=i({__name:"Card",props:{icon:{type:String,default:""},iconClass:{type:String,default:""},blurry:{type:Boolean,default:!0,required:!1}},setup(t){return(s,v)=>{const c=_,a=h;return o(),d("div",b,[e("div",{class:f([{blurry:t.blurry},"relative w-full p-8 card rounded-xl"])},[t.icon?(o(),u(c,{key:0,name:t.icon,class:"inline-block w-8 h-8 mb-2 text-2xl"},null,8,["name"])):m("",!0),p(s.$slots,"default",{},void 0,!0),e("div",null,[e("h3",k,[n(a,{use:s.$slots.title,unwrap:"p"},{default:l(()=>[r(" Card title ")]),_:1},8,["use"])]),e("p",x,[n(a,{use:s.$slots.description,unwrap:"p"},{default:l(()=>[r(" Card description ")]),_:1},8,["use"])])])],2)])}}}),B=C(g,[["__scopeId","data-v-3b73e436"]]);export{B as default};
diff --git a/docs/.vercel/output/static/_nuxt/CardGrid.80b15d5c.js b/docs/.vercel/output/static/_nuxt/CardGrid.80b15d5c.js
new file mode 100644
index 0000000..90e0823
--- /dev/null
+++ b/docs/.vercel/output/static/_nuxt/CardGrid.80b15d5c.js
@@ -0,0 +1 @@
+import{b as a,o as l,f as n,k as r,h as e,p as s,m as c}from"./entry.5c8819da.js";const i={class:"relative pb-20 sm:pb-24 lg:pb-32"},d={class:"mb-8 text-3xl font-bold tracking-tight u-text-gray-900 sm:text-4xl"},p={class:"grid gap-4 font-semibold text-left u-text-gray-900 sm:grid-cols-2 lg:grid-cols-3 2xl:gap-8"},g=a({__name:"CardGrid",props:{title:{type:String,default:"Features"}},setup(_){return(t,m)=>{const o=c;return l(),n("section",i,[r(o,{use:t.$slots.root,unwrap:"*"},null,8,["use"]),e("h2",d,[s(t.$slots,"title")]),e("div",p,[s(t.$slots,"default")])])}}});export{g as default};
diff --git a/docs/.vercel/output/static/_nuxt/CodeBlock.0c19e5b4.js b/docs/.vercel/output/static/_nuxt/CodeBlock.0c19e5b4.js
new file mode 100644
index 0000000..e9e6570
--- /dev/null
+++ b/docs/.vercel/output/static/_nuxt/CodeBlock.0c19e5b4.js
@@ -0,0 +1 @@
+import{b as a,o as t,f as l,p as r,l as s,v as c}from"./entry.5c8819da.js";/* empty css */const n=a({__name:"CodeBlock",props:{label:{type:String,required:!0},active:{type:Boolean,default:!1},preview:{type:Boolean,default:!1}},setup(e){return(o,d)=>(t(),l("div",{class:s(["code-block",{active:e.active,"rounded-lg p-4":e.preview}])},[r(o.$slots,"default",{},void 0,!0)],2))}}),f=c(n,[["__scopeId","data-v-88c198f2"]]);export{f as default};
diff --git a/docs/.vercel/output/static/_nuxt/CodeBlock.6e7eaa49.css b/docs/.vercel/output/static/_nuxt/CodeBlock.6e7eaa49.css
new file mode 100644
index 0000000..12d87a7
--- /dev/null
+++ b/docs/.vercel/output/static/_nuxt/CodeBlock.6e7eaa49.css
@@ -0,0 +1 @@
+.code-block[data-v-88c198f2]{display:none}.code-block.active[data-v-88c198f2]{display:block}
diff --git a/docs/.vercel/output/static/_nuxt/CodeGroup.42b06250.css b/docs/.vercel/output/static/_nuxt/CodeGroup.42b06250.css
new file mode 100644
index 0000000..6a5e3f0
--- /dev/null
+++ b/docs/.vercel/output/static/_nuxt/CodeGroup.42b06250.css
@@ -0,0 +1 @@
+li .code-group{margin-bottom:1rem;margin-top:1rem}html.dark .code-group-content .preview-canvas{--tw-bg-opacity:1;background-color:rgb(24 24 27/var(--tw-bg-opacity));border-bottom-left-radius:.5rem;border-bottom-right-radius:.5rem;border-top-left-radius:0;border-top-right-radius:0;line-height:1.5;margin-bottom:0;margin-top:0;overflow-x:auto;padding:1rem;z-index:0}.code-group[data-v-e62afa1a]{border-radius:.5rem;overflow:hidden}.code-group[data-v-e62afa1a] .prose-code{border-radius:0!important;margin-bottom:0!important;margin-top:0!important}.code-group[data-v-e62afa1a] .prose-code-header{display:none}.code-group[data-v-e62afa1a] pre{margin-top:0!important}.code-group[data-v-e62afa1a] .filename{display:none}.code-group-content[data-v-e62afa1a],.code-group-content .preview-canvas[data-v-e62afa1a]{border-bottom-left-radius:.5rem;border-bottom-right-radius:.5rem}.code-group-content .preview-canvas[data-v-e62afa1a]{--tw-text-opacity:1;--tw-bg-opacity:1;background-color:rgb(250 250 250/var(--tw-bg-opacity));color:rgb(39 39 42/var(--tw-text-opacity));line-height:1.5;margin-bottom:0;margin-top:0;overflow-x:auto;padding:1rem;z-index:0}.dark .code-group-content .preview-canvas[data-v-e62afa1a]{--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(24 24 27/var(--tw-bg-opacity));color:rgb(228 228 231/var(--tw-text-opacity))}.code-group-content .preview-canvas>*[data-v-e62afa1a]{margin-bottom:0;margin-top:0}
diff --git a/docs/.vercel/output/static/_nuxt/CodeGroup.ee158690.js b/docs/.vercel/output/static/_nuxt/CodeGroup.ee158690.js
new file mode 100644
index 0000000..f83d94c
--- /dev/null
+++ b/docs/.vercel/output/static/_nuxt/CodeGroup.ee158690.js
@@ -0,0 +1 @@
+import{_ as o}from"./CodeGroup.vue_vue_type_style_index_1_scoped_e62afa1a_lang.ff9e305e.js";import{v as a}from"./entry.5c8819da.js";import"./TabsHeader.4ceb7ffd.js";const s=a(o,[["__scopeId","data-v-e62afa1a"]]);export{s as default};
diff --git a/docs/.vercel/output/static/_nuxt/CodeGroup.vue_vue_type_style_index_1_scoped_e62afa1a_lang.ff9e305e.js b/docs/.vercel/output/static/_nuxt/CodeGroup.vue_vue_type_style_index_1_scoped_e62afa1a_lang.ff9e305e.js
new file mode 100644
index 0000000..4452cbd
--- /dev/null
+++ b/docs/.vercel/output/static/_nuxt/CodeGroup.vue_vue_type_style_index_1_scoped_e62afa1a_lang.ff9e305e.js
@@ -0,0 +1 @@
+import _ from"./TabsHeader.4ceb7ffd.js";import{b as s,J as t}from"./entry.5c8819da.js";const i=(n,d)=>n.type&&n.type.tag&&n.type.tag===d,u=s({data(){return{activeTabIndex:0,counter:0}},render(){const n=this.$slots.default(),d=n.filter(e=>i(e,"code-block")||i(e,"code")).map((e,r)=>{var a,c,p;return{label:((a=e==null?void 0:e.props)==null?void 0:a.filename)||((c=e==null?void 0:e.props)==null?void 0:c.label)||`${r}`,active:((p=e==null?void 0:e.props)==null?void 0:p.active)||!1,component:e}});return t("div",{class:{"code-group":!0,"first-tab":this.activeTabIndex===0}},[t(_,{ref:"tabs-header",activeTabIndex:this.activeTabIndex,tabs:d,"onUpdate:activeTabIndex":e=>this.activeTabIndex=e}),t("div",{class:"code-group-content",text:this.activeTabIndex},n.map((e,r)=>{var a,c;return t("div",{style:{display:r===this.activeTabIndex?"block":"none"},class:{"":!i(e,"code")}},[i(e,"code")?e:t("div",{class:{"preview-canvas":!0}},[((c=(a=e.children)==null?void 0:a.default)==null?void 0:c.call(a))||t("div")])])}))])}});export{u as _};
diff --git a/docs/.vercel/output/static/_nuxt/ColorModeSwitch.757ab35a.js b/docs/.vercel/output/static/_nuxt/ColorModeSwitch.757ab35a.js
new file mode 100644
index 0000000..9390590
--- /dev/null
+++ b/docs/.vercel/output/static/_nuxt/ColorModeSwitch.757ab35a.js
@@ -0,0 +1 @@
+import"./entry.5c8819da.js";import{av as r}from"./entry.5c8819da.js";export{r as default};
diff --git a/docs/.vercel/output/static/_nuxt/ContentDoc.3cdfc123.js b/docs/.vercel/output/static/_nuxt/ContentDoc.3cdfc123.js
new file mode 100644
index 0000000..9945503
--- /dev/null
+++ b/docs/.vercel/output/static/_nuxt/ContentDoc.3cdfc123.js
@@ -0,0 +1 @@
+import{b as s,N as y,Y as g,Z as v,J as o,$ as p,X as w}from"./entry.5c8819da.js";import C from"./ContentQuery.019e7157.js";import"./asyncData.31ace0d7.js";const $=s({name:"ContentDoc",props:{tag:{type:String,required:!1,default:"div"},excerpt:{type:Boolean,default:!1},path:{type:String,required:!1,default:void 0},query:{type:Object,required:!1,default:void 0},head:{type:Boolean,required:!1,default:!0}},render(f){const e=y(),{tag:d,excerpt:r,path:c,query:a,head:u}=f,m={...a||{},path:c||(a==null?void 0:a.path)||g(v().path),find:"one"},l=(t,n)=>o("pre",null,JSON.stringify({message:"You should use slots with ",slot:t,data:n},null,2));return o(C,m,{default:e!=null&&e.default?({data:t,refresh:n,isPartial:h})=>{var i;return u&&p(t),(i=e.default)==null?void 0:i.call(e,{doc:t,refresh:n,isPartial:h,excerpt:r,...this.$attrs})}:({data:t})=>(u&&p(t),o(w,{value:t,excerpt:r,tag:d,...this.$attrs},{empty:n=>e!=null&&e.empty?e.empty(n):l("default",t)})),empty:t=>{var n;return((n=e==null?void 0:e.empty)==null?void 0:n.call(e,t))||o("p",null,"Document is empty, overwrite this content with #empty slot in .")},"not-found":t=>{var n;return((n=e==null?void 0:e["not-found"])==null?void 0:n.call(e,t))||o("p",null,"Document not found, overwrite this content with #not-found slot in .")}})}});export{$ as default};
diff --git a/docs/.vercel/output/static/_nuxt/ContentList.544db236.js b/docs/.vercel/output/static/_nuxt/ContentList.544db236.js
new file mode 100644
index 0000000..c1e7cc6
--- /dev/null
+++ b/docs/.vercel/output/static/_nuxt/ContentList.544db236.js
@@ -0,0 +1 @@
+import i from"./ContentQuery.019e7157.js";import{b as m,N as c,J as r}from"./entry.5c8819da.js";import"./asyncData.31ace0d7.js";const s=m({name:"ContentList",props:{path:{type:String,required:!1,default:void 0},query:{type:Object,required:!1,default:void 0}},render(d){const t=c(),{path:f,query:a}=d,p={...a||{},path:f||(a==null?void 0:a.path)||"/"},o=(e,n)=>r("pre",null,JSON.stringify({message:"You should use slots with ",slot:e,data:n},null,2));return r(i,p,{default:t!=null&&t.default?({data:e,refresh:n,isPartial:u})=>t==null?void 0:t.default({list:e,refresh:n,isPartial:u,...this.$attrs}):({data:e})=>o("default",e),empty:e=>t!=null&&t.empty?t.empty(e):({data:n})=>o("default",n),"not-found":e=>{var n;return t!=null&&t["not-found"]?(n=t==null?void 0:t["not-found"])==null?void 0:n.call(t,e):({data:u})=>o("not-found",u)}})}});export{s as default};
diff --git a/docs/.vercel/output/static/_nuxt/ContentNavigation.810a93b6.js b/docs/.vercel/output/static/_nuxt/ContentNavigation.810a93b6.js
new file mode 100644
index 0000000..b06b5c4
--- /dev/null
+++ b/docs/.vercel/output/static/_nuxt/ContentNavigation.810a93b6.js
@@ -0,0 +1 @@
+import{b as m,x as f,P,a3 as L,f as I,a4 as D,J as s,E as g,a5 as R,d as e,_ as r,a0 as V,a6 as S,e as y,a1 as c,N as b,a7 as B,s as x}from"./entry.5c8819da.js";import{u as N}from"./asyncData.31ace0d7.js";import"./Callout.vue_vue_type_script_setup_true_lang.9a785567.js";/* empty css *//* empty css */import"./CodeGroup.vue_vue_type_style_index_1_scoped_e62afa1a_lang.ff9e305e.js";import"./List.vue_vue_type_style_index_0_lang.aa51af9a.js";import"./NuxtImg.vue_vue_type_script_lang.73948608.js";import"./Props.ae63778f.js";import"./TabsHeader.4ceb7ffd.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import"./ProseCodeInline.50440e49.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import"./ProseTable.42d7d6fa.js";import"./ProseTd.5250a879.js";import"./ProseTh.eff23c97.js";import"./ProseThead.f14263ab.js";import"./ProseTr.b4f984e9.js";/* empty css *//* empty css *//* empty css */import"./ContentDoc.3cdfc123.js";import"./ContentList.544db236.js";import"./ContentQuery.019e7157.js";import"./Markdown.d5d45569.js";import"./ProseTbody.a82ee65e.js";import"./index.c8e7d9b1.js";const j=m({emits:{error(t){return!0}},setup(t,{slots:i,emit:o}){const _=f(null),n=P();return L(u=>{if(!n.isHydrating)return o("error",u),_.value=u,!1}),()=>{var u,a;return _.value?(u=i.error)==null?void 0:u.call(i,{error:_}):(a=i.default)==null?void 0:a.call(i)}}}),z=Object.freeze(Object.defineProperty({__proto__:null,default:j},Symbol.toStringTag,{value:"Module"})),C=m({name:"ServerPlaceholder",render(){return I("div")}}),k=Object.freeze(Object.defineProperty({__proto__:null,default:C},Symbol.toStringTag,{value:"Module"})),M=m({name:"NuxtLoadingIndicator",props:{throttle:{type:Number,default:200},duration:{type:Number,default:2e3},height:{type:Number,default:3},color:{type:String,default:"repeating-linear-gradient(to right,#00dc82 0%,#34cdfe 50%,#0047e1 100%)"}},setup(t,{slots:i}){const o=q({duration:t.duration,throttle:t.throttle}),_=P();return _.hook("page:start",o.start),_.hook("page:finish",o.finish),D(()=>o.clear),()=>s("div",{class:"nuxt-loading-indicator",style:{position:"fixed",top:0,right:0,left:0,pointerEvents:"none",width:`${o.progress.value}%`,height:`${t.height}px`,opacity:o.isLoading.value?1:0,background:t.color,backgroundSize:`${100/o.progress.value*100}% auto`,transition:"width 0.1s, height 0.4s, opacity 0.4s",zIndex:999999}},i)}});function q(t){const i=f(0),o=f(!1),_=g(()=>1e4/t.duration);let n=null,u=null;function a(){d(),i.value=0,o.value=!0,t.throttle?u=setTimeout(v,t.throttle):v()}function h(){i.value=100,O()}function d(){clearInterval(n),clearTimeout(u),n=null,u=null}function A(T){i.value=Math.min(100,i.value+T)}function O(){d(),setTimeout(()=>{o.value=!1,setTimeout(()=>{i.value=0},400)},500)}function v(){n=setInterval(()=>{A(_.value)},100)}return{progress:i,isLoading:o,start:a,finish:h,clear:d}}const H=Object.freeze(Object.defineProperty({__proto__:null,default:M},Symbol.toStringTag,{value:"Module"})),$=t=>Object.fromEntries(Object.entries(t).filter(([,i])=>i!==void 0)),p=(t,i)=>(o,_)=>(R(()=>t({...$(o),..._.attrs},_)),()=>{var n,u;return i?(u=(n=_.slots).default)==null?void 0:u.call(n):null}),E={accesskey:String,autocapitalize:String,autofocus:{type:Boolean,default:void 0},class:String,contenteditable:{type:Boolean,default:void 0},contextmenu:String,dir:String,draggable:{type:Boolean,default:void 0},enterkeyhint:String,exportparts:String,hidden:{type:Boolean,default:void 0},id:String,inputmode:String,is:String,itemid:String,itemprop:String,itemref:String,itemscope:String,itemtype:String,lang:String,nonce:String,part:String,slot:String,spellcheck:{type:Boolean,default:void 0},style:String,tabindex:String,title:String,translate:String},w=m({name:"Script",inheritAttrs:!1,props:{...E,async:Boolean,crossorigin:{type:[Boolean,String],default:void 0},defer:Boolean,fetchpriority:String,integrity:String,nomodule:Boolean,nonce:String,referrerpolicy:String,src:String,type:String,charset:String,language:String,body:Boolean,renderPriority:[String,Number]},setup:p((t,{slots:i})=>{var n;const o={...t},_=(((n=i.default)==null?void 0:n.call(i))||[]).filter(({children:u})=>u).map(({children:u})=>u).join("");return _&&(o.children=_),{script:[o]}})}),U=m({name:"NoScript",inheritAttrs:!1,props:{...E,title:String,body:Boolean,renderPriority:[String,Number]},setup:p((t,{slots:i})=>{var n;const o={...t},_=(((n=i.default)==null?void 0:n.call(i))||[]).filter(({children:u})=>u).map(({children:u})=>u).join("");return _&&(o.children=_),{noscript:[o]}})}),F=m({name:"Link",inheritAttrs:!1,props:{...E,as:String,crossorigin:String,disabled:Boolean,fetchpriority:String,href:String,hreflang:String,imagesizes:String,imagesrcset:String,integrity:String,media:String,prefetch:{type:Boolean,default:void 0},referrerpolicy:String,rel:String,sizes:String,title:String,type:String,methods:String,target:String,body:Boolean,renderPriority:[String,Number]},setup:p(t=>({link:[t]}))}),J=m({name:"Base",inheritAttrs:!1,props:{...E,href:String,target:String},setup:p(t=>({base:t}))}),G=m({name:"Title",inheritAttrs:!1,setup:p((t,{slots:i})=>{var _,n,u;return{title:((u=(n=(_=i.default)==null?void 0:_.call(i))==null?void 0:n[0])==null?void 0:u.children)||null}})}),K=m({name:"Meta",inheritAttrs:!1,props:{...E,charset:String,content:String,httpEquiv:String,name:String,body:Boolean,renderPriority:[String,Number]},setup:p(t=>{const i={...t};return i.httpEquiv&&(i["http-equiv"]=i.httpEquiv,delete i.httpEquiv),{meta:[i]}})}),Q=m({name:"Style",inheritAttrs:!1,props:{...E,type:String,media:String,nonce:String,title:String,scoped:{type:Boolean,default:void 0},body:Boolean,renderPriority:[String,Number]},setup:p((t,{slots:i})=>{var n,u,a;const o={...t},_=(a=(u=(n=i.default)==null?void 0:n.call(i))==null?void 0:u[0])==null?void 0:a.children;return _&&(o.children=_),{style:[o]}})}),W=m({name:"Head",inheritAttrs:!1,setup:(t,i)=>()=>{var o,_;return(_=(o=i.slots).default)==null?void 0:_.call(o)}}),X=m({name:"Html",inheritAttrs:!1,props:{...E,manifest:String,version:String,xmlns:String,renderPriority:[String,Number]},setup:p(t=>({htmlAttrs:t}),!0)}),Y=m({name:"Body",inheritAttrs:!1,props:{...E,renderPriority:[String,Number]},setup:p(t=>({bodyAttrs:t}),!0)}),l=Object.freeze(Object.defineProperty({__proto__:null,Script:w,NoScript:U,Link:F,Base:J,Title:G,Meta:K,Style:Q,Head:W,Html:X,Body:Y},Symbol.toStringTag,{value:"Module"}));e(()=>r(()=>import("./Alert.85aa248c.js"),["Alert.85aa248c.js","entry.5c8819da.js","entry.9a0500ad.css"],import.meta.url).then(t=>t.default||t));e(()=>r(()=>import("./ArticleHero.650011df.js"),["ArticleHero.650011df.js","entry.5c8819da.js","entry.9a0500ad.css"],import.meta.url).then(t=>t.default||t));e(()=>r(()=>import("./Badge.c00ca7ec.js"),["Badge.c00ca7ec.js","Badge.vue_vue_type_script_setup_true_lang.871fa249.js","entry.5c8819da.js","entry.9a0500ad.css"],import.meta.url).then(t=>t.default||t));e(()=>r(()=>import("./BlockHero.a98d7054.js"),["BlockHero.a98d7054.js","entry.5c8819da.js","entry.9a0500ad.css","ButtonLink.2f82fed5.js","Terminal.vue_vue_type_script_setup_true_lang.d64be369.js","index.cb3c216d.js"],import.meta.url).then(t=>t.default||t));e(()=>r(()=>import("./ButtonLink.2f82fed5.js"),["ButtonLink.2f82fed5.js","entry.5c8819da.js","entry.9a0500ad.css"],import.meta.url).then(t=>t.default||t));e(()=>r(()=>import("./Callout.0ddc66f7.js"),["Callout.0ddc66f7.js","Callout.vue_vue_type_script_setup_true_lang.9a785567.js","entry.5c8819da.js","entry.9a0500ad.css"],import.meta.url).then(t=>t.default||t));e(()=>r(()=>import("./Card.f7daf8cb.js"),["Card.f7daf8cb.js","Card.e4d02baa.css","entry.5c8819da.js","entry.9a0500ad.css"],import.meta.url).then(t=>t.default||t));e(()=>r(()=>import("./CardGrid.80b15d5c.js"),["CardGrid.80b15d5c.js","entry.5c8819da.js","entry.9a0500ad.css"],import.meta.url).then(t=>t.default||t));e(()=>r(()=>import("./CodeBlock.0c19e5b4.js"),["CodeBlock.0c19e5b4.js","CodeBlock.6e7eaa49.css","entry.5c8819da.js","entry.9a0500ad.css"],import.meta.url).then(t=>t.default||t));e(()=>r(()=>import("./CodeGroup.ee158690.js"),["CodeGroup.ee158690.js","CodeGroup.vue_vue_type_style_index_1_scoped_e62afa1a_lang.ff9e305e.js","CodeGroup.42b06250.css","TabsHeader.4ceb7ffd.js","TabsHeader.b03ddfb3.css","entry.5c8819da.js","entry.9a0500ad.css"],import.meta.url).then(t=>t.default||t));e(()=>r(()=>import("./CopyButton.077fdfdb.js"),["CopyButton.077fdfdb.js","CopyButton.vue_vue_type_script_setup_true_lang.2b83107f.js","entry.5c8819da.js","entry.9a0500ad.css","index.cb3c216d.js"],import.meta.url).then(t=>t.default||t));e(()=>r(()=>import("./Icon.8b8e9bfb.js"),["Icon.8b8e9bfb.js","entry.5c8819da.js","entry.9a0500ad.css"],import.meta.url).then(t=>t.default||t));e(()=>r(()=>import("./List.8279d29f.js"),["List.8279d29f.js","List.vue_vue_type_style_index_0_lang.aa51af9a.js","List.8f1ece3a.css","entry.5c8819da.js","entry.9a0500ad.css"],import.meta.url).then(t=>t.default||t));e(()=>r(()=>import("./NuxtImg.db6a871f.js"),["NuxtImg.db6a871f.js","NuxtImg.vue_vue_type_script_lang.73948608.js","entry.5c8819da.js","entry.9a0500ad.css"],import.meta.url).then(t=>t.default||t));e(()=>r(()=>import("./Props.ae63778f.js"),["Props.ae63778f.js","ProseTh.eff23c97.js","ProseTh.ee22b634.css","entry.5c8819da.js","entry.9a0500ad.css","ProseTr.b4f984e9.js","ProseTr.425925c1.css","ProseThead.f14263ab.js","ProseThead.441d27c9.css","ProseCodeInline.50440e49.js","ProseCodeInline.143d7c58.css","ProseTd.5250a879.js","ProseTd.b10c2fad.css","ProseTbody.a82ee65e.js","ProseTable.42d7d6fa.js","ProseTable.94abd33a.css","asyncData.31ace0d7.js","index.c8e7d9b1.js"],import.meta.url).then(t=>t.default||t));e(()=>r(()=>import("./Sandbox.d7a8ef85.js"),["Sandbox.d7a8ef85.js","Sandbox.16ff9b40.css","entry.5c8819da.js","entry.9a0500ad.css","TabsHeader.4ceb7ffd.js","TabsHeader.b03ddfb3.css"],import.meta.url).then(t=>t.default||t));e(()=>r(()=>import("./SourceLink.b62e06f3.js"),["SourceLink.b62e06f3.js","ProseP.4d7b231c.css","entry.5c8819da.js","entry.9a0500ad.css","ProseP.de8023b0.js"],import.meta.url).then(t=>t.default||t));e(()=>r(()=>import("./TabsHeader.4ceb7ffd.js"),["TabsHeader.4ceb7ffd.js","TabsHeader.b03ddfb3.css","entry.5c8819da.js","entry.9a0500ad.css"],import.meta.url).then(t=>t.default||t));e(()=>r(()=>import("./Terminal.4ec77f0b.js"),["Terminal.4ec77f0b.js","Terminal.vue_vue_type_script_setup_true_lang.d64be369.js","index.cb3c216d.js","entry.5c8819da.js","entry.9a0500ad.css"],import.meta.url).then(t=>t.default||t));e(()=>r(()=>import("./VideoPlayer.a4f1153d.js"),["VideoPlayer.a4f1153d.js","VideoPlayer.e2b8a640.css","NuxtImg.vue_vue_type_script_lang.73948608.js","entry.5c8819da.js","entry.9a0500ad.css"],import.meta.url).then(t=>t.default||t));e(()=>r(()=>import("./ProseA.f5a3b2ab.js"),["ProseA.f5a3b2ab.js","ProseA.b6e016a7.css","entry.5c8819da.js","entry.9a0500ad.css"],import.meta.url).then(t=>t.default||t));e(()=>r(()=>import("./ProseBlockquote.70f8b8fe.js"),["ProseBlockquote.70f8b8fe.js","ProseBlockquote.88ae3f99.css","entry.5c8819da.js","entry.9a0500ad.css"],import.meta.url).then(t=>t.default||t));e(()=>r(()=>import("./ProseCode.12af3d11.js"),["ProseCode.12af3d11.js","ProseCode.1d88abe6.css","CopyButton.vue_vue_type_script_setup_true_lang.2b83107f.js","entry.5c8819da.js","entry.9a0500ad.css","index.cb3c216d.js"],import.meta.url).then(t=>t.default||t));e(()=>r(()=>import("./ProseCodeInline.50440e49.js"),["ProseCodeInline.50440e49.js","ProseCodeInline.143d7c58.css","entry.5c8819da.js","entry.9a0500ad.css"],import.meta.url).then(t=>t.default||t));e(()=>r(()=>import("./ProseEm.2e15dc03.js"),["ProseEm.2e15dc03.js","ProseEm.1858190c.css","entry.5c8819da.js","entry.9a0500ad.css"],import.meta.url).then(t=>t.default||t));e(()=>r(()=>import("./ProseH1.d84756db.js"),["ProseH1.d84756db.js","ProseH1.8a36f873.css","entry.5c8819da.js","entry.9a0500ad.css"],import.meta.url).then(t=>t.default||t));e(()=>r(()=>import("./ProseH2.e796f461.js"),["ProseH2.e796f461.js","ProseH2.4c537ed6.css","entry.5c8819da.js","entry.9a0500ad.css"],import.meta.url).then(t=>t.default||t));e(()=>r(()=>import("./ProseH3.8997684a.js"),["ProseH3.8997684a.js","ProseH3.6d6476a1.css","entry.5c8819da.js","entry.9a0500ad.css"],import.meta.url).then(t=>t.default||t));e(()=>r(()=>import("./ProseH4.fd6111fb.js"),["ProseH4.fd6111fb.js","ProseH4.42c1dd1d.css","entry.5c8819da.js","entry.9a0500ad.css"],import.meta.url).then(t=>t.default||t));e(()=>r(()=>import("./ProseHr.b577eed5.js"),["ProseHr.b577eed5.js","ProseHr.799690c7.css","entry.5c8819da.js","entry.9a0500ad.css"],import.meta.url).then(t=>t.default||t));e(()=>r(()=>import("./ProseImg.a278838e.js"),["ProseImg.a278838e.js","ProseImg.86043b15.css","NuxtImg.vue_vue_type_script_lang.73948608.js","entry.5c8819da.js","entry.9a0500ad.css"],import.meta.url).then(t=>t.default||t));e(()=>r(()=>import("./ProseLi.e707ae53.js"),["ProseLi.e707ae53.js","ProseLi.38abb7b0.css","entry.5c8819da.js","entry.9a0500ad.css"],import.meta.url).then(t=>t.default||t));e(()=>r(()=>import("./ProseOl.e26f7ec4.js"),["ProseOl.e26f7ec4.js","ProseOl.661a20a5.css","entry.5c8819da.js","entry.9a0500ad.css"],import.meta.url).then(t=>t.default||t));e(()=>r(()=>import("./ProseP.de8023b0.js"),["ProseP.de8023b0.js","ProseP.4d7b231c.css","entry.5c8819da.js","entry.9a0500ad.css"],import.meta.url).then(t=>t.default||t));e(()=>r(()=>import("./ProseStrong.f0f1ef1e.js"),["ProseStrong.f0f1ef1e.js","ProseStrong.138420e3.css","entry.5c8819da.js","entry.9a0500ad.css"],import.meta.url).then(t=>t.default||t));e(()=>r(()=>import("./ProseTable.42d7d6fa.js"),["ProseTable.42d7d6fa.js","ProseTable.94abd33a.css","entry.5c8819da.js","entry.9a0500ad.css"],import.meta.url).then(t=>t.default||t));e(()=>r(()=>import("./ProseTbody.a82ee65e.js"),["ProseTbody.a82ee65e.js","entry.5c8819da.js","entry.9a0500ad.css"],import.meta.url).then(t=>t.default||t));e(()=>r(()=>import("./ProseTd.5250a879.js"),["ProseTd.5250a879.js","ProseTd.b10c2fad.css","entry.5c8819da.js","entry.9a0500ad.css"],import.meta.url).then(t=>t.default||t));e(()=>r(()=>import("./ProseTh.eff23c97.js"),["ProseTh.eff23c97.js","ProseTh.ee22b634.css","entry.5c8819da.js","entry.9a0500ad.css"],import.meta.url).then(t=>t.default||t));e(()=>r(()=>import("./ProseThead.f14263ab.js"),["ProseThead.f14263ab.js","ProseThead.441d27c9.css","entry.5c8819da.js","entry.9a0500ad.css"],import.meta.url).then(t=>t.default||t));e(()=>r(()=>import("./ProseTr.b4f984e9.js"),["ProseTr.b4f984e9.js","ProseTr.425925c1.css","entry.5c8819da.js","entry.9a0500ad.css"],import.meta.url).then(t=>t.default||t));e(()=>r(()=>import("./ProseUl.411b4625.js"),["ProseUl.411b4625.js","ProseUl.ae3836e4.css","entry.5c8819da.js","entry.9a0500ad.css"],import.meta.url).then(t=>t.default||t));e(()=>r(()=>import("./PageContributors.45347cd4.js"),["PageContributors.45347cd4.js","PageContributors.vue_vue_type_script_setup_true_lang.14965c12.js","entry.5c8819da.js","entry.9a0500ad.css"],import.meta.url).then(t=>t.default||t));e(()=>r(()=>import("./PageEditLink.6847cf00.js"),["PageEditLink.6847cf00.js","PageEditLink.vue_vue_type_script_setup_true_lang.7a739cdc.js","entry.5c8819da.js","entry.9a0500ad.css"],import.meta.url).then(t=>t.default||t));e(()=>r(()=>import("./Releases.547e77f7.js"),["Releases.547e77f7.js","Releases.686993ee.css","entry.5c8819da.js","entry.9a0500ad.css","ReleasesReactions.vue_vue_type_script_setup_true_lang.7548fd2c.js","Badge.vue_vue_type_script_setup_true_lang.871fa249.js"],import.meta.url).then(t=>t.default||t));e(()=>r(()=>import("./ReleasesReactions.530be044.js"),["ReleasesReactions.530be044.js","ReleasesReactions.vue_vue_type_script_setup_true_lang.7548fd2c.js","Badge.vue_vue_type_script_setup_true_lang.871fa249.js","entry.5c8819da.js","entry.9a0500ad.css"],import.meta.url).then(t=>t.default||t));e(()=>r(()=>import("./IconCodeSandBox.41ff096f.js"),["IconCodeSandBox.41ff096f.js","entry.5c8819da.js","entry.9a0500ad.css"],import.meta.url).then(t=>t.default||t));e(()=>r(()=>import("./IconDocus.bc629857.js"),["IconDocus.bc629857.js","entry.5c8819da.js","entry.9a0500ad.css"],import.meta.url).then(t=>t.default||t));e(()=>r(()=>import("./IconNuxt.070d8afc.js"),["IconNuxt.070d8afc.js","entry.5c8819da.js","entry.9a0500ad.css"],import.meta.url).then(t=>t.default||t));e(()=>r(()=>import("./IconNuxtContent.31fb8cb3.js"),["IconNuxtContent.31fb8cb3.js","entry.5c8819da.js","entry.9a0500ad.css"],import.meta.url).then(t=>t.default||t));e(()=>r(()=>import("./IconNuxtLabs.a3cd1c69.js"),["IconNuxtLabs.a3cd1c69.js","entry.5c8819da.js","entry.9a0500ad.css"],import.meta.url).then(t=>t.default||t));e(()=>r(()=>import("./IconStackBlitz.f0f607db.js"),["IconStackBlitz.f0f607db.js","entry.5c8819da.js","entry.9a0500ad.css"],import.meta.url).then(t=>t.default||t));e(()=>r(()=>import("./IconVueTelescope.347e9b6c.js"),["IconVueTelescope.347e9b6c.js","entry.5c8819da.js","entry.9a0500ad.css"],import.meta.url).then(t=>t.default||t));e(()=>r(()=>import("./AppContainer.0e60ca18.js"),["AppContainer.0e60ca18.js","entry.5c8819da.js","entry.9a0500ad.css"],import.meta.url).then(t=>t.default||t));e(()=>r(()=>import("./AppFooter.98065e5e.js"),["AppFooter.98065e5e.js","entry.5c8819da.js","entry.9a0500ad.css"],import.meta.url).then(t=>t.default||t));e(()=>r(()=>import("./AppLayout.a480fab5.js"),["AppLayout.a480fab5.js","entry.5c8819da.js","entry.9a0500ad.css"],import.meta.url).then(t=>t.default||t));e(()=>r(()=>import("./entry.5c8819da.js").then(t=>t.aG),["entry.5c8819da.js","entry.9a0500ad.css"],import.meta.url).then(t=>t.default||t));e(()=>r(()=>import("./AppSearch.fe9de0c1.js"),["AppSearch.fe9de0c1.js","entry.5c8819da.js","entry.9a0500ad.css"],import.meta.url).then(t=>t.default||t));e(()=>r(()=>import("./ColorModeSwitch.757ab35a.js"),["ColorModeSwitch.757ab35a.js","entry.5c8819da.js","entry.9a0500ad.css"],import.meta.url).then(t=>t.default||t));e(()=>r(()=>import("./DocumentDrivenNotFound.f9457e0d.js"),["DocumentDrivenNotFound.f9457e0d.js","ButtonLink.2f82fed5.js","entry.5c8819da.js","entry.9a0500ad.css"],import.meta.url).then(t=>t.default||t));e(()=>r(()=>import("./entry.5c8819da.js").then(t=>t.aJ),["entry.5c8819da.js","entry.9a0500ad.css"],import.meta.url).then(t=>t.default||t));e(()=>r(()=>import("./entry.5c8819da.js").then(t=>t.aL),["entry.5c8819da.js","entry.9a0500ad.css"],import.meta.url).then(t=>t.default||t));e(()=>r(()=>import("./entry.5c8819da.js").then(t=>t.aK),["entry.5c8819da.js","entry.9a0500ad.css"],import.meta.url).then(t=>t.default||t));e(()=>r(()=>import("./NavbarDialog.6db5c5f0.js"),["NavbarDialog.6db5c5f0.js","entry.5c8819da.js","entry.9a0500ad.css"],import.meta.url).then(t=>t.default||t));e(()=>r(()=>import("./NavbarLogo.bbf96852.js"),["NavbarLogo.bbf96852.js","entry.5c8819da.js","entry.9a0500ad.css"],import.meta.url).then(t=>t.default||t));e(()=>r(()=>import("./SocialIcons.252f37a4.js"),["SocialIcons.252f37a4.js","entry.5c8819da.js","entry.9a0500ad.css"],import.meta.url).then(t=>t.default||t));e(()=>r(()=>import("./DocsAside.90445c02.js"),["DocsAside.90445c02.js","DocsAside.vue_vue_type_script_setup_true_lang.fdea1ba6.js","entry.5c8819da.js","entry.9a0500ad.css"],import.meta.url).then(t=>t.default||t));e(()=>r(()=>import("./DocsAsideTree.5abebc7a.js"),["DocsAsideTree.5abebc7a.js","entry.5c8819da.js","entry.9a0500ad.css"],import.meta.url).then(t=>t.default||t));e(()=>r(()=>import("./DocsPageBottom.fc9fb77a.js"),["DocsPageBottom.fc9fb77a.js","DocsPageBottom.vue_vue_type_script_setup_true_lang.9323b9cc.js","PageEditLink.vue_vue_type_script_setup_true_lang.7a739cdc.js","entry.5c8819da.js","entry.9a0500ad.css","PageContributors.vue_vue_type_script_setup_true_lang.14965c12.js"],import.meta.url).then(t=>t.default||t));e(()=>r(()=>import("./DocsPageContent.80e418c5.js"),["DocsPageContent.80e418c5.js","DocsPageContent.ec05ce31.css","ProseHr.799690c7.css","DocsAside.vue_vue_type_script_setup_true_lang.fdea1ba6.js","entry.5c8819da.js","entry.9a0500ad.css","ProseCodeInline.50440e49.js","ProseCodeInline.143d7c58.css","DocsPageBottom.vue_vue_type_script_setup_true_lang.9323b9cc.js","PageEditLink.vue_vue_type_script_setup_true_lang.7a739cdc.js","PageContributors.vue_vue_type_script_setup_true_lang.14965c12.js","ProseHr.b577eed5.js","DocsPrevNext.vue_vue_type_script_setup_true_lang.18a4b85f.js","index.c8e7d9b1.js","DocsToc.vue_vue_type_script_setup_true_lang.65a012e3.js","DocsTocLinks.vue_vue_type_script_setup_true_lang.a06663b5.js"],import.meta.url).then(t=>t.default||t));e(()=>r(()=>import("./DocsPrevNext.e27813eb.js"),["DocsPrevNext.e27813eb.js","DocsPrevNext.vue_vue_type_script_setup_true_lang.18a4b85f.js","entry.5c8819da.js","entry.9a0500ad.css","index.c8e7d9b1.js"],import.meta.url).then(t=>t.default||t));e(()=>r(()=>import("./DocsToc.aaaf4b82.js"),["DocsToc.aaaf4b82.js","DocsToc.vue_vue_type_script_setup_true_lang.65a012e3.js","DocsTocLinks.vue_vue_type_script_setup_true_lang.a06663b5.js","entry.5c8819da.js","entry.9a0500ad.css"],import.meta.url).then(t=>t.default||t));e(()=>r(()=>import("./DocsTocLinks.7bceeeb0.js"),["DocsTocLinks.7bceeeb0.js","DocsTocLinks.vue_vue_type_script_setup_true_lang.a06663b5.js","entry.5c8819da.js","entry.9a0500ad.css"],import.meta.url).then(t=>t.default||t));e(()=>r(()=>import("./ContentDoc.3cdfc123.js"),["ContentDoc.3cdfc123.js","entry.5c8819da.js","entry.9a0500ad.css","ContentQuery.019e7157.js","asyncData.31ace0d7.js"],import.meta.url).then(t=>t.default||t));e(()=>r(()=>import("./ContentList.544db236.js"),["ContentList.544db236.js","ContentQuery.019e7157.js","entry.5c8819da.js","entry.9a0500ad.css","asyncData.31ace0d7.js"],import.meta.url).then(t=>t.default||t));e(()=>r(()=>Promise.resolve().then(()=>tt),void 0,import.meta.url).then(t=>t.default||t));e(()=>r(()=>import("./ContentQuery.019e7157.js"),["ContentQuery.019e7157.js","entry.5c8819da.js","entry.9a0500ad.css","asyncData.31ace0d7.js"],import.meta.url).then(t=>t.default||t));e(()=>r(()=>import("./entry.5c8819da.js").then(t=>t.aC),["entry.5c8819da.js","entry.9a0500ad.css"],import.meta.url).then(t=>t.default||t));e(()=>r(()=>import("./entry.5c8819da.js").then(t=>t.aB),["entry.5c8819da.js","entry.9a0500ad.css"],import.meta.url).then(t=>t.default||t));e(()=>r(()=>import("./entry.5c8819da.js").then(t=>t.aD),["entry.5c8819da.js","entry.9a0500ad.css"],import.meta.url).then(t=>t.default||t));e(()=>r(()=>import("./entry.5c8819da.js").then(t=>t.aA),["entry.5c8819da.js","entry.9a0500ad.css"],import.meta.url).then(t=>t.default||t));e(()=>r(()=>import("./Markdown.d5d45569.js"),["Markdown.d5d45569.js","entry.5c8819da.js","entry.9a0500ad.css"],import.meta.url).then(t=>t.default||t));e(()=>r(()=>import("./ProseH5.3bb1f380.js"),["ProseH5.3bb1f380.js","entry.5c8819da.js","entry.9a0500ad.css"],import.meta.url).then(t=>t.default||t));e(()=>r(()=>import("./ProseH6.2fc71492.js"),["ProseH6.2fc71492.js","entry.5c8819da.js","entry.9a0500ad.css"],import.meta.url).then(t=>t.default||t));e(()=>r(()=>import("./welcome.3c23b5cf.js"),["welcome.3c23b5cf.js","Card.e4d02baa.css","CodeBlock.6e7eaa49.css","Sandbox.16ff9b40.css","ProseP.4d7b231c.css","VideoPlayer.e2b8a640.css","ProseA.b6e016a7.css","ProseBlockquote.88ae3f99.css","ProseCode.1d88abe6.css","ProseEm.1858190c.css","ProseH1.8a36f873.css","ProseH2.4c537ed6.css","ProseH3.6d6476a1.css","ProseH4.42c1dd1d.css","ProseHr.799690c7.css","ProseImg.86043b15.css","ProseLi.38abb7b0.css","ProseOl.661a20a5.css","ProseStrong.138420e3.css","ProseUl.ae3836e4.css","Releases.686993ee.css","DocsPageContent.ec05ce31.css","entry.5c8819da.js","entry.9a0500ad.css","asyncData.31ace0d7.js","Callout.vue_vue_type_script_setup_true_lang.9a785567.js","CodeGroup.vue_vue_type_style_index_1_scoped_e62afa1a_lang.ff9e305e.js","CodeGroup.42b06250.css","TabsHeader.4ceb7ffd.js","TabsHeader.b03ddfb3.css","List.vue_vue_type_style_index_0_lang.aa51af9a.js","List.8f1ece3a.css","NuxtImg.vue_vue_type_script_lang.73948608.js","Props.ae63778f.js","ProseTh.eff23c97.js","ProseTh.ee22b634.css","ProseTr.b4f984e9.js","ProseTr.425925c1.css","ProseThead.f14263ab.js","ProseThead.441d27c9.css","ProseCodeInline.50440e49.js","ProseCodeInline.143d7c58.css","ProseTd.5250a879.js","ProseTd.b10c2fad.css","ProseTbody.a82ee65e.js","ProseTable.42d7d6fa.js","ProseTable.94abd33a.css","index.c8e7d9b1.js","ContentDoc.3cdfc123.js","ContentQuery.019e7157.js","ContentList.544db236.js","Markdown.d5d45569.js"],import.meta.url).then(t=>t.default||t));e(()=>r(()=>import("./entry.5c8819da.js").then(t=>t.aE),["entry.5c8819da.js","entry.9a0500ad.css"],import.meta.url).then(t=>t.default||t));e(()=>r(()=>Promise.resolve().then(()=>z),void 0,import.meta.url).then(t=>t.default||t));e(()=>r(()=>import("./entry.5c8819da.js").then(t=>t.aH),["entry.5c8819da.js","entry.9a0500ad.css"],import.meta.url).then(t=>t.default||t));e(()=>r(()=>Promise.resolve().then(()=>k),void 0,import.meta.url).then(t=>t.default||t));e(()=>r(()=>import("./entry.5c8819da.js").then(t=>t.az),["entry.5c8819da.js","entry.9a0500ad.css"],import.meta.url).then(t=>t.default||t));e(()=>r(()=>Promise.resolve().then(()=>H),void 0,import.meta.url).then(t=>t.default||t));e(()=>r(()=>import("./entry.5c8819da.js").then(t=>t.aI),["entry.5c8819da.js","entry.9a0500ad.css"],import.meta.url).then(t=>t.default||t));e(()=>r(()=>import("./entry.5c8819da.js").then(t=>t.aF),["entry.5c8819da.js","entry.9a0500ad.css"],import.meta.url).then(t=>t.default||t));e(()=>r(()=>Promise.resolve().then(()=>l),void 0,import.meta.url).then(t=>t.Script));e(()=>r(()=>Promise.resolve().then(()=>l),void 0,import.meta.url).then(t=>t.NoScript));e(()=>r(()=>Promise.resolve().then(()=>l),void 0,import.meta.url).then(t=>t.Link));e(()=>r(()=>Promise.resolve().then(()=>l),void 0,import.meta.url).then(t=>t.Base));e(()=>r(()=>Promise.resolve().then(()=>l),void 0,import.meta.url).then(t=>t.Title));e(()=>r(()=>Promise.resolve().then(()=>l),void 0,import.meta.url).then(t=>t.Meta));e(()=>r(()=>Promise.resolve().then(()=>l),void 0,import.meta.url).then(t=>t.Style));e(()=>r(()=>Promise.resolve().then(()=>l),void 0,import.meta.url).then(t=>t.Head));e(()=>r(()=>Promise.resolve().then(()=>l),void 0,import.meta.url).then(t=>t.Html));e(()=>r(()=>Promise.resolve().then(()=>l),void 0,import.meta.url).then(t=>t.Body));const Z=m({name:"ContentNavigation",props:{query:{type:Object,required:!1,default:void 0}},async setup(t){const{query:i}=V(t),o=g(()=>{var n;return typeof((n=i.value)==null?void 0:n.params)=="function"?i.value.params():i.value});if(!o.value&&S("dd-navigation").value){const{navigation:n}=y();return{navigation:n}}const{data:_}=await N(`content-navigation-${c(o.value)}`,()=>B(o.value));return{navigation:_}},render(t){const i=b(),{navigation:o}=t,_=a=>s(x,{to:a._path},()=>a.title),n=(a,h)=>s("ul",h?{"data-level":h}:null,a.map(d=>d.children?s("li",null,[_(d),n(d.children,h+1)]):s("li",null,_(d)))),u=a=>n(a,0);return i!=null&&i.default?i.default({navigation:o,...this.$attrs}):u(o)}}),tt=Object.freeze(Object.defineProperty({__proto__:null,default:Z},Symbol.toStringTag,{value:"Module"}));export{Z as default};
diff --git a/docs/.vercel/output/static/_nuxt/ContentNavigation.ce27cbb7.css b/docs/.vercel/output/static/_nuxt/ContentNavigation.ce27cbb7.css
new file mode 100644
index 0000000..98f0463
--- /dev/null
+++ b/docs/.vercel/output/static/_nuxt/ContentNavigation.ce27cbb7.css
@@ -0,0 +1 @@
+.spotlight[data-v-b18604a7]{background:linear-gradient(45deg,#00dc82,#36e4da 50%,#0047e1);bottom:-40vh;filter:blur(20vh);height:50vh}.spotlight-wrapper[data-v-b18604a7]{opacity:.5;transition:opacity .4s ease-in}.nuxt-logo:hover~.spotlight-wrapper[data-v-b18604a7]{opacity:.95}.gradient-border[data-v-b18604a7]{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:.5rem;position:relative;width:100%}@media (prefers-color-scheme:light){.gradient-border[data-v-b18604a7]{background-color:#ffffff4d}.gradient-border[data-v-b18604a7]:before{background:linear-gradient(90deg,#e2e2e2,#e2e2e2 25%,#00dc82 50%,#36e4da 75%,#0047e1)}}@media (prefers-color-scheme:dark){html:not(.light) .gradient-border[data-v-b18604a7]{background-color:#1414144d}html:not(.light) .gradient-border[data-v-b18604a7]:before{background:linear-gradient(90deg,#303030,#303030 25%,#00dc82 50%,#36e4da 75%,#0047e1)}}html.dark .gradient-border[data-v-b18604a7]{background-color:#1414144d}html.dark .gradient-border[data-v-b18604a7]:before{background:linear-gradient(90deg,#303030,#303030 25%,#00dc82 50%,#36e4da 75%,#0047e1)}.gradient-border[data-v-b18604a7]:before{background-position:0 0;background-size:400% auto;border-radius:.5rem;bottom:0;content:"";left:0;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:.5;padding:2px;position:absolute;right:0;top:0;transition:background-position .3s ease-in-out,opacity .2s ease-in-out;width:100%}.gradient-border[data-v-b18604a7]:hover:before{background-position:-50% 0;opacity:1}.bg-white[data-v-b18604a7]{--tw-bg-opacity:1;background-color:rgba(255,255,255,var(--tw-bg-opacity))}.bg-gray-100[data-v-b18604a7]{--tw-bg-opacity:1;background-color:rgba(243,244,246,var(--tw-bg-opacity))}.rounded[data-v-b18604a7]{border-radius:.25rem}.cursor-pointer[data-v-b18604a7]{cursor:pointer}.flex[data-v-b18604a7]{display:flex}.grid[data-v-b18604a7]{display:grid}.flex-col[data-v-b18604a7]{flex-direction:column}.place-content-center[data-v-b18604a7]{place-content:center}.items-end[data-v-b18604a7]{align-items:flex-end}.items-center[data-v-b18604a7]{align-items:center}.justify-end[data-v-b18604a7]{justify-content:flex-end}.justify-center[data-v-b18604a7]{justify-content:center}.justify-between[data-v-b18604a7]{justify-content:space-between}.font-sans[data-v-b18604a7]{font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}.font-mono[data-v-b18604a7]{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.font-medium[data-v-b18604a7]{font-weight:500}.font-bold[data-v-b18604a7]{font-weight:700}.font-semibold[data-v-b18604a7]{font-weight:600}.text-xl[data-v-b18604a7]{font-size:1.25rem;line-height:1.75rem}.text-sm[data-v-b18604a7]{font-size:.875rem;line-height:1.25rem}.text-2xl[data-v-b18604a7]{font-size:1.5rem;line-height:2rem}.mb-2[data-v-b18604a7]{margin-bottom:.5rem}.mb-4[data-v-b18604a7]{margin-bottom:1rem}.mt-4[data-v-b18604a7]{margin-top:1rem}.mt-2[data-v-b18604a7]{margin-top:.5rem}.max-w-5xl[data-v-b18604a7]{max-width:64rem}.min-h-screen[data-v-b18604a7]{min-height:100vh}.p-4[data-v-b18604a7]{padding:1rem}.p-8[data-v-b18604a7]{padding:2rem}.p-1[data-v-b18604a7]{padding:.25rem}.pb-1[data-v-b18604a7]{padding-bottom:.25rem}.fixed[data-v-b18604a7]{position:fixed}.left-0[data-v-b18604a7]{left:0}.right-0[data-v-b18604a7]{right:0}.text-black[data-v-b18604a7]{--tw-text-opacity:1;color:rgba(0,0,0,var(--tw-text-opacity))}.antialiased[data-v-b18604a7]{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.w-full[data-v-b18604a7]{width:100%}.w-40[data-v-b18604a7]{width:10rem}.z-10[data-v-b18604a7]{z-index:10}.z-20[data-v-b18604a7]{z-index:20}.gap-4[data-v-b18604a7]{grid-gap:1rem;gap:1rem}.grid-cols-3[data-v-b18604a7]{grid-template-columns:repeat(3,minmax(0,1fr))}.col-span-3[data-v-b18604a7]{-ms-grid-column-span:span 3/span 3;grid-column:span 3/span 3}@media (min-width:640px){.sm\:text-base[data-v-b18604a7]{font-size:1rem;line-height:1.5rem}.sm\:pb-2[data-v-b18604a7]{padding-bottom:.5rem}.sm\:col-span-1[data-v-b18604a7]{-ms-grid-column-span:span 1/span 1;grid-column:span 1/span 1}}@media (min-width:768px){.md\:gap-8[data-v-b18604a7]{grid-gap:2rem;gap:2rem}}@media (prefers-color-scheme:dark){html:not(.light) .dark\:bg-black[data-v-b18604a7]{--tw-bg-opacity:1;background-color:rgba(0,0,0,var(--tw-bg-opacity))}html:not(.light) .dark\:bg-white\/10[data-v-b18604a7]{--tw-bg-opacity:.1;background-color:rgba(255,255,255,var(--tw-bg-opacity))}html:not(.light) .dark\:text-white[data-v-b18604a7]{--tw-text-opacity:1;color:rgba(255,255,255,var(--tw-text-opacity))}}html.dark .dark\:bg-black[data-v-b18604a7]{--tw-bg-opacity:1;background-color:rgba(0,0,0,var(--tw-bg-opacity))}html.dark .dark\:bg-white\/10[data-v-b18604a7]{--tw-bg-opacity:.1;background-color:rgba(255,255,255,var(--tw-bg-opacity))}html.dark .dark\:text-white[data-v-b18604a7]{--tw-text-opacity:1;color:rgba(255,255,255,var(--tw-text-opacity))}
diff --git a/docs/.vercel/output/static/_nuxt/ContentQuery.019e7157.js b/docs/.vercel/output/static/_nuxt/ContentQuery.019e7157.js
new file mode 100644
index 0000000..12279ec
--- /dev/null
+++ b/docs/.vercel/output/static/_nuxt/ContentQuery.019e7157.js
@@ -0,0 +1 @@
+import{b as q,a0 as g,E as b,a1 as S,N as C,a2 as c,J as N}from"./entry.5c8819da.js";import{u as k}from"./asyncData.31ace0d7.js";const A=q({name:"ContentQuery",props:{path:{type:String,required:!1,default:void 0},only:{type:Array,required:!1,default:void 0},without:{type:Array,required:!1,default:void 0},where:{type:Object,required:!1,default:void 0},sort:{type:Object,required:!1,default:void 0},limit:{type:Number,required:!1,default:void 0},skip:{type:Number,required:!1,default:void 0},locale:{type:String,required:!1,default:void 0},find:{type:String,required:!1,default:void 0}},async setup(a){const{path:t,only:r,without:n,where:i,sort:l,limit:o,skip:s,locale:f,find:d}=g(a),p=b(()=>{var e;return(e=t.value)==null?void 0:e.includes("/_")}),{data:h,refresh:v}=await k(`content-query-${S(a)}`,()=>{let e;return t.value?e=c(t.value):e=c(),r.value&&(e=e.only(r.value)),n.value&&(e=e.without(n.value)),i.value&&(e=e.where(i.value)),l.value&&(e=e.sort(l.value)),o.value&&(e=e.limit(o.value)),s.value&&(e=e.skip(s.value)),f.value&&(e=e.where({_locale:f.value})),d.value==="one"?e.findOne():d.value==="surround"?t.value?e.findSurround(t):(console.warn("[Content] Surround queries requires `path` prop to be set."),console.warn("[Content] Query without `path` will return regular `find()` results."),e.find()):e.find()});return{isPartial:p,data:h,refresh:v}},render(a){var y;const t=C(),{data:r,refresh:n,isPartial:i,path:l,only:o,without:s,where:f,sort:d,limit:p,skip:h,locale:v,find:e}=a,u={path:l,only:o,without:s,where:f,sort:d,limit:p,skip:h,locale:v,find:e};if(u.find==="one"){if(!r&&(t==null?void 0:t["not-found"]))return t["not-found"]({props:u,...this.$attrs});if((r==null?void 0:r._type)==="markdown"&&!((y=r==null?void 0:r.body)!=null&&y.children.length))return t.empty({props:u,...this.$attrs})}else if((!r||!r.length)&&t!=null&&t["not-found"])return t["not-found"]({props:u,...this.$attrs});return t!=null&&t.default?t.default({data:r,refresh:n,isPartial:i,props:u,...this.$attrs}):((m,w)=>N("pre",null,JSON.stringify({message:"You should use slots with !",slot:m,data:w},null,2)))("default",{data:r,props:u,isPartial:i})}});export{A as default};
diff --git a/docs/.vercel/output/static/_nuxt/CopyButton.077fdfdb.js b/docs/.vercel/output/static/_nuxt/CopyButton.077fdfdb.js
new file mode 100644
index 0000000..24d01f9
--- /dev/null
+++ b/docs/.vercel/output/static/_nuxt/CopyButton.077fdfdb.js
@@ -0,0 +1 @@
+import"./CopyButton.vue_vue_type_script_setup_true_lang.2b83107f.js";import{_ as i}from"./CopyButton.vue_vue_type_script_setup_true_lang.2b83107f.js";import"./entry.5c8819da.js";import"./index.cb3c216d.js";export{i as default};
diff --git a/docs/.vercel/output/static/_nuxt/CopyButton.vue_vue_type_script_setup_true_lang.2b83107f.js b/docs/.vercel/output/static/_nuxt/CopyButton.vue_vue_type_script_setup_true_lang.2b83107f.js
new file mode 100644
index 0000000..139a157
--- /dev/null
+++ b/docs/.vercel/output/static/_nuxt/CopyButton.vue_vue_type_script_setup_true_lang.2b83107f.js
@@ -0,0 +1 @@
+import{b as l,x as i,o as e,f as u,c as n,q as m}from"./entry.5c8819da.js";import{u as d}from"./index.cb3c216d.js";const b=l({__name:"CopyButton",props:{content:{type:String,default:""}},setup(c){const a=c,{copy:s}=d(),o=i("init"),p=r=>{s(a.content).then(()=>{o.value="copied",setTimeout(()=>{o.value="init"},1e3)}).catch(()=>{console.warn("Couldn't copy to clipboard!")})};return(r,f)=>{const t=m;return e(),u("button",{class:"copy rounded-lg bg-gray-800 px-2 py-2 font-mono text-xs font-semibold leading-none text-gray-400 focus:outline-none dark:bg-black",onClick:p},[o.value==="copied"?(e(),n(t,{key:0,name:"fa-check",class:"h-4 w-4"})):(e(),n(t,{key:1,name:"fa-copy",class:"h-4 w-4"}))])}}});export{b as _};
diff --git a/docs/.vercel/output/static/_nuxt/DocsAside.90445c02.js b/docs/.vercel/output/static/_nuxt/DocsAside.90445c02.js
new file mode 100644
index 0000000..fa6dc27
--- /dev/null
+++ b/docs/.vercel/output/static/_nuxt/DocsAside.90445c02.js
@@ -0,0 +1 @@
+import"./DocsAside.vue_vue_type_script_setup_true_lang.fdea1ba6.js";import{_ as t}from"./DocsAside.vue_vue_type_script_setup_true_lang.fdea1ba6.js";import"./entry.5c8819da.js";export{t as default};
diff --git a/docs/.vercel/output/static/_nuxt/DocsAside.vue_vue_type_script_setup_true_lang.fdea1ba6.js b/docs/.vercel/output/static/_nuxt/DocsAside.vue_vue_type_script_setup_true_lang.fdea1ba6.js
new file mode 100644
index 0000000..51a030c
--- /dev/null
+++ b/docs/.vercel/output/static/_nuxt/DocsAside.vue_vue_type_script_setup_true_lang.fdea1ba6.js
@@ -0,0 +1 @@
+import{e as g,V as A,Z as C,E as c,ao as P,b as w,o as i,f as B,u as d,c as k,w as D,k as N,h as F,ap as V,q as b,s as E}from"./entry.5c8819da.js";const $=()=>{const{navPageFromPath:_,navDirFromPath:n,navKeyFromPath:p}=P(),{navigation:o,page:u}=g(),r=A(),l=C(),t=c(()=>p(l.path,"aside",o.value||[])),v=c(()=>{var e,a,s;return typeof((e=t.value)==null?void 0:e.level)<"u"?(a=t.value)==null?void 0:a.level:((s=r.value.aside)==null?void 0:s.level)||0}),x=c(()=>{var e;return((e=r.value.aside)==null?void 0:e.exclude)||[]});return{tree:c(()=>{var s,f,h;let e=o.value||[],a=l.path;if((s=t.value)!=null&&s.root&&(a=(f=t.value)==null?void 0:f.root,e=n(a,e)),v.value){const y=a.split("/").splice(0,1+v.value).join("/");e=n(y,e)||[],Array.isArray(e)||(e=[e])}if(e.length===0){if(e=_(((h=u.value)==null?void 0:h._path)||"/",o.value||[]),!e)return[];Array.isArray(e)||(e=[e])}return e.filter(m=>!x.value.includes(m._path))}),asideConfig:t}},j=F("span",{class:"ml-2"},"Go back",-1),H=w({__name:"DocsAside",setup(_){const{tree:n}=$();return(p,o)=>{var t;const u=V,r=b,l=E;return i(),B("nav",null,[((t=d(n))==null?void 0:t.length)>0?(i(),k(u,{key:0,links:d(n)},null,8,["links"])):(i(),k(l,{key:1,to:"/",class:"flex items-center text-sm cursor-pointer u-text-gray-500 hover:u-text-gray-700"},{default:D(()=>[N(r,{name:"heroicons-outline:arrow-left",class:"w-4 h-4"}),j]),_:1}))])}}});export{H as _};
diff --git a/docs/.vercel/output/static/_nuxt/DocsAsideTree.5abebc7a.js b/docs/.vercel/output/static/_nuxt/DocsAsideTree.5abebc7a.js
new file mode 100644
index 0000000..94c829d
--- /dev/null
+++ b/docs/.vercel/output/static/_nuxt/DocsAsideTree.5abebc7a.js
@@ -0,0 +1 @@
+import"./entry.5c8819da.js";import{ap as p}from"./entry.5c8819da.js";export{p as default};
diff --git a/docs/.vercel/output/static/_nuxt/DocsPageBottom.fc9fb77a.js b/docs/.vercel/output/static/_nuxt/DocsPageBottom.fc9fb77a.js
new file mode 100644
index 0000000..ec7bcd9
--- /dev/null
+++ b/docs/.vercel/output/static/_nuxt/DocsPageBottom.fc9fb77a.js
@@ -0,0 +1 @@
+import"./DocsPageBottom.vue_vue_type_script_setup_true_lang.9323b9cc.js";import{_ as f}from"./DocsPageBottom.vue_vue_type_script_setup_true_lang.9323b9cc.js";import"./PageEditLink.vue_vue_type_script_setup_true_lang.7a739cdc.js";import"./entry.5c8819da.js";import"./PageContributors.vue_vue_type_script_setup_true_lang.14965c12.js";export{f as default};
diff --git a/docs/.vercel/output/static/_nuxt/DocsPageBottom.vue_vue_type_script_setup_true_lang.9323b9cc.js b/docs/.vercel/output/static/_nuxt/DocsPageBottom.vue_vue_type_script_setup_true_lang.9323b9cc.js
new file mode 100644
index 0000000..977571d
--- /dev/null
+++ b/docs/.vercel/output/static/_nuxt/DocsPageBottom.vue_vue_type_script_setup_true_lang.9323b9cc.js
@@ -0,0 +1 @@
+import{_ as x}from"./PageEditLink.vue_vue_type_script_setup_true_lang.7a739cdc.js";import{_ as h}from"./PageContributors.vue_vue_type_script_setup_true_lang.14965c12.js";import{b,W as k,e as w,V as y,u as e,o as t,f as l,h as f,c as d,j as s,t as B}from"./entry.5c8819da.js";const C={key:0,class:"flex flex-col-reverse justify-between gap-4 mt-8 text-sm u-text-gray-500 md:flex-row"},D={class:"flex flex-col flex-1 w-full gap-4 md:w-1/2"},v={key:1,class:"flex items-center"},P={class:"flex-1 w-full md:w-1/2"},$=b({__name:"DocsPageBottom",setup(V){const a=k(),{page:o}=w(),n=y();return(j,E)=>{var c,r,i,m,_,u;const p=x,g=h;return e(o)?(t(),l("div",C,[f("div",D,[((c=e(a))==null?void 0:c.github)&&((i=(r=e(n))==null?void 0:r.github)==null?void 0:i.edit)?(t(),d(p,{key:0})):s("",!0),e(o).mtime?(t(),l("span",v,"Updated on: "+B(new Intl.DateTimeFormat("en-US").format(Date.parse(e(o).mtime))),1)):s("",!0)]),f("div",P,[((m=e(a))==null?void 0:m.github)&&((u=(_=e(n))==null?void 0:_.github)==null?void 0:u.contributors)?(t(),d(g,{key:0})):s("",!0)])])):s("",!0)}}});export{$ as _};
diff --git a/docs/.vercel/output/static/_nuxt/DocsPageContent.80e418c5.js b/docs/.vercel/output/static/_nuxt/DocsPageContent.80e418c5.js
new file mode 100644
index 0000000..715f3ba
--- /dev/null
+++ b/docs/.vercel/output/static/_nuxt/DocsPageContent.80e418c5.js
@@ -0,0 +1 @@
+import{_ as E}from"./DocsAside.vue_vue_type_script_setup_true_lang.fdea1ba6.js";import F from"./ProseCodeInline.50440e49.js";import{b as q,e as z,Z as L,E as f,x as C,a6 as O,A as R,a4 as U,o as u,c as P,w as x,u as o,f as b,k as n,j as k,h as v,p as Z,i as y,t as G,F as J,l as g,a as K,q as Q,an as W,L as X,M as Y,v as ee}from"./entry.5c8819da.js";import{_ as oe}from"./DocsPageBottom.vue_vue_type_script_setup_true_lang.9323b9cc.js";import te from"./ProseHr.b577eed5.js";import{_ as ae}from"./DocsPrevNext.vue_vue_type_script_setup_true_lang.18a4b85f.js";import{_ as se}from"./DocsToc.vue_vue_type_script_setup_true_lang.65a012e3.js";/* empty css */import"./PageEditLink.vue_vue_type_script_setup_true_lang.7a739cdc.js";import"./PageContributors.vue_vue_type_script_setup_true_lang.14965c12.js";/* empty css */import"./index.c8e7d9b1.js";import"./DocsTocLinks.vue_vue_type_script_setup_true_lang.a06663b5.js";const le=m=>(X("data-v-b001d96c"),m=m(),Y(),m),ne={class:"flex items-center gap-1 py-3 lg:hidden"},re=le(()=>v("span",{class:"text-xs font-semibold"},"Table of Contents",-1)),ce=q({__name:"DocsPageContent",setup(m){const{page:s,navigation:S}=z(),$=L(),B=(e,t=!0)=>{var a;return typeof((a=s.value)==null?void 0:a[e])<"u"?s.value[e]:t},T=f(()=>{var e,t,a;return!s.value||((a=(t=(e=s.value)==null?void 0:e.body)==null?void 0:t.children)==null?void 0:a.length)>0}),r=f(()=>{var e,t,a,_,d;return((e=s.value)==null?void 0:e.toc)!==!1&&((d=(_=(a=(t=s.value)==null?void 0:t.body)==null?void 0:a.toc)==null?void 0:_.links)==null?void 0:d.length)>=2}),i=f(()=>{var e,t;return((e=s.value)==null?void 0:e.aside)!==!1&&((t=S.value)==null?void 0:t.length)>1}),N=f(()=>B("bottom",!0)),c=C(!1),l=C(null),h=()=>$.path.split("/").slice(0,2).join("/"),p=O("asideScroll",()=>{var e;return{parentPath:h(),scrollTop:((e=l.value)==null?void 0:e.scrollTop)||0}});function w(){!l.value||(l.value.scrollHeight===0&&setTimeout(w,0),l.value.scrollTop=p.value.scrollTop)}return R(()=>{p.value.parentPath!==h()?(p.value.parentPath=h(),p.value.scrollTop=0):w()}),U(()=>{!l.value||(p.value.scrollTop=l.value.scrollTop)}),(e,t)=>{const a=E,_=F,d=K,D=oe,I=te,A=ae,V=Q,H=se,M=W;return u(),P(M,{padded:"",class:"relative flex flex-col-reverse lg:grid lg:grid-cols-12 lg:gap-8"},{default:x(()=>[o(i)?(u(),b("aside",{key:0,ref_key:"asideNav",ref:l,class:"lg:top-header hidden overflow-y-auto overflow-x-hidden pb-8 lg:sticky lg:col-span-2 lg:block lg:max-h-[calc(100vh-var(--header-height))] lg:self-start lg:pt-8"},[n(a)],512)):k("",!0),v("article",{class:g(["relative flex flex-col flex-1 pt-8 pb-8 lg:mt-0 page-body",{"lg:col-span-12":!o(i)&&!o(r),"lg:col-span-10":(!o(r)||!o(i))&&!(!o(i)&&!o(r)),"lg:col-span-8":o(r)&&o(i),"pt-12 lg:pt-8":o(r)}])},[o(T)?Z(e.$slots,"default",{key:0},void 0,!0):(u(),P(d,{key:1,type:"info",class:"!mt-0"},{default:x(()=>[y(" Start writing in "),n(_,null,{default:x(()=>[y("content/"+G(o(s)._file),1)]),_:1}),y(" to see this page taking shape. ")]),_:1})),o(T)&&o(s)&&o(N)?(u(),b(J,{key:2},[n(D),n(I),n(A)],64)):k("",!0)],2),o(r)?(u(),b("div",{key:1,class:g([{"flex items-center lg:block":!c.value},"sticky flex items-center px-4 -mx-4 -mt-8 toc top-header lg:max-h-page sm:-mx-6 sm:px-6 lg:col-span-2 lg:mx-0 lg:self-start lg:bg-transparent lg:px-0 lg:pt-8 lg:backdrop-blur-none overflow-y-auto overflow-x-hidden"])},[v("div",{class:"w-full cursor-pointer sm:cursor-auto",onClick:t[1]||(t[1]=j=>c.value=!c.value)},[v("button",ne,[re,n(V,{name:"heroicons-outline:chevron-right",class:g(["w-4 h-4 transition-transform duration-100 transform",[c.value?"rotate-90":"rotate-0"]])},null,8,["class"])]),n(H,{class:g(["mb-4 lg:mt-0",[c.value?"lg:block":"hidden lg:block"]]),onMove:t[0]||(t[0]=j=>c.value=!1)},null,8,["class"])])],2)):k("",!0)]),_:3})}}}),ye=ee(ce,[["__scopeId","data-v-b001d96c"]]);export{ye as default};
diff --git a/docs/.vercel/output/static/_nuxt/DocsPageContent.ec05ce31.css b/docs/.vercel/output/static/_nuxt/DocsPageContent.ec05ce31.css
new file mode 100644
index 0000000..7b26fa2
--- /dev/null
+++ b/docs/.vercel/output/static/_nuxt/DocsPageContent.ec05ce31.css
@@ -0,0 +1 @@
+.page-body[data-v-b001d96c] div:first-child h1:first-child{--tw-text-opacity:1;color:rgb(24 24 27/var(--tw-text-opacity));font-size:1.5rem;font-weight:800;letter-spacing:-.025em;line-height:2rem;margin-top:0}.dark .page-body[data-v-b001d96c] div:first-child h1:first-child{--tw-text-opacity:1;color:rgb(250 250 250/var(--tw-text-opacity))}@media (min-width:640px){.page-body[data-v-b001d96c] div:first-child h1:first-child{font-size:1.875rem;line-height:2.25rem}}.page-body[data-v-b001d96c] div:first-child h1:first-child+p{--tw-text-opacity:1;border-bottom-width:1px;color:rgb(113 113 122/var(--tw-text-opacity));margin-bottom:2rem;margin-top:0;padding-bottom:2rem}.dark .page-body[data-v-b001d96c] div:first-child h1:first-child+p{--tw-text-opacity:1;color:rgb(161 161 170/var(--tw-text-opacity))}.page-body[data-v-b001d96c] div:first-child h1:first-child+p{--tw-border-opacity:1;border-color:rgb(244 244 245/var(--tw-border-opacity))}.dark .page-body[data-v-b001d96c] div:first-child h1:first-child+p{--tw-border-opacity:1;border-color:rgb(24 24 27/var(--tw-border-opacity))}@media (min-width:640px){.page-body[data-v-b001d96c] div:first-child h1:first-child+p{font-size:1.125rem;line-height:1.75rem}}.page-body[data-v-b001d96c] div:first-child h1:first-child+p a{--tw-text-opacity:1;color:rgb(63 63 70/var(--tw-text-opacity))}.dark .page-body[data-v-b001d96c] div:first-child h1:first-child+p a{--tw-text-opacity:1;color:rgb(228 228 231/var(--tw-text-opacity))}.page-body[data-v-b001d96c] div:first-child h1:first-child+p a:hover{--tw-border-opacity:1;border-color:rgb(63 63 70/var(--tw-border-opacity))}.toc[data-v-b001d96c]:before{--tw-backdrop-blur:blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);background-color:#fffffff2;content:" ";display:block;height:100%;position:absolute;right:0;top:0;width:100%;z-index:-1}.dark .toc[data-v-b001d96c]:before{background-color:#0c0c0df2}@media (min-width:1024px){.toc[data-v-b001d96c]:before{display:none}}
diff --git a/docs/.vercel/output/static/_nuxt/DocsPrevNext.e27813eb.js b/docs/.vercel/output/static/_nuxt/DocsPrevNext.e27813eb.js
new file mode 100644
index 0000000..22387f0
--- /dev/null
+++ b/docs/.vercel/output/static/_nuxt/DocsPrevNext.e27813eb.js
@@ -0,0 +1 @@
+import"./DocsPrevNext.vue_vue_type_script_setup_true_lang.18a4b85f.js";import{_ as i}from"./DocsPrevNext.vue_vue_type_script_setup_true_lang.18a4b85f.js";import"./entry.5c8819da.js";import"./index.c8e7d9b1.js";export{i as default};
diff --git a/docs/.vercel/output/static/_nuxt/DocsPrevNext.vue_vue_type_script_setup_true_lang.18a4b85f.js b/docs/.vercel/output/static/_nuxt/DocsPrevNext.vue_vue_type_script_setup_true_lang.18a4b85f.js
new file mode 100644
index 0000000..e7382ed
--- /dev/null
+++ b/docs/.vercel/output/static/_nuxt/DocsPrevNext.vue_vue_type_script_setup_true_lang.18a4b85f.js
@@ -0,0 +1 @@
+import{b as y,e as g,u as e,o as n,f as p,c as _,w as d,h as r,t as c,k as h,j as u,q as v,s as b,ao as k}from"./entry.5c8819da.js";import{u as w}from"./index.c8e7d9b1.js";const C={key:0,class:"flex flex-col-reverse justify-between gap-3 sm:flex-row sm:items-center"},N={class:"h-4 mb-1 text-xs font-medium text-right truncate u-text-gray-500"},B={class:"flex items-center gap-3"},j={class:"flex-1 font-medium leading-5 text-right truncate"},D={key:1},V={class:"h-4 mb-1 text-xs font-medium truncate u-text-gray-500"},F={class:"flex items-center gap-3"},P={class:"flex-1 font-medium leading-5 truncate"},I=y({__name:"DocsPrevNext",setup(q){const{prev:s,next:o,navigation:x}=g(),{navDirFromPath:f}=k(),m=i=>{const a=f(i._path,x.value||[]);if(a&&a[0])return a[0]._path;{const t=i.split("/");return(t.length>1?t[t.length-2]:"").split("-").map(w).join(" ")}};return(i,a)=>{const t=v,l=b;return e(s)||e(o)?(n(),p("div",C,[e(s)?(n(),_(l,{key:0,to:e(s)._path,class:"relative min-w-0 p-3 border rounded-lg hover:border-primary-500 dark:hover:border-primary-500 hover:text-primary-500 u-border-gray-100"},{default:d(()=>[r("p",N,c(m(e(s)._path)),1),r("p",B,[h(t,{name:"heroicons-outline:arrow-sm-left",class:"flex-shrink-0 w-5 h-5"}),r("span",j,c(e(s).title),1)])]),_:1},8,["to"])):(n(),p("span",D)),e(o)?(n(),_(l,{key:2,to:e(o)._path,class:"relative min-w-0 p-3 border rounded-lg hover:border-primary-500 dark:hover:border-primary-500 hover:text-primary-500 u-border-gray-100"},{default:d(()=>[r("p",V,c(m(e(o)._path)),1),r("p",F,[r("span",P,c(e(o).title),1),h(t,{name:"heroicons-outline:arrow-sm-right",class:"flex-shrink-0 w-5 h-5"})])]),_:1},8,["to"])):u("",!0)])):u("",!0)}}});export{I as _};
diff --git a/docs/.vercel/output/static/_nuxt/DocsToc.aaaf4b82.js b/docs/.vercel/output/static/_nuxt/DocsToc.aaaf4b82.js
new file mode 100644
index 0000000..8adc224
--- /dev/null
+++ b/docs/.vercel/output/static/_nuxt/DocsToc.aaaf4b82.js
@@ -0,0 +1 @@
+import"./DocsToc.vue_vue_type_script_setup_true_lang.65a012e3.js";import{_ as i}from"./DocsToc.vue_vue_type_script_setup_true_lang.65a012e3.js";import"./DocsTocLinks.vue_vue_type_script_setup_true_lang.a06663b5.js";import"./entry.5c8819da.js";export{i as default};
diff --git a/docs/.vercel/output/static/_nuxt/DocsToc.vue_vue_type_script_setup_true_lang.65a012e3.js b/docs/.vercel/output/static/_nuxt/DocsToc.vue_vue_type_script_setup_true_lang.65a012e3.js
new file mode 100644
index 0000000..f630a2f
--- /dev/null
+++ b/docs/.vercel/output/static/_nuxt/DocsToc.vue_vue_type_script_setup_true_lang.65a012e3.js
@@ -0,0 +1 @@
+import{_ as r}from"./DocsTocLinks.vue_vue_type_script_setup_true_lang.a06663b5.js";import{b as _,e as d,o as t,f as a,u as c,F as f,k as p,j as k,h as l}from"./entry.5c8819da.js";const u={class:"flex flex-col space-y-1 sm:space-y-2"},v=l("div",{class:"items-center hidden overflow-hidden text-sm font-semibold lg:flex"},[l("span",null,"Table of Contents")],-1),y=_({__name:"DocsToc",emits:["move"],setup(x,{emit:m}){const{toc:e}=d();return(h,s)=>{var o,n;const i=r;return t(),a("div",u,[(n=(o=c(e))==null?void 0:o.links)!=null&&n.length?(t(),a(f,{key:0},[v,p(i,{links:c(e).links,onMove:s[0]||(s[0]=C=>m("move"))},null,8,["links"])],64)):k("",!0)])}}});export{y as _};
diff --git a/docs/.vercel/output/static/_nuxt/DocsTocLinks.7bceeeb0.js b/docs/.vercel/output/static/_nuxt/DocsTocLinks.7bceeeb0.js
new file mode 100644
index 0000000..c55fabf
--- /dev/null
+++ b/docs/.vercel/output/static/_nuxt/DocsTocLinks.7bceeeb0.js
@@ -0,0 +1 @@
+import"./DocsTocLinks.vue_vue_type_script_setup_true_lang.a06663b5.js";import{_ as t}from"./DocsTocLinks.vue_vue_type_script_setup_true_lang.a06663b5.js";import"./entry.5c8819da.js";export{t as default};
diff --git a/docs/.vercel/output/static/_nuxt/DocsTocLinks.vue_vue_type_script_setup_true_lang.a06663b5.js b/docs/.vercel/output/static/_nuxt/DocsTocLinks.vue_vue_type_script_setup_true_lang.a06663b5.js
new file mode 100644
index 0000000..d3f7ec8
--- /dev/null
+++ b/docs/.vercel/output/static/_nuxt/DocsTocLinks.vue_vue_type_script_setup_true_lang.a06663b5.js
@@ -0,0 +1 @@
+import{x as i,G as h,Q as g,a4 as f,b as y,Z as _,aq as x,o as c,f as d,F as b,r as k,l as p,h as B,t as C,u as H,ar as S,c as q,j as A}from"./entry.5c8819da.js";const w=()=>{const r=i(),s=i([]),a=i([]),u=e=>e.forEach(o=>{const n=o.target.id;o.isIntersecting?s.value.push(n):s.value=s.value.filter(m=>m!==n)}),l=e=>e.forEach(o=>{r.value.observe(o)});return h(s,(e,o)=>{e.length===0?a.value=o:a.value=e}),g(()=>r.value=new IntersectionObserver(u)),f(()=>{var e;return(e=r.value)==null?void 0:e.disconnect()}),{visibleHeadings:s,activeHeadings:a,updateHeadings:l}},T=["href","onClick"],D=y({__name:"DocsTocLinks",props:{links:{type:Array,default:()=>[]}},emits:["move"],setup(r,{emit:s}){const a=_(),u=x(),{activeHeadings:l,updateHeadings:e}=w();h(()=>a.path,()=>{setTimeout(()=>{e([...document.querySelectorAll(".document-driven-page h1, .docus-content h1"),...document.querySelectorAll(".document-driven-page h2, .docus-content h2"),...document.querySelectorAll(".document-driven-page h3, .docus-content h3"),...document.querySelectorAll(".document-driven-page h4, .docus-content h4")])},300)},{immediate:!0});const o=n=>{u.push(`#${n}`),s("move",n)};return(n,m)=>{const v=D;return c(),d("ul",null,[(c(!0),d(b,null,k(r.links,t=>(c(),d("li",{key:t.text,class:p(["min-w-0 group",[{"pl-3":t.depth===3,"pl-6":t.depth===4}]])},[B("a",{href:`#${t.id}`,class:p(["block py-1 text-sm truncate lg:pr-3",[H(l).includes(t.id)?"text-primary-500":"u-text-gray-500 hover:u-text-gray-900"]]),onClick:S(E=>o(t.id),["prevent"])},C(t.text),11,T),t.children?(c(),q(v,{key:0,links:t.children},null,8,["links"])):A("",!0)],2))),128))])}}});export{D as _};
diff --git a/docs/.vercel/output/static/_nuxt/DocumentDrivenNotFound.f9457e0d.js b/docs/.vercel/output/static/_nuxt/DocumentDrivenNotFound.f9457e0d.js
new file mode 100644
index 0000000..e0b88c5
--- /dev/null
+++ b/docs/.vercel/output/static/_nuxt/DocumentDrivenNotFound.f9457e0d.js
@@ -0,0 +1 @@
+import s from"./ButtonLink.2f82fed5.js";import{v as o,o as a,f as r,h as t,k as c,w as n,i as m}from"./entry.5c8819da.js";const l={},_={class:"flex-1 px-4 py-16 sm:px-6 sm:py-24 md:grid md:place-items-center lg:px-8"},i={class:"mx-auto max-w-max"},x={class:"sm:flex"},d=t("p",{class:"text-4xl font-extrabold text-primary-500 sm:text-5xl"}," 404 ",-1),p={class:"sm:ml-6"},f=t("div",{class:"sm:u-border-gray-200 sm:border-l sm:pl-6"},[t("h1",{class:"text-4xl font-extrabold tracking-tight u-text-gray-900 sm:text-5xl"}," Not Found "),t("p",{class:"mt-1 text-xl"}," This is not the page you're looking for. ")],-1),h={class:"flex mt-10 space-x-3 sm:border-l sm:border-transparent sm:pl-6"};function u(g,b){const e=s;return a(),r("div",_,[t("div",i,[t("main",x,[d,t("div",p,[f,t("div",h,[c(e,{href:"/",size:"large",variant:"primary"},{default:n(()=>[m(" Go back home ")]),_:1})])])])])])}const y=o(l,[["render",u]]);export{y as default};
diff --git a/docs/.vercel/output/static/_nuxt/Icon.8b8e9bfb.js b/docs/.vercel/output/static/_nuxt/Icon.8b8e9bfb.js
new file mode 100644
index 0000000..5838c87
--- /dev/null
+++ b/docs/.vercel/output/static/_nuxt/Icon.8b8e9bfb.js
@@ -0,0 +1 @@
+import"./entry.5c8819da.js";import{q as r}from"./entry.5c8819da.js";export{r as default};
diff --git a/docs/.vercel/output/static/_nuxt/IconCodeSandBox.41ff096f.js b/docs/.vercel/output/static/_nuxt/IconCodeSandBox.41ff096f.js
new file mode 100644
index 0000000..cb40417
--- /dev/null
+++ b/docs/.vercel/output/static/_nuxt/IconCodeSandBox.41ff096f.js
@@ -0,0 +1 @@
+import{v as e,o,f as n,h as t}from"./entry.5c8819da.js";const s={},c={viewBox:"0 0 105 104",fill:"none",xmlns:"http://www.w3.org/2000/svg"},r=t("path",{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M104.297.31104.87354.3111V103.735H104.297V.31104ZM93.7196 93.1572V10.8885H11.4509v82.2687h82.2687Z",fill:"currentColor"},null,-1),l=[r];function d(_,a){return o(),n("svg",c,l)}const f=e(s,[["render",d]]);export{f as default};
diff --git a/docs/.vercel/output/static/_nuxt/IconDocus.bc629857.js b/docs/.vercel/output/static/_nuxt/IconDocus.bc629857.js
new file mode 100644
index 0000000..c2d576b
--- /dev/null
+++ b/docs/.vercel/output/static/_nuxt/IconDocus.bc629857.js
@@ -0,0 +1 @@
+import{v as e,o,f as c,h as s}from"./entry.5c8819da.js";const t={},n={viewBox:"0 0 57 57",fill:"none",xmlns:"http://www.w3.org/2000/svg"},r=s("path",{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M28.5445 0C12.8044 0 0 12.7599 0 28.5v25.4549c0 1.5835 1.28368 2.8672 2.86718 2.8672H28.5889C44.2799 56.8221 57 44.102 57 28.4111 57 12.7201 44.2355 0 28.5445 0Zm15.4963 34.452c3.3649 0 6.0927-2.7278 6.0927-6.0928 0-3.3649-2.7278-6.0927-6.0927-6.0927-3.365 0-6.0928 2.7278-6.0928 6.0927 0 3.365 2.7278 6.0928 6.0928 6.0928Zm-18.0833.0003c3.3649 0 6.0927-2.7278 6.0927-6.0927s-2.7278-6.0928-6.0927-6.0928-6.0928 2.7279-6.0928 6.0928c0 3.3649 2.7279 6.0927 6.0928 6.0927Z",fill:"currentColor"},null,-1),l=[r];function _(a,d){return o(),c("svg",n,l)}const f=e(t,[["render",_]]);export{f as default};
diff --git a/docs/.vercel/output/static/_nuxt/IconNuxt.070d8afc.js b/docs/.vercel/output/static/_nuxt/IconNuxt.070d8afc.js
new file mode 100644
index 0000000..3012d14
--- /dev/null
+++ b/docs/.vercel/output/static/_nuxt/IconNuxt.070d8afc.js
@@ -0,0 +1 @@
+import{v as o,o as t,f as n,h as e}from"./entry.5c8819da.js";const l={},s={viewBox:"0 0 124 124",fill:"none",xmlns:"http://www.w3.org/2000/svg"},c=e("path",{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M55.7498 27.1551C52.5277 21.615 44.4723 21.6149 41.2502 27.1551L6.13404 87.5346C2.91191 93.0748 6.93956 100 13.3838 100H40.7975C38.0438 97.5934 37.0241 93.4303 39.1079 89.8584L65.7033 44.2694L55.7498 27.1551Z",fill:"currentColor"},null,-1),r=e("path",{d:"M78.0002 40.3997C80.6668 35.8668 87.3332 35.8668 89.9998 40.3997L119.061 89.801C121.728 94.3339 118.395 100 113.062 100H54.9383C49.6052 100 46.2719 94.3339 48.9385 89.801L78.0002 40.3997Z",fill:"currentColor"},null,-1),_=[c,r];function d(a,i){return t(),n("svg",s,_)}const u=o(l,[["render",d]]);export{u as default};
diff --git a/docs/.vercel/output/static/_nuxt/IconNuxtContent.31fb8cb3.js b/docs/.vercel/output/static/_nuxt/IconNuxtContent.31fb8cb3.js
new file mode 100644
index 0000000..2dab7c2
--- /dev/null
+++ b/docs/.vercel/output/static/_nuxt/IconNuxtContent.31fb8cb3.js
@@ -0,0 +1 @@
+import{v as o,o as e,f as n,h as t}from"./entry.5c8819da.js";const s={},l={viewBox:"0 0 100 100",fill:"none",xmlns:"http://www.w3.org/2000/svg"},c=t("path",{d:"M53.0214 38.137C55.1705 41.8324 52.4842 46.4516 48.1861 46.4516H21.5917C17.2936 46.4516 14.6073 41.8323 16.7564 38.137L30.0536 15.272C32.2026 11.5766 37.5752 11.5766 39.7242 15.272L53.0214 38.137Z",fill:"#00CD81"},null,-1),_=t("path",{d:"M60.3763 68.7869C62.5253 65.0919 67.8979 65.0919 70.047 68.7869L83.3442 91.6497C85.4932 95.3447 82.8069 99.9634 78.5088 99.9634H51.9144C47.6164 99.9634 44.9301 95.3447 47.0791 91.6497L60.3763 68.7869Z",fill:"#003E27"},null,-1),a=t("path",{d:"M70.047 31.1765C67.8979 34.8716 62.5253 34.8716 60.3763 31.1765L47.0791 8.31374C44.9301 4.6187 47.6164 0 51.9144 0H78.5088C82.8069 0 85.4932 4.6187 83.3442 8.31374L70.047 31.1765Z",fill:"#99EBCD"},null,-1),i=t("path",{d:"M48.1861 55.0018C52.4842 55.0018 55.1705 59.621 53.0214 63.3164L39.7242 86.1814C37.5752 89.8769 32.2026 89.8767 30.0536 86.1814L16.7564 63.3164C14.6073 59.621 17.2936 55.0018 21.5917 55.0018H48.1861Z",fill:"#007B4D"},null,-1),C=[c,_,a,i];function d(h,r){return e(),n("svg",l,C)}const p=o(s,[["render",d]]);export{p as default};
diff --git a/docs/.vercel/output/static/_nuxt/IconNuxtLabs.a3cd1c69.js b/docs/.vercel/output/static/_nuxt/IconNuxtLabs.a3cd1c69.js
new file mode 100644
index 0000000..2f626e7
--- /dev/null
+++ b/docs/.vercel/output/static/_nuxt/IconNuxtLabs.a3cd1c69.js
@@ -0,0 +1 @@
+import{v as e,o,f as t,h as s}from"./entry.5c8819da.js";const n={},C={viewBox:"0 0 72 72",fill:"none",xmlns:"http://www.w3.org/2000/svg"},c=s("path",{d:"M39.4645 56.1168H62.5554C63.2888 56.1169 64.0093 55.9266 64.6445 55.5649C65.2796 55.2033 65.807 54.6831 66.1736 54.0567C66.5401 53.4303 66.7329 52.7198 66.7326 51.9966C66.7323 51.2734 66.5388 50.5631 66.1717 49.937L50.6645 23.4515C50.298 22.8253 49.7707 22.3053 49.1357 21.9437C48.5007 21.5821 47.7803 21.3917 47.0471 21.3917C46.3138 21.3917 45.5934 21.5821 44.9584 21.9437C44.3234 22.3053 43.7962 22.8253 43.4296 23.4515L39.4645 30.2282L31.712 16.9766C31.3452 16.3504 30.8177 15.8305 30.1825 15.469C29.5473 15.1074 28.8268 14.9171 28.0934 14.9171C27.36 14.9171 26.6396 15.1074 26.0044 15.469C25.3692 15.8305 24.8417 16.3504 24.4749 16.9766L5.17805 49.937C4.81095 50.5631 4.61751 51.2734 4.61719 51.9966C4.61687 52.7198 4.80968 53.4303 5.17624 54.0567C5.54279 54.6831 6.07016 55.2033 6.7053 55.5649C7.34044 55.9266 8.06096 56.1169 8.79438 56.1168H23.2889C29.0318 56.1168 33.267 53.6294 36.1812 48.7765L43.2563 36.6943L47.046 30.2282L58.4193 49.6508H43.2563L39.4645 56.1168ZM23.0526 49.6441L12.9373 49.6419L28.1002 23.7467L35.6659 36.6943L30.6003 45.3482C28.665 48.4969 26.4664 49.6441 23.0526 49.6441Z",fill:"currentColor"},null,-1),r=[c];function _(a,L){return o(),t("svg",C,r)}const f=e(n,[["render",_]]);export{f as default};
diff --git a/docs/.vercel/output/static/_nuxt/IconStackBlitz.f0f607db.js b/docs/.vercel/output/static/_nuxt/IconStackBlitz.f0f607db.js
new file mode 100644
index 0000000..e4165eb
--- /dev/null
+++ b/docs/.vercel/output/static/_nuxt/IconStackBlitz.f0f607db.js
@@ -0,0 +1 @@
+import{v as e,o,f as t,h as s}from"./entry.5c8819da.js";const c={},n={viewBox:"0 0 25 25",fill:"none",xmlns:"http://www.w3.org/2000/svg"},r=s("path",{d:"M11.46 14.773H4L17.638 0l-3.671 10.227h7.46L7.788 25l3.671-10.227h.001Z",fill:"currentColor"},null,-1),l=[r];function _(a,i){return o(),t("svg",n,l)}const h=e(c,[["render",_]]);export{h as default};
diff --git a/docs/.vercel/output/static/_nuxt/IconVueTelescope.347e9b6c.js b/docs/.vercel/output/static/_nuxt/IconVueTelescope.347e9b6c.js
new file mode 100644
index 0000000..d54587a
--- /dev/null
+++ b/docs/.vercel/output/static/_nuxt/IconVueTelescope.347e9b6c.js
@@ -0,0 +1 @@
+import{v as e,o as t,f as l,h as o}from"./entry.5c8819da.js";const n={},s={viewBox:"0 0 124 124",fill:"none",xmlns:"http://www.w3.org/2000/svg"},c=o("path",{d:"M48 82.5887L57.1066 98.175C59.3073 101.942 64.8092 101.942 67.0102 98.175L101 40H72.8834L48 82.5887Z",fill:"currentColor"},null,-1),r=o("path",{d:"M77 33H104.936L105.23 32.4924C107.417 28.718 104.684 24 100.31 24H82.2142L77 33Z",fill:"currentColor"},null,-1),_=o("path",{d:"M74 24L68.7601 33H19.0689L18.7734 32.4924C16.5759 28.718 19.3228 24 23.7177 24H74Z",fill:"currentColor"},null,-1),a=o("path",{d:"M65 40L44 76L23 40H65Z",fill:"currentColor"},null,-1),i=[c,r,_,a];function d(h,f){return t(),l("svg",s,i)}const p=e(n,[["render",d]]);export{p as default};
diff --git a/docs/.vercel/output/static/_nuxt/List.8279d29f.js b/docs/.vercel/output/static/_nuxt/List.8279d29f.js
new file mode 100644
index 0000000..36a73c3
--- /dev/null
+++ b/docs/.vercel/output/static/_nuxt/List.8279d29f.js
@@ -0,0 +1 @@
+import"./List.vue_vue_type_style_index_0_lang.aa51af9a.js";import{_ as t}from"./List.vue_vue_type_style_index_0_lang.aa51af9a.js";import"./entry.5c8819da.js";export{t as default};
diff --git a/docs/.vercel/output/static/_nuxt/List.8f1ece3a.css b/docs/.vercel/output/static/_nuxt/List.8f1ece3a.css
new file mode 100644
index 0000000..49a067d
--- /dev/null
+++ b/docs/.vercel/output/static/_nuxt/List.8f1ece3a.css
@@ -0,0 +1 @@
+.list-primary{color:var(--colors-primary-500)}.list-info{--tw-text-opacity:1;color:rgb(26 173 255/var(--tw-text-opacity))}.dark .list-info{--tw-text-opacity:1;color:rgb(64 187 255/var(--tw-text-opacity))}.list-success{--tw-text-opacity:1;color:rgb(0 189 111/var(--tw-text-opacity))}.dark .list-success{--tw-text-opacity:1;color:rgb(0 220 130/var(--tw-text-opacity))}.list-warning{--tw-text-opacity:1;color:rgb(245 200 40/var(--tw-text-opacity))}.dark .list-warning{--tw-text-opacity:1;color:rgb(247 209 76/var(--tw-text-opacity))}.list-danger{--tw-text-opacity:1;color:rgb(255 40 26/var(--tw-text-opacity))}.dark .list-danger{--tw-text-opacity:1;color:rgb(255 76 64/var(--tw-text-opacity))}
diff --git a/docs/.vercel/output/static/_nuxt/List.vue_vue_type_style_index_0_lang.aa51af9a.js b/docs/.vercel/output/static/_nuxt/List.vue_vue_type_style_index_0_lang.aa51af9a.js
new file mode 100644
index 0000000..05238e8
--- /dev/null
+++ b/docs/.vercel/output/static/_nuxt/List.vue_vue_type_style_index_0_lang.aa51af9a.js
@@ -0,0 +1 @@
+import{b as r,N as u,E as m,J as e,q as p,m as f,O as _}from"./entry.5c8819da.js";const d={primary:"heroicons-outline:check",info:"heroicons-outline:information-circle",success:"heroicons-outline:check-circle",warning:"heroicons-outline:exclamation",danger:"heroicons-outline:exclamation-circle"},h=r({props:{icon:{type:String,default:null},type:{type:String,default:"primary",validator:n=>["primary","info","success","warning","danger"].includes(n)}},setup(n){const a=u(),{flatUnwrap:t,unwrap:c}=_(),o=m(()=>n.icon||d[n.type]);return()=>{var i;const l=t((i=a.default&&a.default())!=null?i:[],["ul"]).map(s=>c(s,["li"]));return e("ul",l.map(s=>e("li",{class:"mb-3 flex items-center"},[e("span",{class:`list-${n.type} mt-px mr-3 flex-shrink-0`},e(p,{name:o.value,class:"h-6 w-6"})),e("span",e(f,{use:()=>s}))])))}}});export{h as _};
diff --git a/docs/.vercel/output/static/_nuxt/Markdown.d5d45569.js b/docs/.vercel/output/static/_nuxt/Markdown.d5d45569.js
new file mode 100644
index 0000000..5217bb8
--- /dev/null
+++ b/docs/.vercel/output/static/_nuxt/Markdown.d5d45569.js
@@ -0,0 +1 @@
+import{b as r,m as o,N as u,E as c,z as f}from"./entry.5c8819da.js";const p=r({name:"Markdown",extends:o,setup(t){const{parent:e}=f(),{between:n,default:a}=u(),s=c(()=>typeof t.unwrap=="string"?t.unwrap.split(" "):["*"]);return{fallbackSlot:a,tags:s,between:n,parent:e}}});export{p as default};
diff --git a/docs/.vercel/output/static/_nuxt/NavbarDialog.6db5c5f0.js b/docs/.vercel/output/static/_nuxt/NavbarDialog.6db5c5f0.js
new file mode 100644
index 0000000..210664b
--- /dev/null
+++ b/docs/.vercel/output/static/_nuxt/NavbarDialog.6db5c5f0.js
@@ -0,0 +1 @@
+import"./entry.5c8819da.js";import{aw as r}from"./entry.5c8819da.js";export{r as default};
diff --git a/docs/.vercel/output/static/_nuxt/NavbarLogo.bbf96852.js b/docs/.vercel/output/static/_nuxt/NavbarLogo.bbf96852.js
new file mode 100644
index 0000000..a93f5c9
--- /dev/null
+++ b/docs/.vercel/output/static/_nuxt/NavbarLogo.bbf96852.js
@@ -0,0 +1 @@
+import"./entry.5c8819da.js";import{ax as r}from"./entry.5c8819da.js";export{r as default};
diff --git a/docs/.vercel/output/static/_nuxt/NuxtImg.db6a871f.js b/docs/.vercel/output/static/_nuxt/NuxtImg.db6a871f.js
new file mode 100644
index 0000000..a6e5ccf
--- /dev/null
+++ b/docs/.vercel/output/static/_nuxt/NuxtImg.db6a871f.js
@@ -0,0 +1 @@
+import"./NuxtImg.vue_vue_type_script_lang.73948608.js";import{_ as t}from"./NuxtImg.vue_vue_type_script_lang.73948608.js";import"./entry.5c8819da.js";export{t as default};
diff --git a/docs/.vercel/output/static/_nuxt/NuxtImg.vue_vue_type_script_lang.73948608.js b/docs/.vercel/output/static/_nuxt/NuxtImg.vue_vue_type_script_lang.73948608.js
new file mode 100644
index 0000000..42ed9bf
--- /dev/null
+++ b/docs/.vercel/output/static/_nuxt/NuxtImg.vue_vue_type_script_lang.73948608.js
@@ -0,0 +1 @@
+import{b as i,E as n,J as s}from"./entry.5c8819da.js";const c=i({props:{src:{type:[String,Object],default:null},alt:{type:String,default:""},width:{type:[String,Number],default:void 0},height:{type:[String,Number],default:void 0}},setup(t){return{imgSrc:n(()=>{let r=t.src;try{r=JSON.parse(r)}catch{r=t.src}return typeof r=="string"?t.src:r})}},render({imgSrc:t}){if(typeof t=="string")return s("img",{src:t});const e=[];return t.light&&e.push(s("img",{src:t.light,class:["dark-img"]})),t.dark&&e.push(s("img",{src:t.dark,class:["light-img"]})),e}});export{c as _};
diff --git a/docs/.vercel/output/static/_nuxt/PageContributors.45347cd4.js b/docs/.vercel/output/static/_nuxt/PageContributors.45347cd4.js
new file mode 100644
index 0000000..599085d
--- /dev/null
+++ b/docs/.vercel/output/static/_nuxt/PageContributors.45347cd4.js
@@ -0,0 +1 @@
+import"./PageContributors.vue_vue_type_script_setup_true_lang.14965c12.js";import{_ as t}from"./PageContributors.vue_vue_type_script_setup_true_lang.14965c12.js";import"./entry.5c8819da.js";export{t as default};
diff --git a/docs/.vercel/output/static/_nuxt/PageContributors.vue_vue_type_script_setup_true_lang.14965c12.js b/docs/.vercel/output/static/_nuxt/PageContributors.vue_vue_type_script_setup_true_lang.14965c12.js
new file mode 100644
index 0000000..16122cf
--- /dev/null
+++ b/docs/.vercel/output/static/_nuxt/PageContributors.vue_vue_type_script_setup_true_lang.14965c12.js
@@ -0,0 +1 @@
+import{b as f,e as k,V as x,E as C,o as s,c as _,w as i,h as a,k as y,f as o,F as w,r as v,j as N,u as r,q as B,T as F,s as V}from"./entry.5c8819da.js";const G={class:"flex flex-col gap-4"},$={class:"flex items-center inline-block gap-2 text-sm grow-0"},E=a("span",null,"Contributors",-1),L={key:0,class:"flex flex-wrap gap-2"},b=["src"],j={key:1,class:"block w-6 h-6 opacity-0"},q={key:2,class:"block u-text-gray-500"},I=f({__name:"PageContributors",setup(A){const{page:u}=k(),p=x(),m=C(()=>{var n;return((n=p.value.github)==null?void 0:n.root)||"/"});return(n,D)=>{var l;const h=B,g=V,d=F("GithubFileContributors");return s(),_(d,{source:r(m)+((l=r(u))==null?void 0:l._file)},{default:i(({contributors:e,pending:c})=>[a("div",G,[a("span",$,[y(h,{name:"heroicons-outline:user-group",class:"w-5 h-5"}),E]),e!=null&&e.length?(s(),o("div",L,[(s(!0),o(w,null,v(e,t=>(s(),_(g,{key:t.login,alt:t.name,title:`@${t.login} on GitHub`,to:`https://github.com/${t.login}`},{default:i(()=>[a("img",{src:t.avatar_url,class:"inline-block w-6 h-6 transition-colors rounded-full u-ring-gray-200 hover:ring-primary-500 ring-2"},null,8,b)]),_:2},1032,["alt","title","to"]))),128))])):c?(s(),o("span",j,"\xA0")):!c&&!(e!=null&&e.length)?(s(),o("span",q,"No contributors.")):N("",!0)])]),_:1},8,["source"])}}});export{I as _};
diff --git a/docs/.vercel/output/static/_nuxt/PageEditLink.6847cf00.js b/docs/.vercel/output/static/_nuxt/PageEditLink.6847cf00.js
new file mode 100644
index 0000000..75282a1
--- /dev/null
+++ b/docs/.vercel/output/static/_nuxt/PageEditLink.6847cf00.js
@@ -0,0 +1 @@
+import"./PageEditLink.vue_vue_type_script_setup_true_lang.7a739cdc.js";import{_ as t}from"./PageEditLink.vue_vue_type_script_setup_true_lang.7a739cdc.js";import"./entry.5c8819da.js";export{t as default};
diff --git a/docs/.vercel/output/static/_nuxt/PageEditLink.vue_vue_type_script_setup_true_lang.7a739cdc.js b/docs/.vercel/output/static/_nuxt/PageEditLink.vue_vue_type_script_setup_true_lang.7a739cdc.js
new file mode 100644
index 0000000..337c59d
--- /dev/null
+++ b/docs/.vercel/output/static/_nuxt/PageEditLink.vue_vue_type_script_setup_true_lang.7a739cdc.js
@@ -0,0 +1 @@
+import{b as l,e as m,V as h,E as f,o as k,c as x,w as o,h as c,k as t,u as s,q as d,s as g,T as b}from"./entry.5c8819da.js";const w={class:"flex"},C=c("span",null,"Edit this page on GitHub",-1),E=l({__name:"PageEditLink",setup(L){const{page:a}=m(),r=h(),_=f(()=>{var e;return((e=r.value.github)==null?void 0:e.root)||"/"});return(e,v)=>{const i=d,p=g,u=b("GithubLink");return k(),x(u,{"content-dir":s(_),page:s(a)},{default:o(n=>[c("span",w,[t(p,{href:n==null?void 0:n.url,target:"_blank",rel:"noopener",class:"flex items-center inline-block gap-2 text-sm hover:text-primary-500 grow-0"},{default:o(()=>[t(i,{name:"heroicons-outline:external-link",class:"w-5 h-5"}),C]),_:2},1032,["href"])])]),_:1},8,["content-dir","page"])}}});export{E as _};
diff --git a/docs/.vercel/output/static/_nuxt/Props.ae63778f.js b/docs/.vercel/output/static/_nuxt/Props.ae63778f.js
new file mode 100644
index 0000000..6dd8988
--- /dev/null
+++ b/docs/.vercel/output/static/_nuxt/Props.ae63778f.js
@@ -0,0 +1 @@
+import B from"./ProseTh.eff23c97.js";import V from"./ProseTr.b4f984e9.js";import g from"./ProseThead.f14263ab.js";import b from"./ProseCodeInline.50440e49.js";import C from"./ProseTd.5250a879.js";import N from"./ProseTbody.a82ee65e.js";import R from"./ProseTable.42d7d6fa.js";import{v as A,b as j,E as m,o,c as l,w as e,k as s,i as d,j as r,f as E,r as F,F as S,t as c}from"./entry.5c8819da.js";import{u as I}from"./asyncData.31ace0d7.js";import{k as K}from"./index.c8e7d9b1.js";const L=j({props:{of:{type:String,default:void 0},required:{type:Boolean,default:void 0},values:{type:Boolean,default:void 0},description:{type:Boolean,default:void 0},default:{type:Boolean,default:void 0}},async setup(t){const h=`/api/component-meta/${K(t.of)}`,{data:k}=await I(t.of,()=>$fetch(h),"$jdpANtUKvA"),i=m(()=>k.value.props.filter(a=>{var n;return!((n=a.tags)!=null&&n.ignore.includes(a))})),w=m(()=>{var a;return t.required!==void 0?t.required:(a=i.value)==null?void 0:a.find(n=>n.required!==void 0)}),v=m(()=>{var a;return t.values!==void 0?t.values:(a=i.value)==null?void 0:a.find(n=>n.values)}),f=m(()=>{var a;return t.description!==void 0?t.description:(a=i.value)==null?void 0:a.find(n=>n.description)}),y=m(()=>{var a;return t.default!==void 0?t.default:(a=i.value)==null?void 0:a.find(n=>n.default)});return{meta:k,properties:i,showRequired:w,showValues:v,showDescription:f,showDefault:y}}});function U(t,h,k,i,w,v){var q,D,P;const f=B,y=V,a=g,n=b,_=C,T=N,$=R;return t.meta&&((q=t.meta)==null?void 0:q.props)&&((P=(D=t.meta)==null?void 0:D.props)==null?void 0:P.length)?(o(),l($,{key:0},{default:e(()=>[s(a,null,{default:e(()=>[s(y,null,{default:e(()=>[s(f,null,{default:e(()=>[d("Prop")]),_:1}),s(f,null,{default:e(()=>[d("Type")]),_:1}),t.showRequired?(o(),l(f,{key:0},{default:e(()=>[d(" Required ")]),_:1})):r("",!0),t.showDefault?(o(),l(f,{key:1},{default:e(()=>[d(" Default ")]),_:1})):r("",!0),t.showValues?(o(),l(f,{key:2},{default:e(()=>[d(" Values ")]),_:1})):r("",!0),t.showDescription?(o(),l(f,{key:3},{default:e(()=>[d(" Description ")]),_:1})):r("",!0)]),_:1})]),_:1}),s(T,null,{default:e(()=>[(o(!0),E(S,null,F(t.properties,u=>(o(),l(y,{key:u.name},{default:e(()=>[s(_,null,{default:e(()=>[s(n,null,{default:e(()=>[d(c((u==null?void 0:u.name)||"?"),1)]),_:2},1024)]),_:2},1024),s(_,null,{default:e(()=>[s(n,null,{default:e(()=>[d(c((u==null?void 0:u.type)||"?"),1)]),_:2},1024)]),_:2},1024),t.showRequired?(o(),l(_,{key:0},{default:e(()=>[s(n,null,{default:e(()=>[d(c(u.required==="?"?"?":u.required?"Yes":"No"),1)]),_:2},1024)]),_:2},1024)):r("",!0),t.showDefault?(o(),l(_,{key:1},{default:e(()=>[u.default?(o(),l(n,{key:0},{default:e(()=>[d(c((u==null?void 0:u.default)||"?"),1)]),_:2},1024)):r("",!0)]),_:2},1024)):r("",!0),t.showValues?(o(),l(_,{key:2},{default:e(()=>[u.values?(o(),l(n,{key:0},{default:e(()=>[d(c((u==null?void 0:u.values)||"?"),1)]),_:2},1024)):(o(),l(n,{key:1},{default:e(()=>[d(" - ")]),_:1}))]),_:2},1024)):r("",!0),t.showDescription?(o(),l(_,{key:3},{default:e(()=>[s(n,null,{default:e(()=>[d(c(u.description),1)]),_:2},1024)]),_:2},1024)):r("",!0)]),_:2},1024))),128))]),_:1})]),_:1})):r("",!0)}const X=A(L,[["render",U]]);export{X as default};
diff --git a/docs/.vercel/output/static/_nuxt/ProseA.b6e016a7.css b/docs/.vercel/output/static/_nuxt/ProseA.b6e016a7.css
new file mode 100644
index 0000000..5eb0497
--- /dev/null
+++ b/docs/.vercel/output/static/_nuxt/ProseA.b6e016a7.css
@@ -0,0 +1 @@
+:not(h1,h2,h3,h4)>a[data-v-6a90e363]{border-bottom-width:1px;border-color:transparent;color:var(--colors-primary-500);font-weight:500;text-decoration-line:none}:not(h1,h2,h3,h4)>a[data-v-6a90e363]:hover{border-color:var(--colors-primary-500)}
diff --git a/docs/.vercel/output/static/_nuxt/ProseA.f5a3b2ab.js b/docs/.vercel/output/static/_nuxt/ProseA.f5a3b2ab.js
new file mode 100644
index 0000000..c4fb592
--- /dev/null
+++ b/docs/.vercel/output/static/_nuxt/ProseA.f5a3b2ab.js
@@ -0,0 +1 @@
+import{b as o,o as n,c as s,w as c,p as l,s as r,v as f}from"./entry.5c8819da.js";/* empty css */const i=o({__name:"ProseA",props:{href:{type:String,default:""},blank:{type:Boolean,default:!1},static:{type:Boolean,default:!1}},setup(t){return(e,p)=>{const a=r;return n(),s(a,{to:t.href,blank:t.blank,static:t.static},{default:c(()=>[l(e.$slots,"default",{},void 0,!0)]),_:3},8,["to","blank","static"])}}}),d=f(i,[["__scopeId","data-v-6a90e363"]]);export{d as default};
diff --git a/docs/.vercel/output/static/_nuxt/ProseBlockquote.70f8b8fe.js b/docs/.vercel/output/static/_nuxt/ProseBlockquote.70f8b8fe.js
new file mode 100644
index 0000000..08134ed
--- /dev/null
+++ b/docs/.vercel/output/static/_nuxt/ProseBlockquote.70f8b8fe.js
@@ -0,0 +1 @@
+/* empty css */import{v as o,o as t,f as r,p as c}from"./entry.5c8819da.js";const n={};function s(e,a){return t(),r("blockquote",null,[c(e.$slots,"default",{},void 0,!0)])}const f=o(n,[["render",s],["__scopeId","data-v-b2845914"]]);export{f as default};
diff --git a/docs/.vercel/output/static/_nuxt/ProseBlockquote.88ae3f99.css b/docs/.vercel/output/static/_nuxt/ProseBlockquote.88ae3f99.css
new file mode 100644
index 0000000..f8b2c10
--- /dev/null
+++ b/docs/.vercel/output/static/_nuxt/ProseBlockquote.88ae3f99.css
@@ -0,0 +1 @@
+blockquote[data-v-b2845914]{--tw-text-opacity:1;border-left-width:2px;color:rgb(113 113 122/var(--tw-text-opacity));font-size:1rem;font-weight:500;line-height:1.5rem;margin-bottom:1.5em;margin-top:1.5em;padding-left:1rem}.dark blockquote[data-v-b2845914]{--tw-text-opacity:1;color:rgb(161 161 170/var(--tw-text-opacity))}blockquote[data-v-b2845914]{--tw-border-opacity:1;border-color:rgb(228 228 231/var(--tw-border-opacity))}.dark blockquote[data-v-b2845914]{--tw-border-opacity:1;border-color:rgb(39 39 42/var(--tw-border-opacity))}blockquote[data-v-b2845914]{quotes:"201C" "201D" "2018" "2019"}blockquote p[data-v-b2845914]:first-of-type:before,blockquote p[data-v-b2845914]:last-of-type:after{content:""}
diff --git a/docs/.vercel/output/static/_nuxt/ProseCode.12af3d11.js b/docs/.vercel/output/static/_nuxt/ProseCode.12af3d11.js
new file mode 100644
index 0000000..62aeea1
--- /dev/null
+++ b/docs/.vercel/output/static/_nuxt/ProseCode.12af3d11.js
@@ -0,0 +1 @@
+import{_ as s}from"./CopyButton.vue_vue_type_script_setup_true_lang.2b83107f.js";import{b as l,o as e,f as o,t as r,j as i,p as c,k as d,l as p,v as u}from"./entry.5c8819da.js";/* empty css */import"./index.cb3c216d.js";const g={key:0,class:"filename absolute top-1 right-1 z-0 rounded-lg py-1 pr-2 font-mono text-xs leading-none tracking-tight text-gray-400 opacity-100"},m=l({__name:"ProseCode",props:{code:{type:String,default:""},language:{type:String,default:null},filename:{type:String,default:null},highlights:{type:Array,default:()=>[]}},setup(t){return(a,f)=>{const n=s;return e(),o("div",{class:p([[`highlight-${t.language}`],"prose-code group w-full text-gray-50"])},[t.filename?(e(),o("span",g,r(t.filename),1)):i("",!0),c(a.$slots,"default",{},void 0,!0),d(n,{content:t.code,class:"copy-button absolute right-1 bottom-1 scale-0 opacity-0 transition"},null,8,["content"])],2)}}}),x=u(m,[["__scopeId","data-v-754df0b9"]]);export{x as default};
diff --git a/docs/.vercel/output/static/_nuxt/ProseCode.1d88abe6.css b/docs/.vercel/output/static/_nuxt/ProseCode.1d88abe6.css
new file mode 100644
index 0000000..2a06ba3
--- /dev/null
+++ b/docs/.vercel/output/static/_nuxt/ProseCode.1d88abe6.css
@@ -0,0 +1 @@
+div[data-v-754df0b9]{border-radius:.5rem;margin-bottom:1rem;margin-top:1rem;overflow:hidden;position:relative}div.highlight-bash[data-v-754df0b9] code .line,div.highlight-sh[data-v-754df0b9] code .line,div.highlight-shell[data-v-754df0b9] code .line,div.highlight-shellscript[data-v-754df0b9] code .line,div.highlight-zsh[data-v-754df0b9] code .line{padding-left:1rem;position:relative}div.highlight-bash[data-v-754df0b9] code .line:before,div.highlight-sh[data-v-754df0b9] code .line:before,div.highlight-shell[data-v-754df0b9] code .line:before,div.highlight-shellscript[data-v-754df0b9] code .line:before,div.highlight-zsh[data-v-754df0b9] code .line:before{color:var(--colors-primary-500);content:">";display:block;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-weight:700;left:-.1rem;position:absolute;top:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}[data-v-754df0b9] pre{--tw-bg-opacity:1;background-color:rgb(24 24 27/var(--tw-bg-opacity));display:flex;flex:1 1 0%;line-height:1.625;margin-bottom:0;margin-top:0;overflow-x:auto;padding:1rem}[data-v-754df0b9] code{display:flex;flex-direction:column}[data-v-754df0b9] .line{display:inline-table;min-height:1rem}[data-v-754df0b9] .line.highlight{background-color:#3f3f46}.group:hover .copy-button[data-v-754df0b9]{--tw-scale-x:1;--tw-scale-y:1;opacity:1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}
diff --git a/docs/.vercel/output/static/_nuxt/ProseCodeInline.143d7c58.css b/docs/.vercel/output/static/_nuxt/ProseCodeInline.143d7c58.css
new file mode 100644
index 0000000..20d4f5e
--- /dev/null
+++ b/docs/.vercel/output/static/_nuxt/ProseCodeInline.143d7c58.css
@@ -0,0 +1 @@
+code[data-v-d61f9cc4]{background-color:rgb(250 250 250/var(--tw-bg-opacity));border-radius:.375rem;font-size:.875rem;font-weight:400;line-height:1.25rem;overflow:hidden;padding:3px 6px}.dark code[data-v-d61f9cc4],code[data-v-d61f9cc4]{--tw-bg-opacity:1}.dark code[data-v-d61f9cc4]{background-color:rgb(24 24 27/var(--tw-bg-opacity))}code[data-v-d61f9cc4]{color:rgb(24 24 27/var(--tw-text-opacity))}.dark code[data-v-d61f9cc4],code[data-v-d61f9cc4]{--tw-text-opacity:1}.dark code[data-v-d61f9cc4]{color:rgb(250 250 250/var(--tw-text-opacity))}code.colored[data-v-d61f9cc4]{--tw-bg-opacity:1;background-color:rgb(24 24 27/var(--tw-bg-opacity))}tbody code[data-v-d61f9cc4]{font-size:.875rem;line-height:1.25rem}a[data-v-d61f9cc4]{overflow:hidden}a code[data-v-d61f9cc4]{border:1px dashed transparent;font-weight:500}.dark a code[data-v-d61f9cc4],a code[data-v-d61f9cc4]{color:var(--colors-primary-500)}.dark a:hover code[data-v-d61f9cc4],a:hover code[data-v-d61f9cc4]{border-color:var(--colors-primary-500)}h1 a:hover code[data-v-d61f9cc4],h2 a:hover code[data-v-d61f9cc4],h3 a:hover code[data-v-d61f9cc4],h4 a:hover code[data-v-d61f9cc4]{--tw-border-opacity:1;border-color:rgb(24 24 27/var(--tw-border-opacity))}.dark h1 a:hover code[data-v-d61f9cc4],.dark h2 a:hover code[data-v-d61f9cc4],.dark h3 a:hover code[data-v-d61f9cc4],.dark h4 a:hover code[data-v-d61f9cc4]{--tw-border-opacity:1;border-color:rgb(244 244 245/var(--tw-border-opacity))}h1 a code[data-v-d61f9cc4],h2 a code[data-v-d61f9cc4],h3 a code[data-v-d61f9cc4],h4 a code[data-v-d61f9cc4]{--tw-text-opacity:1;color:rgb(24 24 27/var(--tw-text-opacity));font-weight:700;padding:.375rem .5rem;position:relative}.dark h1 a code[data-v-d61f9cc4],.dark h2 a code[data-v-d61f9cc4],.dark h3 a code[data-v-d61f9cc4],.dark h4 a code[data-v-d61f9cc4]{--tw-text-opacity:1;color:rgb(250 250 250/var(--tw-text-opacity))}h1 a code[data-v-d61f9cc4],h2 a code[data-v-d61f9cc4],h3 a code[data-v-d61f9cc4],h4 a code[data-v-d61f9cc4]{font-size:inherit!important}
diff --git a/docs/.vercel/output/static/_nuxt/ProseCodeInline.50440e49.js b/docs/.vercel/output/static/_nuxt/ProseCodeInline.50440e49.js
new file mode 100644
index 0000000..1d5a8c5
--- /dev/null
+++ b/docs/.vercel/output/static/_nuxt/ProseCodeInline.50440e49.js
@@ -0,0 +1 @@
+import{v as n,o as _,f as o,p as c}from"./entry.5c8819da.js";const t={};function s(e,d){return _(),o("code",null,[c(e.$slots,"default",{},void 0,!0)])}const a=n(t,[["render",s],["__scopeId","data-v-d61f9cc4"]]);export{a as default};
diff --git a/docs/.vercel/output/static/_nuxt/ProseEm.1858190c.css b/docs/.vercel/output/static/_nuxt/ProseEm.1858190c.css
new file mode 100644
index 0000000..7205275
--- /dev/null
+++ b/docs/.vercel/output/static/_nuxt/ProseEm.1858190c.css
@@ -0,0 +1 @@
+em[data-v-1ef6ff86]{color:currentColor;font-style:italic}
diff --git a/docs/.vercel/output/static/_nuxt/ProseEm.2e15dc03.js b/docs/.vercel/output/static/_nuxt/ProseEm.2e15dc03.js
new file mode 100644
index 0000000..8e94130
--- /dev/null
+++ b/docs/.vercel/output/static/_nuxt/ProseEm.2e15dc03.js
@@ -0,0 +1 @@
+/* empty css */import{v as o,o as r,f as t,p as n}from"./entry.5c8819da.js";const s={};function a(e,c){return r(),t("em",null,[n(e.$slots,"default",{},void 0,!0)])}const l=o(s,[["render",a],["__scopeId","data-v-1ef6ff86"]]);export{l as default};
diff --git a/docs/.vercel/output/static/_nuxt/ProseH1.8a36f873.css b/docs/.vercel/output/static/_nuxt/ProseH1.8a36f873.css
new file mode 100644
index 0000000..79d9cc2
--- /dev/null
+++ b/docs/.vercel/output/static/_nuxt/ProseH1.8a36f873.css
@@ -0,0 +1 @@
+h1[data-v-d5d09b82]{color:rgb(24 24 27/var(--tw-text-opacity));font-size:1.875rem;font-weight:600;letter-spacing:-.025em;line-height:2.25rem;line-height:1.375;margin-bottom:1rem;margin-top:2rem;scroll-margin-top:calc(var(--header-height) + 4.5rem)}.dark h1[data-v-d5d09b82],h1[data-v-d5d09b82]{--tw-text-opacity:1}.dark h1[data-v-d5d09b82]{color:rgb(250 250 250/var(--tw-text-opacity))}@media (min-width:640px){h1[data-v-d5d09b82]{scroll-margin-top:calc(var(--header-height) + 2rem)}}h1+*[data-v-d5d09b82]{margin-top:0}h1>a[data-v-d5d09b82]{position:relative}h1>a[data-v-d5d09b82]:before{--tw-content:"";content:var(--tw-content);height:calc(100% + 2px);left:2px;position:absolute;top:0;width:calc(100% - 4px)}h1>a[data-v-d5d09b82]:hover:before{--tw-border-opacity:1;border-bottom-width:1px;border-color:rgb(24 24 27/var(--tw-border-opacity));border-style:dashed}.dark h1>a[data-v-d5d09b82]:hover:before{--tw-border-opacity:1;border-color:rgb(244 244 245/var(--tw-border-opacity))}h1>a[data-v-d5d09b82]:hover:after{content:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23000'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M13.828 10.172a4 4 0 0 0-5.656 0l-4 4a4 4 0 1 0 5.656 5.656l1.102-1.101m-.758-4.899a4 4 0 0 0 5.656 0l4-4a4 4 0 0 0-5.656-5.656l-1.1 1.1'/%3E%3C/svg%3E");height:.75rem;position:absolute;right:-1.25rem;width:.75rem}.dark h1>a[data-v-d5d09b82]:hover:after{content:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23fff'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M13.828 10.172a4 4 0 0 0-5.656 0l-4 4a4 4 0 1 0 5.656 5.656l1.102-1.101m-.758-4.899a4 4 0 0 0 5.656 0l4-4a4 4 0 0 0-5.656-5.656l-1.1 1.1'/%3E%3C/svg%3E")}
diff --git a/docs/.vercel/output/static/_nuxt/ProseH1.d84756db.js b/docs/.vercel/output/static/_nuxt/ProseH1.d84756db.js
new file mode 100644
index 0000000..b07b2fb
--- /dev/null
+++ b/docs/.vercel/output/static/_nuxt/ProseH1.d84756db.js
@@ -0,0 +1 @@
+import{b as s,o as n,f as a,k as r,w as d,p as _,s as c,v as i}from"./entry.5c8819da.js";/* empty css */const p=["id"],f=s({__name:"ProseH1",props:{id:null},setup(e){return(t,l)=>{const o=c;return n(),a("h1",{id:e.id},[r(o,{href:`#${e.id}`},{default:d(()=>[_(t.$slots,"default",{},void 0,!0)]),_:3},8,["href"])],8,p)}}}),h=i(f,[["__scopeId","data-v-d5d09b82"]]);export{h as default};
diff --git a/docs/.vercel/output/static/_nuxt/ProseH2.4c537ed6.css b/docs/.vercel/output/static/_nuxt/ProseH2.4c537ed6.css
new file mode 100644
index 0000000..3a038d1
--- /dev/null
+++ b/docs/.vercel/output/static/_nuxt/ProseH2.4c537ed6.css
@@ -0,0 +1 @@
+h2[data-v-f49a5a5c]{color:rgb(24 24 27/var(--tw-text-opacity));font-size:1.5rem;font-weight:600;letter-spacing:-.025em;line-height:2rem;line-height:1.375;margin-bottom:1rem;margin-top:2rem;scroll-margin-top:calc(var(--header-height) + 4.5rem)}.dark h2[data-v-f49a5a5c],h2[data-v-f49a5a5c]{--tw-text-opacity:1}.dark h2[data-v-f49a5a5c]{color:rgb(250 250 250/var(--tw-text-opacity))}@media (min-width:640px){h2[data-v-f49a5a5c]{scroll-margin-top:calc(var(--header-height) + 2rem)}}h2+*[data-v-f49a5a5c]{margin-top:0}h2>a[data-v-f49a5a5c]{position:relative}h2>a[data-v-f49a5a5c]:before{--tw-content:"";content:var(--tw-content);height:calc(100% + 2px);left:2px;position:absolute;top:0;width:calc(100% - 4px)}h2>a[data-v-f49a5a5c]:hover:before{--tw-border-opacity:1;border-bottom-width:1px;border-color:rgb(24 24 27/var(--tw-border-opacity));border-style:dashed}.dark h2>a[data-v-f49a5a5c]:hover:before{--tw-border-opacity:1;border-color:rgb(244 244 245/var(--tw-border-opacity))}h2>a[data-v-f49a5a5c]:hover:after{content:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23000'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M13.828 10.172a4 4 0 0 0-5.656 0l-4 4a4 4 0 1 0 5.656 5.656l1.102-1.101m-.758-4.899a4 4 0 0 0 5.656 0l4-4a4 4 0 0 0-5.656-5.656l-1.1 1.1'/%3E%3C/svg%3E");height:.75rem;position:absolute;right:-1.25rem;width:.75rem}.dark h2>a[data-v-f49a5a5c]:hover:after{content:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23fff'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M13.828 10.172a4 4 0 0 0-5.656 0l-4 4a4 4 0 1 0 5.656 5.656l1.102-1.101m-.758-4.899a4 4 0 0 0 5.656 0l4-4a4 4 0 0 0-5.656-5.656l-1.1 1.1'/%3E%3C/svg%3E")}
diff --git a/docs/.vercel/output/static/_nuxt/ProseH2.e796f461.js b/docs/.vercel/output/static/_nuxt/ProseH2.e796f461.js
new file mode 100644
index 0000000..c757bf2
--- /dev/null
+++ b/docs/.vercel/output/static/_nuxt/ProseH2.e796f461.js
@@ -0,0 +1 @@
+import{b as s,o as a,f as n,k as r,w as c,p as _,s as d,v as i}from"./entry.5c8819da.js";/* empty css */const f=["id"],p=s({__name:"ProseH2",props:{id:null},setup(e){return(t,l)=>{const o=d;return a(),n("h2",{id:e.id},[r(o,{href:`#${e.id}`},{default:c(()=>[_(t.$slots,"default",{},void 0,!0)]),_:3},8,["href"])],8,f)}}}),h=i(p,[["__scopeId","data-v-f49a5a5c"]]);export{h as default};
diff --git a/docs/.vercel/output/static/_nuxt/ProseH3.6d6476a1.css b/docs/.vercel/output/static/_nuxt/ProseH3.6d6476a1.css
new file mode 100644
index 0000000..de0be28
--- /dev/null
+++ b/docs/.vercel/output/static/_nuxt/ProseH3.6d6476a1.css
@@ -0,0 +1 @@
+h3[data-v-74c72a9f]{color:rgb(24 24 27/var(--tw-text-opacity));font-size:1.25rem;font-weight:600;letter-spacing:-.025em;line-height:1.75rem;line-height:1.375;margin-bottom:1rem;margin-top:2rem;scroll-margin-top:calc(var(--header-height) + 4.5rem)}.dark h3[data-v-74c72a9f],h3[data-v-74c72a9f]{--tw-text-opacity:1}.dark h3[data-v-74c72a9f]{color:rgb(250 250 250/var(--tw-text-opacity))}@media (min-width:640px){h3[data-v-74c72a9f]{scroll-margin-top:calc(var(--header-height) + 2rem)}}h3+*[data-v-74c72a9f]{margin-top:0}h3>a[data-v-74c72a9f]{position:relative}h3>a[data-v-74c72a9f]:before{--tw-content:"";content:var(--tw-content);height:calc(100% + 2px);left:2px;position:absolute;top:0;width:calc(100% - 4px)}h3>a[data-v-74c72a9f]:hover:before{--tw-border-opacity:1;border-bottom-width:1px;border-color:rgb(24 24 27/var(--tw-border-opacity));border-style:dashed}.dark h3>a[data-v-74c72a9f]:hover:before{--tw-border-opacity:1;border-color:rgb(244 244 245/var(--tw-border-opacity))}h3>a[data-v-74c72a9f]:hover:after{content:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23000'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M13.828 10.172a4 4 0 0 0-5.656 0l-4 4a4 4 0 1 0 5.656 5.656l1.102-1.101m-.758-4.899a4 4 0 0 0 5.656 0l4-4a4 4 0 0 0-5.656-5.656l-1.1 1.1'/%3E%3C/svg%3E");height:.75rem;position:absolute;right:-1.25rem;width:.75rem}.dark h3>a[data-v-74c72a9f]:hover:after{content:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23fff'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M13.828 10.172a4 4 0 0 0-5.656 0l-4 4a4 4 0 1 0 5.656 5.656l1.102-1.101m-.758-4.899a4 4 0 0 0 5.656 0l4-4a4 4 0 0 0-5.656-5.656l-1.1 1.1'/%3E%3C/svg%3E")}
diff --git a/docs/.vercel/output/static/_nuxt/ProseH3.8997684a.js b/docs/.vercel/output/static/_nuxt/ProseH3.8997684a.js
new file mode 100644
index 0000000..2a99ead
--- /dev/null
+++ b/docs/.vercel/output/static/_nuxt/ProseH3.8997684a.js
@@ -0,0 +1 @@
+import{b as s,o as n,f as a,k as r,w as c,p as _,s as d,v as i}from"./entry.5c8819da.js";/* empty css */const f=["id"],p=s({__name:"ProseH3",props:{id:null},setup(e){return(t,l)=>{const o=d;return n(),a("h3",{id:e.id},[r(o,{href:`#${e.id}`},{default:c(()=>[_(t.$slots,"default",{},void 0,!0)]),_:3},8,["href"])],8,f)}}}),h=i(p,[["__scopeId","data-v-74c72a9f"]]);export{h as default};
diff --git a/docs/.vercel/output/static/_nuxt/ProseH4.42c1dd1d.css b/docs/.vercel/output/static/_nuxt/ProseH4.42c1dd1d.css
new file mode 100644
index 0000000..c98d1cd
--- /dev/null
+++ b/docs/.vercel/output/static/_nuxt/ProseH4.42c1dd1d.css
@@ -0,0 +1 @@
+h4[data-v-fc2c2c41]{font-size:1.125rem;font-weight:600;letter-spacing:-.025em;line-height:1.75rem;line-height:1.375;margin-bottom:1rem;margin-top:2rem;scroll-margin-top:calc(var(--header-height) + 4.5rem)}@media (min-width:640px){h4[data-v-fc2c2c41]{scroll-margin-top:calc(var(--header-height) + 2rem)}}h4+*[data-v-fc2c2c41]{margin-top:0}h4>a[data-v-fc2c2c41]{position:relative}h4>a[data-v-fc2c2c41]:before{--tw-content:"";content:var(--tw-content);height:calc(100% + 2px);left:2px;position:absolute;top:0;width:calc(100% - 4px)}h4>a[data-v-fc2c2c41]:hover:before{--tw-border-opacity:1;border-bottom-width:1px;border-color:rgb(24 24 27/var(--tw-border-opacity));border-style:dashed}.dark h4>a[data-v-fc2c2c41]:hover:before{--tw-border-opacity:1;border-color:rgb(244 244 245/var(--tw-border-opacity))}h4>a[data-v-fc2c2c41]:hover:after{content:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23000'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M13.828 10.172a4 4 0 0 0-5.656 0l-4 4a4 4 0 1 0 5.656 5.656l1.102-1.101m-.758-4.899a4 4 0 0 0 5.656 0l4-4a4 4 0 0 0-5.656-5.656l-1.1 1.1'/%3E%3C/svg%3E");height:.75rem;position:absolute;right:-1.25rem;width:.75rem}.dark h4>a[data-v-fc2c2c41]:hover:after{content:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23fff'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M13.828 10.172a4 4 0 0 0-5.656 0l-4 4a4 4 0 1 0 5.656 5.656l1.102-1.101m-.758-4.899a4 4 0 0 0 5.656 0l4-4a4 4 0 0 0-5.656-5.656l-1.1 1.1'/%3E%3C/svg%3E")}
diff --git a/docs/.vercel/output/static/_nuxt/ProseH4.fd6111fb.js b/docs/.vercel/output/static/_nuxt/ProseH4.fd6111fb.js
new file mode 100644
index 0000000..d762fd3
--- /dev/null
+++ b/docs/.vercel/output/static/_nuxt/ProseH4.fd6111fb.js
@@ -0,0 +1 @@
+import{b as s,o as n,f as a,k as c,w as r,p as _,s as d,v as i}from"./entry.5c8819da.js";/* empty css */const f=["id"],p=s({__name:"ProseH4",props:{id:null},setup(e){return(t,l)=>{const o=d;return n(),a("h4",{id:e.id},[c(o,{href:`#${e.id}`},{default:r(()=>[_(t.$slots,"default",{},void 0,!0)]),_:3},8,["href"])],8,f)}}}),h=i(p,[["__scopeId","data-v-fc2c2c41"]]);export{h as default};
diff --git a/docs/.vercel/output/static/_nuxt/ProseH5.3bb1f380.js b/docs/.vercel/output/static/_nuxt/ProseH5.3bb1f380.js
new file mode 100644
index 0000000..cfbef42
--- /dev/null
+++ b/docs/.vercel/output/static/_nuxt/ProseH5.3bb1f380.js
@@ -0,0 +1 @@
+import{b as i,W as l,o as s,f as o,u,p as d}from"./entry.5c8819da.js";const c=["id"],r=["href"],m=i({__name:"ProseH5",props:{id:null},setup(t){const{anchorLinks:e}=l().public.content,a=(e==null?void 0:e.depth)>=5&&!(e!=null&&e.exclude.includes(5));return(n,p)=>(s(),o("h5",{id:t.id},[u(a)?(s(),o("a",{key:0,href:`#${t.id}`},[d(n.$slots,"default")],8,r)):d(n.$slots,"default",{key:1})],8,c))}});export{m as default};
diff --git a/docs/.vercel/output/static/_nuxt/ProseH6.2fc71492.js b/docs/.vercel/output/static/_nuxt/ProseH6.2fc71492.js
new file mode 100644
index 0000000..60e49df
--- /dev/null
+++ b/docs/.vercel/output/static/_nuxt/ProseH6.2fc71492.js
@@ -0,0 +1 @@
+import{b as i,W as l,o as s,f as o,u,p as d}from"./entry.5c8819da.js";const c=["id"],r=["href"],m=i({__name:"ProseH6",props:{id:null},setup(t){const{anchorLinks:e}=l().public.content,a=(e==null?void 0:e.depth)>=6&&!(e!=null&&e.exclude.includes(6));return(n,p)=>(s(),o("h6",{id:t.id},[u(a)?(s(),o("a",{key:0,href:`#${t.id}`},[d(n.$slots,"default")],8,r)):d(n.$slots,"default",{key:1})],8,c))}});export{m as default};
diff --git a/docs/.vercel/output/static/_nuxt/ProseHr.799690c7.css b/docs/.vercel/output/static/_nuxt/ProseHr.799690c7.css
new file mode 100644
index 0000000..89368f8
--- /dev/null
+++ b/docs/.vercel/output/static/_nuxt/ProseHr.799690c7.css
@@ -0,0 +1 @@
+hr[data-v-5f8c36e4]{border-color:rgb(244 244 245/var(--tw-border-opacity));border-top-width:1px;margin-bottom:2rem;margin-top:2rem}.dark hr[data-v-5f8c36e4],hr[data-v-5f8c36e4]{--tw-border-opacity:1}.dark hr[data-v-5f8c36e4]{border-color:rgb(24 24 27/var(--tw-border-opacity))}hr+*[data-v-5f8c36e4]{margin-top:0}
diff --git a/docs/.vercel/output/static/_nuxt/ProseHr.b577eed5.js b/docs/.vercel/output/static/_nuxt/ProseHr.b577eed5.js
new file mode 100644
index 0000000..97a1816
--- /dev/null
+++ b/docs/.vercel/output/static/_nuxt/ProseHr.b577eed5.js
@@ -0,0 +1 @@
+/* empty css */import{v as e,o as c,f as o}from"./entry.5c8819da.js";const t={};function _(n,r){return c(),o("hr")}const f=e(t,[["render",_],["__scopeId","data-v-5f8c36e4"]]);export{f as default};
diff --git a/docs/.vercel/output/static/_nuxt/ProseImg.86043b15.css b/docs/.vercel/output/static/_nuxt/ProseImg.86043b15.css
new file mode 100644
index 0000000..79b1b72
--- /dev/null
+++ b/docs/.vercel/output/static/_nuxt/ProseImg.86043b15.css
@@ -0,0 +1 @@
+[data-v-e0fc3dbb] img{margin-bottom:1em;margin-top:1em}
diff --git a/docs/.vercel/output/static/_nuxt/ProseImg.a278838e.js b/docs/.vercel/output/static/_nuxt/ProseImg.a278838e.js
new file mode 100644
index 0000000..1f3855d
--- /dev/null
+++ b/docs/.vercel/output/static/_nuxt/ProseImg.a278838e.js
@@ -0,0 +1 @@
+import{_ as a}from"./NuxtImg.vue_vue_type_script_lang.73948608.js";import{b as o,o as s,c as i,U as c,v as n}from"./entry.5c8819da.js";/* empty css */const m=o({__name:"ProseImg",props:{src:{type:String,default:""},alt:{type:String,default:""},width:{type:[String,Number],default:void 0},height:{type:[String,Number],default:void 0}},setup(t){return(e,d)=>{const r=a;return s(),i(r,c(e.$attrs,{src:t.src,alt:t.alt,width:t.width,height:t.height}),null,16,["src","alt","width","height"])}}}),g=n(m,[["__scopeId","data-v-e0fc3dbb"]]);export{g as default};
diff --git a/docs/.vercel/output/static/_nuxt/ProseLi.38abb7b0.css b/docs/.vercel/output/static/_nuxt/ProseLi.38abb7b0.css
new file mode 100644
index 0000000..9a4abc7
--- /dev/null
+++ b/docs/.vercel/output/static/_nuxt/ProseLi.38abb7b0.css
@@ -0,0 +1 @@
+li[data-v-d934202e]{margin-bottom:.75rem;margin-top:.75rem;padding-left:.5rem;position:relative}ul>li[data-v-d934202e]::marker{--tw-text-opacity:1;color:rgb(212 212 216/var(--tw-text-opacity))}.dark ul>li[data-v-d934202e]::marker{--tw-text-opacity:1;color:rgb(82 82 91/var(--tw-text-opacity))}ol>li[data-v-d934202e]::marker{--tw-text-opacity:1;color:rgb(161 161 170/var(--tw-text-opacity))}.dark ol>li[data-v-d934202e]::marker{--tw-text-opacity:1;color:rgb(113 113 122/var(--tw-text-opacity))}[data-v-d934202e] .nuxt-content-highlight{margin:0}
diff --git a/docs/.vercel/output/static/_nuxt/ProseLi.e707ae53.js b/docs/.vercel/output/static/_nuxt/ProseLi.e707ae53.js
new file mode 100644
index 0000000..4f0bb69
--- /dev/null
+++ b/docs/.vercel/output/static/_nuxt/ProseLi.e707ae53.js
@@ -0,0 +1 @@
+/* empty css */import{v as o,o as r,f as t,p as n}from"./entry.5c8819da.js";const s={};function a(e,c){return r(),t("li",null,[n(e.$slots,"default",{},void 0,!0)])}const f=o(s,[["render",a],["__scopeId","data-v-d934202e"]]);export{f as default};
diff --git a/docs/.vercel/output/static/_nuxt/ProseOl.661a20a5.css b/docs/.vercel/output/static/_nuxt/ProseOl.661a20a5.css
new file mode 100644
index 0000000..eb0716e
--- /dev/null
+++ b/docs/.vercel/output/static/_nuxt/ProseOl.661a20a5.css
@@ -0,0 +1 @@
+ol[data-v-87bfdc2d]{list-style-type:decimal;margin:1.25em 0;padding:0 0 0 1.5rem}ol[data-v-87bfdc2d] ol,ol[data-v-87bfdc2d] ul{margin-bottom:.5em!important;margin-top:.5em!important}
diff --git a/docs/.vercel/output/static/_nuxt/ProseOl.e26f7ec4.js b/docs/.vercel/output/static/_nuxt/ProseOl.e26f7ec4.js
new file mode 100644
index 0000000..1b48dc4
--- /dev/null
+++ b/docs/.vercel/output/static/_nuxt/ProseOl.e26f7ec4.js
@@ -0,0 +1 @@
+/* empty css */import{v as o,o as r,f as t,p as n}from"./entry.5c8819da.js";const s={};function c(e,a){return r(),t("ol",null,[n(e.$slots,"default",{},void 0,!0)])}const f=o(s,[["render",c],["__scopeId","data-v-87bfdc2d"]]);export{f as default};
diff --git a/docs/.vercel/output/static/_nuxt/ProseP.4d7b231c.css b/docs/.vercel/output/static/_nuxt/ProseP.4d7b231c.css
new file mode 100644
index 0000000..48a7a36
--- /dev/null
+++ b/docs/.vercel/output/static/_nuxt/ProseP.4d7b231c.css
@@ -0,0 +1 @@
+p[data-v-697c967c]{line-height:1.625;margin-bottom:1rem;margin-top:1rem}p[data-v-697c967c] br{content:"";display:block;margin-top:1rem}
diff --git a/docs/.vercel/output/static/_nuxt/ProseP.de8023b0.js b/docs/.vercel/output/static/_nuxt/ProseP.de8023b0.js
new file mode 100644
index 0000000..1fd2f12
--- /dev/null
+++ b/docs/.vercel/output/static/_nuxt/ProseP.de8023b0.js
@@ -0,0 +1 @@
+/* empty css */import{v as t,o as n,f as o,p as c}from"./entry.5c8819da.js";const r={};function s(e,_){return n(),o("p",null,[c(e.$slots,"default",{},void 0,!0)])}const f=t(r,[["render",s],["__scopeId","data-v-697c967c"]]);export{f as default};
diff --git a/docs/.vercel/output/static/_nuxt/ProseStrong.138420e3.css b/docs/.vercel/output/static/_nuxt/ProseStrong.138420e3.css
new file mode 100644
index 0000000..a141402
--- /dev/null
+++ b/docs/.vercel/output/static/_nuxt/ProseStrong.138420e3.css
@@ -0,0 +1 @@
+strong[data-v-38c792e5]{font-weight:600}a strong[data-v-38c792e5]{color:currentColor}
diff --git a/docs/.vercel/output/static/_nuxt/ProseStrong.f0f1ef1e.js b/docs/.vercel/output/static/_nuxt/ProseStrong.f0f1ef1e.js
new file mode 100644
index 0000000..fd43cc7
--- /dev/null
+++ b/docs/.vercel/output/static/_nuxt/ProseStrong.f0f1ef1e.js
@@ -0,0 +1 @@
+/* empty css */import{v as o,o as r,f as t,p as n}from"./entry.5c8819da.js";const s={};function c(e,a){return r(),t("strong",null,[n(e.$slots,"default",{},void 0,!0)])}const l=o(s,[["render",c],["__scopeId","data-v-38c792e5"]]);export{l as default};
diff --git a/docs/.vercel/output/static/_nuxt/ProseTable.42d7d6fa.js b/docs/.vercel/output/static/_nuxt/ProseTable.42d7d6fa.js
new file mode 100644
index 0000000..d3ee5bc
--- /dev/null
+++ b/docs/.vercel/output/static/_nuxt/ProseTable.42d7d6fa.js
@@ -0,0 +1 @@
+import{v as o,o as t,f as _,h as a,p as s}from"./entry.5c8819da.js";const n={},c={class:"my-6 max-w-full overflow-x-auto"};function l(e,r){return t(),_("div",c,[a("table",null,[s(e.$slots,"default",{},void 0,!0)])])}const u=o(n,[["render",l],["__scopeId","data-v-a4eb2960"]]);export{u as default};
diff --git a/docs/.vercel/output/static/_nuxt/ProseTable.94abd33a.css b/docs/.vercel/output/static/_nuxt/ProseTable.94abd33a.css
new file mode 100644
index 0000000..67be79a
--- /dev/null
+++ b/docs/.vercel/output/static/_nuxt/ProseTable.94abd33a.css
@@ -0,0 +1 @@
+table[data-v-a4eb2960]{font-size:.875rem;line-height:1.25rem;table-layout:auto;text-align:left;width:100%}
diff --git a/docs/.vercel/output/static/_nuxt/ProseTbody.a82ee65e.js b/docs/.vercel/output/static/_nuxt/ProseTbody.a82ee65e.js
new file mode 100644
index 0000000..a3374d8
--- /dev/null
+++ b/docs/.vercel/output/static/_nuxt/ProseTbody.a82ee65e.js
@@ -0,0 +1 @@
+import{v as o,o as t,f as n,p as r}from"./entry.5c8819da.js";const c={};function s(e,_){return t(),n("tbody",null,[r(e.$slots,"default")])}const l=o(c,[["render",s]]);export{l as default};
diff --git a/docs/.vercel/output/static/_nuxt/ProseTd.5250a879.js b/docs/.vercel/output/static/_nuxt/ProseTd.5250a879.js
new file mode 100644
index 0000000..613627c
--- /dev/null
+++ b/docs/.vercel/output/static/_nuxt/ProseTd.5250a879.js
@@ -0,0 +1 @@
+import{v as _,o as t,f as n,p as o}from"./entry.5c8819da.js";const a={};function s(e,c){return t(),n("td",null,[o(e.$slots,"default",{},void 0,!0)])}const r=_(a,[["render",s],["__scopeId","data-v-aa041d72"]]);export{r as default};
diff --git a/docs/.vercel/output/static/_nuxt/ProseTd.b10c2fad.css b/docs/.vercel/output/static/_nuxt/ProseTd.b10c2fad.css
new file mode 100644
index 0000000..77863e4
--- /dev/null
+++ b/docs/.vercel/output/static/_nuxt/ProseTd.b10c2fad.css
@@ -0,0 +1 @@
+tbody td[data-v-aa041d72]{padding:.5em;vertical-align:top}tbody td[data-v-aa041d72]:first-child{padding-left:0}tbody td[data-v-aa041d72]:last-child{padding-right:0}
diff --git a/docs/.vercel/output/static/_nuxt/ProseTh.ee22b634.css b/docs/.vercel/output/static/_nuxt/ProseTh.ee22b634.css
new file mode 100644
index 0000000..ff61430
--- /dev/null
+++ b/docs/.vercel/output/static/_nuxt/ProseTh.ee22b634.css
@@ -0,0 +1 @@
+thead th[data-v-6d9079ad]{color:rgb(113 113 122/var(--tw-text-opacity));font-weight:600;padding:0 .5rem .5rem;vertical-align:bottom}.dark thead th[data-v-6d9079ad],thead th[data-v-6d9079ad]{--tw-text-opacity:1}.dark thead th[data-v-6d9079ad]{color:rgb(161 161 170/var(--tw-text-opacity))}thead th[data-v-6d9079ad]:first-child{padding-left:0}thead th[data-v-6d9079ad]:last-child{padding-right:0}
diff --git a/docs/.vercel/output/static/_nuxt/ProseTh.eff23c97.js b/docs/.vercel/output/static/_nuxt/ProseTh.eff23c97.js
new file mode 100644
index 0000000..76e2c3a
--- /dev/null
+++ b/docs/.vercel/output/static/_nuxt/ProseTh.eff23c97.js
@@ -0,0 +1 @@
+import{v as _,o as t,f as n,p as o}from"./entry.5c8819da.js";const s={};function a(e,c){return t(),n("th",null,[o(e.$slots,"default",{},void 0,!0)])}const r=_(s,[["render",a],["__scopeId","data-v-6d9079ad"]]);export{r as default};
diff --git a/docs/.vercel/output/static/_nuxt/ProseThead.441d27c9.css b/docs/.vercel/output/static/_nuxt/ProseThead.441d27c9.css
new file mode 100644
index 0000000..5f4858e
--- /dev/null
+++ b/docs/.vercel/output/static/_nuxt/ProseThead.441d27c9.css
@@ -0,0 +1 @@
+thead[data-v-7b12174c]{border-bottom-width:1px;border-color:rgb(228 228 231/var(--tw-border-opacity))}.dark thead[data-v-7b12174c],thead[data-v-7b12174c]{--tw-border-opacity:1}.dark thead[data-v-7b12174c]{border-color:rgb(39 39 42/var(--tw-border-opacity))}
diff --git a/docs/.vercel/output/static/_nuxt/ProseThead.f14263ab.js b/docs/.vercel/output/static/_nuxt/ProseThead.f14263ab.js
new file mode 100644
index 0000000..7f4f745
--- /dev/null
+++ b/docs/.vercel/output/static/_nuxt/ProseThead.f14263ab.js
@@ -0,0 +1 @@
+import{v as _,o as t,f as n,p as o}from"./entry.5c8819da.js";const c={};function s(e,a){return t(),n("thead",null,[o(e.$slots,"default",{},void 0,!0)])}const d=_(c,[["render",s],["__scopeId","data-v-7b12174c"]]);export{d as default};
diff --git a/docs/.vercel/output/static/_nuxt/ProseTr.425925c1.css b/docs/.vercel/output/static/_nuxt/ProseTr.425925c1.css
new file mode 100644
index 0000000..f9ba7d5
--- /dev/null
+++ b/docs/.vercel/output/static/_nuxt/ProseTr.425925c1.css
@@ -0,0 +1 @@
+tbody tr[data-v-328b896a]{border-bottom-width:1px;border-color:rgb(244 244 245/var(--tw-border-opacity))}.dark tbody tr[data-v-328b896a],tbody tr[data-v-328b896a]{--tw-border-opacity:1}.dark tbody tr[data-v-328b896a]{border-color:rgb(24 24 27/var(--tw-border-opacity))}
diff --git a/docs/.vercel/output/static/_nuxt/ProseTr.b4f984e9.js b/docs/.vercel/output/static/_nuxt/ProseTr.b4f984e9.js
new file mode 100644
index 0000000..b4c0537
--- /dev/null
+++ b/docs/.vercel/output/static/_nuxt/ProseTr.b4f984e9.js
@@ -0,0 +1 @@
+import{v as _,o as t,f as n,p as o}from"./entry.5c8819da.js";const r={};function s(e,a){return t(),n("tr",null,[o(e.$slots,"default",{},void 0,!0)])}const d=_(r,[["render",s],["__scopeId","data-v-328b896a"]]);export{d as default};
diff --git a/docs/.vercel/output/static/_nuxt/ProseUl.411b4625.js b/docs/.vercel/output/static/_nuxt/ProseUl.411b4625.js
new file mode 100644
index 0000000..4379185
--- /dev/null
+++ b/docs/.vercel/output/static/_nuxt/ProseUl.411b4625.js
@@ -0,0 +1 @@
+/* empty css */import{v as o,o as r,f as t,p as n}from"./entry.5c8819da.js";const s={};function a(e,c){return r(),t("ul",null,[n(e.$slots,"default",{},void 0,!0)])}const f=o(s,[["render",a],["__scopeId","data-v-24b04d48"]]);export{f as default};
diff --git a/docs/.vercel/output/static/_nuxt/ProseUl.ae3836e4.css b/docs/.vercel/output/static/_nuxt/ProseUl.ae3836e4.css
new file mode 100644
index 0000000..66cc6bf
--- /dev/null
+++ b/docs/.vercel/output/static/_nuxt/ProseUl.ae3836e4.css
@@ -0,0 +1 @@
+ul[data-v-24b04d48]{list-style-type:disc;margin:1.25em 0;padding:0 0 0 1.5rem}ul[data-v-24b04d48] ol,ul[data-v-24b04d48] ul{margin-bottom:.5em!important;margin-top:.5em!important}
diff --git a/docs/.vercel/output/static/_nuxt/Releases.547e77f7.js b/docs/.vercel/output/static/_nuxt/Releases.547e77f7.js
new file mode 100644
index 0000000..6c6a681
--- /dev/null
+++ b/docs/.vercel/output/static/_nuxt/Releases.547e77f7.js
@@ -0,0 +1 @@
+import{b as h,W as p,o as s,c as g,w as x,f as n,r as b,F as y,T as v,h as t,k as u,t as r,j as k,X as w,v as R}from"./entry.5c8819da.js";import{_ as C}from"./ReleasesReactions.vue_vue_type_script_setup_true_lang.7548fd2c.js";/* empty css */import"./Badge.vue_vue_type_script_setup_true_lang.871fa249.js";const B={class:"flex-1"},D={class:"release-meta z-1 sticky -mt-8 flex w-full flex-row items-center justify-between gap-2 self-start px-8 text-right lg:w-1/4 lg:flex-col lg:items-end lg:bg-transparent lg:px-0 lg:pt-8 lg:backdrop-blur-none"},j=["href"],F=["id"],I={class:"flex flex-col gap-2 pb-4"},L=["href"],N={class:"flex-shrink-0"},V=["src"],E={class:"text-sm lg:text-base"},G={class:"text-xs lg:text-base"},S=h({__name:"Releases",setup(T){const o=p();if(!(o!=null&&o.github))throw new Error("If you want to use `Releases` component, you must specify: `owner`, `repo` and `branch` in your nuxt.config `github` key.");const _=a=>{const l="en-US";try{return new Intl.DateTimeFormat(l,{day:"numeric",month:"long",year:"numeric"}).format(Date.parse(a))}catch{return a}};return(a,l)=>{const c=w,m=C,d=v("GithubReleases");return s(),g(d,null,{default:x(({releases:f})=>[(s(!0),n(y,null,b(f,e=>{var i;return s(),n("div",{key:e.name,class:"release mb-6 flex flex-col-reverse border-gray-100 pb-6 dark:border-gray-800 lg:flex-row lg:border-b"},[t("div",B,[u(c,{value:e,class:"docus-content"},null,8,["value"]),u(m,{class:"lg:mb-4",release:e},null,8,["release"])]),t("div",D,[t("a",{href:e.url,target:"_blank"},[t("h2",{id:e.name,class:"hover:text-primary-500 u-text-gray-900 cursor-pointer text-2xl font-bold lg:text-3xl"},r(e.name),9,F)],8,j),t("div",I,[e.author?(s(),n("a",{key:0,target:"_blank",href:e.author.url,class:"hover:u-text-gray-900 mt-4 flex items-center justify-end gap-2 lg:mt-0"},[t("div",N,[t("img",{class:"h-6 w-6 rounded-full",src:(i=e.author)==null?void 0:i.avatar,alt:""},null,8,V)]),t("p",E,"@"+r(e.author.name),1)],8,L)):k("",!0),t("p",G,r(_(e.date)),1)])])])}),128))]),_:1})}}}),X=R(S,[["__scopeId","data-v-3735c798"]]);export{X as default};
diff --git a/docs/.vercel/output/static/_nuxt/Releases.686993ee.css b/docs/.vercel/output/static/_nuxt/Releases.686993ee.css
new file mode 100644
index 0000000..b674713
--- /dev/null
+++ b/docs/.vercel/output/static/_nuxt/Releases.686993ee.css
@@ -0,0 +1 @@
+.release[data-v-3735c798]:last-of-type{border-style:none;margin-bottom:0}.release-meta[data-v-3735c798]{top:var(--header-height)}.release-meta[data-v-3735c798]:before{--tw-backdrop-blur:blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);background-color:#fffffff2;content:" ";display:block;height:100%;position:absolute;right:0;top:0;width:100%;z-index:-1}.dark .release-meta[data-v-3735c798]:before{background-color:#0c0c0df2}@media (min-width:1024px){.release-meta[data-v-3735c798]{flex-direction:column}.release-meta[data-v-3735c798]:before{display:none}}
diff --git a/docs/.vercel/output/static/_nuxt/ReleasesReactions.530be044.js b/docs/.vercel/output/static/_nuxt/ReleasesReactions.530be044.js
new file mode 100644
index 0000000..10bf47d
--- /dev/null
+++ b/docs/.vercel/output/static/_nuxt/ReleasesReactions.530be044.js
@@ -0,0 +1 @@
+import"./ReleasesReactions.vue_vue_type_script_setup_true_lang.7548fd2c.js";import{_ as i}from"./ReleasesReactions.vue_vue_type_script_setup_true_lang.7548fd2c.js";import"./Badge.vue_vue_type_script_setup_true_lang.871fa249.js";import"./entry.5c8819da.js";export{i as default};
diff --git a/docs/.vercel/output/static/_nuxt/ReleasesReactions.vue_vue_type_script_setup_true_lang.7548fd2c.js b/docs/.vercel/output/static/_nuxt/ReleasesReactions.vue_vue_type_script_setup_true_lang.7548fd2c.js
new file mode 100644
index 0000000..9cae626
--- /dev/null
+++ b/docs/.vercel/output/static/_nuxt/ReleasesReactions.vue_vue_type_script_setup_true_lang.7548fd2c.js
@@ -0,0 +1 @@
+import{_ as m}from"./Badge.vue_vue_type_script_setup_true_lang.871fa249.js";import{b as d,E as f,u as c,o as a,f as l,F,r as h,j as y,c as g,w as k,i as x,t as i,h as B}from"./entry.5c8819da.js";const b={key:0,class:"flex flex-1 flex-wrap gap-4"},E={class:"ml-2 font-semibold"},C=d({__name:"ReleasesReactions",props:{release:{type:Object,required:!0}},setup(p){const o=p,_={"+1":"\u{1F44D}","-1":"\u{1F44E}",laugh:"\u{1F602}",hooray:"\u{1F389}",confused:"\u{1F615}",heart:"\u2764\uFE0F",rocket:"\u{1F680}",eyes:"\u{1F440}"},n=f(()=>{var s,r;return(s=o.release)!=null&&s.reactions?Object.entries((r=o.release)==null?void 0:r.reactions).reduce((t,[e,u])=>(["url","total_count"].includes(e)||u===0||t.push({key:e,value:u}),t),[]):{}});return(s,r)=>{const t=m;return c(n).length?(a(),l("div",b,[(a(!0),l(F,null,h(c(n),e=>(a(),g(t,{key:e.key,type:"gray"},{default:k(()=>[x(i(_[e.key])+" ",1),B("span",E,i(e.value),1)]),_:2},1024))),128))])):y("",!0)}}});export{C as _};
diff --git a/docs/.vercel/output/static/_nuxt/Sandbox.16ff9b40.css b/docs/.vercel/output/static/_nuxt/Sandbox.16ff9b40.css
new file mode 100644
index 0000000..401342f
--- /dev/null
+++ b/docs/.vercel/output/static/_nuxt/Sandbox.16ff9b40.css
@@ -0,0 +1 @@
+.sandbox[data-v-6e13e020]{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity));border-radius:.5rem;font-size:1.875rem;line-height:2.25rem;overflow:hidden}.dark .sandbox[data-v-6e13e020]{--tw-bg-opacity:1;background-color:rgb(24 24 27/var(--tw-bg-opacity))}.sandbox iframe[data-v-6e13e020]{border-radius:.5rem;border-top-left-radius:0;border-top-right-radius:0;height:16rem;height:700px;overflow:hidden;width:100%}
diff --git a/docs/.vercel/output/static/_nuxt/Sandbox.d7a8ef85.js b/docs/.vercel/output/static/_nuxt/Sandbox.d7a8ef85.js
new file mode 100644
index 0000000..752fc98
--- /dev/null
+++ b/docs/.vercel/output/static/_nuxt/Sandbox.d7a8ef85.js
@@ -0,0 +1 @@
+import{b as y,S,x as n,E as k,A as $,o as r,f as l,c as B,w as p,h as C,k as m,u as _,j as I,q as T,s as N,v as j}from"./entry.5c8819da.js";import M from"./TabsHeader.4ceb7ffd.js";/* empty css */const O={class:"sandbox my-4 min-h-[500px] w-full"},V={class:"absolute top-1/2 right-0 -translate-y-1/2 transform px-4"},z=["src"],E={key:2,class:"flex-1 text-white"},L=y({__name:"Sandbox",props:{src:{type:String,default:""},repo:{type:String,default:""},branch:{type:String,default:""},dir:{type:String,default:""},file:{type:String,default:"app.vue"}},setup(d){const t=d,i=S(),s={CodeSandBox:()=>`https://codesandbox.io/embed/github/${t.repo}/tree/${t.branch}/${t.dir}?hidenavigation=1&theme=${i.value}`,StackBlitz:()=>`https://stackblitz.com/github/${t.repo}/tree/${t.branch}/${t.dir}?embed=1&file=${t.file}&theme=${i.value}`},u=Object.keys(s).map(e=>({label:e})),c=n(-1),b=n(),a=n(""),o=n(""),x=e=>{o.value=e,a.value=t.src||s[o.value](),localStorage.setItem("docus_sandbox",e)},f=k(()=>{var e;return(e=a.value)==null?void 0:e.replace("?embed=1&","?").replace("/embed/","/s/")}),v=e=>{c.value=e,x(u[e].label)};return $(()=>{o.value=window.localStorage.getItem("docus_sandbox")||"CodeSandBox",a.value=t.src||s[o.value](),c.value=Object.keys(s).indexOf(o.value)}),(e,U)=>{const h=T,g=N,w=M;return r(),l("div",O,[d.src?I("",!0):(r(),B(w,{key:0,ref_key:"tabs",ref:b,"active-tab-index":c.value,tabs:_(u),"onUpdate:activeTabIndex":v},{footer:p(()=>[C("div",V,[m(g,{class:"u-text-gray-500 hover:u-text-gray-700 flex items-center",to:_(f),target:"_blank"},{default:p(()=>[m(h,{name:"heroicons-outline:arrows-expand",class:"h-6 w-6"})]),_:1},8,["to"])])]),_:1},8,["active-tab-index","tabs"])),a.value?(r(),l("iframe",{key:1,src:a.value,title:"Sandbox editor",sandbox:"allow-modals allow-forms allow-popups allow-scripts allow-same-origin",class:"h-full min-h-[700px] w-full overflow-hidden"},null,8,z)):(r(),l("span",E,"Loading Sandbox..."))])}}}),P=j(L,[["__scopeId","data-v-6e13e020"]]);export{P as default};
diff --git a/docs/.vercel/output/static/_nuxt/SocialIcons.252f37a4.js b/docs/.vercel/output/static/_nuxt/SocialIcons.252f37a4.js
new file mode 100644
index 0000000..18b2600
--- /dev/null
+++ b/docs/.vercel/output/static/_nuxt/SocialIcons.252f37a4.js
@@ -0,0 +1 @@
+import"./entry.5c8819da.js";import{ay as r}from"./entry.5c8819da.js";export{r as default};
diff --git a/docs/.vercel/output/static/_nuxt/SourceLink.b62e06f3.js b/docs/.vercel/output/static/_nuxt/SourceLink.b62e06f3.js
new file mode 100644
index 0000000..c2740ec
--- /dev/null
+++ b/docs/.vercel/output/static/_nuxt/SourceLink.b62e06f3.js
@@ -0,0 +1 @@
+import{b as a,o as u,c as m,w as o,k as n,h as i,q as p,s as l,T as f}from"./entry.5c8819da.js";import h from"./ProseP.de8023b0.js";/* empty css */const x=i("span",null,"Show Source",-1),L=a({__name:"SourceLink",props:{source:{type:String,required:!0}},setup(t){return(d,k)=>{const s=p,r=l,c=f("GithubLink"),_=h;return u(),m(_,null,{default:o(()=>[n(c,{source:t.source,edit:!1},{default:o(e=>[n(r,{href:e==null?void 0:e.url,target:"_blank",rel:"noopener",class:"hover:text-primary-500 flex items-center gap-1 text-sm font-semibold"},{default:o(()=>[n(s,{name:"fa-brands:github",class:"mr-1 h-5 w-5"}),x]),_:2},1032,["href"])]),_:1},8,["source"])]),_:1})}}});export{L as default};
diff --git a/docs/.vercel/output/static/_nuxt/TabsHeader.4ceb7ffd.js b/docs/.vercel/output/static/_nuxt/TabsHeader.4ceb7ffd.js
new file mode 100644
index 0000000..d6feb3d
--- /dev/null
+++ b/docs/.vercel/output/static/_nuxt/TabsHeader.4ceb7ffd.js
@@ -0,0 +1 @@
+import{b as _,x as c,G as x,o as a,f as n,F as g,r as m,h as u,K as v,j as b,p as k,l as I,t as w,L as T,M as $,B as S,v as C}from"./entry.5c8819da.js";const z=t=>(T("data-v-c344a03d"),t=t(),$(),t),B={class:"tabs-header relative bg-gray-800 text-white"},H=["onClick"],L=z(()=>u("span",{class:"flex h-full w-full rounded-lg bg-gray-700 dark:bg-gray-900"},null,-1)),N=[L],U=_({__name:"TabsHeader",props:{tabs:{type:Array,required:!0},activeTabIndex:{type:Number,required:!0}},emits:["update:activeTabIndex"],setup(t,{emit:p}){const h=t,o=c(),s=c(),l=e=>{!e||(s.value.style.left=`${e.offsetLeft}px`,s.value.style.top=`${e.offsetTop}px`,s.value.style.width=`${e.clientWidth}px`,s.value.style.height=`${e.clientHeight}px`,s.value.style.transform="scale(1)",s.value.style.opacity=1)},f=(e,i)=>{p("update:activeTabIndex",i),S(()=>l(e.target))};return x(o,e=>{!e||setTimeout(()=>{l(o.value.children[h.activeTabIndex])},50)},{immediate:!0}),(e,i)=>(a(),n("div",B,[t.tabs?(a(),n("div",{key:0,ref_key:"tabsRef",ref:o,class:"relative z-0 px-2"},[(a(!0),n(g,null,m(t.tabs,({label:d},r)=>(a(),n("button",{key:`${r}${d}`,class:I(["xs:py-3 xs:my-0 relative my-2 rounded-lg px-2 py-1.5 font-mono text-sm tracking-tight focus:outline-none",[t.activeTabIndex===r?"text-white":"text-gray-200 hover:text-white"]]),onClick:y=>f(y,r)},w(d),11,H))),128)),u("span",{ref_key:"highlightUnderline",ref:s,class:"highlight-underline xs:py-1.5 absolute -z-[1]",style:v({transform:"scale(0)",opacity:0})},N,4)],512)):b("",!0),k(e.$slots,"footer",{},void 0,!0)]))}});const F=C(U,[["__scopeId","data-v-c344a03d"]]);export{F as default};
diff --git a/docs/.vercel/output/static/_nuxt/TabsHeader.b03ddfb3.css b/docs/.vercel/output/static/_nuxt/TabsHeader.b03ddfb3.css
new file mode 100644
index 0000000..bec5185
--- /dev/null
+++ b/docs/.vercel/output/static/_nuxt/TabsHeader.b03ddfb3.css
@@ -0,0 +1 @@
+.highlight-underline[data-v-c344a03d]{transition:left .15s,top .15s,width .15s,height .15s,transform .1s,opacity .1s}
diff --git a/docs/.vercel/output/static/_nuxt/Terminal.4ec77f0b.js b/docs/.vercel/output/static/_nuxt/Terminal.4ec77f0b.js
new file mode 100644
index 0000000..2b3f6c9
--- /dev/null
+++ b/docs/.vercel/output/static/_nuxt/Terminal.4ec77f0b.js
@@ -0,0 +1 @@
+import"./Terminal.vue_vue_type_script_setup_true_lang.d64be369.js";import{_ as i}from"./Terminal.vue_vue_type_script_setup_true_lang.d64be369.js";import"./index.cb3c216d.js";import"./entry.5c8819da.js";export{i as default};
diff --git a/docs/.vercel/output/static/_nuxt/Terminal.vue_vue_type_script_setup_true_lang.d64be369.js b/docs/.vercel/output/static/_nuxt/Terminal.vue_vue_type_script_setup_true_lang.d64be369.js
new file mode 100644
index 0000000..4ea12bc
--- /dev/null
+++ b/docs/.vercel/output/static/_nuxt/Terminal.vue_vue_type_script_setup_true_lang.d64be369.js
@@ -0,0 +1 @@
+import{u as d}from"./index.cb3c216d.js";import{b as u,x as f,o,f as l,j as i,h as e,t as p,y as v}from"./entry.5c8819da.js";const h={key:0,class:"absolute top-0 left-0 z-10 flex h-full w-full items-center justify-center"},m=e("div",{class:"absolute top-0 left-0 h-full w-full bg-black opacity-75"},null,-1),_=e("div",{class:"z-10 text-lg font-semibold text-gray-100"}," Copied! ",-1),b=[m,_],y=v('
\n\n"}]}]}]}]},"body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"usage"},"children":[{"type":"text","value":"Usage"}]},{"type":"element","tag":"h2","props":{"id":"recommended-file-structure"},"children":[{"type":"text","value":"Recommended file structure"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Recommended but not enforced file structure. This is what you get when starting from "},{"type":"element","tag":"a","props":{"href":"../main/example-apps"},"children":[{"type":"text","value":"the examples"}]},{"type":"text","value":"."}]},{"type":"element","tag":"code","props":{"code":".\n├── server\n│ ├── api\n│ │ └── trpc\n│ │ └── [trpc].ts # <-- tRPC HTTP handler\n│ │ └── [..]\n│ ├── trpc\n│ │ ├── routers\n│ │ │ ├── index.ts # <-- main app router\n│ │ │ ├── todo.ts # <-- sub routers\n│ │ │ └── [..]\n│ │ ├── context.ts # <-- create app context\n│ │ └── trpc.ts # <-- procedure helpers\n├── plugins\n│ ├── client.ts # <-- tRPC Client as a plugin\n└── [..]\n","language":"graphql"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{},"children":[{"type":"text","value":".\n├── server\n│ ├── api\n│ │ └── trpc\n│ │ └── [trpc].ts # <-- tRPC HTTP handler\n│ │ └── [..]\n│ ├── trpc\n│ │ ├── routers\n│ │ │ ├── index.ts # <-- main app router\n│ │ │ ├── todo.ts # <-- sub routers\n│ │ │ └── [..]\n│ │ ├── context.ts # <-- create app context\n│ │ └── trpc.ts # <-- procedure helpers\n├── plugins\n│ ├── client.ts # <-- tRPC Client as a plugin\n└── [..]"}]}]}]}]}]},{"type":"element","tag":"h2","props":{"id":"1-create-a-trpc-router"},"children":[{"type":"text","value":"1. Create a tRPC router"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Initialize your tRPC backend using the "},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"initTRPC"}]},{"type":"text","value":" function and create your first router."}]},{"type":"element","tag":"code-group","props":{},"children":[{"type":"element","tag":"code","props":{"code":"import { initTRPC } from '@trpc/server'\n\n// Avoid exporting the entire t-object since it's not very\n// descriptive and can be confusing to newcomers used to t\n// meaning translation in i18n libraries.\nconst t = initTRPC.create()\n\n// Base router and procedure helpers\nexport const router = t.router\nexport const publicProcedure = t.procedure\n","filename":"server/trpc/trpc.ts","language":"ts"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-d69d00"},"children":[{"type":"text","value":"import"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" { "}]},{"type":"element","tag":"span","props":{"class":"ct-ca0e09"},"children":[{"type":"text","value":"initTRPC"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" } "}]},{"type":"element","tag":"span","props":{"class":"ct-d69d00"},"children":[{"type":"text","value":"from"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-a930e7"},"children":[{"type":"text","value":"'@trpc/server'"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-5fb678"},"children":[{"type":"text","value":"// Avoid exporting the entire t-object since it's not very"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-5fb678"},"children":[{"type":"text","value":"// descriptive and can be confusing to newcomers used to t"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-5fb678"},"children":[{"type":"text","value":"// meaning translation in i18n libraries."}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-d69d00"},"children":[{"type":"text","value":"const"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-d213e2"},"children":[{"type":"text","value":"t"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-c3a574"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-d213e2"},"children":[{"type":"text","value":"initTRPC"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-e18fd1"},"children":[{"type":"text","value":"create"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":"()"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-5fb678"},"children":[{"type":"text","value":"// Base router and procedure helpers"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-d69d00"},"children":[{"type":"text","value":"export"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-d69d00"},"children":[{"type":"text","value":"const"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-d213e2"},"children":[{"type":"text","value":"router"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-c3a574"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-d213e2"},"children":[{"type":"text","value":"t"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-ca0e09"},"children":[{"type":"text","value":"router"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-d69d00"},"children":[{"type":"text","value":"export"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-d69d00"},"children":[{"type":"text","value":"const"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-d213e2"},"children":[{"type":"text","value":"publicProcedure"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-c3a574"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-d213e2"},"children":[{"type":"text","value":"t"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-ca0e09"},"children":[{"type":"text","value":"procedure"}]}]}]}]}]},{"type":"element","tag":"code","props":{"code":"import { z } from 'zod'\nimport { publicProcedure, router } from '../trpc'\n\nexport const appRouter = router({\n hello: publicProcedure\n .input(\n z.object({\n text: z.string().nullish(),\n }),\n )\n .query(({ input }) => {\n return {\n greeting: `hello ${input?.text ?? 'world'}`,\n }\n }),\n})\n\n// export type definition of API\nexport type AppRouter = typeof appRouter\n","filename":"server/trpc/routers/index.ts","language":"ts"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-d69d00"},"children":[{"type":"text","value":"import"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" { "}]},{"type":"element","tag":"span","props":{"class":"ct-ca0e09"},"children":[{"type":"text","value":"z"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" } "}]},{"type":"element","tag":"span","props":{"class":"ct-d69d00"},"children":[{"type":"text","value":"from"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-a930e7"},"children":[{"type":"text","value":"'zod'"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-d69d00"},"children":[{"type":"text","value":"import"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" { "}]},{"type":"element","tag":"span","props":{"class":"ct-ca0e09"},"children":[{"type":"text","value":"publicProcedure"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":", "}]},{"type":"element","tag":"span","props":{"class":"ct-ca0e09"},"children":[{"type":"text","value":"router"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" } "}]},{"type":"element","tag":"span","props":{"class":"ct-d69d00"},"children":[{"type":"text","value":"from"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-a930e7"},"children":[{"type":"text","value":"'../trpc'"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-d69d00"},"children":[{"type":"text","value":"export"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-d69d00"},"children":[{"type":"text","value":"const"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-d213e2"},"children":[{"type":"text","value":"appRouter"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-c3a574"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-e18fd1"},"children":[{"type":"text","value":"router"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":"({"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-ca0e09"},"children":[{"type":"text","value":"hello"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-ca0e09"},"children":[{"type":"text","value":"publicProcedure"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" ."}]},{"type":"element","tag":"span","props":{"class":"ct-e18fd1"},"children":[{"type":"text","value":"input"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":"("}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-d213e2"},"children":[{"type":"text","value":"z"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-e18fd1"},"children":[{"type":"text","value":"object"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":"({"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-ca0e09"},"children":[{"type":"text","value":"text"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-d213e2"},"children":[{"type":"text","value":"z"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-e18fd1"},"children":[{"type":"text","value":"string"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":"()."}]},{"type":"element","tag":"span","props":{"class":"ct-e18fd1"},"children":[{"type":"text","value":"nullish"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":"(),"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" }),"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" )"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" ."}]},{"type":"element","tag":"span","props":{"class":"ct-e18fd1"},"children":[{"type":"text","value":"query"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":"(({ "}]},{"type":"element","tag":"span","props":{"class":"ct-ca0e09"},"children":[{"type":"text","value":"input"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" }) "}]},{"type":"element","tag":"span","props":{"class":"ct-d69d00"},"children":[{"type":"text","value":"=>"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-d69d00"},"children":[{"type":"text","value":"return"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-ca0e09"},"children":[{"type":"text","value":"greeting"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-a930e7"},"children":[{"type":"text","value":"`hello "}]},{"type":"element","tag":"span","props":{"class":"ct-d69d00"},"children":[{"type":"text","value":"${"}]},{"type":"element","tag":"span","props":{"class":"ct-d213e2"},"children":[{"type":"text","value":"input"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":"?."}]},{"type":"element","tag":"span","props":{"class":"ct-ca0e09"},"children":[{"type":"text","value":"text"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-c3a574"},"children":[{"type":"text","value":"??"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-a930e7"},"children":[{"type":"text","value":"'world'"}]},{"type":"element","tag":"span","props":{"class":"ct-d69d00"},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"class":"ct-a930e7"},"children":[{"type":"text","value":"`"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" }"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" }),"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":"})"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-5fb678"},"children":[{"type":"text","value":"// export type definition of API"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-d69d00"},"children":[{"type":"text","value":"export"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-d69d00"},"children":[{"type":"text","value":"type"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-d213e2"},"children":[{"type":"text","value":"AppRouter"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-c3a574"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-d69d00"},"children":[{"type":"text","value":"typeof"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-ca0e09"},"children":[{"type":"text","value":"appRouter"}]}]}]}]}]},{"type":"element","tag":"code","props":{"code":"import { createNuxtApiHandler } from 'trpc-nuxt'\nimport { appRouter } from '@/server/trpc/routers'\n\n// export API handler\nexport default createNuxtApiHandler({\n router: appRouter,\n createContext: () => ({}),\n})\n","filename":"server/api/trpc/[trpc].ts","language":"ts"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-d69d00"},"children":[{"type":"text","value":"import"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" { "}]},{"type":"element","tag":"span","props":{"class":"ct-ca0e09"},"children":[{"type":"text","value":"createNuxtApiHandler"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" } "}]},{"type":"element","tag":"span","props":{"class":"ct-d69d00"},"children":[{"type":"text","value":"from"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-a930e7"},"children":[{"type":"text","value":"'trpc-nuxt'"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-d69d00"},"children":[{"type":"text","value":"import"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" { "}]},{"type":"element","tag":"span","props":{"class":"ct-ca0e09"},"children":[{"type":"text","value":"appRouter"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" } "}]},{"type":"element","tag":"span","props":{"class":"ct-d69d00"},"children":[{"type":"text","value":"from"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-a930e7"},"children":[{"type":"text","value":"'@/server/trpc/routers'"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-5fb678"},"children":[{"type":"text","value":"// export API handler"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-d69d00"},"children":[{"type":"text","value":"export"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-d69d00"},"children":[{"type":"text","value":"default"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-e18fd1"},"children":[{"type":"text","value":"createNuxtApiHandler"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":"({"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-ca0e09"},"children":[{"type":"text","value":"router"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-ca0e09"},"children":[{"type":"text","value":"appRouter"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-e18fd1"},"children":[{"type":"text","value":"createContext"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":": () "}]},{"type":"element","tag":"span","props":{"class":"ct-d69d00"},"children":[{"type":"text","value":"=>"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" ({}),"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":"})"}]}]}]}]}]}]},{"type":"element","tag":"alert","props":{"type":"info"},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"If you need to split your router into several subrouters, you can implement them in the "},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"server/trpc/routers"}]},{"type":"text","value":" directory and import and "},{"type":"element","tag":"a","props":{"href":"https://trpc.io/docs/v10/merging-routers","rel":["nofollow"]},"children":[{"type":"text","value":"merge them"}]},{"type":"text","value":" to a single root "},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"appRouter"}]},{"type":"text","value":"."}]}]},{"type":"element","tag":"h2","props":{"id":"2-create-trpc-client-plugin"},"children":[{"type":"text","value":"2. Create tRPC client plugin"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Create a set of strongly-typed composables using your API's type signature."}]},{"type":"element","tag":"code","props":{"code":"import { httpBatchLink } from '@trpc/client'\nimport { createTRPCNuxtProxyClient } from 'trpc-nuxt/client'\nimport type { AppRouter } from '@/server/trpc/routers'\n\nexport default defineNuxtPlugin(() => {\n const client = createTRPCNuxtProxyClient({\n links: [\n httpBatchLink({\n /**\n * If you want to use SSR, you need to use the server's full URL\n * @link https://trpc.io/docs/ssr\n **/\n url: 'http://localhost:3000/api/trpc',\n }),\n ],\n })\n\n return {\n provide: {\n client,\n },\n }\n})\n","filename":"plugins/client.ts","language":"ts"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-d69d00"},"children":[{"type":"text","value":"import"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" { "}]},{"type":"element","tag":"span","props":{"class":"ct-ca0e09"},"children":[{"type":"text","value":"httpBatchLink"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" } "}]},{"type":"element","tag":"span","props":{"class":"ct-d69d00"},"children":[{"type":"text","value":"from"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-a930e7"},"children":[{"type":"text","value":"'@trpc/client'"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-d69d00"},"children":[{"type":"text","value":"import"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" { "}]},{"type":"element","tag":"span","props":{"class":"ct-ca0e09"},"children":[{"type":"text","value":"createTRPCNuxtProxyClient"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" } "}]},{"type":"element","tag":"span","props":{"class":"ct-d69d00"},"children":[{"type":"text","value":"from"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-a930e7"},"children":[{"type":"text","value":"'trpc-nuxt/client'"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-d69d00"},"children":[{"type":"text","value":"import"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-d69d00"},"children":[{"type":"text","value":"type"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" { "}]},{"type":"element","tag":"span","props":{"class":"ct-ca0e09"},"children":[{"type":"text","value":"AppRouter"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" } "}]},{"type":"element","tag":"span","props":{"class":"ct-d69d00"},"children":[{"type":"text","value":"from"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-a930e7"},"children":[{"type":"text","value":"'@/server/trpc/routers'"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-d69d00"},"children":[{"type":"text","value":"export"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-d69d00"},"children":[{"type":"text","value":"default"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-e18fd1"},"children":[{"type":"text","value":"defineNuxtPlugin"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":"(() "}]},{"type":"element","tag":"span","props":{"class":"ct-d69d00"},"children":[{"type":"text","value":"=>"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-d69d00"},"children":[{"type":"text","value":"const"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-d213e2"},"children":[{"type":"text","value":"client"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-c3a574"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-e18fd1"},"children":[{"type":"text","value":"createTRPCNuxtProxyClient"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"class":"ct-d213e2"},"children":[{"type":"text","value":"AppRouter"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":">({"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-ca0e09"},"children":[{"type":"text","value":"links"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":": ["}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-e18fd1"},"children":[{"type":"text","value":"httpBatchLink"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":"({"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-5fb678"},"children":[{"type":"text","value":"/**"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-5fb678"},"children":[{"type":"text","value":" * If you want to use SSR, you need to use the server's full URL"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-5fb678"},"children":[{"type":"text","value":" * "}]},{"type":"element","tag":"span","props":{"class":"ct-d69d00"},"children":[{"type":"text","value":"@link"}]},{"type":"element","tag":"span","props":{"class":"ct-5fb678"},"children":[{"type":"text","value":" https://trpc.io/docs/ssr"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-5fb678"},"children":[{"type":"text","value":" **/"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-ca0e09"},"children":[{"type":"text","value":"url"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-a930e7"},"children":[{"type":"text","value":"'http://localhost:3000/api/trpc'"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" }),"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" ],"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" })"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-d69d00"},"children":[{"type":"text","value":"return"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-ca0e09"},"children":[{"type":"text","value":"provide"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":": {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-ca0e09"},"children":[{"type":"text","value":"client"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" },"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" }"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":"})"}]}]}]}]}]},{"type":"element","tag":"h2","props":{"id":"3-make-api-requests"},"children":[{"type":"text","value":"3. Make API requests"}]},{"type":"element","tag":"code","props":{"code":"\n\n\n
\n Loading...\n
\n
\n Error: {{ error.data.code }}\n
\n
\n
{{ hello.data?.greeting }}
\n
\n\n","filename":"pages/index.vue","language":"vue"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"class":"ct-ca0e09"},"children":[{"type":"text","value":"script"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-f79d7d"},"children":[{"type":"text","value":"setup"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-f79d7d"},"children":[{"type":"text","value":"lang"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"class":"ct-a930e7"},"children":[{"type":"text","value":"\"ts\""}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-d69d00"},"children":[{"type":"text","value":"const"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" { "}]},{"type":"element","tag":"span","props":{"class":"ct-d213e2"},"children":[{"type":"text","value":"$client"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" } "}]},{"type":"element","tag":"span","props":{"class":"ct-c3a574"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-e18fd1"},"children":[{"type":"text","value":"useNuxtApp"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":"()"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-5fb678"},"children":[{"type":"text","value":"// query and mutate uses useAsyncData under the hood"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-d69d00"},"children":[{"type":"text","value":"const"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" { "}]},{"type":"element","tag":"span","props":{"class":"ct-d213e2"},"children":[{"type":"text","value":"data"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":", "}]},{"type":"element","tag":"span","props":{"class":"ct-d213e2"},"children":[{"type":"text","value":"pending"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":", "}]},{"type":"element","tag":"span","props":{"class":"ct-d213e2"},"children":[{"type":"text","value":"error"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" } "}]},{"type":"element","tag":"span","props":{"class":"ct-c3a574"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-d69d00"},"children":[{"type":"text","value":"await"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-d213e2"},"children":[{"type":"text","value":"$client"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-d213e2"},"children":[{"type":"text","value":"hello"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-e18fd1"},"children":[{"type":"text","value":"query"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":"({ "}]},{"type":"element","tag":"span","props":{"class":"ct-ca0e09"},"children":[{"type":"text","value":"text"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-a930e7"},"children":[{"type":"text","value":"'client'"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" })"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":""}]},{"type":"element","tag":"span","props":{"class":"ct-ca0e09"},"children":[{"type":"text","value":"script"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"class":"ct-ca0e09"},"children":[{"type":"text","value":"template"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"class":"ct-f79d7d"},"children":[{"type":"text","value":"div"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-f79d7d"},"children":[{"type":"text","value":"v-if"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":"\""}]},{"type":"element","tag":"span","props":{"class":"ct-ca0e09"},"children":[{"type":"text","value":"pending"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":"\""}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-f79d7d"},"children":[{"type":"text","value":"Loading"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":"..."}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-f79d7d"},"children":[{"type":"text","value":"div"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"class":"ct-f79d7d"},"children":[{"type":"text","value":"div"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-f79d7d"},"children":[{"type":"text","value":"v-else-if"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":"\""}]},{"type":"element","tag":"span","props":{"class":"ct-d213e2"},"children":[{"type":"text","value":"error"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":"?."}]},{"type":"element","tag":"span","props":{"class":"ct-d213e2"},"children":[{"type":"text","value":"data"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":"?."}]},{"type":"element","tag":"span","props":{"class":"ct-ca0e09"},"children":[{"type":"text","value":"code"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":"\""}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-f79d7d"},"children":[{"type":"text","value":"Error:"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" {{ "}]},{"type":"element","tag":"span","props":{"class":"ct-f79d7d"},"children":[{"type":"text","value":"error"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-f79d7d"},"children":[{"type":"text","value":"data"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-f79d7d"},"children":[{"type":"text","value":"code"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" }}"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-f79d7d"},"children":[{"type":"text","value":"div"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"class":"ct-f79d7d"},"children":[{"type":"text","value":"div"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-f79d7d"},"children":[{"type":"text","value":"v-else"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"class":"ct-f79d7d"},"children":[{"type":"text","value":"p"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":">{{ "}]},{"type":"element","tag":"span","props":{"class":"ct-f79d7d"},"children":[{"type":"text","value":"hello"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-f79d7d"},"children":[{"type":"text","value":"data"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":"?."}]},{"type":"element","tag":"span","props":{"class":"ct-f79d7d"},"children":[{"type":"text","value":"greeting"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" }}"}]},{"type":"element","tag":"span","props":{"class":"ct-f79d7d"},"children":[{"type":"text","value":"p"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-f79d7d"},"children":[{"type":"text","value":"div"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":""}]},{"type":"element","tag":"span","props":{"class":"ct-ca0e09"},"children":[{"type":"text","value":"template"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":">"}]}]}]}]}]},{"type":"element","tag":"style","children":[{"type":"text","value":".ct-f79d7d{color:#D19A66}.ct-e18fd1{color:#61AFEF}.ct-c3a574{color:#56B6C2}.ct-d213e2{color:#E5C07B}.ct-5fb678{color:#7F848E}.ct-a930e7{color:#98C379}.ct-ca0e09{color:#E06C75}.ct-8358df{color:#ABB2BF}.ct-d69d00{color:#C678DD}"}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[{"id":"recommended-file-structure","depth":2,"text":"Recommended file structure"},{"id":"1-create-a-trpc-router","depth":2,"text":"1. Create a tRPC router"},{"id":"2-create-trpc-client-plugin","depth":2,"text":"2. Create tRPC client plugin"},{"id":"3-make-api-requests","depth":2,"text":"3. Make API requests"}]}},"_type":"markdown","_id":"content:1.get-started:2.usage.md","_source":"content","_file":"1.get-started/2.usage.md","_extension":"md"},{"_path":"/examples/basic","_dir":"examples","_draft":false,"_partial":false,"_locale":"en","_empty":false,"title":"Basic","description":"tRPC-Nuxt provides first class integration with tRPC.","excerpt":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"basic-example"},"children":[{"type":"text","value":"Basic Example"}]}]},"body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"basic-example"},"children":[{"type":"text","value":"Basic Example"}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[]}},"_type":"markdown","_id":"content:2.examples:1.basic.md","_source":"content","_file":"2.examples/1.basic.md","_extension":"md"},{"_path":"/examples/multiple-routers","_dir":"examples","_draft":false,"_partial":false,"_locale":"en","_empty":false,"title":"Multiple Routers","description":"tRPC-Nuxt provides first class integration with tRPC.","excerpt":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"multi-routers"},"children":[{"type":"text","value":"Multi Routers"}]}]},"body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"multi-routers"},"children":[{"type":"text","value":"Multi Routers"}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[]}},"_type":"markdown","_id":"content:2.examples:2.multiple-routers.md","_source":"content","_file":"2.examples/2.multiple-routers.md","_extension":"md"},{"_path":"/","_dir":"","_draft":false,"_partial":false,"_locale":"en","_empty":false,"title":"tRPC Nuxt","description":"A supa simple wrapper arousnd supabase-js to enable usage and integration within Nuxt.","excerpt":{"type":"root","children":[{"type":"element","tag":"block-hero","props":{":cta":"[\"Get Started\",\"/get-started/installation\"]",":secondary":"[\"Star on GitHub ->\",\"https://github.com/wobsoriano/trpc-nuxt\"]","snippet":"npm install trpc-nuxt@next"},"children":[{"type":"element","tag":"template","props":{"v-slot:title":""},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"tRPC "},{"type":"element","tag":"span","props":{"class":"text-primary-500"},"children":[{"type":"text","value":"Nuxt"}]}]}]},{"type":"element","tag":"template","props":{"v-slot:description":""},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"End-to-end typesafe APIs in Nuxt applications."}]}]},{"type":"element","tag":"template","props":{"v-slot:extra":""},"children":[{"type":"element","tag":"list","props":{},"children":[{"type":"element","tag":"ul","props":{},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"Automatic typesafety"}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"Snappy DX"}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"Autocompletion"}]}]}]}]}]}]},"navigation":false,"layout":"page","body":{"type":"root","children":[{"type":"element","tag":"block-hero","props":{":cta":"[\"Get Started\",\"/get-started/installation\"]",":secondary":"[\"Star on GitHub ->\",\"https://github.com/wobsoriano/trpc-nuxt\"]","snippet":"npm install trpc-nuxt@next"},"children":[{"type":"element","tag":"template","props":{"v-slot:title":""},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"tRPC "},{"type":"element","tag":"span","props":{"class":"text-primary-500"},"children":[{"type":"text","value":"Nuxt"}]}]}]},{"type":"element","tag":"template","props":{"v-slot:description":""},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"End-to-end typesafe APIs in Nuxt applications."}]}]},{"type":"element","tag":"template","props":{"v-slot:extra":""},"children":[{"type":"element","tag":"list","props":{},"children":[{"type":"element","tag":"ul","props":{},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"Automatic typesafety"}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"Snappy DX"}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"Autocompletion"}]}]}]}]}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[]}},"_type":"markdown","_id":"content:index.md","_source":"content","_file":"index.md","_extension":"md"}],"navigation":[{"title":"Get Started","_path":"/get-started","children":[{"title":"Installation","_path":"/get-started/installation"},{"title":"Usage","_path":"/get-started/usage"}]},{"title":"Examples","_path":"/examples","children":[{"title":"Basic","_path":"/examples/basic"},{"title":"Multiple Routers","_path":"/examples/multiple-routers"}]}]}
\ No newline at end of file
diff --git a/docs/.vercel/output/static/api/_content/navigation b/docs/.vercel/output/static/api/_content/navigation
new file mode 100644
index 0000000..f685ec4
--- /dev/null
+++ b/docs/.vercel/output/static/api/_content/navigation
@@ -0,0 +1 @@
+[{"title":"Get Started","_path":"/get-started","children":[{"title":"Installation","_path":"/get-started/installation"},{"title":"Usage","_path":"/get-started/usage"}]},{"title":"Examples","_path":"/examples","children":[{"title":"Basic","_path":"/examples/basic"},{"title":"Multiple Routers","_path":"/examples/multiple-routers"}]}]
\ No newline at end of file
diff --git a/docs/.vercel/output/static/api/_content/query/1usJFBPgUk.json b/docs/.vercel/output/static/api/_content/query/1usJFBPgUk.json
new file mode 100644
index 0000000..1192508
--- /dev/null
+++ b/docs/.vercel/output/static/api/_content/query/1usJFBPgUk.json
@@ -0,0 +1 @@
+{"_path":"/examples/multiple-routers","_dir":"examples","_draft":false,"_partial":false,"_locale":"en","_empty":false,"title":"Multiple Routers","description":"tRPC-Nuxt provides first class integration with tRPC.","excerpt":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"multi-routers"},"children":[{"type":"text","value":"Multi Routers"}]}]},"body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"multi-routers"},"children":[{"type":"text","value":"Multi Routers"}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[]}},"_type":"markdown","_id":"content:2.examples:2.multiple-routers.md","_source":"content","_file":"2.examples/2.multiple-routers.md","_extension":"md"}
\ No newline at end of file
diff --git a/docs/.vercel/output/static/api/_content/query/C4848IWL5T.json b/docs/.vercel/output/static/api/_content/query/C4848IWL5T.json
new file mode 100644
index 0000000..0703482
--- /dev/null
+++ b/docs/.vercel/output/static/api/_content/query/C4848IWL5T.json
@@ -0,0 +1 @@
+[{"_path":"/get-started/usage","_dir":"get-started","_draft":false,"_partial":false,"_locale":"en","_empty":false,"title":"Usage","description":"tRPC-Nuxt provides first class integration with tRPC.","excerpt":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"usage"},"children":[{"type":"text","value":"Usage"}]},{"type":"element","tag":"h2","props":{"id":"recommended-file-structure"},"children":[{"type":"text","value":"Recommended file structure"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Recommended but not enforced file structure. This is what you get when starting from "},{"type":"element","tag":"a","props":{"href":"../main/example-apps"},"children":[{"type":"text","value":"the examples"}]},{"type":"text","value":"."}]},{"type":"element","tag":"code","props":{"code":".\n├── server\n│ ├── api\n│ │ └── trpc\n│ │ └── [trpc].ts # <-- tRPC HTTP handler\n│ │ └── [..]\n│ ├── trpc\n│ │ ├── routers\n│ │ │ ├── index.ts # <-- main app router\n│ │ │ ├── todo.ts # <-- sub routers\n│ │ │ └── [..]\n│ │ ├── context.ts # <-- create app context\n│ │ └── trpc.ts # <-- procedure helpers\n├── plugins\n│ ├── client.ts # <-- tRPC Client as a plugin\n└── [..]\n","language":"graphql"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"text","value":".\n├── server\n│ ├── api\n│ │ └── trpc\n│ │ └── [trpc].ts # <-- tRPC HTTP handler\n│ │ └── [..]\n│ ├── trpc\n│ │ ├── routers\n│ │ │ ├── index.ts # <-- main app router\n│ │ │ ├── todo.ts # <-- sub routers\n│ │ │ └── [..]\n│ │ ├── context.ts # <-- create app context\n│ │ └── trpc.ts # <-- procedure helpers\n├── plugins\n│ ├── client.ts # <-- tRPC Client as a plugin\n└── [..]\n"}]}]}]},{"type":"element","tag":"h2","props":{"id":"1-create-a-trpc-router"},"children":[{"type":"text","value":"1. Create a tRPC router"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Initialize your tRPC backend using the "},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"initTRPC"}]},{"type":"text","value":" function and create your first router."}]},{"type":"element","tag":"code-group","props":{},"children":[{"type":"element","tag":"code","props":{"code":"import { initTRPC } from '@trpc/server'\n\n// Avoid exporting the entire t-object since it's not very\n// descriptive and can be confusing to newcomers used to t\n// meaning translation in i18n libraries.\nconst t = initTRPC.create()\n\n// Base router and procedure helpers\nexport const router = t.router\nexport const publicProcedure = t.procedure\n","filename":"server/trpc/trpc.ts","language":"ts"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"text","value":"import { initTRPC } from '@trpc/server'\n\n// Avoid exporting the entire t-object since it's not very\n// descriptive and can be confusing to newcomers used to t\n// meaning translation in i18n libraries.\nconst t = initTRPC.create()\n\n// Base router and procedure helpers\nexport const router = t.router\nexport const publicProcedure = t.procedure\n"}]}]}]},{"type":"element","tag":"code","props":{"code":"import { z } from 'zod'\nimport { publicProcedure, router } from '../trpc'\n\nexport const appRouter = router({\n hello: publicProcedure\n .input(\n z.object({\n text: z.string().nullish(),\n }),\n )\n .query(({ input }) => {\n return {\n greeting: `hello ${input?.text ?? 'world'}`,\n }\n }),\n})\n\n// export type definition of API\nexport type AppRouter = typeof appRouter\n","filename":"server/trpc/routers/index.ts","language":"ts"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"text","value":"import { z } from 'zod'\nimport { publicProcedure, router } from '../trpc'\n\nexport const appRouter = router({\n hello: publicProcedure\n .input(\n z.object({\n text: z.string().nullish(),\n }),\n )\n .query(({ input }) => {\n return {\n greeting: `hello ${input?.text ?? 'world'}`,\n }\n }),\n})\n\n// export type definition of API\nexport type AppRouter = typeof appRouter\n"}]}]}]},{"type":"element","tag":"code","props":{"code":"import { createNuxtApiHandler } from 'trpc-nuxt'\nimport { appRouter } from '@/server/trpc/routers'\n\n// export API handler\nexport default createNuxtApiHandler({\n router: appRouter,\n createContext: () => ({}),\n})\n","filename":"server/api/trpc/[trpc].ts","language":"ts"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"text","value":"import { createNuxtApiHandler } from 'trpc-nuxt'\nimport { appRouter } from '@/server/trpc/routers'\n\n// export API handler\nexport default createNuxtApiHandler({\n router: appRouter,\n createContext: () => ({}),\n})\n"}]}]}]}]},{"type":"element","tag":"alert","props":{"type":"info"},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"If you need to split your router into several subrouters, you can implement them in the "},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"server/trpc/routers"}]},{"type":"text","value":" directory and import and "},{"type":"element","tag":"a","props":{"href":"https://trpc.io/docs/v10/merging-routers","rel":["nofollow"]},"children":[{"type":"text","value":"merge them"}]},{"type":"text","value":" to a single root "},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"appRouter"}]},{"type":"text","value":"."}]}]},{"type":"element","tag":"h2","props":{"id":"2-create-trpc-client-plugin"},"children":[{"type":"text","value":"2. Create tRPC client plugin"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Create a set of strongly-typed composables using your API's type signature."}]},{"type":"element","tag":"code","props":{"code":"import { httpBatchLink } from '@trpc/client'\nimport { createTRPCNuxtProxyClient } from 'trpc-nuxt/client'\nimport type { AppRouter } from '@/server/trpc/routers'\n\nexport default defineNuxtPlugin(() => {\n const client = createTRPCNuxtProxyClient({\n links: [\n httpBatchLink({\n /**\n * If you want to use SSR, you need to use the server's full URL\n * @link https://trpc.io/docs/ssr\n **/\n url: 'http://localhost:3000/api/trpc',\n }),\n ],\n })\n\n return {\n provide: {\n client,\n },\n }\n})\n","filename":"plugins/client.ts","language":"ts"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"text","value":"import { httpBatchLink } from '@trpc/client'\nimport { createTRPCNuxtProxyClient } from 'trpc-nuxt/client'\nimport type { AppRouter } from '@/server/trpc/routers'\n\nexport default defineNuxtPlugin(() => {\n const client = createTRPCNuxtProxyClient({\n links: [\n httpBatchLink({\n /**\n * If you want to use SSR, you need to use the server's full URL\n * @link https://trpc.io/docs/ssr\n **/\n url: 'http://localhost:3000/api/trpc',\n }),\n ],\n })\n\n return {\n provide: {\n client,\n },\n }\n})\n"}]}]}]},{"type":"element","tag":"h2","props":{"id":"3-make-api-requests"},"children":[{"type":"text","value":"3. Make API requests"}]},{"type":"element","tag":"code","props":{"code":"\n\n\n
\n\n"}]}]}]}]},"_type":"markdown","_id":"content:1.get-started:2.usage.md","_source":"content","_file":"1.get-started/2.usage.md","_extension":"md"},{"_path":"/examples/multiple-routers","_dir":"examples","_draft":false,"_partial":false,"_locale":"en","_empty":false,"title":"Multiple Routers","description":"tRPC-Nuxt provides first class integration with tRPC.","excerpt":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"multi-routers"},"children":[{"type":"text","value":"Multi Routers"}]}]},"_type":"markdown","_id":"content:2.examples:2.multiple-routers.md","_source":"content","_file":"2.examples/2.multiple-routers.md","_extension":"md"}]
\ No newline at end of file
diff --git a/docs/.vercel/output/static/api/_content/query/Eup2G7YupJ.json b/docs/.vercel/output/static/api/_content/query/Eup2G7YupJ.json
new file mode 100644
index 0000000..27ed8fb
--- /dev/null
+++ b/docs/.vercel/output/static/api/_content/query/Eup2G7YupJ.json
@@ -0,0 +1 @@
+[{"_path":"/examples/basic","_dir":"examples","_draft":false,"_partial":false,"_locale":"en","_empty":false,"title":"Basic","description":"tRPC-Nuxt provides first class integration with tRPC.","excerpt":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"basic-example"},"children":[{"type":"text","value":"Basic Example"}]}]},"_type":"markdown","_id":"content:2.examples:1.basic.md","_source":"content","_file":"2.examples/1.basic.md","_extension":"md"},null]
\ No newline at end of file
diff --git a/docs/.vercel/output/static/api/_content/query/Qt83HeJlba.json b/docs/.vercel/output/static/api/_content/query/Qt83HeJlba.json
new file mode 100644
index 0000000..cbe96c8
--- /dev/null
+++ b/docs/.vercel/output/static/api/_content/query/Qt83HeJlba.json
@@ -0,0 +1 @@
+[null,{"_path":"/get-started/usage","_dir":"get-started","_draft":false,"_partial":false,"_locale":"en","_empty":false,"title":"Usage","description":"tRPC-Nuxt provides first class integration with tRPC.","excerpt":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"usage"},"children":[{"type":"text","value":"Usage"}]},{"type":"element","tag":"h2","props":{"id":"recommended-file-structure"},"children":[{"type":"text","value":"Recommended file structure"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Recommended but not enforced file structure. This is what you get when starting from "},{"type":"element","tag":"a","props":{"href":"../main/example-apps"},"children":[{"type":"text","value":"the examples"}]},{"type":"text","value":"."}]},{"type":"element","tag":"code","props":{"code":".\n├── server\n│ ├── api\n│ │ └── trpc\n│ │ └── [trpc].ts # <-- tRPC HTTP handler\n│ │ └── [..]\n│ ├── trpc\n│ │ ├── routers\n│ │ │ ├── index.ts # <-- main app router\n│ │ │ ├── todo.ts # <-- sub routers\n│ │ │ └── [..]\n│ │ ├── context.ts # <-- create app context\n│ │ └── trpc.ts # <-- procedure helpers\n├── plugins\n│ ├── client.ts # <-- tRPC Client as a plugin\n└── [..]\n","language":"graphql"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"text","value":".\n├── server\n│ ├── api\n│ │ └── trpc\n│ │ └── [trpc].ts # <-- tRPC HTTP handler\n│ │ └── [..]\n│ ├── trpc\n│ │ ├── routers\n│ │ │ ├── index.ts # <-- main app router\n│ │ │ ├── todo.ts # <-- sub routers\n│ │ │ └── [..]\n│ │ ├── context.ts # <-- create app context\n│ │ └── trpc.ts # <-- procedure helpers\n├── plugins\n│ ├── client.ts # <-- tRPC Client as a plugin\n└── [..]\n"}]}]}]},{"type":"element","tag":"h2","props":{"id":"1-create-a-trpc-router"},"children":[{"type":"text","value":"1. Create a tRPC router"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Initialize your tRPC backend using the "},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"initTRPC"}]},{"type":"text","value":" function and create your first router."}]},{"type":"element","tag":"code-group","props":{},"children":[{"type":"element","tag":"code","props":{"code":"import { initTRPC } from '@trpc/server'\n\n// Avoid exporting the entire t-object since it's not very\n// descriptive and can be confusing to newcomers used to t\n// meaning translation in i18n libraries.\nconst t = initTRPC.create()\n\n// Base router and procedure helpers\nexport const router = t.router\nexport const publicProcedure = t.procedure\n","filename":"server/trpc/trpc.ts","language":"ts"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"text","value":"import { initTRPC } from '@trpc/server'\n\n// Avoid exporting the entire t-object since it's not very\n// descriptive and can be confusing to newcomers used to t\n// meaning translation in i18n libraries.\nconst t = initTRPC.create()\n\n// Base router and procedure helpers\nexport const router = t.router\nexport const publicProcedure = t.procedure\n"}]}]}]},{"type":"element","tag":"code","props":{"code":"import { z } from 'zod'\nimport { publicProcedure, router } from '../trpc'\n\nexport const appRouter = router({\n hello: publicProcedure\n .input(\n z.object({\n text: z.string().nullish(),\n }),\n )\n .query(({ input }) => {\n return {\n greeting: `hello ${input?.text ?? 'world'}`,\n }\n }),\n})\n\n// export type definition of API\nexport type AppRouter = typeof appRouter\n","filename":"server/trpc/routers/index.ts","language":"ts"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"text","value":"import { z } from 'zod'\nimport { publicProcedure, router } from '../trpc'\n\nexport const appRouter = router({\n hello: publicProcedure\n .input(\n z.object({\n text: z.string().nullish(),\n }),\n )\n .query(({ input }) => {\n return {\n greeting: `hello ${input?.text ?? 'world'}`,\n }\n }),\n})\n\n// export type definition of API\nexport type AppRouter = typeof appRouter\n"}]}]}]},{"type":"element","tag":"code","props":{"code":"import { createNuxtApiHandler } from 'trpc-nuxt'\nimport { appRouter } from '@/server/trpc/routers'\n\n// export API handler\nexport default createNuxtApiHandler({\n router: appRouter,\n createContext: () => ({}),\n})\n","filename":"server/api/trpc/[trpc].ts","language":"ts"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"text","value":"import { createNuxtApiHandler } from 'trpc-nuxt'\nimport { appRouter } from '@/server/trpc/routers'\n\n// export API handler\nexport default createNuxtApiHandler({\n router: appRouter,\n createContext: () => ({}),\n})\n"}]}]}]}]},{"type":"element","tag":"alert","props":{"type":"info"},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"If you need to split your router into several subrouters, you can implement them in the "},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"server/trpc/routers"}]},{"type":"text","value":" directory and import and "},{"type":"element","tag":"a","props":{"href":"https://trpc.io/docs/v10/merging-routers","rel":["nofollow"]},"children":[{"type":"text","value":"merge them"}]},{"type":"text","value":" to a single root "},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"appRouter"}]},{"type":"text","value":"."}]}]},{"type":"element","tag":"h2","props":{"id":"2-create-trpc-client-plugin"},"children":[{"type":"text","value":"2. Create tRPC client plugin"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Create a set of strongly-typed composables using your API's type signature."}]},{"type":"element","tag":"code","props":{"code":"import { httpBatchLink } from '@trpc/client'\nimport { createTRPCNuxtProxyClient } from 'trpc-nuxt/client'\nimport type { AppRouter } from '@/server/trpc/routers'\n\nexport default defineNuxtPlugin(() => {\n const client = createTRPCNuxtProxyClient({\n links: [\n httpBatchLink({\n /**\n * If you want to use SSR, you need to use the server's full URL\n * @link https://trpc.io/docs/ssr\n **/\n url: 'http://localhost:3000/api/trpc',\n }),\n ],\n })\n\n return {\n provide: {\n client,\n },\n }\n})\n","filename":"plugins/client.ts","language":"ts"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"text","value":"import { httpBatchLink } from '@trpc/client'\nimport { createTRPCNuxtProxyClient } from 'trpc-nuxt/client'\nimport type { AppRouter } from '@/server/trpc/routers'\n\nexport default defineNuxtPlugin(() => {\n const client = createTRPCNuxtProxyClient({\n links: [\n httpBatchLink({\n /**\n * If you want to use SSR, you need to use the server's full URL\n * @link https://trpc.io/docs/ssr\n **/\n url: 'http://localhost:3000/api/trpc',\n }),\n ],\n })\n\n return {\n provide: {\n client,\n },\n }\n})\n"}]}]}]},{"type":"element","tag":"h2","props":{"id":"3-make-api-requests"},"children":[{"type":"text","value":"3. Make API requests"}]},{"type":"element","tag":"code","props":{"code":"\n\n\n
\n\n"}]}]}]}]},"_type":"markdown","_id":"content:1.get-started:2.usage.md","_source":"content","_file":"1.get-started/2.usage.md","_extension":"md"}]
\ No newline at end of file
diff --git a/docs/.vercel/output/static/api/_content/query/UqPRVLFJyN.json b/docs/.vercel/output/static/api/_content/query/UqPRVLFJyN.json
new file mode 100644
index 0000000..6f4c4ae
--- /dev/null
+++ b/docs/.vercel/output/static/api/_content/query/UqPRVLFJyN.json
@@ -0,0 +1 @@
+{"_path":"/get-started/usage","_dir":"get-started","_draft":false,"_partial":false,"_locale":"en","_empty":false,"title":"Usage","description":"tRPC-Nuxt provides first class integration with tRPC.","excerpt":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"usage"},"children":[{"type":"text","value":"Usage"}]},{"type":"element","tag":"h2","props":{"id":"recommended-file-structure"},"children":[{"type":"text","value":"Recommended file structure"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Recommended but not enforced file structure. This is what you get when starting from "},{"type":"element","tag":"a","props":{"href":"../main/example-apps"},"children":[{"type":"text","value":"the examples"}]},{"type":"text","value":"."}]},{"type":"element","tag":"code","props":{"code":".\n├── server\n│ ├── api\n│ │ └── trpc\n│ │ └── [trpc].ts # <-- tRPC HTTP handler\n│ │ └── [..]\n│ ├── trpc\n│ │ ├── routers\n│ │ │ ├── index.ts # <-- main app router\n│ │ │ ├── todo.ts # <-- sub routers\n│ │ │ └── [..]\n│ │ ├── context.ts # <-- create app context\n│ │ └── trpc.ts # <-- procedure helpers\n├── plugins\n│ ├── client.ts # <-- tRPC Client as a plugin\n└── [..]\n","language":"graphql"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"text","value":".\n├── server\n│ ├── api\n│ │ └── trpc\n│ │ └── [trpc].ts # <-- tRPC HTTP handler\n│ │ └── [..]\n│ ├── trpc\n│ │ ├── routers\n│ │ │ ├── index.ts # <-- main app router\n│ │ │ ├── todo.ts # <-- sub routers\n│ │ │ └── [..]\n│ │ ├── context.ts # <-- create app context\n│ │ └── trpc.ts # <-- procedure helpers\n├── plugins\n│ ├── client.ts # <-- tRPC Client as a plugin\n└── [..]\n"}]}]}]},{"type":"element","tag":"h2","props":{"id":"1-create-a-trpc-router"},"children":[{"type":"text","value":"1. Create a tRPC router"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Initialize your tRPC backend using the "},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"initTRPC"}]},{"type":"text","value":" function and create your first router."}]},{"type":"element","tag":"code-group","props":{},"children":[{"type":"element","tag":"code","props":{"code":"import { initTRPC } from '@trpc/server'\n\n// Avoid exporting the entire t-object since it's not very\n// descriptive and can be confusing to newcomers used to t\n// meaning translation in i18n libraries.\nconst t = initTRPC.create()\n\n// Base router and procedure helpers\nexport const router = t.router\nexport const publicProcedure = t.procedure\n","filename":"server/trpc/trpc.ts","language":"ts"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"text","value":"import { initTRPC } from '@trpc/server'\n\n// Avoid exporting the entire t-object since it's not very\n// descriptive and can be confusing to newcomers used to t\n// meaning translation in i18n libraries.\nconst t = initTRPC.create()\n\n// Base router and procedure helpers\nexport const router = t.router\nexport const publicProcedure = t.procedure\n"}]}]}]},{"type":"element","tag":"code","props":{"code":"import { z } from 'zod'\nimport { publicProcedure, router } from '../trpc'\n\nexport const appRouter = router({\n hello: publicProcedure\n .input(\n z.object({\n text: z.string().nullish(),\n }),\n )\n .query(({ input }) => {\n return {\n greeting: `hello ${input?.text ?? 'world'}`,\n }\n }),\n})\n\n// export type definition of API\nexport type AppRouter = typeof appRouter\n","filename":"server/trpc/routers/index.ts","language":"ts"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"text","value":"import { z } from 'zod'\nimport { publicProcedure, router } from '../trpc'\n\nexport const appRouter = router({\n hello: publicProcedure\n .input(\n z.object({\n text: z.string().nullish(),\n }),\n )\n .query(({ input }) => {\n return {\n greeting: `hello ${input?.text ?? 'world'}`,\n }\n }),\n})\n\n// export type definition of API\nexport type AppRouter = typeof appRouter\n"}]}]}]},{"type":"element","tag":"code","props":{"code":"import { createNuxtApiHandler } from 'trpc-nuxt'\nimport { appRouter } from '@/server/trpc/routers'\n\n// export API handler\nexport default createNuxtApiHandler({\n router: appRouter,\n createContext: () => ({}),\n})\n","filename":"server/api/trpc/[trpc].ts","language":"ts"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"text","value":"import { createNuxtApiHandler } from 'trpc-nuxt'\nimport { appRouter } from '@/server/trpc/routers'\n\n// export API handler\nexport default createNuxtApiHandler({\n router: appRouter,\n createContext: () => ({}),\n})\n"}]}]}]}]},{"type":"element","tag":"alert","props":{"type":"info"},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"If you need to split your router into several subrouters, you can implement them in the "},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"server/trpc/routers"}]},{"type":"text","value":" directory and import and "},{"type":"element","tag":"a","props":{"href":"https://trpc.io/docs/v10/merging-routers","rel":["nofollow"]},"children":[{"type":"text","value":"merge them"}]},{"type":"text","value":" to a single root "},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"appRouter"}]},{"type":"text","value":"."}]}]},{"type":"element","tag":"h2","props":{"id":"2-create-trpc-client-plugin"},"children":[{"type":"text","value":"2. Create tRPC client plugin"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Create a set of strongly-typed composables using your API's type signature."}]},{"type":"element","tag":"code","props":{"code":"import { httpBatchLink } from '@trpc/client'\nimport { createTRPCNuxtProxyClient } from 'trpc-nuxt/client'\nimport type { AppRouter } from '@/server/trpc/routers'\n\nexport default defineNuxtPlugin(() => {\n const client = createTRPCNuxtProxyClient({\n links: [\n httpBatchLink({\n /**\n * If you want to use SSR, you need to use the server's full URL\n * @link https://trpc.io/docs/ssr\n **/\n url: 'http://localhost:3000/api/trpc',\n }),\n ],\n })\n\n return {\n provide: {\n client,\n },\n }\n})\n","filename":"plugins/client.ts","language":"ts"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"text","value":"import { httpBatchLink } from '@trpc/client'\nimport { createTRPCNuxtProxyClient } from 'trpc-nuxt/client'\nimport type { AppRouter } from '@/server/trpc/routers'\n\nexport default defineNuxtPlugin(() => {\n const client = createTRPCNuxtProxyClient({\n links: [\n httpBatchLink({\n /**\n * If you want to use SSR, you need to use the server's full URL\n * @link https://trpc.io/docs/ssr\n **/\n url: 'http://localhost:3000/api/trpc',\n }),\n ],\n })\n\n return {\n provide: {\n client,\n },\n }\n})\n"}]}]}]},{"type":"element","tag":"h2","props":{"id":"3-make-api-requests"},"children":[{"type":"text","value":"3. Make API requests"}]},{"type":"element","tag":"code","props":{"code":"\n\n\n
\n\n"}]}]}]}]},"body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"usage"},"children":[{"type":"text","value":"Usage"}]},{"type":"element","tag":"h2","props":{"id":"recommended-file-structure"},"children":[{"type":"text","value":"Recommended file structure"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Recommended but not enforced file structure. This is what you get when starting from "},{"type":"element","tag":"a","props":{"href":"../main/example-apps"},"children":[{"type":"text","value":"the examples"}]},{"type":"text","value":"."}]},{"type":"element","tag":"code","props":{"code":".\n├── server\n│ ├── api\n│ │ └── trpc\n│ │ └── [trpc].ts # <-- tRPC HTTP handler\n│ │ └── [..]\n│ ├── trpc\n│ │ ├── routers\n│ │ │ ├── index.ts # <-- main app router\n│ │ │ ├── todo.ts # <-- sub routers\n│ │ │ └── [..]\n│ │ ├── context.ts # <-- create app context\n│ │ └── trpc.ts # <-- procedure helpers\n├── plugins\n│ ├── client.ts # <-- tRPC Client as a plugin\n└── [..]\n","language":"graphql"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{},"children":[{"type":"text","value":".\n├── server\n│ ├── api\n│ │ └── trpc\n│ │ └── [trpc].ts # <-- tRPC HTTP handler\n│ │ └── [..]\n│ ├── trpc\n│ │ ├── routers\n│ │ │ ├── index.ts # <-- main app router\n│ │ │ ├── todo.ts # <-- sub routers\n│ │ │ └── [..]\n│ │ ├── context.ts # <-- create app context\n│ │ └── trpc.ts # <-- procedure helpers\n├── plugins\n│ ├── client.ts # <-- tRPC Client as a plugin\n└── [..]"}]}]}]}]}]},{"type":"element","tag":"h2","props":{"id":"1-create-a-trpc-router"},"children":[{"type":"text","value":"1. Create a tRPC router"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Initialize your tRPC backend using the "},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"initTRPC"}]},{"type":"text","value":" function and create your first router."}]},{"type":"element","tag":"code-group","props":{},"children":[{"type":"element","tag":"code","props":{"code":"import { initTRPC } from '@trpc/server'\n\n// Avoid exporting the entire t-object since it's not very\n// descriptive and can be confusing to newcomers used to t\n// meaning translation in i18n libraries.\nconst t = initTRPC.create()\n\n// Base router and procedure helpers\nexport const router = t.router\nexport const publicProcedure = t.procedure\n","filename":"server/trpc/trpc.ts","language":"ts"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-d69d00"},"children":[{"type":"text","value":"import"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" { "}]},{"type":"element","tag":"span","props":{"class":"ct-ca0e09"},"children":[{"type":"text","value":"initTRPC"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" } "}]},{"type":"element","tag":"span","props":{"class":"ct-d69d00"},"children":[{"type":"text","value":"from"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-a930e7"},"children":[{"type":"text","value":"'@trpc/server'"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-5fb678"},"children":[{"type":"text","value":"// Avoid exporting the entire t-object since it's not very"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-5fb678"},"children":[{"type":"text","value":"// descriptive and can be confusing to newcomers used to t"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-5fb678"},"children":[{"type":"text","value":"// meaning translation in i18n libraries."}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-d69d00"},"children":[{"type":"text","value":"const"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-d213e2"},"children":[{"type":"text","value":"t"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-c3a574"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-d213e2"},"children":[{"type":"text","value":"initTRPC"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-e18fd1"},"children":[{"type":"text","value":"create"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":"()"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-5fb678"},"children":[{"type":"text","value":"// Base router and procedure helpers"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-d69d00"},"children":[{"type":"text","value":"export"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-d69d00"},"children":[{"type":"text","value":"const"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-d213e2"},"children":[{"type":"text","value":"router"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-c3a574"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-d213e2"},"children":[{"type":"text","value":"t"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-ca0e09"},"children":[{"type":"text","value":"router"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-d69d00"},"children":[{"type":"text","value":"export"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-d69d00"},"children":[{"type":"text","value":"const"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-d213e2"},"children":[{"type":"text","value":"publicProcedure"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-c3a574"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-d213e2"},"children":[{"type":"text","value":"t"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-ca0e09"},"children":[{"type":"text","value":"procedure"}]}]}]}]}]},{"type":"element","tag":"code","props":{"code":"import { z } from 'zod'\nimport { publicProcedure, router } from '../trpc'\n\nexport const appRouter = router({\n hello: publicProcedure\n .input(\n z.object({\n text: z.string().nullish(),\n }),\n )\n .query(({ input }) => {\n return {\n greeting: `hello ${input?.text ?? 'world'}`,\n }\n }),\n})\n\n// export type definition of API\nexport type AppRouter = typeof appRouter\n","filename":"server/trpc/routers/index.ts","language":"ts"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-d69d00"},"children":[{"type":"text","value":"import"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" { "}]},{"type":"element","tag":"span","props":{"class":"ct-ca0e09"},"children":[{"type":"text","value":"z"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" } "}]},{"type":"element","tag":"span","props":{"class":"ct-d69d00"},"children":[{"type":"text","value":"from"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-a930e7"},"children":[{"type":"text","value":"'zod'"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-d69d00"},"children":[{"type":"text","value":"import"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" { "}]},{"type":"element","tag":"span","props":{"class":"ct-ca0e09"},"children":[{"type":"text","value":"publicProcedure"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":", "}]},{"type":"element","tag":"span","props":{"class":"ct-ca0e09"},"children":[{"type":"text","value":"router"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" } "}]},{"type":"element","tag":"span","props":{"class":"ct-d69d00"},"children":[{"type":"text","value":"from"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-a930e7"},"children":[{"type":"text","value":"'../trpc'"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-d69d00"},"children":[{"type":"text","value":"export"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-d69d00"},"children":[{"type":"text","value":"const"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-d213e2"},"children":[{"type":"text","value":"appRouter"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-c3a574"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-e18fd1"},"children":[{"type":"text","value":"router"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":"({"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-ca0e09"},"children":[{"type":"text","value":"hello"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-ca0e09"},"children":[{"type":"text","value":"publicProcedure"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" ."}]},{"type":"element","tag":"span","props":{"class":"ct-e18fd1"},"children":[{"type":"text","value":"input"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":"("}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-d213e2"},"children":[{"type":"text","value":"z"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-e18fd1"},"children":[{"type":"text","value":"object"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":"({"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-ca0e09"},"children":[{"type":"text","value":"text"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-d213e2"},"children":[{"type":"text","value":"z"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-e18fd1"},"children":[{"type":"text","value":"string"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":"()."}]},{"type":"element","tag":"span","props":{"class":"ct-e18fd1"},"children":[{"type":"text","value":"nullish"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":"(),"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" }),"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" )"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" ."}]},{"type":"element","tag":"span","props":{"class":"ct-e18fd1"},"children":[{"type":"text","value":"query"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":"(({ "}]},{"type":"element","tag":"span","props":{"class":"ct-ca0e09"},"children":[{"type":"text","value":"input"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" }) "}]},{"type":"element","tag":"span","props":{"class":"ct-d69d00"},"children":[{"type":"text","value":"=>"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-d69d00"},"children":[{"type":"text","value":"return"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-ca0e09"},"children":[{"type":"text","value":"greeting"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-a930e7"},"children":[{"type":"text","value":"`hello "}]},{"type":"element","tag":"span","props":{"class":"ct-d69d00"},"children":[{"type":"text","value":"${"}]},{"type":"element","tag":"span","props":{"class":"ct-d213e2"},"children":[{"type":"text","value":"input"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":"?."}]},{"type":"element","tag":"span","props":{"class":"ct-ca0e09"},"children":[{"type":"text","value":"text"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-c3a574"},"children":[{"type":"text","value":"??"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-a930e7"},"children":[{"type":"text","value":"'world'"}]},{"type":"element","tag":"span","props":{"class":"ct-d69d00"},"children":[{"type":"text","value":"}"}]},{"type":"element","tag":"span","props":{"class":"ct-a930e7"},"children":[{"type":"text","value":"`"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" }"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" }),"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":"})"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-5fb678"},"children":[{"type":"text","value":"// export type definition of API"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-d69d00"},"children":[{"type":"text","value":"export"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-d69d00"},"children":[{"type":"text","value":"type"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-d213e2"},"children":[{"type":"text","value":"AppRouter"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-c3a574"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-d69d00"},"children":[{"type":"text","value":"typeof"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-ca0e09"},"children":[{"type":"text","value":"appRouter"}]}]}]}]}]},{"type":"element","tag":"code","props":{"code":"import { createNuxtApiHandler } from 'trpc-nuxt'\nimport { appRouter } from '@/server/trpc/routers'\n\n// export API handler\nexport default createNuxtApiHandler({\n router: appRouter,\n createContext: () => ({}),\n})\n","filename":"server/api/trpc/[trpc].ts","language":"ts"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-d69d00"},"children":[{"type":"text","value":"import"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" { "}]},{"type":"element","tag":"span","props":{"class":"ct-ca0e09"},"children":[{"type":"text","value":"createNuxtApiHandler"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" } "}]},{"type":"element","tag":"span","props":{"class":"ct-d69d00"},"children":[{"type":"text","value":"from"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-a930e7"},"children":[{"type":"text","value":"'trpc-nuxt'"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-d69d00"},"children":[{"type":"text","value":"import"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" { "}]},{"type":"element","tag":"span","props":{"class":"ct-ca0e09"},"children":[{"type":"text","value":"appRouter"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" } "}]},{"type":"element","tag":"span","props":{"class":"ct-d69d00"},"children":[{"type":"text","value":"from"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-a930e7"},"children":[{"type":"text","value":"'@/server/trpc/routers'"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-5fb678"},"children":[{"type":"text","value":"// export API handler"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-d69d00"},"children":[{"type":"text","value":"export"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-d69d00"},"children":[{"type":"text","value":"default"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-e18fd1"},"children":[{"type":"text","value":"createNuxtApiHandler"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":"({"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-ca0e09"},"children":[{"type":"text","value":"router"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-ca0e09"},"children":[{"type":"text","value":"appRouter"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-e18fd1"},"children":[{"type":"text","value":"createContext"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":": () "}]},{"type":"element","tag":"span","props":{"class":"ct-d69d00"},"children":[{"type":"text","value":"=>"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" ({}),"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":"})"}]}]}]}]}]}]},{"type":"element","tag":"alert","props":{"type":"info"},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"If you need to split your router into several subrouters, you can implement them in the "},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"server/trpc/routers"}]},{"type":"text","value":" directory and import and "},{"type":"element","tag":"a","props":{"href":"https://trpc.io/docs/v10/merging-routers","rel":["nofollow"]},"children":[{"type":"text","value":"merge them"}]},{"type":"text","value":" to a single root "},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"appRouter"}]},{"type":"text","value":"."}]}]},{"type":"element","tag":"h2","props":{"id":"2-create-trpc-client-plugin"},"children":[{"type":"text","value":"2. Create tRPC client plugin"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Create a set of strongly-typed composables using your API's type signature."}]},{"type":"element","tag":"code","props":{"code":"import { httpBatchLink } from '@trpc/client'\nimport { createTRPCNuxtProxyClient } from 'trpc-nuxt/client'\nimport type { AppRouter } from '@/server/trpc/routers'\n\nexport default defineNuxtPlugin(() => {\n const client = createTRPCNuxtProxyClient({\n links: [\n httpBatchLink({\n /**\n * If you want to use SSR, you need to use the server's full URL\n * @link https://trpc.io/docs/ssr\n **/\n url: 'http://localhost:3000/api/trpc',\n }),\n ],\n })\n\n return {\n provide: {\n client,\n },\n }\n})\n","filename":"plugins/client.ts","language":"ts"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-d69d00"},"children":[{"type":"text","value":"import"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" { "}]},{"type":"element","tag":"span","props":{"class":"ct-ca0e09"},"children":[{"type":"text","value":"httpBatchLink"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" } "}]},{"type":"element","tag":"span","props":{"class":"ct-d69d00"},"children":[{"type":"text","value":"from"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-a930e7"},"children":[{"type":"text","value":"'@trpc/client'"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-d69d00"},"children":[{"type":"text","value":"import"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" { "}]},{"type":"element","tag":"span","props":{"class":"ct-ca0e09"},"children":[{"type":"text","value":"createTRPCNuxtProxyClient"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" } "}]},{"type":"element","tag":"span","props":{"class":"ct-d69d00"},"children":[{"type":"text","value":"from"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-a930e7"},"children":[{"type":"text","value":"'trpc-nuxt/client'"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-d69d00"},"children":[{"type":"text","value":"import"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-d69d00"},"children":[{"type":"text","value":"type"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" { "}]},{"type":"element","tag":"span","props":{"class":"ct-ca0e09"},"children":[{"type":"text","value":"AppRouter"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" } "}]},{"type":"element","tag":"span","props":{"class":"ct-d69d00"},"children":[{"type":"text","value":"from"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-a930e7"},"children":[{"type":"text","value":"'@/server/trpc/routers'"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-d69d00"},"children":[{"type":"text","value":"export"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-d69d00"},"children":[{"type":"text","value":"default"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-e18fd1"},"children":[{"type":"text","value":"defineNuxtPlugin"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":"(() "}]},{"type":"element","tag":"span","props":{"class":"ct-d69d00"},"children":[{"type":"text","value":"=>"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-d69d00"},"children":[{"type":"text","value":"const"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-d213e2"},"children":[{"type":"text","value":"client"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-c3a574"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-e18fd1"},"children":[{"type":"text","value":"createTRPCNuxtProxyClient"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"class":"ct-d213e2"},"children":[{"type":"text","value":"AppRouter"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":">({"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-ca0e09"},"children":[{"type":"text","value":"links"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":": ["}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-e18fd1"},"children":[{"type":"text","value":"httpBatchLink"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":"({"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-5fb678"},"children":[{"type":"text","value":"/**"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-5fb678"},"children":[{"type":"text","value":" * If you want to use SSR, you need to use the server's full URL"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-5fb678"},"children":[{"type":"text","value":" * "}]},{"type":"element","tag":"span","props":{"class":"ct-d69d00"},"children":[{"type":"text","value":"@link"}]},{"type":"element","tag":"span","props":{"class":"ct-5fb678"},"children":[{"type":"text","value":" https://trpc.io/docs/ssr"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-5fb678"},"children":[{"type":"text","value":" **/"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-ca0e09"},"children":[{"type":"text","value":"url"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-a930e7"},"children":[{"type":"text","value":"'http://localhost:3000/api/trpc'"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" }),"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" ],"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" })"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-d69d00"},"children":[{"type":"text","value":"return"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-ca0e09"},"children":[{"type":"text","value":"provide"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":": {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-ca0e09"},"children":[{"type":"text","value":"client"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" },"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" }"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":"})"}]}]}]}]}]},{"type":"element","tag":"h2","props":{"id":"3-make-api-requests"},"children":[{"type":"text","value":"3. Make API requests"}]},{"type":"element","tag":"code","props":{"code":"\n\n\n
\n Loading...\n
\n
\n Error: {{ error.data.code }}\n
\n
\n
{{ hello.data?.greeting }}
\n
\n\n","filename":"pages/index.vue","language":"vue"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"class":"ct-ca0e09"},"children":[{"type":"text","value":"script"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-f79d7d"},"children":[{"type":"text","value":"setup"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-f79d7d"},"children":[{"type":"text","value":"lang"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"class":"ct-a930e7"},"children":[{"type":"text","value":"\"ts\""}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-d69d00"},"children":[{"type":"text","value":"const"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" { "}]},{"type":"element","tag":"span","props":{"class":"ct-d213e2"},"children":[{"type":"text","value":"$client"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" } "}]},{"type":"element","tag":"span","props":{"class":"ct-c3a574"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-e18fd1"},"children":[{"type":"text","value":"useNuxtApp"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":"()"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-5fb678"},"children":[{"type":"text","value":"// query and mutate uses useAsyncData under the hood"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-d69d00"},"children":[{"type":"text","value":"const"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" { "}]},{"type":"element","tag":"span","props":{"class":"ct-d213e2"},"children":[{"type":"text","value":"data"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":", "}]},{"type":"element","tag":"span","props":{"class":"ct-d213e2"},"children":[{"type":"text","value":"pending"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":", "}]},{"type":"element","tag":"span","props":{"class":"ct-d213e2"},"children":[{"type":"text","value":"error"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" } "}]},{"type":"element","tag":"span","props":{"class":"ct-c3a574"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-d69d00"},"children":[{"type":"text","value":"await"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-d213e2"},"children":[{"type":"text","value":"$client"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-d213e2"},"children":[{"type":"text","value":"hello"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-e18fd1"},"children":[{"type":"text","value":"query"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":"({ "}]},{"type":"element","tag":"span","props":{"class":"ct-ca0e09"},"children":[{"type":"text","value":"text"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-a930e7"},"children":[{"type":"text","value":"'client'"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" })"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":""}]},{"type":"element","tag":"span","props":{"class":"ct-ca0e09"},"children":[{"type":"text","value":"script"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":"<"}]},{"type":"element","tag":"span","props":{"class":"ct-ca0e09"},"children":[{"type":"text","value":"template"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"class":"ct-f79d7d"},"children":[{"type":"text","value":"div"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-f79d7d"},"children":[{"type":"text","value":"v-if"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":"\""}]},{"type":"element","tag":"span","props":{"class":"ct-ca0e09"},"children":[{"type":"text","value":"pending"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":"\""}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-f79d7d"},"children":[{"type":"text","value":"Loading"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":"..."}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-f79d7d"},"children":[{"type":"text","value":"div"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"class":"ct-f79d7d"},"children":[{"type":"text","value":"div"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-f79d7d"},"children":[{"type":"text","value":"v-else-if"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":"="}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":"\""}]},{"type":"element","tag":"span","props":{"class":"ct-d213e2"},"children":[{"type":"text","value":"error"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":"?."}]},{"type":"element","tag":"span","props":{"class":"ct-d213e2"},"children":[{"type":"text","value":"data"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":"?."}]},{"type":"element","tag":"span","props":{"class":"ct-ca0e09"},"children":[{"type":"text","value":"code"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":"\""}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-f79d7d"},"children":[{"type":"text","value":"Error:"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" {{ "}]},{"type":"element","tag":"span","props":{"class":"ct-f79d7d"},"children":[{"type":"text","value":"error"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-f79d7d"},"children":[{"type":"text","value":"data"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-f79d7d"},"children":[{"type":"text","value":"code"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" }}"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-f79d7d"},"children":[{"type":"text","value":"div"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"class":"ct-f79d7d"},"children":[{"type":"text","value":"div"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-f79d7d"},"children":[{"type":"text","value":"v-else"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" <"}]},{"type":"element","tag":"span","props":{"class":"ct-f79d7d"},"children":[{"type":"text","value":"p"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":">{{ "}]},{"type":"element","tag":"span","props":{"class":"ct-f79d7d"},"children":[{"type":"text","value":"hello"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":"."}]},{"type":"element","tag":"span","props":{"class":"ct-f79d7d"},"children":[{"type":"text","value":"data"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":"?."}]},{"type":"element","tag":"span","props":{"class":"ct-f79d7d"},"children":[{"type":"text","value":"greeting"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" }}"}]},{"type":"element","tag":"span","props":{"class":"ct-f79d7d"},"children":[{"type":"text","value":"p"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-f79d7d"},"children":[{"type":"text","value":"div"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":">"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":""}]},{"type":"element","tag":"span","props":{"class":"ct-ca0e09"},"children":[{"type":"text","value":"template"}]},{"type":"element","tag":"span","props":{"class":"ct-8358df"},"children":[{"type":"text","value":">"}]}]}]}]}]},{"type":"element","tag":"style","children":[{"type":"text","value":".ct-f79d7d{color:#D19A66}.ct-e18fd1{color:#61AFEF}.ct-c3a574{color:#56B6C2}.ct-d213e2{color:#E5C07B}.ct-5fb678{color:#7F848E}.ct-a930e7{color:#98C379}.ct-ca0e09{color:#E06C75}.ct-8358df{color:#ABB2BF}.ct-d69d00{color:#C678DD}"}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[{"id":"recommended-file-structure","depth":2,"text":"Recommended file structure"},{"id":"1-create-a-trpc-router","depth":2,"text":"1. Create a tRPC router"},{"id":"2-create-trpc-client-plugin","depth":2,"text":"2. Create tRPC client plugin"},{"id":"3-make-api-requests","depth":2,"text":"3. Make API requests"}]}},"_type":"markdown","_id":"content:1.get-started:2.usage.md","_source":"content","_file":"1.get-started/2.usage.md","_extension":"md"}
\ No newline at end of file
diff --git a/docs/.vercel/output/static/api/_content/query/bYluDEj4ai.json b/docs/.vercel/output/static/api/_content/query/bYluDEj4ai.json
new file mode 100644
index 0000000..f0bf70c
--- /dev/null
+++ b/docs/.vercel/output/static/api/_content/query/bYluDEj4ai.json
@@ -0,0 +1 @@
+[{"_path":"/get-started/installation","_dir":"get-started","_draft":false,"_partial":false,"_locale":"en","_empty":false,"title":"Installation","description":"tRPC-Nuxt provides first class integration with tRPC.","excerpt":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"installation"},"children":[{"type":"text","value":"Installation"}]},{"type":"element","tag":"h2","props":{"id":"1-add-to-existing-nuxt-project"},"children":[{"type":"text","value":"1. Add to existing Nuxt project"}]},{"type":"element","tag":"code-group","props":{},"children":[{"type":"element","tag":"code","props":{"code":"pnpm add @trpc/server@next @trpc/client@next trpc-nuxt@beta zod\n","filename":"pnpm","language":"bash"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"text","value":"pnpm add @trpc/server@next @trpc/client@next trpc-nuxt@beta zod\n"}]}]}]},{"type":"element","tag":"code","props":{"code":"npm install @trpc/server@next @trpc/client@next trpc-nuxt@beta zod\n","filename":"npm","language":"bash"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"text","value":"npm install @trpc/server@next @trpc/client@next trpc-nuxt@beta zod\n"}]}]}]},{"type":"element","tag":"code","props":{"code":"yarn add @trpc/server@next @trpc/client@next trpc-nuxt@beta zod\n","filename":"yarn","language":"bash"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"text","value":"yarn add @trpc/server@next @trpc/client@next trpc-nuxt@beta zod\n"}]}]}]}]},{"type":"element","tag":"h4","props":{"id":"why-trpcserver"},"children":[{"type":"text","value":"Why @trpc/server?"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"For implementing tRPC endpoints and routers."}]},{"type":"element","tag":"h4","props":{"id":"why-trpcclient"},"children":[{"type":"text","value":"Why @trpc/client?"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"For making typesafe API calls from your client."}]},{"type":"element","tag":"h4","props":{"id":"why-zod"},"children":[{"type":"text","value":"Why zod?"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Most examples use "},{"type":"element","tag":"a","props":{"href":"https://github.com/colinhacks/zod","rel":["nofollow"]},"children":[{"type":"text","value":"Zod"}]},{"type":"text","value":" for input validation and tRPC.io highly recommends it, though it isn't required."}]},{"type":"element","tag":"h2","props":{"id":"2-install-module"},"children":[{"type":"text","value":"2. Install module"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"This will transpile "},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"trpc-nuxt"}]},{"type":"text","value":" and exclude "},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"trpc-nuxt/client"}]},{"type":"text","value":" from optimized dependencies by Vite."}]},{"type":"element","tag":"code","props":{"code":"export default defineNuxtConfig({\n modules: ['trpc-nuxt/module']\n})\n","filename":"nuxt.config.ts","language":"ts"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"text","value":"export default defineNuxtConfig({\n modules: ['trpc-nuxt/module']\n})\n"}]}]}]},{"type":"element","tag":"h2","props":{"id":"3-enable-strict-mode"},"children":[{"type":"text","value":"3. Enable strict mode"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"If you want to use Zod for input validation, make sure you have enabled strict mode:"}]},{"type":"element","tag":"code-group","props":{},"children":[{"type":"element","tag":"code","props":{"code":"{\n \"extends\": \"./.nuxt/tsconfig.json\",\n \"compilerOptions\": {\n \"strict\": true\n }\n}\n","filename":"tsconfig.json","language":"json"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"text","value":"{\n \"extends\": \"./.nuxt/tsconfig.json\",\n \"compilerOptions\": {\n \"strict\": true\n }\n}\n"}]}]}]},{"type":"element","tag":"code","props":{"code":"export default defineNuxtConfig({\n typescript: {\n strict: true\n }\n})\n","filename":"nuxt.config.ts","language":"ts"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"text","value":"export default defineNuxtConfig({\n typescript: {\n strict: true\n }\n})\n"}]}]}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"If strict mode is too much, at least enable "},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"strictNullChecks"}]},{"type":"text","value":":"}]},{"type":"element","tag":"code-group","props":{},"children":[{"type":"element","tag":"code","props":{"code":"{\n \"extends\": \"./.nuxt/tsconfig.json\",\n \"compilerOptions\": {\n \"strictNullChecks\": true\n }\n}\n","filename":"tsconfig.json","language":"json"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"text","value":"{\n \"extends\": \"./.nuxt/tsconfig.json\",\n \"compilerOptions\": {\n \"strictNullChecks\": true\n }\n}\n"}]}]}]},{"type":"element","tag":"code","props":{"code":"export default defineNuxtConfig({\n typescript: {\n tsConfig: {\n strictNullChecks: true\n }\n }\n})\n","filename":"nuxt.config.ts","language":"ts"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"text","value":"export default defineNuxtConfig({\n typescript: {\n tsConfig: {\n strictNullChecks: true\n }\n }\n})\n"}]}]}]}]},{"type":"element","tag":"h2","props":{"id":"next-steps"},"children":[{"type":"text","value":"Next Steps"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Now that you've installed the required dependencies, you are ready to start building your application."}]}]},"_type":"markdown","_id":"content:1.get-started:1.installation.md","_source":"content","_file":"1.get-started/1.installation.md","_extension":"md"},{"_path":"/examples/basic","_dir":"examples","_draft":false,"_partial":false,"_locale":"en","_empty":false,"title":"Basic","description":"tRPC-Nuxt provides first class integration with tRPC.","excerpt":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"basic-example"},"children":[{"type":"text","value":"Basic Example"}]}]},"_type":"markdown","_id":"content:2.examples:1.basic.md","_source":"content","_file":"2.examples/1.basic.md","_extension":"md"}]
\ No newline at end of file
diff --git a/docs/.vercel/output/static/api/_content/query/brX4CwCJoQ.json b/docs/.vercel/output/static/api/_content/query/brX4CwCJoQ.json
new file mode 100644
index 0000000..d73217b
--- /dev/null
+++ b/docs/.vercel/output/static/api/_content/query/brX4CwCJoQ.json
@@ -0,0 +1 @@
+{"_path":"/","_dir":"","_draft":false,"_partial":false,"_locale":"en","_empty":false,"title":"tRPC Nuxt","description":"A supa simple wrapper arousnd supabase-js to enable usage and integration within Nuxt.","excerpt":{"type":"root","children":[{"type":"element","tag":"block-hero","props":{":cta":"[\"Get Started\",\"/get-started/installation\"]",":secondary":"[\"Star on GitHub ->\",\"https://github.com/wobsoriano/trpc-nuxt\"]","snippet":"npm install trpc-nuxt@next"},"children":[{"type":"element","tag":"template","props":{"v-slot:title":""},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"tRPC "},{"type":"element","tag":"span","props":{"class":"text-primary-500"},"children":[{"type":"text","value":"Nuxt"}]}]}]},{"type":"element","tag":"template","props":{"v-slot:description":""},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"End-to-end typesafe APIs in Nuxt applications."}]}]},{"type":"element","tag":"template","props":{"v-slot:extra":""},"children":[{"type":"element","tag":"list","props":{},"children":[{"type":"element","tag":"ul","props":{},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"Automatic typesafety"}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"Snappy DX"}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"Autocompletion"}]}]}]}]}]}]},"navigation":false,"layout":"page","body":{"type":"root","children":[{"type":"element","tag":"block-hero","props":{":cta":"[\"Get Started\",\"/get-started/installation\"]",":secondary":"[\"Star on GitHub ->\",\"https://github.com/wobsoriano/trpc-nuxt\"]","snippet":"npm install trpc-nuxt@next"},"children":[{"type":"element","tag":"template","props":{"v-slot:title":""},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"tRPC "},{"type":"element","tag":"span","props":{"class":"text-primary-500"},"children":[{"type":"text","value":"Nuxt"}]}]}]},{"type":"element","tag":"template","props":{"v-slot:description":""},"children":[{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"End-to-end typesafe APIs in Nuxt applications."}]}]},{"type":"element","tag":"template","props":{"v-slot:extra":""},"children":[{"type":"element","tag":"list","props":{},"children":[{"type":"element","tag":"ul","props":{},"children":[{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"Automatic typesafety"}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"Snappy DX"}]},{"type":"element","tag":"li","props":{},"children":[{"type":"text","value":"Autocompletion"}]}]}]}]}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[]}},"_type":"markdown","_id":"content:index.md","_source":"content","_file":"index.md","_extension":"md"}
\ No newline at end of file
diff --git a/docs/.vercel/output/static/api/_content/query/hjhJBrc3zB.json b/docs/.vercel/output/static/api/_content/query/hjhJBrc3zB.json
new file mode 100644
index 0000000..31a4877
--- /dev/null
+++ b/docs/.vercel/output/static/api/_content/query/hjhJBrc3zB.json
@@ -0,0 +1 @@
+{"_path":"/get-started/installation","_dir":"get-started","_draft":false,"_partial":false,"_locale":"en","_empty":false,"title":"Installation","description":"tRPC-Nuxt provides first class integration with tRPC.","excerpt":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"installation"},"children":[{"type":"text","value":"Installation"}]},{"type":"element","tag":"h2","props":{"id":"1-add-to-existing-nuxt-project"},"children":[{"type":"text","value":"1. Add to existing Nuxt project"}]},{"type":"element","tag":"code-group","props":{},"children":[{"type":"element","tag":"code","props":{"code":"pnpm add @trpc/server@next @trpc/client@next trpc-nuxt@beta zod\n","filename":"pnpm","language":"bash"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"text","value":"pnpm add @trpc/server@next @trpc/client@next trpc-nuxt@beta zod\n"}]}]}]},{"type":"element","tag":"code","props":{"code":"npm install @trpc/server@next @trpc/client@next trpc-nuxt@beta zod\n","filename":"npm","language":"bash"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"text","value":"npm install @trpc/server@next @trpc/client@next trpc-nuxt@beta zod\n"}]}]}]},{"type":"element","tag":"code","props":{"code":"yarn add @trpc/server@next @trpc/client@next trpc-nuxt@beta zod\n","filename":"yarn","language":"bash"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"text","value":"yarn add @trpc/server@next @trpc/client@next trpc-nuxt@beta zod\n"}]}]}]}]},{"type":"element","tag":"h4","props":{"id":"why-trpcserver"},"children":[{"type":"text","value":"Why @trpc/server?"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"For implementing tRPC endpoints and routers."}]},{"type":"element","tag":"h4","props":{"id":"why-trpcclient"},"children":[{"type":"text","value":"Why @trpc/client?"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"For making typesafe API calls from your client."}]},{"type":"element","tag":"h4","props":{"id":"why-zod"},"children":[{"type":"text","value":"Why zod?"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Most examples use "},{"type":"element","tag":"a","props":{"href":"https://github.com/colinhacks/zod","rel":["nofollow"]},"children":[{"type":"text","value":"Zod"}]},{"type":"text","value":" for input validation and tRPC.io highly recommends it, though it isn't required."}]},{"type":"element","tag":"h2","props":{"id":"2-install-module"},"children":[{"type":"text","value":"2. Install module"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"This will transpile "},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"trpc-nuxt"}]},{"type":"text","value":" and exclude "},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"trpc-nuxt/client"}]},{"type":"text","value":" from optimized dependencies by Vite."}]},{"type":"element","tag":"code","props":{"code":"export default defineNuxtConfig({\n modules: ['trpc-nuxt/module']\n})\n","filename":"nuxt.config.ts","language":"ts"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"text","value":"export default defineNuxtConfig({\n modules: ['trpc-nuxt/module']\n})\n"}]}]}]},{"type":"element","tag":"h2","props":{"id":"3-enable-strict-mode"},"children":[{"type":"text","value":"3. Enable strict mode"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"If you want to use Zod for input validation, make sure you have enabled strict mode:"}]},{"type":"element","tag":"code-group","props":{},"children":[{"type":"element","tag":"code","props":{"code":"{\n \"extends\": \"./.nuxt/tsconfig.json\",\n \"compilerOptions\": {\n \"strict\": true\n }\n}\n","filename":"tsconfig.json","language":"json"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"text","value":"{\n \"extends\": \"./.nuxt/tsconfig.json\",\n \"compilerOptions\": {\n \"strict\": true\n }\n}\n"}]}]}]},{"type":"element","tag":"code","props":{"code":"export default defineNuxtConfig({\n typescript: {\n strict: true\n }\n})\n","filename":"nuxt.config.ts","language":"ts"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"text","value":"export default defineNuxtConfig({\n typescript: {\n strict: true\n }\n})\n"}]}]}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"If strict mode is too much, at least enable "},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"strictNullChecks"}]},{"type":"text","value":":"}]},{"type":"element","tag":"code-group","props":{},"children":[{"type":"element","tag":"code","props":{"code":"{\n \"extends\": \"./.nuxt/tsconfig.json\",\n \"compilerOptions\": {\n \"strictNullChecks\": true\n }\n}\n","filename":"tsconfig.json","language":"json"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"text","value":"{\n \"extends\": \"./.nuxt/tsconfig.json\",\n \"compilerOptions\": {\n \"strictNullChecks\": true\n }\n}\n"}]}]}]},{"type":"element","tag":"code","props":{"code":"export default defineNuxtConfig({\n typescript: {\n tsConfig: {\n strictNullChecks: true\n }\n }\n})\n","filename":"nuxt.config.ts","language":"ts"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"text","value":"export default defineNuxtConfig({\n typescript: {\n tsConfig: {\n strictNullChecks: true\n }\n }\n})\n"}]}]}]}]},{"type":"element","tag":"h2","props":{"id":"next-steps"},"children":[{"type":"text","value":"Next Steps"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Now that you've installed the required dependencies, you are ready to start building your application."}]}]},"body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"installation"},"children":[{"type":"text","value":"Installation"}]},{"type":"element","tag":"h2","props":{"id":"1-add-to-existing-nuxt-project"},"children":[{"type":"text","value":"1. Add to existing Nuxt project"}]},{"type":"element","tag":"code-group","props":{},"children":[{"type":"element","tag":"code","props":{"code":"pnpm add @trpc/server@next @trpc/client@next trpc-nuxt@beta zod\n","filename":"pnpm","language":"bash"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-87b9c2"},"children":[{"type":"text","value":"pnpm add @trpc/server@next @trpc/client@next trpc-nuxt@beta zod"}]}]}]}]}]},{"type":"element","tag":"code","props":{"code":"npm install @trpc/server@next @trpc/client@next trpc-nuxt@beta zod\n","filename":"npm","language":"bash"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-87b9c2"},"children":[{"type":"text","value":"npm install @trpc/server@next @trpc/client@next trpc-nuxt@beta zod"}]}]}]}]}]},{"type":"element","tag":"code","props":{"code":"yarn add @trpc/server@next @trpc/client@next trpc-nuxt@beta zod\n","filename":"yarn","language":"bash"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-87b9c2"},"children":[{"type":"text","value":"yarn add @trpc/server@next @trpc/client@next trpc-nuxt@beta zod"}]}]}]}]}]}]},{"type":"element","tag":"h4","props":{"id":"why-trpcserver"},"children":[{"type":"text","value":"Why @trpc/server?"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"For implementing tRPC endpoints and routers."}]},{"type":"element","tag":"h4","props":{"id":"why-trpcclient"},"children":[{"type":"text","value":"Why @trpc/client?"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"For making typesafe API calls from your client."}]},{"type":"element","tag":"h4","props":{"id":"why-zod"},"children":[{"type":"text","value":"Why zod?"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Most examples use "},{"type":"element","tag":"a","props":{"href":"https://github.com/colinhacks/zod","rel":["nofollow"]},"children":[{"type":"text","value":"Zod"}]},{"type":"text","value":" for input validation and tRPC.io highly recommends it, though it isn't required."}]},{"type":"element","tag":"h2","props":{"id":"2-install-module"},"children":[{"type":"text","value":"2. Install module"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"This will transpile "},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"trpc-nuxt"}]},{"type":"text","value":" and exclude "},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"trpc-nuxt/client"}]},{"type":"text","value":" from optimized dependencies by Vite."}]},{"type":"element","tag":"code","props":{"code":"export default defineNuxtConfig({\n modules: ['trpc-nuxt/module']\n})\n","filename":"nuxt.config.ts","language":"ts"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-06947b"},"children":[{"type":"text","value":"export"}]},{"type":"element","tag":"span","props":{"class":"ct-87b9c2"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-06947b"},"children":[{"type":"text","value":"default"}]},{"type":"element","tag":"span","props":{"class":"ct-87b9c2"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-579b3d"},"children":[{"type":"text","value":"defineNuxtConfig"}]},{"type":"element","tag":"span","props":{"class":"ct-87b9c2"},"children":[{"type":"text","value":"({"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-87b9c2"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-398ee4"},"children":[{"type":"text","value":"modules"}]},{"type":"element","tag":"span","props":{"class":"ct-87b9c2"},"children":[{"type":"text","value":": ["}]},{"type":"element","tag":"span","props":{"class":"ct-3374e2"},"children":[{"type":"text","value":"'trpc-nuxt/module'"}]},{"type":"element","tag":"span","props":{"class":"ct-87b9c2"},"children":[{"type":"text","value":"]"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-87b9c2"},"children":[{"type":"text","value":"})"}]}]}]}]}]},{"type":"element","tag":"h2","props":{"id":"3-enable-strict-mode"},"children":[{"type":"text","value":"3. Enable strict mode"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"If you want to use Zod for input validation, make sure you have enabled strict mode:"}]},{"type":"element","tag":"code-group","props":{},"children":[{"type":"element","tag":"code","props":{"code":"{\n \"extends\": \"./.nuxt/tsconfig.json\",\n \"compilerOptions\": {\n \"strict\": true\n }\n}\n","filename":"tsconfig.json","language":"json"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-87b9c2"},"children":[{"type":"text","value":"{"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-87b9c2"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-398ee4"},"children":[{"type":"text","value":"\"extends\""}]},{"type":"element","tag":"span","props":{"class":"ct-87b9c2"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-3374e2"},"children":[{"type":"text","value":"\"./.nuxt/tsconfig.json\""}]},{"type":"element","tag":"span","props":{"class":"ct-87b9c2"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-87b9c2"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-398ee4"},"children":[{"type":"text","value":"\"compilerOptions\""}]},{"type":"element","tag":"span","props":{"class":"ct-87b9c2"},"children":[{"type":"text","value":": {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-87b9c2"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-398ee4"},"children":[{"type":"text","value":"\"strict\""}]},{"type":"element","tag":"span","props":{"class":"ct-87b9c2"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-82d51f"},"children":[{"type":"text","value":"true"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-87b9c2"},"children":[{"type":"text","value":" }"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-87b9c2"},"children":[{"type":"text","value":"}"}]}]}]}]}]},{"type":"element","tag":"code","props":{"code":"export default defineNuxtConfig({\n typescript: {\n strict: true\n }\n})\n","filename":"nuxt.config.ts","language":"ts"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-06947b"},"children":[{"type":"text","value":"export"}]},{"type":"element","tag":"span","props":{"class":"ct-87b9c2"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-06947b"},"children":[{"type":"text","value":"default"}]},{"type":"element","tag":"span","props":{"class":"ct-87b9c2"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-579b3d"},"children":[{"type":"text","value":"defineNuxtConfig"}]},{"type":"element","tag":"span","props":{"class":"ct-87b9c2"},"children":[{"type":"text","value":"({"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-87b9c2"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-398ee4"},"children":[{"type":"text","value":"typescript"}]},{"type":"element","tag":"span","props":{"class":"ct-87b9c2"},"children":[{"type":"text","value":": {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-87b9c2"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-398ee4"},"children":[{"type":"text","value":"strict"}]},{"type":"element","tag":"span","props":{"class":"ct-87b9c2"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-82d51f"},"children":[{"type":"text","value":"true"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-87b9c2"},"children":[{"type":"text","value":" }"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-87b9c2"},"children":[{"type":"text","value":"})"}]}]}]}]}]}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"If strict mode is too much, at least enable "},{"type":"element","tag":"code-inline","props":{},"children":[{"type":"text","value":"strictNullChecks"}]},{"type":"text","value":":"}]},{"type":"element","tag":"code-group","props":{},"children":[{"type":"element","tag":"code","props":{"code":"{\n \"extends\": \"./.nuxt/tsconfig.json\",\n \"compilerOptions\": {\n \"strictNullChecks\": true\n }\n}\n","filename":"tsconfig.json","language":"json"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-87b9c2"},"children":[{"type":"text","value":"{"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-87b9c2"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-398ee4"},"children":[{"type":"text","value":"\"extends\""}]},{"type":"element","tag":"span","props":{"class":"ct-87b9c2"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-3374e2"},"children":[{"type":"text","value":"\"./.nuxt/tsconfig.json\""}]},{"type":"element","tag":"span","props":{"class":"ct-87b9c2"},"children":[{"type":"text","value":","}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-87b9c2"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-398ee4"},"children":[{"type":"text","value":"\"compilerOptions\""}]},{"type":"element","tag":"span","props":{"class":"ct-87b9c2"},"children":[{"type":"text","value":": {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-87b9c2"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-398ee4"},"children":[{"type":"text","value":"\"strictNullChecks\""}]},{"type":"element","tag":"span","props":{"class":"ct-87b9c2"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-82d51f"},"children":[{"type":"text","value":"true"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-87b9c2"},"children":[{"type":"text","value":" }"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-87b9c2"},"children":[{"type":"text","value":"}"}]}]}]}]}]},{"type":"element","tag":"code","props":{"code":"export default defineNuxtConfig({\n typescript: {\n tsConfig: {\n strictNullChecks: true\n }\n }\n})\n","filename":"nuxt.config.ts","language":"ts"},"children":[{"type":"element","tag":"pre","props":{},"children":[{"type":"element","tag":"code","props":{"__ignoreMap":""},"children":[{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-06947b"},"children":[{"type":"text","value":"export"}]},{"type":"element","tag":"span","props":{"class":"ct-87b9c2"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-06947b"},"children":[{"type":"text","value":"default"}]},{"type":"element","tag":"span","props":{"class":"ct-87b9c2"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-579b3d"},"children":[{"type":"text","value":"defineNuxtConfig"}]},{"type":"element","tag":"span","props":{"class":"ct-87b9c2"},"children":[{"type":"text","value":"({"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-87b9c2"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-398ee4"},"children":[{"type":"text","value":"typescript"}]},{"type":"element","tag":"span","props":{"class":"ct-87b9c2"},"children":[{"type":"text","value":": {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-87b9c2"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-398ee4"},"children":[{"type":"text","value":"tsConfig"}]},{"type":"element","tag":"span","props":{"class":"ct-87b9c2"},"children":[{"type":"text","value":": {"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-87b9c2"},"children":[{"type":"text","value":" "}]},{"type":"element","tag":"span","props":{"class":"ct-398ee4"},"children":[{"type":"text","value":"strictNullChecks"}]},{"type":"element","tag":"span","props":{"class":"ct-87b9c2"},"children":[{"type":"text","value":": "}]},{"type":"element","tag":"span","props":{"class":"ct-82d51f"},"children":[{"type":"text","value":"true"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-87b9c2"},"children":[{"type":"text","value":" }"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-87b9c2"},"children":[{"type":"text","value":" }"}]}]},{"type":"element","tag":"span","props":{"class":"line"},"children":[{"type":"element","tag":"span","props":{"class":"ct-87b9c2"},"children":[{"type":"text","value":"})"}]}]}]}]}]}]},{"type":"element","tag":"h2","props":{"id":"next-steps"},"children":[{"type":"text","value":"Next Steps"}]},{"type":"element","tag":"p","props":{},"children":[{"type":"text","value":"Now that you've installed the required dependencies, you are ready to start building your application."}]},{"type":"element","tag":"style","children":[{"type":"text","value":".ct-82d51f{color:#D19A66}.ct-3374e2{color:#98C379}.ct-398ee4{color:#E06C75}.ct-579b3d{color:#61AFEF}.ct-06947b{color:#C678DD}.ct-87b9c2{color:#ABB2BF}"}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[{"id":"1-add-to-existing-nuxt-project","depth":2,"text":"1. Add to existing Nuxt project"},{"id":"2-install-module","depth":2,"text":"2. Install module"},{"id":"3-enable-strict-mode","depth":2,"text":"3. Enable strict mode"},{"id":"next-steps","depth":2,"text":"Next Steps"}]}},"_type":"markdown","_id":"content:1.get-started:1.installation.md","_source":"content","_file":"1.get-started/1.installation.md","_extension":"md"}
\ No newline at end of file
diff --git a/docs/.vercel/output/static/api/_content/query/qYYyK6mtAS.json b/docs/.vercel/output/static/api/_content/query/qYYyK6mtAS.json
new file mode 100644
index 0000000..f6af0fd
--- /dev/null
+++ b/docs/.vercel/output/static/api/_content/query/qYYyK6mtAS.json
@@ -0,0 +1 @@
+{"_path":"/examples/basic","_dir":"examples","_draft":false,"_partial":false,"_locale":"en","_empty":false,"title":"Basic","description":"tRPC-Nuxt provides first class integration with tRPC.","excerpt":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"basic-example"},"children":[{"type":"text","value":"Basic Example"}]}]},"body":{"type":"root","children":[{"type":"element","tag":"h1","props":{"id":"basic-example"},"children":[{"type":"text","value":"Basic Example"}]}],"toc":{"title":"","searchDepth":2,"depth":2,"links":[]}},"_type":"markdown","_id":"content:2.examples:1.basic.md","_source":"content","_file":"2.examples/1.basic.md","_extension":"md"}
\ No newline at end of file
diff --git a/docs/.vercel/output/static/api/_content/query/xWeY3NfYtX.json b/docs/.vercel/output/static/api/_content/query/xWeY3NfYtX.json
new file mode 100644
index 0000000..449ada3
--- /dev/null
+++ b/docs/.vercel/output/static/api/_content/query/xWeY3NfYtX.json
@@ -0,0 +1 @@
+[null,null]
\ No newline at end of file
diff --git a/docs/.vercel/output/static/examples/basic/_payload.js b/docs/.vercel/output/static/examples/basic/_payload.js
new file mode 100644
index 0000000..c459731
--- /dev/null
+++ b/docs/.vercel/output/static/examples/basic/_payload.js
@@ -0,0 +1 @@
+export default {data:{},prerenderedAt:void 0}
\ No newline at end of file
diff --git a/docs/.vercel/output/static/examples/basic/index.html b/docs/.vercel/output/static/examples/basic/index.html
new file mode 100644
index 0000000..4ff47c2
--- /dev/null
+++ b/docs/.vercel/output/static/examples/basic/index.html
@@ -0,0 +1,6 @@
+
+
+Basic · tRPC Nuxt
+
Initialize your tRPC backend using the initTRPC function and create your first router.
server/trpc/trpc.ts
import { initTRPC } from'@trpc/server'// Avoid exporting the entire t-object since it's not very// descriptive and can be confusing to newcomers used to t// meaning translation in i18n libraries.constt=initTRPC.create()// Base router and procedure helpersexportconstrouter=t.routerexportconstpublicProcedure=t.procedure
server/trpc/routers/index.ts
import { z } from'zod'import { publicProcedure, router } from'../trpc'exportconstappRouter=router({hello: publicProcedure .input(z.object({text: z.string().nullish(), }), ) .query(({ input }) => {return {greeting: `hello ${input?.text??'world'}`, } }),})// export type definition of APIexporttypeAppRouter=typeofappRouter
If you need to split your router into several subrouters, you can implement them in the server/trpc/routers directory and import and merge them to a single root appRouter.
Create a set of strongly-typed composables using your API's type signature.
plugins/client.ts
import { httpBatchLink } from'@trpc/client'import { createTRPCNuxtProxyClient } from'trpc-nuxt/client'importtype { AppRouter } from'@/server/trpc/routers'exportdefaultdefineNuxtPlugin(() => {constclient=createTRPCNuxtProxyClient<AppRouter>({links: [httpBatchLink({/** * If you want to use SSR, you need to use the server's full URL * @link https://trpc.io/docs/ssr **/url: 'http://localhost:3000/api/trpc', }), ], })return {provide: {client, }, }})